History log of /seL4-test-master/projects/sel4test/apps/sel4test-tests/src/tests/faults.c
Revision Date Author Comments
# 1349dd13 10-May-2020 Saer Debel <sdebel@data61.csiro.au>

asserts on seL4_Errors now use test_error_eq

changed test_asserts that check seL4_Errors
to use test_error_eq to output errors in failed cases
that would otherwise be suppressed in a
KernelInvocationReportErrorIPC build config


# 9b516c0a 15-Apr-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

riscv,PAGEFAULT0005: Update test with new msg fmt

The UserError fault message format was changed to remove an unused
field. Update the message register indexes to use the new indexes.


# d6d8f604 21-Aug-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

mcs: Rename CONFIG_KERNEL_RT to CONFIG_KERNEL_MCS

This is to be consistent with the name defined in the kernel.


# 7263e5a5 18-Jul-2019 Yu Hou <Yu.Hou@data61.csiro.au>

sel4test: explicitly link sel4_autoconf

since the global conf lib is going be removed, we need to explicitly
linke each project with sel4_autoconf and other config libs
this commit also removed a bunch of unused includes as well as
HAVE_AUTOCONF ifdef checking.


# 92fa60fe 12-Jul-2019 Yu Hou <Yu.Hou@data61.csiro.au>

Trivial: style fix

make the style checker happy


# 3d7586eb 19-May-2019 Yu Hou <Yu.Hou@data61.csiro.au>

sel4test: remove autoconf.h from sel4test

this commit removes autoconf.h generation from sel4test and
append '#include <sel4test/gen_config.h>' after each
'#include <autoconf.h>' since autoconf.h is only the for the
kernel config now. This is a temporarily solution, since we
currently don't have a way to tell which header files each file
is trying to include when it includes 'autoconf.h'


# 8260c13a 28-Apr-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

faults: Change RISC-V bad instruction

0x0000, 0x00000000 and 0xffffffff are all considered invalid
instructions on RISC-V. This change was motivated by some simulators not
trapping 0x00000000 or 0x0000 as invalid instructions, and when changing
to 0xffffffff picked up a bug in the kernel where the faulting
instruction was being set as a user exception field but was overflowing
it.


# 83ea2763 14-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

sel4test-tests: update MR on aarch64 faults

This MR now returns ESR


# b71d7612 14-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

sel4test-tests: update fault code on riscv

The kernel now returns a meaningful value on instruction fault.


# 36fe4808 19-Feb-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

sel4test-tests: test seL4_VMEnter with no VCPU


# 8b3911d9 30-Oct-2018 Curtis Millar <curtis.millar@data61.csiro.au>

Use test to ensure bits are not set on cptr.

Additional bits are set on the CPtr in order to pass boolean flags to
the fault_handler. This is only viable if the bits are not already set
on that capability.


# 3ae941e8 06-Sep-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

sel4test-tests: fix TIMEOUTFAULT0003

Set the number of extra sporadic refills to 0 to avoid fragmentation of
the refills which lead to the proxy thread not faulting when expected as
the next refill was already ready to go, thus breaking the test.


# 708eae8f 28-Aug-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

sel4test: use correct sp in handle_timeout_fault

Since handle_timeout_fault manually restores a checkpoint (as it
restores the tcb registers via a fault reply), update the stack restore
part of this function to use the stack pointer used by the checkpoint
rather than the stack pointer in the user context.


# f232288e 21-Aug-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

sel4test: remove checks that only pass on mcs kernel

These checks are nice, but not required as the tests will fail further
down the line if the allocation fails and CONFIG_KERNEL_RT is set.


# 548d9c4d 15-Jul-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

MCS: use unique reply objects for each thread

Using the same reply object for recv does not work: multiple threads
cannot use the same reply object to block at the same time. This was
working by luck / concurrency before, but now the kernel actually
checks this condition.


# d2fbb896 25-Jul-2018 Chris Guikema <chris.guikema@dornerworks.com>

