Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main

This commit is contained in:
Ross Thompson 2022-10-04 17:38:49 -05:00
commit 3f59ea6b6d
4 changed files with 15 additions and 10 deletions

View File

@ -1 +1 @@
vsim -c -do "do wally-pipelined-batch.do rv32ic arch32i"
vsim -c -do "do wally-pipelined-batch.do rv32gc wally32priv"

View File

@ -1818,7 +1818,8 @@ string imperas32f[] = '{
"rv64i_m/privilege/src/WALLY-trap-sret-01.S",
"rv64i_m/privilege/src/WALLY-trap-u-01.S",
"rv64i_m/privilege/src/WALLY-wfi-01.S",
"rv64i_m/privilege/src/WALLY-endianness-01.S"
"rv64i_m/privilege/src/WALLY-endianness-01.S",
"rv64i_m/privilege/src/WALLY-status-xlen-01.S"
};
string wally64periph[] = '{
@ -1896,7 +1897,8 @@ string imperas32f[] = '{
"rv32i_m/privilege/src/WALLY-trap-s-01.S",
"rv32i_m/privilege/src/WALLY-trap-sret-01.S",
"rv32i_m/privilege/src/WALLY-trap-u-01.S",
"rv32i_m/privilege/src/WALLY-wfi-01.S"
"rv32i_m/privilege/src/WALLY-wfi-01.S",
"rv32i_m/privilege/src/WALLY-endianness-01.S"
};
string wally32periph[] = '{

View File

@ -58,7 +58,7 @@ addi t1, t1, 4
addi a6, a6, 4
li x28, 0x20
csrs mstatush, x28 // turn on big endianness for M mode
csrs 0x310, x28 // turn on big endianness for M mode // using '0x310' instead of mstatush because GCC doesn't recognize just mstatush
// M mode Big endianness tests
// In big endian modes, all values are sign extended to the right, rather than left
@ -83,7 +83,7 @@ addi t1, t1, 4
addi a6, a6, 4
li x28, 0x20
csrc mstatush, x28 // Turn off big endianness for M mode before going into the trap handler
csrc 0x310, x28 // Turn off big endianness for M mode before going into the trap handler // using '0x310' instead of mstatush because GCC doesn't recognize just mstatush
GOTO_S_MODE
@ -91,7 +91,7 @@ GOTO_S_MODE
li x28, 0xAABBCCDD
li x29, 0x8000F000
sd x28, 0(x29) // value stored in memory as 0xAABBCCDD
sw x28, 0(x29) // value stored in memory as 0xAABBCCDD
lw x30, 0(x29) // test load word, should read out 0xAABBCCDD
sw x30, 0(t1) // test store word, should save 0xAABBCCDD
@ -111,7 +111,7 @@ addi a6, a6, 4
GOTO_M_MODE // Go back to M mode to be able to toggle SBE bit of mstatus
li x28, 0x10
csrs mstatush, x28 // turn on big endianness for S mode
csrs 0x310, x28 // turn on big endianness for S mode // using '0x310' instead of mstatush because GCC doesn't recognize just mstatush
GOTO_S_MODE
@ -119,7 +119,7 @@ GOTO_S_MODE
li x28, 0xAABBCCDD
li x29, 0x8000F000
sd x28, 0(x29) // value stored in memory as 0xDDCCBBAA
sw x28, 0(x29) // value stored in memory as 0xDDCCBBAA
lw x30, 0(x29) // test load word, should read out 0xAABBCCDD
sw x30, 0(t1) // test store word, should save 0xDDCCBBAA
@ -142,7 +142,7 @@ GOTO_U_MODE
li x28, 0xAABBCCDD
li x29, 0x8000F000
sd x28, 0(x29) // value stored in memory as 0xAABBCCDD
sw x28, 0(x29) // value stored in memory as 0xAABBCCDD
lw x30, 0(x29) // test load word, should read out 0xAABBCCDD
sw x30, 0(t1) // test store word, should save 0xAABBCCDD
@ -170,7 +170,7 @@ GOTO_U_MODE
li x28, 0xAABBCCDD
li x29, 0x8000F000
sd x28, 0(x29) // value stored in memory as 0xDDCCBBAA
sw x28, 0(x29) // value stored in memory as 0xDDCCBBAA
lw x30, 0(x29) // test load word, should read out 0xAABBCCDD
sw x30, 0(t1) // test store word, should save 0xDDCCBBAA
@ -187,6 +187,9 @@ sb x30, 0(t1) // test store byte, should save 0xAA
addi t1, t1, 4
addi a6, a6, 4
//store_location:
//.fill
END_TESTS
TEST_STACK_AND_DATA