History log of /seL4-l4v-10.1.1/seL4/src/api/syscall.c
Revision Date Author Comments
# a04b5ea9 04-Jul-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

Add UNUSED tags

These variables end up unused if DEBUG_BUILD is enabled but PRINTING is not


# 94f22865 11-Mar-2018 Jonas Claeson <jonas.cl@protonmail.com>

Add thread name to debug info for SysDebugHalt and SysDebugSnapshot


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


# 1fc281e7 22-Nov-2017 Claudia Tu <claudia.tu@unsw.edu.au>

Add CONFIG_ to syscall.c and add missing include file


# 74a741b5 14-Nov-2017 Claudia Tu <claudia.tu@unsw.edu.au>

Fix typo


# 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


# 0abc7202 04-Apr-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

s/DEBUG/CONFIG_DEBUG_BUILD/

DEBUG definition is not supposed to be used in the kernel, rather CONFIG_DEBUG_BUILD,
which can be toggled separately to user notion of DEBUG


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


# 50995b4c 15-Feb-2017 Jack Suann <Jack.Suann@data61.csiro.au>

Replace Arch_handleInterrupt with Arch_finaliseInterrupt


# 9f67d21c 14-Feb-2017 Jack Suann <Jack.Suann@data61.csiro.au>

x86: Handle pending interrupt before scheduling thread in handleSyscall

In handleSyscall the current thread may be preempted to handle a pending interrupt.
With kernel mode interrupts in x86 this handling was delayed until we were about
to switch back to user mode. This change unifies the handling with ARM, where the
interrupt is handled prior to calling the thread scheduler.


# 6eb2ea50 29-Nov-2016 Kofi Doku Atuah <kofidoku.atuah@data61.csiro.au>

Add userError messages


# 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


# 25bb9437 24-Oct-2016 amrzar <azarrabi@nicta.com.au>

SELFOUR-635: support for TCB operations
This will update TCB invocations to consider multicore environment, this may include:
- adds the affinity invocation to transfer TCB between different cores and update TCB structure for core ID
- checking the thread/core state before performing TCB operation, e.g. deleting the runnable TCB, etc


# 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


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

Benchmark: Pack arch-independent benchmark-related files into separate directories


# 3f9eb7c8 06-Oct-2016 amrzar <azarrabi@nicta.com.au>

SELFOUR-632: implement cores non-architecture dependent structres


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

SELFOUR-603 - Benchmark: Add null syscall


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

SELFOUR-538: Avoid out of bounds read in debug mode


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

Benchmark: Implement per-thread reset syscall


# ef00e986 21-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-615: arm entry point stubs


# 4c57e6e5 28-Jul-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

define arch entry hooks instead


# a217102b 27-Jul-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

Consolidate benchmark entry/exit

Move the benchmark pre/post ambles into the now existing entry/exit
hook functions


# 3c05b79a 27-Jul-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

Provide generic C entry/exit hook routines

It can be deseriable to run code before/after user mode, but
not have to write it in assembly. This commit adds such stubs
that get called as the first/last C code when coming in
and out of the kernel


# 49510f9d 22-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-624: remove redundancy in io.[c|h]

And clean up a bit while we are there


# 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


# ce2c058f 06-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-607: inline remaining irq path functions


# 8d8cdba3 05-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

trivial: fix bbone build


# c6247d36 27-Jul-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-526: Refactor benchmark/debug syscall kernel entry


# 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


# fb98d91e 14-Jun-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

trivial: fix warning when benchmarks enabled


# 0b1456d7 07-Jun-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

Benchmark: include scheduler time


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

Default MAX_NUM_TRACE_POINTS to 0 for compatibility

Some libraries and apps assume MAX_NUM_TRACE_POINTS = 0
if benchmarks are disabled.


# 5105c089 01-Jun-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

trivial: style


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


# d93699c9 04-Jan-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-114: remove duplication of seL4_MessageInfo_t, adjust naming to avoid cparser mangling


# 59ec7c9a 15-Dec-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

Fix: Make settings actually take effect on spurious interrupt reporting.

The `IRQ_REPORTING` configuration variable is documented to affect whether
undelivered and spurious interrupts are reported, but it previously only
affected whether undelivered IRQs were reported. Spurious interrupts were
always reported leading to needless UART spam when you were not debugging an
interrupt issue.


# a0e5db7a 14-Dec-2015 Anna Lyons <Anna.Lyons@nicta.com.au>

Add debug functionality to print the kernel entry reason and arguments at any point in the kernel


# 171824f7 07-Dec-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

Change additional int->word_t due to interraction with the C parser to ease verification


# 2d61910e 09-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

Rename uint32_t -> word_t in any relevant places


# fee26a88 02-Jun-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

Change casting from int->long to be compatible with both 32 and 64 bit compilations


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


# 54603123 19-Oct-2015 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-317: rename async endpoint to notification object, and other
fallout.


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

Add seL4_NBWait: non blocking wait for notifications and endpoints.


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


# e82953a1 01-Sep-2015 Stephen Sherratt <Stephen.Sherratt@nicta.com.au>

Removed CONFIG_BENCHMARK config option. All checks for '#ifdef CONFIG_BENCHMARK' replaced with '#if CONFIG_MAX_NUM_TRACE_POINTS > 0'.


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

Added support for using multiple tracepoints at the same time.


# f15959a7 14-Jul-2015 Joel Beeren <joel.beeren@nicta.com.au>

SELFOUR-220: only delete reply cap when waiting on sync endpoint


# 0b8627b0 19-May-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

Trivial: Fix comment typo.


# 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