Subversion Repositories HelenOS

Rev

Rev 4348 | 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
 
4340 svoboda 30
## General platform options
31
 
32
% Platform
1802 decky 33
@ "amd64" AMD64/Intel EM64T (PC)
2128 jermar 34
@ "arm32" ARM 32-bit
1802 decky 35
@ "ia32" Intel IA-32 (PC)
2064 vana 36
@ "ia64" Intel IA-64
2088 decky 37
@ "mips32" MIPS 32-bit
1802 decky 38
@ "ppc32" PowerPC 32-bit (iMac G4)
39
@ "sparc64" Sun UltraSPARC 64-bit
40
! PLATFORM (choice)
41
 
4340 svoboda 42
% Machine type
2088 decky 43
@ "msim" MSIM
44
@ "bgxemul" GXEmul big endian
3107 svoboda 45
@ "lgxemul" GXEmul little endian
2088 decky 46
! [PLATFORM=mips32] MACHINE (choice)
47
 
4340 svoboda 48
% Machine type
4337 svoboda 49
@ "i460GX" i460GX chipset machine
2511 vana 50
@ "ski" Ski ia64 simulator
51
! [PLATFORM=ia64] MACHINE (choice)
52
 
4346 svoboda 53
% Machine type
54
@ "generic" Generic Sun workstation or server
55
@ "serengeti" Serengeti system
56
! [PLATFORM=sparc64] MACHINE (choice)
57
 
4340 svoboda 58
% CPU type
59
@ "pentium4" Pentium 4
60
@ "pentium3" Pentium 3
61
@ "core" Core Solo/Duo
4344 svoboda 62
@ "athlon_xp" Athlon XP
63
@ "athlon_mp" Athlon MP
4346 svoboda 64
! [PLATFORM=ia32] PROCESSOR (choice)
4340 svoboda 65
 
66
% CPU type
67
@ "opteron" Opteron
4346 svoboda 68
! [PLATFORM=amd64] PROCESSOR (choice)
4340 svoboda 69
 
70
% CPU type
71
@ "us" UltraSPARC I-II subarchitecture
72
@ "us3" UltraSPARC III-IV subarchitecture
4346 svoboda 73
! [PLATFORM=sparc64&MACHINE=generic] PROCESSOR (choice)
4340 svoboda 74
 
4346 svoboda 75
% CPU type
76
@ "us3"
77
! [PLATFORM=sparc64&MACHINE=serengeti] PROCESSOR (choice)
78
 
4340 svoboda 79
% Ramdisk format
80
@ "tmpfs" TMPFS image
81
@ "fat" FAT16 image
82
! RDFMT (choice)
83
 
84
 
4342 svoboda 85
## Mapping between platform and kernel architecture
86
 
87
% Kernel architecture
88
@ "amd64"
89
! [PLATFORM=amd64] KARCH (choice)
90
 
91
% Kernel architecture
92
@ "arm32"
93
! [PLATFORM=arm32] KARCH (choice)
94
 
95
% Kernel architecture
96
@ "ia32"
97
! [PLATFORM=ia32] KARCH (choice)
98
 
99
% Kernel architecture
100
@ "ia32xen"
101
! [PLATFORM=ia32xen] KARCH (choice)
102
 
103
% Kernel architecture
104
@ "ia64"
105
! [PLATFORM=ia64] KARCH (choice)
106
 
107
% Kernel architecture
108
@ "mips32"
109
! [PLATFORM=mips32] KARCH (choice)
110
 
111
% Kernel architecture
112
@ "ppc32"
113
! [PLATFORM=ppc32] KARCH (choice)
114
 
115
% Kernel architecture
116
@ "ppc64"
117
! [PLATFORM=ppc64] KARCH (choice)
118
 
119
% Kernel architecture
120
@ "sparc64"
121
! [PLATFORM=sparc64] KARCH (choice)
122
 
123
 
124
## Mapping between platform and user space architecture
125
 
126
% User space architecture
127
@ "amd64"
128
! [PLATFORM=amd64] UARCH (choice)
129
 
130
% User space architecture
131
@ "arm32"
132
! [PLATFORM=arm32] UARCH (choice)
133
 
134
% User space architecture
135
@ "ia32"
136
! [PLATFORM=ia32|PLATFORM=ia32xen] UARCH (choice)
137
 
138
% User space architecture
139
@ "ia64"
140
! [PLATFORM=ia64] UARCH (choice)
141
 
142
% User space architecture
143
@ "mips32"
4346 svoboda 144
! [PLATFORM=mips32&(MACHINE=msim|MACHINE=lgxemul)] UARCH (choice)
4342 svoboda 145
 
