Fandom

How To Wiki

How to configure the Linux kernel/arch/ia64

< How to configure the Linux kernel | arch

1,795pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Howto configure the Linux kernel / arch / ia64


For a description of the syntax of this configuration file,
see Documentation/kbuild/kconfig-language.txt.

"IA-64 Linux Kernel Configuration"


Processor type and featuresEdit

  • Option: IA64
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y
      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>.


  • Option: 64BIT
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y


  • Option: MMU
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y


  • Option: SWIOTLB
    • Kernel Versions: 2.6.15.6 ... bool default y


  • Option: RWSEM_XCHGADD_ALGORITHM
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y


  • Option: GENERIC_CALIBRATE_DELAY
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y


  • Option: TIME_INTERPOLATION
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y


  • Option: EFI
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y


  • Option: GENERIC_IOMAP
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y


  • Option: SCHED_NO_NO_OMIT_FRAME_POINTER
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y


  • Option: IA64_UNCACHED_ALLOCATOR
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • select GENERIC_ALLOCATOR


  • Option: DMA_IS_DMA32
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y


"System type"

    • default IA64_GENERIC


  • Option: IA64_GENERIC
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) generic
    • select ACPI
    • select NUMA
    • select ACPI_NUMA
      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.
      genericFor any supported IA-64 system DIG-compliantFor DIG ("Developer's Interface Guide") compliant systems HP-zx1/sx1000For HP systems HP-zx1/sx1000+swiotlbFor HP systems with (broken) DMA-constrained devices. SGI-SN2For SGI Altix systems Ski-simulatorFor the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
      If you don't know what to do, choose "generic".


  • Option: IA64_DIG
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) DIG-compliant


  • Option: IA64_HP_ZX1
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) HP-zx1/sx1000
      Build a kernel that runs on HP zx1 and sx1000 systems. This adds support for the HP I/O MMU.


  • Option: IA64_HP_ZX1_SWIOTLB
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) HP-zx1/sx1000 with software I/O TLB
      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).


  • Option: IA64_SGI_SN2
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) SGI-SN2
      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.


  • Option: IA64_HP_SIM
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Ski-simulator



"Processor type"

    • default ITANIUM


  • Option: ITANIUM
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Itanium
      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.


  • Option: MCKINLEY
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Itanium 2
      Select this to configure for an Itanium 2 (McKinley) processor.



"Kernel page size"

    • default IA64_PAGE_SIZE_16KB


  • Option: IA64_PAGE_SIZE_4KB
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) 4KB
      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.


  • Option: IA64_PAGE_SIZE_8KB
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) 8KB


  • Option: IA64_PAGE_SIZE_16KB
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) 16KB


  • Option: IA64_PAGE_SIZE_64KB
    • Kernel Versions: 2.6.15.6 ...
    • depends on !ITANIUM
    • (on/off) 64KB



"Page Table Levels"

    • default PGTABLE_3


  • Option: PGTABLE_3
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) 3 Levels


  • Option: PGTABLE_4
    • Kernel Versions: 2.6.15.6 ...
    • depends on !IA64_PAGE_SIZE_64KB
    • (on/off) 4 Levels




  • Option: IA64_BRL_EMU
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • depends on ITANIUM
    • default y
align cache-sensitive data to 128 bytes


  • Option: IA64_L1_CACHE_SHIFT
    • Kernel Versions: 2.6.15.6 ...
    • default "7" if MCKINLEY
    • default "6" if ITANIUM
align cache-sensitive data to 64 bytes


  • Option: IA64_CYCLONE
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Cyclone (EXA) Time Source support
      Say Y here to enable support for IBM EXA Cyclone time source. If you're unsure, answer N.


  • Option: IOSAPIC
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • depends on !IA64_HP_SIM
    • default y


  • Option: IA64_SGI_SN_XP
    • Kernel Versions: 2.6.15.6 ...
    • (on/off/module) Support communication between SGI SSIs
    • depends on IA64_GENERIC || IA64_SGI_SN2
    • select IA64_UNCACHED_ALLOCATOR
      An SGI machine can be divided into multiple Single System Images which act independently of each other and have hardware based memory protection from the others. Enabling this feature will allow for direct communication between SSIs based on a network adapter and DMA messaging.


  • Option: FORCE_MAX_ZONEORDER
    • Kernel Versions: 2.6.15.6 ...

