mio
3ea7857be3
Exit early when invalid read happens
...
In this way, the target register won't be overwritten
2022-10-20 21:57:28 +02:00
mio
a5d4d30a31
Sync PC for mem ldst on aarch64
2022-10-20 21:19:18 +02:00
Nguyen Anh Quynh
b99ec09c90
tests: remove unused var
2022-10-12 14:43:01 +08:00
mio
c144f06145
Format code
2022-10-01 00:14:08 +02:00
mio
19d8876e23
Deep copy for arm cpu state
2022-10-01 00:14:08 +02:00
relapids
1065c2dff4
Fix test_uc_hook_cached_uaf for MacOS M1 (aarch64).
2022-09-25 15:24:56 -07:00
Timo Röhling
e1e7b25268
Adjust big memory test for host pagesize
...
On machines with a page size larger than 4K, the requested memory size
in `test_map_big_memory` gets rounded up and overflows to zero.
This PR adds some code to query the page size and adjust the requested
memory size accordingly.
2022-09-25 18:16:06 +02:00
Mio
a0e119c6f0
Format code
2022-08-31 23:27:24 +08:00
Mio
c4a0813f4a
Add a test for infinite loop when sync-ing pc for UC_HOOL_BLOCK #1661
2022-08-31 23:27:05 +08:00
relapids
154a21d6a3
Disable ARM-specific tests when ARM is unavailable.
2022-08-18 18:29:24 -07:00
relapids
2e8986174b
Fix leak in test_mem_protect_map_ptr.
2022-08-15 05:38:29 -07:00
mio
bdb141aeef
Disable unaligned access test on ppc and aarch64
...
The memoy read operations on these architectures are inlined
e.g. ldur on aarch64
2022-08-14 15:42:37 +02:00
mio
419d710c4a
Return true when we handled the memory events
2022-08-14 13:37:25 +02:00
mio
2c00546c6e
Merge rhelmot's fix
2022-08-14 13:35:54 +02:00
mio
6db6790ec2
Merge remote-tracking branch 'zachesez/ppc_cr_read_fix' into dev
2022-07-23 20:46:40 +08:00
Mio
d6d57834b0
Format code
2022-07-23 19:27:37 +08:00
Mio
c7ff9d66cf
Move vex.l test to test_x86
2022-07-23 19:26:35 +08:00
Zach Szczesniak
2b25867e4b
Fixed endianness when writing PPC32 CR register.
2022-07-20 18:31:13 -04:00
Duncan Ogilvie
e485f39846
Add a test to make sure VEX.L stops emulation with an error
2022-07-20 13:59:27 +02:00
lazymio
0ebac3b455
Fix typo
2022-06-02 15:06:50 +02:00
lazymio
6d61aec82f
Format code
2022-06-02 14:46:26 +02:00
lazymio
637dc8a8a0
Generate an extra block to trigger segfault
2022-06-02 14:45:38 +02:00
lazymio
40436e885b
Fix the cached hook test
2022-06-02 14:38:53 +02:00
lazymio
774c942143
Add a test for hook cache UAF
...
If a hook is deleted but wrongly cached, a UAP is probably triggered
2022-06-01 23:58:02 +02:00
lazymio
e3613a9f59
Format code
2022-05-28 23:46:18 +02:00
lazymio
2a6529348c
Support uc_mem_protect on mmio regions
...
Also make mmio ranges return the correct errors on wrong protection
2022-05-28 23:33:43 +02:00
lazymio
ba50035830
Format code
2022-05-23 12:30:44 +02:00
lazymio
dae48aecee
Mem hook should return a bool
2022-05-20 13:31:54 +02:00
lazymio
0d41d4bbb2
Merge QDucasse:x86_hook_address for tests
2022-05-20 13:07:49 +02:00
lazymio
f4f726d7fc
Add test for ensuring hooks are get called only once
2022-05-07 00:23:04 +02:00
Quentin DUCASSE
38dfd69309
Equivalent tests for arm64
2022-05-04 18:03:06 +02:00
Quentin DUCASSE
f569417878
Equivalent tests for riscv
2022-05-04 17:18:47 +02:00
Quentin DUCASSE
8ee9e89f01
Fixed code comment for x86 tests
2022-05-04 17:06:48 +02:00
Quentin DUCASSE
a3ed8bbce5
Tests for jump hook address
2022-05-04 16:51:43 +02:00
lazymio
ba132b974d
Move tests to root directory
...
Reference: https://doc.rust-lang.org/stable/cargo/guide/project-layout.html
2022-04-29 23:40:03 +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
lazymio
ed90e98d81
Generate a TB at least to make sure cahce is not cleared for ADD and DEC
2022-04-26 01:18:00 +02:00
lazymio
d3f1ec1345
Add a test for count hook cache
2022-04-26 01:17:59 +02:00
lazymio
3d3deac5e6
Fix crash when mapping a big memory and calling uc_close
2022-04-16 19:17:41 +02:00
lazymio
cf18982e1c
Add two tests for mem map wrap
2022-04-16 18:19:41 +02:00
lazymio
c379d1bfe4
Format code
2022-04-16 17:50:12 +02:00
lazymio
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
lazymio
e3d0a33ab8
Fix BE32 usermode address XOR
2022-04-05 11:55:58 +02:00
lazymio
3112cd920e
Add a test for nested uc_emu_start exits
2022-03-06 23:51:35 +01:00
lazymio
2a4e42f315
Fix test
2022-03-06 23:40:57 +01:00
lazymio
e5207a1363
Implement UC_HOOK_INSN for aarch64 MRS/MSR/SYS/SYSL
2022-02-27 15:28:31 +01:00
lazymio
d946114dfe
Set EFLAGS correctly on startup
2022-02-25 22:44:42 +01:00
lazymio
186be25c40
Fix wrong mode in tests
2022-02-25 22:28:26 +01:00
lazymio
45b5d7d8d2
Add test for caf2fe1ddb
2022-02-25 22:24:17 +01:00
Bet4
d96083d4d1
Fix pc after ppc sc inst
2022-02-20 20:42:46 +08:00
lazymio
73e4a90d3a
Manually revert 63a445cbba
2022-02-13 10:13:01 +01:00
lazymio
4266196b2d
Fix the divergence with master.
2022-02-13 10:08:58 +01:00
lazymio
e382ca102a
Fix the regression bug
2022-02-13 09:52:00 +01:00
lazymio
96518634fb
Fix the wrong block found when doing split_region
2022-02-12 21:34:46 +01:00
lazymio
a2f18bbfaf
Format code
2022-02-12 16:29:00 +01:00
lazymio
5683a5484d
Add test for switch endianess runtime
2022-02-12 14:35:33 +01:00
lazymio
380e72bc12
Add tests for armeb CPSR.E and SCTLR.B
2022-02-12 14:29:15 +01:00
lazymio
58fc952230
Remove armeb-softmmu and aarch64eb-softmmu
2022-02-12 14:15:54 +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
Nguyen Anh Quynh
141a558dd8
fix conflicts
2022-01-28 10:30:51 +08:00
lazymio
bbfb376a88
Merge pull request #1521 from unicorn-engine/s390x
...
S390X Support
2022-01-19 23:07:19 +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
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
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
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
459a595a98
Merge branch 'dev' into s390x
...
Mostly for bindings update.
2022-01-15 20:56:39 +01: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
980eae7f44
Sync PC at the end of emulation
2022-01-10 15:45:56 +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
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
b8817518ae
Add a test for arm64 pac extension
2022-01-05 20:02:21 +01:00
lazymio
3f64491fda
Add further test for arm system mode transition
2022-01-05 19:38:02 +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
mio
8fc836c5fa
Fix tests list not marked with NULL
2021-12-29 23:10:21 +01:00
mio
849325b9c6
Add unit test for s390x
2021-12-27 23:59:53 +01:00
mio
faa689c0f0
Merge systemz to the latest uc2 codebase
2021-12-26 22:58:32 +01:00
lazymio
cddc9cf2ed
Fix arm post init
2021-12-25 00:16:51 +01:00
lazymio
5b3a9e1024
Add test for arm v8
2021-12-24 23:45:57 +01:00
lazymio
4f73d75ea8
Fix #1500
2021-12-23 21:46:27 +01:00
lazymio
ef6f8a2427
Fix x86 CPUID
2021-12-22 23:39:41 +01:00
lazymio
7bb0abb977
Format
2021-12-22 20:37:15 +01:00
lazymio
7bb756249a
Better design of cpuid instruction hook
2021-12-22 20:36:56 +01:00
Quentin DUCASSE
033e79abac
Added cache flush after code patching in unit tests for arm64 and riscv
2021-12-17 14:55:08 +01:00
Dimitris Glynos
63a445cbba
fxsave / fxsave64 should store the floating point instruction pointer (fpip) ( #1467 )
...
* fxsave / fxsave64 should store the floating point instruction pointer (fpip)
- fxsave / fxsave64 happen to be used as GetPC code in exploits
* unit tests for the storage of FPIP in fxsave (x86) and fxsave64 (x64)
2021-12-13 08:40:32 +08:00
Quentin DUCASSE
549274f44c
Code patching tests for riscv and arm64
2021-12-10 15:27:54 +01:00
Nguyen Anh Quynh
b042a6a01d
add missing files
2021-12-06 04:28:13 +08:00
lazymio
8a0ca8715e
Fix SR read/write and a test
2021-12-04 23:22:28 +01:00
lazymio
221cde18df
Write CPSR as it is initiated from instructions to allow regs switch
2021-11-24 17:10:51 +01:00
lazymio
78e0ddbc4d
Fix mmio unmap
2021-11-24 00:18:19 +01:00
lazymio
4ed1c4cff9
Fix test name typo
2021-11-23 23:24:53 +01:00
Sven Bartscher
3e2580ef9e
Add test case for #1497
2021-11-23 22:47:20 +01:00
lazymio
e11cc16e54
Implement high-resolution clock for mingw64 in test_ctl
2021-11-23 14:15:18 +01:00
lazymio
ccfb66611f
Move test to test_mem
2021-11-23 00:41:49 +01:00