hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/tty/hvc/Kconfig
....@@ -1,4 +1,4 @@
1
-if TTY
1
+# SPDX-License-Identifier: GPL-2.0
22
33 config HVC_DRIVER
44 bool
....@@ -24,7 +24,6 @@
2424 config HVC_OLD_HVSI
2525 bool "Old driver for pSeries serial port (/dev/hvsi*)"
2626 depends on HVC_CONSOLE
27
- default n
2827
2928 config HVC_OPAL
3029 bool "OPAL Console support"
....@@ -70,27 +69,48 @@
7069 Xen driver for secondary virtual consoles
7170
7271 config 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.
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.
8179
8280 config 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.
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
+
90
+config HVC_DCC_SERIALIZE_SMP
91
+ bool "Use DCC only on core 0"
92
+ depends on SMP && HVC_DCC
93
+ help
94
+ Some debuggers, such as Trace32 from Lauterbach GmbH, do not handle
95
+ reads/writes from/to DCC on more than one core. Each core has its
96
+ own DCC device registers, so when a core reads or writes from/to DCC,
97
+ it only accesses its own DCC device. Since kernel code can run on
98
+ any core, every time the kernel wants to write to the console, it
99
+ might write to a different DCC.
100
+
101
+ In SMP mode, Trace32 only uses the DCC on core 0. In AMP mode, it
102
+ creates multiple windows, and each window shows the DCC output
103
+ only from that core's DCC. The result is that console output is
104
+ either lost or scattered across windows.
105
+
106
+ Selecting this option will enable code that serializes all console
107
+ input and output to core 0. The DCC driver will create input and
108
+ output FIFOs that all cores will use. Reads and writes from/to DCC
109
+ are handled by a workqueue that runs only core 0.
90110
91111 config HVC_RISCV_SBI
92112 bool "RISC-V SBI console support"
93
- depends on RISCV
113
+ depends on RISCV_SBI_V01
94114 select HVC_DRIVER
95115 help
96116 This enables support for console output via RISC-V SBI calls, which
....@@ -114,5 +134,3 @@
114134 will depend on arch specific APIs exported from hvcserver.ko
115135 which will also be compiled when this driver is built as a
116136 module.
117
-
118
-endif # TTY