Testsuite very dedicated to privilege and security features in the HART.
For more information about the bash front-end flow:
./run.sh -h
Basic test to ensure we can move back and forth the modes and manage correctly ecall/mret and execute a basic program. It also checks the error management if u-mode runtime tries to use m-mode instructions or tries to access CSR registers reserved to m-mode
Generate interrupts and manage them. Check U-mode move back M-mode to handle the interrupt. Check WFI is correctly supported by U-mode.
Checks the three memory region types and tries access across the region and out of its boundaries
Configure PMP and check permissions are correctly followed by the mpu and control/memfy units with U-mode
Checks machine mode experience access fault on MPRV or locked region
Checks user mode can access or not cycle / time / instret counters based on MCOUNTEREN CSR