41 Commits

Author SHA1 Message Date
MerryMage
d7323d6799 fuzz_with_unicorn: Speed up tests by not initializing/tearing down constantly 2018-02-12 21:48:29 +00:00
MerryMage
adc2d5a3cc fuzz_with_unicorn: Fix read-past-end access via jit_iter 2018-02-12 20:51:03 +00:00
MerryMage
1ba2642742 Implement DC instructions 2018-02-11 23:12:28 +00:00
MerryMage
4df6c424df Forward declare IR::Opcode and IR::Type where possible 2018-02-11 11:52:44 +00:00
MerryMage
37b4840c6f A64: Implement STLLRB, STLLRH, STLLR, LDLARB, LDLARH, LDLAR 2018-02-05 15:41:41 +00:00
Lioncash
1621741fc6 inst_gen: Make invalid_instructions a static inline variable 2018-02-04 19:44:29 +00:00
Lioncash
73ad0b0b00 fuzz_with_unicorn: Move instruction generator vector into GenRandomInst
Keeps scope localized and prevents potential static initialization issues.
2018-02-04 19:44:29 +00:00
MerryMage
9ea219e010 basic_block: Fix bogus GCC maybe-uninitialized warning 2018-02-03 03:04:44 +00:00
MerryMage
f1d2cdde34 fuzz_with_unicorn: Skip instructions that need to be interpreted 2018-02-03 01:22:40 +00:00
MerryMage
2fd70e56ce A64: Implement FMOV (scalar, immediate) 2018-02-03 00:52:48 +00:00
MerryMage
65078d5b18 fuzz_with_unicorn: Print information on test failure 2018-01-28 22:33:34 +00:00
MerryMage
2e14326fd5 assert: Use fmt in ASSERT_MSG 2018-01-28 00:00:58 +00:00
Lioncash
7f31a9b5ab fuzz_with_unicorn: Move data outside loop
Given we know we're only ever going to use one instruction, we can just presize the vector and reassign to it
instead of potentially reallocating the same memory 100000 times
2018-01-27 22:54:01 +00:00
Lioncash
763a4783f9 fuzz_with_unicorn: Dehardcode some constants 2018-01-27 22:54:01 +00:00
Lioncash
07930f0253 unicorn: Display EC and ISS separately beside the full ESR value
Makes it a little nicer to pick out the exception class details at a glance
2018-01-26 12:31:43 +00:00
Lioncash
e99cbcf4e3 unicorn: Use static_cast instead of reinterpret_cast
It's well-defined to cast from void* back to the original pointer type.
2018-01-26 12:31:33 +00:00
Lioncash
fc82109071 unicorn_load: Minor Windows-related changes
- Add missing include
- Fix a potential compilation issue where the constructor wouldn't be able to execute, as it would be private.
2018-01-26 00:52:46 +00:00
MerryMage
d08b738662 tests/A64: Test memory writes 2018-01-25 23:56:57 +00:00
Lioncash
1ffe4e03d9 tests: Fix truncation in GetFpcr() 2018-01-25 18:26:32 +00:00
MerryMage
d6589fe3ee IR: Add IR instructions A64Memory{Read,Write}128
This implementation only works on macOS and Linux.
2018-01-24 16:18:58 +00:00
MerryMage
ed63cc7ae9 interface: Move Vector typedef to config.h 2018-01-24 16:18:58 +00:00
MerryMage
41d9a6421d fuzz_with_unicorn: Compare vectors 2018-01-23 17:46:28 +00:00
MerryMage
9634532822 tests/A64: Randomize vectors 2018-01-21 17:56:27 +00:00
MerryMage
adcd34fac7 tests/A64/unicorn: Print interrupt number when InterruptHook is hit 2018-01-21 17:56:27 +00:00
MerryMage
304c91abd3 tests/A64: Allow RunTestInstance to start from an arbitrary offset 2018-01-21 17:56:27 +00:00
Thomas Guillemard
1cf87a24b2 A64: Implement REV, REV32, and REV16 (#126) 2018-01-21 12:17:47 +00:00
MerryMage
ebb3e80129 A64/tests: Split unicorn sanity checking from other tests 2018-01-17 20:00:42 +00:00
MerryMage
5740a0272c tests/A64: Single random instruction: Test branch instructions as well 2018-01-17 00:35:01 +00:00
MerryMage
e77bc26945 A64: Implement SBFM, BFM, UBFM 2018-01-17 00:15:44 +00:00
MerryMage
1e0f5cd9b9 travis: Run A64 tests 2018-01-14 20:23:24 +00:00
MerryMage
4e656ede94 tests/A64: Randomize PSTATE.<NZCV> 2018-01-13 21:57:18 +00:00
MerryMage
3c9eb04812 testenv: Use format constants 2018-01-13 18:31:39 +00:00
MerryMage
324f3fc2b3 tests/A64: Unicorn interface fixes
- Use a std::unique_ptr instead of new/delete.
- UnmappedMemoryHook: Correct range when wraparound of the address space occurs
- UnmappedMemoryHook: Handle case when we attempt to map the same page twice
2018-01-13 18:30:02 +00:00
MerryMage
98ecbe75ca tests/A64: Fuzz against unicorn 2018-01-13 18:06:06 +00:00
MerryMage
b1d38e7a46 tests/A64: Move TestEnvironment to own header 2018-01-13 18:06:06 +00:00
MerryMage
0d65c187a3 tests/a64: Use format constants 2018-01-12 17:02:26 +00:00
MerryMage
305456b407 A64: Implement compare and branch 2018-01-09 18:57:06 +00:00
MerryMage
08c25c9ae7 A64: PSTATE access and tests 2018-01-09 18:57:06 +00:00
MerryMage
f3e763a667 A64: Implement logical 2018-01-09 18:57:06 +00:00
MerryMage
1431cedcaa A64: Implement ADD_shifted 2018-01-09 18:57:06 +00:00
MerryMage
ef6fd92fed A64: Backend framework 2018-01-09 18:57:06 +00:00