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