13#ifndef __L4_SYS__INCLUDE__ARCH_ARM64__UTCB_H__
14#define __L4_SYS__INCLUDE__ARCH_ARM64__UTCB_H__
50 L4_UTCB_GENERIC_DATA_SIZE = 63,
51 L4_UTCB_GENERIC_BUFFERS_SIZE = 58,
53 L4_UTCB_MSG_REGS_OFFSET = 0,
55 L4_UTCB_THREAD_REGS_OFFSET = 123 *
sizeof(
l4_umword_t),
57 L4_UTCB_INHERIT_FPU = 1UL << 24,
59 L4_UTCB_OFFSET = 1024,
62#include_next <l4/sys/utcb.h>
73 __asm__ (
"mrs %0, TPIDRRO_EL0" :
"=r" (utcb));
95 return ((u->err >> 26) & 0x30) == 0x20;
100 return (u->pfa & ~7UL) | ((u->err >> 5) & 2);
105 return (u->err >> 26) == 0x3e;
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_arm64
UTCB constants for ARM64.
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 r[13]
registers
l4_umword_t sp
stack pointer
l4_umword_t pfa
page fault address
l4_umword_t ip
instruction pointer
l4_umword_t tpidrurw
Thread-ID register.
l4_umword_t err
error code
l4_umword_t tpidruro
Thread-ID register.