Adrian Danis
12a1a61686
riscv: Respect read only mappings
...
Previously write permissions would be given to mappings that were marked as VMReadOnly
2018-04-18 10:10:14 +10:00
Adrian Danis
5300421eac
riscv: Implement executable attribute
...
Passes the executable attribute from the VMAttributes given by the user into the creation
of the page table entry.
2018-04-18 10:10:14 +10:00
Adrian Danis
5b17cd9648
riscv: Missing arch cap abstractions
...
These are needed after rebase
2018-04-18 10:10:14 +10:00
Adrian Danis
aafa594258
RISCV: Place TODOs in the source
2018-04-18 10:10:14 +10:00
Hesham Almatary
83ba084713
[SELFOUR-1156] RISC-V Port
...
Experimental release that supports both RV32 and RV64
2018-04-18 10:10:14 +10:00
Yanyan Shen
511be7d91d
armv8/hyp: Call invalidateASIDEntry
2018-04-17 15:32:48 +10:00
Yanyan Shen
28368e4492
armv8/hyp: Use invalidateTLBASID/ASIDVA functions
2018-04-17 15:32:48 +10:00
Yanyan Shen
49cff315eb
armv8/hyp: Add ASID/TLB helper functions
2018-04-17 15:32:48 +10:00
Yanyan Shen
f97604c34e
armv8/hyp: Add VMID reuse code
2018-04-17 15:32:48 +10:00
Yanyan Shen
d23a02f3e4
armv8/hyp: Add HW ASID variables
2018-04-17 15:32:48 +10:00
Yanyan Shen
6ad387d2bf
armv8/hyp: Dissociate VCPU when deleting a thread
2018-04-17 15:04:42 +10:00
Yanyan Shen
b6e201ab07
armv8/hyp: Parse inputs for VCPUInjectIRQ
2018-04-13 09:51:41 +10:00
Yanyan Shen
aeb2e4e426
armv8/hyp: Sync the status of vgic.lr
2018-04-13 09:51:41 +10:00
Yanyan Shen
3d9962eb20
arm/hyp: Call aarch64 VCPU functions
2018-04-13 09:51:41 +10:00
Yanyan Shen
f17d12b3b5
arm/hyp: Call aarch64 vcpu_enable/disable code
2018-04-13 09:51:41 +10:00
Gerwin Klein
d1335fdbad
stricter test for max object size
...
The previous test with word_bits was sufficient on 32 bit platforms, but
64 bit platforms may set a much smaller value for seL4_MaxUntypedBits in
relation to word_bits.
2018-04-11 08:01:16 +10:00
Gerwin Klein
ab313d62b0
avoid shift overflow for large Untyped's on 64bit platforms
2018-04-11 08:01:07 +10:00
Yanyan Shen
a72f8beb8b
arm/hyp: ksCurThread -> NODE_STATE(ksCurThread)
2018-04-06 13:44:53 +10:00
Yanyan Shen
bc162cae6a
armv7/hyp: Move v7 hyp code to armv7-a/armv/vcpu.h
2018-04-06 13:44:53 +10:00
Yanyan Shen
7f7a12c383
arm/hyp: uint32_t -> word_t
2018-04-06 13:44:53 +10:00
Yanyan Shen
e2bb6b2949
arm/hyp: Move common HCR macros to vcpu.h
2018-04-06 13:44:53 +10:00
Yanyan Shen
094fddb79d
arm: Move VGIC code to gic_pl390 files
2018-04-06 13:44:53 +10:00
Kent McLeod
53b86d0e9d
cmake: Add missing KernelArmCortexA7 variable
...
If this isn't explicitly set to off like the others, it ends up being
defined
2018-04-06 09:19:59 +10:00
Yanyan Shen
07b29e79fa
armv8: Fix style
2018-04-04 14:21:53 +10:00
Yanyan Shen
dca5dff28b
armv8/hyp: Flush cache by kernel VA in EL2
2018-04-04 11:30:23 +10:00
Yanyan Shen
d7ea407587
armv8: memzero an ASID pool with seL4_ASIDPoolBits
2018-04-04 11:30:23 +10:00
Yanyan Shen
a430d97e28
armv8/hyp: Switch VCPU in setVMRoot when HYP is on
2018-04-04 11:30:23 +10:00
Yanyan Shen
e43e4186bc
armv8/hyp: Handle VM faults triggered by VCPUs
2018-04-04 11:30:23 +10:00
Yanyan Shen
a4f3fb285c
armv8/hyp: Use S2 format for userland if HYP is on
2018-04-04 11:30:23 +10:00
Yanyan Shen
c31f31b8e7
armv8/hyp: Support EL2 stage-1 for kernel VSpace
2018-04-04 11:30:23 +10:00
Yanyan Shen
a948887cfc
armv8/hyp: Map AP to stage-2 access permissions
2018-04-04 11:30:23 +10:00
Yanyan Shen
d4752177a0
armv8/hyp: Add stage-2 memory attributes
2018-04-04 11:30:23 +10:00
Yanyan Shen
f563916076
armv8/hyp: Enable FPU in EL0/1 when HYP is on
...
The disableFpu() for EL2 traps any FPU instruction to EL2 even
if the FPU is enabled for EL0/1 in CPACR_EL1. For EL2, we
use CPTR_EL2 to enable/disable trapping FPU instructions.
Therefore, we enable FPU for EL0/1 by default so that no additional
exceptions will be generated when we enable FPU access in CPTR_EL2.
2018-04-04 10:52:16 +10:00
Yanyan Shen
a07de033d6
armv8: Add isFPUEnabledCached for each core
2018-04-04 10:52:16 +10:00
Yanyan Shen
5cf1d386d2
armv8: Fix style
2018-04-03 13:48:39 +10:00
Yanyan Shen
d6ea386129
armv8/hyp: Add cap_vcpu_cap in objecttype.c
2018-03-28 12:15:09 +11:00
Yanyan Shen
d8d006fab9
armv8/hyp: Add armHSCurVCPU and armHSVCPUActive
2018-03-28 12:15:09 +11:00
Yanyan Shen
6ae2ad9e21
armv8: Add HVC64 and VCPU faults handlers for EL2.
2018-03-28 11:17:58 +11:00
Yanyan Shen
4a67506cd3
armv8: Add EL2 support for kernel exit code
2018-03-28 11:17:58 +11:00
Yanyan Shen
89a0335018
armv8: Load kernel stack in invalid_vector_entry
...
The halt may call printf, so we set up the kernel stack.
2018-03-28 11:17:58 +11:00
Yanyan Shen
94255c728c
armv8: Load kernel stack in cur_el_sync
...
The halt may call printf, so we set up the kernel stack.
2018-03-28 11:17:58 +11:00
Yanyan Shen
5a01e5b275
armv8: Add ELR, ESR, SPSR, and TPIDR for EL2
2018-03-28 11:17:58 +11:00
Yanyan Shen
d624bb2c8b
armv8: Generalise label names for EL1/2
2018-03-28 11:17:58 +11:00
Yanyan Shen
c2b5d4ad91
armv8: Introduce ELR, ESR, SPSR, and TPIDR for EL1
2018-03-28 11:17:58 +11:00
Yanyan Shen
a47d4b8759
armv8: Generalise ESR shift and constants
2018-03-28 11:17:58 +11:00
Bruce Mitchener
b942a50441
Fix trivial comment typos.
2018-03-27 10:51:26 +11:00
Gerwin Klein
54dd138005
make TCB offset parametric in verification annotation
2018-03-26 09:03:01 +11:00
Adrian Danis
87d4f7bf31
arm: Inform user when not using a supported FPU
...
This just provides potentially useful information to the user to alert them when they
have configured a kernel without FPU support but are in fact running on a system that
has a usable FPU.
2018-03-23 12:29:33 +11:00
Adrian Danis
e0281bbccb
arm: Make supportsAsyncExceptions always visible in compilation
...
This function has no dependencies and can be visible with or without FPU being enabled.
Having it visible will allow for using it to provide better information to the user
when CONFIG_HAVE_FPU is disabled.
2018-03-23 12:29:33 +11:00
Adrian Danis
5bb06b08ce
cmake: Set correct FPU variable
2018-03-23 12:29:33 +11:00