Commit Graph

54 Commits

Author SHA1 Message Date
ea9c7425b0 Fix the wrong PC when arm translation fectches unmapped memory
This behavior keeps the same with Unicorn1, though, different from arm doc
2022-01-16 16:42:38 +01:00
6ed2214399 Rebuilt hflags when swithing modes
Or we may get the wrong mode during translation
2022-01-14 19:37:48 +01:00
36afa1022c More PPC registers
Add FPR0-31, CR0-7, LR, CTR, MSR, XER, FPSCR for PPC

Add a test for ppc32 float point
2022-01-10 15:16:10 +01:00
8ad9f8ecb1 This reverts Hack 05ba21160619724033ec83469bbb66bda9e3f5fb and applies the correct fix
And enable experimental v8 support for arm max cpu
2022-01-05 21:58:40 +01:00
c3a49766d8 Fix #1522 2022-01-05 20:02:41 +01:00
7a886f59df Fix #1525 2022-01-05 19:38:22 +01:00
d854e22301 Add x87 FPU registers #1524 2022-01-04 21:12:12 +01:00
47097b55b7 Fix #1520 2022-01-04 21:01:20 +01:00
mio
085ee07c73 No more hard-coded cpu models 2021-12-30 01:05:10 +01:00
cddc9cf2ed Fix arm post init 2021-12-25 00:16:51 +01:00
4f73d75ea8 Fix #1500 2021-12-23 21:46:27 +01:00
ef6f8a2427 Fix x86 CPUID 2021-12-22 23:39:41 +01:00
7bb756249a Better design of cpuid instruction hook 2021-12-22 20:36:56 +01:00
8a0ca8715e Fix SR read/write and a test 2021-12-04 23:22:28 +01:00
d204dc6374 Added SR to M68K reg_read and reg_write (#1507) 2021-12-02 14:12:49 +08:00
221cde18df Write CPSR as it is initiated from instructions to allow regs switch 2021-11-24 17:10:51 +01:00
87a391d549 Inline uc_tracecode when there is only exactly one hook 2021-11-21 16:44:39 +01:00
23ef5da491 Merge pull request #1481 from bet4it/cp15
Restore cp15 registers
2021-11-09 16:50:31 +01:00
acaed986b5 Restore cp15 registers 2021-11-09 13:13:08 +08:00
640251e1aa Leave out size parameter in callback 2021-11-09 00:21:34 +01:00
c6fdbb3735 Add RISCV CSR registers 2021-11-07 20:36:04 +01:00
7268c2a19b mips: support reading and writing of hi/lo regs 2021-11-07 20:27:02 +01:00
613ddf0985 Format 2021-11-04 19:58:44 +01:00
871de4ad65 Split mips cpu to 32 and 64 2021-11-04 19:58:32 +01:00
0555095388 Support changing cpu model for ppc 2021-11-04 19:53:02 +01:00
e5a2eae173 Add comment for default cpu model 2021-11-04 19:22:50 +01:00
64452e249d Support changing cpu model for sparc 2021-11-04 19:22:08 +01:00
b0280f5e55 Support changing cpu model for m68k 2021-11-04 19:16:35 +01:00
172a2fbe6d Support changing cpu model for riscv 2021-11-04 19:13:53 +01:00
435ac71f47 Support changing cpu model for x86 2021-11-04 19:10:29 +01:00
837c3be347 Support changing cpu model for MIPS 2021-11-04 19:05:56 +01:00
dfbffa44ec Support changing cpu model for ARM 2021-11-04 18:37:10 +01:00
6b5529fcb7 Merge pull request #1458 from bet4it/patch
Port some patches from Unicorn1 to Unicorn2
2021-11-03 20:59:42 +01:00
9818840f4e Add tests for UC_HOOK_TCG_OPCODE 2021-11-03 20:56:45 +01:00
09aa0f944f Merge QDucasse:riscv_extension_d
Fix and close #1469

Fix test for riscv float points

Fix the riscv cpu config we left out
2021-11-03 13:20:46 +01:00
bcf85be86d Add a new hook type UC_HOOK_TCG_OPCODE 2021-11-03 01:46:24 +01:00
aaf340d9e4 Merge branch 'dev' into patch 2021-11-02 18:36:22 +08:00
6c3960242b Format unicorn_arm and unicorn_aarch64 2021-11-01 10:17:58 +01:00
3dd2e0f95d Basic implementation of uc_ctl 2021-11-01 00:39:36 +01:00
e62b0ef255 Add clang-format and format code to qemu code style 2021-10-29 12:44:49 +02:00
e695686c15 Remove AFL Integration by reverting 2021-10-26 11:22:21 +02:00
7ac7c23c12 Fix Windows build for AFL integration 2021-10-25 16:11:58 +02:00
1fa2eb688b Fix UC_MODE_AFL and update config 2021-10-25 14:39:40 +02:00
dd7476a9bd Initial import unicornafl 2021-10-25 00:51:16 +02:00
mio
567bd08b86 Update riscv pc and fix #1465 2021-10-19 23:22:13 +02:00
c400924fe1 Merge branch 'dev' into patch 2021-10-17 18:18:09 +08:00
mio
6d0d0897f8 Fix Rust build and CI.
Add a test for ppc and fix ppc on windows.
2021-10-17 02:11:38 +02:00
f27c6fa655 X86 instruction FTST was incorrectly overwriting ST0 instead of FT0 (#1372)
* X86 instruction FTST was incorrectly overwriting ST0 instead of FT0

* credits update
2021-10-12 08:41:57 +08:00
5f40667d91 Support querying architecture mode besides arm (#1389) 2021-10-11 11:39:23 +08:00
mio
ae1b6ad89b Support building on Android arm aarch64 x86 x86_64
1. Add cmake support in CMakeLists.txt according to https://developer.android.com/ndk/guides/other_build_systems

2. Resolve symbols errors

3. Backport fixes from 438ed42311

   > QEMU relies on two optimization for ppc64 and arm:
   >
   > 1. if(0) /* optimized code */
   > 2. assert(0); /* optimized code */
   >
   > But the assert on mingw32 doesn't have noreturn attribute which prevents
   > the second optimization and some code is reverted to the original code
   > to fit in the first optimization.
   >
   > The assert implementation is copied from glib as qemu did.

   Unfortunately, NDK also doesn't have an assert implementation qemu prefers.
2021-10-06 04:42:44 +08:00