1# 2# For a description of the syntax of this configuration file, 3# see Documentation/kbuild/kconfig-language.txt. 4# 5 6mainmenu "IA-64 Linux Kernel Configuration" 7 8source "init/Kconfig" 9 10menu "Processor type and features" 11 12config IA64 13 bool 14 default y 15 help 16 The Itanium Processor Family is Intel's 64-bit successor to 17 the 32-bit X86 line. The IA-64 Linux project has a home 18 page at <http://www.linuxia64.org/> and a mailing list at 19 <linux-ia64@vger.kernel.org>. 20 21config 64BIT 22 bool 23 default y 24 25config MMU 26 bool 27 default y 28 29config SWIOTLB 30 bool 31 default y 32 33config RWSEM_XCHGADD_ALGORITHM 34 bool 35 default y 36 37config GENERIC_CALIBRATE_DELAY 38 bool 39 default y 40 41config TIME_INTERPOLATION 42 bool 43 default y 44 45config EFI 46 bool 47 default y 48 49config GENERIC_IOMAP 50 bool 51 default y 52 53config SCHED_NO_NO_OMIT_FRAME_POINTER 54 bool 55 default y 56 57config IA64_UNCACHED_ALLOCATOR 58 bool 59 select GENERIC_ALLOCATOR 60 61config DMA_IS_DMA32 62 bool 63 default y 64 65choice 66 prompt "System type" 67 default IA64_GENERIC 68 69config IA64_GENERIC 70 bool "generic" 71 select ACPI 72 select NUMA 73 select ACPI_NUMA 74 help 75 This selects the system type of your hardware. A "generic" kernel 76 will run on any supported IA-64 system. However, if you configure 77 a kernel for your specific system, it will be faster and smaller. 78 79 generic For any supported IA-64 system 80 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems 81 HP-zx1/sx1000 For HP systems 82 HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices. 83 SGI-SN2 For SGI Altix systems 84 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/> 85 86 If you don't know what to do, choose "generic". 87 88config IA64_DIG 89 bool "DIG-compliant" 90 91config IA64_HP_ZX1 92 bool "HP-zx1/sx1000" 93 help 94 Build a kernel that runs on HP zx1 and sx1000 systems. This adds 95 support for the HP I/O MMU. 96 97config IA64_HP_ZX1_SWIOTLB 98 bool "HP-zx1/sx1000 with software I/O TLB" 99 help 100 Build a kernel that runs on HP zx1 and sx1000 systems even when they 101 have broken PCI devices which cannot DMA to full 32 bits. Apart 102 from support for the HP I/O MMU, this includes support for the software 103 I/O TLB, which allows supporting the broken devices at the expense of 104 wasting some kernel memory (about 2MB by default). 105 106config IA64_SGI_SN2 107 bool "SGI-SN2" 108 help 109 Selecting this option will optimize the kernel for use on sn2 based 110 systems, but the resulting kernel binary will not run on other 111 types of ia64 systems. If you have an SGI Altix system, it's safe 112 to select this option. If in doubt, select ia64 generic support 113 instead. 114 115config IA64_HP_SIM 116 bool "Ski-simulator" 117 118endchoice 119 120choice 121 prompt "Processor type" 122 default ITANIUM 123 124config ITANIUM 125 bool "Itanium" 126 help 127 Select your IA-64 processor type. The default is Itanium. 128 This choice is safe for all IA-64 systems, but may not perform 129 optimally on systems with, say, Itanium 2 or newer processors. 130 131config MCKINLEY 132 bool "Itanium 2" 133 help 134 Select this to configure for an Itanium 2 (McKinley) processor. 135 136endchoice 137 138choice 139 prompt "Kernel page size" 140 default IA64_PAGE_SIZE_16KB 141 142config IA64_PAGE_SIZE_4KB 143 bool "4KB" 144 help 145 This lets you select the page size of the kernel. For best IA-64 146 performance, a page size of 8KB or 16KB is recommended. For best 147 IA-32 compatibility, a page size of 4KB should be selected (the vast 148 majority of IA-32 binaries work perfectly fine with a larger page 149 size). For Itanium 2 or newer systems, a page size of 64KB can also 150 be selected. 151 152 4KB For best IA-32 compatibility 153 8KB For best IA-64 performance 154 16KB For best IA-64 performance 155 64KB Requires Itanium 2 or newer processor. 156 157 If you don't know what to do, choose 16KB. 158 159config IA64_PAGE_SIZE_8KB 160 bool "8KB" 161 162config IA64_PAGE_SIZE_16KB 163 bool "16KB" 164 165config IA64_PAGE_SIZE_64KB 166 depends on !ITANIUM 167 bool "64KB" 168 169endchoice 170 171choice 172 prompt "Page Table Levels" 173 default PGTABLE_3 174 175config PGTABLE_3 176 bool "3 Levels" 177 178config PGTABLE_4 179 depends on !IA64_PAGE_SIZE_64KB 180 bool "4 Levels" 181 182endchoice 183 184source kernel/Kconfig.hz 185 186config IA64_BRL_EMU 187 bool 188 depends on ITANIUM 189 default y 190 191# align cache-sensitive data to 128 bytes 192config IA64_L1_CACHE_SHIFT 193 int 194 default "7" if MCKINLEY 195 default "6" if ITANIUM 196 197# align cache-sensitive data to 64 bytes 198config IA64_CYCLONE 199 bool "Cyclone (EXA) Time Source support" 200 help 201 Say Y here to enable support for IBM EXA Cyclone time source. 202 If you're unsure, answer N. 203 204config IOSAPIC 205 bool 206 depends on !IA64_HP_SIM 207 default y 208 209config IA64_SGI_SN_XP 210 tristate "Support communication between SGI SSIs" 211 depends on IA64_GENERIC || IA64_SGI_SN2 212 select IA64_UNCACHED_ALLOCATOR 213 help 214 An SGI machine can be divided into multiple Single System 215 Images which act independently of each other and have 216 hardware based memory protection from the others. Enabling 217 this feature will allow for direct communication between SSIs 218 based on a network adapter and DMA messaging. 219 220config FORCE_MAX_ZONEORDER 221 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE 222 range 11 17 if !HUGETLB_PAGE 223 default "17" if HUGETLB_PAGE 224 default "11" 225 226config SMP 227 bool "Symmetric multi-processing support" 228 help 229 This enables support for systems with more than one CPU. If you have 230 a system with only one CPU, say N. If you have a system with more 231 than one CPU, say Y. 232 233 If you say N here, the kernel will run on single and multiprocessor 234 systems, but will use only one CPU of a multiprocessor system. If 235 you say Y here, the kernel will run on many, but not all, 236 single processor systems. On a single processor system, the kernel 237 will run faster if you say N here. 238 239 See also the <file:Documentation/smp.txt> and the SMP-HOWTO 240 available at <http://www.tldp.org/docs.html#howto>. 241 242 If you don't know what to do here, say N. 243 244config NR_CPUS 245 int "Maximum number of CPUs (2-1024)" 246 range 2 1024 247 depends on SMP 248 default "64" 249 help 250 You should set this to the number of CPUs in your system, but 251 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but 252 only use 2 CPUs on a >2 CPU system. Setting this to a value larger 253 than 64 will cause the use of a CPU mask array, causing a small 254 performance hit. 255 256config HOTPLUG_CPU 257 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" 258 depends on SMP && EXPERIMENTAL 259 select HOTPLUG 260 default n 261 ---help--- 262 Say Y here to experiment with turning CPUs off and on. CPUs 263 can be controlled through /sys/devices/system/cpu/cpu#. 264 Say N if you want to disable CPU hotplug. 265 266config SCHED_SMT 267 bool "SMT scheduler support" 268 depends on SMP 269 default off 270 help 271 Improves the CPU scheduler's decision making when dealing with 272 Intel IA64 chips with MultiThreading at a cost of slightly increased 273 overhead in some places. If unsure say N here. 274 275config PREEMPT 276 bool "Preemptible Kernel" 277 help 278 This option reduces the latency of the kernel when reacting to 279 real-time or interactive events by allowing a low priority process to 280 be preempted even if it is in kernel mode executing a system call. 281 This allows applications to run more reliably even when the system is 282 under load. 283 284 Say Y here if you are building a kernel for a desktop, embedded 285 or real-time system. Say N if you are unsure. 286 287source "mm/Kconfig" 288 289config ARCH_SELECT_MEMORY_MODEL 290 def_bool y 291 292config ARCH_DISCONTIGMEM_ENABLE 293 def_bool y 294 help 295 Say Y to support efficient handling of discontiguous physical memory, 296 for architectures which are either NUMA (Non-Uniform Memory Access) 297 or have huge holes in the physical address space for other reasons. 298 See <file:Documentation/vm/numa> for more. 299 300config ARCH_FLATMEM_ENABLE 301 def_bool y 302 303config ARCH_SPARSEMEM_ENABLE 304 def_bool y 305 depends on ARCH_DISCONTIGMEM_ENABLE 306 307config ARCH_DISCONTIGMEM_DEFAULT 308 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB) 309 depends on ARCH_DISCONTIGMEM_ENABLE 310 311config NUMA 312 bool "NUMA support" 313 depends on !IA64_HP_SIM && !FLATMEM 314 default y if IA64_SGI_SN2 315 help 316 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 317 Access). This option is for configuring high-end multiprocessor 318 server systems. If in doubt, say N. 319 320# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent. 321# VIRTUAL_MEM_MAP has been retained for historical reasons. 322config VIRTUAL_MEM_MAP 323 bool "Virtual mem map" 324 depends on !SPARSEMEM 325 default y if !IA64_HP_SIM 326 help 327 Say Y to compile the kernel with support for a virtual mem map. 328 This code also only takes effect if a memory hole of greater than 329 1 Gb is found during boot. You must turn this option on if you 330 require the DISCONTIGMEM option for your machine. If you are 331 unsure, say Y. 332 333config HOLES_IN_ZONE 334 bool 335 default y if VIRTUAL_MEM_MAP 336 337config HAVE_ARCH_EARLY_PFN_TO_NID 338 def_bool y 339 depends on NEED_MULTIPLE_NODES 340 341config IA32_SUPPORT 342 bool "Support for Linux/x86 binaries" 343 help 344 IA-64 processors can execute IA-32 (X86) instructions. By 345 saying Y here, the kernel will include IA-32 system call 346 emulation support which makes it possible to transparently 347 run IA-32 Linux binaries on an IA-64 Linux system. 348 If in doubt, say Y. 349 350config COMPAT 351 bool 352 depends on IA32_SUPPORT 353 default y 354 355config IA64_MCA_RECOVERY 356 tristate "MCA recovery from errors other than TLB." 357 358config PERFMON 359 bool "Performance monitor support" 360 help 361 Selects whether support for the IA-64 performance monitor hardware 362 is included in the kernel. This makes some kernel data-structures a 363 little bigger and slows down execution a bit, but it is generally 364 a good idea to turn this on. If you're unsure, say Y. 365 366config IA64_PALINFO 367 tristate "/proc/pal support" 368 help 369 If you say Y here, you are able to get PAL (Processor Abstraction 370 Layer) information in /proc/pal. This contains useful information 371 about the processors in your systems, such as cache and TLB sizes 372 and the PAL firmware version in use. 373 374 To use this option, you have to ensure that the "/proc file system 375 support" (CONFIG_PROC_FS) is enabled, too. 376 377source "drivers/firmware/Kconfig" 378 379source "fs/Kconfig.binfmt" 380 381endmenu 382 383menu "Power management and ACPI" 384 385source "kernel/power/Kconfig" 386 387source "drivers/acpi/Kconfig" 388 389if PM 390 391source "arch/ia64/kernel/cpufreq/Kconfig" 392 393endif 394 395endmenu 396 397if !IA64_HP_SIM 398 399menu "Bus options (PCI, PCMCIA)" 400 401config PCI 402 bool "PCI support" 403 help 404 Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y 405 here unless you are using a simulator without PCI support. 406 407config PCI_DOMAINS 408 bool 409 default PCI 410 411source "drivers/pci/Kconfig" 412 413source "drivers/pci/hotplug/Kconfig" 414 415source "drivers/pcmcia/Kconfig" 416 417endmenu 418 419endif 420 421source "net/Kconfig" 422 423source "drivers/Kconfig" 424 425source "fs/Kconfig" 426 427source "lib/Kconfig" 428 429# 430# Use the generic interrupt handling code in kernel/irq/: 431# 432config GENERIC_HARDIRQS 433 bool 434 default y 435 436config GENERIC_IRQ_PROBE 437 bool 438 default y 439 440config GENERIC_PENDING_IRQ 441 bool 442 depends on GENERIC_HARDIRQS && SMP 443 default y 444 445source "arch/ia64/hp/sim/Kconfig" 446 447menu "Instrumentation Support" 448 depends on EXPERIMENTAL 449 450source "arch/ia64/oprofile/Kconfig" 451 452config KPROBES 453 bool "Kprobes (EXPERIMENTAL)" 454 help 455 Kprobes allows you to trap at almost any kernel address and 456 execute a callback function. register_kprobe() establishes 457 a probepoint and specifies the callback. Kprobes is useful 458 for kernel debugging, non-intrusive instrumentation and testing. 459 If in doubt, say "N". 460endmenu 461 462source "arch/ia64/Kconfig.debug" 463 464source "security/Kconfig" 465 466source "crypto/Kconfig" 467