146
% User space architecture
147
@ "mips32eb"
4343 svoboda 148
! [PLATFORM=mips32&MACHINE=bgxemul] UARCH (choice)
4342 svoboda 149
 
150
% User space architecture
151
@ "ppc32"
152
! [PLATFORM=ppc32] UARCH (choice)
153
 
154
% User space architecture
155
@ "ppc64"
156
! [PLATFORM=ppc64] UARCH (choice)
157
 
158
% User space architecture
159
@ "sparc64"
160
! [PLATFORM=sparc64] UARCH (choice)
161
 
162
 
163
## Mapping between platform and boot architecture
164
 
165
% Boot architecture
166
@ "amd64"
167
! [PLATFORM=amd64] BARCH (choice)
168
 
169
% Boot architecture
170
@ "arm32"
171
! [PLATFORM=arm32] BARCH (choice)
172
 
173
% Boot architecture
174
@ "ia32"
175
! [PLATFORM=ia32] BARCH (choice)
176
 
177
% Boot architecture
178
@ "ia32xen"
179
! [PLATFORM=ia32xen] BARCH (choice)
180
 
181
% Boot architecture
182
@ "ia64"
183
! [PLATFORM=ia64] BARCH (choice)
184
 
185
% Boot architecture
186
@ "mips32"
187
! [PLATFORM=mips32] BARCH (choice)
188
 
189
% Boot architecture
190
@ "ppc32"
191
! [PLATFORM=ppc32] BARCH (choice)
192
 
193
% Boot architecture
194
@ "ppc64"
195
! [PLATFORM=ppc64] BARCH (choice)
196
 
197
% Boot architecture
198
@ "sparc64"
199
! [PLATFORM=sparc64] BARCH (choice)
200
 
201
 
202
## Mapping between platform and image format
203
 
204
% Image format
205
@ "binary"
206
! [PLATFORM=mips32&MACHINE=msim] IMAGE (choice)
207
 
208
% Image format
209
@ "ecoff"
4346 svoboda 210
! [PLATFORM=mips32&(MACHINE=bgxemul|MACHINE=lgxemul)] IMAGE (choice)
4342 svoboda 211
 
212
 
4340 svoboda 213
## Compiler options
214
 
215
% Compiler
2437 decky 216
@ "gcc_cross" GCC Cross-compiler
217
@ "gcc_native" GCC Native
218
@ "icc_native" ICC Native
2443 jermar 219
@ "suncc_native" Sun Studio C Compiler
4342 svoboda 220
! [PLATFORM=amd64|PLATFORM=ia32] COMPILER (choice)
1802 decky 221
 
4340 svoboda 222
% Compiler
2442 jermar 223
@ "gcc_cross" GCC Cross-compiler
224
@ "gcc_native" GCC Native
225
@ "icc_native" ICC Native
226
! [PLATFORM=ia64] COMPILER (choice)
227
 
4340 svoboda 228
% Compiler
2442 jermar 229
@ "gcc_cross" GCC Cross-compiler
230
@ "gcc_native" GCC Native
2443 jermar 231
@ "suncc_native" Sun Studio C Compiler
2442 jermar 232
! [PLATFORM=sparc64] COMPILER (choice)
233
 
4340 svoboda 234
% Compiler
2442 jermar 235
@ "gcc_cross" GCC Cross-compiler
236
@ "gcc_native" GCC Native
4342 svoboda 237
! [PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] COMPILER (choice)
2442 jermar 238
 
4340 svoboda 239
 
4342 svoboda 240
## Kernel configuration
241
 
242
% Fences
4346 svoboda 243
! [PLATFORM=ia32&(PROCESSOR=athlon_xp|PROCESSOR=athlon_mp|PROCESSOR=pentium3)] CONFIG_FENCES_P3 (y)
4342 svoboda 244
 
245
% Fences
4346 svoboda 246
! [PLATFORM=ia32&(PROCESSOR=pentium4|PROCESSOR=core)] CONFIG_FENCES_P4 (y)
4342 svoboda 247
 
4343 svoboda 248
% Fences
249
! [PLATFORM=amd64] CONFIG_FENCES_P4 (y)
250
 
4342 svoboda 251
% ACPI support
252
! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_ACPI (y)
253
 
254
% Hierarchical page tables support
255
! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_PAGE_PT (y)
256
 
257
% Page hash table support
258
! [PLATFORM=ia64|PLATFORM=sparc64] CONFIG_PAGE_HT (y)
259
 
