mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-23 05:17:12 -04:00
[ibex/dv] Add several PMP tests
Signed-off-by: Udi <udij@google.com>
This commit is contained in:
parent
13135e2e70
commit
976e7edcda
1 changed files with 62 additions and 7 deletions
|
@ -575,17 +575,72 @@
|
|||
sim_opts: >
|
||||
+require_signature_addr=1
|
||||
|
||||
- test: riscv_pmp_test
|
||||
- test: riscv_pmp_basic_test
|
||||
desc: >
|
||||
Random PMP settings
|
||||
iterations: 1
|
||||
Basic PMP test - all PMP regions will be configured to default setting,
|
||||
enabling all forms of accesses, expect that no exception will be thrown.
|
||||
Randomize mstatus.mprv.
|
||||
iterations: 10
|
||||
gen_test: riscv_rand_instr_test
|
||||
gen_opts: >
|
||||
+instr_cnt=6000
|
||||
+pmp_randomize=0
|
||||
+pmp_allow_addr_overlap=0
|
||||
+pmp_max_offset=00021000
|
||||
+boot_mode=u
|
||||
+pmp_max_offset=00024000
|
||||
rtl_test: core_ibex_base_test
|
||||
|
||||
- test: riscv_pmp_disable_all_regions_test
|
||||
desc: >
|
||||
Disable all permissions from PMP regions, randomize the boot mode,
|
||||
and randomize mstatus.mprv.
|
||||
Expect that all appropriate faults are taken, and that the core
|
||||
finishes executing successfully.
|
||||
iterations: 20
|
||||
gen_test: riscv_rand_instr_test
|
||||
gen_opts: >
|
||||
+instr_cnt=6000
|
||||
+pmp_max_offset=00024000
|
||||
+pmp_region_1=X:0,W:0,R:0
|
||||
+pmp_region_2=X:0,W:0,R:0
|
||||
+pmp_region_3=X:0,W:0,R:0
|
||||
+pmp_region_4=X:0,W:0,R:0
|
||||
+pmp_region_5=X:0,W:0,R:0
|
||||
+pmp_region_6=X:0,W:0,R:0
|
||||
+pmp_region_7=X:0,W:0,R:0
|
||||
+pmp_region_8=X:0,W:0,R:0
|
||||
+pmp_region_9=X:0,W:0,R:0
|
||||
+pmp_region_10=X:0,W:0,R:0
|
||||
+pmp_region_11=X:0,W:0,R:0
|
||||
+pmp_region_12=X:0,W:0,R:0
|
||||
+pmp_region_13=X:0,W:0,R:0
|
||||
+pmp_region_14=X:0,W:0,R:0
|
||||
+pmp_region_15=X:0,W:0,R:0
|
||||
rtl_test: core_ibex_base_test
|
||||
|
||||
- test: riscv_pmp_out_of_bounds_test
|
||||
desc: >
|
||||
Default PMP settings - enable all regions with full permissions.
|
||||
Randomize mstatus.mprv and the boot mode.
|
||||
Insert streams of memory instructions that access addresses out of PMP boundaries.
|
||||
iterations: 25
|
||||
gen_test: riscv_rand_instr_test
|
||||
gen_opts: >
|
||||
+instr_cnt=6000
|
||||
+pmp_max_offset=00024000
|
||||
+directed_instr_0=riscv_load_store_rand_addr_instr_stream,50
|
||||
rtl_test: core_ibex_base_test
|
||||
|
||||
- test: riscv_pmp_full_random_test
|
||||
desc: >
|
||||
Completely randomize the boot mode, mstatus.mprv, and all PMP configuration,
|
||||
and allow PMP regions to overlap.
|
||||
A large number of iterations will be required since this introduces a huge
|
||||
state space of configurations.
|
||||
iterations: 100
|
||||
gen_test: riscv_rand_instr_test
|
||||
gen_opts: >
|
||||
+instr_cnt=6000
|
||||
+pmp_max_offset=00024000
|
||||
+pmp_randomize=1
|
||||
+pmp_allow_addr_overlap=1
|
||||
rtl_test: core_ibex_base_test
|
||||
|
||||
- test: riscv_bitmanip_test
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue