OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [arch/] [x86/] [Kconfig] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 xianfeng
# x86 configuration
2
mainmenu "Linux Kernel Configuration for x86"
3
 
4
# Select 32 or 64 bit
5
config 64BIT
6
        bool "64-bit kernel" if ARCH = "x86"
7
        default ARCH = "x86_64"
8
        help
9
          Say yes to build a 64-bit kernel - formerly known as x86_64
10
          Say no to build a 32-bit kernel - formerly known as i386
11
 
12
config X86_32
13
        def_bool !64BIT
14
 
15
config X86_64
16
        def_bool 64BIT
17
 
18
### Arch settings
19
config X86
20
        bool
21
        default y
22
 
23
config GENERIC_TIME
24
        bool
25
        default y
26
 
27
config GENERIC_CMOS_UPDATE
28
        bool
29
        default y
30
 
31
config CLOCKSOURCE_WATCHDOG
32
        bool
33
        default y
34
 
35
config GENERIC_CLOCKEVENTS
36
        bool
37
        default y
38
 
39
config GENERIC_CLOCKEVENTS_BROADCAST
40
        bool
41
        default y
42
        depends on X86_64 || (X86_32 && X86_LOCAL_APIC)
43
 
44
config LOCKDEP_SUPPORT
45
        bool
46
        default y
47
 
48
config STACKTRACE_SUPPORT
49
        bool
50
        default y
51
 
52
config SEMAPHORE_SLEEPERS
53
        bool
54
        default y
55
 
56
config MMU
57
        bool
58
        default y
59
 
60
config ZONE_DMA
61
        bool
62
        default y
63
 
64
config QUICKLIST
65
        bool
66
        default X86_32
67
 
68
config SBUS
69
        bool
70
 
71
config GENERIC_ISA_DMA
72
        bool
73
        default y
74
 
75
config GENERIC_IOMAP
76
        bool
77
        default y
78
 
79
config GENERIC_BUG
80
        bool
81
        default y
82
        depends on BUG
83
 
84
config GENERIC_HWEIGHT
85
        bool
86
        default y
87
 
88
config ARCH_MAY_HAVE_PC_FDC
89
        bool
90
        default y
91
 
92
config DMI
93
        bool
94
        default y
95
 
96
config RWSEM_GENERIC_SPINLOCK
97
        def_bool !X86_XADD
98
 
99
config RWSEM_XCHGADD_ALGORITHM
100
        def_bool X86_XADD
101
 
102
config ARCH_HAS_ILOG2_U32
103
        def_bool n
104
 
105
config ARCH_HAS_ILOG2_U64
106
        def_bool n
107
 
108
config GENERIC_CALIBRATE_DELAY
109
        def_bool y
110
 
111
config GENERIC_TIME_VSYSCALL
112
        bool
113
        default X86_64
114
 
115
config ARCH_SUPPORTS_OPROFILE
116
        bool
117
        default y
118
 
119
 
120
config ZONE_DMA32
121
        bool
122
        default X86_64
123
 
124
config ARCH_POPULATES_NODE_MAP
125
        def_bool y
126
 
127
config AUDIT_ARCH
128
        bool
129
        default X86_64
130
 
131
# Use the generic interrupt handling code in kernel/irq/:
132
config GENERIC_HARDIRQS
133
        bool
134
        default y
135
 
136
config GENERIC_IRQ_PROBE
137
        bool
138
        default y
139
 
140
config GENERIC_PENDING_IRQ
141
        bool
142
        depends on GENERIC_HARDIRQS && SMP
143
        default y
144
 
145
config X86_SMP
146
        bool
147
        depends on X86_32 && SMP && !X86_VOYAGER
148
        default y
149
 
150
config X86_HT
151
        bool
152
        depends on SMP
153
        depends on (X86_32 && !(X86_VISWS || X86_VOYAGER)) || (X86_64 && !MK8)
154
        default y
155
 
156
config X86_BIOS_REBOOT
157
        bool
158
        depends on X86_32 && !(X86_VISWS || X86_VOYAGER)
159
        default y
160
 
161
config X86_TRAMPOLINE
162
        bool
163
        depends on X86_SMP || (X86_VOYAGER && SMP)
164
        default y
165
 
166
config KTIME_SCALAR
167
        def_bool X86_32
168
source "init/Kconfig"
169
 
170
menu "Processor type and features"
171
 
172
source "kernel/time/Kconfig"
173
 
174
config SMP
175
        bool "Symmetric multi-processing support"
176
        ---help---
177
          This enables support for systems with more than one CPU. If you have
178
          a system with only one CPU, like most personal computers, say N. If
179
          you have a system with more than one CPU, say Y.
180
 
181
          If you say N here, the kernel will run on single and multiprocessor
182
          machines, but will use only one CPU of a multiprocessor machine. If
183
          you say Y here, the kernel will run on many, but not all,
184
          singleprocessor machines. On a singleprocessor machine, the kernel
185
          will run faster if you say N here.
186
 
187
          Note that if you say Y here and choose architecture "586" or
188
          "Pentium" under "Processor family", the kernel will not work on 486
189
          architectures. Similarly, multiprocessor kernels for the "PPro"
190
          architecture may not work on all Pentium based boards.
191
 
192
          People using multiprocessor machines who say Y here should also say
193
          Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
194
          Management" code will be disabled if you say Y here.
195
 
196
          See also the ,
197
          ,
198
           and the SMP-HOWTO available at
199
          .
200
 
201
          If you don't know what to do here, say N.
202
 
203
choice
204
        prompt "Subarchitecture Type"
205
        default X86_PC
206
 
207
config X86_PC
208
        bool "PC-compatible"
209
        help
210
          Choose this option if your computer is a standard PC or compatible.
211
 
212
config X86_ELAN
213
        bool "AMD Elan"
214
        depends on X86_32
215
        help
216
          Select this for an AMD Elan processor.
217
 
218
          Do not use this option for K6/Athlon/Opteron processors!
219
 
220
          If unsure, choose "PC-compatible" instead.
221
 
222
config X86_VOYAGER
223
        bool "Voyager (NCR)"
224
        depends on X86_32
225
        select SMP if !BROKEN
226
        help
227
          Voyager is an MCA-based 32-way capable SMP architecture proprietary
228
          to NCR Corp.  Machine classes 345x/35xx/4100/51xx are Voyager-based.
229
 
230
          *** WARNING ***
231
 
232
          If you do not specifically know you have a Voyager based machine,
233
          say N here, otherwise the kernel you build will not be bootable.
234
 
235
config X86_NUMAQ
236
        bool "NUMAQ (IBM/Sequent)"
237
        select SMP
238
        select NUMA
239
        depends on X86_32
240
        help
241
          This option is used for getting Linux to run on a (IBM/Sequent) NUMA
242
          multiquad box. This changes the way that processors are bootstrapped,
243
          and uses Clustered Logical APIC addressing mode instead of Flat Logical.
244
          You will need a new lynxer.elf file to flash your firmware with - send
245
          email to .
246
 
247
config X86_SUMMIT
248
        bool "Summit/EXA (IBM x440)"
249
        depends on X86_32 && SMP
250
        help
251
          This option is needed for IBM systems that use the Summit/EXA chipset.
252
          In particular, it is needed for the x440.
253
 
254
          If you don't have one of these computers, you should say N here.
255
          If you want to build a NUMA kernel, you must select ACPI.
256
 
257
config X86_BIGSMP
258
        bool "Support for other sub-arch SMP systems with more than 8 CPUs"
259
        depends on X86_32 && SMP
260
        help
261
          This option is needed for the systems that have more than 8 CPUs
262
          and if the system is not of any sub-arch type above.
263
 
264
          If you don't have such a system, you should say N here.
265
 
266
config X86_VISWS
267
        bool "SGI 320/540 (Visual Workstation)"
