#
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/*
|