L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
elf_aux.h
Go to the documentation of this file.
1
5/*
6 * (c) 2009 Alexander Warg <warg@os.inf.tu-dresden.de>
7 * economic rights: Technische Universität Dresden (Germany)
8 *
9 * This file is part of TUD:OS and distributed under the terms of the
10 * GNU General Public License 2.
11 * Please see the COPYING-GPL-2 file for details.
12 *
13 * As a special exception, you may use this file as part of a free software
14 * library without restriction. Specifically, if other files instantiate
15 * templates or use macros or inline functions from this file, or you compile
16 * this file and link it with other files to produce an executable, this
17 * file does not by itself cause the resulting executable to be covered by
18 * the GNU General Public License. This exception does not however
19 * invalidate any other reasons why the executable file might be covered by
20 * the GNU General Public License.
21 */
22#pragma once
23
24#include <l4/sys/types.h>
25
26
52#define L4RE_ELF_AUX_ELEM const __attribute__((used, section(".rol4re_elf_aux"), aligned(sizeof(l4_umword_t))))
53
67#define L4RE_ELF_AUX_ELEM_T(type, id, tag, val...) \
68 static L4RE_ELF_AUX_ELEM type id = {tag, sizeof(type), val}
69
70enum
71{
76
81
87
93
99
104};
105
109typedef struct l4re_elf_aux_t
110{
111 l4_umword_t type;
112 l4_umword_t length;
114
118typedef struct l4re_elf_aux_vma_t
119{
120 l4_umword_t type;
121 l4_umword_t length;
122 l4_umword_t start;
123 l4_umword_t end;
125
130{
131 l4_umword_t type;
132 l4_umword_t length;
133 l4_umword_t value;
135
@ L4RE_ELF_AUX_T_EX_REGS_FLAGS
Tag for descriptor to override ex_regs() flags.
Definition elf_aux.h:103
@ L4RE_ELF_AUX_T_STACK_ADDR
Tag for descriptor that defines the stack address for the first application thread.
Definition elf_aux.h:92
@ L4RE_ELF_AUX_T_KIP_ADDR
Tag for descriptor that defines the KIP address for the binaries address space.
Definition elf_aux.h:98
@ L4RE_ELF_AUX_T_STACK_SIZE
Tag for descriptor that defines the stack size for the first application thread.
Definition elf_aux.h:86
@ L4RE_ELF_AUX_T_NONE
Tag for an invalid element in the auxiliary vector.
Definition elf_aux.h:75
@ L4RE_ELF_AUX_T_VMA
Tag for descriptor for a reserved virtual memory area.
Definition elf_aux.h:80
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:51
Common L4 ABI Data Types.
Auxiliary vector element for a single unsigned data word.
Definition elf_aux.h:130
Generic header for each auxiliary vector element.
Definition elf_aux.h:110
Auxiliary vector element for a reserved virtual memory area.
Definition elf_aux.h:119