forked from Github_Repos/cvw
added tests for pmppriority module
This commit is contained in:
parent
da8c6f8266
commit
c0cbd0fd2a
@ -63,7 +63,8 @@ string tvpaths[] = '{
|
||||
"pmp",
|
||||
"pmpcfg",
|
||||
"pmpcfg1",
|
||||
"pmpcfg2"
|
||||
"pmpcfg2",
|
||||
"pmppriority"
|
||||
};
|
||||
|
||||
string coremark[] = '{
|
||||
|
161
tests/coverage/pmppriority.S
Normal file
161
tests/coverage/pmppriority.S
Normal file
@ -0,0 +1,161 @@
|
||||
// pmppriority test cases
|
||||
// Kevin Wan kewan@hmc.edu 4/27/2023
|
||||
// want memory ranges to match:
|
||||
// 1. only the most significant address and none of the lower ones,
|
||||
// 2. the most significant address and ANY of the lower ones.
|
||||
|
||||
|
||||
|
||||
#include "WALLY-init-lib.h"
|
||||
main:
|
||||
|
||||
li t1, 0x21FFFFFF // start at 0x8000000 with a range of 1000000. Address format is set to NAPOT in pmpcfg.
|
||||
csrw pmpaddr0, t1
|
||||
csrw pmpaddr1, t1
|
||||
csrw pmpaddr2, t1
|
||||
csrw pmpaddr3, t1
|
||||
csrw pmpaddr4, t1
|
||||
csrw pmpaddr5, t1
|
||||
csrw pmpaddr6, t1
|
||||
csrw pmpaddr7, t1
|
||||
|
||||
csrw pmpaddr8, t1
|
||||
csrw pmpaddr9, t1
|
||||
csrw pmpaddr10, t1
|
||||
csrw pmpaddr11, t1
|
||||
csrw pmpaddr12, t1
|
||||
csrw pmpaddr13, t1
|
||||
csrw pmpaddr14, t1
|
||||
csrw pmpaddr15, t1
|
||||
|
||||
|
||||
li t0, 0x1F
|
||||
csrw pmpcfg0, t0 //set to XWR and NAPOT
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F00
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F0000
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F000000
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F1F
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F00000000
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F1F1F
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F0000000000
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F1F1F1F
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F000000000000
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F1F1F1F1F
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F00000000000000
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F1F1F1F1F1F
|
||||
csrw pmpcfg0, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x0
|
||||
csrw pmpcfg0, t0
|
||||
li t0, 0x1F
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F00
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F0000
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F00000000
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F0000000000
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F000000000000
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F00000000000000
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F1F1F1F1F1F
|
||||
csrw pmpcfg0, t0
|
||||
li t0, 0x1F
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F1F
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F1F1F
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F1F1F1F
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F1F1F1F1F
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
li t0, 0x1F1F1F1F1F1F1F1F
|
||||
csrw pmpcfg2, t0
|
||||
sw zero, 0(sp)
|
||||
|
||||
|
||||
|
||||
j done
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user