Lioncash
be453b0e1c
fuzz_with_unicorn: Remove exclusion of FMOV (imm) for FP-16 floats
...
Qemu, or rather, Unicorn now supports FP-16, since I backported support
for the recent changes to mainline Qemu relating to FP-16 support.
2018-05-19 12:25:43 +01:00
Lioncash
f5fe2af89c
fuzz_with_unicorn: Silence unused variable warning
...
Currently, structured bindings don't provide a way to ignore unused variables.
2018-05-07 16:39:42 +01:00
Lioncash
21790dcf98
CMake: Make FindUnicorn introduce a unicorn target
...
Makes the find module do all the work of properly setting up the target instead of needing to do it in the main CMakeLists file.
2018-04-18 23:59:54 +01:00
Lioncash
1336e1a4ec
unicorn: Be explicit about casting away const to const-incorrect APIs
...
Uses C++ casts which silence relevant warnings in Xcode 9.3
Also migrates relevant Read function equivalents over for consistency.
2018-04-15 08:54:36 +01:00
MerryMage
f0ba929fc3
fuzz_with_unicorn: Correct GenRandomInst
...
UnallocatedEncoding is now handled in ShouldTestInst
2018-04-04 11:15:56 +01:00
MerryMage
da9a4f8877
A64: Partially implement FCVTZU (scalar, fixed-point) and FCVTZS (scalar, fixed-point)
2018-02-20 18:45:28 +00:00
MerryMage
31e370cdf4
A64: Implement system register CNTPCT_EL0
2018-02-20 16:56:05 +00:00
MerryMage
7cef39bdb4
fuzz_with_unicorn: QEMU's implementation of FCVT is incorrect
2018-02-18 13:47:41 +00:00
MerryMage
30b596df19
fuzz_with_unicorn: Explicitly test floating point instructions
2018-02-18 13:18:22 +00:00
MerryMage
4aefed05d5
fuzz_with_unicorn: Print AArch64 disassembly
2018-02-18 13:18:22 +00:00
MerryMage
9527d52c49
Exclusive fixups
...
* Incorrect size of exclusive_address
* Disable tests on exclusive memory instructions for now
2018-02-13 15:47:52 +00:00
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
83a762eee7
fuzz_arm: Use SCOPE_FAIL
2018-02-08 02:14:42 +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
MerryMage
3f6889f700
A32: Change UserCallbacks to be similar to A64's interface
2018-01-27 22:45:48 +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
e772072679
fuzz_thumb: Off by one error
2018-01-14 20:37:08 +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