source: mainline/HelenOS.config@ 95e6c4f

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 95e6c4f was 50fda24, checked in by Martin Decky <martin@…>, 16 years ago

add Abstract32 Little Endian architecture (abs32le)

the purpose of this special architecture is code verification and checking
(some tools cannot parse code with platform specific constructs or assembler),
it can be also used as a simple description of arch/genarch/generic kernel
interface and a starting point for new ports

(still work-in-progress: kernel compiles, but does not link due to several
missing symbols)

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