Merge pull request #257 from koooo142857/main

PMPCFG_ARRAY_REGW cases
This commit is contained in:
David Harris 2023-04-19 04:47:12 -07:00 committed by GitHub
commit 2beb32e6b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 92 additions and 0 deletions

View File

@ -53,6 +53,10 @@ string tvpaths[] = '{
"lsu",
"vm64check",
"pmp",
"pmpcfg",
"pmpcfg1",
"pmpcfg2",
"tlbKP",
"ifuCamlineWrite"
};

39
tests/coverage/pmpcfg.S Normal file
View File

@ -0,0 +1,39 @@
// pmpcfg part 1
// Kevin Wan, kewan@hmc.edu, 4/18/2023
// locks each pmpXcfg bit field in order, from X = 15 to X = 0, with the A[1:0] field set to TOR.
// See the next part in pmpcfg1.S
#include "WALLY-init-lib.h"
main:
li t0, 0x8800000000000000
csrw pmpcfg2, t0
li t0, 0x88000000000000
csrw pmpcfg2, t0
li t0, 0x880000000000
csrw pmpcfg2, t0
li t0, 0x8800000000
csrw pmpcfg2, t0
li t0, 0x88000000
csrw pmpcfg2, t0
li t0, 0x880000
csrw pmpcfg2, t0
li t0, 0x8800
csrw pmpcfg2, t0
li t0, 0x88
csrw pmpcfg2, t0
li t0, 0x8800000000000000
csrw pmpcfg0, t0
li t0, 0x88000000000000
csrw pmpcfg0, t0
li t0, 0x880000000000
csrw pmpcfg0, t0
li t0, 0x8800000000
csrw pmpcfg0, t0
li t0, 0x88000000
csrw pmpcfg0, t0
li t0, 0x880000
csrw pmpcfg0, t0
li t0, 0x8800
csrw pmpcfg0, t0
j done

48
tests/coverage/pmpcfg1.S Normal file
View File

@ -0,0 +1,48 @@
// another set of pmpcfg tests. A new file is made because pmpcfg register fields are
// locked forever after writing 1 to the lock bit for the first time.
// Kevin Wan, kewan@hmc.edu, 4/13/2023
// This set tests locking the pmpXcfg fields in descending order again, without setting the TOR bits.
// for the other part of the tests, see pmpcfg.S
#include "WALLY-init-lib.h"
main:
li t0, 0x800
csrw pmpcfg0, t0
li t0, 0x8000000
csrw pmpcfg0, t0
li t0, 0x8000000000000000
csrw pmpcfg2, t0
li t0, 0x80000000000000
csrw pmpcfg2, t0
li t0, 0x800000000000
csrw pmpcfg2, t0
li t0, 0x8000000000
csrw pmpcfg2, t0
li t0, 0x80000000
csrw pmpcfg2, t0
li t0, 0x800000
csrw pmpcfg2, t0
li t0, 0x8000
csrw pmpcfg2, t0
li t0, 0x80
csrw pmpcfg2, t0
li t0, 0x8000000000000000
csrw pmpcfg0, t0
li t0, 0x80000000000000
csrw pmpcfg0, t0
li t0, 0x800000000000
csrw pmpcfg0, t0
li t0, 0x8000000000
csrw pmpcfg0, t0
li t0, 0x80000000
csrw pmpcfg0, t0
li t0, 0x800000
csrw pmpcfg0, t0
li t0, 0x8000
csrw pmpcfg0, t0
j done

View File

@ -189,6 +189,7 @@ main:
li t1, -1
csrw mcounteren, t1
# Go to supervisor mode
li a0, 1
ecall