L4Re - L4 Runtime Environment
Virtual Registers (UTCBs)

L4 Virtual Registers (UTCB). More...

+ Collaboration diagram for Virtual Registers (UTCBs):

Modules

 ARM Virtual Registers (UTCB)
 
 Buffer Registers (BRs)
 
 Message Registers (MRs)
 
 Thread Control Registers (TCRs)
 
 amd64 Virtual Registers (UTCB)
 
 x86 Virtual Registers (UTCB)
 

Files

file  utcb.h
 UTCB definitions for ARM.
 
file  utcb.h
 UTCB definitions for amd64.
 
file  utcb.h
 UTCB definitions for X86.
 

Typedefs

typedef struct l4_utcb_t l4_utcb_t
 Opaque type for the UTCB. More...
 

Functions

l4_utcb_tl4_utcb (void) L4_NOTHROW L4_PURE
 Get the UTCB address.
 
l4_msg_regs_tl4_utcb_mr (void) L4_NOTHROW L4_PURE
 Get the message-register block of a UTCB. More...
 
l4_buf_regs_tl4_utcb_br (void) L4_NOTHROW L4_PURE
 Get the buffer-register block of a UTCB. More...
 
l4_thread_regs_tl4_utcb_tcr (void) L4_NOTHROW L4_PURE
 Get the thread-control-register block of a UTCB. More...
 

Detailed Description

L4 Virtual Registers (UTCB).

Include File
#include <l4/sys/utcb.h>

The virtual registers are part of the micro-kernel API and are located in the user-level thread control block (UTCB). The UTCB is a data structure defined by the micro kernel and located on kernel-provided memory. Each L4 thread gets a unique UTCB assigned when it is bound to a task (see Thread Control , l4_thread_control_bind() for more information).

The UTCB is arranged in three blocks of virtual registers.

To access the contents of the virtual registers the l4_utcb_mr(), l4_utcb_tcr(), and l4_utcb_br() functions must be used.

Typedef Documentation

◆ l4_utcb_t

typedef struct l4_utcb_t l4_utcb_t

Opaque type for the UTCB.

To access the contents of the virtual registers the l4_utcb_mr(), l4_utcb_tcr(), and l4_utcb_br() functions must be used.

Definition at line 67 of file utcb.h.

Function Documentation

◆ l4_utcb_br()

l4_buf_regs_t * l4_utcb_br ( void  )
inline

Get the buffer-register block of a UTCB.

Returns
A pointer to the buffer-register block of u.

Definition at line 355 of file utcb.h.

Referenced by l4util_ioport_map().

+ Here is the caller graph for this function:

◆ l4_utcb_mr()

l4_msg_regs_t * l4_utcb_mr ( void  )
inline

Get the message-register block of a UTCB.

Returns
A pointer to the message-register block of u.
Examples:
examples/sys/aliens/main.c, examples/sys/ipc/ipc_example.c, examples/sys/singlestep/main.c, and examples/sys/utcb-ipc/main.c.

Definition at line 352 of file utcb.h.

Referenced by l4util_ioport_map().

+ Here is the caller graph for this function:

◆ l4_utcb_tcr()

l4_thread_regs_t * l4_utcb_tcr ( void  )
inline

Get the thread-control-register block of a UTCB.

Returns
A pointer to the thread-control-register block of u.

Definition at line 358 of file utcb.h.