1# SPDX-License-Identifier: GPL-2.0
2
3config HVC_DRIVER
4	bool
5	help
6	  Generic "hypervisor virtual console" infrastructure for various
7	  hypervisors (pSeries, iSeries, Xen).
8	  It will automatically be selected if one of the back-end console drivers
9	  is selected.
10
11config HVC_IRQ
12	bool
13
14config HVC_CONSOLE
15	bool "pSeries Hypervisor Virtual Console support"
16	depends on PPC_PSERIES
17	select HVC_DRIVER
18	select HVC_IRQ
19	help
20	  pSeries machines when partitioned support a hypervisor virtual
21	  console. This driver allows each pSeries partition to have a console
22	  which is accessed via the HMC.
23
24config HVC_OLD_HVSI
25	bool "Old driver for pSeries serial port (/dev/hvsi*)"
26	depends on HVC_CONSOLE
27
28config HVC_OPAL
29	bool "OPAL Console support"
30	depends on PPC_POWERNV
31	select HVC_DRIVER
32	select HVC_IRQ
33	default y
34	help
35	  PowerNV machines running under OPAL need that driver to get a console
36
37config HVC_RTAS
38	bool "IBM RTAS Console support"
39	depends on PPC_RTAS
40	select HVC_DRIVER
41	help
42	  IBM Console device driver which makes use of RTAS
43
44config HVC_IUCV
45	bool "z/VM IUCV Hypervisor console support (VM only)"
46	depends on S390 && NET
47	select HVC_DRIVER
48	select IUCV
49	default y
50	help
51	  This driver provides a Hypervisor console (HVC) back-end to access
52	  a Linux (console) terminal via a z/VM IUCV communication path.
53
54config HVC_XEN
55	bool "Xen Hypervisor Console support"
56	depends on XEN
57	select HVC_DRIVER
58	select HVC_IRQ
59	default y
60	help
61	  Xen virtual console device driver
62
63config HVC_XEN_FRONTEND
64	bool "Xen Hypervisor Multiple Consoles support"
65	depends on HVC_XEN
66	select XEN_XENBUS_FRONTEND
67	default y
68	help
69	  Xen driver for secondary virtual consoles
70
71config HVC_UDBG
72	bool "udbg based fake hypervisor console"
73	depends on PPC
74	select HVC_DRIVER
75	help
76	  This is meant to be used during HW bring up or debugging when
77	  no other console mechanism exist but udbg, to get you a quick
78	  console for userspace. Do NOT enable in production kernels.
79
80config HVC_DCC
81	bool "ARM JTAG DCC console"
82	depends on ARM || ARM64
83	select HVC_DRIVER
84	select SERIAL_CORE_CONSOLE
85	help
86	  This console uses the JTAG DCC on ARM to create a console under the HVC
87	  driver. This console is used through a JTAG only on ARM. If you don't have
88	  a JTAG then you probably don't want this option.
89
90config HVC_RISCV_SBI
91	bool "RISC-V SBI console support"
92	depends on RISCV_SBI_V01
93	select HVC_DRIVER
94	help
95	  This enables support for console output via RISC-V SBI calls, which
96	  is normally used only during boot to output printk.
97
98	  If you don't know what do to here, say Y.
99
100config HVCS
101	tristate "IBM Hypervisor Virtual Console Server support"
102	depends on PPC_PSERIES && HVC_CONSOLE
103	help
104	  Partitionable IBM Power5 ppc64 machines allow hosting of
105	  firmware virtual consoles from one Linux partition by
106	  another Linux partition.  This driver allows console data
107	  from Linux partitions to be accessed through TTY device
108	  interfaces in the device tree of a Linux partition running
109	  this driver.
110
111	  To compile this driver as a module, choose M here: the
112	  module will be called hvcs.  Additionally, this module
113	  will depend on arch specific APIs exported from hvcserver.ko
114	  which will also be compiled when this driver is built as a
115	  module.
116