Commit Graph

2396 Commits

Author SHA1 Message Date
lazymio 2a84e33f03
Fix possible leak in hooks 2022-02-12 16:28:43 +01:00
lazymio 9ff335efdc
Fix memory leak of the empty_view 2022-02-12 15:47:25 +01:00
lazymio 5683a5484d
Add test for switch endianess runtime 2022-02-12 14:35:33 +01:00
lazymio c2bb5c8838
Fix ns and s in cp reg encoding 2022-02-12 14:29:42 +01:00
lazymio 380e72bc12
Add tests for armeb CPSR.E and SCTLR.B 2022-02-12 14:29:15 +01:00
lazymio 9bf074d824
Remove armeb-softmmu and aarch64eb-softmmu for rust bindings 2022-02-12 14:18:01 +01:00
lazymio 1b346f94e0
Add back arm_armbe and arm64_armbe targets 2022-02-12 14:17:33 +01:00
lazymio 58fc952230
Remove armeb-softmmu and aarch64eb-softmmu 2022-02-12 14:15:54 +01:00
lazymio 15f3b58d9b
Implement coprocessor register read/write for python bindings 2022-02-11 23:03:56 +01:00
lazymio 89a1da9a33
Update bindings 2022-02-11 22:42:31 +01:00
lazymio f511d4a807
Also return error for context read/write 2022-02-11 22:19:03 +01:00
lazymio acbc134f46
Fixed width fields 2022-02-11 22:18:52 +01:00
lazymio 3e6665db00
Implement coprocessor register read/write for arm64 2022-02-11 22:13:01 +01:00
lazymio 8bc1489210
Implement coprocessor register read/write for arm 2022-02-11 21:45:37 +01:00
lazymio 236848a45a
Merge pull request #1545 from bet4it/rust_ffi
Support to pass unicorn handle to rust through FFI
2022-02-02 18:29:33 +01:00
lazymio b78ca03507
Merge pull request #1547 from iii-i/s390x-tcg-shift-instruction-fixes
s390x TCG shift instruction fixes
2022-01-28 00:00:26 +01:00
Ilya Leoshkevich ad984b9366 s390x TCG shift instruction fixes
Cherry-pick the following upstream commits:

521130f267 target/s390x: Fix SLDA sign bit index
57556b28af target/s390x: Fix SRDA CC calculation
df103c09bc target/s390x: Fix cc_calc_sla_64() missing overflows
6da170beda target/s390x: Fix shifting 32-bit values for more than 31 bits
2022-01-27 13:15:54 +01:00
Bet4 394f25b1fa rust: Add `get_handle` to expose unicorn handle 2022-01-23 08:22:09 +08:00
Bet4 2977c9ca47 Support to pass unicorn handle to rust through FFI 2022-01-21 22:37:15 +08:00
lazymio 5f89981a3c
Free info->name on demand 2022-01-20 21:34:21 +01:00
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