Subversion Repositories HelenOS

Rev

Rev 4341 | Rev 4343 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2830 jermar 1
#
4340 svoboda 2
# Copyright (c) 2006 Ondrej Palkovsky
4342 svoboda 3
# Copyright (c) 2009 Martin Decky
2830 jermar 4
# All rights reserved.
5
#
6
# Redistribution and use in source and binary forms, with or without
7
# modification, are permitted provided that the following conditions
8
# are met:
9
#
10
# - Redistributions of source code must retain the above copyright
11
#   notice, this list of conditions and the following disclaimer.
12
# - Redistributions in binary form must reproduce the above copyright
13
#   notice, this list of conditions and the following disclaimer in the
14
#   documentation and/or other materials provided with the distribution.
15
# - The name of the author may not be used to endorse or promote products
16
#   derived from this software without specific prior written permission.
17
#
18
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
#
29
 
1802 decky 30
 
4340 svoboda 31
## General platform options
32
 
33
% Platform
1802 decky 34
@ "amd64" AMD64/Intel EM64T (PC)
2128 jermar 35
@ "arm32" ARM 32-bit
1802 decky 36
@ "ia32" Intel IA-32 (PC)
2064 vana 37
@ "ia64" Intel IA-64
2088 decky 38
@ "mips32" MIPS 32-bit
1802 decky 39
@ "ppc32" PowerPC 32-bit (iMac G4)
40
@ "sparc64" Sun UltraSPARC 64-bit
41
! PLATFORM (choice)
42
 
4340 svoboda 43
% Machine type
2088 decky 44
@ "msim" MSIM
45
@ "simics" Simics
46
@ "bgxemul" GXEmul big endian
3107 svoboda 47
@ "lgxemul" GXEmul little endian
2088 decky 48
! [PLATFORM=mips32] MACHINE (choice)
49
 
4340 svoboda 50
% Machine type
4337 svoboda 51
@ "i460GX" i460GX chipset machine
2511 vana 52
@ "ski" Ski ia64 simulator
53
! [PLATFORM=ia64] MACHINE (choice)
54
 
4340 svoboda 55
% CPU type
56
@ "pentium4" Pentium 4
57
@ "pentium3" Pentium 3
58
@ "core" Core Solo/Duo
59
@ "athlon-xp" Athlon XP
60
@ "athlon-mp" Athlon MP
4342 svoboda 61
! [PLATFORM=ia32] MACHINE (choice)
4340 svoboda 62
 
63
% CPU type
64
@ "opteron" Opteron
65
! [PLATFORM=amd64] MACHINE (choice)
66
 
67
% CPU type
68
@ "us" UltraSPARC I-II subarchitecture
69
@ "us3" UltraSPARC III-IV subarchitecture
70
! [PLATFORM=sparc64] MACHINE (choice)
71
 
72
% Ramdisk format
73
@ "tmpfs" TMPFS image
74
@ "fat" FAT16 image
75
! RDFMT (choice)
76
 
77
 
4342 svoboda 78
## Mapping between platform and kernel architecture
79
 
80
% Kernel architecture
81
@ "amd64"
82
! [PLATFORM=amd64] KARCH (choice)
83
 
84
% Kernel architecture
85
@ "arm32"
86
! [PLATFORM=arm32] KARCH (choice)
87
 
88
% Kernel architecture
89
@ "ia32"
90
! [PLATFORM=ia32] KARCH (choice)
91
 
92
% Kernel architecture
93
@ "ia32xen"
94
! [PLATFORM=ia32xen] KARCH (choice)
95
 
96
% Kernel architecture
97
@ "ia64"
98
! [PLATFORM=ia64] KARCH (choice)
99
 
100
% Kernel architecture
101
@ "mips32"
102
! [PLATFORM=mips32] KARCH (choice)
103
 
104
% Kernel architecture
105
@ "ppc32"
106
! [PLATFORM=ppc32] KARCH (choice)
107
 
108
% Kernel architecture
109
@ "ppc64"
110
! [PLATFORM=ppc64] KARCH (choice)
111
 
112
% Kernel architecture
113
@ "sparc64"
114
! [PLATFORM=sparc64] KARCH (choice)
115
 
116
 
117
## Mapping between platform and user space architecture
118
 
119
% User space architecture
120
@ "amd64"
121
! [PLATFORM=amd64] UARCH (choice)
122
 
123
% User space architecture
124
@ "arm32"
125
! [PLATFORM=arm32] UARCH (choice)
126
 
127
% User space architecture
128
@ "ia32"
129
! [PLATFORM=ia32|PLATFORM=ia32xen] UARCH (choice)
130
 
131
% User space architecture
132
@ "ia64"
133
! [PLATFORM=ia64] UARCH (choice)
134
 
135
% User space architecture
136
@ "mips32"
137
! [PLATFORM=mips32&(MACHINE=msim|MACHINE=simics|MACHINE=lgxemul)] UARCH (choice)
138
 
139
% User space architecture
140
@ "mips32eb"
141
! [PLATFORM=mips32&(MACHINE=bgxemul)] UARCH (choice)
142
 
