Subversion Repositories HelenOS

Rev

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

Rev Author Line No. Line
2830 jermar 1
#
3803 decky 2
# Copyright (c) 2006 Ondrej Palkovsky
3884 decky 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
 
3803 decky 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
 
3803 decky 43
% Machine type
2088 decky 44
@ "msim" MSIM
45
@ "simics" Simics
46
@ "bgxemul" GXEmul big endian
3028 decky 47
@ "lgxemul" GXEmul little endian
2088 decky 48
! [PLATFORM=mips32] MACHINE (choice)
49
 
3803 decky 50
% Machine type
3917 decky 51
@ "gxemul" GXEmul
52
! [PLATFORM=arm32] MACHINE (choice)
53
 
54
% Machine type
3696 vana 55
@ "i460GX" i460GX chipset machine
2511 vana 56
@ "ski" Ski ia64 simulator
57
! [PLATFORM=ia64] MACHINE (choice)
58
 
3803 decky 59
% CPU type
60
@ "pentium4" Pentium 4
61
@ "pentium3" Pentium 3
62
@ "core" Core Solo/Duo
3936 decky 63
@ "athlon_xp" Athlon XP
64
@ "athlon_mp" Athlon MP
3873 decky 65
! [PLATFORM=ia32] MACHINE (choice)
3803 decky 66
 
67
% CPU type
68
@ "opteron" Opteron
69
! [PLATFORM=amd64] MACHINE (choice)
70
 
71
% CPU type
72
@ "us" UltraSPARC I-II subarchitecture
73
@ "us3" UltraSPARC III-IV subarchitecture
74
! [PLATFORM=sparc64] MACHINE (choice)
75
 
76
% Ramdisk format
77
@ "tmpfs" TMPFS image
78
@ "fat" FAT16 image
79
! RDFMT (choice)
80
 
81
 
3884 decky 82
## Mapping between platform and kernel architecture
83
 
84
% Kernel architecture
85
@ "amd64"
86
! [PLATFORM=amd64] KARCH (choice)
87
 
88
% Kernel architecture
89
@ "arm32"
90
! [PLATFORM=arm32] KARCH (choice)
91
 
92
% Kernel architecture
93
@ "ia32"
94
! [PLATFORM=ia32] KARCH (choice)
95
 
96
% Kernel architecture
97
@ "ia32xen"
98
! [PLATFORM=ia32xen] KARCH (choice)
99
 
100
% Kernel architecture
101
@ "ia64"
102
! [PLATFORM=ia64] KARCH (choice)
103
 
104
% Kernel architecture
105
@ "mips32"
106
! [PLATFORM=mips32] KARCH (choice)
107
 
108
% Kernel architecture
109
@ "ppc32"
110
! [PLATFORM=ppc32] KARCH (choice)
111
 
112
% Kernel architecture
113
@ "ppc64"
114
! [PLATFORM=ppc64] KARCH (choice)
115
 
116
% Kernel architecture
117
@ "sparc64"
118
! [PLATFORM=sparc64] KARCH (choice)
119
 
120
 
121
## Mapping between platform and user space architecture
122
 
123
% User space architecture
124
@ "amd64"
125
! [PLATFORM=amd64] UARCH (choice)
126
 
127
% User space architecture
128
@ "arm32"
129
! [PLATFORM=arm32] UARCH (choice)
130
 
131
% User space architecture
132
@ "ia32"
133
! [PLATFORM=ia32|PLATFORM=ia32xen] UARCH (choice)
134
 
135
% User space architecture
136
@ "ia64"
137
! [PLATFORM=ia64] UARCH (choice)
138
 
139
% User space architecture
140
@ "mips32"
141
! [PLATFORM=mips32&(MACHINE=msim|MACHINE=simics|MACHINE=lgxemul)] UARCH (choice)
142
 
143
% User space architecture
144
@ "mips32eb"
3915 decky 145
! [PLATFORM=mips32&MACHINE=bgxemul] UARCH (choice)
3884 decky 146
 
147
% User space architecture
148
@ "ppc32"
149
! [PLATFORM=ppc32] UARCH (choice)
150
 
151
% User space architecture
152
@ "ppc64"
153
! [PLATFORM=ppc64] UARCH (choice)
154
 
155
% User space architecture
156
@ "sparc64"
157
! [PLATFORM=sparc64] UARCH (choice)
158
 
159
 
160
## Mapping between platform and boot architecture
161
 
162
% Boot architecture
163
@ "amd64"
164
! [PLATFORM=amd64] BARCH (choice)
165
 
