0001 # SPDX-License-Identifier: GPL-2.0
0002 config PPC_PSERIES
0003 depends on PPC64 && PPC_BOOK3S
0004 bool "IBM pSeries & new (POWER5-based) iSeries"
0005 select HAVE_PCSPKR_PLATFORM
0006 select MPIC
0007 select OF_DYNAMIC
0008 select FORCE_PCI
0009 select PCI_MSI
0010 select PPC_XICS
0011 select PPC_XIVE_SPAPR
0012 select PPC_ICP_NATIVE
0013 select PPC_ICP_HV
0014 select PPC_ICS_RTAS
0015 select PPC_I8259
0016 select PPC_RTAS
0017 select PPC_RTAS_DAEMON
0018 select RTAS_ERROR_LOGGING
0019 select PPC_UDBG_16550
0020 select PPC_DOORBELL
0021 select HOTPLUG_CPU
0022 select FORCE_SMP
0023 select SWIOTLB
0024 default y
0025
0026 config PARAVIRT_SPINLOCKS
0027 bool
0028
0029 config PPC_SPLPAR
0030 bool "Support for shared-processor logical partitions"
0031 depends on PPC_PSERIES
0032 select PARAVIRT_SPINLOCKS if PPC_QUEUED_SPINLOCKS
0033 default y
0034 help
0035 Enabling this option will make the kernel run more efficiently
0036 on logically-partitioned pSeries systems which use shared
0037 processors, that is, which share physical processors between
0038 two or more partitions.
0039
0040 Say Y if you are unsure.
0041
0042 config DTL
0043 bool "Dispatch Trace Log"
0044 depends on PPC_SPLPAR && DEBUG_FS
0045 help
0046 SPLPAR machines can log hypervisor preempt & dispatch events to a
0047 kernel buffer. Saying Y here will enable logging these events,
0048 which are accessible through a debugfs file.
0049
0050 Say N if you are unsure.
0051
0052 config PSERIES_ENERGY
0053 tristate "pSeries energy management capabilities driver"
0054 depends on PPC_PSERIES
0055 default y
0056 help
0057 Provides interface to platform energy management capabilities
0058 on supported PSERIES platforms.
0059 Provides: /sys/devices/system/cpu/pseries_(de)activation_hint_list
0060 and /sys/devices/system/cpu/cpuN/pseries_(de)activation_hint
0061
0062 config IO_EVENT_IRQ
0063 bool "IO Event Interrupt support"
0064 depends on PPC_PSERIES
0065 default y
0066 help
0067 Select this option, if you want to enable support for IO Event
0068 interrupts. IO event interrupt is a mechanism provided by RTAS
0069 to return information about hardware error and non-error events
0070 which may need OS attention. RTAS returns events for multiple
0071 event types and scopes. Device drivers can register their handlers
0072 to receive events.
0073
0074 This option will only enable the IO event platform code. You
0075 will still need to enable or compile the actual drivers
0076 that use this infrastructure to handle IO event interrupts.
0077
0078 Say Y if you are unsure.
0079
0080 config LPARCFG
0081 bool "LPAR Configuration Data"
0082 depends on PPC_PSERIES
0083 help
0084 Provide system capacity information via human readable
0085 <key word>=<value> pairs through a /proc/ppc64/lparcfg interface.
0086
0087 config PPC_PSERIES_DEBUG
0088 depends on PPC_PSERIES && PPC_EARLY_DEBUG
0089 bool "Enable extra debug logging in platforms/pseries"
0090 default y
0091 help
0092 Say Y here if you want the pseries core to produce a bunch of
0093 debug messages to the system log. Select this if you are having a
0094 problem with the pseries core and want to see more of what is
0095 going on. This does not enable debugging in lpar.c, which must
0096 be manually done due to its verbosity.
0097
0098 config PPC_SMLPAR
0099 bool "Support for shared-memory logical partitions"
0100 depends on PPC_PSERIES
0101 select LPARCFG
0102 help
0103 Select this option to enable shared memory partition support.
0104 With this option a system running in an LPAR can be given more
0105 memory than physically available and will allow firmware to
0106 balance memory across many LPARs.
0107
0108 config CMM
0109 tristate "Collaborative memory management"
0110 depends on PPC_SMLPAR
0111 select MEMORY_BALLOON
0112 default y
0113 help
0114 Select this option, if you want to enable the kernel interface
0115 to reduce the memory size of the system. This is accomplished
0116 by allocating pages of memory and put them "on hold". This only
0117 makes sense for a system running in an LPAR where the unused pages
0118 will be reused for other LPARs. The interface allows firmware to
0119 balance memory across many LPARs.
0120
0121 config HV_PERF_CTRS
0122 bool "Hypervisor supplied PMU events (24x7 & GPCI)"
0123 default y
0124 depends on PERF_EVENTS && PPC_PSERIES
0125 help
0126 Enable access to hypervisor supplied counters in perf. Currently,
0127 this enables code that uses the hcall GetPerfCounterInfo and 24x7
0128 interfaces to retrieve counters. GPCI exists on Power 6 and later
0129 systems. 24x7 is available on Power 8 and later systems.
0130
0131 If unsure, select Y.
0132
0133 config IBMVIO
0134 depends on PPC_PSERIES
0135 bool
0136 default y
0137
0138 config IBMEBUS
0139 depends on PPC_PSERIES && !CPU_LITTLE_ENDIAN
0140 bool "Support for GX bus based adapters"
0141 help
0142 Bus device driver for GX bus based adapters.
0143
0144 config PSERIES_PLPKS
0145 depends on PPC_PSERIES
0146 bool "Support for the Platform Key Storage"
0147 help
0148 PowerVM provides an isolated Platform Keystore(PKS) storage
0149 allocation for each LPAR with individually managed access
0150 controls to store sensitive information securely. It can be
0151 used to store asymmetric public keys or secrets as required
0152 by different usecases. Select this config to enable
0153 operating system interface to hypervisor to access this space.
0154
0155 If unsure, select N.
0156
0157 config PAPR_SCM
0158 depends on PPC_PSERIES && MEMORY_HOTPLUG && LIBNVDIMM
0159 tristate "Support for the PAPR Storage Class Memory interface"
0160 help
0161 Enable access to hypervisor provided storage class memory.
0162
0163 config PPC_SVM
0164 bool "Secure virtual machine (SVM) support for POWER"
0165 depends on PPC_PSERIES
0166 select SWIOTLB
0167 select ARCH_HAS_MEM_ENCRYPT
0168 select ARCH_HAS_FORCE_DMA_UNENCRYPTED
0169 select ARCH_HAS_CC_PLATFORM
0170 help
0171 There are certain POWER platforms which support secure guests using
0172 the Protected Execution Facility, with the help of an Ultravisor
0173 executing below the hypervisor layer. This enables support for
0174 those guests.
0175
0176 If unsure, say "N".