mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-06 10:46:44 +07:00
cebf589c82
Add support for the integrated interrupt controller on BPA CPUs. There is one of those for each SMT thread. The mapping of interrupt numbers to HW interrupt sources is described in arch/ppc64/kernel/bpa_iic.h. This version hardcodes the 'Spider' chip as the secondary interrupt controller. That is not really generic for the architecture, but at the moment it is the only secondary PIC that exists. A little more work will be needed on this as soon as we have boards with multiple external interrupt controllers. Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
447 lines
9.9 KiB
Plaintext
447 lines
9.9 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/kconfig-language.txt.
|
|
#
|
|
|
|
config 64BIT
|
|
def_bool y
|
|
|
|
config MMU
|
|
bool
|
|
default y
|
|
|
|
config UID16
|
|
bool
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
bool
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_ISA_DMA
|
|
bool
|
|
default y
|
|
|
|
config HAVE_DEC_LOCK
|
|
bool
|
|
default y
|
|
|
|
config EARLY_PRINTK
|
|
bool
|
|
default y
|
|
|
|
config COMPAT
|
|
bool
|
|
default y
|
|
|
|
config SCHED_NO_NO_OMIT_FRAME_POINTER
|
|
bool
|
|
default y
|
|
|
|
# We optimistically allocate largepages from the VM, so make the limit
|
|
# large enough (16MB). This badly named config option is actually
|
|
# max order + 1
|
|
config FORCE_MAX_ZONEORDER
|
|
int
|
|
default "13"
|
|
|
|
source "init/Kconfig"
|
|
|
|
config SYSVIPC_COMPAT
|
|
bool
|
|
depends on COMPAT && SYSVIPC
|
|
default y
|
|
|
|
menu "Platform support"
|
|
|
|
choice
|
|
prompt "Platform Type"
|
|
default PPC_MULTIPLATFORM
|
|
|
|
config PPC_ISERIES
|
|
bool "IBM Legacy iSeries"
|
|
|
|
config PPC_MULTIPLATFORM
|
|
bool "Generic"
|
|
|
|
endchoice
|
|
|
|
config PPC_PSERIES
|
|
depends on PPC_MULTIPLATFORM
|
|
bool " IBM pSeries & new iSeries"
|
|
default y
|
|
|
|
config PPC_BPA
|
|
bool " Broadband Processor Architecture"
|
|
depends on PPC_MULTIPLATFORM
|
|
|
|
config PPC_PMAC
|
|
depends on PPC_MULTIPLATFORM
|
|
bool " Apple G5 based machines"
|
|
default y
|
|
select U3_DART
|
|
|
|
config PPC_MAPLE
|
|
depends on PPC_MULTIPLATFORM
|
|
bool " Maple 970FX Evaluation Board"
|
|
select U3_DART
|
|
select MPIC_BROKEN_U3
|
|
default n
|
|
help
|
|
This option enables support for the Maple 970FX Evaluation Board.
|
|
For more informations, refer to <http://www.970eval.com>
|
|
|
|
config PPC
|
|
bool
|
|
default y
|
|
|
|
config PPC64
|
|
bool
|
|
default y
|
|
|
|
config PPC_OF
|
|
depends on PPC_MULTIPLATFORM
|
|
bool
|
|
default y
|
|
|
|
config XICS
|
|
depends on PPC_PSERIES
|
|
bool
|
|
default y
|
|
|
|
config MPIC
|
|
depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE
|
|
bool
|
|
default y
|
|
|
|
config BPA_IIC
|
|
depends on PPC_BPA
|
|
bool
|
|
default y
|
|
|
|
# VMX is pSeries only for now until somebody writes the iSeries
|
|
# exception vectors for it
|
|
config ALTIVEC
|
|
bool "Support for VMX (Altivec) vector unit"
|
|
depends on PPC_MULTIPLATFORM
|
|
default y
|
|
|
|
config PPC_SPLPAR
|
|
depends on PPC_PSERIES
|
|
bool "Support for shared-processor logical partitions"
|
|
default n
|
|
help
|
|
Enabling this option will make the kernel run more efficiently
|
|
on logically-partitioned pSeries systems which use shared
|
|
processors, that is, which share physical processors between
|
|
two or more partitions.
|
|
|
|
config IBMVIO
|
|
depends on PPC_PSERIES || PPC_ISERIES
|
|
bool
|
|
default y
|
|
|
|
config U3_DART
|
|
bool
|
|
depends on PPC_MULTIPLATFORM
|
|
default n
|
|
|
|
config MPIC_BROKEN_U3
|
|
bool
|
|
depends on PPC_MAPLE
|
|
default y
|
|
|
|
config PPC_PMAC64
|
|
bool
|
|
depends on PPC_PMAC
|
|
default y
|
|
|
|
config BOOTX_TEXT
|
|
bool "Support for early boot text console"
|
|
depends PPC_OF
|
|
help
|
|
Say Y here to see progress messages from the boot firmware in text
|
|
mode. Requires an Open Firmware compatible video card.
|
|
|
|
config POWER4_ONLY
|
|
bool "Optimize for POWER4"
|
|
default n
|
|
---help---
|
|
Cause the compiler to optimize for POWER4 processors. The resulting
|
|
binary will not work on POWER3 or RS64 processors when compiled with
|
|
binutils 2.15 or later.
|
|
|
|
config IOMMU_VMERGE
|
|
bool "Enable IOMMU virtual merging (EXPERIMENTAL)"
|
|
depends on EXPERIMENTAL
|
|
default n
|
|
help
|
|
Cause IO segments sent to a device for DMA to be merged virtually
|
|
by the IOMMU when they happen to have been allocated contiguously.
|
|
This doesn't add pressure to the IOMMU allocator. However, some
|
|
drivers don't support getting large merged segments coming back
|
|
from *_map_sg(). Say Y if you know the drivers you are using are
|
|
properly handling this case.
|
|
|
|
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
|
|
machines, but will use only one CPU of a multiprocessor machine. If
|
|
you say Y here, the kernel will run on single-processor machines.
|
|
On a single-processor machine, the kernel will run faster if you say
|
|
N here.
|
|
|
|
If you don't know what to do here, say Y.
|
|
|
|
config NR_CPUS
|
|
int "Maximum number of CPUs (2-128)"
|
|
range 2 128
|
|
depends on SMP
|
|
default "32"
|
|
|
|
config HMT
|
|
bool "Hardware multithreading"
|
|
depends on SMP && PPC_PSERIES && BROKEN
|
|
help
|
|
This option enables hardware multithreading on RS64 cpus.
|
|
pSeries systems p620 and p660 have such a cpu type.
|
|
|
|
config DISCONTIGMEM
|
|
bool "Discontiguous Memory Support"
|
|
depends on SMP && PPC_PSERIES
|
|
|
|
config NUMA
|
|
bool "NUMA support"
|
|
depends on DISCONTIGMEM
|
|
|
|
config SCHED_SMT
|
|
bool "SMT (Hyperthreading) scheduler support"
|
|
depends on SMP
|
|
default off
|
|
help
|
|
SMT scheduler support improves the CPU scheduler's decision making
|
|
when dealing with POWER5 cpus at a cost of slightly increased
|
|
overhead in some places. If unsure say N here.
|
|
|
|
config PREEMPT
|
|
bool "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.
|
|
|
|
Say Y here if you are building a kernel for a desktop, embedded
|
|
or real-time system. Say N if you are unsure.
|
|
|
|
config PREEMPT_BKL
|
|
bool "Preempt The Big Kernel Lock"
|
|
depends on PREEMPT
|
|
default y
|
|
help
|
|
This option reduces the latency of the kernel by making the
|
|
big kernel lock preemptible.
|
|
|
|
Say Y here if you are building a kernel for a desktop system.
|
|
Say N if you are unsure.
|
|
|
|
config EEH
|
|
bool "PCI Extended Error Handling (EEH)" if EMBEDDED
|
|
depends on PPC_PSERIES
|
|
default y if !EMBEDDED
|
|
|
|
#
|
|
# Use the generic interrupt handling code in kernel/irq/:
|
|
#
|
|
config GENERIC_HARDIRQS
|
|
bool
|
|
default y
|
|
|
|
config MSCHUNKS
|
|
bool
|
|
depends on PPC_ISERIES
|
|
default y
|
|
|
|
|
|
config PPC_RTAS
|
|
bool
|
|
depends on PPC_PSERIES || PPC_BPA
|
|
default y
|
|
|
|
config RTAS_PROC
|
|
bool "Proc interface to RTAS"
|
|
depends on PPC_RTAS
|
|
default y
|
|
|
|
config RTAS_FLASH
|
|
tristate "Firmware flash interface"
|
|
depends on RTAS_PROC
|
|
|
|
config SCANLOG
|
|
tristate "Scanlog dump interface"
|
|
depends on RTAS_PROC && PPC_PSERIES
|
|
|
|
config LPARCFG
|
|
tristate "LPAR Configuration Data"
|
|
depends on PPC_PSERIES || PPC_ISERIES
|
|
help
|
|
Provide system capacity information via human readable
|
|
<key word>=<value> pairs through a /proc/ppc64/lparcfg interface.
|
|
|
|
config SECCOMP
|
|
bool "Enable seccomp to safely compute untrusted bytecode"
|
|
depends on PROC_FS
|
|
default y
|
|
help
|
|
This kernel feature is useful for number crunching applications
|
|
that may need to compute untrusted bytecode during their
|
|
execution. By using pipes or other transports made available to
|
|
the process as file descriptors supporting the read/write
|
|
syscalls, it's possible to isolate those applications in
|
|
their own address space using seccomp. Once seccomp is
|
|
enabled via /proc/<pid>/seccomp, it cannot be disabled
|
|
and the task is only allowed to execute a few safe syscalls
|
|
defined by each seccomp mode.
|
|
|
|
If unsure, say Y. Only embedded should say N here.
|
|
|
|
endmenu
|
|
|
|
config ISA_DMA_API
|
|
bool
|
|
default y
|
|
|
|
menu "General setup"
|
|
|
|
config ISA
|
|
bool
|
|
help
|
|
Find out whether you have ISA slots on your motherboard. ISA is the
|
|
name of a bus system, i.e. the way the CPU talks to the other stuff
|
|
inside your box. If you have an Apple machine, say N here; if you
|
|
have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
|
|
you have an embedded board, consult your board documentation.
|
|
|
|
config SBUS
|
|
bool
|
|
|
|
config MCA
|
|
bool
|
|
|
|
config EISA
|
|
bool
|
|
|
|
config PCI
|
|
bool "support for PCI devices" if (EMBEDDED && PPC_ISERIES)
|
|
default y
|
|
help
|
|
Find out whether your system includes a PCI bus. PCI is the name of
|
|
a bus system, i.e. the way the CPU talks to the other stuff inside
|
|
your box. If you say Y here, the kernel will include drivers and
|
|
infrastructure code to support PCI bus devices.
|
|
|
|
config PCI_DOMAINS
|
|
bool
|
|
default PCI
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
config HOTPLUG_CPU
|
|
bool "Support for hot-pluggable CPUs"
|
|
depends on SMP && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
|
|
select HOTPLUG
|
|
---help---
|
|
Say Y here to be able to turn CPUs off and on.
|
|
|
|
Say N if you are unsure.
|
|
|
|
source "drivers/pcmcia/Kconfig"
|
|
|
|
source "drivers/pci/hotplug/Kconfig"
|
|
|
|
config PROC_DEVICETREE
|
|
bool "Support for Open Firmware device tree in /proc"
|
|
depends on !PPC_ISERIES
|
|
help
|
|
This option adds a device-tree directory under /proc which contains
|
|
an image of the device tree that the kernel copies from Open
|
|
Firmware. If unsure, say Y here.
|
|
|
|
config CMDLINE_BOOL
|
|
bool "Default bootloader kernel arguments"
|
|
depends on !PPC_ISERIES
|
|
|
|
config CMDLINE
|
|
string "Initial kernel command string"
|
|
depends on CMDLINE_BOOL
|
|
default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
|
|
help
|
|
On some platforms, there is currently no way for the boot loader to
|
|
pass arguments to the kernel. For these platforms, you can supply
|
|
some command-line options at build time by entering them here. In
|
|
most cases you will need to specify the root device here.
|
|
|
|
endmenu
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
menu "iSeries device drivers"
|
|
depends on PPC_ISERIES
|
|
|
|
config VIOCONS
|
|
tristate "iSeries Virtual Console Support"
|
|
|
|
config VIODASD
|
|
tristate "iSeries Virtual I/O disk support"
|
|
help
|
|
If you are running on an iSeries system and you want to use
|
|
virtual disks created and managed by OS/400, say Y.
|
|
|
|
config VIOCD
|
|
tristate "iSeries Virtual I/O CD support"
|
|
help
|
|
If you are running Linux on an IBM iSeries system and you want to
|
|
read a CD drive owned by OS/400, say Y here.
|
|
|
|
config VIOTAPE
|
|
tristate "iSeries Virtual Tape Support"
|
|
help
|
|
If you are running Linux on an iSeries system and you want Linux
|
|
to read and/or write a tape drive owned by OS/400, say Y here.
|
|
|
|
endmenu
|
|
|
|
config VIOPATH
|
|
bool
|
|
depends on VIOCONS || VIODASD || VIOCD || VIOTAPE || VETH
|
|
default y
|
|
|
|
source "arch/ppc64/oprofile/Kconfig"
|
|
|
|
source "arch/ppc64/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
config KEYS_COMPAT
|
|
bool
|
|
depends on COMPAT && KEYS
|
|
default y
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|