Commit Graph

2393 Commits

Author SHA1 Message Date
c2bb5c8838 Fix ns and s in cp reg encoding 2022-02-12 14:29:42 +01:00
380e72bc12 Add tests for armeb CPSR.E and SCTLR.B 2022-02-12 14:29:15 +01:00
9bf074d824 Remove armeb-softmmu and aarch64eb-softmmu for rust bindings 2022-02-12 14:18:01 +01:00
1b346f94e0 Add back arm_armbe and arm64_armbe targets 2022-02-12 14:17:33 +01:00
58fc952230 Remove armeb-softmmu and aarch64eb-softmmu 2022-02-12 14:15:54 +01:00
15f3b58d9b Implement coprocessor register read/write for python bindings 2022-02-11 23:03:56 +01:00
89a1da9a33 Update bindings 2022-02-11 22:42:31 +01:00
f511d4a807 Also return error for context read/write 2022-02-11 22:19:03 +01:00
acbc134f46 Fixed width fields 2022-02-11 22:18:52 +01:00
3e6665db00 Implement coprocessor register read/write for arm64 2022-02-11 22:13:01 +01:00
8bc1489210 Implement coprocessor register read/write for arm 2022-02-11 21:45:37 +01:00
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
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
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
394f25b1fa rust: Add get_handle to expose unicorn handle 2022-01-23 08:22:09 +08:00
2977c9ca47 Support to pass unicorn handle to rust through FFI 2022-01-21 22:37:15 +08:00
5f89981a3c Free info->name on demand 2022-01-20 21:34:21 +01:00
55b4865945 Fix memory leak of custom helpers 2022-01-20 19:50:57 +01:00
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
e018a9ca6a Merge pull request #1544 from mrexodia/cmake-subdirectory
Refactor CMake
2022-01-19 14:07:37 +01:00
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
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
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
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
5559c097d5 rust: Allow to remove self inside a hook 2022-01-17 21:56:33 +08:00
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
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
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
459a595a98 Merge branch 'dev' into s390x
Mostly for bindings update.
2022-01-15 20:56:39 +01:00
dfb0446137 Update bindings 2022-01-15 20:56:24 +01:00
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
6ed2214399 Rebuilt hflags when swithing modes
Or we may get the wrong mode during translation
2022-01-14 19:37:48 +01:00
33afdcf872 Save CC at the end of emulation 2022-01-10 21:48:03 +01:00
9ac796531a Don't cache S390SkeyState and S390SkeysClass 2022-01-10 19:18:52 +01:00
980eae7f44 Sync PC at the end of emulation 2022-01-10 15:45:56 +01:00
441afe17e6 Add psw.mask register 2022-01-10 15:34:04 +01:00