History log of /seL4-test-master/kernel/libsel4/include/api/syscall.xml
Revision Date Author Comments
# e1f6cf0a 13-Jul-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Add 2 new benchmark utilization syscalls

- seL4_BenchmarkDumpAllThreadsUtilisation: Prints a JSON formatted
record of total and per-thread utilisation statistics about the system.
This currently includes a thread's total cycles scheduled, total number
of times scheduled, total cycles spent in the kernel and total number of
times entering the kernel and then totals of each for all threads on the
current core.
- seL4_BenchmarkResetAllThreadsUtilisation: Resets the current counts of
every user thread on the current core.

These syscalls are only available in a Debug build configuration as they
use a kernel debug list of all of the threads that exist for a given
node.

Signed-off-by: Kent McLeod <Kent.Mcleod@data61.csiro.au>


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


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


# 49d3f220 25-Jun-2019 Sylvain Gauthier <sylvain.gauthier@data61.csiro.au>

[SMP/Debug] New syscall to send arbitrary SGIs

Created a new syscall, seL4_DebugSendIPI for ARM to send arbitrary SGIs
(software generated interrupts) to arbitrary cores. As SGIs are
specifically PPIs (private interrupts), this syscall effectively allows
to trigger PPIs on arbitrary cores, for debug/testing purposes.


# 15091664 20-Mar-2019 Curtis Millar <curtis.millar@data61.csiro.au>

Add syscall for setting the current TLS register.

Some platforms and configurations do not allow user code to change the
value of the register used for TLS. On these architectures a syscall can
be used to allow the kernel to update the register on their behalf.

This does not immediately update the value in the user context on many
configurations as the values are only stored in the user context on a
context switch.


# eec02fd2 15-Jan-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Dangerous read/write MSR interface

Provides a syscall interface for reading and writing arbitrary MSR values. This is
being introduced as an alternative to the DebugRun, as the main purpose of debug run
is for modifying the performance monitoring events via read/write MSR.


# 4e620499 14-Jan-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

Minor fixes to syscall.xml

- update comment to reflect behaviour (it's #if condition not #ifdef
name)
- remove redundant xml


# 07f94833 18-Jun-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

libsel4: fix licenses

- some were incorrectly marked GPL (libsel4 is BSD)
- update NICTA --> DATA61 etc
- fix tags D61 --> DATA61
- update year to 2017


# bb5ecb1b 29-May-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-880: add seL4_DebugDumpScheduler

- when CONFIG_DEBUG is enabled, track all threads
- when CONFIG_PRINTING is enabled, provide seL4_DebugDumpScheduler which
allows the user to dump the state of the kernel scheduler.


# 50d72007 03-May-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-862: CONFIG_PRINTING --> seL4_DebugPutChar

seL4_DebugPutChar is only available when CONFIG_PRINTING is enabled


# e937d968 23-Feb-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Change debug #ifdefs to be from autoconf.h

Previously the #ifdefs for some debug syscalls relied on definitions
from Makefile.flags in sel4_tools. This changes them to use configs
defined in autoconf.h which makes them easier to import when building
projects that don't use sel4_tools.


# 44ed6adb 12-Oct-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

add seL4_BenchmarkFlushCaches() for arm and ia32

Available when CONFIG_ENABLE_BENCHMARKS is set, flushes caches for
running cold-cache benchmarks


# 7fbde1bb 14-Jun-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-287: 32-bit vt-x implementation

This is an implementation of vt-x for x86 kernels running in
ia32 mode.


# 9c507cff 27-Sep-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-603 - Benchmark: Add null syscall


# 8808ba7f 07-Sep-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

Benchmark: Implement per-thread reset syscall


# c3826e0e 18-Aug-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-518: Benchmark - User-level log buffer, delete dump and size system calls

Given that the log buffer is now
(79291252a8cf7bf88a6597a96e25313d56e9c7a5) in user-level, the kernel doesn't have
to dump and send the size for users. Users have to take care of this.


# 16c34811 31-Jul-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-518: User-level log buffer

Remove global ksLog and use KS_LOG_PPTR instead

Benchmark - Log buffer: use global page table


# d97603bd 14-Jul-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-566: Decouble seL4_DebugNameThread from CONFIG_PRINTING


# 09358f9b 23-Jun-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

SELFOUR-448 Benchmark: Track thread's CPU utilisation time


# bcf0a235 01-Jun-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

SELFOUR-446 Unify code base for trace points and track feature


# 7cbaeb8e 30-May-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

SELFOUR-446 Benchmark: Track interrupts and user/vm faults


# fc1feb67 24-May-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

SELFOUR-446 Benchmark: Track syscall feature

Benchmark feature that currently:
- Keeps track of system calls info
- Start time
- Duration
- Capability type
- Invocation tag
- Log the number of invocations of each system call*
- Log the number of invocations for each capability type per syscall.
- Has 3 new syscalls (dump, reset, get size).
- This new feature uses the existing log buffer (which is 1MiB for x86
and ARM). Since the number of syscall invocations is not
deterministic, the logged number of invocations is limited by the size
of the buffer. I suggested to enable the users to pass their own
user-level buffer, to enable more flexibility, later.
- ENABLE_BENCHMARKS is now a parent config option of trace points and
system call track features, they can't be used at the same time.


# 1287590e 16-May-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

Correct separation of printing and debug builds

Fixes some build issues with 541289a32603cee8242b5360b05e8f0c52795433
as well as further allowing debugging (via the capdl interface) to
happen when printing is turned off.


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


# bea651d6 02-Sep-2015 Stephen Sherratt <Stephen.Sherratt@nicta.com.au>

Config sections in syscall.xml files take a condition which is passed to #if.


# 4c2554dc 26-Aug-2015 Stephen Sherratt <Stephen.Sherratt@nicta.com.au>

Added support for using multiple tracepoints at the same time.


# 952e5a27 13-May-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

Add ability to set a human readable thread name when running kernel in debug mode


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

Release snapshot