xref: /linux/arch/powerpc/platforms/pseries/Kconfig (revision ec2e0fb07d789976c601bec19ecced7a501c3705)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
235a1245aSKumar Galaconfig PPC_PSERIES
328794d34SBenjamin Herrenschmidt	depends on PPC64 && PPC_BOOK3S
435a1245aSKumar Gala	bool "IBM pSeries & new (POWER5-based) iSeries"
58761f1abSRalf Baechle	select HAVE_PCSPKR_PLATFORM
635a1245aSKumar Gala	select MPIC
70f22dd39SGrant Likely	select OF_DYNAMIC
8eb01d42aSChristoph Hellwig	select FORCE_PCI
98a55c4baSMel Gorman	select PCI_MSI
10*daaa574aSNam Cao	select IRQ_MSI_LIB
116175b70dSRandy Dunlap	select GENERIC_ALLOCATOR
120b05ac6eSBenjamin Herrenschmidt	select PPC_XICS
13eac1e731SCédric Le Goater	select PPC_XIVE_SPAPR
140b05ac6eSBenjamin Herrenschmidt	select PPC_ICP_NATIVE
150b05ac6eSBenjamin Herrenschmidt	select PPC_ICP_HV
160b05ac6eSBenjamin Herrenschmidt	select PPC_ICS_RTAS
1735a1245aSKumar Gala	select PPC_I8259
1835a1245aSKumar Gala	select PPC_RTAS
193d541c4bSBenjamin Herrenschmidt	select PPC_RTAS_DAEMON
2035a1245aSKumar Gala	select RTAS_ERROR_LOGGING
2135a1245aSKumar Gala	select PPC_UDBG_16550
22e5e84f0aSIan Munsie	select PPC_DOORBELL
23270e2dc9SMichael Ellerman	select HOTPLUG_CPU
24270e2dc9SMichael Ellerman	select FORCE_SMP
251a047cc7SAlexey Kardashevskiy	select SWIOTLB
2670d4cbc8SLaurent Dufour	select ARCH_SUPPORTS_PER_VMA_LOCK
273700976fSMadhavan Srinivasan	select PPC_RADIX_BROADCAST_TLBIE if PPC_RADIX_MMU
2835a1245aSKumar Gala	default y
2914cf11afSPaul Mackerras
300e8a6313SNicholas Pigginconfig PARAVIRT
310e8a6313SNicholas Piggin	bool
320e8a6313SNicholas Piggin
3320c0e826SNicholas Pigginconfig PARAVIRT_SPINLOCKS
3420c0e826SNicholas Piggin	bool
3520c0e826SNicholas Piggin
360e8a6313SNicholas Pigginconfig PARAVIRT_TIME_ACCOUNTING
370e8a6313SNicholas Piggin	select PARAVIRT
380e8a6313SNicholas Piggin	bool
390e8a6313SNicholas Piggin
4014cf11afSPaul Mackerrasconfig PPC_SPLPAR
4114cf11afSPaul Mackerras	bool "Support for shared-processor logical partitions"
4220c0e826SNicholas Piggin	depends on PPC_PSERIES
4320c0e826SNicholas Piggin	select PARAVIRT_SPINLOCKS if PPC_QUEUED_SPINLOCKS
440e8a6313SNicholas Piggin	select PARAVIRT_TIME_ACCOUNTING if VIRT_CPU_ACCOUNTING_GEN
4520c0e826SNicholas Piggin	default y
4614cf11afSPaul Mackerras	help
4714cf11afSPaul Mackerras	  Enabling this option will make the kernel run more efficiently
4814cf11afSPaul Mackerras	  on logically-partitioned pSeries systems which use shared
4914cf11afSPaul Mackerras	  processors, that is, which share physical processors between
5014cf11afSPaul Mackerras	  two or more partitions.
5114cf11afSPaul Mackerras
5220c0e826SNicholas Piggin	  Say Y if you are unsure.
5320c0e826SNicholas Piggin
54e3a8446aSCody P Schaferconfig DTL
55e3a8446aSCody P Schafer	bool "Dispatch Trace Log"
56e3a8446aSCody P Schafer	depends on PPC_SPLPAR && DEBUG_FS
57e3a8446aSCody P Schafer	help
58e3a8446aSCody P Schafer	  SPLPAR machines can log hypervisor preempt & dispatch events to a
59e3a8446aSCody P Schafer	  kernel buffer. Saying Y here will enable logging these events,
60e3a8446aSCody P Schafer	  which are accessible through a debugfs file.
61e3a8446aSCody P Schafer
62e3a8446aSCody P Schafer	  Say N if you are unsure.
63e3a8446aSCody P Schafer
645742bd85SVaidyanathan Srinivasanconfig PSERIES_ENERGY
655742bd85SVaidyanathan Srinivasan	tristate "pSeries energy management capabilities driver"
665742bd85SVaidyanathan Srinivasan	depends on PPC_PSERIES
675742bd85SVaidyanathan Srinivasan	default y
685742bd85SVaidyanathan Srinivasan	help
695742bd85SVaidyanathan Srinivasan	  Provides interface to platform energy management capabilities
705742bd85SVaidyanathan Srinivasan	  on supported PSERIES platforms.
715742bd85SVaidyanathan Srinivasan	  Provides: /sys/devices/system/cpu/pseries_(de)activation_hint_list
725742bd85SVaidyanathan Srinivasan	  and /sys/devices/system/cpu/cpuN/pseries_(de)activation_hint
735742bd85SVaidyanathan Srinivasan
7477eafe10STseng-Hui (Frank) Linconfig IO_EVENT_IRQ
7577eafe10STseng-Hui (Frank) Lin	bool "IO Event Interrupt support"
7677eafe10STseng-Hui (Frank) Lin	depends on PPC_PSERIES
7777eafe10STseng-Hui (Frank) Lin	default y
7877eafe10STseng-Hui (Frank) Lin	help
7977eafe10STseng-Hui (Frank) Lin	  Select this option, if you want to enable support for IO Event
8077eafe10STseng-Hui (Frank) Lin	  interrupts. IO event interrupt is a mechanism provided by RTAS
8177eafe10STseng-Hui (Frank) Lin	  to return information about hardware error and non-error events
8277eafe10STseng-Hui (Frank) Lin	  which may need OS attention. RTAS returns events for multiple
8377eafe10STseng-Hui (Frank) Lin	  event types and scopes. Device drivers can register their handlers
8477eafe10STseng-Hui (Frank) Lin	  to receive events.
8577eafe10STseng-Hui (Frank) Lin
8677eafe10STseng-Hui (Frank) Lin	  This option will only enable the IO event platform code. You
8777eafe10STseng-Hui (Frank) Lin	  will still need to enable or compile the actual drivers
886b2aac42SMasanari Iida	  that use this infrastructure to handle IO event interrupts.
8977eafe10STseng-Hui (Frank) Lin
9077eafe10STseng-Hui (Frank) Lin	  Say Y if you are unsure.
9177eafe10STseng-Hui (Frank) Lin
9214cf11afSPaul Mackerrasconfig LPARCFG
9382dfdcaeSPaul Mackerras	bool "LPAR Configuration Data"
943d066d77SStephen Rothwell	depends on PPC_PSERIES
9514cf11afSPaul Mackerras	help
9614cf11afSPaul Mackerras	  Provide system capacity information via human readable
9714cf11afSPaul Mackerras	  <key word>=<value> pairs through a /proc/ppc64/lparcfg interface.
9836f8a2c4SMichael Ellerman
9936f8a2c4SMichael Ellermanconfig PPC_PSERIES_DEBUG
10036f8a2c4SMichael Ellerman	depends on PPC_PSERIES && PPC_EARLY_DEBUG
10136f8a2c4SMichael Ellerman	bool "Enable extra debug logging in platforms/pseries"
1024f44e8aeSEnrico Weigelt, metux IT consult	default y
10301cf6fe8SNishanth Aravamudan	help
10401cf6fe8SNishanth Aravamudan	  Say Y here if you want the pseries core to produce a bunch of
10501cf6fe8SNishanth Aravamudan	  debug messages to the system log. Select this if you are having a
10601cf6fe8SNishanth Aravamudan	  problem with the pseries core and want to see more of what is
10701cf6fe8SNishanth Aravamudan	  going on. This does not enable debugging in lpar.c, which must
10801cf6fe8SNishanth Aravamudan	  be manually done due to its verbosity.
10984af458bSBrian King
11084af458bSBrian Kingconfig PPC_SMLPAR
11184af458bSBrian King	bool "Support for shared-memory logical partitions"
11284af458bSBrian King	depends on PPC_PSERIES
11384af458bSBrian King	select LPARCFG
11484af458bSBrian King	help
11584af458bSBrian King	  Select this option to enable shared memory partition support.
11684af458bSBrian King	  With this option a system running in an LPAR can be given more
11784af458bSBrian King	  memory than physically available and will allow firmware to
11884af458bSBrian King	  balance memory across many LPARs.
11984af458bSBrian King
12084af458bSBrian Kingconfig CMM
12184af458bSBrian King	tristate "Collaborative memory management"
1228be8cf5bSBrian King	depends on PPC_SMLPAR
123fe030c9bSDavid Hildenbrand	select MEMORY_BALLOON
12484af458bSBrian King	default y
12584af458bSBrian King	help
12684af458bSBrian King	  Select this option, if you want to enable the kernel interface
12784af458bSBrian King	  to reduce the memory size of the system. This is accomplished
12884af458bSBrian King	  by allocating pages of memory and put them "on hold". This only
12984af458bSBrian King	  makes sense for a system running in an LPAR where the unused pages
13084af458bSBrian King	  will be reused for other LPARs. The interface allows firmware to
13184af458bSBrian King	  balance memory across many LPARs.
132fc59a3fcSJeremy Kerr
13381c3d637SAbhishek Dubeyconfig HTMDUMP
13481c3d637SAbhishek Dubey	tristate "PowerVM data dumper"
13581c3d637SAbhishek Dubey	depends on PPC_PSERIES && DEBUG_FS
13681c3d637SAbhishek Dubey	default m
13781c3d637SAbhishek Dubey	help
13881c3d637SAbhishek Dubey	  Select this option, if you want to enable the kernel debugfs
13981c3d637SAbhishek Dubey	  interface to dump the Hardware Trace Macro (HTM) function data
14081c3d637SAbhishek Dubey	  in the LPAR.
14181c3d637SAbhishek Dubey
14230daeb6cSCody P Schaferconfig HV_PERF_CTRS
14330daeb6cSCody P Schafer	bool "Hypervisor supplied PMU events (24x7 & GPCI)"
14430daeb6cSCody P Schafer	default y
14530daeb6cSCody P Schafer	depends on PERF_EVENTS && PPC_PSERIES
14630daeb6cSCody P Schafer	help
14730daeb6cSCody P Schafer	  Enable access to hypervisor supplied counters in perf. Currently,
14830daeb6cSCody P Schafer	  this enables code that uses the hcall GetPerfCounterInfo and 24x7
14930daeb6cSCody P Schafer	  interfaces to retrieve counters. GPCI exists on Power 6 and later
1502e6553aaSThiago Jung Bauermann	  systems. 24x7 is available on Power 8 and later systems.
15130daeb6cSCody P Schafer
15230daeb6cSCody P Schafer	  If unsure, select Y.
153139ac5afSMichael Ellerman
154176cda06SKajol Jainconfig VPA_PMU
155176cda06SKajol Jain	tristate "VPA PMU events"
156176cda06SKajol Jain	depends on KVM_BOOK3S_64_HV && HV_PERF_CTRS
157176cda06SKajol Jain	help
158176cda06SKajol Jain	  Enable access to the VPA PMU counters via perf. This enables
159176cda06SKajol Jain	  code that support measurement for KVM on PowerVM(KoP) feature.
160176cda06SKajol Jain	  PAPR hypervisor has introduced three new counters in the VPA area
161176cda06SKajol Jain	  of LPAR CPUs for KVM L2 guest observability. Two for context switches
162176cda06SKajol Jain	  from host to guest and vice versa, and one counter for getting
163176cda06SKajol Jain	  the total time spent inside the KVM guest. This config enables code
164176cda06SKajol Jain	  that access these software counters via perf.
165176cda06SKajol Jain
166176cda06SKajol Jain	  If unsure, Select N.
167176cda06SKajol Jain
168139ac5afSMichael Ellermanconfig IBMVIO
169139ac5afSMichael Ellerman	depends on PPC_PSERIES
170139ac5afSMichael Ellerman	bool
171139ac5afSMichael Ellerman	default y
17230757de2SMichael Ellerman
17330757de2SMichael Ellermanconfig IBMEBUS
17490ee8762SMichael Ellerman	depends on PPC_PSERIES && !CPU_LITTLE_ENDIAN
17530757de2SMichael Ellerman	bool "Support for GX bus based adapters"
17630757de2SMichael Ellerman	help
17730757de2SMichael Ellerman	  Bus device driver for GX bus based adapters.
178b5beae5eSOliver O'Halloran
1792454a7afSNayna Jainconfig PSERIES_PLPKS
1802454a7afSNayna Jain	depends on PPC_PSERIES
181ccadf154SRussell Currey	select NLS
18246b2cbebSAndrew Donnellan	bool
18346b2cbebSAndrew Donnellan	# PowerVM provides an isolated Platform Keystore (PKS) storage
18446b2cbebSAndrew Donnellan	# allocation for each LPAR with individually managed access
18546b2cbebSAndrew Donnellan	# controls to store sensitive information securely. It can be
18646b2cbebSAndrew Donnellan	# used to store asymmetric public keys or secrets as required
18746b2cbebSAndrew Donnellan	# by different usecases.
18846b2cbebSAndrew Donnellan	#
18946b2cbebSAndrew Donnellan	# This option is selected by in-kernel consumers that require
19046b2cbebSAndrew Donnellan	# access to the PKS.
1912454a7afSNayna Jain
192ec8cf230SGreg Joyceconfig PSERIES_PLPKS_SED
193ec8cf230SGreg Joyce	depends on PPC_PSERIES
194ec8cf230SGreg Joyce	bool
195ec8cf230SGreg Joyce	# This option is selected by in-kernel consumers that require
196ec8cf230SGreg Joyce	# access to the SED PKS keystore.
197ec8cf230SGreg Joyce
198b5beae5eSOliver O'Halloranconfig PAPR_SCM
19914ebfec0SOliver O'Halloran	depends on PPC_PSERIES && MEMORY_HOTPLUG && LIBNVDIMM
200b5beae5eSOliver O'Halloran	tristate "Support for the PAPR Storage Class Memory interface"
201b5beae5eSOliver O'Halloran	help
202b5beae5eSOliver O'Halloran	  Enable access to hypervisor provided storage class memory.
203136bc039SThiago Jung Bauermann
204136bc039SThiago Jung Bauermannconfig PPC_SVM
205136bc039SThiago Jung Bauermann	bool "Secure virtual machine (SVM) support for POWER"
206136bc039SThiago Jung Bauermann	depends on PPC_PSERIES
2072efbc58fSAnshuman Khandual	select SWIOTLB
2082efbc58fSAnshuman Khandual	select ARCH_HAS_MEM_ENCRYPT
2092efbc58fSAnshuman Khandual	select ARCH_HAS_FORCE_DMA_UNENCRYPTED
210bfebd37eSTom Lendacky	select ARCH_HAS_CC_PLATFORM
211136bc039SThiago Jung Bauermann	help
212136bc039SThiago Jung Bauermann	 There are certain POWER platforms which support secure guests using
213136bc039SThiago Jung Bauermann	 the Protected Execution Facility, with the help of an Ultravisor
214136bc039SThiago Jung Bauermann	 executing below the hypervisor layer. This enables support for
215136bc039SThiago Jung Bauermann	 those guests.
216136bc039SThiago Jung Bauermann
217136bc039SThiago Jung Bauermann	 If unsure, say "N".
218