History log of /seL4-test-master/kernel/src/arch/arm/32/traps.S
Revision Date Author Comments
# 0769d05f 09-Mar-2020 Luca(Wei) Chen <Wei@cvluca.com>

trivial: fastpath: add config for declaration

c_handle_fastpath should only be declared for fastpath config.
And also fix the style and docs.
This change will not affect the result of compilation.


# 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.


# 99c7ff89 16-Feb-2020 Luca(Wei) Chen <Wei@cvluca.com>

fastpath: reorganize the code layout on ARM

fastpath_call and fastpath_reply_recv got inlined into a single
function. This could cause loading unused code in cache and
additional jump instructions required in c_handle_syscall.


# 554f812d 08-Nov-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

mcs: scheduling context donation over ipc

After this commit, threads blocked on an endpoint can recieve a
scheduling context from the thread that wakes the blocked thread.


# 01b73622 27-May-2019 Curtis Millar <curtis.millar@data61.csiro.au>

Consistent naming of FaultIP and NextIP in kernel

Always refer to the virtual register that stores the address of a fault
as FaultIP and the register that stores the return for a fault NextIP.


# 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.


# f33035f0 30-Aug-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

aarch32: remove obselete code in traps.S

The stack is loaded on the preceding lines of code from
TPIDRPRW, regardless of SMP being enabled or not. Loading ksCurThread
into r7 is from the previous approach of loading the kernel stack and is
not longer used.


# ee28936d 18-Jun-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

SMP: Introduce ENABLE_SMP_SUPPORT

- Make it more readable and less confusing compared to the 'CONFIG_MAX_NUM_NODES > 1' check


# a40b0589 29-May-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Use CONFIG_ variables instead of configuration definitions


# 1930cf2e 28-May-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

Fix: Allow util.h to be included in assembly files


# 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


# 5d146463 18-Jan-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

ARM: Refactor how we get/set seL4 kernel stack

This commit makes seL4 hold the stack address on TPIDRPRW register (PL1 only
Thread ID Register, VMSA, see B4.1.150 section of ARMv7-A and ARMv7-R
edition reference manual).

Originally, the kernel stack was (re-)mapped to a fixed kernel virtual address and
on traps sp is loaded with this virtual address. Reason is to shave up some
cycles/instructions on (fast) traps path instead of having two instructions
(loading global variable pointer and then memory-load stack address from
it).

With ARM pipelining getting smart/complex (from ARMv7 onwards), there is
no noticeable difference in performance between the two implementations.
Furthermore, this change makes it easy for SMP to load different stacks
for each core and do CPU ID arithmetic efficiently. It also avoids the
issues involving (re-)mapping stacks for different cores if we
followed the original design.

Note: the main side-effect to this change is that the kernel stack for
ARM is no longer mapped with execute-never attribute.


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

SELFOUR-615: arm entry point stubs


# f34f354a 16-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-617: one source of memory object sizes

Adds the following constants to libsel4
and uses them in the kernel.

seL4_SectionSize (arm)
seL4_SuperSectionSize (arm)
seL4_HugePageSize (x86 - pae)
seL4_LargePageSize (arm)
seL4_DataFault
seL4_InstructionFault


# 95a0f9ef 03-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

trivial: fix typo


# 500bdd03 27-Jul-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

arm: Remove unused arm_swi_undefined_syscall


# 5bd5d9cf 17-Jul-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-526: ARM - Implement slowpath and restore_user_context in C


# 39c692cc 05-Jul-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-526: ARM - Unify C entry point for system calls


# 6a8f97c2 15-Jun-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

arm-hyp: Push ARM_HYP config check into traps.S


# 86942825 15-Jan-2016 amrzar <azarrabi@nicta.com.au>

Rearranging sources for aarch32 to 32/*