Commit Graph

2719 Commits

Author SHA1 Message Date
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
lazymio
7dc858d03d
Add a test for arm privilege escalation 2022-01-04 20:30:07 +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
5bb40c5faf s390x: cleanup CMakeLists.txt 2022-01-01 10:15:18 +08:00
Nguyen Anh Quynh
6813e4a042 bindings: update const_generator.py, and update all binding constants 2022-01-01 09:24:28 +08:00
Nguyen Anh Quynh
57699b69bb
Delete TODO-s390 2022-01-01 09:14:49 +08:00
mio
8b0285e135
Add python support for s390x 2022-01-01 00:58:10 +01:00
mio
d5e0bff7d5
Fix rust build for s390x 2022-01-01 00:41:59 +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
4c312d9095
Update TODO 2021-12-30 01:12:38 +01: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