166
% Boot architecture
167
@ "arm32"
168
! [PLATFORM=arm32] BARCH (choice)
169
 
170
% Boot architecture
171
@ "ia32"
172
! [PLATFORM=ia32] BARCH (choice)
173
 
174
% Boot architecture
175
@ "ia32xen"
176
! [PLATFORM=ia32xen] BARCH (choice)
177
 
178
% Boot architecture
179
@ "ia64"
180
! [PLATFORM=ia64] BARCH (choice)
181
 
182
% Boot architecture
183
@ "mips32"
184
! [PLATFORM=mips32] BARCH (choice)
185
 
186
% Boot architecture
187
@ "ppc32"
188
! [PLATFORM=ppc32] BARCH (choice)
189
 
190
% Boot architecture
191
@ "ppc64"
192
! [PLATFORM=ppc64] BARCH (choice)
193
 
194
% Boot architecture
195
@ "sparc64"
196
! [PLATFORM=sparc64] BARCH (choice)
197
 
198
 
199
## Mapping between platform and image format
200
 
201
% Image format
202
@ "binary"
203
! [PLATFORM=mips32&MACHINE=msim] IMAGE (choice)
204
 
205
% Image format
206
@ "ecoff"
207
! [PLATFORM=mips32&(MACHINE=simics|MACHINE=bgxemul|MACHINE=lgxemul)] IMAGE (choice)
208
 
209
 
3803 decky 210
## Compiler options
211
 
212
% Compiler
2437 decky 213
@ "gcc_cross" GCC Cross-compiler
214
@ "gcc_native" GCC Native
215
@ "icc_native" ICC Native
2443 jermar 216
@ "suncc_native" Sun Studio C Compiler
3873 decky 217
! [PLATFORM=amd64|PLATFORM=ia32] COMPILER (choice)
1802 decky 218
 
3803 decky 219
% Compiler
2442 jermar 220
@ "gcc_cross" GCC Cross-compiler
221
@ "gcc_native" GCC Native
222
@ "icc_native" ICC Native
223
! [PLATFORM=ia64] COMPILER (choice)
224
 
3803 decky 225
% Compiler
2442 jermar 226
@ "gcc_cross" GCC Cross-compiler
227
@ "gcc_native" GCC Native
2443 jermar 228
@ "suncc_native" Sun Studio C Compiler
2442 jermar 229
! [PLATFORM=sparc64] COMPILER (choice)
230
 
3803 decky 231
% Compiler
2442 jermar 232
@ "gcc_cross" GCC Cross-compiler
233
@ "gcc_native" GCC Native
3873 decky 234
! [PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] COMPILER (choice)
2442 jermar 235
 
3803 decky 236
 
237
## Debug build options
238
 
239
% Debug build
1802 decky 240
! CONFIG_DEBUG (y/n)
3803 decky 241
 
242
 
3884 decky 243
## Kernel configuration
244
 
245
% Fences
3936 decky 246
! [PLATFORM=ia32&(MACHINE=athlon_xp|MACHINE=athlon_mp|MACHINE=pentium3)] CONFIG_FENCES_P3 (y)
3884 decky 247
 
248
% Fences
3915 decky 249
! [PLATFORM=ia32&(MACHINE=pentium4|MACHINE=core)] CONFIG_FENCES_P4 (y)
3884 decky 250
 
3915 decky 251
% Fences
252
! [PLATFORM=amd64] CONFIG_FENCES_P4 (y)
253
 
3884 decky 254
% ACPI support
255
! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_ACPI (y)
256
 
257
% Hierarchical page tables support
258
! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_PAGE_PT (y)
259
 
260
% Page hash table support
261
! [PLATFORM=ia64|PLATFORM=sparc64] CONFIG_PAGE_HT (y)
262
 
263
% Software integer division support
264
! [PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_SOFTINT (y)
265
 
266
% ASID support
267
! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
268
 
269
% ASID FIFO support
270
! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
271
 
272
% OpenFirmware tree support
273
! [PLATFORM=sparc64] CONFIG_OFW_TREE (y)
274
 
4022 svoboda 275
% Multiboot standard support
276
! [PLATFORM=ia32|PLATFORM=amd64] CONFIG_MULTIBOOT (y)
277
 
3884 decky 278
% FPU support
3915 decky 279
! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ia64|PLATFORM=sparc64] CONFIG_FPU (y)
3884 decky 280
 
3915 decky 281
% FPU support
282
! [PLATFORM=mips32&(MACHINE=lgxemul|MACHINE=bgxemul)] CONFIG_FPU (y)
3884 decky 283
 
3915 decky 284
 
