diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-MMU-SV39.reference_output b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-MMU-SV39.reference_output index 492379dee..b0f6ca4c7 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-MMU-SV39.reference_output +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-MMU-SV39.reference_output @@ -1,104 +1,104 @@ -0000000b +0000000b # Test 12.3.1.1.3: ecall from going to S mode from M mode 00000000 -beef0000 +beef0000 # 7 read test successes 0000dead -beef0055 +beef0055 # read 2 0880dead -beef0033 +beef0033 # read 3 0990dead -beef0077 +beef0077 # read 4 0110dead -beef0099 +beef0099 # read 5 0220dead -beef0440 +beef0440 # read 6 0330dead -beef0bb0 +beef0bb0 # read 7 0440dead -beef0000 +beef0000 # Test 12.3.1.1.4: 3 read test successes 0000dead -beef0055 +beef0055 # read 2 0880dead -beef0099 +beef0099 # read 3 0220dead -0000000d +0000000d # Test 12.3.1.2.1: 2 read tests with page fault 00000000 00000bad 00000000 -0000000d +0000000d # read 2 00000000 00000bad 00000000 -0000000d +0000000d # Test 12.3.1.2.2: read test with page fault 00000000 00000bad 00000000 -0000000f +0000000f # Test 12.3.1.2.3: write test with page fault 00000000 -0000000d +0000000d # Test 12.3.1.2.4: read test with page fault 00000000 00000bad 00000000 -0000000d +0000000d # Test 12.3.1.2.5: 2 read tests with page faults 00000000 00000bad 00000000 -0000000d +0000000d # read 2 00000000 00000bad 00000000 -00000111 +00000111 # Test 12.3.1.3.1: execute test success 00000000 -00000009 +00000009 # ecall from going to U mode from S mode 00000000 -0000000d +0000000d # read test with page fault 00000000 00000bad 00000000 -0000000c +0000000c # execute test with page fault 00000000 00000bad 00000000 -beef0033 +beef0033 # Test 12.3.1.3.2: read test success 0990dead -00000008 +00000008 # ecall from going to S mode from U mode 00000000 -beef0077 +beef0077 # read test success 0110dead -0000000c +0000000c # execute test with page fault 00000000 00000bad 00000000 -0000000d +0000000d # read test with page fault 00000000 00000bad 00000000 -0000000d +0000000d # Test 12.3.1.3.3: read test with page fault 00000000 00000bad 00000000 -beef0440 +beef0440 # read test success 0330dead -beef0110 +beef0110 # Test 12.3.1.3.4: read test success 0440dead -0000000f +0000000f # write test with page fault 00000000 -0000000c +0000000c # Test 12.3.1.3.5: execute test with page fault 00000000 00000bad 00000000 -0000000f +0000000f # Test 12.3.1.3.6: write test with page fault 00000000 -0000000d +0000000d # read test with page fault 00000000 00000bad 00000000 -0000000f +0000000f # Test 12.3.1.3.7: write test with page fault 00000000 -beef0bb0 +beef0bb0 # read test success 0440dead -00000009 +00000009 # ecall from test termination from S mode 00000000 -deadbeef +deadbeef # rest of the output space deadbeef deadbeef deadbeef diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-MMU-SV48.reference_output b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-MMU-SV48.reference_output index 68a13c253..1d4ff8e33 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-MMU-SV48.reference_output +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-MMU-SV48.reference_output @@ -1,112 +1,112 @@ -0000000b +0000000b # Test 12.3.1.1.3: ecall from going to S mode from M mode 00000000 -beef0cc0 +beef0cc0 # 8 read test successes 0ee0dead -beef0000 +beef0000 # read 2 0000dead -beef0055 +beef0055 # read 3 0880dead -beef0033 +beef0033 # read 4 0990dead -beef0077 +beef0077 # read 5 0110dead -beef0099 +beef0099 # read 6 0220dead -beef0440 +beef0440 # read 7 0330dead -beef0bb0 +beef0bb0 # read 8 0440dead -beef0cc0 +beef0cc0 # Test 12.3.1.1.4: 4 read test successes 0ee0dead -beef0000 +beef0000 # read 2 0000dead -beef0055 +beef0055 # read 3 0880dead -beef0099 +beef0099 # read 4 0220dead -0000000d +0000000d # Test 12.3.1.2.1: 2 read tests with page fault 00000000 00000bad 00000000 -0000000d +0000000d # read 2 00000000 00000bad 00000000 -0000000d +0000000d # Test 12.3.1.2.2: read test with page fault 00000000 00000bad 00000000 -0000000f +0000000f # Test 12.3.1.2.3: write test with page fault 00000000 -0000000d +0000000d # Test 12.3.1.2.4: read test with page fault 00000000 00000bad 00000000 -0000000d +0000000d # Test 12.3.1.2.5: 3 read tests with page fault 00000000 00000bad 00000000 -0000000d +0000000d # read 2 00000000 00000bad 00000000 -0000000d +0000000d # read 3 00000000 00000bad 00000000 -00000111 +00000111 # Test 12.3.1.3.1: Execute test success 00000000 -00000009 +00000009 # ecall from going to U mode from S mode 00000000 -0000000d +0000000d # read test with page fault 00000000 00000bad 00000000 -0000000c +0000000c # execute test with page fault 00000000 00000bad 00000000 -beef0033 +beef0033 # Test 12.3.1.3.2: read test success 0990dead -00000008 +00000008 # ecall from going to S mode from U mode 00000000 -beef0077 +beef0077 # read test success 0110dead -0000000c +0000000c # execute test with page fault 00000000 00000bad 00000000 -0000000d +0000000d # read test with page fault` 00000000 00000bad 00000000 -0000000d +0000000d # Test 12.3.1.3.3: read test with page fault 00000000 00000bad 00000000 -beef0440 +beef0440 # read test success 0330dead -beef0110 +beef0110 # Test 12.3.1.3.4: read test success 0440dead -0000000f +0000000f # write test with page fault 00000000 -0000000c +0000000c # Test 12.3.1.3.5: executable test with page fault 00000000 00000bad 00000000 -0000000f +0000000f # Test 12.3.1.3.6: write test with page fault 00000000 -0000000d +0000000d # read test with page fault 00000000 00000bad 00000000 -0000000f +0000000f # Test 12.3.1.3.7: write test with page fault 00000000 -beef0bb0 +beef0bb0 # read test success 0440dead -00000009 +00000009 # ecall from test termination in S mode. 00000000 -deadbeef +deadbeef # rest of the output space deadbeef deadbeef deadbeef diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-PMA.reference_output b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-PMA.reference_output index 7ba4cff92..c8a68e8e2 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-PMA.reference_output +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-PMA.reference_output @@ -1,148 +1,148 @@ -beef00b4 -0000dead -beef00b5 +beef00b4 # Test 12.3.2.1: read 64 bits success in CLINT +0000dead # all of these read successes are also confirming successful writes +beef00b5 # read 32 bits success in CLINT (sign extended) ffffffff -000000b6 +000000b6 # read 16 bits success in CLINT 00000000 -ffffffb7 +ffffffb7 # read 8 bits success in CLINT (sign extended) ffffffff -00000001 +00000001 # execute test with access fault in CLINT 00000000 00000bad 00000000 -00000007 +00000007 # write 64 bits with access fault in PLIC 00000000 -00000005 +00000005 # read 64 bits with access fault in PLIC 00000000 00000bad 00000000 -00000002 +00000002 # read 32 bits success in PLIC (confriming 32 bit write) 00000000 -00000007 +00000007 # write 16 bits with access fault in PLIC 00000000 -00000005 +00000005 # read 16 bits with access fault in PLIC 00000000 00000bad 00000000 -00000007 +00000007 # write 8 bits with access fault in PLIC 00000000 -00000005 +00000005 # read 8 bits with access fault in PLIC 00000000 00000bad 00000000 -00000001 +00000001 # execute test with access fault in PLIC 00000000 00000bad 00000000 -00000007 +00000007 # write 64 bits with access fault in UART 00000000 -00000005 +00000005 # read 64 bits with access fault in UART 00000000 00000bad 00000000 -00000007 +00000007 # write 32 bits with access fault in UART 00000000 -00000005 +00000005 # read 32 bits with access fault in UART 00000000 00000bad 00000000 -00000007 +00000007 # write 16 bits with access fault in UART 00000000 -00000005 +00000005 # read 16 bits with access fault in UART 00000000 00000bad 00000000 -ffffffbf +ffffffbf # read 8 bits success in UART (confirming 8 bit write) ffffffff -00000001 +00000001 # execute test with access fault in UART 00000000 00000bad 00000000 -00000007 +00000007 # write 64 bits with access fault in GPIO 00000000 -00000005 +00000005 # read 64 bits with access fault in GPIO 00000000 00000bad 00000000 -beef00c1 +beef00c1 # read 32 bits success in GPIO (confirming 32 bit write) ffffffff -00000007 +00000007 # write 16 bits with access fault in GPIO 00000000 -00000005 +00000005 # read 16 bits with access fault in GPIO 00000000 00000bad 00000000 -00000007 +00000007 # write 8 bits with access fault in GPIO 00000000 -00000005 +00000005 # read 8 bits with access fault in GPIO 00000000 00000bad 00000000 -00000001 +00000001 # execute test with access fault in GPIO 00000000 00000bad 00000000 -00000007 +00000007 # write test with access fault in random memory location 00000000 -00000005 +00000005 # read test with access fault in random memory location 00000000 00000bad 00000000 -00000001 +00000001 # execute test with access fault in random memory location 00000000 00000bad 00000000 -00000007 +00000007 # write test with access fault just after BOOTROM 00000000 -00000005 +00000005 # read test with access fault just after BOOTROM 00000000 00000bad 00000000 -00000001 +00000001 # execute test with access fault just after BOOTROM 00000000 00000bad 00000000 -00000007 +00000007 # write test with access fault just after CLINT 00000000 -00000005 +00000005 # read test with access fault just after CLINT 00000000 00000bad 00000000 -00000001 +00000001 # execute test with access fault just after CLINT 00000000 00000bad 00000000 -00000007 +00000007 # write test with access fault just after PLIC 00000000 -00000005 +00000005 # read test with access fault just after PLIC 00000000 00000bad 00000000 -00000001 +00000001 # execute test with access fault just after PLIC 00000000 00000bad 00000000 -00000007 +00000007 # write test with access fault just after UART 00000000 -00000005 +00000005 # read test with access fault just after UART 00000000 00000bad 00000000 -00000001 +00000001 # execute test with access fault just after UART 00000000 00000bad 00000000 -00000007 +00000007 # write test with access fault just after GPIO 00000000 -00000005 +00000005 # read test with access fault just after GPIO 00000000 00000bad 00000000 -00000001 +00000001 # execute test with access fault just after GPIO 00000000 00000bad 00000000 -0000000b +0000000b # ecall from terminating tests in M mode 00000000 deadbeef deadbeef diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-PMP.reference_output b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-PMP.reference_output index 931f8a160..ea5a0cb18 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-PMP.reference_output +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-PMP.reference_output @@ -1,58 +1,58 @@ -0fffffff +0fffffff # Test 12.3.2.2.1: writeback of value written to PMPADDR0 +00000000 +20040000 # writeback of value written to PMPADDR1 00000000 -20040000 +2004003f # writeback of value written to PMPADDR2 00000000 -2004003f +20040080 # writeback of value written to PMPADDR3 00000000 -20040080 +20040084 # writeback of value written to PMPADDR4 00000000 -20040084 +200400c0 # writeback of value written to PMPADDR5 00000000 -200400c0 +2004013f # writeback of value written to PMPADDR6 00000000 -2004013f +2fffffff # writeback of value written to PMPADDR15 00000000 -2fffffff -00000000 -0009001f +0009001f # writeback of value written to PMPCFG0 0018900c -00000000 +00000000 # writeback of value written to PMPCFG2 1f000000 -0009001f +0009001f # old value of PMPCFG0 after failed write to locked out region 0018900c -200400c0 +200400c0 # old value of PMPADDR5 after failed write to locked out region 00000000 -00000005 +00000005 # Test 12.3.2.2.2: read test with access fault to region with L=1, R=0 00000000 00000bad 00000000 -00600dbb +00600dbb # read test success from region with L=X=W=R=0 00000000 -0000000b +0000000b # Test 12.3.2.2.3: ecall from going to S mode from M mode 00000000 -00600d15 +00600d15 # read test success from RW range (confirming previous write) 00000000 -00600d02 +00600d02 # read test success from outside the edge of a read only range 00000000 -00600d12 +00600d12 # read test success from outside the other edge of a read only range 00000000 -00000007 +00000007 # write test with access fault in read only range 00000000 -00600daa +00600daa # read success from read only range 00000000 -00000007 +00000007 # write test with access fault in no-access range 00000000 -00000005 +00000005 # read test with access fault in no-access range 00000000 00000bad 00000000 -00000001 +00000001 # execute test with access fault in no-execute range 00000000 00000bad 00000000 -00000111 +00000111 # execute sucess when X=1 00000000 -00000009 +00000009 # ecall from terminating tests in S mode 00000000 deadbeef deadbeef diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-minfo-01.reference_output b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-minfo-01.reference_output index 880d5dc82..e37c37626 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-minfo-01.reference_output +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-minfo-01.reference_output @@ -1,20 +1,20 @@ -00000002 +00000002 # Test 5.2.3.1: write to read-only CSR failed with illegal instruction 00000000 -00000011 +00000011 # confirm read-only permissions of mvendorid 00000000 -00000002 +00000002 # write to read-only CSR failed with illegal instruction 00000000 -00000011 +00000011 # confirm read-only permissions of marchid 00000000 -00000002 +00000002 # write to read-only CSR failed with illegal instruction 00000000 -00000011 +00000011 # confirm read-only permissions of mimpid 00000000 -00000002 +00000002 # write to read-only CSR failed with illegal instruction 00000000 -00000011 +00000011 # confirm read-only permissions of mhartid 00000000 -0000000b +0000000b # ecall from terminating tests in M mode 00000000 deadbeef deadbeef