仿真平台内核初版 -tlib库 包含<sparc arm riscv powerPC>
This commit is contained in:
82
tests/platforms/ARMv8R-PMSA.robot
Normal file
82
tests/platforms/ARMv8R-PMSA.robot
Normal file
@@ -0,0 +1,82 @@
|
||||
********************************** Variables **********************************
|
||||
|
||||
${URI} @https://dl.antmicro.com/projects/renode
|
||||
|
||||
${MEM_PROTECT_BINARY} ${URI}/zephyr_tests_kernel_mem_protect_mem_protect_fvp_baser_aemv8r_aarch32.elf-s_1588116-5e9567fdd71944d758098fb6078c399703fb8135
|
||||
${PROTECTION_BINARY} ${URI}/zephyr_tests_kernel_mem_protect_protection_fvp_baser_aemv8r_aarch32.elf-s_523044-d3f20216e74913fa258d21404c83282f27d7749b
|
||||
${STACKPROT_BINARY} ${URI}/zephyr_tests_kernel_mem_protect_stackprot_fvp_baser_aemv8r_aarch32.elf-s_1305768-fc659d9da17b27a39236a6fbb914fdad83103409
|
||||
${USERSPACE_BINARY} ${URI}/zephyr_tests_kernel_mem_protect_userspace_fvp_baser_aemv8r_aarch32.elf-s_1418592-34442d722b26aa21e9c62b9dc31db2fba9871837
|
||||
|
||||
${UART} sysbus.uart0
|
||||
|
||||
${NON_DEFAULT_REGION_COUNT} 24
|
||||
|
||||
*********************************** Keywords **********************************
|
||||
Initialize Emulation
|
||||
[Arguments] ${binary} ${region_count}=None
|
||||
|
||||
Execute Command mach create
|
||||
|
||||
IF ${region_count} != None
|
||||
${mpu_regions_string}= Catenate SEPARATOR=\n
|
||||
... """
|
||||
... using "platforms/cpus/cortex-r52.repl"
|
||||
...
|
||||
... cpu:
|
||||
... ${SPACE*4}mpuRegionsCount: ${region_count}
|
||||
... """
|
||||
Execute Command machine LoadPlatformDescriptionFromString ${mpu_regions_string}
|
||||
ELSE
|
||||
Execute Command machine LoadPlatformDescription @platforms/cpus/cortex-r52.repl
|
||||
END
|
||||
|
||||
Execute Command sysbus LoadELF ${binary}
|
||||
Set Default Uart Timeout 1
|
||||
Create Terminal Tester ${UART}
|
||||
|
||||
Run Test
|
||||
[Arguments] ${bin} ${region_count}=None
|
||||
Initialize Emulation ${bin} ${region_count}
|
||||
Wait For Line On Uart TESTSUITE [a-z_]+ succeeded treatAsRegex=true
|
||||
|
||||
Expect Mpu Regions Count
|
||||
[Arguments] ${expected_count}
|
||||
${reg_value}= Execute Command sysbus.cpu GetSystemRegisterValue "MPUIR"
|
||||
${regions_count}= Evaluate int(${reg_value}) >> 8
|
||||
|
||||
Should Be Equal As Integers ${regions_count} ${expected_count}
|
||||
|
||||
********************************** Test Cases *********************************
|
||||
Should have correct default configuration
|
||||
Initialize Emulation ${PROTECTION_BINARY}
|
||||
Expect Mpu Regions Count 16
|
||||
|
||||
Should pass the protection test
|
||||
Run Test ${PROTECTION_BINARY}
|
||||
|
||||
Should pass the mem_protect test
|
||||
Run Test ${MEM_PROTECT_BINARY}
|
||||
|
||||
Should pass the userspace test
|
||||
Run Test ${USERSPACE_BINARY}
|
||||
|
||||
Should pass the stackprotect test
|
||||
Run Test ${STACKPROT_BINARY}
|
||||
|
||||
# For Cortex-R Zephyr retrieves count of MPU regions in runtime.
|
||||
# The same binary can be used for various regions counts.
|
||||
Should respect the configured number of regions with more regions
|
||||
Initialize Emulation ${PROTECTION_BINARY} ${NON_DEFAULT_REGION_COUNT}
|
||||
Expect Mpu Regions Count ${NON_DEFAULT_REGION_COUNT}
|
||||
|
||||
Should pass the protection test with more regions
|
||||
Run Test ${PROTECTION_BINARY} ${NON_DEFAULT_REGION_COUNT}
|
||||
|
||||
Should pass the mem_protect test with more regions
|
||||
Run Test ${MEM_PROTECT_BINARY} ${NON_DEFAULT_REGION_COUNT}
|
||||
|
||||
Should pass the userspace test with more regions
|
||||
Run Test ${USERSPACE_BINARY} ${NON_DEFAULT_REGION_COUNT}
|
||||
|
||||
Should pass the stackprotect test with more regions
|
||||
Run Test ${STACKPROT_BINARY} ${NON_DEFAULT_REGION_COUNT}
|
||||
Reference in New Issue
Block a user