From 418ae0decc55038b65f8ed4a9da607db87c82b0b Mon Sep 17 00:00:00 2001 From: Rose Thompson Date: Tue, 19 Dec 2023 14:18:21 -0600 Subject: [PATCH] Fixed some regression tests with David's help. --- .../references/WALLY-mmu-sv32-svadu-01.reference_output | 2 +- .../rv32i_m/privilege/src/WALLY-mmu-sv32-svadu-01.S | 1 + .../WALLY-mmu-sv39-svadu-svnapot-svpbmt-01.reference_output | 4 ++-- .../privilege/src/WALLY-mmu-sv39-svadu-svnapot-svpbmt-01.S | 4 ++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-mmu-sv32-svadu-01.reference_output b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-mmu-sv32-svadu-01.reference_output index d0485cba3..1f6ccbd2c 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-mmu-sv32-svadu-01.reference_output +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-mmu-sv32-svadu-01.reference_output @@ -39,7 +39,7 @@ beef0110 0000000d # Test 11.3.1.3.6(a) page fault on read when A = 0 00000bad 0000000f # Test 11.3.1.3.7(a) page fault on write when D = 0 -deadbeef # Test 11.3.1.3.7(a) successful read when D = 0 +12345678 # Test 11.3.1.3.7(a) successful read when D = 0 00000009 # call from going to m mode from s mode 0000000b # ecall from going to S mode from m mode beef0770 # Test 11.3.1.3.6: check successful read/write when A=0 and MENVCFG.ADUE=1 diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-mmu-sv32-svadu-01.S b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-mmu-sv32-svadu-01.S index 400d34760..f4c30a8e6 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-mmu-sv32-svadu-01.S +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-mmu-sv32-svadu-01.S @@ -88,6 +88,7 @@ test_cases: .4byte 0x80805EA0, 0xBEEF0440, write32_test # 11.3.1.3.3 .4byte 0x8000FFA0, 0x11100393, write32_test # write executable code for "li x7, 0x111; ret" to executable region. .4byte 0x8000FFA4, 0x00008067, write32_test # Used for 11.3.1.3.1, 11.3.1.3.2 +.4byte 0x80803658, 0x12345678, write32_test # initialize memory for 11.3.1.3.7(a) # test 11.3.1.1.3 read values back from Paddrs without translation (this also verifies the previous test) .4byte 0x0, 0x0, goto_baremetal # satp.MODE = baremetal / no translation. diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-mmu-sv39-svadu-svnapot-svpbmt-01.reference_output b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-mmu-sv39-svadu-svnapot-svpbmt-01.reference_output index ca5c4d38f..ce5c4cc3a 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-mmu-sv39-svadu-svnapot-svpbmt-01.reference_output +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-mmu-sv39-svadu-svnapot-svpbmt-01.reference_output @@ -92,8 +92,8 @@ beef0110 # Test 11.3.1.3.4: read test success 00000000 0000000f # Test 11.3.1.3.7(a): write test with page fault 00000000 -deadbeef # read test success but nothing was written so read back default -deadbeef +beef0991 # read test success but nothing was written so read back default +0880dead 00000009 # ecall from going to M mode from S mode 00000000 0000000B # ecall from going to S mode from M mode diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/src/WALLY-mmu-sv39-svadu-svnapot-svpbmt-01.S b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/src/WALLY-mmu-sv39-svadu-svnapot-svpbmt-01.S index 0c4786729..56d36aa6a 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/src/WALLY-mmu-sv39-svadu-svnapot-svpbmt-01.S +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/src/WALLY-mmu-sv39-svadu-svnapot-svpbmt-01.S @@ -124,6 +124,10 @@ test_cases: .8byte 0x84212348, 0x0330DEADBEEF0440, write64_test # 11.3.1.3.3 .8byte 0x8020A400, 0x0550DEADBEEF0660, write64_test # 11.3.1.3.9 .8byte 0x80205000, 0x0770DEADBEEF0880, write64_test # 11.3.1.2.2 junk in memory location corresponding to invalid page + +#.8byte 0x800ffab8, 0x0880deadbeef0990, write64_test # 11.3.1.1.4 +.8byte 0x80203aa0, 0x0880deadbeef0991, write64_test # 11.3.1.3.7(a) +#.8byte 0x80205000, 0x0770DEADBEEF0880, write64_test # 11.3.1.2.2 junk in memory location corresponding to invalid page # test 11.3.1.1.3 read values back from Paddrs without translation (this also verifies the previous test) .8byte 0x0, 0x0, goto_baremetal# satp.MODE = baremetal / no translation.