1*** Variables *** 2${UART} sysbus.uart 3${URI} @https://dl.antmicro.com/projects/renode 4 5*** Keywords *** 6Create Machine 7 [Arguments] ${elf} 8 9 Execute Command mach create 10 Execute Command machine LoadPlatformDescription @platforms/cpus/sifive-fe310.repl 11 Execute Command sysbus LoadELF ${URI}/${elf} 12 13Pause At 14 [Arguments] ${address} ${continues}=0 15 16 Execute Command cpu AddHook ${address} "cpu.Pause()" 17 Start Emulation 18 19 FOR ${i} IN RANGE 0 ${continues} 20 Wait For Pause 5 21 Execute Command cpu Step 1 22 Execute Command cpu ExecutionMode Continuous 23 END 24 25 Wait For Pause 5 26 27*** Test Cases *** 28Translate Address Should Fail 29 # Address values are binary dependant 30 Create Machine hifive1_revb--zephyr-shared_mem.elf-s_873884-6c6aac93b93d8faf8d747eeaaa6fa1744a1dc1bb 31 32 Execute Command using sysbus 33 34 # This pauses at calling entry in z_thread_entry @ lib/os/thread_entry.c for enc thread 35 Pause At 0x20011be4 continues=2 36 37 ${pa}= Execute Command cpu TranslateAddress 0x80000364 InstructionFetch # would cause page fault 38 Should Contain ${pa} 0xFFFFFFFFFFFFFFFF 39 40 Provides unmapped_address 41 42Translate Address Should Be Able To Map Address 43 Requires unmapped_address 44 45 ${pa}= Execute Command cpu TranslateAddress 0x800100000 InstructionFetch # would not cause page fault 46 Should Contain ${pa} 0x0000000000100000 47 48