Updates to seL4Test from seL4 10.1.x to 11.0.x
- List valid platforms if invalid platform is provided in build configuration.
IPCRIGHTS tests for master and mcs to test new
grantreply access 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
- Re-enable serial_server tests on RISC-V with addition of userlevel serial driver.
- Change timeout time for
PREEMPT_REVOKE to 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
0xffffffff in fault tests. This change was motivated by some simulators not
0x0000 as invalid instructions.
- Enable timer tests on RISC-V.
- Disable flaky
SCHED0000 on RISCV.
- Update vspace test to support 40 bit PAs
NUM_NODES to override
This allows users to pass NUM_NODES on the command line to an init-build
invocation and override the default of
4 cores when
../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
Sel4testHaveCache options to advanced if
Sel4testAllowSettingsOverride is not set.
Otherwise any changes to these settings will get overridden.
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
-DMCS=ON will enable MCS configurations and
-DMCS=OFF will use mainline
Remap and use
Map instead 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.
MULTICORE0003 to 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
- 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
- Style source files.
- Refactor build scripts to keep up to date with build system changes.
- Refactor object allocation to use
libsel4rpc to dynamically allocate additional resources
instead of trying to preallocate everything.
autoconf.h and global
Configuration library usage.
- Add memory barriers in
SCHED0004 to prevent spurious failures.
- Use custom IRQ handler allocation function in IRQ allocation so that some tests may borrow the
MULTICORE0003: Reduce wait time to limit timer IRQ. This makes the test more reliable.