]>
Commit | Line | Data |
---|---|---|
38c91d1d | 1 | # SPDX-License-Identifier: GPL-2.0 |
4f73bc4d JM |
2 | config TTY |
3 | bool "Enable TTY" if EXPERT | |
4 | default y | |
a7f7f624 | 5 | help |
4f73bc4d JM |
6 | Allows you to remove TTY support which can save space, and |
7 | blocks features that require TTY from inclusion in the kernel. | |
8 | TTY is required for any text terminals or serial port | |
9 | communication. Most users should leave this enabled. | |
10 | ||
11 | if TTY | |
12 | ||
bdcffc5a GKH |
13 | config VT |
14 | bool "Virtual terminal" if EXPERT | |
bdcffc5a | 15 | select INPUT |
0bbadafd | 16 | default y if !UML |
a7f7f624 | 17 | help |
bdcffc5a GKH |
18 | If you say Y here, you will get support for terminal devices with |
19 | display and keyboard devices. These are called "virtual" because you | |
20 | can run several virtual terminals (also called virtual consoles) on | |
21 | one physical terminal. This is rather useful, for example one | |
22 | virtual terminal can collect system messages and warnings, another | |
23 | one can be used for a text-mode user session, and a third could run | |
24 | an X session, all in parallel. Switching between virtual terminals | |
25 | is done with certain key combinations, usually Alt-<function key>. | |
26 | ||
27 | The setterm command ("man setterm") can be used to change the | |
28 | properties (such as colors or beeping) of a virtual terminal. The | |
29 | man page console_codes(4) ("man console_codes") contains the special | |
30 | character sequences that can be used to change those properties | |
31 | directly. The fonts used on virtual terminals can be changed with | |
32 | the setfont ("man setfont") command and the key bindings are defined | |
33 | with the loadkeys ("man loadkeys") command. | |
34 | ||
35 | You need at least one virtual terminal device in order to make use | |
36 | of your keyboard and monitor. Therefore, only people configuring an | |
37 | embedded system would want to say N here in order to save some | |
38 | memory; the only way to log into such a system is then via a serial | |
39 | or network connection. | |
40 | ||
41 | If unsure, say Y, or else you won't be able to do much with your new | |
42 | shiny Linux system :-) | |
43 | ||
44 | config CONSOLE_TRANSLATIONS | |
45 | depends on VT | |
46 | default y | |
47 | bool "Enable character translations in console" if EXPERT | |
a7f7f624 | 48 | help |
bdcffc5a GKH |
49 | This enables support for font mapping and Unicode translation |
50 | on virtual consoles. | |
51 | ||
52 | config VT_CONSOLE | |
53 | bool "Support for console on virtual terminal" if EXPERT | |
54 | depends on VT | |
55 | default y | |
a7f7f624 | 56 | help |
bdcffc5a GKH |
57 | The system console is the device which receives all kernel messages |
58 | and warnings and which allows logins in single user mode. If you | |
59 | answer Y here, a virtual terminal (the device used to interact with | |
60 | a physical terminal) can be used as system console. This is the most | |
61 | common mode of operations, so you should say Y here unless you want | |
62 | the kernel messages be output only to a serial port (in which case | |
63 | you should say Y to "Console on serial port", below). | |
64 | ||
65 | If you do say Y here, by default the currently visible virtual | |
66 | terminal (/dev/tty0) will be used as system console. You can change | |
67 | that with a kernel command line option such as "console=tty3" which | |
68 | would use the third virtual terminal as system console. (Try "man | |
69 | bootparam" or see the documentation of your boot loader (lilo or | |
70 | loadlin) about how to pass options to the kernel at boot time.) | |
71 | ||
72 | If unsure, say Y. | |
73 | ||
37cce26b HS |
74 | config VT_CONSOLE_SLEEP |
75 | def_bool y | |
76 | depends on VT_CONSOLE && PM_SLEEP | |
77 | ||
bdcffc5a GKH |
78 | config HW_CONSOLE |
79 | bool | |
0bbadafd | 80 | depends on VT |
bdcffc5a GKH |
81 | default y |
82 | ||
83 | config VT_HW_CONSOLE_BINDING | |
da88ac0b KK |
84 | bool "Support for binding and unbinding console drivers" |
85 | depends on HW_CONSOLE | |
a7f7f624 | 86 | help |
da88ac0b KK |
87 | The virtual terminal is the device that interacts with the physical |
88 | terminal through console drivers. On these systems, at least one | |
89 | console driver is loaded. In other configurations, additional console | |
90 | drivers may be enabled, such as the framebuffer console. If more than | |
91 | 1 console driver is enabled, setting this to 'y' will allow you to | |
92 | select the console driver that will serve as the backend for the | |
93 | virtual terminals. | |
bdcffc5a | 94 | |
da88ac0b KK |
95 | See <file:Documentation/driver-api/console.rst> for more |
96 | information. For framebuffer console users, please refer to | |
97 | <file:Documentation/fb/fbcon.rst>. | |
bdcffc5a GKH |
98 | |
99 | config UNIX98_PTYS | |
100 | bool "Unix98 PTY support" if EXPERT | |
101 | default y | |
a7f7f624 | 102 | help |
bdcffc5a GKH |
103 | A pseudo terminal (PTY) is a software device consisting of two |
104 | halves: a master and a slave. The slave device behaves identical to | |
105 | a physical terminal; the master device is used by a process to | |
106 | read data from and write data to the slave, thereby emulating a | |
107 | terminal. Typical programs for the master side are telnet servers | |
108 | and xterms. | |
109 | ||
110 | Linux has traditionally used the BSD-like names /dev/ptyxx for | |
111 | masters and /dev/ttyxx for slaves of pseudo terminals. This scheme | |
112 | has a number of problems. The GNU C library glibc 2.1 and later, | |
113 | however, supports the Unix98 naming standard: in order to acquire a | |
114 | pseudo terminal, a process opens /dev/ptmx; the number of the pseudo | |
115 | terminal is then made available to the process and the pseudo | |
116 | terminal slave can be accessed as /dev/pts/<number>. What was | |
117 | traditionally /dev/ttyp2 will then be /dev/pts/2, for example. | |
118 | ||
119 | All modern Linux systems use the Unix98 ptys. Say Y unless | |
120 | you're on an embedded system and want to conserve memory. | |
121 | ||
bdcffc5a GKH |
122 | config LEGACY_PTYS |
123 | bool "Legacy (BSD) PTY support" | |
124 | default y | |
a7f7f624 | 125 | help |
bdcffc5a GKH |
126 | A pseudo terminal (PTY) is a software device consisting of two |
127 | halves: a master and a slave. The slave device behaves identical to | |
128 | a physical terminal; the master device is used by a process to | |
129 | read data from and write data to the slave, thereby emulating a | |
130 | terminal. Typical programs for the master side are telnet servers | |
131 | and xterms. | |
132 | ||
133 | Linux has traditionally used the BSD-like names /dev/ptyxx | |
134 | for masters and /dev/ttyxx for slaves of pseudo | |
135 | terminals. This scheme has a number of problems, including | |
136 | security. This option enables these legacy devices; on most | |
137 | systems, it is safe to say N. | |
138 | ||
bdcffc5a GKH |
139 | config LEGACY_PTY_COUNT |
140 | int "Maximum number of legacy PTY in use" | |
141 | depends on LEGACY_PTYS | |
142 | range 0 256 | |
143 | default "256" | |
a7f7f624 | 144 | help |
bdcffc5a GKH |
145 | The maximum number of legacy PTYs that can be used at any one time. |
146 | The default is 256, and should be more than enough. Embedded | |
147 | systems may want to reduce this to save memory. | |
148 | ||
149 | When not in use, each legacy PTY occupies 12 bytes on 32-bit | |
150 | architectures and 24 bytes on 64-bit architectures. | |
151 | ||
2cca608a RD |
152 | config LDISC_AUTOLOAD |
153 | bool "Automatically load TTY Line Disciplines" | |
154 | default y | |
155 | help | |
156 | Historically the kernel has always automatically loaded any | |
157 | line discipline that is in a kernel module when a user asks | |
158 | for it to be loaded with the TIOCSETD ioctl, or through other | |
159 | means. This is not always the best thing to do on systems | |
160 | where you know you will not be using some of the more | |
161 | "ancient" line disciplines, so prevent the kernel from doing | |
162 | this unless the request is coming from a process with the | |
163 | CAP_SYS_MODULE permissions. | |
164 | ||
165 | Say 'Y' here if you trust your userspace users to do the right | |
166 | thing, or if you have only provided the line disciplines that | |
167 | you know you will be using, or if you wish to continue to use | |
168 | the traditional method of on-demand loading of these modules | |
169 | by any user. | |
170 | ||
171 | This functionality can be changed at runtime with the | |
172 | dev.tty.ldisc_autoload sysctl, this configuration option will | |
173 | only set the default value of this functionality. | |
174 | ||
175 | source "drivers/tty/serial/Kconfig" | |
176 | ||
a6afd9f3 GKH |
177 | config SERIAL_NONSTANDARD |
178 | bool "Non-standard serial port support" | |
179 | depends on HAS_IOMEM | |
a7f7f624 | 180 | help |
a6afd9f3 GKH |
181 | Say Y here if you have any non-standard serial boards -- boards |
182 | which aren't supported using the standard "dumb" serial driver. | |
f76edd8f | 183 | This includes intelligent serial boards such as |
a6afd9f3 GKH |
184 | Digiboards, etc. These are usually used for systems that need many |
185 | serial ports because they serve many terminals or dial-in | |
186 | connections. | |
187 | ||
188 | Note that the answer to this question won't directly affect the | |
189 | kernel: saying N will just cause the configurator to skip all | |
190 | the questions about non-standard serial boards. | |
191 | ||
192 | Most people can say N here. | |
193 | ||
a6afd9f3 GKH |
194 | config MOXA_INTELLIO |
195 | tristate "Moxa Intellio support" | |
196 | depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) | |
197 | select FW_LOADER | |
198 | help | |
199 | Say Y here if you have a Moxa Intellio multiport serial card. | |
200 | ||
201 | To compile this driver as a module, choose M here: the | |
202 | module will be called moxa. | |
203 | ||
204 | config MOXA_SMARTIO | |
205 | tristate "Moxa SmartIO support v. 2.0" | |
29134367 | 206 | depends on SERIAL_NONSTANDARD && PCI |
a6afd9f3 GKH |
207 | help |
208 | Say Y here if you have a Moxa SmartIO multiport serial card and/or | |
209 | want to help develop a new version of this driver. | |
210 | ||
211 | This is upgraded (1.9.1) driver from original Moxa drivers with | |
212 | changes finally resulting in PCI probing. | |
213 | ||
214 | This driver can also be built as a module. The module will be called | |
215 | mxser. If you want to do that, say M here. | |
216 | ||
a6afd9f3 GKH |
217 | config SYNCLINK_GT |
218 | tristate "SyncLink GT/AC support" | |
219 | depends on SERIAL_NONSTANDARD && PCI | |
220 | help | |
221 | Support for SyncLink GT and SyncLink AC families of | |
222 | synchronous and asynchronous serial adapters | |
223 | manufactured by Microgate Systems, Ltd. (www.microgate.com) | |
224 | ||
a6afd9f3 GKH |
225 | config N_HDLC |
226 | tristate "HDLC line discipline support" | |
227 | depends on SERIAL_NONSTANDARD | |
228 | help | |
229 | Allows synchronous HDLC communications with tty device drivers that | |
230 | support synchronous HDLC such as the Microgate SyncLink adapter. | |
231 | ||
232 | This driver can be built as a module ( = code which can be | |
233 | inserted in and removed from the running kernel whenever you want). | |
234 | The module will be called n_hdlc. If you want to do that, say M | |
235 | here. | |
236 | ||
dcd83aaf | 237 | config PPC_EPAPR_HV_BYTECHAN |
a183d3ae | 238 | bool "ePAPR hypervisor byte channel driver" |
dcd83aaf | 239 | depends on PPC |
40656397 | 240 | select EPAPR_PARAVIRT |
dcd83aaf TT |
241 | help |
242 | This driver creates /dev entries for each ePAPR hypervisor byte | |
243 | channel, thereby allowing applications to communicate with byte | |
244 | channels as if they were serial ports. | |
245 | ||
246 | config PPC_EARLY_DEBUG_EHV_BC | |
247 | bool "Early console (udbg) support for ePAPR hypervisors" | |
f21c6d4a | 248 | depends on PPC_EPAPR_HV_BYTECHAN=y |
dcd83aaf TT |
249 | help |
250 | Select this option to enable early console (a.k.a. "udbg") support | |
251 | via an ePAPR byte channel. You also need to choose the byte channel | |
252 | handle below. | |
253 | ||
254 | config PPC_EARLY_DEBUG_EHV_BC_HANDLE | |
255 | int "Byte channel handle for early console (udbg)" | |
256 | depends on PPC_EARLY_DEBUG_EHV_BC | |
257 | default 0 | |
258 | help | |
259 | If you want early console (udbg) output through a byte channel, | |
260 | specify the handle of the byte channel to use. | |
261 | ||
262 | For this to work, the byte channel driver must be compiled | |
263 | in-kernel, not as a module. | |
264 | ||
265 | Note that only one early console driver can be enabled, so don't | |
266 | enable any others if you enable this one. | |
267 | ||
268 | If the number you specify is not a valid byte channel handle, then | |
269 | there simply will be no early console output. This is true also | |
270 | if you don't boot under a hypervisor at all. | |
4f73bc4d | 271 | |
666b7793 AH |
272 | config GOLDFISH_TTY |
273 | tristate "Goldfish TTY Driver" | |
274 | depends on GOLDFISH | |
3840ed95 MD |
275 | select SERIAL_CORE |
276 | select SERIAL_CORE_CONSOLE | |
666b7793 AH |
277 | help |
278 | Console and system TTY driver for the Goldfish virtual platform. | |
279 | ||
6a28fd2b SAS |
280 | config GOLDFISH_TTY_EARLY_CONSOLE |
281 | bool | |
282 | default y if GOLDFISH_TTY=y | |
283 | select SERIAL_EARLYCON | |
284 | ||
2cca608a RD |
285 | config N_GSM |
286 | tristate "GSM MUX line discipline support (EXPERIMENTAL)" | |
287 | depends on NET | |
288 | help | |
289 | This line discipline provides support for the GSM MUX protocol and | |
290 | presents the mux as a set of 61 individual tty devices. | |
291 | ||
292 | config NOZOMI | |
293 | tristate "HSDPA Broadband Wireless Data Card - Globe Trotter" | |
294 | depends on PCI | |
295 | help | |
296 | If you have a HSDPA driver Broadband Wireless Data Card - | |
297 | Globe Trotter PCMCIA card, say Y here. | |
298 | ||
299 | To compile this driver as a module, choose M here, the module | |
300 | will be called nozomi. | |
301 | ||
4cebec60 JH |
302 | config MIPS_EJTAG_FDC_TTY |
303 | bool "MIPS EJTAG Fast Debug Channel TTY" | |
304 | depends on MIPS_CDMM | |
305 | help | |
306 | This enables a TTY and console on the MIPS EJTAG Fast Debug Channels, | |
307 | if they are present. This can be useful when working with an EJTAG | |
308 | probe which supports it, to get console output and a login prompt via | |
309 | EJTAG without needing to connect a serial cable. | |
310 | ||
311 | TTY devices are named e.g. ttyFDC3c2 (for FDC channel 2 of the FDC on | |
312 | CPU3). | |
313 | ||
314 | The console can be enabled with console=fdc1 (for FDC channel 1 on all | |
315 | CPUs). Do not use the console unless there is a debug probe attached | |
316 | to drain the FDC TX FIFO. | |
317 | ||
318 | If unsure, say N. | |
319 | ||
e934945d JH |
320 | config MIPS_EJTAG_FDC_EARLYCON |
321 | bool "Early FDC console" | |
322 | depends on MIPS_EJTAG_FDC_TTY | |
323 | help | |
324 | This registers a console on FDC channel 1 very early during boot (from | |
325 | MIPS arch code). This is useful for bring-up and debugging early boot | |
326 | issues. | |
327 | ||
328 | Do not enable unless there is a debug probe attached to drain the FDC | |
329 | TX FIFO. | |
330 | ||
331 | If unsure, say N. | |
332 | ||
c2d7ef51 JH |
333 | config MIPS_EJTAG_FDC_KGDB |
334 | bool "Use KGDB over an FDC channel" | |
335 | depends on MIPS_EJTAG_FDC_TTY && KGDB | |
336 | default y | |
337 | help | |
4500914d KK |
338 | This enables the use of KGDB over an FDC channel, allowing KGDB to be |
339 | used remotely or when a serial port isn't available. | |
c2d7ef51 JH |
340 | |
341 | config MIPS_EJTAG_FDC_KGDB_CHAN | |
342 | int "KGDB FDC channel" | |
343 | depends on MIPS_EJTAG_FDC_KGDB | |
344 | range 2 15 | |
345 | default 3 | |
346 | help | |
347 | FDC channel number to use for KGDB. | |
348 | ||
a91bd622 PM |
349 | config NULL_TTY |
350 | tristate "NULL TTY driver" | |
351 | help | |
352 | Say Y here if you want a NULL TTY which simply discards messages. | |
353 | ||
354 | This is useful to allow userspace applications which expect a console | |
355 | device to work without modifications even when no console is | |
356 | available or desired. | |
357 | ||
358 | In order to use this driver, you should redirect the console to this | |
359 | TTY, or boot the kernel with console=ttynull. | |
360 | ||
361 | If unsure, say N. | |
362 | ||
2cca608a RD |
363 | config VCC |
364 | tristate "Sun Virtual Console Concentrator" | |
365 | depends on SUN_LDOMS | |
366 | help | |
367 | Support for Sun logical domain consoles. | |
368 | ||
369 | source "drivers/tty/hvc/Kconfig" | |
00e37543 | 370 | |
4f73bc4d | 371 | endif # TTY |
00e37543 RD |
372 | |
373 | source "drivers/tty/serdev/Kconfig" |