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