*
* This is a weak function which can be overwritten by applications.
*/
-L4_CV l4_utcb_t *l4_utcb_wrap(void) L4_NOTHROW;
+L4_CV l4_utcb_t *l4_utcb_wrap(void) L4_NOTHROW L4_PURE;
/**
* \internal
* \brief Get the UTCB address.
* \ingroup l4_utcb_api
*/
-L4_INLINE l4_utcb_t *l4_utcb_direct(void) L4_NOTHROW;
+L4_INLINE l4_utcb_t *l4_utcb_direct(void) L4_NOTHROW L4_PURE;
/**
* \brief Get the UTCB address.
* \ingroup l4_utcb_api
*/
-L4_INLINE l4_utcb_t *l4_utcb(void) L4_NOTHROW;
+L4_INLINE l4_utcb_t *l4_utcb(void) L4_NOTHROW L4_PURE;
/**
* \brief Get the message-register block of a UTCB.
* \ingroup l4_utcb_api
* \returns A pointer to the message-register block of \c u.
*/
-L4_INLINE l4_msg_regs_t *l4_utcb_mr(void) L4_NOTHROW;
+L4_INLINE l4_msg_regs_t *l4_utcb_mr(void) L4_NOTHROW L4_PURE;
/**
* \internal
* \param u the UTCB pointer to access.
*/
-L4_INLINE l4_msg_regs_t *l4_utcb_mr_u(l4_utcb_t *u) L4_NOTHROW;
+L4_INLINE l4_msg_regs_t *l4_utcb_mr_u(l4_utcb_t *u) L4_NOTHROW L4_PURE;
/**
* \brief Get the buffer-register block of a UTCB.
* \ingroup l4_utcb_api
* \returns A pointer to the buffer-register block of \c u.
*/
-L4_INLINE l4_buf_regs_t *l4_utcb_br(void) L4_NOTHROW;
+L4_INLINE l4_buf_regs_t *l4_utcb_br(void) L4_NOTHROW L4_PURE;
/**
* \internal
* \param u the UTCB pointer to access.
*/
-L4_INLINE l4_buf_regs_t *l4_utcb_br_u(l4_utcb_t *u) L4_NOTHROW;
+L4_INLINE l4_buf_regs_t *l4_utcb_br_u(l4_utcb_t *u) L4_NOTHROW L4_PURE;
/**
* \brief Get the thread-control-register block of a UTCB.
* \ingroup l4_utcb_api
* \returns A pointer to the thread-control-register block of \c u.
*/
-L4_INLINE l4_thread_regs_t *l4_utcb_tcr(void) L4_NOTHROW;
+L4_INLINE l4_thread_regs_t *l4_utcb_tcr(void) L4_NOTHROW L4_PURE;
/**
* \internal
* \param u the UTCB pointer to access.
*/
-L4_INLINE l4_thread_regs_t *l4_utcb_tcr_u(l4_utcb_t *u) L4_NOTHROW;
+L4_INLINE l4_thread_regs_t *l4_utcb_tcr_u(l4_utcb_t *u) L4_NOTHROW L4_PURE;
/**
* \defgroup l4_utcb_exc_api Exception registers
* \ingroup l4_utcb_exc_api
* \returns A pointer to the exception message in \c u.
*/
-L4_INLINE l4_exc_regs_t *l4_utcb_exc(void) L4_NOTHROW;
+L4_INLINE l4_exc_regs_t *l4_utcb_exc(void) L4_NOTHROW L4_PURE;
/**
* \internal
* \param u the UTCB pointer to access.
*/
-L4_INLINE l4_exc_regs_t *l4_utcb_exc_u(l4_utcb_t *u) L4_NOTHROW;
+L4_INLINE l4_exc_regs_t *l4_utcb_exc_u(l4_utcb_t *u) L4_NOTHROW L4_PURE;
/**
* \brief Access function to get the program counter of the exception state.
* \param u UTCB
* \return The program counter register out of the exception state.
*/
-L4_INLINE l4_umword_t l4_utcb_exc_pc(l4_exc_regs_t *u) L4_NOTHROW;
+L4_INLINE l4_umword_t l4_utcb_exc_pc(l4_exc_regs_t *u) L4_NOTHROW L4_PURE;
/**
* \brief Set the program counter register in the exception state.
* \brief Get the value out of an exception UTCB that describes the type of exception.
* \ingroup l4_utcb_exc_api
*/
-L4_INLINE unsigned long l4_utcb_exc_typeval(l4_exc_regs_t *u) L4_NOTHROW;
+L4_INLINE unsigned long l4_utcb_exc_typeval(l4_exc_regs_t *u) L4_NOTHROW L4_PURE;
/**
* \brief Check whether an exception IPC is a page fault.
* Function to check whether an exception IPC is a page fault, also applies
* to I/O pagefaults.
*/
-L4_INLINE int l4_utcb_exc_is_pf(l4_exc_regs_t *u) L4_NOTHROW;
+L4_INLINE int l4_utcb_exc_is_pf(l4_exc_regs_t *u) L4_NOTHROW L4_PURE;
/**
* \brief Function to get the L4 style page fault address out of an exception.
* \ingroup l4_utcb_exc_api
*/
-L4_INLINE l4_addr_t l4_utcb_exc_pfa(l4_exc_regs_t *u) L4_NOTHROW;
+L4_INLINE l4_addr_t l4_utcb_exc_pfa(l4_exc_regs_t *u) L4_NOTHROW L4_PURE;
/**
* \brief Enable or disable inheritance of FPU state to receiver.