0001 # SPDX-License-Identifier: GPL-2.0
0002
0003 config HVC_DRIVER
0004 bool
0005 help
0006 Generic "hypervisor virtual console" infrastructure for various
0007 hypervisors (pSeries, iSeries, Xen).
0008 It will automatically be selected if one of the back-end console drivers
0009 is selected.
0010
0011 config HVC_IRQ
0012 bool
0013
0014 config HVC_CONSOLE
0015 bool "pSeries Hypervisor Virtual Console support"
0016 depends on PPC_PSERIES
0017 select HVC_DRIVER
0018 select HVC_IRQ
0019 help
0020 pSeries machines when partitioned support a hypervisor virtual
0021 console. This driver allows each pSeries partition to have a console
0022 which is accessed via the HMC.
0023
0024 config HVC_OLD_HVSI
0025 bool "Old driver for pSeries serial port (/dev/hvsi*)"
0026 depends on HVC_CONSOLE
0027
0028 config HVC_OPAL
0029 bool "OPAL Console support"
0030 depends on PPC_POWERNV
0031 select HVC_DRIVER
0032 select HVC_IRQ
0033 default y
0034 help
0035 PowerNV machines running under OPAL need that driver to get a console
0036
0037 config HVC_RTAS
0038 bool "IBM RTAS Console support"
0039 depends on PPC_RTAS
0040 select HVC_DRIVER
0041 help
0042 IBM Console device driver which makes use of RTAS
0043
0044 config HVC_IUCV
0045 bool "z/VM IUCV Hypervisor console support (VM only)"
0046 depends on S390 && NET
0047 select HVC_DRIVER
0048 select IUCV
0049 default y
0050 help
0051 This driver provides a Hypervisor console (HVC) back-end to access
0052 a Linux (console) terminal via a z/VM IUCV communication path.
0053
0054 config HVC_XEN
0055 bool "Xen Hypervisor Console support"
0056 depends on XEN
0057 select HVC_DRIVER
0058 select HVC_IRQ
0059 default y
0060 help
0061 Xen virtual console device driver
0062
0063 config HVC_XEN_FRONTEND
0064 bool "Xen Hypervisor Multiple Consoles support"
0065 depends on HVC_XEN
0066 select XEN_XENBUS_FRONTEND
0067 default y
0068 help
0069 Xen driver for secondary virtual consoles
0070
0071 config HVC_UDBG
0072 bool "udbg based fake hypervisor console"
0073 depends on PPC
0074 select HVC_DRIVER
0075 help
0076 This is meant to be used during HW bring up or debugging when
0077 no other console mechanism exist but udbg, to get you a quick
0078 console for userspace. Do NOT enable in production kernels.
0079
0080 config HVC_DCC
0081 bool "ARM JTAG DCC console"
0082 depends on ARM || ARM64
0083 select HVC_DRIVER
0084 select SERIAL_CORE_CONSOLE
0085 help
0086 This console uses the JTAG DCC on ARM to create a console under the HVC
0087 driver. This console is used through a JTAG only on ARM. If you don't have
0088 a JTAG then you probably don't want this option.
0089
0090 config HVC_DCC_SERIALIZE_SMP
0091 bool "Use DCC only on CPU core 0"
0092 depends on SMP && HVC_DCC
0093 help
0094 This is a DEBUG option to serialize all console input and output to CPU 0.
0095 Some external debuggers, do not handle reads/writes from/to DCC on more
0096 than one CPU core. Each core has its own DCC device registers, so when a
0097 CPU core reads or writes from/to DCC, it only accesses its own DCC device.
0098 Since kernel code can run on any CPU core, every time the kernel wants to
0099 write to the console, it might write to a different DCC.
0100
0101 In SMP mode, external debuggers create multiple windows, and each window
0102 shows the DCC output only from that core's DCC. The result is that
0103 console output is either lost or scattered across windows.
0104
0105 Enable this option only if you are sure that you do not need features like
0106 CPU hotplug to work. For example, during early chipset bringups without
0107 debug serial console support. If unsure, say N.
0108
0109 config HVC_RISCV_SBI
0110 bool "RISC-V SBI console support"
0111 depends on RISCV_SBI_V01
0112 select HVC_DRIVER
0113 help
0114 This enables support for console output via RISC-V SBI calls, which
0115 is normally used only during boot to output printk.
0116
0117 If you don't know what do to here, say Y.
0118
0119 config HVCS
0120 tristate "IBM Hypervisor Virtual Console Server support"
0121 depends on PPC_PSERIES && HVC_CONSOLE
0122 help
0123 Partitionable IBM Power5 ppc64 machines allow hosting of
0124 firmware virtual consoles from one Linux partition by
0125 another Linux partition. This driver allows console data
0126 from Linux partitions to be accessed through TTY device
0127 interfaces in the device tree of a Linux partition running
0128 this driver.
0129
0130 To compile this driver as a module, choose M here: the
0131 module will be called hvcs. Additionally, this module
0132 will depend on arch specific APIs exported from hvcserver.ko
0133 which will also be compiled when this driver is built as a
0134 module.