*** Variables *** ${URI} @https://dl.antmicro.com/projects/renode ${PLATFORM}= SEPARATOR= ... """ ${\n} ... mem: Memory.MappedMemory @sysbus 0x0 ${\n} ... ${SPACE*4}size: 0x1000 ${\n} ... ${\n} ... cpu: CPU.RiscV32 @ sysbus ${\n} ... ${SPACE*4}cpuType: "rv32imac_zicsr_zifencei" ${\n} ... ${SPACE*4}privilegedArchitecture: PrivilegedArchitecture.Priv1_10 ${\n} ... """ ${\n} *** Keywords *** Create Machine Execute Command using sysbus Execute Command mach create Execute Command machine LoadPlatformDescriptionFromString ${PLATFORM} # Create loop # addi s0, t2, 32 Execute Command sysbus WriteDoubleWord 0x0 0x02038413 # addi s0, t2, 32 Execute Command sysbus WriteDoubleWord 0x4 0x02038413 # j -8 Execute Command sysbus WriteDoubleWord 0x8 0xff9ff06f Execute Command cpu PC 0x0 *** Test Cases *** # This test verifies if Renode can be quickly paused when large quantum is set Should Renode Pause In Short Time With Large Quantum Set # 10 seconds should be enough to pause the emulation [Timeout] 10 seconds Create Machine Execute Command emulation SetGlobalQuantum "1000000" Execute Command start # wait few seconds to created larger difference between virtual and host time Sleep 3s Execute Command pause