# SPDX-License-Identifier: GPL-2.0
if TTY

config HVC_DRIVER
	bool
	help
	  Generic "hypervisor virtual console" infrastructure for various
	  hypervisors (pSeries, iSeries, Xen).
	  It will automatically be selected if one of the back-end console drivers
	  is selected.

config HVC_IRQ
	bool

config HVC_CONSOLE
	bool "pSeries Hypervisor Virtual Console support"
	depends on PPC_PSERIES
	select HVC_DRIVER
	select HVC_IRQ
	help
	  pSeries machines when partitioned support a hypervisor virtual
	  console. This driver allows each pSeries partition to have a console
	  which is accessed via the HMC.

config HVC_OLD_HVSI
	bool "Old driver for pSeries serial port (/dev/hvsi*)"
	depends on HVC_CONSOLE

config HVC_OPAL
	bool "OPAL Console support"
	depends on PPC_POWERNV
	select HVC_DRIVER
	select HVC_IRQ
	default y
	help
	  PowerNV machines running under OPAL need that driver to get a console

config HVC_RTAS
	bool "IBM RTAS Console support"
	depends on PPC_RTAS
	select HVC_DRIVER
	help
	  IBM Console device driver which makes use of RTAS

config HVC_IUCV
	bool "z/VM IUCV Hypervisor console support (VM only)"
	depends on S390 && NET
	select HVC_DRIVER
	select IUCV
	default y
	help
	  This driver provides a Hypervisor console (HVC) back-end to access
	  a Linux (console) terminal via a z/VM IUCV communication path.

config HVC_XEN
	bool "Xen Hypervisor Console support"
	depends on XEN
	select HVC_DRIVER
	select HVC_IRQ
	default y
	help
	  Xen virtual console device driver

config HVC_XEN_FRONTEND
	bool "Xen Hypervisor Multiple Consoles support"
	depends on HVC_XEN
	select XEN_XENBUS_FRONTEND
	default y
	help
	  Xen driver for secondary virtual consoles

config HVC_UDBG
       bool "udbg based fake hypervisor console"
       depends on PPC
       select HVC_DRIVER
       help
         This is meant to be used during HW bring up or debugging when
	 no other console mechanism exist but udbg, to get you a quick
	 console for userspace. Do NOT enable in production kernels. 

config HVC_DCC
       bool "ARM JTAG DCC console"
       depends on ARM || ARM64
       select HVC_DRIVER
       help
         This console uses the JTAG DCC on ARM to create a console under the HVC
	 driver. This console is used through a JTAG only on ARM. If you don't have
	 a JTAG then you probably don't want this option.

config HVC_RISCV_SBI
	bool "RISC-V SBI console support"
	depends on RISCV
	select HVC_DRIVER
	help
	  This enables support for console output via RISC-V SBI calls, which
	  is normally used only during boot to output printk.

	  If you don't know what do to here, say Y.

config HVCS
	tristate "IBM Hypervisor Virtual Console Server support"
	depends on PPC_PSERIES && HVC_CONSOLE
	help
	  Partitionable IBM Power5 ppc64 machines allow hosting of
	  firmware virtual consoles from one Linux partition by
	  another Linux partition.  This driver allows console data
	  from Linux partitions to be accessed through TTY device
	  interfaces in the device tree of a Linux partition running
	  this driver.

	  To compile this driver as a module, choose M here: the
	  module will be called hvcs.  Additionally, this module
	  will depend on arch specific APIs exported from hvcserver.ko
	  which will also be compiled when this driver is built as a
	  module.

endif # TTY
