Commit Graph

2635 Commits

Author SHA1 Message Date
lazymio 55b4865945
Fix memory leak of custom helpers 2022-01-20 19:50:57 +01:00
lazymio bbfb376a88
Merge pull request #1521 from unicorn-engine/s390x
S390X Support
2022-01-19 23:07:19 +01:00
mio 5a592c753e
Set s390x-softmmu to STATIC 2022-01-19 22:32:00 +01:00
mio 67c437d8b8
Enable s390x in default arch
This was overriden in a previous PR
2022-01-19 22:02:26 +01:00
mio 2ad9f152f9
Set emulation_done to true if and only if we exit the outer uc_emu_start
Or we may lost uc_emu_stop wrongly
2022-01-19 21:58:46 +01:00
mio f57467e7ed
Generate bindings 2022-01-19 20:10:09 +01:00
mio c5ad3c318c
Sync with dev and resolve conflicts 2022-01-19 20:09:25 +01:00
lazymio e018a9ca6a
Merge pull request #1544 from mrexodia/cmake-subdirectory
Refactor CMake
2022-01-19 14:07:37 +01:00
Duncan Ogilvie 5d471d81e7 Change PUBLIC to PRIVATE for linking to unicorn-common 2022-01-18 22:27:37 +01:00
mio e6ff7e83e3
Sync with dev branch 2022-01-18 21:39:45 +01:00
mio ac510d13c7
Fix fuzzing and remove unused variable 2022-01-18 21:37:32 +01:00
Duncan Ogilvie d200eb4be6 Fix rust bindings 2022-01-18 21:33:22 +01:00
mio 4f1aeb83ca
Add fuzz_emu_s390x_be.c 2022-01-18 21:16:01 +01:00
mio 7095605607
Merge branch 'dev' into systemz 2022-01-18 21:10:55 +01:00
mio 3cbe32053b
Change git url to https url to avoid git submodule clone error 2022-01-18 21:09:01 +01:00
Duncan Ogilvie c0e86b0d2f Refactor CMake
Everything from #1373 seems to have been undone, so I did it again.
2022-01-18 21:08:33 +01:00
mio 218bddc0e0
Only use MAP_JIT on Apple Silicon
MAP_JIT causes performance regression for fork()

See https://github.com/desktop/desktop/issues/12978
2022-01-18 21:01:49 +01:00
mio c84dbac9a8
Rename build dir for python bindings 2022-01-18 20:15:28 +01:00
mio 0da1f02fde
Fix scale in tracing 2022-01-18 19:48:40 +01:00
mio 28e791a37f
Add debug tracing feature
It's disabled by default, use -DUNICORN_TRACER=on to enable it
2022-01-18 19:35:43 +01:00
lazymio abb958cac1
Merge pull request #1543 from bet4it/remove_hook
rust: Allow to remove self inside a hook
2022-01-18 10:45:03 +01:00
Bet4 5559c097d5 rust: Allow to remove self inside a hook 2022-01-17 21:56:33 +08:00
lazymio 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
lazymio 06be6fdc24
Merge pull request #1537 from gerph/clear-pending-hook-exception-before-emulation
Clear Python pending hook exception before we enter the emulation.
2022-01-15 22:13:24 +01:00
lazymio a5ceca6d51
Remove the static variable in flatviews_init
Or we may get an invalid old (and free-ed) uc instance reference
2022-01-15 22:11:14 +01:00
lazymio 459a595a98
Merge branch 'dev' into s390x
Mostly for bindings update.
2022-01-15 20:56:39 +01:00
lazymio dfb0446137
Update bindings 2022-01-15 20:56:24 +01:00
Charles Ferguson 1ba59ed70a Clear Python pending hook exception before we enter the emulation.
The pending exception hook is set when the hook raised an exception
and wants to report it outside the emulation loop. However, it is
never cleared back to None. This means that after an exception is
raised in a hook, all subsequent execution (even if successful) will
raise the exception.

This change clears the exception before we start another emulation,
which should ensure that if we have _hook_exception set, it really
is from hooks in this emulation run.
2022-01-15 17:45:45 +00:00
lazymio 6ed2214399
Rebuilt hflags when swithing modes
Or we may get the wrong mode during translation
2022-01-14 19:37:48 +01:00
lazymio 33afdcf872
Save CC at the end of emulation 2022-01-10 21:48:03 +01:00
lazymio 9ac796531a
Don't cache S390SkeyState and S390SkeysClass 2022-01-10 19:18:52 +01:00
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 c671efe798
Update bindings 2022-01-05 22:00:59 +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 4567b4a790
Fix the wrong arm cpu index 2022-01-05 21:57:46 +01:00
lazymio e84a5c44e9
Add a test for arm mrc instruction (also for coproc) 2022-01-05 21:57:32 +01:00
lazymio 8e70f3e524
Format code 2022-01-05 21:56:58 +01:00
lazymio c3a49766d8
Fix #1522 2022-01-05 20:02:41 +01:00
lazymio b8817518ae
Add a test for arm64 pac extension 2022-01-05 20:02:21 +01:00
lazymio 7a886f59df
Fix #1525 2022-01-05 19:38:22 +01:00
lazymio 3f64491fda
Add further test for arm system mode transition 2022-01-05 19:38:02 +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 c4b4189857
Update bindings 2022-01-04 21:12:52 +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
lazymio 73149f3616
Fix test case 2022-01-04 20:54:52 +01:00