lazymio
980eae7f44
Sync PC at the end of emulation
2022-01-10 15:45:56 +01:00
lazymio
441afe17e6
Add psw.mask register
2022-01-10 15:34:04 +01:00
lazymio
71f044ca50
Merge branch 'dev' into s390x
2022-01-10 15:17:42 +01:00
lazymio
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
lazymio
be7fbf1306
Handle CPU fault when invalidating TB cache
2022-01-08 22:10:17 +01:00
lazymio
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
lazymio
c3a49766d8
Fix #1522
2022-01-05 20:02:41 +01:00
lazymio
7a886f59df
Fix #1525
2022-01-05 19:38:22 +01:00
lazymio
6fabf30537
Fix a invalid memory access
...
Note: This probably addresses the ramdom failed CI on mingw64
2022-01-05 19:12:36 +01:00
lazymio
d854e22301
Add x87 FPU registers #1524
2022-01-04 21:12:12 +01:00
lazymio
47097b55b7
Fix #1520
2022-01-04 21:01:20 +01:00
scribam
039cd50187
unicorn_arm: add reg_read/write operations for FPSCR and FPSID
2022-01-04 11:36:06 +01:00
Nguyen Anh Quynh
e55b76f057
s390x: cleanup & re-enable some skey code
2021-12-31 10:05:05 +08:00
Nguyen Anh Quynh
1a0f0d0768
s390x: remove some unused fields in S390CPU
2021-12-31 09:48:16 +08:00
lazymio
a06563ecdd
Fix memory leak
2021-12-31 00:24:18 +01:00
lazymio
3b667338cf
Fix s390x warnings
2021-12-31 00:10:50 +01:00
Nguyen Anh Quynh
fa3fb82c9c
s390x: fix warning on commented code
2021-12-30 17:17:49 +08:00
mio
085ee07c73
No more hard-coded cpu models
2021-12-30 01:05:10 +01:00
mio
fdbd743c21
Remove hard-coded cpu model
2021-12-30 00:54:55 +01:00
mio
a72cbda6de
Initialize empty structs explictly to build on MSVC
2021-12-30 00:51:07 +01:00
mio
03f9dd8b61
Expand case ranges to build on MSVC
2021-12-30 00:42:13 +01:00
mio
dc402d78ec
Ignore QEMU_BUILD_BUG_MSG on MSVC
2021-12-30 00:28:24 +01:00
mio
ab4ef2e1de
Fix MSVC build and remove warning about unused functions
2021-12-30 00:26:25 +01:00
mio
298795a9f8
Fix build on MSVC
2021-12-29 23:18:49 +01:00
mio
034a1aa5f2
Make s390x stopping mechanism work
2021-12-27 23:48:20 +01:00
mio
a38151bf77
Make s390x skey work
2021-12-27 23:19:17 +01:00
mio
e977f81813
Make s390x build
2021-12-26 23:09:25 +01:00
mio
faa689c0f0
Merge systemz to the latest uc2 codebase
2021-12-26 22:58:32 +01:00
lazymio
cddc9cf2ed
Fix arm post init
2021-12-25 00:16:51 +01:00
lazymio
4f73d75ea8
Fix #1500
2021-12-23 21:46:27 +01:00
lazymio
ef6f8a2427
Fix x86 CPUID
2021-12-22 23:39:41 +01:00
lazymio
7bb756249a
Better design of cpuid instruction hook
2021-12-22 20:36:56 +01:00
Dimitris Glynos
63a445cbba
fxsave / fxsave64 should store the floating point instruction pointer (fpip) ( #1467 )
...
* fxsave / fxsave64 should store the floating point instruction pointer (fpip)
- fxsave / fxsave64 happen to be used as GetPC code in exploits
* unit tests for the storage of FPIP in fxsave (x86) and fxsave64 (x64)
2021-12-13 08:40:32 +08:00
Nguyen Anh Quynh
09b0c66f11
move all static vars in translate.c to tcg.h
2021-12-07 04:53:32 +08:00
Fedor Nis'kov
4059906e78
Bug fix for LUI instruction (MIPS)
2021-12-06 19:15:00 +03:00
Nguyen Anh Quynh
b042a6a01d
add missing files
2021-12-06 04:28:13 +08:00
Nguyen Anh Quynh
97b92d8861
initial systemz support
2021-12-06 04:19:37 +08:00
lazymio
8a0ca8715e
Fix SR read/write and a test
2021-12-04 23:22:28 +01:00
Brandon Miller
d204dc6374
Added SR to M68K reg_read and reg_write ( #1507 )
2021-12-02 14:12:49 +08:00
lazymio
221cde18df
Write CPSR as it is initiated from instructions to allow regs switch
2021-11-24 17:10:51 +01:00
lazymio
78e0ddbc4d
Fix mmio unmap
2021-11-24 00:18:19 +01:00
lazymio
c733bbada3
Fix wrong offset used in split_region
2021-11-23 23:22:53 +01:00
lazymio
c1c5f72918
Fix the sizemask for inline hooking
2021-11-23 21:18:21 +01:00
lazymio
7a1de17f37
Fix UC_HOOK_EDGE_GENERATED to work with indirect jump
...
For an indirect jump (lookup_tb_ptr), last_tb would be NULL
2021-11-23 00:25:55 +01:00
lazymio
083ccf160b
Use fprintf
2021-11-22 21:22:21 +01:00
lazymio
87a391d549
Inline uc_tracecode when there is only exactly one hook
2021-11-21 16:44:39 +01:00
lazymio
c1106b811b
Fix a memory leak in mmio
2021-11-16 22:44:03 +01:00
lazymio
fc467edbc6
Fix 32bit target getting wrong offset for mmio
2021-11-16 22:40:57 +01:00
lazymio
247ffbe0e8
Support nested uc_emu_start calls
2021-11-16 21:07:03 +01:00
lazymio
43c643d4af
Fix #1488
2021-11-16 09:41:21 +01:00
lazymio
7e244f87b4
Fix UC_HOOK_EDGE_GENERATED implementation
2021-11-11 22:15:15 +01:00
lazymio
23ef5da491
Merge pull request #1481 from bet4it/cp15
...
Restore cp15 registers
2021-11-09 16:50:31 +01:00
Bet4
acaed986b5
Restore cp15 registers
2021-11-09 13:13:08 +08:00
lazymio
640251e1aa
Leave out size parameter in callback
2021-11-09 00:21:34 +01:00
lazymio
2f61592ff9
Fix uc_mem_protect
2021-11-07 20:37:58 +01:00
lazymio
c6fdbb3735
Add RISCV CSR registers
2021-11-07 20:36:04 +01:00
George Hotz
7268c2a19b
mips: support reading and writing of hi/lo regs
2021-11-07 20:27:02 +01:00
lazymio
94a82ed94d
Ensure JIT protection is disabled when generating TB
2021-11-07 20:23:25 +01:00
lazymio
613ddf0985
Format
2021-11-04 19:58:44 +01:00
lazymio
871de4ad65
Split mips cpu to 32 and 64
2021-11-04 19:58:32 +01:00
lazymio
0555095388
Support changing cpu model for ppc
2021-11-04 19:53:02 +01:00
lazymio
e5a2eae173
Add comment for default cpu model
2021-11-04 19:22:50 +01:00
lazymio
64452e249d
Support changing cpu model for sparc
2021-11-04 19:22:08 +01:00
lazymio
b0280f5e55
Support changing cpu model for m68k
2021-11-04 19:16:35 +01:00
lazymio
172a2fbe6d
Support changing cpu model for riscv
2021-11-04 19:13:53 +01:00
lazymio
435ac71f47
Support changing cpu model for x86
2021-11-04 19:10:29 +01:00
lazymio
837c3be347
Support changing cpu model for MIPS
2021-11-04 19:05:56 +01:00
lazymio
dfbffa44ec
Support changing cpu model for ARM
2021-11-04 18:37:10 +01:00
lazymio
3e4b4af7d3
Support change page size
2021-11-04 17:03:30 +01:00
lazymio
3ead1731fe
Also instrument sub2
...
In this case, users don't need to care about the stuble difference inside tcg opcode
2021-11-03 23:48:09 +01:00
lazymio
67e2386da6
Add test and close #1477
2021-11-03 21:40:13 +01:00
lazymio
6b5529fcb7
Merge pull request #1458 from bet4it/patch
...
Port some patches from Unicorn1 to Unicorn2
2021-11-03 20:59:42 +01:00
lazymio
9818840f4e
Add tests for UC_HOOK_TCG_OPCODE
2021-11-03 20:56:45 +01:00
lazymio
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
lazymio
bcf85be86d
Add a new hook type UC_HOOK_TCG_OPCODE
2021-11-03 01:46:24 +01:00
lazymio
eb75d459f0
Add a regression test for invalidating empty TB and have a better solution
2021-11-03 01:07:06 +01:00
Bet4
aaf340d9e4
Merge branch 'dev' into patch
2021-11-02 18:36:22 +08:00
lazymio
c11b9aa5c3
Add a new hook type UC_HOOK_EDGE_GENERATED and corresponding sample
2021-11-01 23:27:35 +01:00
lazymio
b7e82d460c
Expose more TB related stuff
2021-11-01 22:11:43 +01:00
lazymio
6c3960242b
Format unicorn_arm and unicorn_aarch64
2021-11-01 10:17:58 +01:00
lazymio
0a3e46bf4f
Format
2021-11-01 09:41:25 +01:00
lazymio
3dd2e0f95d
Basic implementation of uc_ctl
2021-11-01 00:39:36 +01:00
lazymio
84abf1d3a4
A stronger test and handle addr_end = 0
2021-10-31 21:01:55 +01:00
lazymio
4bcf1c4a7c
Flush TB at exit with a better approach instead of flushing tlb in uc1
2021-10-31 19:43:56 +01:00
lazymio
e62b0ef255
Add clang-format and format code to qemu code style
2021-10-29 12:44:49 +02:00
lazymio
e695686c15
Remove AFL Integration by reverting
2021-10-26 11:22:21 +02:00
lazymio
7ac7c23c12
Fix Windows build for AFL integration
2021-10-25 16:11:58 +02:00
lazymio
1fa2eb688b
Fix UC_MODE_AFL and update config
2021-10-25 14:39:40 +02:00
lazymio
d965c0f159
Use UCLOG and fix uc_afl_fuzz
2021-10-25 10:46:52 +02:00
lazymio
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
Bet4
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
Sven Almgren
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
Bet4
5f40667d91
Support querying architecture mode besides arm ( #1389 )
2021-10-11 11:39:23 +08:00
David CARLIER
e2a924a32b
qemu_getauxval FreeBSD implementation backport ( #1366 )
2021-10-11 11:22:16 +08:00
lazymio
8ab7e0626d
To make dockcross-x86 happy
2021-10-06 11:53:34 +02:00
lazymio
76a1b4661c
Fix a memory leak due to wrong free order
2021-10-06 10:11:04 +02: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
mio
9d8a309fbf
Allow user to instrument cpuid instruction
2021-10-05 17:15:49 +02:00