History log of /seL4-camkes-master/kernel/include/arch/arm/arch/32/mode/object/structures.h
Revision Date Author Comments
# 1a9756f6 09-Sep-2019 Qian Ge <qian.ge@data61.csiro.au>

SMMU: basic driver for init and probing

Introducing the driver in kernel for detecting SMMU features
and initialise the hardware.

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.


# 232b0e86 15-Oct-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

arm_hyp: Move PGD definitions out of libsel4

The PGD constants refer to the top level mapping object used by the
kernel for its own private mappings. Userlevel cannot create any PGD
objects and so these constants don't belong in libsel4.


# 142bf9b1 21-Mar-2019 Sylvain Gauthier <sylvain.gauthier@data61.csiro.au>

More standard constant name, moved ASID constants to arch generic files


# f6e5e218 20-Mar-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Remove symlinked libsel4 files from include dir

These files can be included normally using libsel4 include paths. This
removes situations where the same file is available under different
include paths due to symlinking into different directory structures.


# 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


# 8bf7c55d 05-Dec-2018 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

Dedup user_data and user_data_device definitions.

These are reasonably expected to exist on every platform by the
UMM type generator. They also had identical definitions, so we
consolidate them.


# 7ec01d09 17-May-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

ARM32: typedef vspace_root_t

Similar to x86, and avoid #ifdefs in fastpath.c arch-independent code


# 9ca253a3 07-May-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-879: expose index and entry constants


# de6d4772 30-Mar-2017 Rafal Kolanski <rafal.kolanski@nicta.com.au>

rename arch_tcb.vcpu -> arch_tcb.tcbVCPU, vcpu.tcb -> vcpu.vcpuTCB

struct vcpu { struct tcb* tcb; ...
struct arch_tcb { struct vcpu* vcpu; ...
and
struct tcb { struct arch_tcb tcbArch; ...

These conspire to generate a type error on verification side due to
assumptions about non-colliding names.


# ccd9020b 29-Jan-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Pass tcb_t to sanitiseRegister instead of arch_tcb_t


# f709e494 22-Jan-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

arm: SELFOUR-781: Only allow threads with VCPU to run outside user mode

Previously any thread could be set to run in any mode (except HYP mode).
Whilst this causes no security issues for the kernel, different execution
modes in ARM have different banked registers. These registers are not
currently saved and restored allowing for threads to manipulate registers
that will be seen (or potentially are being actively used) by other threads.

Saving and restoring these banked registers for all threads is a performance
cost (even if only done for the actual mode the thread runs in) for no real
benefit, as there is no clear reason to run a thread in other modes if you
do not have a vcpu. Therefore this commit restricts being in modes other than
user to threads that have a vcpu. When multiple VCPUs are properly supported
the switching of VCPUs will then save/restore these banked registers.


# 2d74ae7e 12-Apr-2016 Joel Beeren <joel.beeren@nicta.com.au>

SELFOUR-421: Arch_createObject changed to use new user_data_device in ghostupdates for device pages


# 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


# 4491cae5 29-Aug-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-556: Rationalize BITS vs INDEX_BITS

s/PGD_BITS/PGD_INDEX_BITS
Current convention is to say that X_BITS is the log base 2
size of an object, not the log base 2 number of indices


# 35c50cfd 29-Aug-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-556: Rationalize BITS vs INDEX_BITS

s/PD_BITS/PD_INDEX_BITS
Current convention is to say that X_BITS is the log base 2
size of an object, not the log base 2 number of indices


# f251953f 29-Aug-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-556: Rationalize BITS vs INDEX_BITS

s/PT_BITS/PT_INDEX_BITS
Current convention is to say that X_BITS is the log base 2
size of an object, not the log base 2 number of indices


# 1103e5a3 28-Aug-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-556: Rationalize BITS vs INDEX_BITS

s/ASID_POOL_BITS/ASID_POOL_INDEX_BITS
Current convention is to say that X_BITS is the log base 2
size of an object, not the log base 2 number of indices


# 382dc2d6 07-Jul-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-554: Update archCapIsPhysical

VCPU and IO page table caps were not added to archCapisPhysical,
this commit fixes that and marks them as physical objects


# 7a113a20 21-Jun-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

arm-hyp: Remove EXPECTED_TCB_SIZE

This definition was removed from master


# 8541b873 20-Jun-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

SELFOUR-516 Remove EXPECTED_TCB_SIZE


# fd2f5ec8 15-Jun-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

Explicitly check if a capability is physical or not

Previously the return value of cap_get_capPtr was compared to 0 in
sameRegionAs to emulate a check in the abstract specification that
tests if the cap is a physical cap or not. Overloading 0 results
in a scenario where a legitimate deviceUntyped's children do not
get considered to be children because they have a capPtr of 0.

This change adds and explicit function that returns whether or not
a capability is physical or not, and uses that in sameRegionAs


# 48555c38 07-Jun-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

arm-hyp: Hide iospace caps being #ifdef

These cap type existing, even if unused, break the original verification


# 5f0ae410 02-Jun-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

arm-hyp: Minor cleanups

Cleanup some small licensing, whitespace and configuration details


# 55f8b144 26-May-2016 Yanyan Shen <yanyan.shen@nicta.com.au>

arm-hyp/tk1: address review comments.


# 11720f23 19-May-2016 Yanyan Shen <yanyan.shen@nicta.com.au>

arm-hyp/tk1: fix bugs found during testing


# 508e8747 16-May-2016 Yanyan Shen <yanyan.shen@nicta.com.au>

arm/tk1: connect objects with SMMU invocations


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

arm/tk1: a checkpoint for SMMU implementation


# 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


# 3fc76c25 15-Jan-2016 amrzar <azarrabi@nicta.com.au>

Rearranging headers for aarch32 to 32/mode/*