History log of /seL4-camkes-master/kernel/include/arch/arm/arch/64/mode/object/structures.h
Revision Date Author Comments
# 935714a4 15-Jun-2020 Qian Ge <qian.ge@data61.csiro.au>

SMMU: TLB coherency between MMU and SMMU

The kernel connects ASID used in MMU and context banks used in
SMMU, and conducts TLB invalidation on context banks if a page
entry is invalidated from MMU is also used in SMMU.

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


# a631ee42 25-May-2020 Nick Spinale <nick@nickspinale.com>

aarch64: add missing vcpu cases

Adds missing vcpu cases for some aarch64-specific functions on
capabilities.

Signed-off-by: Nick Spinale <nick@nickspinale.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.


# b1788e02 08-Jul-2019 Anna Lyons <anna@gh.st>

aarch64: add support for 40-bit PA

This commit adds support for using a 40-bit physical addresses in
aarch64-hyp mode.

40-bit PA support is implemented by using a 3-stage translation, with a
13 bit page upper directory as the vspace root. PageGlobalDirectories
are not used in this configuration.

To use 40-bit PAs, platforms should set KernelArmPASizeBits40 to ON.

Co-authored-by: Yanyan Shen <yanyan.shen@data61.csiro.au>
Co-authored-by: Chris Guikema <chris.guikema@dornerworks.com>


# 8af1aa77 16-Jul-2019 Anna Lyons <anna@gh.st>

aarch64: abstract vspace_root in vspace code

On aarch64-hyp the virtual address translation structure can differ
depending on the physical address range. This commit prepares to support
more than a single physical address range by removing the assumption
that the top-level structure in a vspace is a PGD, replacing it with the
concept of a vspace_root.

Specifically:
- add and use macros to refer to vtable bitfield generator functions
- use the existing vspace_root_t type rather than pgde_t
- pull performASIDPoolInvocation into header
- add and use VSPACE_PTR rather than PGDE_PTR
- rename decodeARMVPageGlobalDirectoryInvocation to refer to VSpace
- update comments/error messages
- rename variables


# 56de1ad7 02-Apr-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

aarch64: adjustments to pass c-parser

This commit updates the aarch64 build to pass the c-parser.

- replace 0b constants with decimal
- remove empty array definition
- replace __uint128_t with uint64_t, and double the array size
- remove variable shadowing

No further verification guarantees are provided for aarch64 code.


# 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


# 0348468c 12-Dec-2018 Kent McLeod <Kent.Mcleod@data61.csiro.au>

aarch64: Add pgde enum for tracking hyp hw_asids

aarch64 hyp mode only has support for 8 bit hardware ASIDs. We use the
same strategy used in aarch32 for hardware asids where we maintain a
pool of hwasids that seL4 ASIDs are allocated. The allocation is stored
in the last entry of top level paging structure. This commit
encapsulates this into the bitfield specification in the same way as
aarch32.


# 0b71b332 26-Mar-2018 Yanyan Shen <yanyan.shen@data61.csiro.au>

armv8: Add VCPU_PTR and VCPU_REF


# 942b1bd2 26-Mar-2018 Yanyan Shen <yanyan.shen@data61.csiro.au>

armv8: Add VCPU_SIZE_BITS for EL2


# e289a052 26-Mar-2018 Yanyan Shen <yanyan.shen@data61.csiro.au>

armv8: Add tcbVCPU for EL2 arch_tcb


# 40c61e5c 18-Jun-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Fix licenses (the rest)


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

SELFOUR-879: expose index and entry constants


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

Pass tcb_t to sanitiseRegister instead of arch_tcb_t


# eccaae51 20-Feb-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

s/D61/DATA61/ in license headers for consistency


# 0b2fe8d6 17-Jan-2017 amrzar <azarrabi@nicta.com.au>

aarch64: Initial implementation


# fac16fe8 11-Jan-2017 amrzar <azarrabi@nicta.com.au>

aarch64: add preliminary folders and Makefiles