Searched hist:"5 b8a58b415da261ae12e972771cfe5f9c439523e" (Results 1 – 4 of 4) sorted by relevance
| /optee_os/core/arch/arm/kernel/ |
| H A D | asm-defines.c | 5b8a58b415da261ae12e972771cfe5f9c439523e Wed Dec 13 11:30:50 UTC 2017 Jens Wiklander <jens.wiklander@linaro.org> core: use minimal kernel map in user space
Adds a trampoline in the exception vector to switch to a minimal kernel map when in user mode. When returning to kernel mode the full kernel mode map is restored.
Arm32 tries to mimic the arm64 exception model somewhat by letting each exception handler run with disabled asynchronous aborts, irq and fiq.
Form arm32 accesses to the cpus thread_core_local is only done via the stack pointer in abort mode. Entry of user mode is only done via abort mode, that means that the abort mode spsr register carries the new cpsr. Care is taken to have all exceptions disabled while using abort mode.
ASIDs are paired with a user mode ASID with lowest bit sset and a kernel mode ASID with the lowest bit cleared.
ASID 0 is reserved for kernel mode use when there's no user mode mapping active.
With this change an active used mode mapping while in kernel mode uses (asid | 0), and while in user mode (asid | 1). The switch is done via the trampoline in the vector.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Andrew Davis <andrew.davis@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
|
| H A D | thread_a32.S | 5b8a58b415da261ae12e972771cfe5f9c439523e Wed Dec 13 11:30:50 UTC 2017 Jens Wiklander <jens.wiklander@linaro.org> core: use minimal kernel map in user space
Adds a trampoline in the exception vector to switch to a minimal kernel map when in user mode. When returning to kernel mode the full kernel mode map is restored.
Arm32 tries to mimic the arm64 exception model somewhat by letting each exception handler run with disabled asynchronous aborts, irq and fiq.
Form arm32 accesses to the cpus thread_core_local is only done via the stack pointer in abort mode. Entry of user mode is only done via abort mode, that means that the abort mode spsr register carries the new cpsr. Care is taken to have all exceptions disabled while using abort mode.
ASIDs are paired with a user mode ASID with lowest bit sset and a kernel mode ASID with the lowest bit cleared.
ASID 0 is reserved for kernel mode use when there's no user mode mapping active.
With this change an active used mode mapping while in kernel mode uses (asid | 0), and while in user mode (asid | 1). The switch is done via the trampoline in the vector.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Andrew Davis <andrew.davis@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
|
| H A D | thread_a64.S | 5b8a58b415da261ae12e972771cfe5f9c439523e Wed Dec 13 11:30:50 UTC 2017 Jens Wiklander <jens.wiklander@linaro.org> core: use minimal kernel map in user space
Adds a trampoline in the exception vector to switch to a minimal kernel map when in user mode. When returning to kernel mode the full kernel mode map is restored.
Arm32 tries to mimic the arm64 exception model somewhat by letting each exception handler run with disabled asynchronous aborts, irq and fiq.
Form arm32 accesses to the cpus thread_core_local is only done via the stack pointer in abort mode. Entry of user mode is only done via abort mode, that means that the abort mode spsr register carries the new cpsr. Care is taken to have all exceptions disabled while using abort mode.
ASIDs are paired with a user mode ASID with lowest bit sset and a kernel mode ASID with the lowest bit cleared.
ASID 0 is reserved for kernel mode use when there's no user mode mapping active.
With this change an active used mode mapping while in kernel mode uses (asid | 0), and while in user mode (asid | 1). The switch is done via the trampoline in the vector.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Andrew Davis <andrew.davis@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
|
| /optee_os/core/arch/arm/ |
| H A D | arm.mk | 5b8a58b415da261ae12e972771cfe5f9c439523e Wed Dec 13 11:30:50 UTC 2017 Jens Wiklander <jens.wiklander@linaro.org> core: use minimal kernel map in user space
Adds a trampoline in the exception vector to switch to a minimal kernel map when in user mode. When returning to kernel mode the full kernel mode map is restored.
Arm32 tries to mimic the arm64 exception model somewhat by letting each exception handler run with disabled asynchronous aborts, irq and fiq.
Form arm32 accesses to the cpus thread_core_local is only done via the stack pointer in abort mode. Entry of user mode is only done via abort mode, that means that the abort mode spsr register carries the new cpsr. Care is taken to have all exceptions disabled while using abort mode.
ASIDs are paired with a user mode ASID with lowest bit sset and a kernel mode ASID with the lowest bit cleared.
ASID 0 is reserved for kernel mode use when there's no user mode mapping active.
With this change an active used mode mapping while in kernel mode uses (asid | 0), and while in user mode (asid | 1). The switch is done via the trampoline in the vector.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Andrew Davis <andrew.davis@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
|