Commit Graph

4581 Commits

Author SHA1 Message Date
Wanja Zaeske
05858be490 feat: add riscv-none-elf- as valid RISCV prefix
Fixes #1309

Signed-off-by: Wanja Zaeske <wanja.zaeske@dlr.de>
2024-08-14 15:33:19 +02:00
Ivan Velickovic
534ea259d3 Print virtual address already mapped in user error (#1304)
Print virtual address already mapped in user error

Co-authored-by: Axel Heider <axel-h@users.noreply.github.com>
Signed-off-by: Ivan Velickovic <i.velickovic@unsw.edu.au>
2024-08-13 20:29:39 +02:00
Michael McInerney
c679fe77d6 mcs: use local variable in postpone
This eases verification by using a local variable
which remains unchanged during execution of the
function.

This preserves semantics since tcbSchedDequeue
will not modify the scTcb field of the given sc.

Signed-off-by: Michael McInerney <michael.mcinerney@proofcraft.systems>
2024-07-19 19:13:48 +10:00
Alwin Joshy
1253115999 hw debug api: aarch64 port
Adding support for the hardware debug API to
aarch64.

Signed-off-by: Alwin Joshy <joshyalwin@gmail.com>
2024-07-18 16:09:52 +10:00
Alwin Joshy
b3974732b9 hw debug api: modify single stepping checks
On aarch32, single stepping is configured by setting an instruction
breakpoint to mismatch mode. The way that it is checked whether a
given breakpoint is being used as a normal breakpoint or for
single-stepping is by checking if it has been configured to mismatch.
This works because the HW debug API does not currently provide a way
to otherwise configure mismatch breakpoints, but seems like an
unsatisfactory solution. Whether single-stepping is enabled, and
the breakpoint that is being used for it is already stored in the
TCB of a thread, and this commit changes checks related to
single-stepping to use this information instead.

Signed-off-by: Alwin Joshy <joshyalwin@gmail.com>
2024-07-18 16:09:52 +10:00
Alwin Joshy
28ffc62f74 aarch32: change dbg register fields
Changing the debug register fields to what they are referred to
as in the ARMv7 and ARMv8 manuals. Mostly a cosmetic change,
but improves clarity.

Signed-off-by: Alwin Joshy <joshyalwin@gmail.com>
2024-07-18 16:09:52 +10:00
Alwin Joshy
c35930f565 change files to allow compilation
Signed-off-by: Alwin Joshy <joshyalwin@gmail.com>
2024-07-18 16:09:52 +10:00
Indan Zupancic
e86bd7542c Split arm/machine/debug.c
Signed-off-by: Alwin Joshy <joshyalwin@gmail.com>
2024-07-18 16:09:52 +10:00
Indan Zupancic
ad6a956103 Prepare Split arm/machine/debug.c
Signed-off-by: Alwin Joshy <joshyalwin@gmail.com>
2024-07-18 16:09:52 +10:00
Axel Heider
3c2c5ba18a risc-v: remove special handling for restoring tp
This is most likely an artifact from the change of the IPC buffer
handling before v11.0.0, where a thread-local register (tp on RISC-V)
was reserved by the kernel for storing the pointer to the thread's
IPC buffer. Architectures such as aarch64 would set the register
inside Arch_switchToThread() and then not touch the register in
restore_user_context(). When the RISC-V port was up-streamed, it
didn't restore the register with the other registers, but also
didn't restore it in Arch_switchToThread() and so ended up restoring
it right at the end of the restore process.

Co-authored-by: Kent McLeod <kent@kry10.com>
Signed-off-by: Axel Heider <axel.heider@codasip.com>
2024-07-18 11:55:55 +10:00
Axel Heider
11eb510ec3 cmake/QEMU: ensure output folder exists
Signed-off-by: Axel Heider <axel.heider@codasip.com>
2024-07-18 10:16:12 +10:00
Axel Heider
9e2e3a3d1a cmake: fix style issues
Signed-off-by: Axel Heider <axel.heider@codasip.com>
2024-07-18 10:16:12 +10:00
Michael McInerney
6b6bb12501 mcs: remove parameter from schedContext_unbindTCB
This removes the tcb parameter from schedContext_unbindTCB, which
is unnecessary, since it is always the scTcb of the given sc.

Signed-off-by: Michael McInerney <michael.mcinerney@proofcraft.systems>
2024-07-17 09:11:51 +10:00
Michael McInerney
220ef4f94e mcs: refactor awaken
This refactors awaken, providing an inline function for the
while loop condition, and modifying tcbReleaseDequeue to now
perform the entire loop body.

Since tcbReleaseDequeue will perform tcbReleaseRemove on the
head of the release queue, the variable ksReprogram will be set
to true within tcbReleaseRemove, and therefore, we do not need
to set this variable separately within the loop body of awaken.

Signed-off-by: Michael McInerney <michael.mcinerney@proofcraft.systems>
2024-07-16 18:01:44 +10:00
Gerwin Klein
619a310a6e sel4-deps: tighten deps; update instructions
- require python >= 3
- require pyyaml < 6, because cmake-format breaks with pyyaml >= 6
- update upload instructions
- provide long-form release description of PyPi
- bump version, because the < 6 requirement might technically break
  compatibility

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-11 10:53:24 +10:00
Gerwin Klein
9567675c2b sel4-deps: update maintainer address
Use the TS pypi meta address for the maintainer.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-11 10:00:32 +10:00
Gerwin Klein
9d2f3cd0c2 sel4-deps: bump autopep8 version
The version bump should be stable in code layout and fixes crashes on
more recent python code.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-11 10:00:32 +10:00
Gerwin Klein
4b7c2a315f configs: add zynqmp and rpi4 to verified platforms
The AARCH64 config now also works for functional correctness on
zcu102/zcu106 and rpi4.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-08 14:17:49 +10:00
Axel Heider
4856e6b0fa fix parameter for log buffer cleanup
The function expects the size in bits.

Signed-off-by: Axel Heider <axel.heider@codasip.com>
2024-07-08 11:51:54 +10:00
seL4 CI
7a3ab6bb2e Update VERSION file to 13.0.0-dev
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-02 06:59:46 +10:00
Gerwin Klein
cd6d3b8c25 recreate 13.0.0 release state
This reverts commit 94ca590d6c to get CI
to trigger on the actual release state.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
13.0.0
2024-07-01 18:32:37 +10:00
seL4 CI
94ca590d6c Update VERSION file to 13.0.0-dev
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-01 17:29:31 +10:00
seL4 CI
2249143c73 Release 13.0.0
Update VERSION
Update CHANGES.md

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-01 17:27:59 +10:00
Gerwin Klein
4f1e7bdfa0 CHANGES: update changelog for upcoming release (#1283)
* CHANGES: update changelog for upcoming release

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
Signed-off-by: Ivan Velickovic <i.velickovic@unsw.edu.au>
Co-authored-by: Ivan Velickovic <i.velickovic@unsw.edu.au>
2024-07-01 17:17:33 +10:00
Gerwin Klein
a6129c15d3 manual: document useful constants for SC creation
See also #560.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-01 15:49:59 +10:00
Gerwin Klein
f52e102d5d caveats: language tweaks for more clarity
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-01 15:30:49 +10:00
Gerwin Klein
0b4f14f8ae caveats: more Intel caveats
- missing MSI remapping feature
- clarifications on timing/micro-architectural attacks
- clarifications on Rowhammer

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-01 15:30:49 +10:00
Gerwin Klein
1aa42bec1d caveats: improve vspace reuse; tweak multikernel
- tweak SMP/multikernel text to make clear that SMP is not deprecated
- rephrase old VSpace reuse section hopefully be clearer

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-01 15:30:49 +10:00
Gerwin Klein
5c1d58c17e caveats: add MCS WCET and cache ops
- MCS WCET settings are just defaults without much basis
- stale page cap data also allows cache ops to proceed

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-01 15:30:49 +10:00
Gerwin Klein
f64c7b659d caveats: add tested platforms for SMP combinations
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-01 15:30:49 +10:00
Gerwin Klein
54040e84b3 caveats: rework correctness, add SMP, more MCS
- rework implementation correctness section, give
  more information, add roadmap items
- expand MCS section, add roadmap
- add SMP section + combinations

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-01 15:30:49 +10:00
Gerwin Klein
16003dfb6b caveats: consolidate into a single md file
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-01 15:30:49 +10:00
Gerwin Klein
e5d01aa3f2 vspace: check for stale mapping on all flush types
Frame caps should be checked for stale mapping info before authorising
any operation on them. In this particular case, the mapping may have
become invalid.

See also #1281

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-07-01 13:56:06 +10:00
Gerwin Klein
79cee3563f CHANGES: document dc ivac issue
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-06-30 21:35:29 +10:00
Gerwin Klein
dd3fe96db4 aarch64: check if page is writeable for DC IVAC
When performing data cache invalidate by virtual address, the mapping
must have write permissions, otherwise a fault will be generated by the
hardware. Therefore, when the kernel performs this operation during
cache maintenance invocations it must first check that the mapping has
write rights in the decode phase of the operation.

Co-authored-by: Kent McLeod <kent@kry10.com>
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-06-30 21:35:29 +10:00
Indan Zupancic
cae4662a45 manual: params don't have errors
Signed-off-by: Indan Zupancic <indan@nul.nu>
2024-06-30 21:14:32 +10:00
Indan Zupancic
74b4768a59 manual: fix contact link
Signed-off-by: Indan Zupancic <indan@nul.nu>
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-06-30 21:14:32 +10:00
Gerwin Klein
a1d8660218 trivial: update style
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-06-30 18:28:12 +10:00
Nick Spinale
a3f6be3c7c libsel4: add links in place of renamed XML files
This commit's parent renames the interface XML files.

The symlinks added in this commit serve to ease the transition to the
new names for downstream projects.

These links are added:

- include/interfaces/{sel4.xml -> object-api.xml}
- arch_include/*/interfaces/{sel4arch.xml -> object-api-arch.xml}
- sel4_arch_include/*/interfaces/{
    sel4arch.xml -> object-api-sel4-arch.xml
  }

Signed-off-by: Nick Spinale <nick@nickspinale.com>
2024-06-30 18:28:12 +10:00
Nick Spinale
58fac368f3 trivial: Fix XML style
Signed-off-by: Nick Spinale <nick@nickspinale.com>
2024-06-30 18:28:12 +10:00
Nick Spinale
dbd6efc507 libsel4: rename interface XML files
Before, some object API XML files conflicted when the include,
arch_include, and sel4_arch_include directories were combined:

- include/interfaces/sel4.xml
- arch_include/*/interfaces/sel4arch.xml
- sel4_arch_include/*/interfaces/sel4arch.xml

This commit renames them to:

- include/interfaces/object-api.xml
- arch_include/*/interfaces/object-api-arch.xml
- sel4_arch_include/*/interfaces/object-api-sel4-arch.xml

Now, when the include, arch_include, and sel4_arch_include directories
are combined, we are left with:

- interfaces/object-api.xml
- interfaces/object-api-arch.xml
- interfaces/object-api-sel4-arch.xml

Signed-off-by: Nick Spinale <nick@nickspinale.com>
2024-06-30 18:28:12 +10:00
Gerwin Klein
9a22e40b46 config.py: update comment to reflect kernel assert
The ELF loader may well be satisfied with a smaller alignment, but the
compile time assert in the kernel requires super section alignment for
physBase.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-06-30 12:45:37 +10:00
Gerwin Klein
c7822a1c1c config.py: fix SUPERSECTION_BITS for arm_hyp
This addresses #1186

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-06-30 12:45:37 +10:00
Nick Spinale
10bb153967 arm: add missing seL4_VPPIEvent_Length constants
Signed-off-by: Nick Spinale <nick@nickspinale.com>
2024-06-27 12:50:40 -04:00
Gerwin Klein
95fdffe4f2 CHANGES: update link to previous releases
The URL on the doc site has changed.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-06-27 10:26:46 -04:00
Ivan Velickovic
cbfeb8988a CHANGES: minor style/spelling fixes
Signed-off-by: Ivan Velickovic <i.velickovic@unsw.edu.au>
2024-06-27 10:26:46 -04:00
Gerwin Klein
91415f0461 CHANGES: remove broken link
The page no longer exists on the doc site, and the site does not
actually have more info, because the change log is generated from here.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-06-27 10:26:46 -04:00
Gerwin Klein
4a7d636767 CHANGES: add missing new platforms
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-06-27 10:26:46 -04:00
Gerwin Klein
47f82647a4 CHANGES: improve spelling and code quotes
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-06-27 10:26:46 -04:00
Gerwin Klein
3ec68b21ea CHANGES: add sections to upcoming releases
Only moves text, no content changes apart from section headers.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2024-06-27 10:26:46 -04:00