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