*** 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