268
        depends on X86_32
269
        help
270
          The SGI Visual Workstation series is an IA32-based workstation
271
          based on SGI systems chips with some legacy PC hardware attached.
272
 
273
          Say Y here to create a kernel to run on the SGI 320 or 540.
274
 
275
          A kernel compiled for the Visual Workstation will not run on PCs
276
          and vice versa. See  for details.
277
 
278
config X86_GENERICARCH
279
       bool "Generic architecture (Summit, bigsmp, ES7000, default)"
280
        depends on X86_32
281
       help
282
          This option compiles in the Summit, bigsmp, ES7000, default subarchitectures.
283
          It is intended for a generic binary kernel.
284
          If you want a NUMA kernel, select ACPI.   We need SRAT for NUMA.
285
 
286
config X86_ES7000
287
        bool "Support for Unisys ES7000 IA32 series"
288
        depends on X86_32 && SMP
289
        help
290
          Support for Unisys ES7000 systems.  Say 'Y' here if this kernel is
291
          supposed to run on an IA32-based Unisys ES7000 system.
292
          Only choose this option if you have such a system, otherwise you
293
          should say N here.
294
 
295
config X86_VSMP
296
        bool "Support for ScaleMP vSMP"
297
        depends on X86_64 && PCI
298
         help
299
          Support for ScaleMP vSMP systems.  Say 'Y' here if this kernel is
300
          supposed to run on these EM64T-based machines.  Only choose this option
301
          if you have one of these machines.
302
 
303
endchoice
304
 
305
config SCHED_NO_NO_OMIT_FRAME_POINTER
306
        bool "Single-depth WCHAN output"
307
        default y
308
        depends on X86_32
309
        help
310
          Calculate simpler /proc//wchan values. If this option
311
          is disabled then wchan values will recurse back to the
312
          caller function. This provides more accurate wchan values,
313
          at the expense of slightly more scheduling overhead.
314
 
315
          If in doubt, say "Y".
316
 
317
config PARAVIRT
318
        bool
319
        depends on X86_32 && !(X86_VISWS || X86_VOYAGER)
320
        help
321
          This changes the kernel so it can modify itself when it is run
322
          under a hypervisor, potentially improving performance significantly
323
          over full virtualization.  However, when run without a hypervisor
324
          the kernel is theoretically slower and slightly larger.
325
 
326
menuconfig PARAVIRT_GUEST
327
        bool "Paravirtualized guest support"
328
        depends on X86_32
329
        help
330
          Say Y here to get to see options related to running Linux under
331
          various hypervisors.  This option alone does not add any kernel code.
332
 
333
          If you say N, all options in this submenu will be skipped and disabled.
334
 
335
if PARAVIRT_GUEST
336
 
337
source "arch/x86/xen/Kconfig"
338
 
339
config VMI
340
        bool "VMI Guest support"
341
        select PARAVIRT
342
        depends on !(X86_VISWS || X86_VOYAGER)
343
        help
344
          VMI provides a paravirtualized interface to the VMware ESX server
345
          (it could be used by other hypervisors in theory too, but is not
346
          at the moment), by linking the kernel to a GPL-ed ROM module
347
          provided by the hypervisor.
348
 
349
source "arch/x86/lguest/Kconfig"
350
 
351
endif
352
 
353
config ACPI_SRAT
354
        bool
355
        default y
356
        depends on X86_32 && ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH)
357
        select ACPI_NUMA
358
 
359
config HAVE_ARCH_PARSE_SRAT
360
       bool
361
       default y
362
       depends on ACPI_SRAT
363
 
364
config X86_SUMMIT_NUMA
365
        bool
366
        default y
367
        depends on X86_32 && NUMA && (X86_SUMMIT || X86_GENERICARCH)
368
 
369
config X86_CYCLONE_TIMER
370
        bool
371
        default y
372
        depends on X86_32 && X86_SUMMIT || X86_GENERICARCH
373
 
374
config ES7000_CLUSTERED_APIC
375
        bool
376
        default y
377
        depends on SMP && X86_ES7000 && MPENTIUMIII
378
 
379
source "arch/x86/Kconfig.cpu"
380
 
381
config HPET_TIMER
382
        bool
383
        prompt "HPET Timer Support" if X86_32
384
        default X86_64
385
        help
386
         Use the IA-PC HPET (High Precision Event Timer) to manage
387
         time in preference to the PIT and RTC, if a HPET is
388
         present.
389
         HPET is the next generation timer replacing legacy 8254s.
390
         The HPET provides a stable time base on SMP
391
         systems, unlike the TSC, but it is more expensive to access,
392
         as it is off-chip.  You can find the HPET spec at
393
         .
394
 
395
         You can safely choose Y here.  However, HPET will only be
396
         activated if the platform and the BIOS support this feature.
397
         Otherwise the 8254 will be used for timing services.
398
 
399
         Choose N to continue using the legacy 8254 timer.
400
 
401
config HPET_EMULATE_RTC
402
        bool
403
        depends on HPET_TIMER && RTC=y
404
        default y
405
 
406
# Mark as embedded because too many people got it wrong.
407
# The code disables itself when not needed.
408
config GART_IOMMU
409
        bool "GART IOMMU support" if EMBEDDED
410
        default y
411
        select SWIOTLB
412
        select AGP
413
        depends on X86_64 && PCI
414
        help
415
          Support for full DMA access of devices with 32bit memory access only
416
          on systems with more than 3GB. This is usually needed for USB,
417
          sound, many IDE/SATA chipsets and some other devices.
418
          Provides a driver for the AMD Athlon64/Opteron/Turion/Sempron GART
419
          based hardware IOMMU and a software bounce buffer based IOMMU used
420
          on Intel systems and as fallback.
421
          The code is only active when needed (enough memory and limited
422
          device) unless CONFIG_IOMMU_DEBUG or iommu=force is specified
423
          too.
424
 
425
config CALGARY_IOMMU
426
        bool "IBM Calgary IOMMU support"
427
        select SWIOTLB
428
        depends on X86_64 && PCI && EXPERIMENTAL
429
        help
430
          Support for hardware IOMMUs in IBM's xSeries x366 and x460
431
          systems. Needed to run systems with more than 3GB of memory
432
          properly with 32-bit PCI devices that do not support DAC
433
          (Double Address Cycle). Calgary also supports bus level
434
          isolation, where all DMAs pass through the IOMMU.  This
435
          prevents them from going anywhere except their intended
436
          destination. This catches hard-to-find kernel bugs and
437
          mis-behaving drivers and devices that do not use the DMA-API
438
          properly to set up their DMA buffers.  The IOMMU can be
439
          turned off at boot time with the iommu=off parameter.
440
          Normally the kernel will make the right choice by itself.
441
          If unsure, say Y.
442
 
443
config CALGARY_IOMMU_ENABLED_BY_DEFAULT
444
        bool "Should Calgary be enabled by default?"
445
        default y
446
        depends on CALGARY_IOMMU
447
        help
448
          Should Calgary be enabled by default? if you choose 'y', Calgary
449
          will be used (if it exists). If you choose 'n', Calgary will not be
450
          used even if it exists. If you choose 'n' and would like to use
451
          Calgary anyway, pass 'iommu=calgary' on the kernel command line.
452
          If unsure, say Y.
453
 
454
# need this always selected by IOMMU for the VIA workaround
455
config SWIOTLB
456
        bool
457
        help
458
          Support for software bounce buffers used on x86-64 systems
459
          which don't have a hardware IOMMU (e.g. the current generation
460
          of Intel's x86-64 CPUs). Using this PCI devices which can only
461
          access 32-bits of memory can be used on systems with more than
462
          3 GB of memory. If unsure, say Y.
463
 
464
 
465
config NR_CPUS
466
        int "Maximum number of CPUs (2-255)"
467
        range 2 255
