source: mainline/HelenOS.config@ c0e1be7

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since c0e1be7 was 571addd, checked in by Jiri Svoboda <jiri@…>, 15 years ago

Merge from lp:~jsvoboda/helenos/gta02.

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