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