143
% User space architecture
144
@ "ppc32"
145
! [PLATFORM=ppc32] UARCH (choice)
146
 
147
% User space architecture
148
@ "ppc64"
149
! [PLATFORM=ppc64] UARCH (choice)
150
 
151
% User space architecture
152
@ "sparc64"
153
! [PLATFORM=sparc64] UARCH (choice)
154
 
155
 
156
## Mapping between platform and boot architecture
157
 
158
% Boot architecture
159
@ "amd64"
160
! [PLATFORM=amd64] BARCH (choice)
161
 
162
% Boot architecture
163
@ "arm32"
164
! [PLATFORM=arm32] BARCH (choice)
165
 
166
% Boot architecture
167
@ "ia32"
168
! [PLATFORM=ia32] BARCH (choice)
169
 
170
% Boot architecture
171
@ "ia32xen"
172
! [PLATFORM=ia32xen] BARCH (choice)
173
 
174
% Boot architecture
175
@ "ia64"
176
! [PLATFORM=ia64] BARCH (choice)
177
 
178
% Boot architecture
179
@ "mips32"
180
! [PLATFORM=mips32] BARCH (choice)
181
 
182
% Boot architecture
183
@ "ppc32"
184
! [PLATFORM=ppc32] BARCH (choice)
185
 
186
% Boot architecture
187
@ "ppc64"
188
! [PLATFORM=ppc64] BARCH (choice)
189
 
190
% Boot architecture
191
@ "sparc64"
192
! [PLATFORM=sparc64] BARCH (choice)
193
 
194
 
195
## Mapping between platform and image format
196
 
197
% Image format
198
@ "binary"
199
! [PLATFORM=mips32&MACHINE=msim] IMAGE (choice)
200
 
201
% Image format
202
@ "ecoff"
203
! [PLATFORM=mips32&(MACHINE=simics|MACHINE=bgxemul|MACHINE=lgxemul)] IMAGE (choice)
204
 
205
 
4340 svoboda 206
## Compiler options
207
 
208
% Compiler
2437 decky 209
@ "gcc_cross" GCC Cross-compiler
210
@ "gcc_native" GCC Native
211
@ "icc_native" ICC Native
2443 jermar 212
@ "suncc_native" Sun Studio C Compiler
4342 svoboda 213
! [PLATFORM=amd64|PLATFORM=ia32] COMPILER (choice)
1802 decky 214
 
4340 svoboda 215
% Compiler
2442 jermar 216
@ "gcc_cross" GCC Cross-compiler
217
@ "gcc_native" GCC Native
218
@ "icc_native" ICC Native
219
! [PLATFORM=ia64] COMPILER (choice)
220
 
4340 svoboda 221
% Compiler
2442 jermar 222
@ "gcc_cross" GCC Cross-compiler
223
@ "gcc_native" GCC Native
2443 jermar 224
@ "suncc_native" Sun Studio C Compiler
2442 jermar 225
! [PLATFORM=sparc64] COMPILER (choice)
226
 
4340 svoboda 227
% Compiler
2442 jermar 228
@ "gcc_cross" GCC Cross-compiler
229
@ "gcc_native" GCC Native
4342 svoboda 230
! [PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] COMPILER (choice)
2442 jermar 231
 
4340 svoboda 232
 
233
## Debug build options
234
 
235
% Debug build
1802 decky 236
! CONFIG_DEBUG (y/n)
4340 svoboda 237
 
238
 
4342 svoboda 239
## Kernel configuration
240
 
241
% Fences
242
! [PLATFORM=ia32&(MACHINE=athlon-xp|MACHINE=athlon-mp|MACHINE=pentium3)] CONFIG_FENCES_P3 (y)
243
 
244
% Fences
245
! [(PLATFORM=ia32&(MACHINE=pentium4|MACHINE=core))|PLATFORM=amd64] CONFIG_FENCES_P4 (y)
246
 
247
% ACPI support
248
! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_ACPI (y)
249
 
250
% Hierarchical page tables support
251
! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_PAGE_PT (y)
252
 
253
% Page hash table support
254
! [PLATFORM=ia64|PLATFORM=sparc64] CONFIG_PAGE_HT (y)
255
 
256
% i8042 controller support
257
! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=ia64&MACHINE=i460GX)] CONFIG_I8042 (y)
258
 
259
% Sun keyboard support
260
! [PLATFORM=sparc64] CONFIG_SUN_KBD (y)
261
 
262
% EGA support
263
! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=ia64&MACHINE=i460GX)] CONFIG_EGA (y)
264
 
265
% Software integer division support
266
! [PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_SOFTINT (y)
267
 
268
% ASID support
269
! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
270
 
271
% ASID FIFO support
272
! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
273
 
274
% OpenFirmware tree support
275
! [PLATFORM=sparc64] CONFIG_OFW_TREE (y)
276
 
277
% FPU support
278
! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ia64|PLATFORM=sparc64|(PLATFORM=mips32&(MACHINE=lgxemul|MACHINE=bgxemul))] CONFIG_FPU (y)
279
 
