Annotation of /trunk/mkinitrd-magellan/klibc/usr/include/klibc/sysconfig.h
Parent Directory | Revision Log
Revision 1297 -
(hide annotations)
(download)
Fri May 27 15:12:11 2011 UTC (12 years, 11 months ago) by niro
File MIME type: text/plain
File size: 4837 byte(s)
Fri May 27 15:12:11 2011 UTC (12 years, 11 months ago) by niro
File MIME type: text/plain
File size: 4837 byte(s)
-updated to klibc-1.5.22 with mntproc definitions patch included
1 | niro | 532 | /* |
2 | * klibc/sysconfig.h | ||
3 | * | ||
4 | * Allows for definitions of some things which may be system-dependent | ||
5 | * NOTE: this file must not result in any output from the preprocessor. | ||
6 | */ | ||
7 | |||
8 | #ifndef _KLIBC_SYSCONFIG_H | ||
9 | #define _KLIBC_SYSCONFIG_H | ||
10 | |||
11 | #include <klibc/archconfig.h> | ||
12 | #include <asm/unistd.h> | ||
13 | |||
14 | /* | ||
15 | * These are the variables that can be defined in <klibc/archconfig.h>. | ||
16 | * For boolean options, #define to 0 to disable, #define to 1 to enable. | ||
17 | * | ||
18 | * If undefined, they will be given defaults here. | ||
19 | */ | ||
20 | |||
21 | |||
22 | /* | ||
23 | * _KLIBC_NO_MMU: | ||
24 | * | ||
25 | * Indicates this architecture doesn't have an MMU, and therefore | ||
26 | * does not have the sys_fork and sys_brk system calls. | ||
27 | */ | ||
28 | /* Default to having an MMU if we can find the fork system call */ | ||
29 | #ifndef _KLIBC_NO_MMU | ||
30 | # if defined(__NR_fork) | ||
31 | # define _KLIBC_NO_MMU 0 | ||
32 | # else | ||
33 | # define _KLIBC_NO_MMU 1 | ||
34 | # endif | ||
35 | #endif | ||
36 | |||
37 | |||
38 | /* | ||
39 | * _KLIBC_REAL_VFORK: | ||
40 | * | ||
41 | * Indicates that this architecture has a real vfork() system call. | ||
42 | * This is the default if sys_vfork exists; if there is an | ||
43 | * architecture-dependent implementation of vfork(), define this | ||
44 | * symbol. | ||
45 | */ | ||
46 | #ifndef _KLIBC_REAL_VFORK | ||
47 | # if defined(__NR_vfork) | ||
48 | # define _KLIBC_REAL_VFORK 1 | ||
49 | # else | ||
50 | # define _KLIBC_REAL_VFORK 0 | ||
51 | # endif | ||
52 | #endif | ||
53 | |||
54 | |||
55 | /* | ||
56 | * _KLIBC_USE_MMAP2: | ||
57 | * | ||
58 | * Indicates that this architecture should use sys_mmap2 instead | ||
59 | * of sys_mmap. This is the default on 32-bit architectures, assuming | ||
60 | * sys_mmap2 exists. | ||
61 | */ | ||
62 | #ifndef _KLIBC_USE_MMAP2 | ||
63 | # if (_BITSIZE == 32 && defined(__NR_mmap2)) || \ | ||
64 | (_BITSIZE == 64 && !defined(__NR_mmap)) | ||
65 | # define _KLIBC_USE_MMAP2 1 | ||
66 | # else | ||
67 | # define _KLIBC_USE_MMAP2 0 | ||
68 | # endif | ||
69 | #endif | ||
70 | |||
71 | |||
72 | /* | ||
73 | * _KLIBC_MMAP2_SHIFT: | ||
74 | * | ||
75 | * Indicate the shift of the offset parameter in sys_mmap2. | ||
76 | * On most architectures, this is always 12, but on some | ||
77 | * architectures it can be a different number, or the current | ||
78 | * page size. If this is dependent on the page size, define | ||
79 | * this to an expression which includes __getpageshift(). | ||
80 | */ | ||
81 | #ifndef _KLIBC_MMAP2_SHIFT | ||
82 | # define _KLIBC_MMAP2_SHIFT 12 | ||
83 | #endif | ||
84 | |||
85 | |||
86 | /* | ||
87 | * _KLIBC_MALLOC_USES_SBRK: | ||
88 | * | ||
89 | * Indicates that malloc() should use sbrk() to obtain raw memory | ||
90 | * from the system, rather than mmap(). | ||
91 | */ | ||
92 | /* Default to get memory using mmap() */ | ||
93 | #ifndef _KLIBC_MALLOC_USES_SBRK | ||
94 | # define _KLIBC_MALLOC_USES_SBRK 0 | ||
95 | #endif | ||
96 | |||
97 | |||
98 | /* | ||
99 | * _KLIBC_MALLOC_CHUNK_SIZE: | ||
100 | * This is the minimum chunk size we will ask the kernel for using | ||
101 | * malloc(); this should be a multiple of the page size and must | ||
102 | * be a power of 2. | ||
103 | */ | ||
104 | #ifndef _KLIBC_MALLOC_CHUNK_SIZE | ||
105 | # define _KLIBC_MALLOC_CHUNK_SIZE 65536 | ||
106 | #endif | ||
107 | |||
108 | |||
109 | /* | ||
110 | * _KLIBC_SBRK_ALIGNMENT: | ||
111 | * | ||
112 | * This is the minimum alignment for the memory returned by | ||
113 | * sbrk(). It must be a power of 2. If _KLIBC_MALLOC_USES_SBRK | ||
114 | * is set it should be no smaller than the size of struct | ||
115 | * arena_header in malloc.h (== 4 pointers.) | ||
116 | */ | ||
117 | #ifndef _KLIBC_SBRK_ALIGNMENT | ||
118 | # define _KLIBC_SBRK_ALIGNMENT 32 | ||
119 | #endif | ||
120 | |||
121 | |||
122 | /* | ||
123 | * _KLIBC_USE_RT_SIG: | ||
124 | * | ||
125 | * Indicates that this architecture should use the rt_sig*() | ||
126 | * family of system calls, even if the older system calls are | ||
127 | * provided. This requires that <asm/signal.h> is correct for | ||
128 | * using with the rt_sig*() system calls. This is the default if | ||
129 | * the older system calls are undefined in <asm/unistd.h>. | ||
130 | * | ||
131 | */ | ||
132 | #ifndef _KLIBC_USE_RT_SIG | ||
133 | # ifdef __NR_sigaction | ||
134 | # define _KLIBC_USE_RT_SIG 0 | ||
135 | # else | ||
136 | # define _KLIBC_USE_RT_SIG 1 | ||
137 | # endif | ||
138 | #endif | ||
139 | |||
140 | |||
141 | /* | ||
142 | * _KLIBC_NEEDS_SA_RESTORER: | ||
143 | * | ||
144 | * Some architectures, like x86-64 and some i386 Fedora kernels, | ||
145 | * do not provide a default sigreturn, and therefore must have | ||
146 | * SA_RESTORER set. | ||
147 | */ | ||
148 | #ifndef _KLIBC_NEEDS_SA_RESTORER | ||
149 | # define _KLIBC_NEEDS_SA_RESTORER 0 | ||
150 | #endif | ||
151 | |||
152 | |||
153 | /* | ||
154 | * _KLIBC_STATFS_F_TYPE_64: | ||
155 | * | ||
156 | * This indicates that the f_type, f_bsize, f_namelen, | ||
157 | * f_frsize, and f_spare fields of struct statfs are | ||
158 | * 64 bits long. This is normally the case for 64-bit | ||
159 | * platforms, and so is the default for those. See | ||
160 | * usr/include/sys/vfs.h for the exact details. | ||
161 | */ | ||
162 | #ifndef _KLIBC_STATFS_F_TYPE_64 | ||
163 | # define _KLIBC_STATFS_F_TYPE_64 (_BITSIZE == 64) | ||
164 | #endif | ||
165 | |||
166 | |||
167 | /* | ||
168 | * _KLIBC_STATFS_F_TYPE_32B: | ||
169 | * | ||
170 | * mips has it's own definition of statfs, which is | ||
171 | * different from any other 32 bit arch. | ||
172 | niro | 1297 | */ |
173 | niro | 532 | #ifndef _KLIBC_STATFS_F_TYPE_32B |
174 | # define _KLIBC_STATFS_F_TYPE_32B 0 | ||
175 | #endif | ||
176 | |||
177 | |||
178 | /* | ||
179 | * _KLIBC_HAS_ARCHSOCKET_H | ||
180 | * | ||
181 | * This architecture has <klibc/archsocket.h> | ||
182 | */ | ||
183 | #ifndef _KLIBC_HAS_ARCHSOCKET_H | ||
184 | # define _KLIBC_HAS_ARCHSOCKET_H 0 | ||
185 | #endif | ||
186 | |||
187 | niro | 1122 | |
188 | /* | ||
189 | * _KLIBC_SYS_SOCKETCALL | ||
190 | * | ||
191 | * This architecture (e.g. SPARC) advertises socket-related | ||
192 | * system calls, which are not actually implemented. Use | ||
193 | * socketcalls unconditionally instead. | ||
194 | */ | ||
195 | #ifndef _KLIBC_SYS_SOCKETCALL | ||
196 | # define _KLIBC_SYS_SOCKETCALL 0 | ||
197 | #endif | ||
198 | |||
199 | niro | 1297 | /* |
200 | * _KLIBC_ARM_USE_BX | ||
201 | * | ||
202 | * This arm architecture supports bx instruction. | ||
203 | */ | ||
204 | #ifndef _KLIBC_ARM_USE_BX | ||
205 | # define _KLIBC_ARM_USE_BX 0 | ||
206 | #endif | ||
207 | |||
208 | niro | 532 | #endif /* _KLIBC_SYSCONFIG_H */ |