History log of /seL4-camkes-master/kernel/manual/parts/threads.tex
Revision Date Author Comments
# df3ec372 17-Aug-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

manual: remove mention of system criticality (#241)

The concept of system criticality has been removed from the kernel.
This commit removes a last remnant of it from the manual.

Fixes github issue #240

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>


# 73924ef0 19-Mar-2020 Corey Lewis <Corey.Lewis@data61.csiro.au>

manual: minor change to the exceptions section

This fixes an inconsistency by explicitly mentioning GrantReply rights.


# 79da0792 01-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

Convert license tags to SPDX identifiers

This commit also converts our own copyright headers to directly use
SPDX, but leaves all other copyright header intact, only adding the
SPDX ident. As far as possible this commit also merges multiple
Data61 copyright statements/headers into one for consistency.


# e460b934 29-Oct-2019 Jimmy Brush <code@jimmah.com>

trivial: fix typos in manual


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

mcs: timeout exceptions

- Add seL4_TCB_SetTimeoutEndpoint
- implement timeout exceptions


# 106b893e 23-May-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

mcs: configurable scheduling context size

This allows users to define custom amounts of refills without
increasing the scheduling context size system wide.

also add libsel4 functions for refill size


# abcd5aff 10-Aug-2019 Anna Lyons <anna@gh.st>

mcs: update manual

Major manual update with details of the MCS configuration option of the
kernel.


# 952134d1 27-Oct-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

mcs: Add a scheduling context object

This is the first part of the seL4 MCS. This commit:

* adds a scheduling context object. Threads without scheduling
context objects cannot be scheduled.
* replaces tcbTimeSlice with the scheduling context object
* adds seL4_SchedControl caps for each core
* adds seL4_SchedControl_Configure which allows users to configure
amount of ticks a scheduling context has, and set a core for the
scheduling context.
* adds seL4_SchedContext_Bind, Unbind and UnbindObject, which allows
a tcb to be bound to a scheduling context.


# 3df00ea4 22-Apr-2018 Thibaut Perami <thibaut.perami@data61.csiro.au>

SELFOUR-6: Add GrantReply to the rights system.

GrantReply is a new access right added to endpoint capabilities, which
allows seL4_Call to be used on those capabilities (specifically, it
allows reply caps *only* to be granted across endpoints).

Prior to the addition of GrantReply, endpoint capabilities required the
Grant access right, which allowed any arbitrary capabilitiy to be
transferred over an endpoint. Using GrantReply, systems can now be
constructed where threads using seL4_Call over an endpoint do not need to be in the same
security subsystem.


# 707ff781 10-Apr-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

manual: remove duplicated VM fault table

This message is the same on all archs


# 5fb5568b 10-Apr-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

manual: remove hardcoded exception registers


# b942a504 26-Mar-2018 Bruce Mitchener <bruce.mitchener@gmail.com>

Fix trivial comment typos.


# 05b83acd 14-Dec-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-1016: Require auth cap to set prio/mcp

This fixes confused deputy problem when setting priorities/mcps.


# 8e7f9fbb 07-Feb-2018 Kofi Doku Atuah <kofidoku.atuah@data61.csiro.au>

Manual: Correction of the name of the Zynq board


# e2c78140 07-Feb-2018 Kofi Doku Atuah <kofidoku.atuah@data61.csiro.au>

PR: Clarify which ODROID machine


# 6062e0da 06-Feb-2018 Kofi Doku Atuah <kofidoku.atuah@data61.csiro.au>

CAMKES-637: Manual: Hardware debug API: Document supported platforms

These are the platforms on which seL4test is able to successfully execute the
breakpoint tests.


# 567127de 06-Sep-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

manual: Expand parts of the x86 virtualisation documentation

This provides documentation for kernel design of the x86 virtualisation, the additional
syscall and object invocations. The ARM design is not fully expanded.


# ccbb035f 29-Nov-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-260: Document fault handler permissions


# b827ad37 15-Jul-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-413: refactor libsel4 fault API

This is a *breaking API change*

This commit:

* makes seL4_Fault_tag_t common between the kernel and libsel4
* deprecates the existing functions from sel4/messages.h includes
* introduces a new fault API in sel4/faults.h and
* sel4/sel4_arch/faults.h
* deprecates seL4_GetTag(), as the function did not work without
the user calling seL4_SetTag() first (seL4_MessageInfo is passed
in registers and not set in the IPC buffer)
* removes previously deprecated functions (deprecated prior to 3.0.0)
* updates the seL4 manual to reflect the changes


# c5787ae3 30-Oct-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

manual: Correct api function link


# 2d462d4a 17-Oct-2016 amrzar <azarrabi@nicta.com.au>

add basic api for setting affinity


# bebfcf6d 23-Jun-2016 Kofi Doku Atuah <kofi.dokuatuah@nicta.com.au>

SELFOUR-499: X86, ARM: Add userspace invocations for hardware debugging

This commit implements the body of SELFOUR-499. The API exposes the x86 DR0-7
and ARM coprocessor 14 features to userspace by virtualizing them as context-
switched registers in the TCB. Implemented as TCB invocations. This feature is
only built when CONFIG_HARDWARE_DEBUG_API is selected.

* Add low-level support routines for setting, unsetting, getting, enabling
and disabling breakpoints.
* Add support for single-stepping as well.
^ Single-stepping is not supported on ARMv6 since the hardware
doesn't have support.
^ ARM implements single-stepping as instruction breakpoints
configured to fault on every instruction -- this is achieved through
the "mismatch" mode, which is only supported from ARMv7 onwards.
* Also support explicit software break requests, a la "BKPT" and "INT $3".

* New invocations:
* seL4_TCB_SetBreakpoint().
* seL4_TCB_GetBreakpoint().
* seL4_TCB_UnsetBreakpoint().
* seL4_TCB_ConfigureSingleStepping().
* New constants:
^ Event types:
^ seL4_InstructionBreakpoint.
^ seL4_DataBreakpoint.
^ seL4_SoftwareBreakRequest.
^ Access types:
^ seL4_BreakOnRead.
^ seL4_BreakOnWrite.
^ seL4_BreakOnReadWrite.
^ Exports:
^ seL4_NumHWBreakpoints.
^ seL4_NumExclusiveBreakpoints.
^ seL4_NumExclusiveWatchpoints.
^ seL4_NumDualFunctionMonitors.
^ seL4_FirstBreakpoint.
^ seL4_FirstWatchpoint.
^ seL4_FirstDualFunctionMonitor.

See documentation in the seL4 API manual.


# 7336303b 08-Jun-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-276: Add MCP field to threads.

Where MCP = Maximum Controlled Priority

This commit adds:

* seL4_TCB_SetMCPriority

and changes the arguments to

* seL4_TCB_Configure

As of this commit, a thread cannot create or set a threads
priority (including itself) above its mcp. Previously the kernel
did this check against a threads priority, which prevented a thread
from setting it's own priority down and then up again.


# a99a1040 09-Nov-2015 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-279: rename Wait -> Recv, add wrappers for seL4_Poll and seL4_Wait for notification objects.

This commit deprecates seL4_ReplyWait, removes seL4_NBwait completely,
and changes the return type of seL4_Wait to void (seL4_Wait should be
used for notification objects, and seL4_Recv should be used where
seL4_Wait was used previously for endpoints).


# 386337a9 17-Aug-2015 Gernot Heiser <gernot@nicta.com.au>

manual: notification/signalling terminology

Terminology clarification:
- synchronous endpoints -> endpoints
- asynchronous endpoints -> notifications (and notification objects)
- notify -> signal

Also minor language edits.


# 71874a2d 20-Aug-2015 Gernot Heiser <gernot@nicta.com.au>

Revert "s/AEP/Notification/ completed commit :-("

Committed to wrong branch

This reverts commit 50810ac44a4f90f07cfe1aba6f8bf14c30f1d85d.


# 50810ac4 20-Aug-2015 Gernot Heiser <gernot@nicta.com.au>

s/AEP/Notification/ completed commit :-(

Had forgotten the "-a", bear with me, I'm a git newbie...


# 427c4771 17-Aug-2015 Gernot Heiser <gernot@nicta.com.au>

manual: Purely cosmetic changes / improved wording


# 91b7da86 17-Jul-2014 TrusthworthySystems <gatekeeper@sel4.systems>

Release snapshot