18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciconfig HVC_DRIVER
48c2ecf20Sopenharmony_ci	bool
58c2ecf20Sopenharmony_ci	help
68c2ecf20Sopenharmony_ci	  Generic "hypervisor virtual console" infrastructure for various
78c2ecf20Sopenharmony_ci	  hypervisors (pSeries, iSeries, Xen).
88c2ecf20Sopenharmony_ci	  It will automatically be selected if one of the back-end console drivers
98c2ecf20Sopenharmony_ci	  is selected.
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciconfig HVC_IRQ
128c2ecf20Sopenharmony_ci	bool
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciconfig HVC_CONSOLE
158c2ecf20Sopenharmony_ci	bool "pSeries Hypervisor Virtual Console support"
168c2ecf20Sopenharmony_ci	depends on PPC_PSERIES
178c2ecf20Sopenharmony_ci	select HVC_DRIVER
188c2ecf20Sopenharmony_ci	select HVC_IRQ
198c2ecf20Sopenharmony_ci	help
208c2ecf20Sopenharmony_ci	  pSeries machines when partitioned support a hypervisor virtual
218c2ecf20Sopenharmony_ci	  console. This driver allows each pSeries partition to have a console
228c2ecf20Sopenharmony_ci	  which is accessed via the HMC.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciconfig HVC_OLD_HVSI
258c2ecf20Sopenharmony_ci	bool "Old driver for pSeries serial port (/dev/hvsi*)"
268c2ecf20Sopenharmony_ci	depends on HVC_CONSOLE
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciconfig HVC_OPAL
298c2ecf20Sopenharmony_ci	bool "OPAL Console support"
308c2ecf20Sopenharmony_ci	depends on PPC_POWERNV
318c2ecf20Sopenharmony_ci	select HVC_DRIVER
328c2ecf20Sopenharmony_ci	select HVC_IRQ
338c2ecf20Sopenharmony_ci	default y
348c2ecf20Sopenharmony_ci	help
358c2ecf20Sopenharmony_ci	  PowerNV machines running under OPAL need that driver to get a console
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciconfig HVC_RTAS
388c2ecf20Sopenharmony_ci	bool "IBM RTAS Console support"
398c2ecf20Sopenharmony_ci	depends on PPC_RTAS
408c2ecf20Sopenharmony_ci	select HVC_DRIVER
418c2ecf20Sopenharmony_ci	help
428c2ecf20Sopenharmony_ci	  IBM Console device driver which makes use of RTAS
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciconfig HVC_IUCV
458c2ecf20Sopenharmony_ci	bool "z/VM IUCV Hypervisor console support (VM only)"
468c2ecf20Sopenharmony_ci	depends on S390 && NET
478c2ecf20Sopenharmony_ci	select HVC_DRIVER
488c2ecf20Sopenharmony_ci	select IUCV
498c2ecf20Sopenharmony_ci	default y
508c2ecf20Sopenharmony_ci	help
518c2ecf20Sopenharmony_ci	  This driver provides a Hypervisor console (HVC) back-end to access
528c2ecf20Sopenharmony_ci	  a Linux (console) terminal via a z/VM IUCV communication path.
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ciconfig HVC_XEN
558c2ecf20Sopenharmony_ci	bool "Xen Hypervisor Console support"
568c2ecf20Sopenharmony_ci	depends on XEN
578c2ecf20Sopenharmony_ci	select HVC_DRIVER
588c2ecf20Sopenharmony_ci	select HVC_IRQ
598c2ecf20Sopenharmony_ci	default y
608c2ecf20Sopenharmony_ci	help
618c2ecf20Sopenharmony_ci	  Xen virtual console device driver
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ciconfig HVC_XEN_FRONTEND
648c2ecf20Sopenharmony_ci	bool "Xen Hypervisor Multiple Consoles support"
658c2ecf20Sopenharmony_ci	depends on HVC_XEN
668c2ecf20Sopenharmony_ci	select XEN_XENBUS_FRONTEND
678c2ecf20Sopenharmony_ci	default y
688c2ecf20Sopenharmony_ci	help
698c2ecf20Sopenharmony_ci	  Xen driver for secondary virtual consoles
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ciconfig HVC_UDBG
728c2ecf20Sopenharmony_ci	bool "udbg based fake hypervisor console"
738c2ecf20Sopenharmony_ci	depends on PPC
748c2ecf20Sopenharmony_ci	select HVC_DRIVER
758c2ecf20Sopenharmony_ci	help
768c2ecf20Sopenharmony_ci	  This is meant to be used during HW bring up or debugging when
778c2ecf20Sopenharmony_ci	  no other console mechanism exist but udbg, to get you a quick
788c2ecf20Sopenharmony_ci	  console for userspace. Do NOT enable in production kernels.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ciconfig HVC_DCC
818c2ecf20Sopenharmony_ci	bool "ARM JTAG DCC console"
828c2ecf20Sopenharmony_ci	depends on ARM || ARM64
838c2ecf20Sopenharmony_ci	select HVC_DRIVER
848c2ecf20Sopenharmony_ci	select SERIAL_CORE_CONSOLE
858c2ecf20Sopenharmony_ci	help
868c2ecf20Sopenharmony_ci	  This console uses the JTAG DCC on ARM to create a console under the HVC
878c2ecf20Sopenharmony_ci	  driver. This console is used through a JTAG only on ARM. If you don't have
888c2ecf20Sopenharmony_ci	  a JTAG then you probably don't want this option.
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ciconfig HVC_RISCV_SBI
918c2ecf20Sopenharmony_ci	bool "RISC-V SBI console support"
928c2ecf20Sopenharmony_ci	depends on RISCV_SBI_V01
938c2ecf20Sopenharmony_ci	select HVC_DRIVER
948c2ecf20Sopenharmony_ci	help
958c2ecf20Sopenharmony_ci	  This enables support for console output via RISC-V SBI calls, which
968c2ecf20Sopenharmony_ci	  is normally used only during boot to output printk.
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ci	  If you don't know what do to here, say Y.
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ciconfig HVCS
1018c2ecf20Sopenharmony_ci	tristate "IBM Hypervisor Virtual Console Server support"
1028c2ecf20Sopenharmony_ci	depends on PPC_PSERIES && HVC_CONSOLE
1038c2ecf20Sopenharmony_ci	help
1048c2ecf20Sopenharmony_ci	  Partitionable IBM Power5 ppc64 machines allow hosting of
1058c2ecf20Sopenharmony_ci	  firmware virtual consoles from one Linux partition by
1068c2ecf20Sopenharmony_ci	  another Linux partition.  This driver allows console data
1078c2ecf20Sopenharmony_ci	  from Linux partitions to be accessed through TTY device
1088c2ecf20Sopenharmony_ci	  interfaces in the device tree of a Linux partition running
1098c2ecf20Sopenharmony_ci	  this driver.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1128c2ecf20Sopenharmony_ci	  module will be called hvcs.  Additionally, this module
1138c2ecf20Sopenharmony_ci	  will depend on arch specific APIs exported from hvcserver.ko
1148c2ecf20Sopenharmony_ci	  which will also be compiled when this driver is built as a
1158c2ecf20Sopenharmony_ci	  module.
116