blob: 1a354e0f19fb322a85ba3a3a0465117c2da6e625 [file] [log] [blame]
*** 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