GNU Linux-libre 6.8.9-gnu
[releases.git] / drivers / tty / hvc / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2
3 config 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
11 config HVC_IRQ
12         bool
13
14 config 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
24 config HVC_OLD_HVSI
25         bool "Old driver for pSeries serial port (/dev/hvsi*)"
26         depends on HVC_CONSOLE
27
28 config 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
37 config 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
44 config 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
54 config 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
63 config 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
71 config 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
80 config 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
90 config HVC_DCC_SERIALIZE_SMP
91         bool "Use DCC only on CPU core 0"
92         depends on SMP && HVC_DCC
93         help
94           This is a DEBUG option to serialize all console input and output to CPU 0.
95           Some external debuggers, do not handle reads/writes from/to DCC on more
96           than one CPU core. Each core has its own DCC device registers, so when a
97           CPU core reads or writes from/to DCC, it only accesses its own DCC device.
98           Since kernel code can run on any CPU core, every time the kernel wants to
99           write to the console, it might write to a different DCC.
100
101           In SMP mode, external debuggers create multiple windows, and each window
102           shows the DCC output only from that core's DCC. The result is that
103           console output is either lost or scattered across windows.
104
105           Enable this option only if you are sure that you do not need features like
106           CPU hotplug to work. For example, during early chipset bringups without
107           debug serial console support. If unsure, say N.
108
109 config HVC_RISCV_SBI
110         bool "RISC-V SBI console support"
111         depends on RISCV_SBI && NONPORTABLE
112         select HVC_DRIVER
113         help
114           This enables support for console output via RISC-V SBI calls, which
115           is normally used only during boot to output printk.  This driver
116           conflicts with real console drivers and should not be enabled on
117           systems that directly access the console.
118
119           If you don't know what do to here, say N.
120
121 config HVCS
122         tristate "IBM Hypervisor Virtual Console Server support"
123         depends on PPC_PSERIES && HVC_CONSOLE
124         help
125           Partitionable IBM Power5 ppc64 machines allow hosting of
126           firmware virtual consoles from one Linux partition by
127           another Linux partition.  This driver allows console data
128           from Linux partitions to be accessed through TTY device
129           interfaces in the device tree of a Linux partition running
130           this driver.
131
132           To compile this driver as a module, choose M here: the
133           module will be called hvcs.  Additionally, this module
134           will depend on arch specific APIs exported from hvcserver.ko
135           which will also be compiled when this driver is built as a
136           module.