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