This page is archived and is no longer receiving updates.
It remains here because some of the content may still be useful.
Updates to seL4Test from seL4 10.1.x to 11.0.x
External
- List valid platforms if invalid platform is provided in build configuration.
- Add
IPCRIGHTStests for master and mcs to test newgrantreplyaccess right:IPCRIGHTS0001, “seL4_Send needs write”IPCRIGHTS0002, “seL4_Recv needs read”IPCRIGHTS0003, “seL4_Send with caps needs grant”IPCRIGHTS0004, “seL4_Call needs grant or grant-reply”IPCRIGHTS0005, “seL4_Reply grant depends of the grant of previous seL4_Recv”
- add test
UNKNOWN_SYSCALL_001, “Test seL4_VMEnter in a non-vm thread” to check cannot enter VM in no-vm thread on x86. - Added tests for maximum ASID pools usage:
VSPACE0003, “Test create multiple ASID pools”VSPACE0004, “Test running out of ASID pools”VSPACE0005, “Test overassigning ASID pool”VSPACE0006, “Test touching all available ASID pools”
- Add griddle support to sel4test via
easy-settings.cmakefile. - Re-enable serial_server tests on RISC-V with addition of userlevel serial driver.
- Change timeout time for
PREEMPT_REVOKEto make test more robust. - Added tests to check IRQ routing:
SMPIRQ0001, “Test multicore irqs”
- Enable TLS tests for RISC-V as they are now supported.
- Change RISC-V bad instruction value to
0xffffffffin fault tests. This change was motivated by some simulators not trapping0x00000000or0x0000as invalid instructions. - Enable timer tests on RISC-V.
- Disable flaky
SCHED0000on RISCV. - Update vspace test to support 40 bit PAs
- add
NUM_NODESto overrideKernelMaxNumNodes. This allows users to pass NUM_NODES on the command line to an init-build invocation and override the default of4cores whenSMP=ON. Example:../init-build.sh -DPLATFORM=imx8mq-evk -DAARCH32=1 -DSMP=1 -DNUM_NODES=2 - Disable device mem tests for spike.
- Change frame tests to not try and steal timer device frame from runtime and instead request device frames more reliably.
- set
Sel4testHaveTimerandSel4testHaveCacheoptions to advanced ifSel4testAllowSettingsOverrideis not set. Otherwise any changes to these settings will get overridden. - Set
SEL4_CONFIG_DEFAULT_ADVANCED=On. This will cause most CMake config options to be hidden apart from ones expected to be changed. - Add MCS option for configuring
KernelIsMCS.-DMCS=ONwill enable MCS configurations and-DMCS=OFFwill use mainline configurations. - Remove
Remapand useMapinstead in mapping tests due to kernel API change. - RISCV: Disable huge page test for Ariane
MULTICORE0003: Extend to test different VSpaces. On x86 the kernel was only performing TLB cross-core invalidation if the VSpace that was being unmapped was running on the current core. This means that if a core unmaps a page from a different VSpace running on a different core then the cross-core invalidation wouldn’t happen. We extendMULTICORE0003to test unmapping from different VSpaces as well as the same VSpace. We also now repeat the test a few times for if a kernel timer IRQ is received during any of them leading to a false success.
Internal
- Correctly initialize clocks for exynos5422 serial driver
- Improve test
SCHED0011: compare timestamps in nanoseconds not microseconds to improve accuracy. Use period value instead as wait time instead of assuming 1s. - Switch to new
libelfandlibcpioAPI - Style source files.
- Use
seL4runtime. - Refactor build scripts to keep up to date with build system changes.
- Refactor object allocation to use
libsel4rpcto dynamically allocate additional resources instead of trying to preallocate everything. - Remove
autoconf.hand globalConfigurationlibrary usage. - Add memory barriers in
SCHED0004to prevent spurious failures. - Use custom IRQ handler allocation function in IRQ allocation so that some tests may borrow the caps.
- Rename
CONFIG_KERNEL_RTtoCONFIG_KERNEL_MCS MULTICORE0003: Reduce wait time to limit timer IRQ. This makes the test more reliable.