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