Loading...
Searching...
No Matches
Exception registers
Base API » Object Invocation » Virtual Registers (UTCBs) » Message Registers (MRs)

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

Collaboration diagram for Exception registers:

## Functions

l4_exc_regs_t * | l4_utcb_exc (void) L4_NOTHROW L4_PURE
| Get the message-register block of a UTCB (for an exception IPC).
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.
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.
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.
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().

## 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 367 of file utcb.h.

References L4_INLINE, L4_NOTHROW, and l4_utcb().

Here is the call graph for this function:

## 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

  0 | Exception was not triggered through ex_regs.
  !=0 | Exception 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 110 of file utcb.h.

References L4_INLINE, L4_NOTHROW, and 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 100 of file utcb.h.

References L4_INLINE, and L4_NOTHROW.

## 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

  u | UTCB

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 85 of file utcb.h.

References L4_INLINE, and L4_NOTHROW.

## 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

  u | UTCB
  pc | The program counter to set.

Definition at line 90 of file utcb.h.

References L4_INLINE, and L4_NOTHROW.