Loading...
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_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
109config 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
121config 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.
1if TTY
2
3config HVC_DRIVER
4 bool
5 help
6 Generic "hypervisor virtual console" infrastructure for various
7 hypervisors (pSeries, iSeries, Xen, lguest).
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 default n
28
29config HVC_OPAL
30 bool "OPAL Console support"
31 depends on PPC_POWERNV
32 select HVC_DRIVER
33 select HVC_IRQ
34 default y
35 help
36 PowerNV machines running under OPAL need that driver to get a console
37
38config HVC_RTAS
39 bool "IBM RTAS Console support"
40 depends on PPC_RTAS
41 select HVC_DRIVER
42 help
43 IBM Console device driver which makes use of RTAS
44
45config HVC_IUCV
46 bool "z/VM IUCV Hypervisor console support (VM only)"
47 depends on S390
48 select HVC_DRIVER
49 select IUCV
50 default y
51 help
52 This driver provides a Hypervisor console (HVC) back-end to access
53 a Linux (console) terminal via a z/VM IUCV communication path.
54
55config HVC_XEN
56 bool "Xen Hypervisor Console support"
57 depends on XEN
58 select HVC_DRIVER
59 select HVC_IRQ
60 default y
61 help
62 Xen virtual console device driver
63
64config HVC_XEN_FRONTEND
65 bool "Xen Hypervisor Multiple Consoles support"
66 depends on HVC_XEN
67 select XEN_XENBUS_FRONTEND
68 default y
69 help
70 Xen driver for secondary virtual consoles
71
72config HVC_UDBG
73 bool "udbg based fake hypervisor console"
74 depends on PPC
75 select HVC_DRIVER
76 default n
77 help
78 This is meant to be used during HW bring up or debugging when
79 no other console mechanism exist but udbg, to get you a quick
80 console for userspace. Do NOT enable in production kernels.
81
82config HVC_DCC
83 bool "ARM JTAG DCC console"
84 depends on ARM || ARM64
85 select HVC_DRIVER
86 help
87 This console uses the JTAG DCC on ARM to create a console under the HVC
88 driver. This console is used through a JTAG only on ARM. If you don't have
89 a JTAG then you probably don't want this option.
90
91config HVC_BFIN_JTAG
92 bool "Blackfin JTAG console"
93 depends on BLACKFIN
94 select HVC_DRIVER
95 help
96 This console uses the Blackfin JTAG to create a console under the
97 the HVC driver. If you don't have JTAG, then you probably don't
98 want this option.
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
117endif # TTY