Subversion Repositories HelenOS

Rev

Rev 3742 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3742 Rev 3743
1
#
1
#
2
# Copyright (c) 2006 Ondrej Palkovsky 
2
# Copyright (c) 2006 Ondrej Palkovsky 
3
# All rights reserved.
3
# All rights reserved.
4
#
4
#
5
# Redistribution and use in source and binary forms, with or without
5
# Redistribution and use in source and binary forms, with or without
6
# modification, are permitted provided that the following conditions
6
# modification, are permitted provided that the following conditions
7
# are met:
7
# are met:
8
#
8
#
9
# - Redistributions of source code must retain the above copyright
9
# - Redistributions of source code must retain the above copyright
10
#   notice, this list of conditions and the following disclaimer.
10
#   notice, this list of conditions and the following disclaimer.
11
# - Redistributions in binary form must reproduce the above copyright
11
# - Redistributions in binary form must reproduce the above copyright
12
#   notice, this list of conditions and the following disclaimer in the
12
#   notice, this list of conditions and the following disclaimer in the
13
#   documentation and/or other materials provided with the distribution.
13
#   documentation and/or other materials provided with the distribution.
14
# - The name of the author may not be used to endorse or promote products
14
# - The name of the author may not be used to endorse or promote products
15
#   derived from this software without specific prior written permission.
15
#   derived from this software without specific prior written permission.
16
#
16
#
17
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
#
27
#
28
 
28
 
29
## General configuration directives
29
## General configuration directives
30
 
30
 
31
# Architecture
31
# Architecture
32
@ "amd64" AMD64/Intel EM64T
32
@ "amd64" AMD64/Intel EM64T
33
@ "arm32" ARM 32-bit
33
@ "arm32" ARM 32-bit
34
@ "ia32" Intel IA-32
34
@ "ia32" Intel IA-32
35
@ "ia32xen" Intel IA-32 on Xen hypervisor
35
@ "ia32xen" Intel IA-32 on Xen hypervisor
36
@ "ia64" Intel IA-64
36
@ "ia64" Intel IA-64
37
@ "mips32" MIPS 32-bit
37
@ "mips32" MIPS 32-bit
38
@ "ppc32" PowerPC 32-bit
38
@ "ppc32" PowerPC 32-bit
39
@ "ppc64" PowerPC 64-bit
39
@ "ppc64" PowerPC 64-bit
40
@ "sparc64" Sun UltraSPARC 64-bit
40
@ "sparc64" Sun UltraSPARC 64-bit
41
! ARCH (choice)
41
! ARCH (choice)
42
 
42
 
43
# Compiler
43
# Compiler
44
@ "gcc_cross" GCC Cross-compiler
44
@ "gcc_cross" GCC Cross-compiler
45
@ "gcc_native" GCC Native
45
@ "gcc_native" GCC Native
46
@ "icc_native" ICC Native
46
@ "icc_native" ICC Native
47
@ "suncc_native" Sun Studio C Compiler
47
@ "suncc_native" Sun Studio C Compiler
48
! [ARCH=amd64|ARCH=ia32|ARCH=ia32xen] COMPILER (choice)
48
! [ARCH=amd64|ARCH=ia32|ARCH=ia32xen] COMPILER (choice)
49
 
49
 
50
# Compiler
50
# Compiler
51
@ "gcc_cross" GCC Cross-compiler
51
@ "gcc_cross" GCC Cross-compiler
52
@ "gcc_native" GCC Native
52
@ "gcc_native" GCC Native
53
@ "icc_native" ICC Native
53
@ "icc_native" ICC Native
54
! [ARCH=ia64] COMPILER (choice)
54
! [ARCH=ia64] COMPILER (choice)
55
 
55
 
