L4Re Operating System Framework
Interface and Usage Documentation
|
API for embedding auxiliary information into binary programs. More...
Data Structures | |
struct | l4re_elf_aux_t |
Generic header for each auxiliary vector element. More... | |
struct | l4re_elf_aux_vma_t |
Auxiliary vector element for a reserved virtual memory area. More... | |
struct | l4re_elf_aux_mword_t |
Auxiliary vector element for a single unsigned data word. More... | |
Macros | |
#define | L4RE_ELF_AUX_ELEM const __attribute__((used, section(".rol4re_elf_aux"), aligned(sizeof(l4_umword_t)))) |
Define an auxiliary vector element. | |
#define | L4RE_ELF_AUX_ELEM_T(type, id, tag, val...) static L4RE_ELF_AUX_ELEM type id = {tag, sizeof(type), val} |
Define an auxiliary vector element. | |
Typedefs | |
typedef struct l4re_elf_aux_t | l4re_elf_aux_t |
Generic header for each auxiliary vector element. | |
typedef struct l4re_elf_aux_vma_t | l4re_elf_aux_vma_t |
Auxiliary vector element for a reserved virtual memory area. | |
typedef struct l4re_elf_aux_mword_t | l4re_elf_aux_mword_t |
Auxiliary vector element for a single unsigned data word. | |
Enumerations | |
enum | { L4RE_ELF_AUX_T_NONE = 0 , L4RE_ELF_AUX_T_VMA , L4RE_ELF_AUX_T_STACK_SIZE , L4RE_ELF_AUX_T_STACK_ADDR , L4RE_ELF_AUX_T_KIP_ADDR , L4RE_ELF_AUX_T_EX_REGS_FLAGS } |
API for embedding auxiliary information into binary programs.
This API allows information for the binary loader to be embedded into a binary application. This information can be reserved areas in the virtual memory of an application and things such as the stack size to be allocated for the first application thread.
#define L4RE_ELF_AUX_ELEM const __attribute__((used, section(".rol4re_elf_aux"), aligned(sizeof(l4_umword_t)))) |
Define an auxiliary vector element.
This is the generic method for defining auxiliary vector elements. A more convenient way is to use L4RE_ELF_AUX_ELEM_T.
Usage:
#define L4RE_ELF_AUX_ELEM_T | ( | type, | |
id, | |||
tag, | |||
val... | |||
) | static L4RE_ELF_AUX_ELEM type id = {tag, sizeof(type), val} |
Define an auxiliary vector element.
type | is the data type for the element (e.g., l4re_elf_aux_vma_t) |
id | is the identifier (variable name) for the declaration (the variable is defined with static storage class) |
tag | is the tag value for the element e.g., L4RE_ELF_AUX_T_VMA |
val | are the values to be set in the descriptor |
Usage:
anonymous enum |