260
% Software integer division support
261
! [PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_SOFTINT (y)
262
 
263
% ASID support
264
! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
265
 
266
% ASID FIFO support
267
! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
268
 
269
% OpenFirmware tree support
270
! [PLATFORM=sparc64] CONFIG_OFW_TREE (y)
271
 
4345 svoboda 272
% Multiboot standard support
273
! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_MULTIBOOT (y)
274
 
4342 svoboda 275
% FPU support
4343 svoboda 276
! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ia64|PLATFORM=sparc64] CONFIG_FPU (y)
4342 svoboda 277
 
4343 svoboda 278
% FPU support
279
! [PLATFORM=mips32&(MACHINE=lgxemul|MACHINE=bgxemul)] CONFIG_FPU (y)
4342 svoboda 280
 
4343 svoboda 281
 
4340 svoboda 282
## Kernel features options
283
 
284
% Support for SMP
4346 svoboda 285
! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)] CONFIG_SMP (y/n)
4340 svoboda 286
 
4346 svoboda 287
% Debug build
288
! CONFIG_DEBUG (y/n)
289
 
290
% Deadlock detection support for spinlocks
291
! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
292
 
4340 svoboda 293
% Improved support for hyperthreading
4343 svoboda 294
! [PLATFORM=amd64&CONFIG_SMP=y] CONFIG_HT (y/n)
4340 svoboda 295
 
4343 svoboda 296
% Improved support for hyperthreading
4346 svoboda 297
! [PLATFORM=ia32&PROCESSOR!=athlon_xp&PROCESSOR!=athlon_mp&PROCESSOR!=pentium3&CONFIG_SMP=y] CONFIG_HT (y/n)
4340 svoboda 298
 
299
% Lazy FPU context switching
4342 svoboda 300
! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
4340 svoboda 301
 
302
% Use VHPT
303
! [PLATFORM=ia64] CONFIG_VHPT (n/y)
304
 
305
% Use TSB
306
! [PLATFORM=sparc64] CONFIG_TSB (y/n)
307
 
4346 svoboda 308
% IO SAPIC on default address support
4343 svoboda 309
! [PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
310
 
4340 svoboda 311
% Virtually indexed D-cache support
312
! [PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
313
 
314
% Support for userspace debuggers
4343 svoboda 315
! CONFIG_UDEBUG (y/n)
4340 svoboda 316
 
317
% Kernel console support
318
! CONFIG_KCONSOLE (y/n)
319
 
4346 svoboda 320
% Kernel symbol information
321
! CONFIG_SYMTAB (y/n)
322
 
4340 svoboda 323
% Detailed kernel logging
324
! CONFIG_LOG (n/y)
325
 
326
% Compile kernel tests
327
! CONFIG_TEST (y/n)
328
 
329
 
330
## Hardware support
331
 
4346 svoboda 332
% Input device class
333
@ "generic" Keyboard or serial line
334
@ "none" No input device
4348 svoboda 335
! [PLATFORM=ia32|PLATFORM=arm32|PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_HID_IN (choice)
4346 svoboda 336
 
337
% Input device class
338
@ "generic" Keyboard or serial line
339
@ "keyboard" Keyboard
340
@ "serial" Serial line
341
@ "none" No input device
342
! [PLATFORM=ia64&MACHINE=i460GX] CONFIG_HID_IN (choice)
343
 
344
% Output device class
345
@ "generic" Monitor or serial line
346
@ "none" No output device
347
! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ppc32|(PLATFORM=ia64&MACHINE=i460GX)|(PLATFORM=mips32&MACHINE=msim)] CONFIG_HID_OUT (choice)
348
 
349
% Output device class
350
@ "generic" Monitor or serial line
351
@ "monitor" Monitor
352
@ "serial" Serial line
353
@ "none" No output device
354
! [PLATFORM=mips32&(MACHINE=bgxemul|MACHINE=lgxemul)] CONFIG_HID_OUT (choice)
355
 
356
% Output device class
357
@ "generic" Monitor or serial line
358
@ "monitor" Monitor
359
@ "serial" Serial line
360
@ "none" No output device
361
! [PLATFORM=arm32] CONFIG_HID_OUT (choice)
362
 
363
% PC keyboard support
364
! [CONFIG_HID_IN=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_PC_KBD (y/n)
365
 
366
% PC keyboard support
367
! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_PC_KBD (y/n)
368
 
369
% Support for msim/GXemul keyboard
370
! [CONFIG_HID_IN=generic&PLATFORM=mips32] CONFIG_MIPS_KBD (y/n)
371
 
372
% Support for msim/GXemul printer
373
! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=mips32] CONFIG_MIPS_PRN (y/n)
374
 
375
% Support for GXemul keyboard
376
! [CONFIG_HID_IN=generic&PLATFORM=arm32] CONFIG_ARM_KBD (y/n)
377
 
378
% Support for GXemul printer
379
! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32] CONFIG_ARM_PRN (y/n)
380
 
4348 svoboda 381
% Support for VIA CUDA controller
382
! [CONFIG_HID_IN=generic&PLATFORM=ppc32] CONFIG_VIA_CUDA (y/n)
383
 
4346 svoboda 384
% Support for NS16550 controller
385
! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic] CONFIG_NS16550 (y/n)
386
 
