History log of /seL4-camkes-master/kernel/libsel4/include/sel4/bootinfo_types.h
Revision Date Author Comments
# c66d9cee 03-Aug-2020 Oliver Scott <Oliver.Scott@data61.csiro.au>

trivial: style and comment

Signed-off-by: Oliver Scott <Oliver.Scott@data61.csiro.au>


# 7316bfc6 19-Sep-2019 Qian Ge <qian.ge@data61.csiro.au>

SMMU: providing master control caps to root task

Adding the master control caps that are used to create transaction
and context banks caps. This commit includes the internal kernel
structure that required to manage any created transaction and
context bank caps.

Signed-off-by: Oliver Scott <Oliver.Scott@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.


# 335b4497 17-Jul-2019 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

Make padding word-size independent

An unfortunate hack that lets us specify padding within one
`sizeof(seL4_Word)`-sized chunk of a struct, indpendently of the size of
a word.


# 7054225e 17-Jul-2019 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

Name anonymous structs

Translation validation reports errors using the "real" struct type name
instead of the typedef name, so having anonymous structs makes debugging
translation validation harder.


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


# f4f375ff 16-Jun-2019 Damon Lee <Damon.Lee@data61.csiro.au>

trivial: Add SEL4_BOOTINFO_HEADER_NUM


# d8c9069c 25-Nov-2018 Simon Shields <simon.shields@data61.csiro.au>

add FDT extended bootinfo type

FDT is not platform specific (and used on RISC-V and ARM), so this
bootinfo type isn't either.


# 761006e0 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: consistently align pointer with name

Run astyle with align-pointer=name


# fa4568ed 10-Aug-2018 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

Drop SEL4_PACKED from types used by seL4.

It has become clear that the 'packed' GCC attribute affects the
memory semantics of C in a way that the verification tools do not
understand. The bootinfo types are used by kernel boot code (not
currently verified, but covered by binary verification) and should
not use this attribute.

This is a source-compatible but not binary-compatible change.


# de42f826 05-Feb-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Introduce IO port control caps

Changes the way IO ports work such that instead of 'minting' IO port caps down into new
IO port caps with smaller ranges new IO port ranges must be allocated centrally from
an IO port control cap. This mechanism acts in a very similar fashion as IRQ handler/control
capabilities and ensures that allocated IO ports do not overlap. Disallowing overlapping
IO ports is necessary to ensure the CDT remains valid as capabilities are deleted.


# ce2efb33 18-Feb-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

Remove archInfo from bootinfo

With extended bootinfo providing a more flexible and extensible form of archInfo this
member can be retired.


# 9a10cfac 18-Feb-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Define tsc frequency bootinfo header


# 734320d7 20-Nov-2017 Alexander Boettcher <alexander.boettcher@genode-labs.com>

x86: add framebuffer info of MBI2 via boot_info


# 023977fc 04-Oct-2017 Alexander Boettcher <alexander.boettcher@genode-labs.com>

x86: Provide copy of RSDP in bootinfo

This gives a rootserver a way to find the ACPI tables in cases where there is no BIOS region
to scan for an RSDP.


# 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


# d13544c7 01-May-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

SELFOUR-865: Pass memory map information to user


# 256c30ae 13-Feb-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Pass VBE information from multiboot through bootinfo


# 7836f76c 12-Feb-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Extend bootinfo to support potentially arbitrary additional structures

This provides a future proof interface for extending the bootinfo region with additional
kinds of optional architecture and platform specific information. The basic idea is to
report the size of a region directly following the bootinfo frame, which is made up of
a series of 'chunks'. Each chunk has an identifier (describing what it is) and a length,
allowing unknown chunks to be skipped in favor of examining the remaining of the chunks.


# e3b39248 12-Feb-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Explicitly pack bootinfo data structures

To prevent the kernel and root server having a different layout of these structs if they are
compiled with different flags etc they should be packed


# 31fe0826 25-Jan-2017 Berkus Decker <berkus@users.noreply.github.com>

Fix typo


# 05bf1ca4 13-Nov-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

libsel4: Reorder bootinfo struct

This reorders the bootinfo struct to place the untyped array as the
last element. Having the array at the end makes the layout of the
information in this struct easier to represent in other languages.


# c86669df 31-Oct-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

x86: export tsc freq in bootinfo

We read the frequency from the platform info MSR and export it to the
user for accurate timing (for platforms that support platform into)


# 1a98a2a3 16-Oct-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

libsel4: Reorder bootinfo struct

This reorders the bootinfo struct to place the untyped array as the
last element. Having the array at the end makes the layout of the
information in this struct easier to represent in other languages.


# 8e77cdb5 21-Sep-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-421: Add padding for untyped in bootinfo


# 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


# 879d9724 13-May-2016 Yanyan Shen <yanyan.shen@nicta.com.au>

arm/tk1: a checkpoint for SMMU implementation


# 289bf92b 05-Jan-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-114: remove bootinfo.h duplication