#
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.
|
#
c06df578 |
|
02-Feb-2020 |
Luca(Wei) Chen <Wei@cvluca.com> |
ARM: Add support to flush L1 caches Extend the existing seL4_BenchmarkFlushCaches without modifing the usage of it. Will be used in sel4bench to measure the cold cache performance.
|
#
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.
|
#
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.
|
#
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.
|
#
c72bdc0c |
|
12-Feb-2017 |
amrzar <azarrabi@nicta.com.au> |
trivial: fix typo
|
#
6428e959 |
|
12-Jan-2017 |
amrzar <azarrabi@nicta.com.au> |
aarch64: Add aarch64 libsel4 implementation
|
#
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.
|
#
1a1110a0 |
|
14-Jan-2016 |
amrzar <azarrabi@nicta.com.au> |
Modify Kconfig and Makefile for aach32 as sel4_arch libsel4: updates to include aarch32 as sel4_arch
|
#
6c6a9252 |
|
11-Jan-2016 |
Anna Lyons <Anna.Lyons@nicta.com.au> |
SELFOUR-406: fix message length used by seL4_Signal in libsel4
|
#
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).
|
#
052feb22 |
|
09-Nov-2015 |
Anna Lyons <Anna.Lyons@nicta.com.au> |
trivial: move seL4_Notify to deprecated.h
|
#
aef03c32 |
|
01-Nov-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
libsel4: Restrict syscall stub compilation at -O0 The 'WithMRs' variants of the syscall stubs are known to be broken on ARM with GCC at -O0. This commit prevents the generation and usage of these stubs when -O0 is set in the common tool configuration options. Due to limitations in specifying Kconfig constraints, and to preserve the existing meaning of the Kconfig variables, the 'LIB_SEl4_STUBS_USE_IPC_BUFFER_ONLY' config variable has to be duplicated with two variants, one for use when the user is free to pick either and one hidden for when selection has to be forced. Also to prevent the sub options from not appearing in the libsel4 submenu I had to change libsel4 to be a 'true' menu instead of a 'menuconfig' This commit closes SELFOUR-187
|
#
d9802d17 |
|
08-Oct-2015 |
Anna Lyons <Anna.Lyons@nicta.com.au> |
Add seL4_NBWait: non blocking wait for notifications and endpoints.
|
#
79be32ac |
|
12-Oct-2015 |
Anna Lyons <Anna.Lyons@nicta.com.au> |
AEP -> Notification: deprecate old API syscalls, functions and constants that refer to AEP's and introduce new ones that refer to Notifications
|
#
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.
|
#
f15814b7 |
|
26-Jul-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
libsel4: Remove old stdint include
|
#
e653f8f6 |
|
09-Jul-2015 |
Wink Saville <wink@saville.com> |
Streamline libsel4 and remove its libc dependencies. There are now separate libs for benchmark, assert, printf, putchar start/stop: libs/libsel4benchmark libs/libsel4assert libs/libsel4printf libs/libsel4putchar libs/libsel4startstop The primary changes are introducing sel4/sel4.h and removing std* types plus porting assert and IO code from the kernel to libsel4assert, libsel4printf, libsel4putchar. This means the code within libsel4 and the newlibs do not overload any typical libc entities. Instead the libraries use types like seL4_Uint32 ... instead of uint32_t. And printf is now seL4_Printf and assert is seL4_Assert .... Finally, the only file modified that effects kernel code is kernel/tools/bitfield_gen.py. It needed to be modified as it generates files for both kernel and user space. And for user space the generated code (types_gen.h) needed to use the new types and asserts. The changes should not change what is generated for the kernel and I did a comparison of kernel_final.{c|s} before and after my change and the only differences were time stamps. Bug: #15 Streamline kernel/libsel4 and remove its libc dependencies
|
#
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
|
#
09b22d3f |
|
12-Jan-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
Trivial: style
|
#
0adf2124 |
|
12-Jan-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
libsel4: Ensure the ARM syscall stubs always treat instances of seL4_MessageInfo as POD A C++ compiler will attempt to interpret 'return info' as an invocation of a copy constructor. Even though the copy constructor is auto-generated (and eventually completely eliminated due to inlining) and just does obvious member copying it still results in an intermediate invocation that must take a reference to 'info'. Because 'info' is a register variable it is not permissable to take a reference to it. Manually reconstructing a new info from the .words keeps everything as Plain Old Data
|
#
91b7da86 |
|
17-Jul-2014 |
TrusthworthySystems <gatekeeper@sel4.systems> |
Release snapshot
|