| # SPDX-License-Identifier: GPL-2.0 |
| |
| config HVC_DRIVER |
| bool |
| help |
| Generic "hypervisor virtual console" infrastructure for various |
| hypervisors (pSeries, iSeries, Xen). |
| It will automatically be selected if one of the back-end console drivers |
| is selected. |
| |
| config HVC_IRQ |
| bool |
| |
| config HVC_CONSOLE |
| bool "pSeries Hypervisor Virtual Console support" |
| depends on PPC_PSERIES |
| select HVC_DRIVER |
| select HVC_IRQ |
| help |
| pSeries machines when partitioned support a hypervisor virtual |
| console. This driver allows each pSeries partition to have a console |
| which is accessed via the HMC. |
| |
| config HVC_OLD_HVSI |
| bool "Old driver for pSeries serial port (/dev/hvsi*)" |
| depends on HVC_CONSOLE |
| |
| config HVC_OPAL |
| bool "OPAL Console support" |
| depends on PPC_POWERNV |
| select HVC_DRIVER |
| select HVC_IRQ |
| default y |
| help |
| PowerNV machines running under OPAL need that driver to get a console |
| |
| config HVC_RTAS |
| bool "IBM RTAS Console support" |
| depends on PPC_RTAS |
| select HVC_DRIVER |
| help |
| IBM Console device driver which makes use of RTAS |
| |
| config HVC_IUCV |
| bool "z/VM IUCV Hypervisor console support (VM only)" |
| depends on S390 && NET |
| select HVC_DRIVER |
| select IUCV |
| default y |
| help |
| This driver provides a Hypervisor console (HVC) back-end to access |
| a Linux (console) terminal via a z/VM IUCV communication path. |
| |
| config HVC_XEN |
| bool "Xen Hypervisor Console support" |
| depends on XEN |
| select HVC_DRIVER |
| select HVC_IRQ |
| default y |
| help |
| Xen virtual console device driver |
| |
| config HVC_XEN_FRONTEND |
| bool "Xen Hypervisor Multiple Consoles support" |
| depends on HVC_XEN |
| select XEN_XENBUS_FRONTEND |
| default y |
| help |
| Xen driver for secondary virtual consoles |
| |
| config HVC_UDBG |
| bool "udbg based fake hypervisor console" |
| depends on PPC |
| select HVC_DRIVER |
| help |
| This is meant to be used during HW bring up or debugging when |
| no other console mechanism exist but udbg, to get you a quick |
| console for userspace. Do NOT enable in production kernels. |
| |
| config HVC_DCC |
| bool "ARM JTAG DCC console" |
| depends on ARM || ARM64 |
| select HVC_DRIVER |
| select SERIAL_CORE_CONSOLE |
| help |
| This console uses the JTAG DCC on ARM to create a console under the HVC |
| driver. This console is used through a JTAG only on ARM. If you don't have |
| a JTAG then you probably don't want this option. |
| |
| config HVC_DCC_SERIALIZE_SMP |
| bool "Use DCC only on core 0" |
| depends on SMP && HVC_DCC |
| help |
| Some debuggers, such as Trace32 from Lauterbach GmbH, do not handle |
| reads/writes from/to DCC on more than one core. Each core has its |
| own DCC device registers, so when a core reads or writes from/to DCC, |
| it only accesses its own DCC device. Since kernel code can run on |
| any core, every time the kernel wants to write to the console, it |
| might write to a different DCC. |
| |
| In SMP mode, Trace32 only uses the DCC on core 0. In AMP mode, it |
| creates multiple windows, and each window shows the DCC output |
| only from that core's DCC. The result is that console output is |
| either lost or scattered across windows. |
| |
| Selecting this option will enable code that serializes all console |
| input and output to core 0. The DCC driver will create input and |
| output FIFOs that all cores will use. Reads and writes from/to DCC |
| are handled by a workqueue that runs only core 0. |
| |
| config HVC_RISCV_SBI |
| bool "RISC-V SBI console support" |
| depends on RISCV_SBI_V01 |
| select HVC_DRIVER |
| help |
| This enables support for console output via RISC-V SBI calls, which |
| is normally used only during boot to output printk. |
| |
| If you don't know what do to here, say Y. |
| |
| config HVCS |
| tristate "IBM Hypervisor Virtual Console Server support" |
| depends on PPC_PSERIES && HVC_CONSOLE |
| help |
| Partitionable IBM Power5 ppc64 machines allow hosting of |
| firmware virtual consoles from one Linux partition by |
| another Linux partition. This driver allows console data |
| from Linux partitions to be accessed through TTY device |
| interfaces in the device tree of a Linux partition running |
| this driver. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called hvcs. Additionally, this module |
| will depend on arch specific APIs exported from hvcserver.ko |
| which will also be compiled when this driver is built as a |
| module. |