#
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.
|
#
0e62bc3a |
|
01-Dec-2019 |
Victor Phan <Victor.Phan@data61.csiro.au> |
Move vcpu_switch into Arch_switchToThread Currently the vcpu_switch function is called in the setVMRoot function after possible early returns. In order to make sure the vcpu is always switched, the call is moved into Arch_switchToThread before the call to setVMRoot.
|
#
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
|
#
5646f774 |
|
20-Mar-2019 |
Curtis Millar <curtis.millar@data61.csiro.au> |
RFC-3: Update user context for ARM with thread IDs Switched appropriate naming conventions. Was using the aarch64, have switched to aarch64 names. TIPDRURW -> tpidr_el0 TPIDRURO -> tpidrro_el0 TPIDRPRW -> tpidr_el1 Switch TLS register on aarch32 from TPIDURO (tpidrro_el0) to tpidr_ro so that it can be written to from user-land. Thread ID registers tpidr_el0 have been added to the user context for aarch32 and aarch64. Only the thread ID that is writeable from EL0 is saved in the TCB and saved/restored on context switch. Thread IDs that are only changed within a VM (the read-only thread ID for exception level 0 and the thread ID for exception level 1) are stored in the VCPU and saved and stored as part of VM enable/disable. Thread IDs that are only changed with VMs have been separated out into hypervisor code.
|
#
a0ae9f76 |
|
13-May-2019 |
Yanyan Shen <yanyan.shen@data61.csiro.au> |
armv8: Save/restore TPIDRRO_EL0 for VCPUs TPIDRRO_EL0 is used as IPC Buffer for seL4-native threads. The register should be saved and restored for VCPUs.
|
#
d0930f67 |
|
18-Mar-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
style: consistently attach return type Add attach-return-type to astyle
|
#
3f702e5d |
|
09-Aug-2018 |
Curtis Millar <curtis.millar@data61.csiro.au> |
Erroneous `const` attribute from void function. This raises compile errors when compiling for aarch64. From the [GCC Manual](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes): > Note that a function that has pointer arguments and examines the data > pointed to must _not_ be declared const.
|
#
57fa0e0f |
|
07-Aug-2017 |
Hesham Almatary <hesham.almatary@data61.csiro.au> |
Share linker.h between architectures
|
#
ae9fe9b5 |
|
07-Aug-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
aarch64: Use tpidrro_el0 for IPC buffer instead of tpidr_el0 Changing the register used for the IPC buffer is useful as the standard TLS model for aarch64 is to use tpidr_el0 for the thread pointer, which we are presently using for the IPC buffer. This therefore paves the way for implementing proper TLS support on aarch64. Since we are not using tpidr_el0 for the IPC buffer we need to save/restore (or at least clear) this register on thread switch to prevent it being a user channel. Saving and restoring of it is achieved by ensuring CONFIG_IPC_BUF_TPIDRURW is not set, which as we are no longer using this strategy this will be the case. To that end as aarch64 only has one IPC buffer strategy this commit makes the choice of IPC buffer strategy dependeont on aarch32.
|
#
40c61e5c |
|
18-Jun-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
Fix licenses (the rest)
|
#
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
|