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