riscv: update 32-bit RISC-V guard

Change-Id: Ic829e0575a49988e29fab9d2f473e701670b8270


# 57ed8aac 20-Jul-2018 Chris Guikema <chris.guikema@dornerworks.com>

riscv: update sel4test for functionality on rocket-chip.

The FRAMEEXPORTS0001 test tries to allocate a 1GiB page. The
rocket-chip only has 256MiB, so the test will fail, even though
the SV39 virtual memory system supports 1GiB mappings.

The PAGEFAULT tests need the virtual address updated to be in
valid Sv39 virtual memory space.

Change-Id: I81a0902033b54528b42e4f653f6bbf1027c31218


# 1408da4f 07-May-2018 Chris Guikema <chris.guikema@dornerworks.com>

Use a userspace address for fault tests


# 9c52f55d 03-Apr-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

trivial: remove duplicated STRINGIFY


# c08e9be3 03-Apr-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-1276: enable prefetch abort checks

The prefetch abort message register is now set for risc-v.


# 3e8a376e 03-Apr-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

riscv: use consistent check

s/test_assert_fatal/test_check to be consistent with other architectures
for this test.


# ef11f98f 19-Feb-2018 Hesham Almatary <hesham.almatary@unsw.edu.au>

RISC-V: tests/faults.c - Make the test work for rv32 and rv64


# 95d8f24e 01-Jan-2018 Hesham Almatary <hesham.almatary@unsw.edu.au>

Delete unused cpsr usage


# cef8cf0e 17-Dec-2017 Hesham Almatary <hesham.almatary@unsw.edu.au>

RISC-V: delete FIXME workarounds for getting fault/nextpc


# efe7c37c 26-Apr-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

RISCV port


# 09e0a43d 16-Apr-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-1140: fix and reenable timeout-fault tests

Replace the sleep with a spin. Sleep no longer works as we spend too
much time RPCing and the wrong scheduling context uses up all the time.
Also, sleep is overkill and not required for the test, spinning is
sufficient.


# 08bb70bd 28-Feb-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

Use seL4_TCB_SetTimeoutEndpoint

- remote timeout endpoint from api_tcb_set_space calls
- update helper for setting timeout endpoint


# 25630ea2 07-Sep-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-1056/sel4test: Add backend support for timer server and wait for tests

SELFOUR-1056/sel4test: move timer interrupt tests for sel4test-test to sel4test-driver

* Add time-related helper files.
* Move code in sel4test/tests/interrupts to sel4test-driver/src/tests/timer.c
* Add a new function to do sel4test-driver tests before sel4test-test tests


# a8854281 04-Oct-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Changes for removal of seL4_CapData_t type in libsel4

This updates sel4test to not use what are now deprecated functions and types by following
the upgrade notes in the kernel CHANGES file.


# ed0567c3 10-Oct-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Disable RT tests that have no clear fix

These tests require a more complicated rollback protocol for correctness


# 8e50ac4a 09-Oct-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Create threads for handling timer interrupts

Changes tests that peek at the timer to use the create_timer_interrupt_thread helper
so that any timer interractions by the tests are correct with respect to the ltimer
interface.


# bf57bccd 09-Oct-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Use sleep_busy helper

Replaces custom busy wait loops in tests for sleep_busy helper


# 4377294c 08-Oct-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Test large fault addresses

Testing 32-bit fault addresses on 64-bit systems was failing to identify that fault addresses
were being truncated to 32-bits. This change ensures as many bits of the fault address are
tested as possible on both 32 and 64 bit systems.


# 338a5d6a 08-Oct-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Add missing autoconf.h include


# d07b2383 27-Sep-2017 Claudia Tu <claudia.tu@unsw.edu.au>

SELFOUR-1130 Refactor tests to use new DEFINE_TEST

These changes turn tests on and off with the new `enabled` argument in
DEFINE_TEST instead of using #ifdefs.


