# SPDX-License-Identifier: GPL-2.0
config PPC_POWERNV
	depends on PPC64 && PPC_BOOK3S
	bool "IBM PowerNV (Non-Virtualized) platform support"
	select PPC_NATIVE
	select PPC_XICS
	select PPC_ICP_NATIVE
	select PPC_XIVE_NATIVE
	select PPC_P7_NAP
	select FORCE_PCI
	select PCI_MSI
	select EPAPR_BOOT
	select PPC_INDIRECT_PIO
	select PPC_UDBG_16550
	select PPC_SCOM
	select ARCH_RANDOM
	select CPU_FREQ
	select PPC_DOORBELL
	select MMU_NOTIFIER
	select FORCE_SMP
	default y

config OPAL_PRD
	tristate 'OPAL PRD driver'
	depends on PPC_POWERNV
	help
	  This enables the opal-prd driver, a facility to run processor
	  recovery diagnostics on OpenPower machines

config PPC_MEMTRACE
	bool "Enable removal of RAM from kernel mappings for tracing"
	depends on PPC_POWERNV && MEMORY_HOTREMOVE
	help
	  Enabling this option allows for the removal of memory (RAM)
	  from the kernel mappings to be used for hardware tracing.

config PPC_VAS
	bool "IBM Virtual Accelerator Switchboard (VAS)"
	depends on PPC_POWERNV && PPC_64K_PAGES
	default y
	help
	  This enables support for IBM Virtual Accelerator Switchboard (VAS).

	  VAS allows accelerators in co-processors like NX-GZIP and NX-842
	  to be accessible to kernel subsystems and user processes.

	  VAS adapters are found in POWER9 based systems.

	  If unsure, say N.
