L4Re - L4 Runtime Environment

Overly definition of the MRs for exception messages. More...

+ Collaboration diagram for Exception registers:

Functions

l4_exc_regs_tl4_utcb_exc (void) L4_NOTHROW L4_PURE
 Get the message-register block of a UTCB (for an exception IPC). More...
 
l4_umword_t l4_utcb_exc_pc (l4_exc_regs_t const *u) L4_NOTHROW L4_PURE
 Access function to get the program counter of the exception state. More...
 
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. More...
 
unsigned long l4_utcb_exc_typeval (l4_exc_regs_t const *u) L4_NOTHROW L4_PURE
 Get the value out of an exception UTCB that describes the type of exception.
 
int l4_utcb_exc_is_pf (l4_exc_regs_t const *u) L4_NOTHROW L4_PURE
 Check whether an exception IPC is a page fault. More...
 
l4_addr_t l4_utcb_exc_pfa (l4_exc_regs_t const *u) L4_NOTHROW L4_PURE
 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 L4_PURE
 Check whether an exception IPC was triggered via l4_thread_ex_regs(). More...
 

Detailed Description

Overly definition of the MRs for exception messages.

Function Documentation

◆ l4_utcb_exc()

l4_exc_regs_t * l4_utcb_exc ( void  )
inline

Get the message-register block of a UTCB (for an exception IPC).

Returns
A pointer to the exception message in u.
Examples:
examples/sys/aliens/main.c, and examples/sys/singlestep/main.c.

Definition at line 361 of file utcb.h.

◆ l4_utcb_exc_is_ex_regs_exception()

int l4_utcb_exc_is_ex_regs_exception ( l4_exc_regs_t const *  u)
inline

Check whether an exception IPC was triggered via l4_thread_ex_regs().

Return values
0Exception was not triggered through ex_regs.
!=0Exception was triggered through ex_regs.

This function checks if the exception was emitted by using the L4_THREAD_EX_REGS_TRIGGER_EXCEPTION flag in an l4_thread_ex_regs() call.

Definition at line 115 of file utcb.h.

References l4_utcb_exc_typeval().

+ Here is the call graph for this function:

◆ l4_utcb_exc_is_pf()

int l4_utcb_exc_is_pf ( l4_exc_regs_t const *  u)
inline

Check whether an exception IPC is a page fault.

Returns
0 if not, != 0 if yes

Function to check whether an exception IPC is a page fault, also applies to I/O pagefaults.

Definition at line 105 of file utcb.h.

References l4_exc_regs_t::trapno.

◆ l4_utcb_exc_pc()

l4_umword_t l4_utcb_exc_pc ( l4_exc_regs_t const *  u)
inline

Access function to get the program counter of the exception state.

Parameters
uUTCB
Returns
The program counter register out of the exception state.
Examples:
examples/sys/aliens/main.c, and examples/sys/singlestep/main.c.

Definition at line 90 of file utcb.h.

◆ l4_utcb_exc_pc_set()

void l4_utcb_exc_pc_set ( l4_exc_regs_t u,
l4_addr_t  pc 
)
inline

Set the program counter register in the exception state.

Parameters
uUTCB
pcThe program counter to set.

Definition at line 95 of file utcb.h.

References l4_exc_regs_t::pc.