44 lines
1.8 KiB
Plaintext
44 lines
1.8 KiB
Plaintext
|
|
*** Variables ***
|
||
|
|
${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
|
||
|
|
|
||
|
|
Should Pause In Reasonable Time
|
||
|
|
# This should finish much quicker. This value is set to account for high loads in the CI
|
||
|
|
[Timeout] 3 seconds
|
||
|
|
Execute Command pause
|
||
|
|
|
||
|
|
*** 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
|
||
|
|
Create Machine
|
||
|
|
|
||
|
|
Execute Command emulation SetGlobalQuantum "1000000"
|
||
|
|
Execute Command start
|
||
|
|
# wait few seconds to created larger difference between virtual and host time
|
||
|
|
Sleep 3s
|
||
|
|
Should Pause In Reasonable Time
|