diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /arch/x86_64/Kconfig |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'arch/x86_64/Kconfig')
-rw-r--r-- | arch/x86_64/Kconfig | 477 |
1 files changed, 477 insertions, 0 deletions
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig new file mode 100644 index 000000000000..80c38c5d71fe --- /dev/null +++ b/arch/x86_64/Kconfig | |||
@@ -0,0 +1,477 @@ | |||
1 | # | ||
2 | # For a description of the syntax of this configuration file, | ||
3 | # see Documentation/kbuild/kconfig-language.txt. | ||
4 | # | ||
5 | # Note: ISA is disabled and will hopefully never be enabled. | ||
6 | # If you managed to buy an ISA x86-64 box you'll have to fix all the | ||
7 | # ISA drivers you need yourself. | ||
8 | # | ||
9 | |||
10 | mainmenu "Linux Kernel Configuration" | ||
11 | |||
12 | config X86_64 | ||
13 | bool | ||
14 | default y | ||
15 | help | ||
16 | Port to the x86-64 architecture. x86-64 is a 64-bit extension to the | ||
17 | classical 32-bit x86 architecture. For details see | ||
18 | <http://www.x86-64.org/>. | ||
19 | |||
20 | config 64BIT | ||
21 | def_bool y | ||
22 | |||
23 | config X86 | ||
24 | bool | ||
25 | default y | ||
26 | |||
27 | config MMU | ||
28 | bool | ||
29 | default y | ||
30 | |||
31 | config ISA | ||
32 | bool | ||
33 | |||
34 | config SBUS | ||
35 | bool | ||
36 | |||
37 | config RWSEM_GENERIC_SPINLOCK | ||
38 | bool | ||
39 | default y | ||
40 | |||
41 | config RWSEM_XCHGADD_ALGORITHM | ||
42 | bool | ||
43 | |||
44 | config GENERIC_CALIBRATE_DELAY | ||
45 | bool | ||
46 | default y | ||
47 | |||
48 | config X86_CMPXCHG | ||
49 | bool | ||
50 | default y | ||
51 | |||
52 | config EARLY_PRINTK | ||
53 | bool | ||
54 | default y | ||
55 | |||
56 | config GENERIC_ISA_DMA | ||
57 | bool | ||
58 | default y | ||
59 | |||
60 | config GENERIC_IOMAP | ||
61 | bool | ||
62 | default y | ||
63 | |||
64 | source "init/Kconfig" | ||
65 | |||
66 | |||
67 | menu "Processor type and features" | ||
68 | |||
69 | choice | ||
70 | prompt "Processor family" | ||
71 | default MK8 | ||
72 | |||
73 | config MK8 | ||
74 | bool "AMD-Opteron/Athlon64" | ||
75 | help | ||
76 | Optimize for AMD Opteron/Athlon64/Hammer/K8 CPUs. | ||
77 | |||
78 | config MPSC | ||
79 | bool "Intel EM64T" | ||
80 | help | ||
81 | Optimize for Intel Pentium 4 and Xeon CPUs with Intel | ||
82 | Extended Memory 64 Technology(EM64T). For details see | ||
83 | <http://www.intel.com/technology/64bitextensions/>. | ||
84 | |||
85 | config GENERIC_CPU | ||
86 | bool "Generic-x86-64" | ||
87 | help | ||
88 | Generic x86-64 CPU. | ||
89 | |||
90 | endchoice | ||
91 | |||
92 | # | ||
93 | # Define implied options from the CPU selection here | ||
94 | # | ||
95 | config X86_L1_CACHE_BYTES | ||
96 | int | ||
97 | default "128" if GENERIC_CPU || MPSC | ||
98 | default "64" if MK8 | ||
99 | |||
100 | config X86_L1_CACHE_SHIFT | ||
101 | int | ||
102 | default "7" if GENERIC_CPU || MPSC | ||
103 | default "6" if MK8 | ||
104 | |||
105 | config X86_TSC | ||
106 | bool | ||
107 | default y | ||
108 | |||
109 | config X86_GOOD_APIC | ||
110 | bool | ||
111 | default y | ||
112 | |||
113 | config MICROCODE | ||
114 | tristate "/dev/cpu/microcode - Intel CPU microcode support" | ||
115 | ---help--- | ||
116 | If you say Y here the 'File systems' section, you will be | ||
117 | able to update the microcode on Intel processors. You will | ||
118 | obviously need the actual microcode binary data itself which is | ||
119 | not shipped with the Linux kernel. | ||
120 | |||
121 | For latest news and information on obtaining all the required | ||
122 | ingredients for this driver, check: | ||
123 | <http://www.urbanmyth.org/microcode/>. | ||
124 | |||
125 | To compile this driver as a module, choose M here: the | ||
126 | module will be called microcode. | ||
127 | If you use modprobe or kmod you may also want to add the line | ||
128 | 'alias char-major-10-184 microcode' to your /etc/modules.conf file. | ||
129 | |||
130 | config X86_MSR | ||
131 | tristate "/dev/cpu/*/msr - Model-specific register support" | ||
132 | help | ||
133 | This device gives privileged processes access to the x86 | ||
134 | Model-Specific Registers (MSRs). It is a character device with | ||
135 | major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr. | ||
136 | MSR accesses are directed to a specific CPU on multi-processor | ||
137 | systems. | ||
138 | |||
139 | config X86_CPUID | ||
140 | tristate "/dev/cpu/*/cpuid - CPU information support" | ||
141 | help | ||
142 | This device gives processes access to the x86 CPUID instruction to | ||
143 | be executed on a specific processor. It is a character device | ||
144 | with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to | ||
145 | /dev/cpu/31/cpuid. | ||
146 | |||
147 | # disable it for opteron optimized builds because it pulls in ACPI_BOOT | ||
148 | config X86_HT | ||
149 | bool | ||
150 | depends on SMP && !MK8 | ||
151 | default y | ||
152 | |||
153 | config MATH_EMULATION | ||
154 | bool | ||
155 | |||
156 | config MCA | ||
157 | bool | ||
158 | |||
159 | config EISA | ||
160 | bool | ||
161 | |||
162 | config X86_IO_APIC | ||
163 | bool | ||
164 | default y | ||
165 | |||
166 | config X86_LOCAL_APIC | ||
167 | bool | ||
168 | default y | ||
169 | |||
170 | config MTRR | ||
171 | bool "MTRR (Memory Type Range Register) support" | ||
172 | ---help--- | ||
173 | On Intel P6 family processors (Pentium Pro, Pentium II and later) | ||
174 | the Memory Type Range Registers (MTRRs) may be used to control | ||
175 | processor access to memory ranges. This is most useful if you have | ||
176 | a video (VGA) card on a PCI or AGP bus. Enabling write-combining | ||
177 | allows bus write transfers to be combined into a larger transfer | ||
178 | before bursting over the PCI/AGP bus. This can increase performance | ||
179 | of image write operations 2.5 times or more. Saying Y here creates a | ||
180 | /proc/mtrr file which may be used to manipulate your processor's | ||
181 | MTRRs. Typically the X server should use this. | ||
182 | |||
183 | This code has a reasonably generic interface so that similar | ||
184 | control registers on other processors can be easily supported | ||
185 | as well. | ||
186 | |||
187 | Saying Y here also fixes a problem with buggy SMP BIOSes which only | ||
188 | set the MTRRs for the boot CPU and not for the secondary CPUs. This | ||
189 | can lead to all sorts of problems, so it's good to say Y here. | ||
190 | |||
191 | Just say Y here, all x86-64 machines support MTRRs. | ||
192 | |||
193 | See <file:Documentation/mtrr.txt> for more information. | ||
194 | |||
195 | config SMP | ||
196 | bool "Symmetric multi-processing support" | ||
197 | ---help--- | ||
198 | This enables support for systems with more than one CPU. If you have | ||
199 | a system with only one CPU, like most personal computers, say N. If | ||
200 | you have a system with more than one CPU, say Y. | ||
201 | |||
202 | If you say N here, the kernel will run on single and multiprocessor | ||
203 | machines, but will use only one CPU of a multiprocessor machine. If | ||
204 | you say Y here, the kernel will run on many, but not all, | ||
205 | singleprocessor machines. On a singleprocessor machine, the kernel | ||
206 | will run faster if you say N here. | ||
207 | |||
208 | If you don't know what to do here, say N. | ||
209 | |||
210 | config PREEMPT | ||
211 | bool "Preemptible Kernel" | ||
212 | ---help--- | ||
213 | This option reduces the latency of the kernel when reacting to | ||
214 | real-time or interactive events by allowing a low priority process to | ||
215 | be preempted even if it is in kernel mode executing a system call. | ||
216 | This allows applications to run more reliably even when the system is | ||
217 | under load. On contrary it may also break your drivers and add | ||
218 | priority inheritance problems to your system. Don't select it if | ||
219 | you rely on a stable system or have slightly obscure hardware. | ||
220 | It's also not very well tested on x86-64 currently. | ||
221 | You have been warned. | ||
222 | |||
223 | Say Y here if you are feeling brave and building a kernel for a | ||
224 | desktop, embedded or real-time system. Say N if you are unsure. | ||
225 | |||
226 | config PREEMPT_BKL | ||
227 | bool "Preempt The Big Kernel Lock" | ||
228 | depends on PREEMPT | ||
229 | default y | ||
230 | help | ||
231 | This option reduces the latency of the kernel by making the | ||
232 | big kernel lock preemptible. | ||
233 | |||
234 | Say Y here if you are building a kernel for a desktop system. | ||
235 | Say N if you are unsure. | ||
236 | |||
237 | config SCHED_SMT | ||
238 | bool "SMT (Hyperthreading) scheduler support" | ||
239 | depends on SMP | ||
240 | default n | ||
241 | help | ||
242 | SMT scheduler support improves the CPU scheduler's decision making | ||
243 | when dealing with Intel Pentium 4 chips with HyperThreading at a | ||
244 | cost of slightly increased overhead in some places. If unsure say | ||
245 | N here. | ||
246 | |||
247 | config K8_NUMA | ||
248 | bool "K8 NUMA support" | ||
249 | select NUMA | ||
250 | depends on SMP | ||
251 | help | ||
252 | Enable NUMA (Non Unified Memory Architecture) support for | ||
253 | AMD Opteron Multiprocessor systems. The kernel will try to allocate | ||
254 | memory used by a CPU on the local memory controller of the CPU | ||
255 | and add some more NUMA awareness to the kernel. | ||
256 | This code is recommended on all multiprocessor Opteron systems | ||
257 | and normally doesn't hurt on others. | ||
258 | |||
259 | config NUMA_EMU | ||
260 | bool "NUMA emulation support" | ||
261 | select NUMA | ||
262 | depends on SMP | ||
263 | help | ||
264 | Enable NUMA emulation. A flat machine will be split | ||
265 | into virtual nodes when booted with "numa=fake=N", where N is the | ||
266 | number of nodes. This is only useful for debugging. | ||
267 | |||
268 | config DISCONTIGMEM | ||
269 | bool | ||
270 | depends on NUMA | ||
271 | default y | ||
272 | |||
273 | config NUMA | ||
274 | bool | ||
275 | default n | ||
276 | |||
277 | config HAVE_DEC_LOCK | ||
278 | bool | ||
279 | depends on SMP | ||
280 | default y | ||
281 | |||
282 | config NR_CPUS | ||
283 | int "Maximum number of CPUs (2-256)" | ||
284 | range 2 256 | ||
285 | depends on SMP | ||
286 | default "8" | ||
287 | help | ||
288 | This allows you to specify the maximum number of CPUs which this | ||
289 | kernel will support. Current maximum is 256 CPUs due to | ||
290 | APIC addressing limits. Less depending on the hardware. | ||
291 | |||
292 | This is purely to save memory - each supported CPU requires | ||
293 | memory in the static kernel configuration. | ||
294 | |||
295 | config HPET_TIMER | ||
296 | bool | ||
297 | default y | ||
298 | help | ||
299 | Use the IA-PC HPET (High Precision Event Timer) to manage | ||
300 | time in preference to the PIT and RTC, if a HPET is | ||
301 | present. The HPET provides a stable time base on SMP | ||
302 | systems, unlike the TSC, but it is more expensive to access, | ||
303 | as it is off-chip. You can find the HPET spec at | ||
304 | <http://www.intel.com/labs/platcomp/hpet/hpetspec.htm>. | ||
305 | |||
306 | config HPET_EMULATE_RTC | ||
307 | bool "Provide RTC interrupt" | ||
308 | depends on HPET_TIMER && RTC=y | ||
309 | |||
310 | config GART_IOMMU | ||
311 | bool "IOMMU support" | ||
312 | depends on PCI | ||
313 | help | ||
314 | Support the K8 IOMMU. Needed to run systems with more than 4GB of memory | ||
315 | properly with 32-bit PCI devices that do not support DAC (Double Address | ||
316 | Cycle). The IOMMU can be turned off at runtime with the iommu=off parameter. | ||
317 | Normally the kernel will take the right choice by itself. | ||
318 | If unsure, say Y. | ||
319 | |||
320 | # need this always enabled with GART_IOMMU for the VIA workaround | ||
321 | config SWIOTLB | ||
322 | bool | ||
323 | depends on GART_IOMMU | ||
324 | default y | ||
325 | |||
326 | config DUMMY_IOMMU | ||
327 | bool | ||
328 | depends on !GART_IOMMU && !SWIOTLB | ||
329 | default y | ||
330 | help | ||
331 | Don't use IOMMU code. This will cause problems when you have more than 4GB | ||
332 | of memory and any 32-bit devices. Don't turn on unless you know what you | ||
333 | are doing. | ||
334 | |||
335 | config X86_MCE | ||
336 | bool "Machine check support" if EMBEDDED | ||
337 | default y | ||
338 | help | ||
339 | Include a machine check error handler to report hardware errors. | ||
340 | This version will require the mcelog utility to decode some | ||
341 | machine check error logs. See | ||
342 | ftp://ftp.x86-64.org/pub/linux/tools/mcelog | ||
343 | |||
344 | config X86_MCE_INTEL | ||
345 | bool "Intel MCE features" | ||
346 | depends on X86_MCE && X86_LOCAL_APIC | ||
347 | default y | ||
348 | help | ||
349 | Additional support for intel specific MCE features such as | ||
350 | the thermal monitor. | ||
351 | |||
352 | config SECCOMP | ||
353 | bool "Enable seccomp to safely compute untrusted bytecode" | ||
354 | depends on PROC_FS | ||
355 | default y | ||
356 | help | ||
357 | This kernel feature is useful for number crunching applications | ||
358 | that may need to compute untrusted bytecode during their | ||
359 | execution. By using pipes or other transports made available to | ||
360 | the process as file descriptors supporting the read/write | ||
361 | syscalls, it's possible to isolate those applications in | ||
362 | their own address space using seccomp. Once seccomp is | ||
363 | enabled via /proc/<pid>/seccomp, it cannot be disabled | ||
364 | and the task is only allowed to execute a few safe syscalls | ||
365 | defined by each seccomp mode. | ||
366 | |||
367 | If unsure, say Y. Only embedded should say N here. | ||
368 | |||
369 | endmenu | ||
370 | |||
371 | # | ||
372 | # Use the generic interrupt handling code in kernel/irq/: | ||
373 | # | ||
374 | config GENERIC_HARDIRQS | ||
375 | bool | ||
376 | default y | ||
377 | |||
378 | config GENERIC_IRQ_PROBE | ||
379 | bool | ||
380 | default y | ||
381 | |||
382 | menu "Power management options" | ||
383 | |||
384 | source kernel/power/Kconfig | ||
385 | |||
386 | source "drivers/acpi/Kconfig" | ||
387 | |||
388 | source "arch/x86_64/kernel/cpufreq/Kconfig" | ||
389 | |||
390 | endmenu | ||
391 | |||
392 | menu "Bus options (PCI etc.)" | ||
393 | |||
394 | config PCI | ||
395 | bool "PCI support" | ||
396 | |||
397 | # x86-64 doesn't support PCI BIOS access from long mode so always go direct. | ||
398 | config PCI_DIRECT | ||
399 | bool | ||
400 | depends on PCI | ||
401 | default y | ||
402 | |||
403 | config PCI_MMCONFIG | ||
404 | bool "Support mmconfig PCI config space access" | ||
405 | depends on PCI | ||
406 | select ACPI_BOOT | ||
407 | |||
408 | config UNORDERED_IO | ||
409 | bool "Unordered IO mapping access" | ||
410 | depends on EXPERIMENTAL | ||
411 | help | ||
412 | Use unordered stores to access IO memory mappings in device drivers. | ||
413 | Still very experimental. When a driver works on IA64/ppc64/pa-risc it should | ||
414 | work with this option, but it makes the drivers behave differently | ||
415 | from i386. Requires that the driver writer used memory barriers | ||
416 | properly. | ||
417 | |||
418 | source "drivers/pci/pcie/Kconfig" | ||
419 | |||
420 | source "drivers/pci/Kconfig" | ||
421 | |||
422 | source "drivers/pcmcia/Kconfig" | ||
423 | |||
424 | source "drivers/pci/hotplug/Kconfig" | ||
425 | |||
426 | endmenu | ||
427 | |||
428 | |||
429 | menu "Executable file formats / Emulations" | ||
430 | |||
431 | source "fs/Kconfig.binfmt" | ||
432 | |||
433 | config IA32_EMULATION | ||
434 | bool "IA32 Emulation" | ||
435 | help | ||
436 | Include code to run 32-bit programs under a 64-bit kernel. You should likely | ||
437 | turn this on, unless you're 100% sure that you don't have any 32-bit programs | ||
438 | left. | ||
439 | |||
440 | config IA32_AOUT | ||
441 | bool "IA32 a.out support" | ||
442 | depends on IA32_EMULATION | ||
443 | help | ||
444 | Support old a.out binaries in the 32bit emulation. | ||
445 | |||
446 | config COMPAT | ||
447 | bool | ||
448 | depends on IA32_EMULATION | ||
449 | default y | ||
450 | |||
451 | config SYSVIPC_COMPAT | ||
452 | bool | ||
453 | depends on COMPAT && SYSVIPC | ||
454 | default y | ||
455 | |||
456 | config UID16 | ||
457 | bool | ||
458 | depends on IA32_EMULATION | ||
459 | default y | ||
460 | |||
461 | endmenu | ||
462 | |||
463 | source drivers/Kconfig | ||
464 | |||
465 | source "drivers/firmware/Kconfig" | ||
466 | |||
467 | source fs/Kconfig | ||
468 | |||
469 | source "arch/x86_64/oprofile/Kconfig" | ||
470 | |||
471 | source "arch/x86_64/Kconfig.debug" | ||
472 | |||
473 | source "security/Kconfig" | ||
474 | |||
475 | source "crypto/Kconfig" | ||
476 | |||
477 | source "lib/Kconfig" | ||