Luke Wren
954bae5cf1
Implement block/unblock instructions, and fix questionable partial masking of sleep signals on exceptions. Add simple test for self-block/unblock with loopback in tb.
2022-08-29 14:52:01 +01:00
Luke Wren
2ae2463b97
First stab at adding wake/sleep state machine
2022-08-28 19:50:04 +01:00
Luke Wren
6e2076268c
Update CSR readability/writability tests for new CSRs
2022-08-22 08:50:57 +01:00
Luke Wren
6e3799eed0
First attempt at hacking in triggers, at least seems to have not broken other exception logic. Not yet tested.
2022-08-22 08:47:03 +01:00
Luke Wren
8b630d2ac6
Whoops I needed that constant
2022-08-10 01:00:47 +01:00
Luke Wren
64dc31244e
Add top/bottom-half IRQ test
2022-08-10 00:09:13 +01:00
Luke Wren
a44ff9b6f1
Add test for IRQ force array
2022-08-09 23:38:14 +01:00
Luke Wren
5894ddf15c
Fix outdated expected output in irq_set_all_with_pri test
2022-08-08 18:44:58 +01:00
Luke Wren
ad5fd24772
- Fix signal named priority, which is a keyword in SV
...
- Fix incorrect HIGHEST_WINS behaviour in one-hot selector
- Add test for asserting 32 IRQs at 16 priorities at once
- Add an entry counter to the soft dispatch code so tests can check
the number of times hardware entered the vector
2022-08-07 23:17:03 +01:00
Luke Wren
2e3d69e98f
Forgot to add expected output for preemption test
2022-08-07 22:08:50 +01:00
Luke Wren
5e72ec8941
Fix a couple of bugs in preemption priority update, add simple IRQ preemption test
2022-08-07 22:04:42 +01:00
Luke Wren
15cb21ae43
First pass at implementing the new IRQ controls. Works well enough that the old tests pass :)
2022-08-07 20:51:12 +01:00
Luke Wren
185194973f
Add a custom instruction (bextm/bextmi: 1 to 8-bit version of bext/bexti from Zbs) for fooling around with toolchains
2022-08-06 23:02:08 +01:00
Luke Wren
02b303b385
Remove stray old expected output file from sw_testcases dir
2022-06-03 17:20:49 +01:00
Luke Wren
e2c9901701
Update readme for runtests
2022-05-30 01:12:16 +01:00
Luke Wren
2cfe6aa90e
Add test to check MPRV/MPP behaviour when executing an MRET
2022-05-29 19:51:19 +01:00
Luke Wren
f96a0ffb75
Add test for MPRV vs PMP
2022-05-29 19:06:04 +01:00
Luke Wren
71eff7649d
Add PMP U-mode read/write permission test
2022-05-29 18:42:44 +01:00
Luke Wren
c8afcdbb8f
Extend umode_wfi test to check U-mode WFI doesn't stall the processor if TW=0 or PMP X check fails
2022-05-29 17:42:15 +01:00
Luke Wren
66965ac073
Fix inverted sc return code (argh) and lr/sc tests which also assumed the sc code was inverted
2022-05-28 15:36:21 +01:00
Luke Wren
81aec325bb
ecall from U-mode has a different mcause value than ecall from M-mode
2022-05-28 12:07:29 +01:00
Luke Wren
f2876eb51f
Fix bad mepc reported after branching to a branch in a no-X address range
2022-05-27 22:47:04 +01:00
Luke Wren
e208652ad7
Fix misa value in csr_id test
2022-05-26 00:48:12 +01:00
Luke Wren
5be8835365
Add missing output to pmp_write_and_lock test
2022-05-25 15:34:28 +01:00
Luke Wren
399dcf2cb9
Add test for U-mode X permissions
2022-05-25 13:47:16 +01:00
Luke Wren
7340765699
Add simple test to read, write and lock PMP registers
2022-05-25 02:05:24 +01:00
Luke Wren
456810b09e
Make vcd generation optional in runtests
2022-05-24 22:56:13 +01:00
Luke Wren
64d9f4a111
Add tests for execution of mret and wfi in U mode
2022-05-24 22:14:20 +01:00
Luke Wren
7cfc976ef2
Set U RWX permission on all of memory in the U CSR readability test
2022-05-24 19:58:12 +01:00
Luke Wren
f033cde874
Add test for readability of CSRs in U mode. Fix readback value of mstatus.mpp
2022-05-24 17:30:24 +01:00
Luke Wren
0199f48087
Add read-only counter CSRs to readability/writability tests, and fix cycleh being unreadable when U mode is not implemented
2022-05-24 16:44:03 +01:00
Luke Wren
ef35dc859d
Add zicsr to march in makefiles
2022-05-24 16:17:54 +01:00
Luke Wren
07d4b23a9a
Add option to pass test list to runtests
2022-05-24 16:17:54 +01:00
Luke Wren
5ab60422ad
Add minimal multicore launch code
2021-12-17 01:24:11 +00:00
Luke Wren
88fea7acfa
Fix lockup on misaligned AMO. Add tests for misaligned/faulting AMOs.
2021-12-12 18:28:23 +00:00
Luke Wren
719c21fec3
Add IRQ tests. Disable waves by default in runtests
2021-12-12 15:53:04 +00:00
Luke Wren
9fb2af800f
Allow IRQs to be set/cleared by sw in tb. Add soft IRQ test
2021-12-12 14:58:50 +00:00
Luke Wren
a232833d81
Add CSR writable test
2021-12-12 14:23:34 +00:00
Luke Wren
7da67a0600
Similarly for minstret
2021-12-11 22:25:12 +00:00
Luke Wren
1b722b5f27
Add mcycle test, fix incorrect description of mcycle in docs
2021-12-11 21:21:31 +00:00
Luke Wren
93eca19aeb
Add test for lr/sc RAW stalls
2021-12-11 19:16:41 +00:00
Luke Wren
763a5cd364
Add test for readability of all implemented CSRs
2021-12-11 17:50:12 +00:00
Luke Wren
7b1da32af1
Move expected_output into tests inline
2021-12-11 16:58:25 +00:00
Luke Wren
9460b3cd04
Add load/store and lr/sc bus fault tests. Fix lr.w not clearing local monitor when HRESP=1 HEXOKAY=1.
2021-12-11 15:52:34 +00:00
Luke Wren
f64f44f7af
Add test for identification CSRs vs expected values
2021-12-11 13:26:59 +00:00
Luke Wren
3fe0d92d41
Add load/store alignment testcases
2021-12-11 12:53:37 +00:00
Luke Wren
6edfbfae8b
Add ebreak size/alignment test
2021-12-11 11:17:24 +00:00
Luke Wren
abe1769929
Add instruction access fault testcase
2021-12-11 09:54:00 +00:00
Luke Wren
6d55cd2d55
Consolidate openocd and bin-load testbenches
2021-12-11 09:46:38 +00:00
Luke Wren
fadb9601de
Illegal instruction test
2021-12-10 00:11:18 +00:00