History log of /seL4-l4v-master/seL4/manual/parts/api.tex
Revision Date Author Comments
# 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.


# a4d6bf85 28-Feb-2016 amrzar <Amirreza.Zarrabi@data61.csiro.au>

SELFOUR-161: Merge Page_Remap with Page_Map

- Remove Remap function from seL4 API for arm, x86, riscv and the
respective invocation implementation.
- Update Map as replacement for Remap
- Update manual

This allows a change of rights if the frame being mapped is already
mapped in at the given vaddr. To map a page to a different address,
unmap it first.

Co-authored-by: Hesham Almatary <hesham.almatary@data61.csiro.au>
Co-authored-by: Anna Lyons <Anna.Lyons@data61.csiro.au>
Co-authored-by: Victor Phan <Victor.Phan@data61.csiro.au>
Co-authored-by: Kent McLeod <Kent.Mcleod@data61.csiro.au>


# 554f812d 08-Nov-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

mcs: scheduling context donation over ipc

After this commit, threads blocked on an endpoint can recieve a
scheduling context from the thread that wakes the blocked thread.


# 5fb6f8b3 12-Feb-2019 Jimmy Brush <code@jimmah.com>

manual: document seL4_TruncatedMessage error


# deba85b2 09-May-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

manual: promote sel4_arch API docs level

This change makes sel4_arch api docs the same level as the base arch api docs. This is because the
header level became too deep for latex section types, and there is not much advantage to such deep
hierarchies.


# aae12426 05-Apr-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

riscv: document API methods


# 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.


# d3e90341 28-Jun-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

manual: remove some unused tex commands


# 2a52a3f7 27-Jun-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

manual: remove some unused tex commands


# e5c0d63c 25-May-2017 Stephen Sherratt <Stephen.Sherratt@data61.csiro.au>

manual: Explicitly say TODO where doc is missing


# 32af5422 24-May-2017 Stephen Sherratt <Stephen.Sherratt@data61.csiro.au>

manual: Docs for debugg and benchmark syscalls


# 3f2f66de 23-May-2017 Stephen Sherratt <Stephen.Sherratt@data61.csiro.au>

manual: Use generated api docs in manual


# 58cbddec 23-May-2017 Stephen Sherratt <Stephen.Sherratt@data61.csiro.au>

manual: Parameterize \apidoc cmd with section type


# d1543065 28-Nov-2016 Stephen Sherratt <Stephen.Sherratt@data61.csiro.au>

manual: Using generated obj inv documentaiton

JIRA: SELFOUR-606


# 28d0d334 28-Nov-2016 Stephen Sherratt <Stephen.Sherratt@data61.csiro.au>

manual: Tex filenames derived from doxy filenames

Rather than having a custom naming convention for generated latex files,
we use names based on the names given to xml files generated by doxygen,
which in turn take their names from groups defined in doxygen comments
in various header files.

JIRA: SELFOUR-606


# 31628d9a 25-Oct-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

Remove recycle

Removes the recycle operation and adds an operation
to cancel any badged sends on and endpoint. Calling
Revoke + CancelBadgedSend is equivalent to Recycle
on a badged endpoint


# 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.


# b80e11d3 21-Sep-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-209: Document 28-bit badges


# dc183f96 20-Sep-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-429: Document x86 interrupt invocations

Add documentation for seL4_IRQControl_GetIOAPIC and seL4_IRQControl_GetMSI,
which only exist on x86 platforms.


# c464470d 13-Sep-2016 Stephen Sherratt <Stephen.Sherratt@data61.csiro.au>

Syscalls docs in manual generated by doxygen

This adds a dummy header with syscall prototypes with doxygen comments.
The build process for the manual includes parsing these comments using
doxygen. Doxygen produces an xml file which is parsed by a script to
generate latex which is included in the manual. This approach was chosen
over doxygen's native latex output to gain greater control over the
formatting of the generated documentation, and to take advantage of
existing api-formatting support in the sel4 manual.

Related issue: SELFOUR-606


# 0d73506a 23-May-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-484 x86: Get status bits invocation

This adds an invocation on page directories that returns the
status (accessed + dirty) bits of mapping.


# 2027e2e3 01-Mar-2016 Addo Wondo <addo.wondo@nicta.com.au>

SELFOUR-251 Add descriptions of the seL4_Page_GetAddress_t


# d2030938 28-Feb-2016 Addo Wondo <addo.wondo@nicta.com.au>

Added API documentation for the ARM cache flushing functions.

SELFOUR-262


# 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).


# d9802d17 08-Oct-2015 Anna Lyons <Anna.Lyons@nicta.com.au>

Add seL4_NBWait: non blocking wait for notifications and endpoints.


# adf83bc7 12-Oct-2015 Gerwin Klein <gerwin.klein@nicta.com.au>

manual: seL4_Notify -> seL4_Signal; clarifications

- clarified description of `sender` param in Wait/ReplyWait
- updated name of seL4_Notify in API reference
- message word is removed in seL4_Signal
- clarified unbadged/0-badged behaviour in seL4_Signal
- prevent hyphenation inside seL4_Signal


# 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.


# 97042a0f 17-Jul-2014 Adrian Danis <Adrian.Danis@nicta.com.au>

Introduce 'Notification Binding': a new feature which allows a tcb to be bound to a single asynchronous endpoint.


# 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...


# 2732406e 17-Jul-2014 Adrian Danis <Adrian.Danis@nicta.com.au>

Recomment of branch getpaddr on release snapshot


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

Release snapshot