123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616 |
- config PGTABLE_LEVELS
- int "Page Table Levels" if !IA64_PAGE_SIZE_64KB
- range 3 4 if !IA64_PAGE_SIZE_64KB
- default 3
- source "init/Kconfig"
- source "kernel/Kconfig.freezer"
- menu "Processor type and features"
- config IA64
- bool
- select ARCH_MIGHT_HAVE_PC_PARPORT
- select ARCH_MIGHT_HAVE_PC_SERIO
- select PCI if (!IA64_HP_SIM)
- select ACPI if (!IA64_HP_SIM)
- select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
- select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
- select HAVE_UNSTABLE_SCHED_CLOCK
- select HAVE_IDE
- select HAVE_OPROFILE
- select HAVE_KPROBES
- select HAVE_KRETPROBES
- select HAVE_FTRACE_MCOUNT_RECORD
- select HAVE_DYNAMIC_FTRACE if (!ITANIUM)
- select HAVE_FUNCTION_TRACER
- select HAVE_DMA_ATTRS
- select TTY
- select HAVE_ARCH_TRACEHOOK
- select HAVE_DMA_API_DEBUG
- select HAVE_MEMBLOCK
- select HAVE_MEMBLOCK_NODE_MAP
- select HAVE_VIRT_CPU_ACCOUNTING
- select ARCH_HAS_SG_CHAIN
- select VIRT_TO_BUS
- select ARCH_DISCARD_MEMBLOCK
- select GENERIC_IRQ_PROBE
- select GENERIC_PENDING_IRQ if SMP
- select GENERIC_IRQ_SHOW
- select GENERIC_IRQ_LEGACY
- select ARCH_WANT_OPTIONAL_GPIOLIB
- select ARCH_HAVE_NMI_SAFE_CMPXCHG
- select GENERIC_IOMAP
- select GENERIC_SMP_IDLE_THREAD
- select ARCH_INIT_TASK
- select ARCH_TASK_STRUCT_ALLOCATOR
- select ARCH_THREAD_INFO_ALLOCATOR
- select ARCH_CLOCKSOURCE_DATA
- select GENERIC_TIME_VSYSCALL_OLD
- select SYSCTL_ARCH_UNALIGN_NO_WARN
- select HAVE_MOD_ARCH_SPECIFIC
- select MODULES_USE_ELF_RELA
- select ARCH_USE_CMPXCHG_LOCKREF
- select HAVE_ARCH_AUDITSYSCALL
- default y
- help
- The Itanium Processor Family is Intel's 64-bit successor to
- the 32-bit X86 line. The IA-64 Linux project has a home
- page at <http://www.linuxia64.org/> and a mailing list at
- <linux-ia64@vger.kernel.org>.
- config 64BIT
- bool
- select ATA_NONSTANDARD if ATA
- default y
- config ZONE_DMA
- def_bool y
- depends on !IA64_SGI_SN2
- config QUICKLIST
- bool
- default y
- config MMU
- bool
- default y
- config ARCH_DMA_ADDR_T_64BIT
- def_bool y
- config NEED_DMA_MAP_STATE
- def_bool y
- config NEED_SG_DMA_LENGTH
- def_bool y
- config SWIOTLB
- bool
- config STACKTRACE_SUPPORT
- def_bool y
- config GENERIC_LOCKBREAK
- def_bool n
- config RWSEM_XCHGADD_ALGORITHM
- bool
- default y
- config HUGETLB_PAGE_SIZE_VARIABLE
- bool
- depends on HUGETLB_PAGE
- default y
- config GENERIC_CALIBRATE_DELAY
- bool
- default y
- config HAVE_SETUP_PER_CPU_AREA
- def_bool y
- config DMI
- bool
- default y
- select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
- config EFI
- bool
- select UCS2_STRING
- default y
- config SCHED_OMIT_FRAME_POINTER
- bool
- default y
- config IA64_UNCACHED_ALLOCATOR
- bool
- select GENERIC_ALLOCATOR
- config ARCH_USES_PG_UNCACHED
- def_bool y
- depends on IA64_UNCACHED_ALLOCATOR
- config AUDIT_ARCH
- bool
- default y
- choice
- prompt "System type"
- default IA64_GENERIC
- config IA64_GENERIC
- bool "generic"
- select NUMA
- select ACPI_NUMA
- select SWIOTLB
- select PCI_MSI
- help
- This selects the system type of your hardware. A "generic" kernel
- will run on any supported IA-64 system. However, if you configure
- a kernel for your specific system, it will be faster and smaller.
- generic For any supported IA-64 system
- DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
- DIG+Intel+IOMMU For DIG systems with Intel IOMMU
- HP-zx1/sx1000 For HP systems
- HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
- SGI-SN2 For SGI Altix systems
- SGI-UV For SGI UV systems
- Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
- If you don't know what to do, choose "generic".
- config IA64_DIG
- bool "DIG-compliant"
- select SWIOTLB
- config IA64_DIG_VTD
- bool "DIG+Intel+IOMMU"
- select INTEL_IOMMU
- select PCI_MSI
- config IA64_HP_ZX1
- bool "HP-zx1/sx1000"
- help
- Build a kernel that runs on HP zx1 and sx1000 systems. This adds
- support for the HP I/O MMU.
- config IA64_HP_ZX1_SWIOTLB
- bool "HP-zx1/sx1000 with software I/O TLB"
- select SWIOTLB
- help
- Build a kernel that runs on HP zx1 and sx1000 systems even when they
- have broken PCI devices which cannot DMA to full 32 bits. Apart
- from support for the HP I/O MMU, this includes support for the software
- I/O TLB, which allows supporting the broken devices at the expense of
- wasting some kernel memory (about 2MB by default).
- config IA64_SGI_SN2
- bool "SGI-SN2"
- select NUMA
- select ACPI_NUMA
- help
- Selecting this option will optimize the kernel for use on sn2 based
- systems, but the resulting kernel binary will not run on other
- types of ia64 systems. If you have an SGI Altix system, it's safe
- to select this option. If in doubt, select ia64 generic support
- instead.
- config IA64_SGI_UV
- bool "SGI-UV"
- select NUMA
- select ACPI_NUMA
- select SWIOTLB
- help
- Selecting this option will optimize the kernel for use on UV based
- systems, but the resulting kernel binary will not run on other
- types of ia64 systems. If you have an SGI UV system, it's safe
- to select this option. If in doubt, select ia64 generic support
- instead.
- config IA64_HP_SIM
- bool "Ski-simulator"
- select SWIOTLB
- depends on !PM
- endchoice
- choice
- prompt "Processor type"
- default ITANIUM
- config ITANIUM
- bool "Itanium"
- help
- Select your IA-64 processor type. The default is Itanium.
- This choice is safe for all IA-64 systems, but may not perform
- optimally on systems with, say, Itanium 2 or newer processors.
- config MCKINLEY
- bool "Itanium 2"
- help
- Select this to configure for an Itanium 2 (McKinley) processor.
- endchoice
- choice
- prompt "Kernel page size"
- default IA64_PAGE_SIZE_16KB
- config IA64_PAGE_SIZE_4KB
- bool "4KB"
- help
- This lets you select the page size of the kernel. For best IA-64
- performance, a page size of 8KB or 16KB is recommended. For best
- IA-32 compatibility, a page size of 4KB should be selected (the vast
- majority of IA-32 binaries work perfectly fine with a larger page
- size). For Itanium 2 or newer systems, a page size of 64KB can also
- be selected.
- 4KB For best IA-32 compatibility
- 8KB For best IA-64 performance
- 16KB For best IA-64 performance
- 64KB Requires Itanium 2 or newer processor.
- If you don't know what to do, choose 16KB.
- config IA64_PAGE_SIZE_8KB
- bool "8KB"
- config IA64_PAGE_SIZE_16KB
- bool "16KB"
- config IA64_PAGE_SIZE_64KB
- depends on !ITANIUM
- bool "64KB"
- endchoice
- if IA64_HP_SIM
- config HZ
- default 32
- endif
- if !IA64_HP_SIM
- source kernel/Kconfig.hz
- endif
- config IA64_BRL_EMU
- bool
- depends on ITANIUM
- default y
- # align cache-sensitive data to 128 bytes
- config IA64_L1_CACHE_SHIFT
- int
- default "7" if MCKINLEY
- default "6" if ITANIUM
- config IA64_CYCLONE
- bool "Cyclone (EXA) Time Source support"
- help
- Say Y here to enable support for IBM EXA Cyclone time source.
- If you're unsure, answer N.
- config IOSAPIC
- bool
- depends on !IA64_HP_SIM
- default y
- config FORCE_MAX_ZONEORDER
- int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
- range 11 17 if !HUGETLB_PAGE
- default "17" if HUGETLB_PAGE
- default "11"
- config SMP
- bool "Symmetric multi-processing support"
- help
- This enables support for systems with more than one CPU. If you have
- a system with only one CPU, say N. If you have a system with more
- than one CPU, say Y.
- If you say N here, the kernel will run on single and multiprocessor
- systems, but will use only one CPU of a multiprocessor system. If
- you say Y here, the kernel will run on many, but not all,
- single processor systems. On a single processor system, the kernel
- will run faster if you say N here.
- See also the SMP-HOWTO available at
- <http://www.tldp.org/docs.html#howto>.
- If you don't know what to do here, say N.
- config NR_CPUS
- int "Maximum number of CPUs (2-4096)"
- range 2 4096
- depends on SMP
- default "4096"
- help
- You should set this to the number of CPUs in your system, but
- keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
- only use 2 CPUs on a >2 CPU system. Setting this to a value larger
- than 64 will cause the use of a CPU mask array, causing a small
- performance hit.
- config HOTPLUG_CPU
- bool "Support for hot-pluggable CPUs"
- depends on SMP
- default n
- ---help---
- Say Y here to experiment with turning CPUs off and on. CPUs
- can be controlled through /sys/devices/system/cpu/cpu#.
- Say N if you want to disable CPU hotplug.
- config ARCH_ENABLE_MEMORY_HOTPLUG
- def_bool y
- config ARCH_ENABLE_MEMORY_HOTREMOVE
- def_bool y
- config SCHED_SMT
- bool "SMT scheduler support"
- depends on SMP
- help
- Improves the CPU scheduler's decision making when dealing with
- Intel IA64 chips with MultiThreading at a cost of slightly increased
- overhead in some places. If unsure say N here.
- config PERMIT_BSP_REMOVE
- bool "Support removal of Bootstrap Processor"
- depends on HOTPLUG_CPU
- default n
- ---help---
- Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
- support.
- config FORCE_CPEI_RETARGET
- bool "Force assumption that CPEI can be re-targeted"
- depends on PERMIT_BSP_REMOVE
- default n
- ---help---
- Say Y if you need to force the assumption that CPEI can be re-targeted to
- any cpu in the system. This hint is available via ACPI 3.0 specifications.
- Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
- This option it useful to enable this feature on older BIOS's as well.
- You can also enable this by using boot command line option force_cpei=1.
- source "kernel/Kconfig.preempt"
- source "mm/Kconfig"
- config ARCH_SELECT_MEMORY_MODEL
- def_bool y
- config ARCH_DISCONTIGMEM_ENABLE
- def_bool y
- help
- Say Y to support efficient handling of discontiguous physical memory,
- for architectures which are either NUMA (Non-Uniform Memory Access)
- or have huge holes in the physical address space for other reasons.
- See <file:Documentation/vm/numa> for more.
- config ARCH_FLATMEM_ENABLE
- def_bool y
- config ARCH_SPARSEMEM_ENABLE
- def_bool y
- depends on ARCH_DISCONTIGMEM_ENABLE
- select SPARSEMEM_VMEMMAP_ENABLE
- config ARCH_DISCONTIGMEM_DEFAULT
- def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
- depends on ARCH_DISCONTIGMEM_ENABLE
- config NUMA
- bool "NUMA support"
- depends on !IA64_HP_SIM && !FLATMEM
- default y if IA64_SGI_SN2
- select ACPI_NUMA if ACPI
- help
- Say Y to compile the kernel to support NUMA (Non-Uniform Memory
- Access). This option is for configuring high-end multiprocessor
- server systems. If in doubt, say N.
- config NODES_SHIFT
- int "Max num nodes shift(3-10)"
- range 3 10
- default "10"
- depends on NEED_MULTIPLE_NODES
- help
- This option specifies the maximum number of nodes in your SSI system.
- MAX_NUMNODES will be 2^(This value).
- If in doubt, use the default.
- # VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
- # VIRTUAL_MEM_MAP has been retained for historical reasons.
- config VIRTUAL_MEM_MAP
- bool "Virtual mem map"
- depends on !SPARSEMEM
- default y if !IA64_HP_SIM
- help
- Say Y to compile the kernel with support for a virtual mem map.
- This code also only takes effect if a memory hole of greater than
- 1 Gb is found during boot. You must turn this option on if you
- require the DISCONTIGMEM option for your machine. If you are
- unsure, say Y.
- config HOLES_IN_ZONE
- bool
- default y if VIRTUAL_MEM_MAP
- config HAVE_ARCH_EARLY_PFN_TO_NID
- def_bool NUMA && SPARSEMEM
- config HAVE_ARCH_NODEDATA_EXTENSION
- def_bool y
- depends on NUMA
- config USE_PERCPU_NUMA_NODE_ID
- def_bool y
- depends on NUMA
- config HAVE_MEMORYLESS_NODES
- def_bool NUMA
- config ARCH_PROC_KCORE_TEXT
- def_bool y
- depends on PROC_KCORE
- config IA64_MCA_RECOVERY
- tristate "MCA recovery from errors other than TLB."
- config PERFMON
- bool "Performance monitor support"
- help
- Selects whether support for the IA-64 performance monitor hardware
- is included in the kernel. This makes some kernel data-structures a
- little bigger and slows down execution a bit, but it is generally
- a good idea to turn this on. If you're unsure, say Y.
- config IA64_PALINFO
- tristate "/proc/pal support"
- help
- If you say Y here, you are able to get PAL (Processor Abstraction
- Layer) information in /proc/pal. This contains useful information
- about the processors in your systems, such as cache and TLB sizes
- and the PAL firmware version in use.
- To use this option, you have to ensure that the "/proc file system
- support" (CONFIG_PROC_FS) is enabled, too.
- config IA64_MC_ERR_INJECT
- tristate "MC error injection support"
- help
- Adds support for MC error injection. If enabled, the kernel
- will provide a sysfs interface for user applications to
- call MC error injection PAL procedures to inject various errors.
- This is a useful tool for MCA testing.
- If you're unsure, do not select this option.
- config SGI_SN
- def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
- config IA64_ESI
- bool "ESI (Extensible SAL Interface) support"
- help
- If you say Y here, support is built into the kernel to
- make ESI calls. ESI calls are used to support vendor-specific
- firmware extensions, such as the ability to inject memory-errors
- for test-purposes. If you're unsure, say N.
- config IA64_HP_AML_NFW
- bool "Support ACPI AML calls to native firmware"
- help
- This driver installs a global ACPI Operation Region handler for
- region 0xA1. AML methods can use this OpRegion to call arbitrary
- native firmware functions. The driver installs the OpRegion
- handler if there is an HPQ5001 device or if the user supplies
- the "force" module parameter, e.g., with the "aml_nfw.force"
- kernel command line option.
- source "drivers/sn/Kconfig"
- config KEXEC
- bool "kexec system call"
- depends on !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
- select KEXEC_CORE
- help
- kexec is a system call that implements the ability to shutdown your
- current kernel, and to start another kernel. It is like a reboot
- but it is independent of the system firmware. And like a reboot
- you can start any kernel with it, not just Linux.
- The name comes from the similarity to the exec system call.
- It is an ongoing process to be certain the hardware in a machine
- is properly shutdown, so do not be surprised if this code does not
- initially work for you. As of this writing the exact hardware
- interface is strongly in flux, so no good recommendation can be
- made.
- config CRASH_DUMP
- bool "kernel crash dumps"
- depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
- help
- Generate crash dump after being started by kexec.
- source "drivers/firmware/Kconfig"
- source "fs/Kconfig.binfmt"
- endmenu
- menu "Power management and ACPI options"
- source "kernel/power/Kconfig"
- source "drivers/acpi/Kconfig"
- if PM
- menu "CPU Frequency scaling"
- source "drivers/cpufreq/Kconfig"
- endmenu
- endif
- endmenu
- if !IA64_HP_SIM
- menu "Bus options (PCI, PCMCIA)"
- config PCI
- bool "PCI support"
- help
- Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y
- here unless you are using a simulator without PCI support.
- config PCI_DOMAINS
- def_bool PCI
- config PCI_SYSCALL
- def_bool PCI
- source "drivers/pci/pcie/Kconfig"
- source "drivers/pci/Kconfig"
- source "drivers/pci/hotplug/Kconfig"
- source "drivers/pcmcia/Kconfig"
- endmenu
- endif
- source "net/Kconfig"
- source "drivers/Kconfig"
- source "arch/ia64/hp/sim/Kconfig"
- config MSPEC
- tristate "Memory special operations driver"
- depends on IA64
- select IA64_UNCACHED_ALLOCATOR
- help
- If you have an ia64 and you want to enable memory special
- operations support (formerly known as fetchop), say Y here,
- otherwise say N.
- source "fs/Kconfig"
- source "arch/ia64/Kconfig.debug"
- source "security/Kconfig"
- source "crypto/Kconfig"
- source "lib/Kconfig"
- config IOMMU_HELPER
- def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
|