24#ifndef __L4_SYS__INCLUDE__ARCH_ARM__UTCB_H__
25#define __L4_SYS__INCLUDE__ARCH_ARM__UTCB_H__
61 L4_UTCB_GENERIC_DATA_SIZE = 63,
62 L4_UTCB_GENERIC_BUFFERS_SIZE = 58,
64 L4_UTCB_MSG_REGS_OFFSET = 0,
66 L4_UTCB_THREAD_REGS_OFFSET = 123 *
sizeof(
l4_umword_t),
68 L4_UTCB_INHERIT_FPU = 1UL << 24,
73#include_next <l4/sys/utcb.h>
83# if defined(__ARM_ARCH) && __ARM_ARCH >= 7
85 __asm__ (
"mrc p15, 0, %0, c13, c0, 2" :
"=r" (utcb));
88 __asm__ (
"mov lr, pc \n"
90 :
"=r"(utcb) : :
"lr");
113 return ((u->err >> 26) & 0x30) == 0x20;
118 return (u->pfa & ~7UL) | ((u->err >> 5) & 2);
unsigned long l4_umword_t
Unsigned machine word.
unsigned long l4_addr_t
Address type.
struct l4_exc_regs_t l4_exc_regs_t
UTCB structure for exceptions.
L4_utcb_consts_arm
UTCB constants for ARM.
struct l4_utcb_t l4_utcb_t
Opaque type for the UTCB.
l4_addr_t l4_utcb_exc_pfa(l4_exc_regs_t const *u) L4_NOTHROW
Function to get the L4 style page fault address out of an exception.
int l4_utcb_exc_is_ex_regs_exception(l4_exc_regs_t const *u) L4_NOTHROW
Check whether an exception IPC was triggered via l4_thread_ex_regs().
int l4_utcb_exc_is_pf(l4_exc_regs_t const *u) L4_NOTHROW
Check whether an exception IPC is a page fault.
l4_umword_t l4_utcb_exc_pc(l4_exc_regs_t const *u) L4_NOTHROW
Access function to get the program counter of the exception state.
l4_umword_t l4_utcb_exc_typeval(l4_exc_regs_t const *u) L4_NOTHROW
Get the value out of an exception UTCB that describes the type of exception.
void l4_utcb_exc_pc_set(l4_exc_regs_t *u, l4_addr_t pc) L4_NOTHROW
Set the program counter register in the exception state.
#define L4_NOTHROW
Mark a function declaration and definition as never throwing an exception.
#define L4_INLINE
L4 Inline function attribute.
Common L4 ABI Data Types.
UTCB structure for exceptions.
l4_umword_t sp
stack pointer
l4_umword_t pfa
page fault address
l4_umword_t tpidrurw
Thread-ID register.
l4_umword_t r[13]
registers
l4_umword_t err
error code
l4_umword_t tpidruro
Thread-ID register.