56
# Compiler
56
# Compiler
57
@ "gcc_cross" GCC Cross-compiler
57
@ "gcc_cross" GCC Cross-compiler
58
@ "gcc_native" GCC Native
58
@ "gcc_native" GCC Native
59
@ "suncc_native" Sun Studio C Compiler
59
@ "suncc_native" Sun Studio C Compiler
60
! [ARCH=sparc64] COMPILER (choice)
60
! [ARCH=sparc64] COMPILER (choice)
61
 
61
 
62
# Compiler
62
# Compiler
63
@ "gcc_cross" GCC Cross-compiler
63
@ "gcc_cross" GCC Cross-compiler
64
@ "gcc_native" GCC Native
64
@ "gcc_native" GCC Native
65
! [ARCH=arm32|ARCH=mips32|ARCH=ppc32|ARCH=ppc64] COMPILER (choice)
65
! [ARCH=arm32|ARCH=mips32|ARCH=ppc32|ARCH=ppc64] COMPILER (choice)
66
 
66
 
67
# CPU type
67
# CPU type
68
@ "pentium4" Pentium 4
68
@ "pentium4" Pentium 4
69
@ "pentium3" Pentium 3
69
@ "pentium3" Pentium 3
70
@ "core" Core Solo/Duo
70
@ "core" Core Solo/Duo
71
@ "athlon-xp" Athlon XP
71
@ "athlon-xp" Athlon XP
72
@ "athlon-mp" Athlon MP
72
@ "athlon-mp" Athlon MP
73
! [ARCH=ia32|ARCH=ia32xen] MACHINE (choice)
73
! [ARCH=ia32|ARCH=ia32xen] MACHINE (choice)
74
 
74
 
75
# CPU type
75
# CPU type
76
@ "opteron" Opteron
76
@ "opteron" Opteron
77
! [ARCH=amd64] MACHINE (choice)
77
! [ARCH=amd64] MACHINE (choice)
78
 
78
 
79
# CPU type
79
# UltraSPARC (sub)architecture
80
@ "us" UltraSPARC I-II subarchitecture
80
@ "us" UltraSPARC I-II
81
@ "us3" UltraSPARC III-IV subarchitecture
81
@ "us3" UltraSPARC III-IV
-
 
82
@ "sun4v" Niagara (sun4v)
82
! [ARCH=sparc64] MACHINE (choice)
83
! [ARCH=sparc64] MACHINE (choice)
83
 
84
 
84
# Machine type
85
# Machine type
85
@ "msim" MSIM Simulator
86
@ "msim" MSIM Simulator
86
@ "simics" Virtutech Simics simulator
87
@ "simics" Virtutech Simics simulator
87
@ "lgxemul" GXEmul Little Endian
88
@ "lgxemul" GXEmul Little Endian
88
@ "bgxemul" GXEmul Big Endian
89
@ "bgxemul" GXEmul Big Endian
89
! [ARCH=mips32] MACHINE (choice)
90
! [ARCH=mips32] MACHINE (choice)
90
 
91
 
91
# Framebuffer support
92
# Framebuffer support
92
! [(ARCH=mips32&MACHINE=lgxemul)|(ARCH=mips32&MACHINE=bgxemul)|(ARCH=ia32)|(ARCH=amd64)|(ARCH=arm32)] CONFIG_FB (y/n)
93
! [(ARCH=mips32&MACHINE=lgxemul)|(ARCH=mips32&MACHINE=bgxemul)|(ARCH=ia32)|(ARCH=amd64)|(ARCH=arm32)] CONFIG_FB (y/n)
93
 
94
 
94
# Framebuffer width
95
# Framebuffer width
95
@ "640"
96
@ "640"
96
@ "800"
97
@ "800"
97
@ "1024"
98
@ "1024"
98
@ "1152"
99
@ "1152"
99
@ "1280"
100
@ "1280"
100
@ "1400"
101
@ "1400"
101
@ "1440"
102
@ "1440"
102
@ "1600"
103
@ "1600"
103
@ "2048"
104
@ "2048"
104
! [(ARCH=ia32|ARCH=amd64)&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice)
105
! [(ARCH=ia32|ARCH=amd64)&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice)
105
 