# 43f4af23 26-Sep-2017 Claudia Tu <claudia.tu@unsw.edu.au>

SELFOUR-1083 refactoring related to renaming DEFINE_TEST_MAYBE to DEFINE_TEST


# d3fcdadd 26-Sep-2017 Claudia Tu <claudia.tu@unsw.edu.au>

SELFOUR-1083 refactor tests because DEFINE_TEST_MAYBE was renamed to DEFINE_TEST


# 057f0e33 13-Sep-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

tests: correct usage of macros

s/test_assert_fatal/test_assert: none of these tests should require the
test suite to abort in their current state as they are running in a
different process.

Fix cases where test_assert would return a value from a void function as
appropriate.


# f08443ad 23-Aug-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

MCS: timeout fault tests


# d1989372 22-Aug-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

MCS: if CONFIG_KERNEL_RT is set, move fault ep

On the master kernel the fault ep when seL4_TCB_Configure is called
is located in the target cspace, on the MCS kernel, it's in the callers
cspace.

Move it to the right place depending on the kernel. This only effects
tests that test faults between processes.


# bea86179 22-Aug-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

MCS: use api_* wrappers for recv operations

- on the MCS kernel, recv operations that will use call / replyrecv
semantics require a reply object, provide the reply object when needed
if CONFIG_KERNEL_RT is enabled. If not, it will always be seL4_CapNull
and is not used.
- use the api_recv etc wrappers from sel4utils/api.h


# 1f873330 22-Aug-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

faults.c: refactor badged_or_restart to flags

this is easily extensible


# ef7e2a8c 22-Aug-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

MCS: use tcb wrappers from sel4tutils/api.h

- replace calls of seL4_TCB_SetSpace with api_tcb_set_space
- replace calls of seL4_TCB_Configure with api_tcb_configure
- update some calls from seL4_TCB_Configure to api_tcb_set_space as a
full TCB configure is not required in that specific case


# 1b2772ef 08-Aug-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Provide and use wrappers for getting helper thread information

Reaching directly into the helper thread struct makes it difficult to change how helper threads
work without breaking lots of code.


# e0eb8e3c 13-Jul-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Fix whitespace

- remove trailing whitespace
- remove double blank lines
- remove blank lines at end of file


# 06b71f00 09-Jul-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Add env argument to helper_set_priority, mcp

- it will be needed in future when SELFOUR-1016 is merged
- merge it now to avoid the conflicts inherent on a long running branch


# b5ac337a 04-Jun-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Fix licenses


# cc36f1ce 27-Apr-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Refactor copy_cap_to_process to libsel4utils

Move this function to libsel4utils


# 272e30b5 05-Feb-2017 amrzar <azarrabi@nicta.com.au>

aarch64: update related tests


# 81eecb58 18-Jul-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-114: use new fault API


# 30c2aa65 23-May-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

Support for both sysenter and syscall mode switch types


# 2f611062 08-Jun-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-276: add support for MCPs

Where MCP = Maximum controlled priority.

This commit:

* updates the arguments to seL4_TCB_Configure
* updates the set_priority tests to test MCPs
* adds set_helper_mcp to helpers.h


# 31b94485 23-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

Port most tests to be compatible with x64


# 81f2a1d1 19-Nov-2015 Anna Lyons <Anna.Lyons@nicta.com.au>

update for s/Wait/Recv


# 6ae70227 16-Nov-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

Remove 'args' parameter to test cases.

This commit removes the state parameter to test cases, which was unused in all
tests. In three years, no test has required this parameter. I think it's time
to ditch this dead weight. It can be reintroduced if necessary later.

Note that this change is interdependent with changes to libsel4test.


# 8c054da4 12-Nov-2015 Anna Lyons <Anna.Lyons@nicta.com.au>

bandaid to get sel4test to output the correct number of tests passing


# 7f1809de 21-Jul-2014 TrustworthySystems <gatekeeper@sel4.systems>

Release snapshot