#
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.
|
#
eb2bdf84 |
|
18-Nov-2019 |
Simon Shields <simon.shields@data61.csiro.au> |
trivial: remove duplicate macro definition
|
#
b5c56244 |
|
07-Oct-2019 |
Simon Shields <simon.shields@data61.csiro.au> |
Create device untypeds at boot for all arches Currently on x86 device untypeds are generated by passing the entire address space minus any parts that are reserved by the kernel or that are "real" memory (e.g. kernel image, physical RAM). On ARM and RISC-V, device untypeds were generated at compile-time from a device tree. This patch moves ARM and RISC-V to use the same approach as x86, and moves the code from x86 into a common location that's shared between the three architectures. Co-Authored-By: Anna Lyons <anna@gh.st>
|
#
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.
|
#
7ee63f9e |
|
27-Jun-2019 |
Japheth Lim <Japheth.Lim@data61.csiro.au> |
ARM boot: add MODE_RESERVED to MAX_NUM_FREEMEM_REG This accounts for the ASID PD hole splitting the main memory region.
|
#
cb7cbd84 |
|
30-May-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
boot: allocate rootserver objects last This change allows us to know, from just the kernel and dtb, where user level untyped objects start being allocated from. - allocate rootserver objects from last available freemem region. - move create_rootserver_objects call into init_freemem.
|
#
e42700a4 |
|
04-Jun-2019 |
Japheth Lim <Japheth.Lim@data61.csiro.au> |
ARM boot: MAX_NUM_FREEMEM_REG++ for new allocator Previously, the boot allocator would do dynamic calculations to minimise fragmentation, then throw away the smallest regions. With the new boot allocator, we can reasonably predict that fragmentation will create at most one extra region, so this commit adds one freemem slot for ARM.
|
#
8586b7f2 |
|
07-May-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
boot: refactor allocation of rootserver objects Prior to this change, the boot process would dynamically allocate memory for root server objects based on the order of initialisation. Allocation was a best-fit algorithm. This change preallocates all memory for root server objects to an aligned untyped just after the user image. By allocating the objects in order of size, allocation is greatly simplified and the ability to reproduce the allocation offline based on the kernel and user image sizes is increased.
|
#
e3a83035 |
|
10-Apr-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
boot: consolidate init_freemem init_freemem sets up available regions of memory for the hardware that seL4 is booting on. Previously this function was duplicated across architectures, with minor duplication. This change provides a top-level init_freemem suitable for all architectures. - arm/riscv: change get_avail_p_reg to return whole p_reg array - update all architectures to use new init_freemem. - wrap init_freemem calls with arch_init_freemem for each arch, where arch_init_freemem sets up the available and reserved regions of memory which are passed to init_freemem.
|
#
a6b4cf73 |
|
09-Apr-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
boot: allocate irq cnode statically The memory used for the irq cnode is never available to the user. As a result this memory can be allocated statically, simplifying the bootcode. - remove allocation of irq cnode - add static init - generate irq cnode size from cmake for arm - add static constants for riscv, x86 as there is no variability at the moment.
|
#
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
|
#
3dc0cb0a |
|
06-Jan-2019 |
Simon Shields <simon.shields@data61.csiro.au> |
Ensure we always have enough freemem regions on ARM
|
#
a2a6be95 |
|
08-Apr-2018 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Define more freemem regions on all architectures except ARM 2 freemem regions is far to prohibitive on platforms that have fragmented initial memory. Ultimately ARM should be changed to also have more than 2, but is being deferred for now as it will result in trivial verification breakage.
|
#
f42d6363 |
|
15-Mar-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
refactor: initialise common core state in one place
|
#
c4395425 |
|
26-Feb-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Remove assumption on 32-bit memory offsets On 64-bit platforms physical address could be >2^32 offset from a virtual address. This changes offsets to match the word size of the target architecture
|
#
c574f4fc |
|
13-Feb-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
Helper for allocating the extra boot info region
|
#
d507b2d3 |
|
09-Feb-2016 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
SELFOUR-421 Introduce explicit device frames and untypeds Kernel objects cannot be created from device untypeds, with the exception of frames, which do not get zeroed and cannot be used as an IPC buffer. Device untypeds additionally cannot be used in the construction of ASID pools. This then changes the API to the rootserver (i.e. bootinfo) to send device untypeds instead of device frames. On ARM these device untypeds are the same as the previously exported device frame regions. On x86 PCI scanning is removed and all physical memory addresses (that are not important for kernel integrity) are released to the user. In order to have bits in the frame and untyped caps on ARM the number of software ASIDs had to be reduced from 2^18 to 2^17, and the maximum untyped size reduced from 2^31 to 2^30
|
#
289bf92b |
|
05-Jan-2016 |
Anna Lyons <Anna.Lyons@nicta.com.au> |
SELFOUR-114: remove bootinfo.h duplication
|
#
68887cd8 |
|
11-Jan-2016 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
x86: Populate the freemem list from the multiboot mem list If the multiboot memory list exists, then it may contain more than just the single contiguous memory region listed in 'mem_upper' Therefore we use it to populate a more complete free memory list, if it exists
|
#
2d61910e |
|
09-Nov-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
Rename uint32_t -> word_t in any relevant places
|
#
91b7da86 |
|
17-Jul-2014 |
TrusthworthySystems <gatekeeper@sel4.systems> |
Release snapshot
|