280
 
4340 svoboda 281
## Kernel features options
282
 
283
% Support for SMP
4342 svoboda 284
! [(PLATFORM=ia32&MACHINE!=athlon-xp)|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ia64] CONFIG_SMP (y/n)
4340 svoboda 285
 
286
% Improved support for hyperthreading
4342 svoboda 287
! [((PLATFORM=ia32&MACHINE!=athlon-xp&MACHINE!=athlon-mp&MACHINE!=pentium3)|PLATFORM=amd64)&CONFIG_SMP=y] CONFIG_HT (y/n)
4340 svoboda 288
 
289
% Simics BIOS AP boot fix
290
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_SMP=y] CONFIG_SIMICS_FIX (y/n)
291
 
292
% Lazy FPU context switching
4342 svoboda 293
! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
4340 svoboda 294
 
295
% Use VHPT
296
! [PLATFORM=ia64] CONFIG_VHPT (n/y)
297
 
298
% Use TSB
299
! [PLATFORM=sparc64] CONFIG_TSB (y/n)
300
 
301
% Support for Z8530 serial port
302
! [PLATFORM=sparc64] CONFIG_Z8530 (y/n)
303
 
304
% Support for NS16550 serial port
305
! [PLATFORM=sparc64|(PLATFORM=ia64&MACHINE!=ski)] CONFIG_NS16550 (n/y)
306
 
307
% IOSapic on default address support
308
! [PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
309
 
4341 svoboda 310
% Interrupt-driven driver for Legacy Keyboard
4340 svoboda 311
! [CONFIG_NS16550=n&CONFIG_IOSAPIC=y&MACHINE!=ski] CONFIG_I8042_INTERRUPT_DRIVEN (y/n)
312
 
4341 svoboda 313
% Interrupt-driven driver for NS16550
4340 svoboda 314
! [CONFIG_NS16550=y&((PLATFORM!=ia64)|CONFIG_IOSAPIC=y)&MACHINE!=ski] CONFIG_NS16550_INTERRUPT_DRIVEN (y/n)
315
 
4342 svoboda 316
% Support for Serengeti console
317
! [PLATFORM=sparc64] CONFIG_SGCN (y/n)
318
 
4340 svoboda 319
% Virtually indexed D-cache support
320
! [PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
321
 
322
% Support for userspace debuggers
323
! CONFIG_UDEBUG (n/y)
324
 
325
% Kernel console support
326
! CONFIG_KCONSOLE (y/n)
327
 
328
% Detailed kernel logging
329
! CONFIG_LOG (n/y)
330
 
331
% Deadlock detection support for spinlocks
332
! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
333
 
334
% Watchpoint on rewriting AS with zero
4342 svoboda 335
! [CONFIG_DEBUG=y&(PLATFORM=amd64|PLATFORM=ia32)] CONFIG_DEBUG_AS_WATCHPOINT (y/n)
4340 svoboda 336
 
337
% Save all interrupt registers
4342 svoboda 338
! [CONFIG_DEBUG=y&(PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ia32)] CONFIG_DEBUG_ALLREGS (y/n)
4340 svoboda 339
 
340
% Compile kernel tests
341
! CONFIG_TEST (y/n)
342
 
343
 
344
## Hardware support
345
 
346
% Framebuffer support
4342 svoboda 347
! [(PLATFORM=mips32&MACHINE=lgxemul)|(PLATFORM=mips32&MACHINE=bgxemul)|(PLATFORM=ia32)|(PLATFORM=amd64)|(PLATFORM=arm32)|(PLATFORM=sparc64&MACHINE=us3)] CONFIG_FB (y/n)
4340 svoboda 348
 
4342 svoboda 349
% Framebuffer support
350
! [PLATFORM=ppc32|(PLATFORM=sparc64&MACHINE=us)] CONFIG_FB (y)
351
 
4340 svoboda 352
% Framebuffer width
353
@ "640"
354
@ "800"
355
@ "1024"
356
@ "1152"
357
@ "1280"
358
@ "1400"
359
@ "1440"
360
@ "1600"
361
@ "2048"
362
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice)
363
 
364
% Framebuffer height
365
@ "480"
366
@ "600"
367
@ "768"
368
@ "852"
369
@ "900"
370
@ "960"
371
@ "1024"
372
@ "1050"
373
@ "1200"
374
@ "1536"
375
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice)
376
 
377
% Framebuffer depth
378
@ "8"
379
@ "16"
380
@ "24"
381
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
382
 
383
% Start AP processors by the loader
4341 svoboda 384
! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n)
4340 svoboda 385
 
386
% Use Block Address Translation by the loader
387
! [PLATFORM=ppc32] CONFIG_BAT (y/n)
388
 
389
% Preserve A.OUT header in isofs.b
390
! [PLATFORM=sparc64] CONFIG_AOUT_ISOFS_B (y/n)
391
 
392
% External ramdisk
393
! [PLATFORM=sparc64] CONFIG_RD_EXTERNAL (y/n)
394
 
395
% Use shared C library
396
! CONFIG_SHARED_LIBC (y/n)