blob: 5c42e83e8bd0eb3c2b370f5cf55bd87f912d702e [file] [log] [blame]
*** Variables ***
${UART} sysbus.mmuart0
${SCRIPT} ${CURDIR}/../../scripts/single-node/polarfire-soc.resc
*** Keywords ***
Prepare Machine
Execute Command mach create
Execute Command machine LoadPlatformDescription @platforms/cpus/polarfire-soc.repl
Execute Command sysbus LoadELF ${binary}
Run Should Ignore Writing Other Values Test
[Arguments] ${path}
Execute Command $bin = ${path}
Execute Script ${SCRIPT}
Execute Command machine SetSerialExecution True
Create Terminal Tester ${UART}
Start Emulation
Wait For Line On Uart The system will reset after WD0 Times out.
Wait For Line On Uart H0 MVRP PLIC
Wait For Line On Uart H0 timeout PLIC
Wait For Line On Uart The system will reset after WD0 Times out.
*** Test Cases ***
Should Fire NMI When Writing Any Value Into Forbidden Region When Forbidden Region Is Enabled
Execute Command $bin = @https://dl.antmicro.com/projects/renode/mpfs-watchdog-interrupt_case-a.elf-s_3353960-dd65a2a6d435d49509523cf68058af7027c69f02
Execute Script ${SCRIPT}
Execute Command machine SetSerialExecution True
Create Terminal Tester ${UART}
Create Log Tester 0
Execute Command logLevel -1
Start Emulation
Wait For Line On Uart The system will reset after WD0 Times out.
Wait For Line On Uart H0 timeout PLIC
Wait For Line On Uart The system will reset after WD0 Times out.
Should Not Be In Log Switching state to RefreshRegion.
Should Not Be In Log Refreshing watchdog.
Should Refresh Watchdog By Writing Refresh Key Into Refresh Region When Forbidden Region Is Enabled
Execute Command $bin = @https://dl.antmicro.com/projects/renode/mpfs-watchdog-interrupt_case-b.elf-s_3353976-d0a8861250d15dbba1e25fb51797e72f82460453
Execute Script ${SCRIPT}
Execute Command machine SetSerialExecution True
Create Terminal Tester ${UART}
Create Log Tester 0
Execute Command logLevel -1
Start Emulation
Wait For Line On Uart The system will reset after WD0 Times out.
Wait For Line On Uart H0 MVRP PLIC
Wait For Line On Uart H0 MVRP Local
Should Not Be In Log Watchdog reset triggered!
Should Ignore Writing Other Values Into Refresh Region When Forbidden Region Is Enabled
Execute Command $bin = @https://dl.antmicro.com/projects/renode/mpfs-watchdog-interrupt_case-c.elf-s_3353976-2227f483cde453795dad468e3913e1a9a8dde7dc
Execute Script ${SCRIPT}
Execute Command machine SetSerialExecution True
Create Terminal Tester ${UART}
Create Log Tester 0
Execute Command logLevel -1
Start Emulation
Wait For Line On Uart The system will reset after WD0 Times out.
Wait For Line On Uart H0 MVRP PLIC
Wait For Line On Uart H0 timeout PLIC
Should Not Be In Log Refreshing watchdog.
Should Refresh Watchdog By Writing Refresh Key Into Forbidden Region When Forbidden Region Is Disabled
Execute Command $bin = @https://dl.antmicro.com/projects/renode/mpfs-watchdog-interrupt_case-d-forbidden.elf-s_3353960-d197eb0f96c99c4ae244c315875d6d353d2c43ad
Execute Script ${SCRIPT}
Execute Command machine SetSerialExecution True
Create Terminal Tester ${UART}
Create Log Tester 0
Execute Command logLevel -1
Start Emulation
Wait For Line On Uart The system will reset after WD0 Times out.
Wait For Log Entry Switching state to ForbiddenRegion. timeout=3
Should Not Be In Log Switching state to RefreshRegion.
Should Refresh Watchdog By Writing Refresh Key Into Refresh Region When Forbidden Region Is Disabled
Execute Command $bin = @https://dl.antmicro.com/projects/renode/mpfs-watchdog-interrupt_case-d-refresh.elf-s_3353976-f3fd8998a7f9ae641fd786dd36b83b9074189010
Execute Script ${SCRIPT}
Execute Command machine SetSerialExecution True
Create Terminal Tester ${UART}
Create Log Tester 0
Execute Command logLevel -1
Start Emulation
Wait For Line On Uart The system will reset after WD0 Times out.
Wait For Line On Uart H0 MVRP PLIC
Wait For Line On Uart H0 MVRP Local
Wait For Log Entry Refreshing watchdog. timeout=3
Should Not Be In Log Watchdog reset triggered!
Should Ignore Writing Other Values Into Forbidden Region When Forbidden Region Is Disabled
Run Should Ignore Writing Other Values Test @https://dl.antmicro.com/projects/renode/mpfs-watchdog-interrupt_case-e-forbidden.elf-s_3353960-2f4c36d3170f74f57c7b7f18823ad1c6d2f1f0a4
Should Ignore Writing Other Values Into Refresh Region When Forbidden Region Is Disabled
Run Should Ignore Writing Other Values Test @https://dl.antmicro.com/projects/renode/mpfs-watchdog-interrupt_case-e-refresh.elf-s_3353960-c66342498de3d6efc69d0b338fba83322385d77c