L4Re - L4 Runtime Environment
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 
39 
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 
70 enum
71 {
76 
81 
87 
93 
99 };
100 
104 typedef struct l4re_elf_aux_t
105 {
106  l4_umword_t type;
107  l4_umword_t length;
109 
113 typedef struct l4re_elf_aux_vma_t
114 {
115  l4_umword_t type;
116  l4_umword_t length;
117  l4_umword_t start;
118  l4_umword_t end;
120 
124 typedef struct l4re_elf_aux_mword_t
125 {
126  l4_umword_t type;
127  l4_umword_t length;
128  l4_umword_t value;
130 
Auxiliary vector element for a single unsigned data word.
Definition: elf_aux.h:124
Common L4 ABI Data Types.
Generic header for each auxiliary vector element.
Definition: elf_aux.h:104
Tag for descriptor that defines the KIP address for the binaries address space.
Definition: elf_aux.h:98
Tag for descriptor that defines the stack address for the first application thread.
Definition: elf_aux.h:92
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:52
struct l4re_elf_aux_vma_t l4re_elf_aux_vma_t
Auxiliary vector element for a reserved virtual memory area.
Auxiliary vector element for a reserved virtual memory area.
Definition: elf_aux.h:113
Tag for an invalid element in the auxiliary vector.
Definition: elf_aux.h:75
Tag for descriptor that defines the stack size for the first application thread.
Definition: elf_aux.h:86
struct l4re_elf_aux_t l4re_elf_aux_t
Generic header for each auxiliary vector element.
struct l4re_elf_aux_mword_t l4re_elf_aux_mword_t
Auxiliary vector element for a single unsigned data word.