14#ifndef __L4_SYS__INCLUDE__ARCH_AMD64__UTCB_H__
15#define __L4_SYS__INCLUDE__ARCH_AMD64__UTCB_H__
24#define L4_UTCB_EXCEPTION_REGS_SIZE 26
25#define L4_UTCB_GENERIC_DATA_SIZE 63
26#define L4_UTCB_GENERIC_BUFFERS_SIZE 58
28#define L4_UTCB_MSG_REGS_OFFSET 0
29#define L4_UTCB_BUF_REGS_OFFSET (64 * sizeof(l4_umword_t))
30#define L4_UTCB_THREAD_REGS_OFFSET (123 * sizeof(l4_umword_t))
32#define L4_UTCB_INHERIT_FPU (1UL << 24)
33#define L4_UTCB_OFFSET 1024
79 __asm__ (
"mov %%gs:0, %0 \n" :
"=r"(res));
100 return u->trapno == 14;
105 return (u->pfa & ~7UL) | (u->err & 2);
unsigned long l4_umword_t
Unsigned machine word.
unsigned long l4_addr_t
Address type.
unsigned short int l4_uint16_t
Unsigned 16bit value.
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 trapno
trap number
l4_umword_t sp
stack pointer
l4_umword_t ss
stack segment register
l4_umword_t pfa
page fault address
l4_umword_t ip
instruction pointer
l4_umword_t err
error code