L4Re - L4 Runtime Environment
sigma0.h File Reference

Sigma0 interface. More...

#include <l4/sys/compiler.h>
#include <l4/sys/types.h>
#include <l4/sys/kip.h>
+ Include dependency graph for sigma0.h:

Go to the source code of this file.

Macros

#define SIGMA0_REQ_MAGIC   ~0xFFUL
 Request magic.
 
#define SIGMA0_REQ_MASK   ~0xFFUL
 Request mask.
 
#define SIGMA0_REQ_ID_MASK   0xF0
 ID mask.
 
#define SIGMA0_REQ_ID_FPAGE_RAM   0x60
 RAM.
 
#define SIGMA0_REQ_ID_FPAGE_IOMEM   0x70
 I/O memory.
 
#define SIGMA0_REQ_ID_FPAGE_IOMEM_CACHED   0x80
 Cached I/O memory.
 
#define SIGMA0_REQ_ID_FPAGE_ANY   0x90
 Any.
 
#define SIGMA0_REQ_ID_KIP   0xA0
 KIP.
 
#define SIGMA0_REQ_ID_TBUF   0xB0
 TBUF.
 
#define SIGMA0_REQ_ID_DEBUG_DUMP   0xC0
 Debug dump.
 
#define SIGMA0_REQ_ID_NEW_CLIENT   0xD0
 New client.
 
#define SIGMA0_IS_MAGIC_REQ(d1)   ((d1 & SIGMA0_REQ_MASK) == SIGMA0_REQ_MAGIC)
 Check if magic.
 
#define SIGMA0_REQ(x)   (SIGMA0_REQ_MAGIC + SIGMA0_REQ_ID_ ## x)
 Construct.
 
#define SIGMA0_REQ_FPAGE_RAM   (SIGMA0_REQ(FPAGE_RAM))
 RAM.
 
#define SIGMA0_REQ_FPAGE_IOMEM   (SIGMA0_REQ(FPAGE_IOMEM))
 I/O memory.
 
#define SIGMA0_REQ_FPAGE_IOMEM_CACHED   (SIGMA0_REQ(FPAGE_IOMEM_CACHED))
 Cache I/O memory.
 
#define SIGMA0_REQ_FPAGE_ANY   (SIGMA0_REQ(FPAGE_ANY))
 Any.
 
#define SIGMA0_REQ_KIP   (SIGMA0_REQ(KIP))
 KIP.
 
#define SIGMA0_REQ_TBUF   (SIGMA0_REQ(TBUF))
 TBUF.
 
#define SIGMA0_REQ_DEBUG_DUMP   (SIGMA0_REQ(DEBUG_DUMP))
 Debug dump.
 
#define SIGMA0_REQ_NEW_CLIENT   (SIGMA0_REQ(NEW_CLIENT))
 New client.
 

Enumerations

enum  l4sigma0_return_flags_t {
  L4SIGMA0_OK, L4SIGMA0_NOTALIGNED, L4SIGMA0_IPCERROR, L4SIGMA0_NOFPAGE ,
  L4SIGMA0_SMALLERFPAGE
}
 Return flags of libsigma0 functions. More...
 

Functions

l4_kernel_info_tl4sigma0_map_kip (l4_cap_idx_t sigma0, void *addr, unsigned log2_size)
 Map the kernel info page from pager to addr. More...
 
int l4sigma0_map_mem (l4_cap_idx_t sigma0, l4_addr_t phys, l4_addr_t virt, l4_addr_t size)
 Request a memory mapping from sigma0. More...
 
int l4sigma0_map_iomem (l4_cap_idx_t sigma0, l4_addr_t phys, l4_addr_t virt, l4_addr_t size, int cached)
 Request IO memory from sigma0. More...
 
int l4sigma0_map_anypage (l4_cap_idx_t sigma0, l4_addr_t map_area, unsigned log2_map_size, l4_addr_t *base, unsigned sz)
 Request an arbitrary free page of RAM. More...
 
int l4sigma0_map_tbuf (l4_cap_idx_t sigma0, l4_addr_t virt)
 Request Fiasco trace buffer. More...
 
void l4sigma0_debug_dump (l4_cap_idx_t sigma0)
 Request sigma0 to dump internal debug information. More...
 
int l4sigma0_new_client (l4_cap_idx_t sigma0, l4_cap_idx_t gate)
 Create a new IPC gate for a new Sigma0 client. More...
 
char const * l4sigma0_map_errstr (int err)
 Get a user readable error messages for the return codes. More...
 

Detailed Description

Sigma0 interface.

Definition in file sigma0.h.