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