123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410 |
- # SPDX-License-Identifier: GPL-2.0
- config PGTABLE_LEVELS
- int "Page Table Levels" if !IA64_PAGE_SIZE_64KB
- range 3 4 if !IA64_PAGE_SIZE_64KB
- default 3
- menu "Processor type and features"
- config IA64
- bool
- select ARCH_BINFMT_ELF_EXTRA_PHDRS
- select ARCH_HAS_CPU_FINALIZE_INIT
- select ARCH_HAS_DMA_MARK_CLEAN
- select ARCH_HAS_STRNCPY_FROM_USER
- select ARCH_HAS_STRNLEN_USER
- select ARCH_MIGHT_HAVE_PC_PARPORT
- select ARCH_MIGHT_HAVE_PC_SERIO
- select ACPI
- select ACPI_NUMA if NUMA
- select ARCH_ENABLE_MEMORY_HOTPLUG
- select ARCH_ENABLE_MEMORY_HOTREMOVE
- select ARCH_SUPPORTS_ACPI
- select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
- select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
- select FORCE_PCI
- select PCI_DOMAINS if PCI
- select PCI_MSI
- select PCI_SYSCALL if PCI
- select HAVE_ASM_MODVERSIONS
- select HAVE_UNSTABLE_SCHED_CLOCK
- select HAVE_EXIT_THREAD
- select HAVE_KPROBES
- select HAVE_KRETPROBES
- select HAVE_FTRACE_MCOUNT_RECORD
- select HAVE_DYNAMIC_FTRACE if (!ITANIUM)
- select HAVE_FUNCTION_TRACER
- select HAVE_SETUP_PER_CPU_AREA
- select TTY
- select HAVE_ARCH_TRACEHOOK
- select HAVE_FUNCTION_DESCRIPTORS
- select HAVE_VIRT_CPU_ACCOUNTING
- select HUGETLB_PAGE_SIZE_VARIABLE if HUGETLB_PAGE
- select GENERIC_IRQ_PROBE
- select GENERIC_PENDING_IRQ if SMP
- select GENERIC_IRQ_SHOW
- select GENERIC_IRQ_LEGACY
- select ARCH_HAVE_NMI_SAFE_CMPXCHG
- select GENERIC_IOMAP
- select GENERIC_SMP_IDLE_THREAD
- select ARCH_TASK_STRUCT_ON_STACK
- select ARCH_TASK_STRUCT_ALLOCATOR
- select ARCH_THREAD_STACK_ALLOCATOR
- select ARCH_CLOCKSOURCE_DATA
- select GENERIC_TIME_VSYSCALL
- select LEGACY_TIMER_TICK
- select SWIOTLB
- 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
- select NEED_DMA_MAP_STATE
- select NEED_SG_DMA_LENGTH
- select NUMA if !FLATMEM
- select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
- select ZONE_DMA32
- 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
- <[email protected]>.
- config 64BIT
- bool
- select ATA_NONSTANDARD if ATA
- default y
- config MMU
- bool
- default y
- config STACKTRACE_SUPPORT
- def_bool y
- config GENERIC_LOCKBREAK
- def_bool n
- config GENERIC_CALIBRATE_DELAY
- bool
- default 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 "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
- source "kernel/Kconfig.hz"
- 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_SGI_UV
- bool "SGI-UV support"
- help
- Selecting this option will add specific support for running on SGI
- UV based systems. If you have an SGI UV system or are building a
- distro kernel, select this option.
- config IA64_HP_SBA_IOMMU
- bool "HP SBA IOMMU support"
- select DMA_OPS
- default y
- help
- Say Y here to add support for the SBA IOMMU found on HP zx1 and
- sx1000 systems. If you're unsure, answer Y.
- 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 ARCH_FORCE_MAX_ORDER
- 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 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.
- config ARCH_SELECT_MEMORY_MODEL
- def_bool y
- config ARCH_FLATMEM_ENABLE
- def_bool y
- config ARCH_SPARSEMEM_ENABLE
- def_bool y
- select SPARSEMEM_VMEMMAP_ENABLE
- config ARCH_SPARSEMEM_DEFAULT
- def_bool y
- depends on ARCH_SPARSEMEM_ENABLE
- config NUMA
- bool "NUMA support"
- depends on !FLATMEM
- select SMP
- select USE_PERCPU_NUMA_NODE_ID
- 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 NUMA
- 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.
- config HAVE_ARCH_NODEDATA_EXTENSION
- 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
- bool "MCA recovery from errors other than TLB."
- 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 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.
- config KEXEC
- bool "kexec system call"
- depends on !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 && (!SMP || HOTPLUG_CPU)
- help
- Generate crash dump after being started by kexec.
- 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
- 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.
|