xref: /openbmc/linux/drivers/tty/hvc/Kconfig (revision 4419da5d)
138c91d1dSGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
24f73bc4dSJoe Millenbach
3bdcffc5aSGreg Kroah-Hartmanconfig HVC_DRIVER
4bdcffc5aSGreg Kroah-Hartman	bool
5bdcffc5aSGreg Kroah-Hartman	help
6bdcffc5aSGreg Kroah-Hartman	  Generic "hypervisor virtual console" infrastructure for various
7ecda85e7SJuergen Gross	  hypervisors (pSeries, iSeries, Xen).
8bdcffc5aSGreg Kroah-Hartman	  It will automatically be selected if one of the back-end console drivers
9bdcffc5aSGreg Kroah-Hartman	  is selected.
10bdcffc5aSGreg Kroah-Hartman
11bdcffc5aSGreg Kroah-Hartmanconfig HVC_IRQ
12bdcffc5aSGreg Kroah-Hartman	bool
13bdcffc5aSGreg Kroah-Hartman
14bdcffc5aSGreg Kroah-Hartmanconfig HVC_CONSOLE
15bdcffc5aSGreg Kroah-Hartman	bool "pSeries Hypervisor Virtual Console support"
16bdcffc5aSGreg Kroah-Hartman	depends on PPC_PSERIES
17bdcffc5aSGreg Kroah-Hartman	select HVC_DRIVER
18bdcffc5aSGreg Kroah-Hartman	select HVC_IRQ
19bdcffc5aSGreg Kroah-Hartman	help
20bdcffc5aSGreg Kroah-Hartman	  pSeries machines when partitioned support a hypervisor virtual
21bdcffc5aSGreg Kroah-Hartman	  console. This driver allows each pSeries partition to have a console
22bdcffc5aSGreg Kroah-Hartman	  which is accessed via the HMC.
23bdcffc5aSGreg Kroah-Hartman
244d2bb3f5SBenjamin Herrenschmidtconfig HVC_OLD_HVSI
254d2bb3f5SBenjamin Herrenschmidt	bool "Old driver for pSeries serial port (/dev/hvsi*)"
264d2bb3f5SBenjamin Herrenschmidt	depends on HVC_CONSOLE
274d2bb3f5SBenjamin Herrenschmidt
28daea1175SBenjamin Herrenschmidtconfig HVC_OPAL
29daea1175SBenjamin Herrenschmidt	bool "OPAL Console support"
30daea1175SBenjamin Herrenschmidt	depends on PPC_POWERNV
31daea1175SBenjamin Herrenschmidt	select HVC_DRIVER
32daea1175SBenjamin Herrenschmidt	select HVC_IRQ
33daea1175SBenjamin Herrenschmidt	default y
34daea1175SBenjamin Herrenschmidt	help
35daea1175SBenjamin Herrenschmidt	  PowerNV machines running under OPAL need that driver to get a console
36daea1175SBenjamin Herrenschmidt
37bdcffc5aSGreg Kroah-Hartmanconfig HVC_RTAS
38bdcffc5aSGreg Kroah-Hartman	bool "IBM RTAS Console support"
39bdcffc5aSGreg Kroah-Hartman	depends on PPC_RTAS
40bdcffc5aSGreg Kroah-Hartman	select HVC_DRIVER
41bdcffc5aSGreg Kroah-Hartman	help
42bdcffc5aSGreg Kroah-Hartman	  IBM Console device driver which makes use of RTAS
43bdcffc5aSGreg Kroah-Hartman
44bdcffc5aSGreg Kroah-Hartmanconfig HVC_IUCV
45bdcffc5aSGreg Kroah-Hartman	bool "z/VM IUCV Hypervisor console support (VM only)"
4620d58cb6SHeiko Carstens	depends on S390 && NET
47bdcffc5aSGreg Kroah-Hartman	select HVC_DRIVER
48bdcffc5aSGreg Kroah-Hartman	select IUCV
49bdcffc5aSGreg Kroah-Hartman	default y
50bdcffc5aSGreg Kroah-Hartman	help
51bdcffc5aSGreg Kroah-Hartman	  This driver provides a Hypervisor console (HVC) back-end to access
52bdcffc5aSGreg Kroah-Hartman	  a Linux (console) terminal via a z/VM IUCV communication path.
53bdcffc5aSGreg Kroah-Hartman
54bdcffc5aSGreg Kroah-Hartmanconfig HVC_XEN
55bdcffc5aSGreg Kroah-Hartman	bool "Xen Hypervisor Console support"
56bdcffc5aSGreg Kroah-Hartman	depends on XEN
57bdcffc5aSGreg Kroah-Hartman	select HVC_DRIVER
58bdcffc5aSGreg Kroah-Hartman	select HVC_IRQ
59bdcffc5aSGreg Kroah-Hartman	default y
60bdcffc5aSGreg Kroah-Hartman	help
61bdcffc5aSGreg Kroah-Hartman	  Xen virtual console device driver
62bdcffc5aSGreg Kroah-Hartman
63cf8e019bSStefano Stabelliniconfig HVC_XEN_FRONTEND
64cf8e019bSStefano Stabellini	bool "Xen Hypervisor Multiple Consoles support"
65cf8e019bSStefano Stabellini	depends on HVC_XEN
66cf8e019bSStefano Stabellini	select XEN_XENBUS_FRONTEND
67cf8e019bSStefano Stabellini	default y
68cf8e019bSStefano Stabellini	help
69cf8e019bSStefano Stabellini	  Xen driver for secondary virtual consoles
70cf8e019bSStefano Stabellini
71bdcffc5aSGreg Kroah-Hartmanconfig HVC_UDBG
72bdcffc5aSGreg Kroah-Hartman	bool "udbg based fake hypervisor console"
738b77562bSGreg Kroah-Hartman	depends on PPC
74bdcffc5aSGreg Kroah-Hartman	select HVC_DRIVER
757d3d897aSBenjamin Herrenschmidt	help
767d3d897aSBenjamin Herrenschmidt	  This is meant to be used during HW bring up or debugging when
777d3d897aSBenjamin Herrenschmidt	  no other console mechanism exist but udbg, to get you a quick
787d3d897aSBenjamin Herrenschmidt	  console for userspace. Do NOT enable in production kernels.
79bdcffc5aSGreg Kroah-Hartman
80bdcffc5aSGreg Kroah-Hartmanconfig HVC_DCC
81bdcffc5aSGreg Kroah-Hartman	bool "ARM JTAG DCC console"
824cad4c57SAbhimanyu Kapur	depends on ARM || ARM64
83bdcffc5aSGreg Kroah-Hartman	select HVC_DRIVER
8475fc6507SYang Yingliang	select SERIAL_CORE_CONSOLE
85bdcffc5aSGreg Kroah-Hartman	help
86bdcffc5aSGreg Kroah-Hartman	  This console uses the JTAG DCC on ARM to create a console under the HVC
87bdcffc5aSGreg Kroah-Hartman	  driver. This console is used through a JTAG only on ARM. If you don't have
88bdcffc5aSGreg Kroah-Hartman	  a JTAG then you probably don't want this option.
89bdcffc5aSGreg Kroah-Hartman
90*4419da5dSShanker Donthineniconfig HVC_DCC_SERIALIZE_SMP
91*4419da5dSShanker Donthineni	bool "Use DCC only on CPU core 0"
92*4419da5dSShanker Donthineni	depends on SMP && HVC_DCC
93*4419da5dSShanker Donthineni	help
94*4419da5dSShanker Donthineni	  This is a DEBUG option to serialize all console input and output to CPU 0.
95*4419da5dSShanker Donthineni	  Some external debuggers, do not handle reads/writes from/to DCC on more
96*4419da5dSShanker Donthineni	  than one CPU core. Each core has its own DCC device registers, so when a
97*4419da5dSShanker Donthineni	  CPU core reads or writes from/to DCC, it only accesses its own DCC device.
98*4419da5dSShanker Donthineni	  Since kernel code can run on any CPU core, every time the kernel wants to
99*4419da5dSShanker Donthineni	  write to the console, it might write to a different DCC.
100*4419da5dSShanker Donthineni
101*4419da5dSShanker Donthineni	  In SMP mode, external debuggers create multiple windows, and each window
102*4419da5dSShanker Donthineni	  shows the DCC output only from that core's DCC. The result is that
103*4419da5dSShanker Donthineni	  console output is either lost or scattered across windows.
104*4419da5dSShanker Donthineni
105*4419da5dSShanker Donthineni	  Enable this option only if you are sure that you do not need features like
106*4419da5dSShanker Donthineni	  CPU hotplug to work. For example, during early chipset bringups without
107*4419da5dSShanker Donthineni	  debug serial console support. If unsure, say N.
108*4419da5dSShanker Donthineni
109afa6b1ccSPalmer Dabbeltconfig HVC_RISCV_SBI
110afa6b1ccSPalmer Dabbelt	bool "RISC-V SBI console support"
111f9d89c94SKefeng Wang	depends on RISCV_SBI_V01
112afa6b1ccSPalmer Dabbelt	select HVC_DRIVER
113afa6b1ccSPalmer Dabbelt	help
114afa6b1ccSPalmer Dabbelt	  This enables support for console output via RISC-V SBI calls, which
115afa6b1ccSPalmer Dabbelt	  is normally used only during boot to output printk.
116afa6b1ccSPalmer Dabbelt
117afa6b1ccSPalmer Dabbelt	  If you don't know what do to here, say Y.
118afa6b1ccSPalmer Dabbelt
119bdcffc5aSGreg Kroah-Hartmanconfig HVCS
120bdcffc5aSGreg Kroah-Hartman	tristate "IBM Hypervisor Virtual Console Server support"
121bdcffc5aSGreg Kroah-Hartman	depends on PPC_PSERIES && HVC_CONSOLE
122bdcffc5aSGreg Kroah-Hartman	help
123bdcffc5aSGreg Kroah-Hartman	  Partitionable IBM Power5 ppc64 machines allow hosting of
124bdcffc5aSGreg Kroah-Hartman	  firmware virtual consoles from one Linux partition by
125bdcffc5aSGreg Kroah-Hartman	  another Linux partition.  This driver allows console data
126bdcffc5aSGreg Kroah-Hartman	  from Linux partitions to be accessed through TTY device
127bdcffc5aSGreg Kroah-Hartman	  interfaces in the device tree of a Linux partition running
128bdcffc5aSGreg Kroah-Hartman	  this driver.
129bdcffc5aSGreg Kroah-Hartman
130bdcffc5aSGreg Kroah-Hartman	  To compile this driver as a module, choose M here: the
131bdcffc5aSGreg Kroah-Hartman	  module will be called hvcs.  Additionally, this module
132bdcffc5aSGreg Kroah-Hartman	  will depend on arch specific APIs exported from hvcserver.ko
133bdcffc5aSGreg Kroah-Hartman	  which will also be compiled when this driver is built as a
134bdcffc5aSGreg Kroah-Hartman	  module.
135