387
% Support for NS16550 controller
388
! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_NS16550 (y/n)
389
 
390
% Support for Z8530 controller
4348 svoboda 391
! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic] CONFIG_Z8530 (y/n)
4346 svoboda 392
 
393
% Support for Serengeti console
4348 svoboda 394
! [CONFIG_HID_OUT=generic&PLATFORM=sparc64&MACHINE=serengeti] CONFIG_SGCN_PRN (y/n)
4346 svoboda 395
 
4348 svoboda 396
% Support for Serengeti keyboard
397
! [CONFIG_HID_IN=generic&PLATFORM=sparc64&MACHINE=serengeti] CONFIG_SGCN_KBD (y/n)
398
 
4346 svoboda 399
% i8042 controller support
400
! [CONFIG_PC_KBD=y] CONFIG_I8042 (y)
401
 
402
% Sun keyboard support
4348 svoboda 403
! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic&(CONFIG_NS16550=y|CONFIG_Z8530=y)] CONFIG_SUN_KBD (y)
4346 svoboda 404
 
405
% Dummy serial line input
406
! [CONFIG_MIPS_KBD=y|CONFIG_ARM_KBD=y] CONFIG_DSRLNIN (y)
407
 
408
% Dummy serial line output
409
! [CONFIG_MIPS_PRN=y|CONFIG_ARM_PRN=y] CONFIG_DSRLNOUT (y)
410
 
411
% Serial line input module
4348 svoboda 412
! [CONFIG_DSRLNIN=y|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&MACHINE=serengeti&CONFIG_SGCN_KBD=y)] CONFIG_SRLN (y)
4346 svoboda 413
 
414
% EGA support
415
! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_EGA (y/n)
416
 
417
% EGA support
418
! [CONFIG_HID_OUT=generic&PLATFORM=ia64&MACHINE=i460GX] CONFIG_EGA (y/n)
419
 
4340 svoboda 420
% Framebuffer support
4346 svoboda 421
! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32)] CONFIG_FB (y/n)
4340 svoboda 422
 
4342 svoboda 423
% Framebuffer support
4346 svoboda 424
! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=mips32&(MACHINE=lgxemul|MACHINE=bgxemul)] CONFIG_FB (y/n)
4342 svoboda 425
 
4346 svoboda 426
% Framebuffer support
427
! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=arm32] CONFIG_FB (y/n)
4340 svoboda 428
 
4346 svoboda 429
% Framebuffer support
430
! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=sparc64&MACHINE=generic] CONFIG_FB (y/n)
4340 svoboda 431
 
4346 svoboda 432
% Default framebuffer mode
433
@ "640x480"
434
@ "800x600"
435
@ "1024x768"
436
@ "1152x720"
437
@ "1152x864"
438
@ "1280x960"
439
@ "1280x1024"
440
@ "1400x1050"
441
@ "1440x900"
442
@ "1440x1050"
443
@ "1600x1200"
444
@ "1920x1080"
445
@ "1920x1200"
446
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_VESA_MODE (choice)
447
 
448
% Default framebuffer depth
4340 svoboda 449
@ "8"
450
@ "16"
451
@ "24"
4346 svoboda 452
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
4340 svoboda 453
 
454
% Start AP processors by the loader
4341 svoboda 455
! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n)
4340 svoboda 456
 
457
% Use Block Address Translation by the loader
458
! [PLATFORM=ppc32] CONFIG_BAT (y/n)
459
 
460
% Preserve A.OUT header in isofs.b
4346 svoboda 461
! [PLATFORM=sparc64&MACHINE=generic] CONFIG_AOUT_ISOFS_B (y)
4340 svoboda 462
 
463
% External ramdisk
464
! [PLATFORM=sparc64] CONFIG_RD_EXTERNAL (y/n)
465
 
4373 svoboda 466
% Build shared C library
467
! CONFIG_BUILD_SHARED_LIBC (y/n)
468
 
469
% Link against shared C library
470
! [CONFIG_BUILD_SHARED_LIBC=y] CONFIG_USE_SHARED_LIBC (n/y)
471
! [CONFIG_BUILD_SHARED_LIBC=n] CONFIG_USE_SHARED_LIBC (n)