History log of /seL4-l4v-10.1.1/seL4/src/arch/arm/c_traps.c
Revision Date Author Comments
# 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.


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

Fix licenses (the rest)


# 551e73f2 02-May-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Check for configuration variables being 'defined' instead of 'true'

This is to conform with existing style of checking configuration options


# 93cc22b2 09-Mar-2017 amrzar <azarrabi@nicta.com.au>

smp: fix bugs when stalling remote core

- Restart TCB from inside the lock if it is waiting for anything other than IRQ
- Only replace the TCB with idle thread if it is in ThreadState_RunningVM state

Also, this makes the design generic to be shared with arm.


# e8d3672c 01-Mar-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-745: ARM/SMP - Add lock/unlock code to kernel entry/exit points


# 8610061a 23-Feb-2017 amrzar <azarrabi@nicta.com.au>

aarch64: FPU lazy context switch


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

s/D61/DATA61/ in license headers for consistency


# 48d17e1f 16-Jan-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

ARM/SMP: Prepare for ARM SMP adding stubs

Currently building ARM/SMP is broken. This commit:
1- Makes it possible to build ARM/SMP with stubs. Run-time SMP for ARM
DOES NOT WORK.
2- Can be a reference for future SMP targets to follow in order to
layout/add the minimal required files and functions needed to support SMP.
3- Builds for Sabre only. In order to support other platforms, ipi
interrupt ID should be defined in machine.h


# 743bdc9c 03-Jan-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

ARM: Correct benchmark entry logging


# 706eca6a 02-Jan-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

trivial: correct usage of TRACK_KERNEL_ENTRIES


# f658276a 03-Aug-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

Remove many DONT_TRANSLATE markers.

The vast majority of the DONT_TRANSLATE markers in the kernel are used
to hide __asm__ statements and builtin functions
(e.g. __builtin_unreachable ()) from the C-to-Isabelle parser.

The parser now supports underscore identifiers and many __asm__ statements,
and the builtin functions are prototyped, meaning the vast majority of the
DONT_TRANSLATE markers can be dropped. The remaining markers cover functions
that must be treated specially.


# 5f7fa2fc 19-Oct-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

Benchmark: Pack arch-independent benchmark-related files into separate directories


# ef00e986 21-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-615: arm entry point stubs


# 297ad035 09-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-615: create c_traps.c for arm outside mode

- move slowpath() and c_handle_syscall() to it
to mirror the x86 layout