History log of /seL4-camkes-master/kernel/libsel4/sel4_arch_include/ia32/sel4/sel4_arch/syscalls.h
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>


# a221ee1c 05-Apr-2020 Saer Debel <saer.debel@data61.csiro.au>

Enabled IPC debug features under new config

Introduced a new config flag to enable
userError format strings to be written to the IPC buffer.
Another config bool has been introduced to toggle
printing the error out and this can also be set at runtime.

Signed-off-by: Saer Debel <saer.debel@data61.csiro.au>


# 512a0200 19-Mar-2020 Qian Ge <qian.ge@data61.csiro.au>

replacing all ifndef with pargma once

All the kernel header files now use pargma once rather than the ifndef,
as the pre-processed C files do not change while header files
are protected with pargma once. This will also solve any naming issues
caused by ifndef.


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


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


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

Remove platform IPC buffer register.

This removes the assumption that each platform sotres the IPC buffer
address in a platform-specific register. The IPC buffer address is
instead stored in a thread-local variable in libsel4 which must be
initialised by the runtime.


# 7fc45c4e 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: set code width to 120


# d0930f67 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: consistently attach return type

Add attach-return-type to astyle


# 761006e0 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: consistently align pointer with name

Run astyle with align-pointer=name


# 3d10ef0c 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: correct parenthesis padding

Use astyle's unpad-paren to unpad all parentheses that are not included
by pad-header, pad-oper, and pad-comma.


# a82b066c 05-Feb-2018 Kent McLeod <Kent.Mcleod@data61.csiro.au>

libsel4: Correct type typo in syscalls.h


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


# cfb30f34 05-Sep-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

libsel4: Remove unused argument in seL4_VMEnter syscall

This VCPU argument does not make sense given semantics of the VMEnter syscall,
and as a result the argument is ignored by the kernel.


# 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


# 61f1bd5e 18-Jun-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

seL4_DebugDumpScheduler: remove unused argument


# 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


# aa656604 11-Feb-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Modify FinalizeLog syscall

There is no way to know how many entries the syscall log contains
otherwise. One option was iterating through until finding a 0
terminator, however this requires the log to be zeroed before each
trial. This changes the FinalizeLog syscall to return the number of
entries.


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


# 803dd5c2 24-Nov-2016 Jeff Waugh <jdub@bethesignal.org>

libsel4: Optional public symbols for external interfaces

CONFIG_LIB_SEL4_PUBLIC_SYMBOLS=y will disable inlining for external
interfaces (except deprecated functions), thereby providing public
symbols for easy linkage with other languages.


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


# f56d1ec1 04-Oct-2016 Bamboo <bamboo@keg.ertos.in.nicta.com.au>

[STYLE_FIX]


# 8a0a7814 27-Sep-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

ia32/libsel4: Refactor syscall functions

Refactors syscalls to use common base functions for assembly stubs.
These base functions are duplicated to create the PIC variants.


# 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


# 0fb224b0 30-Aug-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Correct seL4_DebugRun syscall stub

This stub was messed up during the merge of
fbeb95edb927fa1c7f8cd9b0b33d3db1d7725339
this commit corrects


# af77b451 29-Aug-2016 Bamboo <bamboo@keg.ertos.in.nicta.com.au>

[STYLE_FIX]


# fbeb95ed 26-Aug-2016 Alexander Boettcher <alexander.boettcher@genode-labs.com>

x86: support position independent syscall bindings

Fixes #34


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


# 6c6a9252 11-Jan-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-406: fix message length used by seL4_Signal in libsel4


# 44a522dc 18-Aug-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

libsel4: Generate libsel4 definitions from the current ARCH as well as the SEL4_ARCH