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
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
easy-settings.cmake
file.
- 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
trapping 0x00000000
or 0x0000
as invalid instructions.
- Enable timer tests on RISC-V.
- Disable flaky
SCHED0000
on RISCV.
- Update vspace test to support 40 bit PAs
- add
NUM_NODES
to override KernelMaxNumNodes
.
This allows users to pass NUM_NODES on the command line to an init-build
invocation and override the default of 4
cores when SMP=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
Sel4testHaveTimer
and Sel4testHaveCache
options to advanced if Sel4testAllowSettingsOverride
is 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=ON
will enable MCS configurations and -DMCS=OFF
will use mainline
configurations.
- Remove
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.
We extend 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
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
libelf
and libcpio
API
- Style source files.
- Use
seL4runtime
.
- 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.
- Remove
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
caps.
- Rename
CONFIG_KERNEL_RT
to CONFIG_KERNEL_MCS
MULTICORE0003
: Reduce wait time to limit timer IRQ. This makes the test more reliable.