468
        depends on SMP
469
        default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000
470
        default "8"
471
        help
472
          This allows you to specify the maximum number of CPUs which this
473
          kernel will support.  The maximum supported value is 255 and the
474
          minimum value which makes sense is 2.
475
 
476
          This is purely to save memory - each supported CPU adds
477
          approximately eight kilobytes to the kernel image.
478
 
479
config SCHED_SMT
480
        bool "SMT (Hyperthreading) scheduler support"
481
        depends on (X86_64 && SMP) || (X86_32 && X86_HT)
482
        help
483
          SMT scheduler support improves the CPU scheduler's decision making
484
          when dealing with Intel Pentium 4 chips with HyperThreading at a
485
          cost of slightly increased overhead in some places. If unsure say
486
          N here.
487
 
488
config SCHED_MC
489
        bool "Multi-core scheduler support"
490
        depends on (X86_64 && SMP) || (X86_32 && X86_HT)
491
        default y
492
        help
493
          Multi-core scheduler support improves the CPU scheduler's decision
494
          making when dealing with multi-core CPU chips at a cost of slightly
495
          increased overhead in some places. If unsure say N here.
496
 
497
source "kernel/Kconfig.preempt"
498
 
499
config X86_UP_APIC
500
        bool "Local APIC support on uniprocessors"
501
        depends on X86_32 && !SMP && !(X86_VISWS || X86_VOYAGER || X86_GENERICARCH)
502
        help
503
          A local APIC (Advanced Programmable Interrupt Controller) is an
504
          integrated interrupt controller in the CPU. If you have a single-CPU
505
          system which has a processor with a local APIC, you can say Y here to
506
          enable and use it. If you say Y here even though your machine doesn't
507
          have a local APIC, then the kernel will still run with no slowdown at
508
          all. The local APIC supports CPU-generated self-interrupts (timer,
509
          performance counters), and the NMI watchdog which detects hard
510
          lockups.
511
 
512
config X86_UP_IOAPIC
513
        bool "IO-APIC support on uniprocessors"
514
        depends on X86_UP_APIC
515
        help
516
          An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
517
          SMP-capable replacement for PC-style interrupt controllers. Most
518
          SMP systems and many recent uniprocessor systems have one.
519
 
520
          If you have a single-CPU system with an IO-APIC, you can say Y here
521
          to use it. If you say Y here even though your machine doesn't have
522
          an IO-APIC, then the kernel will still run with no slowdown at all.
523
 
524
config X86_LOCAL_APIC
525
        bool
526
        depends on X86_64 || (X86_32 && (X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) || X86_GENERICARCH))
527
        default y
528
 
529
config X86_IO_APIC
530
        bool
531
        depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) || X86_GENERICARCH))
532
        default y
533
 
534
config X86_VISWS_APIC
535
        bool
536
        depends on X86_32 && X86_VISWS
537
        default y
538
 
539
config X86_MCE
540
        bool "Machine Check Exception"
541
        depends on !X86_VOYAGER
542
        ---help---
543
          Machine Check Exception support allows the processor to notify the
544
          kernel if it detects a problem (e.g. overheating, component failure).
545
          The action the kernel takes depends on the severity of the problem,
546
          ranging from a warning message on the console, to halting the machine.
547
          Your processor must be a Pentium or newer to support this - check the
548
          flags in /proc/cpuinfo for mce.  Note that some older Pentium systems
549
          have a design flaw which leads to false MCE events - hence MCE is
550
          disabled on all P5 processors, unless explicitly enabled with "mce"
551
          as a boot argument.  Similarly, if MCE is built in and creates a
552
          problem on some new non-standard machine, you can boot with "nomce"
553
          to disable it.  MCE support simply ignores non-MCE processors like
554
          the 386 and 486, so nearly everyone can say Y here.
555
 
556
config X86_MCE_INTEL
557
        bool "Intel MCE features"
558
        depends on X86_64 && X86_MCE && X86_LOCAL_APIC
559
        default y
560
        help
561
           Additional support for intel specific MCE features such as
562
           the thermal monitor.
563
 
564
config X86_MCE_AMD
565
        bool "AMD MCE features"
566
        depends on X86_64 && X86_MCE && X86_LOCAL_APIC
567
        default y
568
        help
569
           Additional support for AMD specific MCE features such as
570
           the DRAM Error Threshold.
571
 
572
config X86_MCE_NONFATAL
573
        tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4"
574
        depends on X86_32 && X86_MCE
575
        help
576
          Enabling this feature starts a timer that triggers every 5 seconds which
577
          will look at the machine check registers to see if anything happened.
578
          Non-fatal problems automatically get corrected (but still logged).
579
          Disable this if you don't want to see these messages.
580
          Seeing the messages this option prints out may be indicative of dying
581
          or out-of-spec (ie, overclocked) hardware.
582
          This option only does something on certain CPUs.
583
          (AMD Athlon/Duron and Intel Pentium 4)
584
 
585
config X86_MCE_P4THERMAL
586
        bool "check for P4 thermal throttling interrupt."
587
        depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP) && !X86_VISWS
588
        help
589
          Enabling this feature will cause a message to be printed when the P4
590
          enters thermal throttling.
591
 
592
config VM86
593
        bool "Enable VM86 support" if EMBEDDED
594
        default y
595
        depends on X86_32
596
        help
597
          This option is required by programs like DOSEMU to run 16-bit legacy
598
          code on X86 processors. It also may be needed by software like
599
          XFree86 to initialize some video cards via BIOS. Disabling this
600
          option saves about 6k.
601
 
602
config TOSHIBA
603
        tristate "Toshiba Laptop support"
604
        depends on X86_32
605
        ---help---
606
          This adds a driver to safely access the System Management Mode of
607
          the CPU on Toshiba portables with a genuine Toshiba BIOS. It does
608
          not work on models with a Phoenix BIOS. The System Management Mode
609
          is used to set the BIOS and power saving options on Toshiba portables.
610
 
611
          For information on utilities to make use of this driver see the
612
          Toshiba Linux utilities web site at:
613
          .
614
 
615
          Say Y if you intend to run this kernel on a Toshiba portable.
616
          Say N otherwise.
617
 
618
config I8K
619
        tristate "Dell laptop support"
620
        depends on X86_32
621
        ---help---
622
          This adds a driver to safely access the System Management Mode
623
          of the CPU on the Dell Inspiron 8000. The System Management Mode
624
          is used to read cpu temperature and cooling fan status and to
625
          control the fans on the I8K portables.
626
 
627
          This driver has been tested only on the Inspiron 8000 but it may
628
          also work with other Dell laptops. You can force loading on other
