Commit Graph

718 Commits

Author SHA1 Message Date
345b63ee96 Only exit TB if pc is within the memory range 2022-05-07 00:16:31 +02:00
Eric Poole
cfee2139a0 TriCore Support (#1568)
* TriCore Support

python sample

* Update sample_tricore.py

Correct attribution

* Update sample_tricore.py

Fixed byte code to execute properly.

* Update sample_tricore.py

Removed testing artifact

* Added tricore msvc config-file.h

* Added STATIC to tricore config and added helper methods to symbol file generation.

* Update op_helper.c

Use built in crc32

* Fix tricore samples and small code blocks are now handled properly

* Add CPU types

* Generate bindings

* Format code

Co-authored-by: lazymio <mio@lazym.io>
2022-04-29 23:11:34 +02:00
8fb4b45f57 Resume CPU for writing PC 2022-04-26 01:53:02 +02:00
4e22744679 Support flushing translation blocks and flush when we don't need count hook 2022-04-26 01:17:58 +02:00
656dde9f60 Fix MSVC build 2022-04-16 23:37:52 +02:00
3d3deac5e6 Fix crash when mapping a big memory and calling uc_close 2022-04-16 19:17:41 +02:00
b136f08f2d Check CPU model for uc_ctl 2022-04-16 17:49:47 +02:00
shuffle2
2912cd1e29 fix rust bindings build on windows (#1584)
Refine rust bindings.
2022-04-16 13:40:04 +02:00
e3d0a33ab8 Fix BE32 usermode address XOR 2022-04-05 11:55:58 +02:00
7e64e620d2 Remove unassigned_io_write from ioport.c 2022-04-04 11:25:40 +02:00
2f113b11d1 Fix symbol clash on bunlded static libs 2022-04-04 11:24:59 +02:00
rose
fc0d9a82a5 Fix clang-cl compile with CONFIG_INT128 in qemu 2022-04-03 16:30:26 -04:00
7e6d21d27c Fix memory leak in code_gen_buffer 2022-04-03 21:44:09 +02:00
Ilya Leoshkevich
7de130a5d7 s390x/tcg: Fix BRASL and BRCL with large negative offsets
This is a backport of the following upstream commits:
- commit fc3dd86a290a ("s390x/tcg: Fix BRASL with a large negative offset")
- commit 16ed5f14215b ("s390x/tcg: Fix BRCL with a large negative offset")

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
2022-03-17 14:23:57 +01:00
09b15e9071 Fix exits wrongly cleared in nested uc_emu_start 2022-03-06 23:40:34 +01:00
12fa73f2b6 Generate check_exit_request for the first tb
Consider this case:

   t:inc ecx,
     inc edx,
     jmp t

It would generate exactly one block and TB chain will generate an inline
jump. If we don't check exit at the entry of the block, we will never be
terminated.

This test case is recorded in the commit message since it's a bit
painful to write multithread related code that builds on all platforms.
2022-03-05 22:42:41 +01:00
b7bc13650c Sync PC after we exit
We should sync PC if there is no UC_HOOK_CODE hook
2022-03-05 22:42:41 +01:00
9f62c71094 Sync PC for SYS instruction hook 2022-02-27 15:30:27 +01:00
e5207a1363 Implement UC_HOOK_INSN for aarch64 MRS/MSR/SYS/SYSL 2022-02-27 15:28:31 +01:00
8e2f70a35b Merge pull request #1559 from yrashk/aarch64-use-map-jit
Problem: Could not allocate dynamic translator buffer
2022-02-25 22:46:19 +01:00
d946114dfe Set EFLAGS correctly on startup 2022-02-25 22:44:42 +01:00
84e796494f Format code 2022-02-25 22:24:25 +01:00
caf2fe1ddb Clear state when exiting from uc_emu_start
This may cause unexpected result when we are in a nested uc_emu_start
2022-02-25 22:23:44 +01:00
ad4b56ad54 Remove armeb and aarcheb in configure 2022-02-22 15:28:16 +01:00
Yurii Rashkovskii
f652340bec Problem: Could not allocate dynamic translator buffer
`Could not allocate dynamic translator buffer` error while
trying to perform any memory-related operation.

This happens on aarch64 (MacBook Pro M1)

Solution: ensure aarch64 architecture is properly checked against

Fixes #1556
2022-02-20 07:46:30 -08:00
Bet4
d96083d4d1 Fix pc after ppc sc inst 2022-02-20 20:42:46 +08:00
8d9ca1ce84 Format 2022-02-17 10:37:34 +01:00
27ef63cc8d Add UC_PPC_REG_CR 2022-02-15 22:07:53 +01:00
73e4a90d3a Manually revert 63a445cbba 2022-02-13 10:13:01 +01:00
4266196b2d Fix the divergence with master. 2022-02-13 10:08:58 +01:00
e382ca102a Fix the regression bug 2022-02-13 09:52:00 +01:00
05b9a021dc Merge pull request #1453 from scribam/reg-read-write-fpscr
unicorn_arm: add reg_read/write operations for FPSCR and FPSID
2022-02-13 09:02:32 +01:00
52e0963cc7 Backward compatibility to enable full 64bits address space 2022-02-12 22:54:21 +01:00
81eb7da837 Backward compatibility for c13_c0_3 2022-02-12 22:31:10 +01:00
3c4477d622 Fix another undefined shift found by sanitizer 2022-02-12 19:57:19 +01:00
93c602ead1 FIx anohter undefined shift 2022-02-12 19:47:51 +01:00
e38b1c8af3 Fix the undefined shift 2022-02-12 19:37:32 +01:00
e548cd9eb1 Fix the undefined shift 2022-02-12 18:22:56 +01:00
d0de673208 Fix the undefined lshift negative numbers 2022-02-12 17:47:57 +01:00
9ff335efdc Fix memory leak of the empty_view 2022-02-12 15:47:25 +01:00
c2bb5c8838 Fix ns and s in cp reg encoding 2022-02-12 14:29:42 +01:00
58fc952230 Remove armeb-softmmu and aarch64eb-softmmu 2022-02-12 14:15:54 +01:00
f511d4a807 Also return error for context read/write 2022-02-11 22:19:03 +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
Nguyen Anh Quynh
141a558dd8 fix conflicts 2022-01-28 10:30:51 +08: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
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
mio
7095605607 Merge branch 'dev' into systemz 2022-01-18 21:10:55 +01:00