"MAX_ORDER (11 - 17)" if !HUGETLB_PAGE 11 17 if !HUGETLB_PAGE

    • default "17" if HUGETLB_PAGE
    • default "11"


  • Option: SMP
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Symmetric multi-processing support
      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 <file:Documentation/smp.txt> and the SMP-HOWTO available at <http://www.tldp.org/docs.html#howto>.
      If you don't know what to do here, say N.


  • Option: NR_CPUS
    • Kernel Versions: 2.6.15.6 ...

"Maximum number of CPUs (2-1024)" 2 1024

    • depends on SMP
    • default "64"
      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.


  • Option: HOTPLUG_CPU
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Support for hot-pluggable CPUs (EXPERIMENTAL)
    • depends on SMP && EXPERIMENTAL
    • select HOTPLUG
    • default n
      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.


  • Option: SCHED_SMT
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) SMT scheduler support
    • depends on SMP
    • default off
      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.


  • Option: PREEMPT
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Preemptible Kernel help This option reduces the latency of the kernel when reacting to real-time or interactive events by allowing a low priority process to be preempted even if it is in kernel mode executing a system call. This allows applications to run more reliably even when the system is under load.
      Say Y here if you are building a kernel for a desktop, embedded or real-time system. Say N if you are unsure.



  • Option: ARCH_SELECT_MEMORY_MODEL
    • Kernel Versions: 2.6.15.6 ...

_bool y


  • Option: ARCH_DISCONTIGMEM_ENABLE
    • Kernel Versions: 2.6.15.6 ...

_bool y

    • 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.


  • Option: ARCH_FLATMEM_ENABLE
    • Kernel Versions: 2.6.15.6 ...

_bool y


  • Option: ARCH_SPARSEMEM_ENABLE
    • Kernel Versions: 2.6.15.6 ...

_bool y

    • depends on ARCH_DISCONTIGMEM_ENABLE


  • Option: ARCH_DISCONTIGMEM_DEFAULT
    • Kernel Versions: 2.6.15.6 ...

_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)

    • depends on ARCH_DISCONTIGMEM_ENABLE


  • Option: NUMA
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) NUMA support
    • depends on !IA64_HP_SIM && !FLATMEM
    • default y if IA64_SGI_SN2
      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.
VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
VIRTUAL_MEM_MAP has been retained for historical reasons.


  • Option: VIRTUAL_MEM_MAP
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Virtual mem map
    • depends on !SPARSEMEM
    • default y if !IA64_HP_SIM
      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.


  • Option: HOLES_IN_ZONE
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y if VIRTUAL_MEM_MAP


  • Option: HAVE_ARCH_EARLY_PFN_TO_NID
    • Kernel Versions: 2.6.15.6 ...

_bool y

    • depends on NEED_MULTIPLE_NODES


  • Option: IA32_SUPPORT
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Support for Linux/x86 binaries
      IA-64 processors can execute IA-32 (X86) instructions. By saying Y here, the kernel will include IA-32 system call emulation support which makes it possible to transparently run IA-32 Linux binaries on an IA-64 Linux system. If in doubt, say Y.


  • Option: COMPAT
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • depends on IA32_SUPPORT
    • default y


  • Option: IA64_MCA_RECOVERY
    • Kernel Versions: 2.6.15.6 ...
    • (on/off/module) MCA recovery from errors other than TLB.


  • Option: PERFMON
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Performance monitor support
      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.


  • Option: IA64_PALINFO
    • Kernel Versions: 2.6.15.6 ...
    • (on/off/module) /proc/pal support
      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.




Power management and ACPIEdit


PM




!IA64_HP_SIM

Bus options (PCI, PCMCIA)Edit

  • Option: PCI
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) PCI support
      Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y here unless you are using a simulator without PCI support.


  • Option: PCI_DOMAINS
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default PCI










Use the generic interrupt handling code in kernel/irq/:


  • Option: GENERIC_HARDIRQS
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y


  • Option: GENERIC_IRQ_PROBE
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • default y


  • Option: GENERIC_PENDING_IRQ
    • Kernel Versions: 2.6.15.6 ...
    • (on/off)
    • depends on GENERIC_HARDIRQS && SMP
    • default y


==Instrumentation Support== depends on EXPERIMENTAL



  • Option: KPROBES
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Kprobes (EXPERIMENTAL)
      Kprobes allows you to trap at almost any kernel address and execute a callback function. register_kprobe() establishes a probepoint and specifies the callback. Kprobes is useful for kernel debugging, non-intrusive instrumentation and testing. If in doubt, say "N".






Linux Kernel Configuration

Also on Fandom

Random Wiki