629
          models by passing the parameter `force=1' to the module. Use at
630
          your own risk.
631
 
632
          For information on utilities to make use of this driver see the
633
          I8K Linux utilities web site at:
634
          
635
 
636
          Say Y if you intend to run this kernel on a Dell Inspiron 8000.
637
          Say N otherwise.
638
 
639
config X86_REBOOTFIXUPS
640
        bool "Enable X86 board specific fixups for reboot"
641
        depends on X86_32 && X86
642
        default n
643
        ---help---
644
          This enables chipset and/or board specific fixups to be done
645
          in order to get reboot to work correctly. This is only needed on
646
          some combinations of hardware and BIOS. The symptom, for which
647
          this config is intended, is when reboot ends with a stalled/hung
648
          system.
649
 
650
          Currently, the only fixup is for the Geode machines using
651
          CS5530A and CS5536 chipsets.
652
 
653
          Say Y if you want to enable the fixup. Currently, it's safe to
654
          enable this option even if you don't need it.
655
          Say N otherwise.
656
 
657
config MICROCODE
658
        tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support"
659
        select FW_LOADER
660
        ---help---
661
          If you say Y here, you will be able to update the microcode on
662
          Intel processors in the IA32 family, e.g. Pentium Pro, Pentium II,
663
          Pentium III, Pentium 4, Xeon etc.  You will obviously need the
664
          actual microcode binary data itself which is not shipped with the
665
          Linux kernel.
666
 
667
          For latest news and information on obtaining all the required
668
          ingredients for this driver, check:
669
          .
670
 
671
          To compile this driver as a module, choose M here: the
672
          module will be called microcode.
673
 
674
config MICROCODE_OLD_INTERFACE
675
        bool
676
        depends on MICROCODE
677
        default y
678
 
679
config X86_MSR
680
        tristate "/dev/cpu/*/msr - Model-specific register support"
681
        help
682
          This device gives privileged processes access to the x86
683
          Model-Specific Registers (MSRs).  It is a character device with
684
          major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr.
685
          MSR accesses are directed to a specific CPU on multi-processor
686
          systems.
687
 
688
config X86_CPUID
689
        tristate "/dev/cpu/*/cpuid - CPU information support"
690
        help
691
          This device gives processes access to the x86 CPUID instruction to
692
          be executed on a specific processor.  It is a character device
693
          with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
694
          /dev/cpu/31/cpuid.
695
 
696
choice
697
        prompt "High Memory Support"
698
        default HIGHMEM4G if !X86_NUMAQ
699
        default HIGHMEM64G if X86_NUMAQ
700
        depends on X86_32
701
 
702
config NOHIGHMEM
703
        bool "off"
704
        depends on !X86_NUMAQ
705
        ---help---
706
          Linux can use up to 64 Gigabytes of physical memory on x86 systems.
707
          However, the address space of 32-bit x86 processors is only 4
708
          Gigabytes large. That means that, if you have a large amount of
709
          physical memory, not all of it can be "permanently mapped" by the
710
          kernel. The physical memory that's not permanently mapped is called
711
          "high memory".
712
 
713
          If you are compiling a kernel which will never run on a machine with
714
          more than 1 Gigabyte total physical RAM, answer "off" here (default
715
          choice and suitable for most users). This will result in a "3GB/1GB"
716
          split: 3GB are mapped so that each process sees a 3GB virtual memory
717
          space and the remaining part of the 4GB virtual memory space is used
718
          by the kernel to permanently map as much physical memory as
719
          possible.
720
 
721
          If the machine has between 1 and 4 Gigabytes physical RAM, then
722
          answer "4GB" here.
723
 
724
          If more than 4 Gigabytes is used then answer "64GB" here. This
725
          selection turns Intel PAE (Physical Address Extension) mode on.
726
          PAE implements 3-level paging on IA32 processors. PAE is fully
727
          supported by Linux, PAE mode is implemented on all recent Intel
728
          processors (Pentium Pro and better). NOTE: If you say "64GB" here,
729
          then the kernel will not boot on CPUs that don't support PAE!
730
 
731
          The actual amount of total physical memory will either be
732
          auto detected or can be forced by using a kernel command line option
733
          such as "mem=256M". (Try "man bootparam" or see the documentation of
734
          your boot loader (lilo or loadlin) about how to pass options to the
735
          kernel at boot time.)
736
 
737
          If unsure, say "off".
738
 
739
config HIGHMEM4G
740
        bool "4GB"
741
        depends on !X86_NUMAQ
742
        help
743
          Select this if you have a 32-bit processor and between 1 and 4
744
          gigabytes of physical RAM.
745
 
746
config HIGHMEM64G
747
        bool "64GB"
748
        depends on !M386 && !M486
749
        select X86_PAE
750
        help
751
          Select this if you have a 32-bit processor and more than 4
752
          gigabytes of physical RAM.
753
 
754
endchoice
755
 
756
choice
757
        depends on EXPERIMENTAL
758
        prompt "Memory split" if EMBEDDED
759
        default VMSPLIT_3G
760
        depends on X86_32
761
        help
762
          Select the desired split between kernel and user memory.
763
 
764
          If the address range available to the kernel is less than the
765
          physical memory installed, the remaining memory will be available
766
          as "high memory". Accessing high memory is a little more costly
767
          than low memory, as it needs to be mapped into the kernel first.
768
          Note that increasing the kernel address space limits the range
769
          available to user programs, making the address space there
770
          tighter.  Selecting anything other than the default 3G/1G split
771
          will also likely make your kernel incompatible with binary-only
772
          kernel modules.
773
 
774
          If you are not absolutely sure what you are doing, leave this
775
          option alone!
776
 
777
        config VMSPLIT_3G
778
                bool "3G/1G user/kernel split"
779
        config VMSPLIT_3G_OPT
780
                depends on !X86_PAE
781
                bool "3G/1G user/kernel split (for full 1G low memory)"
782
        config VMSPLIT_2G
783
                bool "2G/2G user/kernel split"
784
        config VMSPLIT_2G_OPT
785
                depends on !X86_PAE
786
                bool "2G/2G user/kernel split (for full 2G low memory)"
787
        config VMSPLIT_1G
788
                bool "1G/3G user/kernel split"
789
endchoice
790
 
791
config PAGE_OFFSET
792
        hex
793
        default 0xB0000000 if VMSPLIT_3G_OPT
794
        default 0x80000000 if VMSPLIT_2G
795
        default 0x78000000 if VMSPLIT_2G_OPT
796
        default 0x40000000 if VMSPLIT_1G
797
        default 0xC0000000
798
        depends on X86_32
799
 
800
config HIGHMEM
801
        bool
802
        depends on X86_32 && (HIGHMEM64G || HIGHMEM4G)
803
        default y
804
 
805
config X86_PAE
806
        bool "PAE (Physical Address Extension) Support"
807
        default n
808
        depends on X86_32 && !HIGHMEM4G
809
        select RESOURCES_64BIT
810
        help
811
          PAE is required for NX support, and furthermore enables
812
          larger swapspace support for non-overcommit purposes. It
813
          has the cost of more pagetable lookup overhead, and also
814
          consumes more pagetable space per process.
815
 
816
# Common NUMA Features
817
config NUMA
818
        bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
819
        depends on SMP
820
        depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL)
821
        default n if X86_PC
822
        default y if (X86_NUMAQ || X86_SUMMIT)
823
        help
824
          Enable NUMA (Non Uniform Memory Access) support.
825
          The kernel will try to allocate memory used by a CPU on the
826
          local memory controller of the CPU and add some more
827
          NUMA awareness to the kernel.
828
 
829
          For i386 this is currently highly experimental and should be only
830
          used for kernel development. It might also cause boot failures.
831
          For x86_64 this is recommended on all multiprocessor Opteron systems.
832
          If the system is EM64T, you should say N unless your system is
833
          EM64T NUMA.
834
 
835
comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
836
        depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI)
837
 
838
config K8_NUMA
839
       bool "Old style AMD Opteron NUMA detection"
840
       depends on X86_64 && NUMA && PCI
841
       default y
842
       help
843
         Enable K8 NUMA node topology detection.  You should say Y here if
844
         you have a multi processor AMD K8 system. This uses an old
845
         method to read the NUMA configuration directly from the builtin
846
         Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA
847
         instead, which also takes priority if both are compiled in.
848
 
849
config X86_64_ACPI_NUMA
850
        bool "ACPI NUMA detection"
851
        depends on X86_64 && NUMA && ACPI && PCI
852
        select ACPI_NUMA
853
        default y
854
        help
855
          Enable ACPI SRAT based node topology detection.
856
 
857
config NUMA_EMU
858
        bool "NUMA emulation"
859
        depends on X86_64 && NUMA
860
        help
861
          Enable NUMA emulation. A flat machine will be split
862
          into virtual nodes when booted with "numa=fake=N", where N is the
863
          number of nodes. This is only useful for debugging.
864
 
865
config NODES_SHIFT
866
        int
867
        default "6" if X86_64
868
        default "4" if X86_NUMAQ
869
        default "3"
870
        depends on NEED_MULTIPLE_NODES
871
 
872
config HAVE_ARCH_BOOTMEM_NODE
873
        bool
874
        depends on X86_32 && NUMA
875
        default y
876
 
877
config ARCH_HAVE_MEMORY_PRESENT
878
        bool
879
        depends on X86_32 && DISCONTIGMEM
880
        default y
881
 
882
config NEED_NODE_MEMMAP_SIZE
883
        bool
884
        depends on X86_32 && (DISCONTIGMEM || SPARSEMEM)
885
        default y
886
 
887
config HAVE_ARCH_ALLOC_REMAP
888
        bool
889
        depends on X86_32 && NUMA
890
        default y
891
 
892
config ARCH_FLATMEM_ENABLE
893
        def_bool y
894
        depends on (X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC) || (X86_64 && !NUMA)
895
 
896
config ARCH_DISCONTIGMEM_ENABLE
897
        def_bool y
898
        depends on NUMA
899
 
900
config ARCH_DISCONTIGMEM_DEFAULT
901
        def_bool y
902
        depends on NUMA
903
 
904
config ARCH_SPARSEMEM_ENABLE
905
        def_bool y
906
        depends on NUMA || (EXPERIMENTAL && (X86_PC || X86_64))
907
        select SPARSEMEM_STATIC if X86_32
908
        select SPARSEMEM_VMEMMAP_ENABLE if X86_64
909
 
910
config ARCH_SELECT_MEMORY_MODEL
911
        def_bool y
912
        depends on X86_32 && ARCH_SPARSEMEM_ENABLE
913
 
914
config ARCH_MEMORY_PROBE
915
        def_bool X86_64
916
        depends on MEMORY_HOTPLUG
917
 
918
source "mm/Kconfig"
919
 
920
config HIGHPTE
921
        bool "Allocate 3rd-level pagetables from highmem"
922
        depends on X86_32 && (HIGHMEM4G || HIGHMEM64G)
923
        help
924
          The VM uses one page table entry for each page of physical memory.
925
          For systems with a lot of RAM, this can be wasteful of precious
926
          low memory.  Setting this option will put user-space page table
927
          entries in high memory.
928
 
929
config MATH_EMULATION
930
        bool
931
        prompt "Math emulation" if X86_32
932
        ---help---
933
          Linux can emulate a math coprocessor (used for floating point
934
          operations) if you don't have one. 486DX and Pentium processors have
935
          a math coprocessor built in, 486SX and 386 do not, unless you added
936
          a 487DX or 387, respectively. (The messages during boot time can
937
          give you some hints here ["man dmesg"].) Everyone needs either a
938
          coprocessor or this emulation.
939
 
940
          If you don't have a math coprocessor, you need to say Y here; if you
941
          say Y here even though you have a coprocessor, the coprocessor will
942
          be used nevertheless. (This behavior can be changed with the kernel
943
          command line option "no387", which comes handy if your coprocessor
944
          is broken. Try "man bootparam" or see the documentation of your boot
945
          loader (lilo or loadlin) about how to pass options to the kernel at
946
          boot time.) This means that it is a good idea to say Y here if you
947
          intend to use this kernel on different machines.
948
 
949
          More information about the internals of the Linux math coprocessor
950
          emulation can be found in .
951
 
952
          If you are not sure, say Y; apart from resulting in a 66 KB bigger
953
          kernel, it won't hurt.
954
 
955
config MTRR
956
        bool "MTRR (Memory Type Range Register) support"
957
        ---help---
958
          On Intel P6 family processors (Pentium Pro, Pentium II and later)
959
          the Memory Type Range Registers (MTRRs) may be used to control
960
          processor access to memory ranges. This is most useful if you have
961
          a video (VGA) card on a PCI or AGP bus. Enabling write-combining
962
          allows bus write transfers to be combined into a larger transfer
963
          before bursting over the PCI/AGP bus. This can increase performance
964
          of image write operations 2.5 times or more. Saying Y here creates a
965
          /proc/mtrr file which may be used to manipulate your processor's
966
          MTRRs. Typically the X server should use this.
967
 
968
          This code has a reasonably generic interface so that similar
969
          control registers on other processors can be easily supported
970
          as well:
971
 
972
          The Cyrix 6x86, 6x86MX and M II processors have Address Range
973
          Registers (ARRs) which provide a similar functionality to MTRRs. For
974
          these, the ARRs are used to emulate the MTRRs.
975
          The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
976
          MTRRs. The Centaur C6 (WinChip) has 8 MCRs, allowing
977
          write-combining. All of these processors are supported by this code
978
          and it makes sense to say Y here if you have one of them.
979
 
980
          Saying Y here also fixes a problem with buggy SMP BIOSes which only
981
          set the MTRRs for the boot CPU and not for the secondary CPUs. This
982
          can lead to all sorts of problems, so it's good to say Y here.
983
 
984
          You can safely say Y even if your machine doesn't have MTRRs, you'll
985
          just add about 9 KB to your kernel.
986
 
987
          See  for more information.
988
 
989
config EFI
990
        bool "Boot from EFI support"
991
        depends on X86_32 && ACPI
992
        default n
993
        ---help---
994
        This enables the kernel to boot on EFI platforms using
995
        system configuration information passed to it from the firmware.
996
        This also enables the kernel to use any EFI runtime services that are
997
        available (such as the EFI variable services).
998
 
999
        This option is only useful on systems that have EFI firmware
1000
        and will result in a kernel image that is ~8k larger.  In addition,
1001
        you must use the latest ELILO loader available at
1002
         in order to take advantage of
1003
        kernel initialization using EFI information (neither GRUB nor LILO know
1004
        anything about EFI).  However, even with this option, the resultant
1005
        kernel should continue to boot on existing non-EFI platforms.
1006
 
1007
config IRQBALANCE
1008
        bool "Enable kernel irq balancing"
1009
        depends on X86_32 && SMP && X86_IO_APIC
1010
        default y
1011
        help
1012
          The default yes will allow the kernel to do irq load balancing.
1013
          Saying no will keep the kernel from doing irq load balancing.
1014
 
1015
# turning this on wastes a bunch of space.
1016
# Summit needs it only when NUMA is on
1017
config BOOT_IOREMAP
1018
        bool
1019
        depends on X86_32 && (((X86_SUMMIT || X86_GENERICARCH) && NUMA) || (X86 && EFI))
1020
        default y
1021
 
1022
config SECCOMP
1023
        bool "Enable seccomp to safely compute untrusted bytecode"
1024
        depends on PROC_FS
1025
        default y
1026
        help
1027
          This kernel feature is useful for number crunching applications
1028
          that may need to compute untrusted bytecode during their
1029
          execution. By using pipes or other transports made available to
1030
          the process as file descriptors supporting the read/write
1031
          syscalls, it's possible to isolate those applications in
1032
          their own address space using seccomp. Once seccomp is
1033
          enabled via /proc//seccomp, it cannot be disabled
1034
          and the task is only allowed to execute a few safe syscalls
1035
          defined by each seccomp mode.
1036
 
1037
          If unsure, say Y. Only embedded should say N here.
1038
 
1039
config CC_STACKPROTECTOR
1040
        bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
1041
        depends on X86_64 && EXPERIMENTAL
1042
        help
1043
         This option turns on the -fstack-protector GCC feature. This
1044
          feature puts, at the beginning of critical functions, a canary
1045
          value on the stack just before the return address, and validates
1046
          the value just before actually returning.  Stack based buffer
1047
          overflows (that need to overwrite this return address) now also
1048
          overwrite the canary, which gets detected and the attack is then
1049
          neutralized via a kernel panic.
1050
 
1051
          This feature requires gcc version 4.2 or above, or a distribution
1052
          gcc with the feature backported. Older versions are automatically
1053
          detected and for those versions, this configuration option is ignored.
1054
 
1055
config CC_STACKPROTECTOR_ALL
1056
        bool "Use stack-protector for all functions"
1057
        depends on CC_STACKPROTECTOR
1058
        help
1059
          Normally, GCC only inserts the canary value protection for
1060
          functions that use large-ish on-stack buffers. By enabling
1061
          this option, GCC will be asked to do this for ALL functions.
1062
 
1063
source kernel/Kconfig.hz
1064
 
1065
config KEXEC
1066
        bool "kexec system call"
1067
        help
1068
          kexec is a system call that implements the ability to shutdown your
1069
          current kernel, and to start another kernel.  It is like a reboot
1070
          but it is independent of the system firmware.   And like a reboot
1071
          you can start any kernel with it, not just Linux.
1072
 
1073
          The name comes from the similarity to the exec system call.
1074
 
1075
          It is an ongoing process to be certain the hardware in a machine
1076
          is properly shutdown, so do not be surprised if this code does not
1077
          initially work for you.  It may help to enable device hotplugging
1078
          support.  As of this writing the exact hardware interface is
1079
          strongly in flux, so no good recommendation can be made.
1080
 
1081
config CRASH_DUMP
1082
        bool "kernel crash dumps (EXPERIMENTAL)"
1083
        depends on EXPERIMENTAL
1084
        depends on X86_64 || (X86_32 && HIGHMEM)
1085
        help
1086
          Generate crash dump after being started by kexec.
1087
          This should be normally only set in special crash dump kernels
1088
          which are loaded in the main kernel with kexec-tools into
1089
          a specially reserved region and then later executed after
1090
          a crash by kdump/kexec. The crash dump kernel must be compiled
1091
          to a memory address not used by the main kernel or BIOS using
1092
          PHYSICAL_START, or it must be built as a relocatable image
1093
          (CONFIG_RELOCATABLE=y).
1094
          For more details see Documentation/kdump/kdump.txt
1095
 
1096
config PHYSICAL_START
1097
        hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
1098
        default "0x1000000" if X86_NUMAQ
1099
        default "0x200000" if X86_64
1100
        default "0x100000"
1101
        help
1102
          This gives the physical address where the kernel is loaded.
1103
 
1104
          If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then
1105
          bzImage will decompress itself to above physical address and
1106
          run from there. Otherwise, bzImage will run from the address where
1107
          it has been loaded by the boot loader and will ignore above physical
1108
          address.
1109
 
1110
          In normal kdump cases one does not have to set/change this option
1111
          as now bzImage can be compiled as a completely relocatable image
1112
          (CONFIG_RELOCATABLE=y) and be used to load and run from a different
1113
          address. This option is mainly useful for the folks who don't want
1114
          to use a bzImage for capturing the crash dump and want to use a
1115
          vmlinux instead. vmlinux is not relocatable hence a kernel needs
1116
          to be specifically compiled to run from a specific memory area
1117
          (normally a reserved region) and this option comes handy.
1118
 
1119
          So if you are using bzImage for capturing the crash dump, leave
1120
          the value here unchanged to 0x100000 and set CONFIG_RELOCATABLE=y.
1121
          Otherwise if you plan to use vmlinux for capturing the crash dump
1122
          change this value to start of the reserved region (Typically 16MB
1123
          0x1000000). In other words, it can be set based on the "X" value as
1124
          specified in the "crashkernel=YM@XM" command line boot parameter
1125
          passed to the panic-ed kernel. Typically this parameter is set as
1126
          crashkernel=64M@16M. Please take a look at
1127
          Documentation/kdump/kdump.txt for more details about crash dumps.
1128
 
1129
          Usage of bzImage for capturing the crash dump is recommended as
1130
          one does not have to build two kernels. Same kernel can be used
1131
          as production kernel and capture kernel. Above option should have
1132
          gone away after relocatable bzImage support is introduced. But it
1133
          is present because there are users out there who continue to use
1134
          vmlinux for dump capture. This option should go away down the
1135
          line.
1136
 
1137
          Don't change this unless you know what you are doing.
1138
 
1139
config RELOCATABLE
1140
        bool "Build a relocatable kernel (EXPERIMENTAL)"
1141
        depends on EXPERIMENTAL
1142
        help
1143
          This builds a kernel image that retains relocation information
1144
          so it can be loaded someplace besides the default 1MB.
1145
          The relocations tend to make the kernel binary about 10% larger,
1146
          but are discarded at runtime.
1147
 
1148
          One use is for the kexec on panic case where the recovery kernel
1149
          must live at a different physical address than the primary
1150
          kernel.
1151
 
1152
          Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
1153
          it has been loaded at and the compile time physical address
1154
          (CONFIG_PHYSICAL_START) is ignored.
1155
 
1156
config PHYSICAL_ALIGN
1157
        hex
1158
        prompt "Alignment value to which kernel should be aligned" if X86_32
1159
        default "0x100000" if X86_32
1160
        default "0x200000" if X86_64
1161
        range 0x2000 0x400000
1162
        help
1163
          This value puts the alignment restrictions on physical address
1164
          where kernel is loaded and run from. Kernel is compiled for an
1165
          address which meets above alignment restriction.
1166
 
1167
          If bootloader loads the kernel at a non-aligned address and
1168
          CONFIG_RELOCATABLE is set, kernel will move itself to nearest
1169
          address aligned to above value and run from there.
1170
 
1171
          If bootloader loads the kernel at a non-aligned address and
1172
          CONFIG_RELOCATABLE is not set, kernel will ignore the run time
1173
          load address and decompress itself to the address it has been
1174
          compiled for and run from there. The address for which kernel is
1175
          compiled already meets above alignment restrictions. Hence the
1176
          end result is that kernel runs from a physical address meeting
1177
          above alignment restrictions.
1178
 
1179
          Don't change this unless you know what you are doing.
1180
 
1181
config HOTPLUG_CPU
1182
        bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)"
1183
        depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER
1184
        ---help---
1185
          Say Y here to experiment with turning CPUs off and on, and to
1186
          enable suspend on SMP systems. CPUs can be controlled through
1187
          /sys/devices/system/cpu.
1188
          Say N if you want to disable CPU hotplug and don't need to
1189
          suspend.
1190
 
1191
config COMPAT_VDSO
1192
        bool "Compat VDSO support"
1193
        default y
1194
        depends on X86_32
1195
        help
1196
          Map the VDSO to the predictable old-style address too.
1197
        ---help---
1198
          Say N here if you are running a sufficiently recent glibc
1199
          version (2.3.3 or later), to remove the high-mapped
1200
          VDSO mapping and to exclusively use the randomized VDSO.
1201
 
1202
          If unsure, say Y.
1203
 
1204
endmenu
1205
 
1206
config ARCH_ENABLE_MEMORY_HOTPLUG
1207
        def_bool y
1208
        depends on X86_64 || (X86_32 && HIGHMEM)
1209
 
1210
config MEMORY_HOTPLUG_RESERVE
1211
        def_bool X86_64
1212
        depends on (MEMORY_HOTPLUG && DISCONTIGMEM)
1213
 
1214
config HAVE_ARCH_EARLY_PFN_TO_NID
1215
        def_bool X86_64
1216
        depends on NUMA
1217
 
1218
config OUT_OF_LINE_PFN_TO_PAGE
1219
        def_bool X86_64
1220
        depends on DISCONTIGMEM
1221
 
1222
menu "Power management options"
1223
        depends on !X86_VOYAGER
1224
 
1225
config ARCH_HIBERNATION_HEADER
1226
        bool
1227
        depends on X86_64 && HIBERNATION
1228
        default y
1229
 
1230
source "kernel/power/Kconfig"
1231
 
1232
source "drivers/acpi/Kconfig"
1233
 
1234
menuconfig APM
1235
        tristate "APM (Advanced Power Management) BIOS support"
1236
        depends on X86_32 && PM_SLEEP && !X86_VISWS
1237
        ---help---
1238
          APM is a BIOS specification for saving power using several different
1239
          techniques. This is mostly useful for battery powered laptops with
1240
          APM compliant BIOSes. If you say Y here, the system time will be
1241
          reset after a RESUME operation, the /proc/apm device will provide
1242
          battery status information, and user-space programs will receive
1243
          notification of APM "events" (e.g. battery status change).
1244
 
1245
          If you select "Y" here, you can disable actual use of the APM
1246
          BIOS by passing the "apm=off" option to the kernel at boot time.
1247
 
1248
          Note that the APM support is almost completely disabled for
1249
          machines with more than one CPU.
1250
 
1251
          In order to use APM, you will need supporting software. For location
1252
          and more information, read  and the
1253
          Battery Powered Linux mini-HOWTO, available from
1254
          .
1255
 
1256
          This driver does not spin down disk drives (see the hdparm(8)
1257
          manpage ("man 8 hdparm") for that), and it doesn't turn off
1258
          VESA-compliant "green" monitors.
1259
 
1260
          This driver does not support the TI 4000M TravelMate and the ACER
1261
          486/DX4/75 because they don't have compliant BIOSes. Many "green"
1262
          desktop machines also don't have compliant BIOSes, and this driver
1263
          may cause those machines to panic during the boot phase.
1264
 
1265
          Generally, if you don't have a battery in your machine, there isn't
1266
          much point in using this driver and you should say N. If you get
1267
          random kernel OOPSes or reboots that don't seem to be related to
1268
          anything, try disabling/enabling this option (or disabling/enabling
1269
          APM in your BIOS).
1270
 
1271
          Some other things you should try when experiencing seemingly random,
1272
          "weird" problems:
1273
 
1274
          1) make sure that you have enough swap space and that it is
1275
          enabled.
1276
          2) pass the "no-hlt" option to the kernel
1277
          3) switch on floating point emulation in the kernel and pass
1278
          the "no387" option to the kernel
1279
          4) pass the "floppy=nodma" option to the kernel
1280
          5) pass the "mem=4M" option to the kernel (thereby disabling
1281
          all but the first 4 MB of RAM)
1282
          6) make sure that the CPU is not over clocked.
1283
          7) read the sig11 FAQ at 
1284
          8) disable the cache from your BIOS settings
1285
          9) install a fan for the video card or exchange video RAM
1286
          10) install a better fan for the CPU
1287
          11) exchange RAM chips
1288
          12) exchange the motherboard.
1289
 
1290
          To compile this driver as a module, choose M here: the
1291
          module will be called apm.
1292
 
1293
if APM
1294
 
1295
config APM_IGNORE_USER_SUSPEND
1296
        bool "Ignore USER SUSPEND"
1297
        help
1298
          This option will ignore USER SUSPEND requests. On machines with a
1299
          compliant APM BIOS, you want to say N. However, on the NEC Versa M
1300
          series notebooks, it is necessary to say Y because of a BIOS bug.
1301
 
1302
config APM_DO_ENABLE
1303
        bool "Enable PM at boot time"
1304
        ---help---
1305
          Enable APM features at boot time. From page 36 of the APM BIOS
1306
          specification: "When disabled, the APM BIOS does not automatically
1307
          power manage devices, enter the Standby State, enter the Suspend
1308
          State, or take power saving steps in response to CPU Idle calls."
1309
          This driver will make CPU Idle calls when Linux is idle (unless this
1310
          feature is turned off -- see "Do CPU IDLE calls", below). This
1311
          should always save battery power, but more complicated APM features
1312
          will be dependent on your BIOS implementation. You may need to turn
1313
          this option off if your computer hangs at boot time when using APM
1314
          support, or if it beeps continuously instead of suspending. Turn
1315
          this off if you have a NEC UltraLite Versa 33/C or a Toshiba
1316
          T400CDT. This is off by default since most machines do fine without
1317
          this feature.
1318
 
1319
config APM_CPU_IDLE
1320
        bool "Make CPU Idle calls when idle"
1321
        help
1322
          Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop.
1323
          On some machines, this can activate improved power savings, such as
1324
          a slowed CPU clock rate, when the machine is idle. These idle calls
1325
          are made after the idle loop has run for some length of time (e.g.,
1326
          333 mS). On some machines, this will cause a hang at boot time or
1327
          whenever the CPU becomes idle. (On machines with more than one CPU,
1328
          this option does nothing.)
1329
 
1330
config APM_DISPLAY_BLANK
1331
        bool "Enable console blanking using APM"
1332
        help
1333
          Enable console blanking using the APM. Some laptops can use this to
1334
          turn off the LCD backlight when the screen blanker of the Linux
1335
          virtual console blanks the screen. Note that this is only used by
1336
          the virtual console screen blanker, and won't turn off the backlight
1337
          when using the X Window system. This also doesn't have anything to
1338
          do with your VESA-compliant power-saving monitor. Further, this
1339
          option doesn't work for all laptops -- it might not turn off your
1340
          backlight at all, or it might print a lot of errors to the console,
1341
          especially if you are using gpm.
1342
 
1343
config APM_ALLOW_INTS
1344
        bool "Allow interrupts during APM BIOS calls"
1345
        help
1346
          Normally we disable external interrupts while we are making calls to
1347
          the APM BIOS as a measure to lessen the effects of a badly behaving
1348
          BIOS implementation.  The BIOS should reenable interrupts if it
1349
          needs to.  Unfortunately, some BIOSes do not -- especially those in
1350
          many of the newer IBM Thinkpads.  If you experience hangs when you
1351
          suspend, try setting this to Y.  Otherwise, say N.
1352
 
1353
config APM_REAL_MODE_POWER_OFF
1354
        bool "Use real mode APM BIOS call to power off"
1355
        help
1356
          Use real mode APM BIOS calls to switch off the computer. This is
1357
          a work-around for a number of buggy BIOSes. Switch this option on if
1358
          your computer crashes instead of powering off properly.
1359
 
1360
endif # APM
1361
 
1362
source "arch/x86/kernel/cpu/cpufreq/Kconfig"
1363
 
1364
source "drivers/cpuidle/Kconfig"
1365
 
1366
endmenu
1367
 
1368
 
1369
menu "Bus options (PCI etc.)"
1370
 
1371
config PCI
1372
        bool "PCI support" if !X86_VISWS
1373
        depends on !X86_VOYAGER
1374
        default y if X86_VISWS
1375
        select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC)
1376
        help
1377
          Find out whether you have a PCI motherboard. PCI is the name of a
1378
          bus system, i.e. the way the CPU talks to the other stuff inside
1379
          your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1380
          VESA. If you have PCI, say Y, otherwise N.
1381
 
1382
          The PCI-HOWTO, available from
1383
          , contains valuable
1384
          information about which PCI hardware does work under Linux and which
1385
          doesn't.
1386
 
1387
choice
1388
        prompt "PCI access mode"
1389
        depends on X86_32 && PCI && !X86_VISWS
1390
        default PCI_GOANY
1391
        ---help---
1392
          On PCI systems, the BIOS can be used to detect the PCI devices and
1393
          determine their configuration. However, some old PCI motherboards
1394
          have BIOS bugs and may crash if this is done. Also, some embedded
1395
          PCI-based systems don't have any BIOS at all. Linux can also try to
1396
          detect the PCI hardware directly without using the BIOS.
1397
 
1398
          With this option, you can specify how Linux should detect the
1399
          PCI devices. If you choose "BIOS", the BIOS will be used,
1400
          if you choose "Direct", the BIOS won't be used, and if you
1401
          choose "MMConfig", then PCI Express MMCONFIG will be used.
1402
          If you choose "Any", the kernel will try MMCONFIG, then the
1403
          direct access method and falls back to the BIOS if that doesn't
1404
          work. If unsure, go with the default, which is "Any".
1405
 
1406
config PCI_GOBIOS
1407
        bool "BIOS"
1408
 
1409
config PCI_GOMMCONFIG
1410
        bool "MMConfig"
1411
 
1412
config PCI_GODIRECT
1413
        bool "Direct"
1414
 
1415
config PCI_GOANY
1416
        bool "Any"
1417
 
1418
endchoice
1419
 
1420
config PCI_BIOS
1421
        bool
1422
        depends on X86_32 && !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY)
1423
        default y
1424
 
1425
# x86-64 doesn't support PCI BIOS access from long mode so always go direct.
1426
config PCI_DIRECT
1427
        bool
1428
        depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY) || X86_VISWS)
1429
        default y
1430
 
1431
config PCI_MMCONFIG
1432
        bool
1433
        depends on X86_32 && PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
1434
        default y
1435
 
1436
config PCI_DOMAINS
1437
        bool
1438
        depends on PCI
1439
        default y
1440
 
1441
config PCI_MMCONFIG
1442
        bool "Support mmconfig PCI config space access"
1443
        depends on X86_64 && PCI && ACPI
1444
 
1445
config DMAR
1446
        bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
1447
        depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL
1448
        help
1449
          DMA remapping (DMAR) devices support enables independent address
1450
          translations for Direct Memory Access (DMA) from devices.
1451
          These DMA remapping devices are reported via ACPI tables
1452
          and include PCI device scope covered by these DMA
1453
          remapping devices.
1454
 
1455
config DMAR_GFX_WA
1456
        bool "Support for Graphics workaround"
1457
        depends on DMAR
1458
        default y
1459
        help
1460
         Current Graphics drivers tend to use physical address
1461
         for DMA and avoid using DMA APIs. Setting this config
1462
         option permits the IOMMU driver to set a unity map for
1463
         all the OS-visible memory. Hence the driver can continue
1464
         to use physical addresses for DMA.
1465
 
1466
config DMAR_FLOPPY_WA
1467
        bool
1468
        depends on DMAR
1469
        default y
1470
        help
1471
         Floppy disk drivers are know to bypass DMA API calls
1472
         thereby failing to work when IOMMU is enabled. This
1473
         workaround will setup a 1:1 mapping for the first
1474
         16M to make floppy (an ISA device) work.
1475
 
1476
source "drivers/pci/pcie/Kconfig"
1477
 
1478
source "drivers/pci/Kconfig"
1479
 
1480
# x86_64 have no ISA slots, but do have ISA-style DMA.
1481
config ISA_DMA_API
1482
        bool
1483
        default y
1484
 
1485
if X86_32
1486
 
1487
config ISA
1488
        bool "ISA support"
1489
        depends on !(X86_VOYAGER || X86_VISWS)
1490
        help
1491
          Find out whether you have ISA slots on your motherboard.  ISA is the
1492
          name of a bus system, i.e. the way the CPU talks to the other stuff
1493
          inside your box.  Other bus systems are PCI, EISA, MicroChannel
1494
          (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
1495
          newer boards don't support it.  If you have ISA, say Y, otherwise N.
1496
 
1497
config EISA
1498
        bool "EISA support"
1499
        depends on ISA
1500
        ---help---
1501
          The Extended Industry Standard Architecture (EISA) bus was
1502
          developed as an open alternative to the IBM MicroChannel bus.
1503
 
1504
          The EISA bus provided some of the features of the IBM MicroChannel
1505
          bus while maintaining backward compatibility with cards made for
1506
          the older ISA bus.  The EISA bus saw limited use between 1988 and
1507
          1995 when it was made obsolete by the PCI bus.
1508
 
1509
          Say Y here if you are building a kernel for an EISA-based machine.
1510
 
1511
          Otherwise, say N.
1512
 
1513
source "drivers/eisa/Kconfig"
1514
 
1515
config MCA
1516
        bool "MCA support" if !(X86_VISWS || X86_VOYAGER)
1517
        default y if X86_VOYAGER
1518
        help
1519
          MicroChannel Architecture is found in some IBM PS/2 machines and
1520
          laptops.  It is a bus system similar to PCI or ISA. See
1521
           (and especially the web page given
1522
          there) before attempting to build an MCA bus kernel.
1523
 
1524
source "drivers/mca/Kconfig"
1525
 
1526
config SCx200
1527
        tristate "NatSemi SCx200 support"
1528
        depends on !X86_VOYAGER
1529
        help
1530
          This provides basic support for National Semiconductor's
1531
          (now AMD's) Geode processors.  The driver probes for the
1532
          PCI-IDs of several on-chip devices, so its a good dependency
1533
          for other scx200_* drivers.
1534
 
1535
          If compiled as a module, the driver is named scx200.
1536
 
1537
config SCx200HR_TIMER
1538
        tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
1539
        depends on SCx200 && GENERIC_TIME
1540
        default y
1541
        help
1542
          This driver provides a clocksource built upon the on-chip
1543
          27MHz high-resolution timer.  Its also a workaround for
1544
          NSC Geode SC-1100's buggy TSC, which loses time when the
1545
          processor goes idle (as is done by the scheduler).  The
1546
          other workaround is idle=poll boot option.
1547
 
1548
config GEODE_MFGPT_TIMER
1549
        bool "Geode Multi-Function General Purpose Timer (MFGPT) events"
1550
        depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS
1551
        default y
1552
        help
1553
          This driver provides a clock event source based on the MFGPT
1554
          timer(s) in the CS5535 and CS5536 companion chip for the geode.
1555
          MFGPTs have a better resolution and max interval than the
1556
          generic PIT, and are suitable for use as high-res timers.
1557
 
1558
endif # X86_32
1559
 
1560
config K8_NB
1561
        def_bool y
1562
        depends on AGP_AMD64 || (X86_64 && (GART_IOMMU || (PCI && NUMA)))
1563
 
1564
source "drivers/pcmcia/Kconfig"
1565
 
1566
source "drivers/pci/hotplug/Kconfig"
1567
 
1568
endmenu
1569
 
1570
 
1571
menu "Executable file formats / Emulations"
1572
 
1573
source "fs/Kconfig.binfmt"
1574
 
1575
config IA32_EMULATION
1576
        bool "IA32 Emulation"
1577
        depends on X86_64
1578
        help
1579
          Include code to run 32-bit programs under a 64-bit kernel. You should
1580
          likely turn this on, unless you're 100% sure that you don't have any
1581
          32-bit programs left.
1582
 
1583
config IA32_AOUT
1584
       tristate "IA32 a.out support"
1585
       depends on IA32_EMULATION
1586
       help
1587
         Support old a.out binaries in the 32bit emulation.
1588
 
1589
config COMPAT
1590
        bool
1591
        depends on IA32_EMULATION
1592
        default y
1593
 
1594
config COMPAT_FOR_U64_ALIGNMENT
1595
        def_bool COMPAT
1596
        depends on X86_64
1597
 
1598
config SYSVIPC_COMPAT
1599
        bool
1600
        depends on X86_64 && COMPAT && SYSVIPC
1601
        default y
1602
 
1603
endmenu
1604
 
1605
 
1606
source "net/Kconfig"
1607
 
1608
source "drivers/Kconfig"
1609
 
1610
source "drivers/firmware/Kconfig"
1611
 
1612
source "fs/Kconfig"
1613
 
1614
source "kernel/Kconfig.instrumentation"
1615
 
1616
source "arch/x86/Kconfig.debug"
1617
 
1618
source "security/Kconfig"
1619
 
1620
source "crypto/Kconfig"
1621
 
1622
source "lib/Kconfig"

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.