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