Greg Kroah-Hartman | 38c91d1 | 2019-04-02 16:07:07 +0200 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 |
Joe Millenbach | 4f73bc4 | 2013-01-17 22:44:22 -0800 | [diff] [blame] | 2 | |
Greg Kroah-Hartman | bdcffc5 | 2011-02-22 15:41:47 -0800 | [diff] [blame] | 3 | config HVC_DRIVER |
| 4 | bool |
| 5 | help |
| 6 | Generic "hypervisor virtual console" infrastructure for various |
Juergen Gross | ecda85e | 2017-08-16 19:31:57 +0200 | [diff] [blame] | 7 | hypervisors (pSeries, iSeries, Xen). |
Greg Kroah-Hartman | bdcffc5 | 2011-02-22 15:41:47 -0800 | [diff] [blame] | 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 | |
Benjamin Herrenschmidt | 4d2bb3f | 2011-05-12 13:46:38 +1000 | [diff] [blame] | 24 | config HVC_OLD_HVSI |
| 25 | bool "Old driver for pSeries serial port (/dev/hvsi*)" |
| 26 | depends on HVC_CONSOLE |
Benjamin Herrenschmidt | 4d2bb3f | 2011-05-12 13:46:38 +1000 | [diff] [blame] | 27 | |
Benjamin Herrenschmidt | daea117 | 2011-09-19 17:44:59 +0000 | [diff] [blame] | 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 | |
Greg Kroah-Hartman | bdcffc5 | 2011-02-22 15:41:47 -0800 | [diff] [blame] | 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 | |
Greg Kroah-Hartman | bdcffc5 | 2011-02-22 15:41:47 -0800 | [diff] [blame] | 44 | config HVC_IUCV |
| 45 | bool "z/VM IUCV Hypervisor console support (VM only)" |
Heiko Carstens | 20d58cb | 2017-05-08 08:03:32 +0200 | [diff] [blame] | 46 | depends on S390 && NET |
Greg Kroah-Hartman | bdcffc5 | 2011-02-22 15:41:47 -0800 | [diff] [blame] | 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 | |
Stefano Stabellini | cf8e019 | 2012-02-21 11:30:42 +0000 | [diff] [blame] | 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 | |
Greg Kroah-Hartman | bdcffc5 | 2011-02-22 15:41:47 -0800 | [diff] [blame] | 71 | config HVC_UDBG |
Krzysztof Kozlowski | da88ac0 | 2019-11-21 21:28:47 +0800 | [diff] [blame] | 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. |
Greg Kroah-Hartman | bdcffc5 | 2011-02-22 15:41:47 -0800 | [diff] [blame] | 79 | |
| 80 | config HVC_DCC |
Krzysztof Kozlowski | da88ac0 | 2019-11-21 21:28:47 +0800 | [diff] [blame] | 81 | bool "ARM JTAG DCC console" |
| 82 | depends on ARM || ARM64 |
| 83 | select HVC_DRIVER |
Yang Yingliang | 75fc650 | 2020-09-19 14:35:35 +0800 | [diff] [blame] | 84 | select SERIAL_CORE_CONSOLE |
Krzysztof Kozlowski | da88ac0 | 2019-11-21 21:28:47 +0800 | [diff] [blame] | 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. |
Greg Kroah-Hartman | bdcffc5 | 2011-02-22 15:41:47 -0800 | [diff] [blame] | 89 | |
Shanker Donthineni | 4419da5 | 2022-04-28 14:38:58 +0530 | [diff] [blame] | 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 | |
Palmer Dabbelt | afa6b1c | 2018-03-08 14:27:34 -0800 | [diff] [blame] | 109 | config HVC_RISCV_SBI |
| 110 | bool "RISC-V SBI console support" |
Kefeng Wang | f9d89c9 | 2020-04-17 20:12:21 +0800 | [diff] [blame] | 111 | depends on RISCV_SBI_V01 |
Palmer Dabbelt | afa6b1c | 2018-03-08 14:27:34 -0800 | [diff] [blame] | 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. |
| 116 | |
| 117 | If you don't know what do to here, say Y. |
| 118 | |
Greg Kroah-Hartman | bdcffc5 | 2011-02-22 15:41:47 -0800 | [diff] [blame] | 119 | config HVCS |
| 120 | tristate "IBM Hypervisor Virtual Console Server support" |
| 121 | depends on PPC_PSERIES && HVC_CONSOLE |
| 122 | help |
| 123 | Partitionable IBM Power5 ppc64 machines allow hosting of |
| 124 | firmware virtual consoles from one Linux partition by |
| 125 | another Linux partition. This driver allows console data |
| 126 | from Linux partitions to be accessed through TTY device |
| 127 | interfaces in the device tree of a Linux partition running |
| 128 | this driver. |
| 129 | |
| 130 | To compile this driver as a module, choose M here: the |
| 131 | module will be called hvcs. Additionally, this module |
| 132 | will depend on arch specific APIs exported from hvcserver.ko |
| 133 | which will also be compiled when this driver is built as a |
| 134 | module. |