3803 decky 285
## Kernel features options
286
 
287
% Support for SMP
3936 decky 288
! [(PLATFORM=ia32&MACHINE!=athlon_xp)|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)] CONFIG_SMP (y/n)
3803 decky 289
 
290
% Improved support for hyperthreading
3915 decky 291
! [PLATFORM=amd64&CONFIG_SMP=y] CONFIG_HT (y/n)
3803 decky 292
 
3915 decky 293
% Improved support for hyperthreading
3936 decky 294
! [PLATFORM=ia32&MACHINE!=athlon_xp&MACHINE!=athlon_mp&MACHINE!=pentium3&CONFIG_SMP=y] CONFIG_HT (y/n)
3915 decky 295
 
3803 decky 296
% Lazy FPU context switching
3884 decky 297
! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
3803 decky 298
 
299
% Use VHPT
300
! [PLATFORM=ia64] CONFIG_VHPT (n/y)
301
 
302
% Use TSB
303
! [PLATFORM=sparc64] CONFIG_TSB (y/n)
304
 
4042 jermar 305
% i8042 controller support
306
! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=ia64&MACHINE=i460GX)] CONFIG_I8042 (y/n)
3803 decky 307
 
308
% Support for NS16550 serial port
3899 jermar 309
! [PLATFORM=sparc64] CONFIG_NS16550 (y/n)
3803 decky 310
 
3899 jermar 311
% Support for NS16550 serial port
312
! [PLATFORM=ia64&MACHINE!=ski] CONFIG_NS16550 (n/y)
313
 
4042 jermar 314
% Support for Z8530 serial port
315
! [PLATFORM=sparc64] CONFIG_Z8530 (y/n)
316
 
3900 jermar 317
% Support for Serengeti console
318
! [PLATFORM=sparc64] CONFIG_SGCN (y/n)
319
 
4042 jermar 320
% PC keyboard support
321
! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=ia64&MACHINE=i460GX)] CONFIG_PC_KBD (y/n)
322
 
323
% Sun keyboard support
324
! [PLATFORM=sparc64] CONFIG_SUN_KBD (y/n)
325
 
326
% EGA support
327
! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=ia64&MACHINE=i460GX)] CONFIG_EGA (y)
328
 
3803 decky 329
% IOSapic 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
3898 svoboda 336
! CONFIG_UDEBUG (y/n)
3803 decky 337
 
338
% Kernel console support
339
! CONFIG_KCONSOLE (y/n)
340
 
341
% Detailed kernel logging
342
! CONFIG_LOG (n/y)
343
 
344
% Deadlock detection support for spinlocks
345
! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
346
 
347
% Compile kernel tests
348
! CONFIG_TEST (y/n)
349
 
350
 
351
## Hardware support
352
 
353
% Framebuffer support
3915 decky 354
! [(PLATFORM=mips32&MACHINE=lgxemul)|(PLATFORM=mips32&MACHINE=bgxemul)|PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|(PLATFORM=sparc64&MACHINE=us3)] CONFIG_FB (y/n)
3803 decky 355
 
3884 decky 356
% Framebuffer support
357
! [PLATFORM=ppc32|(PLATFORM=sparc64&MACHINE=us)] CONFIG_FB (y)
358
 
3803 decky 359
% Framebuffer width
360
@ "640"
361
@ "800"
362
@ "1024"
363
@ "1152"
364
@ "1280"
365
@ "1400"
366
@ "1440"
367
@ "1600"
368
@ "2048"
369
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice)
370
 
371
% Framebuffer height
372
@ "480"
373
@ "600"
374
@ "768"
375
@ "852"
376
@ "900"
377
@ "960"
378
@ "1024"
379
@ "1050"
380
@ "1200"
381
@ "1536"
382
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice)
383
 
384
% Framebuffer depth
385
@ "8"
386
@ "16"
387
@ "24"
388
! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
389
 
390
% Start AP processors by the loader
3808 decky 391
! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n)
3803 decky 392
 
393
% Use Block Address Translation by the loader
394
! [PLATFORM=ppc32] CONFIG_BAT (y/n)
395
 
396
% Preserve A.OUT header in isofs.b
397
! [PLATFORM=sparc64] CONFIG_AOUT_ISOFS_B (y/n)
398
 
399
% External ramdisk
400
! [PLATFORM=sparc64] CONFIG_RD_EXTERNAL (y/n)
3923 svoboda 401
 
402
% Keyboard layout
403
@ "us_qwerty" US QWERTY
404
@ "us_dvorak" US Dvorak
405
! KBD_LAYOUT (choice)