forked from Github_Repos/cvw
Changed PMA tests to only allow native length accesses to CLINT
This commit is contained in:
parent
0715c62de5
commit
f14acac1bf
@ -1,6 +1,10 @@
|
||||
beef00b5
|
||||
000000b6
|
||||
ffffffb7
|
||||
00000007 # write access fault with 16 bit write to CLINT
|
||||
00000005 # read access fault with 16 bit write to CLINT
|
||||
00000bad
|
||||
00000007 # write access fault with 8 bit write to CLINT
|
||||
00000005 # read access fault with 8 bit write to CLINT
|
||||
00000bad
|
||||
00000001
|
||||
00000bad
|
||||
00000002
|
||||
@ -1018,7 +1022,3 @@ deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
|
@ -66,7 +66,7 @@ test_cases:
|
||||
|
||||
# | Region | Base Address | Read widths | R | W | X | Cacheable | Idempotent | Atomic |
|
||||
# | ROM | 0x1000 | Any | YES | NO | YES | YES | NO | NO |
|
||||
# | CLINT | 0x2000000 | Any | YES | YES | NO | NO | NO | NO |
|
||||
# | CLINT | 0x2000000 | 32-bit | YES | YES | NO | NO | NO | NO |
|
||||
# | PLIC | 0xC000000 | 32-bit | YES | YES | NO | NO | NO | NO |
|
||||
# | UART0 | 0x10000000 | 8-bit | YES | YES | NO | NO | NO | NO |
|
||||
# | GPIO | 0x1012000 | 32-bit | YES | YES | NO | NO | NO | NO |
|
||||
@ -82,10 +82,10 @@ test_cases:
|
||||
# Use timecmp register as readable and writable section of the CLINT
|
||||
.4byte CLINT_BASE + 0x4000, 0xBEEF00B5, write32_test # 32-bit write: success
|
||||
.4byte CLINT_BASE + 0x4000, 0xBEEF00B5, read32_test # 32-bit read: success
|
||||
.4byte CLINT_BASE + 0x4000, 0xBEEF00B6, write16_test# 16-bit write: success
|
||||
.4byte CLINT_BASE + 0x4000, 0xBEEF00B6, read16_test# 16-bit read: success
|
||||
.4byte CLINT_BASE + 0x4000, 0xBEEF00B7, write08_test# 08-bit write: success
|
||||
.4byte CLINT_BASE + 0x4000, 0xBEEF00B7, read08_test# 08-bit read: success
|
||||
.4byte CLINT_BASE + 0x4000, 0xBEEF00B6, write16_test# 16-bit write: failure *** Due to non-native access length in CLINT
|
||||
.4byte CLINT_BASE + 0x4000, 0xBEEF00B6, read16_test# 16-bit read: failure
|
||||
.4byte CLINT_BASE + 0x4000, 0xBEEF00B7, write08_test# 08-bit write: failure
|
||||
.4byte CLINT_BASE + 0x4000, 0xBEEF00B7, read08_test# 08-bit read: failure
|
||||
|
||||
.4byte CLINT_BASE, 0xbad, executable_test# execute: instruction access fault
|
||||
|
||||
|
@ -1,11 +1,23 @@
|
||||
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 # read 16 bits success in CLINT
|
||||
00000007 # write 32 bits with access fault in CLINT
|
||||
00000000
|
||||
00000005 # read 32 bits with access fault in CLINT
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000007 # write 16 bits with access fault in CLINT
|
||||
00000000
|
||||
00000005 # read 16 bits with access fault in CLINT
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
00000007 # write 8 bits with access fault in CLINT
|
||||
00000000
|
||||
00000005 # read 8 bits with access fault in CLINT
|
||||
00000000
|
||||
00000bad
|
||||
00000000
|
||||
ffffffb7 # read 8 bits success in CLINT (sign extended)
|
||||
ffffffff
|
||||
00000001 # execute test with access fault in CLINT
|
||||
00000000
|
||||
00000bad
|
||||
@ -1010,15 +1022,3 @@ deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
deadbeef
|
||||
|
@ -69,7 +69,7 @@ test_cases:
|
||||
|
||||
# | Region | Base Address | Read widths | R | W | X | Cacheable | Idempotent | Atomic |
|
||||
# | ROM | 0x1000 | Any | YES | NO | YES | YES | NO | NO |
|
||||
# | CLINT | 0x2000000 | Any | YES | YES | NO | NO | NO | NO |
|
||||
# | CLINT | 0x2000000 | 64-bit | YES | YES | NO | NO | NO | NO |
|
||||
# | PLIC | 0xC000000 | 32-bit | YES | YES | NO | NO | NO | NO |
|
||||
# | UART0 | 0x10000000 | 8-bit | YES | YES | NO | NO | NO | NO |
|
||||
# | GPIO | 0x1012000 | 32-bit | YES | YES | NO | NO | NO | NO |
|
||||
@ -85,12 +85,12 @@ test_cases:
|
||||
# Use timecmp register as readable and writable section of the CLINT
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B4, write64_test # 64-bit write: success
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B4, read64_test # 64-bit read: success
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B5, write32_test # 32-bit write: success
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B5, read32_test # 32-bit read: success
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B6, write16_test # 16-bit write: success
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B6, read16_test # 16-bit read: success
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B7, write08_test # 08-bit write: success
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B7, read08_test # 08-bit read: success
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B5, write32_test # 32-bit write: failure *** due to non-native length access
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B5, read32_test # 32-bit read: failure
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B6, write16_test # 16-bit write: failure
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B6, read16_test # 16-bit read: failure
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B7, write08_test # 08-bit write: failure
|
||||
.8byte CLINT_BASE + 0x4000, 0x0000DEADBEEF00B7, read08_test # 08-bit read: failure
|
||||
|
||||
.8byte CLINT_BASE, 0xbad, executable_test# execute: instruction access fault
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user