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
Sven Bartscher
b35dbb90b2
Add test case for #1495
2021-11-22 18:48:16 +01:00
lazymio
907ec5095d
Fix a stackoverflow in tests
2021-11-21 19:28:45 +01:00
lazymio
fc467edbc6
Fix 32bit target getting wrong offset for mmio
2021-11-16 22:40:57 +01:00
lazymio
247ffbe0e8
Support nested uc_emu_start calls
2021-11-16 21:07:03 +01:00
lazymio
640251e1aa
Leave out size parameter in callback
2021-11-09 00:21:34 +01:00
lazymio
35017a614f
Slightly change UC_CTL_TB_REMOVE_CACHE
2021-11-08 22:09:33 +01:00
lazymio
e836b62e01
Minor fix for uc_ctl
2021-11-08 20:40:02 +01:00
lazymio
2f61592ff9
Fix uc_mem_protect
2021-11-07 20:37:58 +01:00
lazymio
c6fdbb3735
Add RISCV CSR registers
2021-11-07 20:36:04 +01:00
lazymio
01d7e454b7
Fix typo
2021-11-04 20:59:07 +01:00
lazymio
3aa2788586
Format
2021-11-04 18:39:52 +01:00