History log of /seL4-refos-master/libs/libsel4/sel4_arch_include/x86_64/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.


# 258d9d0b 21-Aug-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

libsel4: Correct call for seL4_X86DangerousRDMSR

x64_sys_recv now requires an additional argument that is used for MCS
and ignored for mainline.


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


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


# 71a2c538 20-Oct-2018 Jimmy Brush <code@jimmah.com>

[libsel4] fix building with LibSel4FunctionAttributes

Correct exported functions that were still defined as 'static inline' to
use LIBSEL4_INLINE_FUNC so that they can be controlled by
LibSel4FunctionAttributes.

This is important to other languages that want to bind to the libsel4
static library instead of using the inline C functions.


# 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


# 90b3e757 10-Apr-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

libsel4: fix warning in seL4_BenchmarkSetLogBuffer


# 8c02bc13 10-Apr-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

x64: implement seL4_BenchmarkFlushCaches

by moving the ia32 implementation up a level to x86
and implementing the syscall stub.


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


# eccaae51 20-Feb-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

s/D61/DATA61/ in license headers for consistency


# 55d7a386 06-Dec-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

libsel4: seL4_VMEnter syscall for x86-64


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


# 78009dd2 28-Nov-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-675: x64: Increase message registers from 2 to 4


# b90238d0 19-Oct-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

Replace #pragma once with include guards


# 3c01da70 19-Oct-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

Trivial: correct x86_64 seL4_BenchmarkReset() return value


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

[STYLE_FIX]


# 067b71ca 26-Sep-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x64/libsel4: Add x64 libsel4 implementation