106
 
106
# Framebuffer height
107
# Framebuffer height
107
@ "480"
108
@ "480"
108
@ "600"
109
@ "600"
109
@ "768"
110
@ "768"
110
@ "852"
111
@ "852"
111
@ "900"
112
@ "900"
112
@ "960"
113
@ "960"
113
@ "1024"
114
@ "1024"
114
@ "1050"
115
@ "1050"
115
@ "1200"
116
@ "1200"
116
@ "1536"
117
@ "1536"
117
! [(ARCH=ia32|ARCH=amd64)&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice)
118
! [(ARCH=ia32|ARCH=amd64)&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice)
118
 
119
 
119
# Framebuffer depth
120
# Framebuffer depth
120
@ "8"
121
@ "8"
121
@ "16"
122
@ "16"
122
@ "24"
123
@ "24"
123
! [(ARCH=ia32|ARCH=amd64)&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
124
! [(ARCH=ia32|ARCH=amd64)&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
124
 
125
 
125
# Support for SMP
126
# Support for SMP
126
! [ARCH=ia32|ARCH=amd64|ARCH=ia32xen|ARCH=sparc64|ARCH=ia64] CONFIG_SMP (y/n)
127
! [ARCH=ia32|ARCH=amd64|ARCH=ia32xen|ARCH=sparc64|ARCH=ia64] CONFIG_SMP (y/n)
127
 
128
 
128
# Improved support for hyperthreading
129
# Improved support for hyperthreading
129
! [(ARCH=ia32|ARCH=amd64|ARCH=ia32xen)&CONFIG_SMP=y] CONFIG_HT (y/n)
130
! [(ARCH=ia32|ARCH=amd64|ARCH=ia32xen)&CONFIG_SMP=y] CONFIG_HT (y/n)
130
 
131
 
131
# Simics BIOS AP boot fix
132
# Simics BIOS AP boot fix
132
! [(ARCH=ia32|ARCH=amd64)&CONFIG_SMP=y] CONFIG_SIMICS_FIX (y/n)
133
! [(ARCH=ia32|ARCH=amd64)&CONFIG_SMP=y] CONFIG_SIMICS_FIX (y/n)
133
 
134
 
134
# Lazy FPU context switching
135
# Lazy FPU context switching
135
! [(ARCH=mips32&MACHINE!=msim&MACHINE!=simics)|ARCH=amd64|ARCH=ia32|ARCH=ia64|ARCH=sparc64|ARCH=ia32xen] CONFIG_FPU_LAZY (y/n)
136
! [(ARCH=mips32&MACHINE!=msim&MACHINE!=simics)|ARCH=amd64|ARCH=ia32|ARCH=ia64|ARCH=sparc64|ARCH=ia32xen] CONFIG_FPU_LAZY (y/n)
136
 
137
 
137
# Use VHPT
138
# Use VHPT
138
! [ARCH=ia64] CONFIG_VHPT (n/y)
139
! [ARCH=ia64] CONFIG_VHPT (n/y)
139
 
140
 
140
# Use TSB
141
# Use TSB
141
! [ARCH=sparc64] CONFIG_TSB (y/n)
142
! [ARCH=sparc64] CONFIG_TSB (y/n)
142
 
143
 
143
# Support for Z8530 serial port
144
# Support for Z8530 serial port
144
! [ARCH=sparc64] CONFIG_Z8530 (y/n)
145
! [ARCH=sparc64] CONFIG_Z8530 (y/n)
145
 
146
 
146
# Support for NS16550 serial port
147
# Support for NS16550 serial port
147
! [ARCH=sparc64|(ARCH=ia64&MACHINE!=ski)] CONFIG_NS16550 (n/y)
148
! [ARCH=sparc64|(ARCH=ia64&MACHINE!=ski)] CONFIG_NS16550 (n/y)
148
 
149
 
149
# Support for Serengeti console
150
# Support for Serengeti console
150
! [ARCH=sparc64] CONFIG_SGCN (y/n)
151
! [ARCH=sparc64] CONFIG_SGCN (y/n)
151
 
152
 
152
# IOSapic on default address support
153
# IOSapic on default address support
153
! [ARCH=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
154
! [ARCH=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
154
 
155
 
155
# Interrupt-driven driver for Legacy Keyboard?
156
# Interrupt-driven driver for Legacy Keyboard?
156
! [CONFIG_NS16550=n&CONFIG_IOSAPIC=y&MACHINE!=ski] CONFIG_I8042_INTERRUPT_DRIVEN (y/n)
157
! [CONFIG_NS16550=n&CONFIG_IOSAPIC=y&MACHINE!=ski] CONFIG_I8042_INTERRUPT_DRIVEN (y/n)
157
 
158
 
158
# Interrupt-driven driver for NS16550?
159
# Interrupt-driven driver for NS16550?
159
! [CONFIG_NS16550=y&((ARCH!=ia64)|CONFIG_IOSAPIC=y)&MACHINE!=ski] CONFIG_NS16550_INTERRUPT_DRIVEN (y/n)
160
! [CONFIG_NS16550=y&((ARCH!=ia64)|CONFIG_IOSAPIC=y)&MACHINE!=ski] CONFIG_NS16550_INTERRUPT_DRIVEN (y/n)
160
 
161
 
161
# Virtually indexed D-cache support
162
# Virtually indexed D-cache support
162
! [ARCH=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
163
! [ARCH=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
163
 
164
 
164
# Support for userspace debuggers
165
# Support for userspace debuggers
165
! CONFIG_UDEBUG (n/y)
166
! CONFIG_UDEBUG (n/y)
166
 
167
 
167
## Debugging configuration directives
168
## Debugging configuration directives
168
 
169
 
169
# General debugging and assert checking
170
# General debugging and assert checking
170
! CONFIG_DEBUG (y/n)
171
! CONFIG_DEBUG (y/n)
171
 
172
 
172
# Kernel console support
173
# Kernel console support
173
! CONFIG_KCONSOLE (y/n)
174
! CONFIG_KCONSOLE (y/n)
174
 
175
 
175
# Detailed kernel logging
176
# Detailed kernel logging
176
! CONFIG_LOG (n/y)
177
! CONFIG_LOG (n/y)
177
 
178
 
178
# Deadlock detection support for spinlocks
179
# Deadlock detection support for spinlocks
179
! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
180
! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
180
 
181
 
181
# Watchpoint on rewriting AS with zero
182
# Watchpoint on rewriting AS with zero
182
! [CONFIG_DEBUG=y&(ARCH=amd64|ARCH=ia32|ARCH=ia32xen)] CONFIG_DEBUG_AS_WATCHPOINT (y/n)
183
! [CONFIG_DEBUG=y&(ARCH=amd64|ARCH=ia32|ARCH=ia32xen)] CONFIG_DEBUG_AS_WATCHPOINT (y/n)
183
 
184
 
184
# Save all interrupt registers
185
# Save all interrupt registers
185
! [CONFIG_DEBUG=y&(ARCH=amd64|ARCH=mips32|ARCH=ia32|ARCH=ia32xen)] CONFIG_DEBUG_ALLREGS (y/n)
186
! [CONFIG_DEBUG=y&(ARCH=amd64|ARCH=mips32|ARCH=ia32|ARCH=ia32xen)] CONFIG_DEBUG_ALLREGS (y/n)
186
 
187
 
187
 
188
 
188
## Run-time configuration directives
189
## Run-time configuration directives
189
 
190
 
190
# Compile kernel tests
191
# Compile kernel tests
191
! CONFIG_TEST (y/n)
192
! CONFIG_TEST (y/n)
192
 
193