Loading...
Searching...
No Matches
elf_aux.h
Go to the documentation of this file.
/*
* (c) 2009 Alexander Warg <warg@os.inf.tu-dresden.de>
* economic rights: Technische Universität Dresden (Germany)
*
* License: see LICENSE.spdx (in this directory or the directories above)
*/
#pragma once
#include <l4/sys/types.h>
#define L4RE_ELF_AUX_ELEM const __attribute__((used, section(".rol4re_elf_aux"), aligned(sizeof(l4_umword_t))))
#define L4RE_ELF_AUX_ELEM_T(type, id, tag, val...) \
static L4RE_ELF_AUX_ELEM type id = {tag, sizeof(type), val}
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,
};
typedef struct l4re_elf_aux_t
{
l4_umword_t type;
l4_umword_t length;
} l4re_elf_aux_t;
typedef struct l4re_elf_aux_vma_t
{
l4_umword_t type;
l4_umword_t length;
l4_umword_t start;
l4_umword_t end;
} l4re_elf_aux_vma_t;
typedef struct l4re_elf_aux_mword_t
{
l4_umword_t type;
l4_umword_t length;
l4_umword_t value;
} l4re_elf_aux_mword_t;
L4RE_ELF_AUX_T_EX_REGS_FLAGS
@ L4RE_ELF_AUX_T_EX_REGS_FLAGS
Tag for descriptor to override ex_regs() flags.
Definition elf_aux.h:92
L4RE_ELF_AUX_T_STACK_ADDR
@ L4RE_ELF_AUX_T_STACK_ADDR
Tag for descriptor that defines the stack address for the first application thread.
Definition elf_aux.h:81
L4RE_ELF_AUX_T_KIP_ADDR
@ L4RE_ELF_AUX_T_KIP_ADDR
Tag for descriptor that defines the KIP address for the binaries address space.
Definition elf_aux.h:87
L4RE_ELF_AUX_T_STACK_SIZE
@ L4RE_ELF_AUX_T_STACK_SIZE
Tag for descriptor that defines the stack size for the first application thread.
Definition elf_aux.h:75
L4RE_ELF_AUX_T_NONE
@ L4RE_ELF_AUX_T_NONE
Tag for an invalid element in the auxiliary vector.
Definition elf_aux.h:64
L4RE_ELF_AUX_T_VMA
@ L4RE_ELF_AUX_T_VMA
Tag for descriptor for a reserved virtual memory area.
Definition elf_aux.h:69
l4_umword_t
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:40
types.h
Common L4 ABI Data Types.
l4re_elf_aux_mword_t
Auxiliary vector element for a single unsigned data word.
Definition elf_aux.h:119
l4re_elf_aux_t
Generic header for each auxiliary vector element.
Definition elf_aux.h:99
l4re_elf_aux_vma_t
Auxiliary vector element for a reserved virtual memory area.
Definition elf_aux.h:108