History log of /seL4-l4v-10.1.1/seL4/src/arch/arm/32/machine/fpu.c
Revision Date Author Comments
# 60e2acdb 22-Oct-2017 Yanyan Shen <yanyan.shen@data61.csiro.au>

arm/hyp: add support for running multiple ARM VMs

This commit saves/restores various control registers that can be
modified by guest VM kernels, so seL4 can execute multiple ARM
32-bit VMs multiplexing a single physical core.

When the CONFIG_HAVE_FPU option is selected, the commit allows
the VMs to use FPU registers and enables lazily saving/restoring
FPU registers for the VMs.


# 87d4f7bf 21-Mar-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

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.


# e0281bbc 21-Mar-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

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.


# 586bb8ef 28-Jun-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-806: ARM/SMP/FPU - Support remote FPU switch


# 64d576fb 12-Jun-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-806: aarch32 - Implement lazy FP save/restore

This commit implements lazy FP save/restore mechanism, required for user threads
when they use the FPU. The following caveats take place:

* Only support synchronous exceptions. No support for asynchronous ones.
* VFP opcodes are used instead of normal instructions to discard compiler warnings/errors.
* Support is limited to specific ARM subarchitectures we support and tested this commit on.
* Disable the FPU by default if users are not using it to avoid channels.
* FPU support is not verified yet.
* Will not work properly if using a VM that's running besides other VMs/threads that are using the FPU.