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 LOCKDEP_SUPPORT |
---|
28 | bool |
---|
29 | default y |
---|
30 | |
---|
31 | config STACKTRACE_SUPPORT |
---|
32 | bool |
---|
33 | default y |
---|
34 | |
---|
35 | config SEMAPHORE_SLEEPERS |
---|
36 | bool |
---|
37 | default y |
---|
38 | |
---|
39 | config MMU |
---|
40 | bool |
---|
41 | default y |
---|
42 | |
---|
43 | config ISA |
---|
44 | bool |
---|
45 | |
---|
46 | config SBUS |
---|
47 | bool |
---|
48 | |
---|
49 | config RWSEM_GENERIC_SPINLOCK |
---|
50 | bool |
---|
51 | default y |
---|
52 | |
---|
53 | config RWSEM_XCHGADD_ALGORITHM |
---|
54 | bool |
---|
55 | |
---|
56 | config GENERIC_HWEIGHT |
---|
57 | bool |
---|
58 | default y |
---|
59 | |
---|
60 | config GENERIC_CALIBRATE_DELAY |
---|
61 | bool |
---|
62 | default y |
---|
63 | |
---|
64 | config X86_CMPXCHG |
---|
65 | bool |
---|
66 | default y |
---|
67 | |
---|
68 | config EARLY_PRINTK |
---|
69 | bool |
---|
70 | default y |
---|
71 | |
---|
72 | config GENERIC_ISA_DMA |
---|
73 | bool |
---|
74 | default y |
---|
75 | |
---|
76 | config GENERIC_IOMAP |
---|
77 | bool |
---|
78 | default y |
---|
79 | |
---|
80 | config ARCH_MAY_HAVE_PC_FDC |
---|
81 | bool |
---|
82 | default y |
---|
83 | |
---|
84 | config DMI |
---|
85 | bool |
---|
86 | default y |
---|
87 | |
---|
88 | config AUDIT_ARCH |
---|
89 | bool |
---|
90 | default y |
---|
91 | |
---|
92 | source "init/Kconfig" |
---|
93 | |
---|
94 | |
---|
95 | menu "Processor type and features" |
---|
96 | |
---|
97 | choice |
---|
98 | prompt "Subarchitecture Type" |
---|
99 | default X86_PC |
---|
100 | |
---|
101 | config X86_PC |
---|
102 | bool "PC-compatible" |
---|
103 | help |
---|
104 | Choose this option if your computer is a standard PC or compatible. |
---|
105 | |
---|
106 | config X86_VSMP |
---|
107 | bool "Support for ScaleMP vSMP" |
---|
108 | help |
---|
109 | Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is |
---|
110 | supposed to run on these EM64T-based machines. Only choose this option |
---|
111 | if you have one of these machines. |
---|
112 | |
---|
113 | endchoice |
---|
114 | |
---|
115 | choice |
---|
116 | prompt "Processor family" |
---|
117 | default MK8 |
---|
118 | |
---|
119 | config MK8 |
---|
120 | bool "AMD-Opteron/Athlon64" |
---|
121 | help |
---|
122 | Optimize for AMD Opteron/Athlon64/Hammer/K8 CPUs. |
---|
123 | |
---|
124 | config MPSC |
---|
125 | bool "Intel EM64T" |
---|
126 | help |
---|
127 | Optimize for Intel Pentium 4 and Xeon CPUs with Intel |
---|
128 | Extended Memory 64 Technology(EM64T). For details see |
---|
129 | <http://www.intel.com/technology/64bitextensions/>. |
---|
130 | |
---|
131 | config GENERIC_CPU |
---|
132 | bool "Generic-x86-64" |
---|
133 | help |
---|
134 | Generic x86-64 CPU. |
---|
135 | |
---|
136 | endchoice |
---|
137 | |
---|
138 | config X86_64_XEN |
---|
139 | bool "Enable Xen compatible kernel" |
---|
140 | select SWIOTLB |
---|
141 | help |
---|
142 | This option will compile a kernel compatible with Xen hypervisor |
---|
143 | |
---|
144 | config X86_NO_TSS |
---|
145 | bool |
---|
146 | depends on X86_64_XEN |
---|
147 | default y |
---|
148 | |
---|
149 | config X86_NO_IDT |
---|
150 | bool |
---|
151 | depends on X86_64_XEN |
---|
152 | default y |
---|
153 | |
---|
154 | # |
---|
155 | # Define implied options from the CPU selection here |
---|
156 | # |
---|
157 | config X86_L1_CACHE_BYTES |
---|
158 | int |
---|
159 | default "128" if GENERIC_CPU || MPSC |
---|
160 | default "64" if MK8 |
---|
161 | |
---|
162 | config X86_L1_CACHE_SHIFT |
---|
163 | int |
---|
164 | default "7" if GENERIC_CPU || MPSC |
---|
165 | default "6" if MK8 |
---|
166 | |
---|
167 | config X86_INTERNODE_CACHE_BYTES |
---|
168 | int |
---|
169 | default "4096" if X86_VSMP |
---|
170 | default X86_L1_CACHE_BYTES if !X86_VSMP |
---|
171 | |
---|
172 | config X86_TSC |
---|
173 | bool |
---|
174 | depends on !X86_64_XEN |
---|
175 | default y |
---|
176 | |
---|
177 | config X86_GOOD_APIC |
---|
178 | bool |
---|
179 | default y |
---|
180 | |
---|
181 | config MICROCODE |
---|
182 | tristate "/dev/cpu/microcode - Intel CPU microcode support" |
---|
183 | ---help--- |
---|
184 | If you say Y here the 'File systems' section, you will be |
---|
185 | able to update the microcode on Intel processors. You will |
---|
186 | obviously need the actual microcode binary data itself which is |
---|
187 | not shipped with the Linux kernel. |
---|
188 | |
---|
189 | For latest news and information on obtaining all the required |
---|
190 | ingredients for this driver, check: |
---|
191 | <http://www.urbanmyth.org/microcode/>. |
---|
192 | |
---|
193 | To compile this driver as a module, choose M here: the |
---|
194 | module will be called microcode. |
---|
195 | If you use modprobe or kmod you may also want to add the line |
---|
196 | 'alias char-major-10-184 microcode' to your /etc/modules.conf file. |
---|
197 | |
---|
198 | config X86_MSR |
---|
199 | tristate "/dev/cpu/*/msr - Model-specific register support" |
---|
200 | help |
---|
201 | This device gives privileged processes access to the x86 |
---|
202 | Model-Specific Registers (MSRs). It is a character device with |
---|
203 | major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr. |
---|
204 | MSR accesses are directed to a specific CPU on multi-processor |
---|
205 | systems. |
---|
206 | |
---|
207 | config X86_CPUID |
---|
208 | tristate "/dev/cpu/*/cpuid - CPU information support" |
---|
209 | help |
---|
210 | This device gives processes access to the x86 CPUID instruction to |
---|
211 | be executed on a specific processor. It is a character device |
---|
212 | with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to |
---|
213 | /dev/cpu/31/cpuid. |
---|
214 | |
---|
215 | config X86_HT |
---|
216 | bool |
---|
217 | depends on SMP && !MK8 && !X86_64_XEN |
---|
218 | default y |
---|
219 | |
---|
220 | config MATH_EMULATION |
---|
221 | bool |
---|
222 | |
---|
223 | config MCA |
---|
224 | bool |
---|
225 | |
---|
226 | config EISA |
---|
227 | bool |
---|
228 | |
---|
229 | config X86_IO_APIC |
---|
230 | bool |
---|
231 | depends !XEN_UNPRIVILEGED_GUEST |
---|
232 | default y |
---|
233 | |
---|
234 | config X86_XEN_GENAPIC |
---|
235 | bool |
---|
236 | depends X86_64_XEN |
---|
237 | default XEN_PRIVILEGED_GUEST || SMP |
---|
238 | |
---|
239 | config X86_LOCAL_APIC |
---|
240 | bool |
---|
241 | depends !XEN_UNPRIVILEGED_GUEST |
---|
242 | default y |
---|
243 | |
---|
244 | config MTRR |
---|
245 | bool "MTRR (Memory Type Range Register) support" |
---|
246 | depends on !XEN_UNPRIVILEGED_GUEST |
---|
247 | ---help--- |
---|
248 | On Intel P6 family processors (Pentium Pro, Pentium II and later) |
---|
249 | the Memory Type Range Registers (MTRRs) may be used to control |
---|
250 | processor access to memory ranges. This is most useful if you have |
---|
251 | a video (VGA) card on a PCI or AGP bus. Enabling write-combining |
---|
252 | allows bus write transfers to be combined into a larger transfer |
---|
253 | before bursting over the PCI/AGP bus. This can increase performance |
---|
254 | of image write operations 2.5 times or more. Saying Y here creates a |
---|
255 | /proc/mtrr file which may be used to manipulate your processor's |
---|
256 | MTRRs. Typically the X server should use this. |
---|
257 | |
---|
258 | This code has a reasonably generic interface so that similar |
---|
259 | control registers on other processors can be easily supported |
---|
260 | as well. |
---|
261 | |
---|
262 | Saying Y here also fixes a problem with buggy SMP BIOSes which only |
---|
263 | set the MTRRs for the boot CPU and not for the secondary CPUs. This |
---|
264 | can lead to all sorts of problems, so it's good to say Y here. |
---|
265 | |
---|
266 | Just say Y here, all x86-64 machines support MTRRs. |
---|
267 | |
---|
268 | See <file:Documentation/mtrr.txt> for more information. |
---|
269 | |
---|
270 | config SMP |
---|
271 | bool "Symmetric multi-processing support" |
---|
272 | ---help--- |
---|
273 | This enables support for systems with more than one CPU. If you have |
---|
274 | a system with only one CPU, like most personal computers, say N. If |
---|
275 | you have a system with more than one CPU, say Y. |
---|
276 | |
---|
277 | If you say N here, the kernel will run on single and multiprocessor |
---|
278 | machines, but will use only one CPU of a multiprocessor machine. If |
---|
279 | you say Y here, the kernel will run on many, but not all, |
---|
280 | singleprocessor machines. On a singleprocessor machine, the kernel |
---|
281 | will run faster if you say N here. |
---|
282 | |
---|
283 | If you don't know what to do here, say N. |
---|
284 | |
---|
285 | config SCHED_SMT |
---|
286 | bool "SMT (Hyperthreading) scheduler support" |
---|
287 | depends on SMP && !X86_64_XEN |
---|
288 | default n |
---|
289 | help |
---|
290 | SMT scheduler support improves the CPU scheduler's decision making |
---|
291 | when dealing with Intel Pentium 4 chips with HyperThreading at a |
---|
292 | cost of slightly increased overhead in some places. If unsure say |
---|
293 | N here. |
---|
294 | |
---|
295 | config SCHED_MC |
---|
296 | bool "Multi-core scheduler support" |
---|
297 | depends on SMP && !X86_64_XEN |
---|
298 | default y |
---|
299 | help |
---|
300 | Multi-core scheduler support improves the CPU scheduler's decision |
---|
301 | making when dealing with multi-core CPU chips at a cost of slightly |
---|
302 | increased overhead in some places. If unsure say N here. |
---|
303 | |
---|
304 | source "kernel/Kconfig.preempt" |
---|
305 | |
---|
306 | config NUMA |
---|
307 | bool "Non Uniform Memory Access (NUMA) Support" |
---|
308 | depends on SMP && !X86_64_XEN |
---|
309 | help |
---|
310 | Enable NUMA (Non Uniform Memory Access) support. The kernel |
---|
311 | will try to allocate memory used by a CPU on the local memory |
---|
312 | controller of the CPU and add some more NUMA awareness to the kernel. |
---|
313 | This code is recommended on all multiprocessor Opteron systems. |
---|
314 | If the system is EM64T, you should say N unless your system is EM64T |
---|
315 | NUMA. |
---|
316 | |
---|
317 | config K8_NUMA |
---|
318 | bool "Old style AMD Opteron NUMA detection" |
---|
319 | depends on NUMA |
---|
320 | default y |
---|
321 | help |
---|
322 | Enable K8 NUMA node topology detection. You should say Y here if |
---|
323 | you have a multi processor AMD K8 system. This uses an old |
---|
324 | method to read the NUMA configurtion directly from the builtin |
---|
325 | Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA |
---|
326 | instead, which also takes priority if both are compiled in. |
---|
327 | |
---|
328 | config NODES_SHIFT |
---|
329 | int |
---|
330 | default "6" |
---|
331 | depends on NEED_MULTIPLE_NODES |
---|
332 | |
---|
333 | # Dummy CONFIG option to select ACPI_NUMA from drivers/acpi/Kconfig. |
---|
334 | |
---|
335 | config X86_64_ACPI_NUMA |
---|
336 | bool "ACPI NUMA detection" |
---|
337 | depends on NUMA |
---|
338 | select ACPI |
---|
339 | select PCI |
---|
340 | select ACPI_NUMA |
---|
341 | default y |
---|
342 | help |
---|
343 | Enable ACPI SRAT based node topology detection. |
---|
344 | |
---|
345 | config NUMA_EMU |
---|
346 | bool "NUMA emulation" |
---|
347 | depends on NUMA |
---|
348 | help |
---|
349 | Enable NUMA emulation. A flat machine will be split |
---|
350 | into virtual nodes when booted with "numa=fake=N", where N is the |
---|
351 | number of nodes. This is only useful for debugging. |
---|
352 | |
---|
353 | config ARCH_DISCONTIGMEM_ENABLE |
---|
354 | bool |
---|
355 | depends on NUMA |
---|
356 | default y |
---|
357 | |
---|
358 | |
---|
359 | config ARCH_DISCONTIGMEM_ENABLE |
---|
360 | def_bool y |
---|
361 | depends on NUMA |
---|
362 | |
---|
363 | config ARCH_DISCONTIGMEM_DEFAULT |
---|
364 | def_bool y |
---|
365 | depends on NUMA |
---|
366 | |
---|
367 | config ARCH_SPARSEMEM_ENABLE |
---|
368 | def_bool y |
---|
369 | depends on (NUMA || EXPERIMENTAL) && !X86_64_XEN |
---|
370 | |
---|
371 | config ARCH_MEMORY_PROBE |
---|
372 | def_bool y |
---|
373 | depends on MEMORY_HOTPLUG |
---|
374 | |
---|
375 | config ARCH_FLATMEM_ENABLE |
---|
376 | def_bool y |
---|
377 | depends on !NUMA |
---|
378 | |
---|
379 | source "mm/Kconfig" |
---|
380 | |
---|
381 | config HAVE_ARCH_EARLY_PFN_TO_NID |
---|
382 | def_bool y |
---|
383 | depends on NUMA |
---|
384 | |
---|
385 | config OUT_OF_LINE_PFN_TO_PAGE |
---|
386 | def_bool y |
---|
387 | depends on DISCONTIGMEM |
---|
388 | |
---|
389 | config NR_CPUS |
---|
390 | int "Maximum number of CPUs (2-256)" |
---|
391 | range 2 255 |
---|
392 | depends on SMP |
---|
393 | default "16" if X86_64_XEN |
---|
394 | default "8" |
---|
395 | help |
---|
396 | This allows you to specify the maximum number of CPUs which this |
---|
397 | kernel will support. Current maximum is 256 CPUs due to |
---|
398 | APIC addressing limits. Less depending on the hardware. |
---|
399 | |
---|
400 | This is purely to save memory - each supported CPU requires |
---|
401 | memory in the static kernel configuration. |
---|
402 | |
---|
403 | config HOTPLUG_CPU |
---|
404 | bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" |
---|
405 | depends on SMP && HOTPLUG && EXPERIMENTAL |
---|
406 | help |
---|
407 | Say Y here to experiment with turning CPUs off and on. CPUs |
---|
408 | can be controlled through /sys/devices/system/cpu/cpu#. |
---|
409 | Say N if you want to disable CPU hotplug. |
---|
410 | |
---|
411 | config ARCH_ENABLE_MEMORY_HOTPLUG |
---|
412 | def_bool y |
---|
413 | |
---|
414 | config HPET_TIMER |
---|
415 | bool |
---|
416 | depends on !X86_64_XEN |
---|
417 | default y |
---|
418 | help |
---|
419 | Use the IA-PC HPET (High Precision Event Timer) to manage |
---|
420 | time in preference to the PIT and RTC, if a HPET is |
---|
421 | present. The HPET provides a stable time base on SMP |
---|
422 | systems, unlike the TSC, but it is more expensive to access, |
---|
423 | as it is off-chip. You can find the HPET spec at |
---|
424 | <http://www.intel.com/hardwaredesign/hpetspec.htm>. |
---|
425 | |
---|
426 | config HPET_EMULATE_RTC |
---|
427 | bool "Provide RTC interrupt" |
---|
428 | depends on HPET_TIMER && RTC=y |
---|
429 | |
---|
430 | # Mark as embedded because too many people got it wrong. |
---|
431 | # The code disables itself when not needed. |
---|
432 | config IOMMU |
---|
433 | bool "IOMMU support" if EMBEDDED |
---|
434 | default y |
---|
435 | select SWIOTLB |
---|
436 | select AGP |
---|
437 | depends on PCI && !X86_64_XEN |
---|
438 | help |
---|
439 | Support for full DMA access of devices with 32bit memory access only |
---|
440 | on systems with more than 3GB. This is usually needed for USB, |
---|
441 | sound, many IDE/SATA chipsets and some other devices. |
---|
442 | Provides a driver for the AMD Athlon64/Opteron/Turion/Sempron GART |
---|
443 | based IOMMU and a software bounce buffer based IOMMU used on Intel |
---|
444 | systems and as fallback. |
---|
445 | The code is only active when needed (enough memory and limited |
---|
446 | device) unless CONFIG_IOMMU_DEBUG or iommu=force is specified |
---|
447 | too. |
---|
448 | |
---|
449 | config CALGARY_IOMMU |
---|
450 | bool "IBM Calgary IOMMU support" |
---|
451 | default y |
---|
452 | select SWIOTLB |
---|
453 | depends on PCI && !X86_64_XEN && EXPERIMENTAL |
---|
454 | help |
---|
455 | Support for hardware IOMMUs in IBM's xSeries x366 and x460 |
---|
456 | systems. Needed to run systems with more than 3GB of memory |
---|
457 | properly with 32-bit PCI devices that do not support DAC |
---|
458 | (Double Address Cycle). Calgary also supports bus level |
---|
459 | isolation, where all DMAs pass through the IOMMU. This |
---|
460 | prevents them from going anywhere except their intended |
---|
461 | destination. This catches hard-to-find kernel bugs and |
---|
462 | mis-behaving drivers and devices that do not use the DMA-API |
---|
463 | properly to set up their DMA buffers. The IOMMU can be |
---|
464 | turned off at boot time with the iommu=off parameter. |
---|
465 | Normally the kernel will make the right choice by itself. |
---|
466 | If unsure, say Y. |
---|
467 | |
---|
468 | # need this always selected by IOMMU for the VIA workaround |
---|
469 | config SWIOTLB |
---|
470 | bool |
---|
471 | |
---|
472 | config X86_MCE |
---|
473 | bool "Machine check support" if EMBEDDED |
---|
474 | depends on !X86_64_XEN |
---|
475 | default y |
---|
476 | help |
---|
477 | Include a machine check error handler to report hardware errors. |
---|
478 | This version will require the mcelog utility to decode some |
---|
479 | machine check error logs. See |
---|
480 | ftp://ftp.x86-64.org/pub/linux/tools/mcelog |
---|
481 | |
---|
482 | config X86_MCE_INTEL |
---|
483 | bool "Intel MCE features" |
---|
484 | depends on X86_MCE && X86_LOCAL_APIC |
---|
485 | default y |
---|
486 | help |
---|
487 | Additional support for intel specific MCE features such as |
---|
488 | the thermal monitor. |
---|
489 | |
---|
490 | config X86_MCE_AMD |
---|
491 | bool "AMD MCE features" |
---|
492 | depends on X86_MCE && X86_LOCAL_APIC |
---|
493 | default y |
---|
494 | help |
---|
495 | Additional support for AMD specific MCE features such as |
---|
496 | the DRAM Error Threshold. |
---|
497 | |
---|
498 | config KEXEC |
---|
499 | bool "kexec system call (EXPERIMENTAL)" |
---|
500 | depends on EXPERIMENTAL && !XEN_UNPRIVILEGED_GUEST |
---|
501 | help |
---|
502 | kexec is a system call that implements the ability to shutdown your |
---|
503 | current kernel, and to start another kernel. It is like a reboot |
---|
504 | but it is independent of the system firmware. And like a reboot |
---|
505 | you can start any kernel with it, not just Linux. |
---|
506 | |
---|
507 | The name comes from the similarity to the exec system call. |
---|
508 | |
---|
509 | It is an ongoing process to be certain the hardware in a machine |
---|
510 | is properly shutdown, so do not be surprised if this code does not |
---|
511 | initially work for you. It may help to enable device hotplugging |
---|
512 | support. As of this writing the exact hardware interface is |
---|
513 | strongly in flux, so no good recommendation can be made. |
---|
514 | |
---|
515 | config CRASH_DUMP |
---|
516 | bool "kernel crash dumps (EXPERIMENTAL)" |
---|
517 | depends on EXPERIMENTAL |
---|
518 | help |
---|
519 | Generate crash dump after being started by kexec. |
---|
520 | |
---|
521 | config PHYSICAL_START |
---|
522 | hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) |
---|
523 | default "0x1000000" if CRASH_DUMP |
---|
524 | default "0x200000" |
---|
525 | help |
---|
526 | This gives the physical address where the kernel is loaded. Normally |
---|
527 | for regular kernels this value is 0x200000 (2MB). But in the case |
---|
528 | of kexec on panic the fail safe kernel needs to run at a different |
---|
529 | address than the panic-ed kernel. This option is used to set the load |
---|
530 | address for kernels used to capture crash dump on being kexec'ed |
---|
531 | after panic. The default value for crash dump kernels is |
---|
532 | 0x1000000 (16MB). This can also be set based on the "X" value as |
---|
533 | specified in the "crashkernel=YM@XM" command line boot parameter |
---|
534 | passed to the panic-ed kernel. Typically this parameter is set as |
---|
535 | crashkernel=64M@16M. Please take a look at |
---|
536 | Documentation/kdump/kdump.txt for more details about crash dumps. |
---|
537 | |
---|
538 | Don't change this unless you know what you are doing. |
---|
539 | |
---|
540 | config SECCOMP |
---|
541 | bool "Enable seccomp to safely compute untrusted bytecode" |
---|
542 | depends on PROC_FS |
---|
543 | default y |
---|
544 | help |
---|
545 | This kernel feature is useful for number crunching applications |
---|
546 | that may need to compute untrusted bytecode during their |
---|
547 | execution. By using pipes or other transports made available to |
---|
548 | the process as file descriptors supporting the read/write |
---|
549 | syscalls, it's possible to isolate those applications in |
---|
550 | their own address space using seccomp. Once seccomp is |
---|
551 | enabled via /proc/<pid>/seccomp, it cannot be disabled |
---|
552 | and the task is only allowed to execute a few safe syscalls |
---|
553 | defined by each seccomp mode. |
---|
554 | |
---|
555 | If unsure, say Y. Only embedded should say N here. |
---|
556 | |
---|
557 | source kernel/Kconfig.hz |
---|
558 | |
---|
559 | config REORDER |
---|
560 | bool "Function reordering" |
---|
561 | default n |
---|
562 | help |
---|
563 | This option enables the toolchain to reorder functions for a more |
---|
564 | optimal TLB usage. If you have pretty much any version of binutils, |
---|
565 | this can increase your kernel build time by roughly one minute. |
---|
566 | |
---|
567 | config K8_NB |
---|
568 | def_bool y |
---|
569 | depends on AGP_AMD64 || IOMMU || (PCI && NUMA) |
---|
570 | |
---|
571 | endmenu |
---|
572 | |
---|
573 | # |
---|
574 | # Use the generic interrupt handling code in kernel/irq/: |
---|
575 | # |
---|
576 | config GENERIC_HARDIRQS |
---|
577 | bool |
---|
578 | default y |
---|
579 | |
---|
580 | config GENERIC_IRQ_PROBE |
---|
581 | bool |
---|
582 | default y |
---|
583 | |
---|
584 | # we have no ISA slots, but we do have ISA-style DMA. |
---|
585 | config ISA_DMA_API |
---|
586 | bool |
---|
587 | default y |
---|
588 | |
---|
589 | config GENERIC_PENDING_IRQ |
---|
590 | bool |
---|
591 | depends on GENERIC_HARDIRQS && SMP |
---|
592 | default y |
---|
593 | |
---|
594 | menu "Power management options" |
---|
595 | depends on !XEN_UNPRIVILEGED_GUEST |
---|
596 | |
---|
597 | if !X86_64_XEN |
---|
598 | source kernel/power/Kconfig |
---|
599 | endif |
---|
600 | |
---|
601 | source "drivers/acpi/Kconfig" |
---|
602 | |
---|
603 | source "arch/x86_64/kernel/cpufreq/Kconfig" |
---|
604 | |
---|
605 | endmenu |
---|
606 | |
---|
607 | menu "Bus options (PCI etc.)" |
---|
608 | |
---|
609 | config PCI |
---|
610 | bool "PCI support" |
---|
611 | |
---|
612 | # x86-64 doesn't support PCI BIOS access from long mode so always go direct. |
---|
613 | config PCI_DIRECT |
---|
614 | bool |
---|
615 | depends on PCI |
---|
616 | default y |
---|
617 | |
---|
618 | config PCI_MMCONFIG |
---|
619 | bool "Support mmconfig PCI config space access" |
---|
620 | depends on PCI && ACPI |
---|
621 | |
---|
622 | config XEN_PCIDEV_FRONTEND |
---|
623 | bool "Xen PCI Frontend" |
---|
624 | depends on PCI && X86_64_XEN |
---|
625 | default y |
---|
626 | help |
---|
627 | The PCI device frontend driver allows the kernel to import arbitrary |
---|
628 | PCI devices from a PCI backend to support PCI driver domains. |
---|
629 | |
---|
630 | config XEN_PCIDEV_FE_DEBUG |
---|
631 | bool "Xen PCI Frontend Debugging" |
---|
632 | depends on XEN_PCIDEV_FRONTEND |
---|
633 | default n |
---|
634 | help |
---|
635 | Enables some debug statements within the PCI Frontend. |
---|
636 | |
---|
637 | source "drivers/pci/pcie/Kconfig" |
---|
638 | |
---|
639 | source "drivers/pci/Kconfig" |
---|
640 | |
---|
641 | source "drivers/pcmcia/Kconfig" |
---|
642 | |
---|
643 | source "drivers/pci/hotplug/Kconfig" |
---|
644 | |
---|
645 | endmenu |
---|
646 | |
---|
647 | |
---|
648 | menu "Executable file formats / Emulations" |
---|
649 | |
---|
650 | source "fs/Kconfig.binfmt" |
---|
651 | |
---|
652 | config IA32_EMULATION |
---|
653 | bool "IA32 Emulation" |
---|
654 | help |
---|
655 | Include code to run 32-bit programs under a 64-bit kernel. You should likely |
---|
656 | turn this on, unless you're 100% sure that you don't have any 32-bit programs |
---|
657 | left. |
---|
658 | |
---|
659 | config IA32_AOUT |
---|
660 | tristate "IA32 a.out support" |
---|
661 | depends on IA32_EMULATION |
---|
662 | help |
---|
663 | Support old a.out binaries in the 32bit emulation. |
---|
664 | |
---|
665 | config COMPAT |
---|
666 | bool |
---|
667 | depends on IA32_EMULATION |
---|
668 | default y |
---|
669 | |
---|
670 | config SYSVIPC_COMPAT |
---|
671 | bool |
---|
672 | depends on COMPAT && SYSVIPC |
---|
673 | default y |
---|
674 | |
---|
675 | endmenu |
---|
676 | |
---|
677 | source "net/Kconfig" |
---|
678 | |
---|
679 | source drivers/Kconfig |
---|
680 | |
---|
681 | source "drivers/firmware/Kconfig" |
---|
682 | |
---|
683 | source fs/Kconfig |
---|
684 | |
---|
685 | menu "Instrumentation Support" |
---|
686 | depends on EXPERIMENTAL |
---|
687 | |
---|
688 | source "arch/x86_64/oprofile/Kconfig" |
---|
689 | |
---|
690 | config KPROBES |
---|
691 | bool "Kprobes (EXPERIMENTAL)" |
---|
692 | depends on EXPERIMENTAL && MODULES |
---|
693 | help |
---|
694 | Kprobes allows you to trap at almost any kernel address and |
---|
695 | execute a callback function. register_kprobe() establishes |
---|
696 | a probepoint and specifies the callback. Kprobes is useful |
---|
697 | for kernel debugging, non-intrusive instrumentation and testing. |
---|
698 | If in doubt, say "N". |
---|
699 | endmenu |
---|
700 | |
---|
701 | source "arch/x86_64/Kconfig.debug" |
---|
702 | |
---|
703 | source "security/Kconfig" |
---|
704 | |
---|
705 | source "crypto/Kconfig" |
---|
706 | |
---|
707 | source "drivers/xen/Kconfig" |
---|
708 | |
---|
709 | source "lib/Kconfig" |
---|