#
5a341610 |
|
01-Aug-2020 |
Stefan O'Rear <sorear@fastmail.com> |
Do not generate data symbols for enums With clang 11 these become bss symbols rather than commons, resulting in multiple definition errors at link time. gcc 10 is likely to expose the same issue. Signed-off-by: Stefan O'Rear <sorear@fastmail.com>
|
#
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.
|
#
2329cd81 |
|
14-Mar-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: add seL4_SchedContext_YieldTo Implement seL4_SchedContext_YieldTo, which allows users to manipulate the scheduling queues up to their MCP and can be used for user level scheduling.
|
#
a38e62f2 |
|
28-Feb-2018 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: timeout exceptions - Add seL4_TCB_SetTimeoutEndpoint - implement timeout exceptions
|
#
106b893e |
|
23-May-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: configurable scheduling context size This allows users to define custom amounts of refills without increasing the scheduling context size system wide. also add libsel4 functions for refill size
|
#
a22cb3d1 |
|
23-Nov-2016 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: associate scheduling context + ntfn This commit allows scheduling contexts to be bound to notification objects. When a passive server receives a notification it will receive the scheduling context from the notification. When the server blocks the scheduling context is returned.
|
#
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.
|
#
34c1f920 |
|
03-Nov-2016 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: add periodic scheduling This commit adds periodic scheduling with sporadic servers.
|
#
952134d1 |
|
27-Oct-2016 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: Add a scheduling context object This is the first part of the seL4 MCS. This commit: * adds a scheduling context object. Threads without scheduling context objects cannot be scheduled. * replaces tcbTimeSlice with the scheduling context object * adds seL4_SchedControl caps for each core * adds seL4_SchedControl_Configure which allows users to configure amount of ticks a scheduling context has, and set a core for the scheduling context. * adds seL4_SchedContext_Bind, Unbind and UnbindObject, which allows a tcb to be bound to a scheduling context.
|
#
f3fbf855 |
|
29-Apr-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
libsel4: add seL4_VspaceBits This constant represents the size of the root page table.
|
#
142bf9b1 |
|
21-Mar-2019 |
Sylvain Gauthier <sylvain.gauthier@data61.csiro.au> |
More standard constant name, moved ASID constants to arch generic files
|
#
76faadc9 |
|
06-Dec-2018 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
Add seL4_UserTop and move kernelBase to the arch level - seL4_UserTop is a new constant which represents the top of virtual memory available to user level - this commit also rationalises several constants (USER_TOP, kernelBase) and moves them to the arch level, such that ports only need to define seL4_UserTop.
|
#
f12d6fdc |
|
20-Mar-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Increase seL4_TCBBits ready for alignment increase The alignment of the tcb_t portion of a TCB object is going to be increased, this will cause the total TCB size to overflow in some cases. This updates the definition of seL4_TCBBits such that TCBs will be large enough after the alignment change.
|
#
d2644e8a |
|
26-Oct-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Declare and check IPC buffer size Adds a named constant of the IPC buffer size bits that can be used when checking the size/alignment of an IPC buffer. This constant has a compile time assertion to ensure it corresponds to the actual IPC buffer
|
#
4c8be8f4 |
|
21-Aug-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
x86: Increase TCB size for debug builds Debug builds require one additional byte in the TCB to have a NULL terminated tcb name.
|
#
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
|
#
9ca253a3 |
|
07-May-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
SELFOUR-879: expose index and entry constants
|
#
beddca16 |
|
21-Mar-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
libsel4: Add seL4_FastMessageRegisters This allows benchmarks and utility code to only set registers in the ipc buffer as required.
|
#
2cd909b2 |
|
15-Mar-2017 |
Hesham Almatary <hesham.almatary@data61.csiro.au> |
ia32: remove unsued ia32KSGlobalPDPT and PDPT defines
|
#
80ae3286 |
|
29-Nov-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
ia32: Support larger XSAVE region sizes
|
#
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
|
#
8d0ed702 |
|
31-Oct-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Use correct seL4_MaxUntypedBits This change uses the seL4_MaxUntypedBits constant in decodeUntypedInvocation when checking the size of the requested allocation. This constant is also changed to be the correct value. The verification team suspects this check is probably unnecessary, but have also resolved not to waste more time investigating.
|
#
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.
|
#
7d50c439 |
|
26-Sep-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Defined untyped size ranges in libsel4
|
#
bebfcf6d |
|
23-Jun-2016 |
Kofi Doku Atuah <kofi.dokuatuah@nicta.com.au> |
SELFOUR-499: X86, ARM: Add userspace invocations for hardware debugging This commit implements the body of SELFOUR-499. The API exposes the x86 DR0-7 and ARM coprocessor 14 features to userspace by virtualizing them as context- switched registers in the TCB. Implemented as TCB invocations. This feature is only built when CONFIG_HARDWARE_DEBUG_API is selected. * Add low-level support routines for setting, unsetting, getting, enabling and disabling breakpoints. * Add support for single-stepping as well. ^ Single-stepping is not supported on ARMv6 since the hardware doesn't have support. ^ ARM implements single-stepping as instruction breakpoints configured to fault on every instruction -- this is achieved through the "mismatch" mode, which is only supported from ARMv7 onwards. * Also support explicit software break requests, a la "BKPT" and "INT $3". * New invocations: * seL4_TCB_SetBreakpoint(). * seL4_TCB_GetBreakpoint(). * seL4_TCB_UnsetBreakpoint(). * seL4_TCB_ConfigureSingleStepping(). * New constants: ^ Event types: ^ seL4_InstructionBreakpoint. ^ seL4_DataBreakpoint. ^ seL4_SoftwareBreakRequest. ^ Access types: ^ seL4_BreakOnRead. ^ seL4_BreakOnWrite. ^ seL4_BreakOnReadWrite. ^ Exports: ^ seL4_NumHWBreakpoints. ^ seL4_NumExclusiveBreakpoints. ^ seL4_NumExclusiveWatchpoints. ^ seL4_NumDualFunctionMonitors. ^ seL4_FirstBreakpoint. ^ seL4_FirstWatchpoint. ^ seL4_FirstDualFunctionMonitor. See documentation in the seL4 API manual.
|
#
45622671 |
|
26-Sep-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
x86: Define large frame types
|
#
f34f354a |
|
16-Aug-2016 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
SELFOUR-617: one source of memory object sizes Adds the following constants to libsel4 and uses them in the kernel. seL4_SectionSize (arm) seL4_SuperSectionSize (arm) seL4_HugePageSize (x86 - pae) seL4_LargePageSize (arm) seL4_DataFault seL4_InstructionFault
|
#
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.
|
#
e7c6140c |
|
26-Apr-2016 |
Hesham Almatary <Hesham.Almatary@nicta.com.au> |
Benchmarks: Add definition of seL4_LogBufferSize to x86 Updates SELFOUR-446
|
#
cfcaf49c |
|
31-Jan-2016 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
SELFOUR-399: object sizes and globals frame addr should come from the same source
|
#
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
|