source: mainline/HelenOS.config@ 5fe3853e

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 5fe3853e was ad8f03d2, checked in by Martin Decky <martin@…>, 15 years ago

split CONFIG_LOG into CONFIG_LOG and CONFIG_TRACE (displaying the instrumented tracing of kernel functions can produce way more output that just logging)

  • Property mode set to 100644
File size: 14.0 KB
Line 
1#
2# Copyright (c) 2006 Ondrej Palkovsky
3# Copyright (c) 2009 Martin Decky
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
30## General platform options
31
32% Platform
33@ "abs32le" abstract 32-bit little endian
34@ "amd64" AMD64/Intel EM64T (PC)
35@ "arm32" ARM 32-bit
36@ "ia32" Intel IA-32 (PC)
37@ "ia64" Intel IA-64
38@ "mips32" MIPS 32-bit
39@ "ppc32" PowerPC 32-bit (iMac G4)
40@ "sparc64" Sun UltraSPARC 64-bit
41! PLATFORM (choice)
42
43% Machine type
44@ "msim" MSIM
45@ "bgxemul" GXEmul big endian
46@ "lgxemul" GXEmul little endian
47! [PLATFORM=mips32] MACHINE (choice)
48
49% Machine type
50@ "i460GX" i460GX chipset machine
51@ "ski" Ski ia64 simulator
52! [PLATFORM=ia64] MACHINE (choice)
53
54% Machine type
55@ "generic" Generic Sun workstation or server
56@ "serengeti" Serengeti system
57! [PLATFORM=sparc64] MACHINE (choice)
58
59% Machine type
60@ "testarm" GXEmul Testarm
61@ "integratorcp" Integratorcp
62! [PLATFORM=arm32] MACHINE (choice)
63
64% CPU type
65@ "pentium4" Pentium 4
66@ "pentium3" Pentium 3
67@ "core" Core Solo/Duo
68@ "athlon_xp" Athlon XP
69@ "athlon_mp" Athlon MP
70! [PLATFORM=ia32] PROCESSOR (choice)
71
72% CPU type
73@ "opteron" Opteron
74! [PLATFORM=amd64] PROCESSOR (choice)
75
76% CPU type
77@ "us" UltraSPARC I-II subarchitecture
78@ "us3" UltraSPARC III-IV subarchitecture
79@ "sun4v" Niagara (sun4v)
80! [PLATFORM=sparc64&MACHINE=generic] PROCESSOR (choice)
81
82% CPU type
83@ "us3"
84! [PLATFORM=sparc64&MACHINE=serengeti] PROCESSOR (choice)
85
86% RAM disk format
87@ "tmpfs" TMPFS image
88@ "fat" FAT16 image
89! RDFMT (choice)
90
91
92## Mapping between platform and kernel architecture
93
94% Kernel architecture
95@ "abs32le"
96! [PLATFORM=abs32le] KARCH (choice)
97
98% Kernel architecture
99@ "amd64"
100! [PLATFORM=amd64] KARCH (choice)
101
102% Kernel architecture
103@ "arm32"
104! [PLATFORM=arm32] KARCH (choice)
105
106% Kernel architecture
107@ "ia32"
108! [PLATFORM=ia32] KARCH (choice)
109
110% Kernel architecture
111@ "ia32xen"
112! [PLATFORM=ia32xen] KARCH (choice)
113
114% Kernel architecture
115@ "ia64"
116! [PLATFORM=ia64] KARCH (choice)
117
118% Kernel architecture
119@ "mips32"
120! [PLATFORM=mips32] KARCH (choice)
121
122% Kernel architecture
123@ "ppc32"
124! [PLATFORM=ppc32] KARCH (choice)
125
126% Kernel architecture
127@ "ppc64"
128! [PLATFORM=ppc64] KARCH (choice)
129
130% Kernel architecture
131@ "sparc64"
132! [PLATFORM=sparc64] KARCH (choice)
133
134
135## Mapping between platform and user space architecture
136
137% User space architecture
138@ "abs32le"
139! [PLATFORM=abs32le] UARCH (choice)
140
141% User space architecture
142@ "amd64"
143! [PLATFORM=amd64] UARCH (choice)
144
145% User space architecture
146@ "arm32"
147! [PLATFORM=arm32] UARCH (choice)
148
149% User space architecture
150@ "ia32"
151! [PLATFORM=ia32|PLATFORM=ia32xen] UARCH (choice)
152
153% User space architecture
154@ "ia64"
155! [PLATFORM=ia64] UARCH (choice)
156
157% User space architecture
158@ "mips32"
159! [PLATFORM=mips32&(MACHINE=msim|MACHINE=lgxemul)] UARCH (choice)
160
161% User space architecture
162@ "mips32eb"
163! [PLATFORM=mips32&MACHINE=bgxemul] UARCH (choice)
164
165% User space architecture
166@ "ppc32"
167! [PLATFORM=ppc32] UARCH (choice)
168
169% User space architecture
170@ "ppc64"
171! [PLATFORM=ppc64] UARCH (choice)
172
173% User space architecture
174@ "sparc64"
175! [PLATFORM=sparc64] UARCH (choice)
176
177
178## Mapping between platform and boot architecture
179
180% Boot architecture
181@ "abs32le"
182! [PLATFORM=abs32le] BARCH (choice)
183
184% Boot architecture
185@ "amd64"
186! [PLATFORM=amd64] BARCH (choice)
187
188% Boot architecture
189@ "arm32"
190! [PLATFORM=arm32] BARCH (choice)
191
192% Boot architecture
193@ "ia32"
194! [PLATFORM=ia32] BARCH (choice)
195
196% Boot architecture
197@ "ia32xen"
198! [PLATFORM=ia32xen] BARCH (choice)
199
200% Boot architecture
201@ "ia64"
202! [PLATFORM=ia64] BARCH (choice)
203
204% Boot architecture
205@ "mips32"
206! [PLATFORM=mips32] BARCH (choice)
207
208% Boot architecture
209@ "ppc32"
210! [PLATFORM=ppc32] BARCH (choice)
211
212% Boot architecture
213@ "ppc64"
214! [PLATFORM=ppc64] BARCH (choice)
215
216% Boot architecture
217@ "sparc64"
218! [PLATFORM=sparc64] BARCH (choice)
219
220
221## Mapping between platform and image format
222
223% Image format
224@ "binary"
225! [PLATFORM=mips32&MACHINE=msim] IMAGE (choice)
226
227% Image format
228@ "ecoff"
229! [PLATFORM=mips32&(MACHINE=bgxemul|MACHINE=lgxemul)] IMAGE (choice)
230
231
232## Compiler options
233
234% Compiler
235@ "gcc_cross" GNU C Compiler (cross-compiler)
236@ "gcc_native" GNU C Compiler (native)
237@ "icc" Intel C Compiler
238@ "suncc" Sun Studio C Compiler
239@ "clang" Clang
240! [PLATFORM=amd64|PLATFORM=ia32] COMPILER (choice)
241
242% Compiler
243@ "gcc_cross" GNU C Compiler (cross-compiler)
244@ "gcc_native" GNU C Compiler (native)
245@ "icc" Intel C Compiler
246! [PLATFORM=ia64] COMPILER (choice)
247
248% Compiler
249@ "gcc_cross" GNU C Compiler (cross-compiler)
250@ "gcc_native" GNU C Compiler (native)
251@ "suncc" Sun Studio C Compiler
252! [PLATFORM=sparc64] COMPILER (choice)
253
254% Compiler
255@ "gcc_cross" GNU C Compiler (cross-compiler)
256@ "gcc_native" GNU C Compiler (native)
257! [PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] COMPILER (choice)
258
259% Compiler
260@ "gcc_cross" GNU C Compiler (cross-compiler)
261@ "gcc_native" GNU C Compiler (native)
262@ "clang" Clang
263! [PLATFORM=abs32le] COMPILER (choice)
264
265
266## Cross-compiler target for abstract architecture
267
268% Cross-compiler target
269@ "arm32" ARM 32-bit
270@ "ia32" Intel IA-32
271@ "mips32" MIPS 32-bit
272! [PLATFORM=abs32le&COMPILER=gcc_cross] CROSS_TARGET (choice)
273
274
275## Kernel configuration
276
277% Fences
278! [PLATFORM=ia32&(PROCESSOR=athlon_xp|PROCESSOR=athlon_mp|PROCESSOR=pentium3)] CONFIG_FENCES_P3 (y)
279
280% Fences
281! [PLATFORM=ia32&(PROCESSOR=pentium4|PROCESSOR=core)] CONFIG_FENCES_P4 (y)
282
283% Fences
284! [PLATFORM=amd64] CONFIG_FENCES_P4 (y)
285
286% ACPI support
287! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_ACPI (y)
288
289% Hierarchical page tables support
290! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_PAGE_PT (y)
291
292% Page hash table support
293! [PLATFORM=ia64|PLATFORM=sparc64] CONFIG_PAGE_HT (y)
294
295% Software integer division support
296! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_SOFTINT (y)
297
298% ASID support
299! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
300
301% ASID FIFO support
302! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
303
304% OpenFirmware tree support
305! [PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_OFW_TREE (y)
306
307% OpenFirmware PCI bus support
308! [PLATFORM=sparc64] CONFIG_OFW_PCI (y)
309
310% Multiboot standard support
311! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_MULTIBOOT (y)
312
313% FPU support
314! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ia64|PLATFORM=sparc64] CONFIG_FPU (y)
315
316% FPU support
317! [PLATFORM=mips32&(MACHINE=lgxemul|MACHINE=bgxemul)] CONFIG_FPU (y)
318
319
320## Kernel features options
321
322% Support for SMP
323! [(PLATFORM=ia32&PROCESSOR!=athlon_xp)|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)|PLATFORM=abs32le] CONFIG_SMP (y/n)
324
325% Debug build
326! CONFIG_DEBUG (y/n)
327
328% Deadlock detection support for spinlocks
329! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
330
331% Lazy FPU context switching
332! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
333
334% Use VHPT
335! [PLATFORM=ia64] CONFIG_VHPT (n/y)
336
337% Use TSB
338! [PLATFORM=sparc64] CONFIG_TSB (y/n)
339
340% IO SAPIC on default address support
341! [PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
342
343% Virtually indexed D-cache support
344! [PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
345
346% Simics SMP Hack
347! [PROCESSOR=sun4v&CONFIG_SMP=y] CONFIG_SIMICS_SMP_HACK (n/y)
348
349% Support for userspace debuggers
350! CONFIG_UDEBUG (y/n)
351
352% Kernel console support
353! CONFIG_KCONSOLE (y/n)
354
355% Kernel symbol information
356! CONFIG_SYMTAB (y/n)
357
358% Detailed kernel logging
359! CONFIG_LOG (n/y)
360
361% Kernel function tracing
362! CONFIG_TRACE (n/y)
363
364% Compile kernel tests
365! CONFIG_TEST (y/n)
366
367% Use link-time optimization
368! [COMPILER=gcc_cross|COMPILER=gcc_native] CONFIG_LTO (n/y)
369
370
371## Hardware support
372
373% Input device class
374@ "generic" Keyboard or serial line
375! [PLATFORM=arm32&MACHINE=integratorcp] CONFIG_HID_IN (choice)
376
377% Input device class
378@ "generic" Keyboard or serial line
379@ "none" No input device
380! [PLATFORM=ia32|(PLATFORM=arm32&MACHINE=testarm)|PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_HID_IN (choice)
381
382% Input device class
383@ "generic" Keyboard or serial line
384@ "keyboard" Keyboard
385@ "serial" Serial line
386@ "none" No input device
387! [PLATFORM=ia64&MACHINE=i460GX] CONFIG_HID_IN (choice)
388
389% Output device class
390@ "generic" Monitor or serial line
391! [PLATFORM=arm32&MACHINE=integratorcp] CONFIG_HID_OUT (choice)
392
393% Output device class
394@ "generic" Monitor or serial line
395@ "none" No output device
396! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ppc32|(PLATFORM=ia64&MACHINE=i460GX)|(PLATFORM=mips32&MACHINE=msim)] CONFIG_HID_OUT (choice)
397
398% Output device class
399@ "generic" Monitor or serial line
400@ "monitor" Monitor
401@ "serial" Serial line
402@ "none" No output device
403! [PLATFORM=mips32&(MACHINE=bgxemul|MACHINE=lgxemul)] CONFIG_HID_OUT (choice)
404
405% Output device class
406@ "generic" Monitor or serial line
407@ "monitor" Monitor
408@ "serial" Serial line
409@ "none" No output device
410! [PLATFORM=arm32&MACHINE=testarm] CONFIG_HID_OUT (choice)
411
412% PC keyboard support
413! [CONFIG_HID_IN=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_PC_KBD (y/n)
414
415% PC keyboard support
416! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_PC_KBD (y/n)
417
418% Support for msim/GXemul keyboard
419! [CONFIG_HID_IN=generic&PLATFORM=mips32] CONFIG_MIPS_KBD (y/n)
420
421% Support for msim/GXemul printer
422! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=mips32] CONFIG_MIPS_PRN (y/n)
423
424% Support for GXemul keyboard
425! [CONFIG_HID_IN=generic&PLATFORM=arm32&MACHINE=testarm] CONFIG_ARM_KBD (y/n)
426
427% Support for GXemul printer
428! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=testarm] CONFIG_ARM_PRN (y/n)
429
430% Support for VIA CUDA controller
431! [CONFIG_HID_IN=generic&PLATFORM=ppc32] CONFIG_VIA_CUDA (y/n)
432
433% Support for NS16550 controller
434! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic] CONFIG_NS16550 (y/n)
435
436% Support for NS16550 controller
437! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_NS16550 (y/n)
438
439% Support for Z8530 controller
440! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic] CONFIG_Z8530 (y/n)
441
442% Support for Serengeti console
443! [CONFIG_HID_OUT=generic&PLATFORM=sparc64&MACHINE=serengeti] CONFIG_SGCN_PRN (y/n)
444
445% Support for Serengeti keyboard
446! [CONFIG_HID_IN=generic&PLATFORM=sparc64&MACHINE=serengeti] CONFIG_SGCN_KBD (y/n)
447
448% Support for i8042 controller
449! [CONFIG_PC_KBD=y] CONFIG_I8042 (y)
450
451% Support for pl050 controller
452! [CONFIG_HID_IN=generic&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_PL050 (y)
453
454% Sun keyboard support
455! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=sparc64&MACHINE=generic&(CONFIG_NS16550=y|CONFIG_Z8530=y)] CONFIG_SUN_KBD (y)
456
457% Macintosh ADB keyboard support
458! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=keyboard)&PLATFORM=ppc32&(CONFIG_VIA_CUDA=y)] CONFIG_MAC_KBD (y)
459
460% Dummy serial line input
461! [CONFIG_MIPS_KBD=y|CONFIG_ARM_KBD=y] CONFIG_DSRLNIN (y)
462
463% Dummy serial line output
464! [CONFIG_MIPS_PRN=y|CONFIG_ARM_PRN=y] CONFIG_DSRLNOUT (y)
465
466% Serial line input module
467! [CONFIG_DSRLNIN=y|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&MACHINE=serengeti&CONFIG_SGCN_KBD=y)|(PLATFORM=sparc64&PROCESSOR=sun4v)] CONFIG_SRLN (y)
468
469% EGA support
470! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_EGA (y/n)
471
472% EGA support
473! [CONFIG_HID_OUT=generic&PLATFORM=ia64&MACHINE=i460GX] CONFIG_EGA (y/n)
474
475% Framebuffer support
476! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ppc32)] CONFIG_FB (y/n)
477
478% Framebuffer support
479! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=mips32&(MACHINE=lgxemul|MACHINE=bgxemul)] CONFIG_FB (y/n)
480
481% Framebuffer support
482! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=arm32] CONFIG_FB (y/n)
483
484% Framebuffer support
485! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=monitor)&PLATFORM=sparc64&MACHINE=generic] CONFIG_FB (y/n)
486
487% Default framebuffer mode
488@ "640x480"
489@ "800x600"
490@ "1024x768"
491@ "1152x720"
492@ "1152x864"
493@ "1280x960"
494@ "1280x1024"
495@ "1400x1050"
496@ "1440x900"
497@ "1440x1050"
498@ "1600x1200"
499@ "1920x1080"
500@ "1920x1200"
501! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_VESA_MODE (choice)
502
503% Default framebuffer depth
504@ "8"
505@ "16"
506@ "24"
507! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_HID_OUT!=none&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
508
509% Start AP processors by the loader
510! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n)
511
512% Use Block Address Translation by the loader
513! [PLATFORM=ppc32] CONFIG_BAT (y/n)
514
515% Preserve A.OUT header in isofs.b
516! [PLATFORM=sparc64&MACHINE=generic] CONFIG_AOUT_ISOFS_B (y)
517
518% Load disk drivers on startup
519! CONFIG_START_BD (n/y)
520
521% Mount /data on startup
522! [CONFIG_START_BD=y] CONFIG_MOUNT_DATA (n/y)
523
524% Write core files
525! CONFIG_WRITE_CORE_FILES (n/y)
526
527% Bundle netif/nil network layer
528! CONFIG_NETIF_NIL_BUNDLE (n/y)
529
530% Strip binaries
531! CONFIG_STRIP_BINARIES (n/y)
532
533% Optimize for size
534! CONFIG_OPTIMIZE_FOR_SIZE (n/y)
535
536% Barebone build with essential binaries only
537! CONFIG_BAREBONE (n/y)
538
Note: See TracBrowser for help on using the repository browser.