1# SPDX-License-Identifier: GPL-2.0 2config PPC_PSERIES 3 depends on PPC64 && PPC_BOOK3S 4 bool "IBM pSeries & new (POWER5-based) iSeries" 5 select HAVE_PCSPKR_PLATFORM 6 select MPIC 7 select OF_DYNAMIC 8 select FORCE_PCI 9 select PCI_MSI 10 select IRQ_MSI_LIB 11 select GENERIC_ALLOCATOR 12 select PPC_XICS 13 select PPC_XIVE_SPAPR 14 select PPC_ICP_NATIVE 15 select PPC_ICP_HV 16 select PPC_ICS_RTAS 17 select PPC_I8259 18 select PPC_RTAS 19 select PPC_RTAS_DAEMON 20 select RTAS_ERROR_LOGGING 21 select PPC_UDBG_16550 22 select PPC_DOORBELL 23 select HOTPLUG_CPU 24 select FORCE_SMP 25 select SWIOTLB 26 select ARCH_SUPPORTS_PER_VMA_LOCK 27 select PPC_RADIX_BROADCAST_TLBIE if PPC_RADIX_MMU 28 default y 29 30config PARAVIRT 31 bool 32 33config PARAVIRT_SPINLOCKS 34 bool 35 36config PARAVIRT_TIME_ACCOUNTING 37 select PARAVIRT 38 bool 39 40config PPC_SPLPAR 41 bool "Support for shared-processor logical partitions" 42 depends on PPC_PSERIES 43 select PARAVIRT_SPINLOCKS if PPC_QUEUED_SPINLOCKS 44 select PARAVIRT_TIME_ACCOUNTING if VIRT_CPU_ACCOUNTING_GEN 45 default y 46 help 47 Enabling this option will make the kernel run more efficiently 48 on logically-partitioned pSeries systems which use shared 49 processors, that is, which share physical processors between 50 two or more partitions. 51 52 Say Y if you are unsure. 53 54config DTL 55 bool "Dispatch Trace Log" 56 depends on PPC_SPLPAR && DEBUG_FS 57 help 58 SPLPAR machines can log hypervisor preempt & dispatch events to a 59 kernel buffer. Saying Y here will enable logging these events, 60 which are accessible through a debugfs file. 61 62 Say N if you are unsure. 63 64config PSERIES_ENERGY 65 tristate "pSeries energy management capabilities driver" 66 depends on PPC_PSERIES 67 default y 68 help 69 Provides interface to platform energy management capabilities 70 on supported PSERIES platforms. 71 Provides: /sys/devices/system/cpu/pseries_(de)activation_hint_list 72 and /sys/devices/system/cpu/cpuN/pseries_(de)activation_hint 73 74config IO_EVENT_IRQ 75 bool "IO Event Interrupt support" 76 depends on PPC_PSERIES 77 default y 78 help 79 Select this option, if you want to enable support for IO Event 80 interrupts. IO event interrupt is a mechanism provided by RTAS 81 to return information about hardware error and non-error events 82 which may need OS attention. RTAS returns events for multiple 83 event types and scopes. Device drivers can register their handlers 84 to receive events. 85 86 This option will only enable the IO event platform code. You 87 will still need to enable or compile the actual drivers 88 that use this infrastructure to handle IO event interrupts. 89 90 Say Y if you are unsure. 91 92config LPARCFG 93 bool "LPAR Configuration Data" 94 depends on PPC_PSERIES 95 help 96 Provide system capacity information via human readable 97 <key word>=<value> pairs through a /proc/ppc64/lparcfg interface. 98 99config PPC_PSERIES_DEBUG 100 depends on PPC_PSERIES && PPC_EARLY_DEBUG 101 bool "Enable extra debug logging in platforms/pseries" 102 default y 103 help 104 Say Y here if you want the pseries core to produce a bunch of 105 debug messages to the system log. Select this if you are having a 106 problem with the pseries core and want to see more of what is 107 going on. This does not enable debugging in lpar.c, which must 108 be manually done due to its verbosity. 109 110config PPC_SMLPAR 111 bool "Support for shared-memory logical partitions" 112 depends on PPC_PSERIES 113 select LPARCFG 114 help 115 Select this option to enable shared memory partition support. 116 With this option a system running in an LPAR can be given more 117 memory than physically available and will allow firmware to 118 balance memory across many LPARs. 119 120config CMM 121 tristate "Collaborative memory management" 122 depends on PPC_SMLPAR 123 select BALLOON 124 default y 125 help 126 Select this option, if you want to enable the kernel interface 127 to reduce the memory size of the system. This is accomplished 128 by allocating pages of memory and put them "on hold". This only 129 makes sense for a system running in an LPAR where the unused pages 130 will be reused for other LPARs. The interface allows firmware to 131 balance memory across many LPARs. 132 133config HTMDUMP 134 tristate "PowerVM data dumper" 135 depends on PPC_PSERIES && DEBUG_FS 136 default m 137 help 138 Select this option, if you want to enable the kernel debugfs 139 interface to dump the Hardware Trace Macro (HTM) function data 140 in the LPAR. 141 142config HV_PERF_CTRS 143 bool "Hypervisor supplied PMU events (24x7 & GPCI)" 144 default y 145 depends on PERF_EVENTS && PPC_PSERIES 146 help 147 Enable access to hypervisor supplied counters in perf. Currently, 148 this enables code that uses the hcall GetPerfCounterInfo and 24x7 149 interfaces to retrieve counters. GPCI exists on Power 6 and later 150 systems. 24x7 is available on Power 8 and later systems. 151 152 If unsure, select Y. 153 154config VPA_PMU 155 tristate "VPA PMU events" 156 depends on KVM_BOOK3S_64_HV && HV_PERF_CTRS 157 default m 158 help 159 Enable access to the VPA PMU counters via perf. This enables 160 code that support measurement for KVM on PowerVM(KoP) feature. 161 PAPR hypervisor has introduced three new counters in the VPA area 162 of LPAR CPUs for KVM L2 guest observability. Two for context switches 163 from host to guest and vice versa, and one counter for getting 164 the total time spent inside the KVM guest. This config enables code 165 that access these software counters via perf. 166 167 If unsure, Select N. 168 169config IBMVIO 170 depends on PPC_PSERIES 171 bool 172 default y 173 174config IBMEBUS 175 depends on PPC_PSERIES && !CPU_LITTLE_ENDIAN 176 bool "Support for GX bus based adapters" 177 help 178 Bus device driver for GX bus based adapters. 179 180config PSERIES_PLPKS 181 depends on PPC_PSERIES 182 select NLS 183 bool 184 # PowerVM provides an isolated Platform Keystore (PKS) storage 185 # allocation for each LPAR with individually managed access 186 # controls to store sensitive information securely. It can be 187 # used to store asymmetric public keys or secrets as required 188 # by different usecases. 189 # 190 # This option is selected by in-kernel consumers that require 191 # access to the PKS. 192 193config PSERIES_PLPKS_SED 194 depends on PPC_PSERIES 195 bool 196 # This option is selected by in-kernel consumers that require 197 # access to the SED PKS keystore. 198 199config PAPR_SCM 200 depends on PPC_PSERIES && MEMORY_HOTPLUG && LIBNVDIMM 201 tristate "Support for the PAPR Storage Class Memory interface" 202 help 203 Enable access to hypervisor provided storage class memory. 204 205config PPC_SVM 206 bool "Secure virtual machine (SVM) support for POWER" 207 depends on PPC_PSERIES 208 select SWIOTLB 209 select ARCH_HAS_MEM_ENCRYPT 210 select ARCH_HAS_FORCE_DMA_UNENCRYPTED 211 select ARCH_HAS_CC_PLATFORM 212 help 213 There are certain POWER platforms which support secure guests using 214 the Protected Execution Facility, with the help of an Ultravisor 215 executing below the hypervisor layer. This enables support for 216 those guests. 217 218 If unsure, say "N". 219