411 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			411 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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
 | |
| 	  <linux-ia64@vger.kernel.org>.
 | |
| 
 | |
| 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.
 |