cko
[zen-stable.git] / drivers / tty / Kconfig
blobec5d04dd73a8bbb7626b13d690ffcc0767eba82e
1 config VT
2         bool "Virtual terminal" if EXPERT
3         depends on !S390 && !UML
4         select INPUT
5         default y
6         ---help---
7           If you say Y here, you will get support for terminal devices with
8           display and keyboard devices. These are called "virtual" because you
9           can run several virtual terminals (also called virtual consoles) on
10           one physical terminal. This is rather useful, for example one
11           virtual terminal can collect system messages and warnings, another
12           one can be used for a text-mode user session, and a third could run
13           an X session, all in parallel. Switching between virtual terminals
14           is done with certain key combinations, usually Alt-<function key>.
16           The setterm command ("man setterm") can be used to change the
17           properties (such as colors or beeping) of a virtual terminal. The
18           man page console_codes(4) ("man console_codes") contains the special
19           character sequences that can be used to change those properties
20           directly. The fonts used on virtual terminals can be changed with
21           the setfont ("man setfont") command and the key bindings are defined
22           with the loadkeys ("man loadkeys") command.
24           You need at least one virtual terminal device in order to make use
25           of your keyboard and monitor. Therefore, only people configuring an
26           embedded system would want to say N here in order to save some
27           memory; the only way to log into such a system is then via a serial
28           or network connection.
30           If unsure, say Y, or else you won't be able to do much with your new
31           shiny Linux system :-)
33 config CONSOLE_TRANSLATIONS
34         depends on VT
35         default y
36         bool "Enable character translations in console" if EXPERT
37         ---help---
38           This enables support for font mapping and Unicode translation
39           on virtual consoles.
41 config VT_CONSOLE
42         bool "Support for console on virtual terminal" if EXPERT
43         depends on VT
44         default y
45         ---help---
46           The system console is the device which receives all kernel messages
47           and warnings and which allows logins in single user mode. If you
48           answer Y here, a virtual terminal (the device used to interact with
49           a physical terminal) can be used as system console. This is the most
50           common mode of operations, so you should say Y here unless you want
51           the kernel messages be output only to a serial port (in which case
52           you should say Y to "Console on serial port", below).
54           If you do say Y here, by default the currently visible virtual
55           terminal (/dev/tty0) will be used as system console. You can change
56           that with a kernel command line option such as "console=tty3" which
57           would use the third virtual terminal as system console. (Try "man
58           bootparam" or see the documentation of your boot loader (lilo or
59           loadlin) about how to pass options to the kernel at boot time.)
61           If unsure, say Y.
63 config VT_CONSOLE_SLEEP
64         def_bool y
65         depends on VT_CONSOLE && PM_SLEEP
67 menuconfig VT_CKO
68         bool "Colored kernel message output"
69         depends on VT_CONSOLE
70         ---help---
71           This option enables kernel messages to be emitted in
72           colors other than the default.
74           The color value you need to enter is composed (OR-ed)
75           of a foreground and a background color.
77           Foreground:
78           0x00 = black,   0x08 = dark gray,
79           0x01 = red,     0x09 = light red,
80           0x02 = green,   0x0A = light green,
81           0x03 = brown,   0x0B = yellow,
82           0x04 = blue,    0x0C = light blue,
83           0x05 = magenta, 0x0D = light magenta,
84           0x06 = cyan,    0x0E = light cyan,
85           0x07 = gray,    0x0F = white,
87           (Foreground colors 0x08 to 0x0F do not work when a VGA
88           console font with 512 glyphs is used.)
90           Background:
91           0x00 = black,   0x40 = blue,
92           0x10 = red,     0x50 = magenta,
93           0x20 = green,   0x60 = cyan,
94           0x30 = brown,   0x70 = gray,
96           For example, 0x1F would yield white on red.
98           If unsure, say N.
100 config VT_PRINTK_EMERG_COLOR
101         hex "Emergency messages color"
102         range 0x00 0xFF
103         depends on VT_CKO
104         default 0x07
105         ---help---
106           This option defines with which color kernel emergency messages will
107           be printed to the console.
109 config VT_PRINTK_ALERT_COLOR
110         hex "Alert messages color"
111         range 0x00 0xFF
112         depends on VT_CKO
113         default 0x07
114         ---help---
115           This option defines with which color kernel alert messages will
116           be printed to the console.
118 config VT_PRINTK_CRIT_COLOR
119         hex "Critical messages color"
120         range 0x00 0xFF
121         depends on VT_CKO
122         default 0x07
123         ---help---
124           This option defines with which color kernel critical messages will
125           be printed to the console.
127 config VT_PRINTK_ERR_COLOR
128         hex "Error messages color"
129         range 0x00 0xFF
130         depends on VT_CKO
131         default 0x07
132         ---help---
133           This option defines with which color kernel error messages will
134           be printed to the console.
136 config VT_PRINTK_WARNING_COLOR
137         hex "Warning messages color"
138         range 0x00 0xFF
139         depends on VT_CKO
140         default 0x07
141         ---help---
142           This option defines with which color kernel warning messages will
143           be printed to the console.
145 config VT_PRINTK_NOTICE_COLOR
146         hex "Notice messages color"
147         range 0x00 0xFF
148         depends on VT_CKO
149         default 0x07
150         ---help---
151           This option defines with which color kernel notice messages will
152           be printed to the console.
154 config VT_PRINTK_INFO_COLOR
155         hex "Information messages color"
156         range 0x00 0xFF
157         depends on VT_CKO
158         default 0x07
159         ---help---
160           This option defines with which color kernel information messages will
161           be printed to the console.
163 config VT_PRINTK_DEBUG_COLOR
164         hex "Debug messages color"
165         range 0x00 0xFF
166         depends on VT_CKO
167         default 0x07
168         ---help---
169           This option defines with which color kernel debug messages will
170           be printed to the console.
172 config HW_CONSOLE
173         bool
174         depends on VT && !UML
175         default y
177 config VT_HW_CONSOLE_BINDING
178        bool "Support for binding and unbinding console drivers"
179        depends on HW_CONSOLE
180        default n
181        ---help---
182          The virtual terminal is the device that interacts with the physical
183          terminal through console drivers. On these systems, at least one
184          console driver is loaded. In other configurations, additional console
185          drivers may be enabled, such as the framebuffer console. If more than
186          1 console driver is enabled, setting this to 'y' will allow you to
187          select the console driver that will serve as the backend for the
188          virtual terminals.
190          See <file:Documentation/console/console.txt> for more
191          information. For framebuffer console users, please refer to
192          <file:Documentation/fb/fbcon.txt>.
194 config UNIX98_PTYS
195         bool "Unix98 PTY support" if EXPERT
196         default y
197         ---help---
198           A pseudo terminal (PTY) is a software device consisting of two
199           halves: a master and a slave. The slave device behaves identical to
200           a physical terminal; the master device is used by a process to
201           read data from and write data to the slave, thereby emulating a
202           terminal. Typical programs for the master side are telnet servers
203           and xterms.
205           Linux has traditionally used the BSD-like names /dev/ptyxx for
206           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
207           has a number of problems. The GNU C library glibc 2.1 and later,
208           however, supports the Unix98 naming standard: in order to acquire a
209           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
210           terminal is then made available to the process and the pseudo
211           terminal slave can be accessed as /dev/pts/<number>. What was
212           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
214           All modern Linux systems use the Unix98 ptys.  Say Y unless
215           you're on an embedded system and want to conserve memory.
217 config DEVPTS_MULTIPLE_INSTANCES
218         bool "Support multiple instances of devpts"
219         depends on UNIX98_PTYS
220         default n
221         ---help---
222           Enable support for multiple instances of devpts filesystem.
223           If you want to have isolated PTY namespaces (eg: in containers),
224           say Y here.  Otherwise, say N. If enabled, each mount of devpts
225           filesystem with the '-o newinstance' option will create an
226           independent PTY namespace.
228 config LEGACY_PTYS
229         bool "Legacy (BSD) PTY support"
230         default y
231         ---help---
232           A pseudo terminal (PTY) is a software device consisting of two
233           halves: a master and a slave. The slave device behaves identical to
234           a physical terminal; the master device is used by a process to
235           read data from and write data to the slave, thereby emulating a
236           terminal. Typical programs for the master side are telnet servers
237           and xterms.
239           Linux has traditionally used the BSD-like names /dev/ptyxx
240           for masters and /dev/ttyxx for slaves of pseudo
241           terminals. This scheme has a number of problems, including
242           security.  This option enables these legacy devices; on most
243           systems, it is safe to say N.
246 config LEGACY_PTY_COUNT
247         int "Maximum number of legacy PTY in use"
248         depends on LEGACY_PTYS
249         range 0 256
250         default "256"
251         ---help---
252           The maximum number of legacy PTYs that can be used at any one time.
253           The default is 256, and should be more than enough.  Embedded
254           systems may want to reduce this to save memory.
256           When not in use, each legacy PTY occupies 12 bytes on 32-bit
257           architectures and 24 bytes on 64-bit architectures.
259 config BFIN_JTAG_COMM
260         tristate "Blackfin JTAG Communication"
261         depends on BLACKFIN
262         help
263           Add support for emulating a TTY device over the Blackfin JTAG.
265           To compile this driver as a module, choose M here: the
266           module will be called bfin_jtag_comm.
268 config BFIN_JTAG_COMM_CONSOLE
269         bool "Console on Blackfin JTAG"
270         depends on BFIN_JTAG_COMM=y
272 config SERIAL_NONSTANDARD
273         bool "Non-standard serial port support"
274         depends on HAS_IOMEM
275         ---help---
276           Say Y here if you have any non-standard serial boards -- boards
277           which aren't supported using the standard "dumb" serial driver.
278           This includes intelligent serial boards such as Cyclades,
279           Digiboards, etc. These are usually used for systems that need many
280           serial ports because they serve many terminals or dial-in
281           connections.
283           Note that the answer to this question won't directly affect the
284           kernel: saying N will just cause the configurator to skip all
285           the questions about non-standard serial boards.
287           Most people can say N here.
289 config ROCKETPORT
290         tristate "Comtrol RocketPort support"
291         depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
292         help
293           This driver supports Comtrol RocketPort and RocketModem PCI boards.   
294           These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
295           modems.  For information about the RocketPort/RocketModem  boards
296           and this driver read <file:Documentation/serial/rocket.txt>.
298           To compile this driver as a module, choose M here: the
299           module will be called rocket.
301           If you want to compile this driver into the kernel, say Y here.  If
302           you don't have a Comtrol RocketPort/RocketModem card installed, say N.
304 config CYCLADES
305         tristate "Cyclades async mux support"
306         depends on SERIAL_NONSTANDARD && (PCI || ISA)
307         select FW_LOADER
308         ---help---
309           This driver supports Cyclades Z and Y multiserial boards.
310           You would need something like this to connect more than two modems to
311           your Linux box, for instance in order to become a dial-in server.
313           For information about the Cyclades-Z card, read
314           <file:Documentation/serial/README.cycladesZ>.
316           To compile this driver as a module, choose M here: the
317           module will be called cyclades.
319           If you haven't heard about it, it's safe to say N.
321 config CYZ_INTR
322         bool "Cyclades-Z interrupt mode operation (EXPERIMENTAL)"
323         depends on EXPERIMENTAL && CYCLADES
324         help
325           The Cyclades-Z family of multiport cards allows 2 (two) driver op
326           modes: polling and interrupt. In polling mode, the driver will check
327           the status of the Cyclades-Z ports every certain amount of time
328           (which is called polling cycle and is configurable). In interrupt
329           mode, it will use an interrupt line (IRQ) in order to check the
330           status of the Cyclades-Z ports. The default op mode is polling. If
331           unsure, say N.
333 config MOXA_INTELLIO
334         tristate "Moxa Intellio support"
335         depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
336         select FW_LOADER
337         help
338           Say Y here if you have a Moxa Intellio multiport serial card.
340           To compile this driver as a module, choose M here: the
341           module will be called moxa.
343 config MOXA_SMARTIO
344         tristate "Moxa SmartIO support v. 2.0"
345         depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
346         help
347           Say Y here if you have a Moxa SmartIO multiport serial card and/or
348           want to help develop a new version of this driver.
350           This is upgraded (1.9.1) driver from original Moxa drivers with
351           changes finally resulting in PCI probing.
353           This driver can also be built as a module. The module will be called
354           mxser. If you want to do that, say M here.
356 config SYNCLINK
357         tristate "Microgate SyncLink card support"
358         depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API
359         help
360           Provides support for the SyncLink ISA and PCI multiprotocol serial
361           adapters. These adapters support asynchronous and HDLC bit
362           synchronous communication up to 10Mbps (PCI adapter).
364           This driver can only be built as a module ( = code which can be
365           inserted in and removed from the running kernel whenever you want).
366           The module will be called synclink.  If you want to do that, say M
367           here.
369 config SYNCLINKMP
370         tristate "SyncLink Multiport support"
371         depends on SERIAL_NONSTANDARD && PCI
372         help
373           Enable support for the SyncLink Multiport (2 or 4 ports)
374           serial adapter, running asynchronous and HDLC communications up
375           to 2.048Mbps. Each ports is independently selectable for
376           RS-232, V.35, RS-449, RS-530, and X.21
378           This driver may be built as a module ( = code which can be
379           inserted in and removed from the running kernel whenever you want).
380           The module will be called synclinkmp.  If you want to do that, say M
381           here.
383 config SYNCLINK_GT
384         tristate "SyncLink GT/AC support"
385         depends on SERIAL_NONSTANDARD && PCI
386         help
387           Support for SyncLink GT and SyncLink AC families of
388           synchronous and asynchronous serial adapters
389           manufactured by Microgate Systems, Ltd. (www.microgate.com)
391 config NOZOMI
392         tristate "HSDPA Broadband Wireless Data Card - Globe Trotter"
393         depends on PCI && EXPERIMENTAL
394         help
395           If you have a HSDPA driver Broadband Wireless Data Card -
396           Globe Trotter PCMCIA card, say Y here.
398           To compile this driver as a module, choose M here, the module
399           will be called nozomi.
401 config ISI
402         tristate "Multi-Tech multiport card support (EXPERIMENTAL)"
403         depends on SERIAL_NONSTANDARD && PCI
404         select FW_LOADER
405         help
406           This is a driver for the Multi-Tech cards which provide several
407           serial ports.  The driver is experimental and can currently only be
408           built as a module. The module will be called isicom.
409           If you want to do that, choose M here.
411 config N_HDLC
412         tristate "HDLC line discipline support"
413         depends on SERIAL_NONSTANDARD
414         help
415           Allows synchronous HDLC communications with tty device drivers that
416           support synchronous HDLC such as the Microgate SyncLink adapter.
418           This driver can be built as a module ( = code which can be
419           inserted in and removed from the running kernel whenever you want).
420           The module will be called n_hdlc. If you want to do that, say M
421           here.
423 config N_GSM
424         tristate "GSM MUX line discipline support (EXPERIMENTAL)"
425         depends on EXPERIMENTAL
426         depends on NET
427         help
428           This line discipline provides support for the GSM MUX protocol and
429           presents the mux as a set of 61 individual tty devices.
431 config TRACE_ROUTER
432         tristate "Trace data router for MIPI P1149.7 cJTAG standard"
433         depends on TRACE_SINK
434         default n
435         help
436           The trace router uses the Linux tty line discipline framework to
437           route trace data coming from a tty port (say UART for example) to
438           the trace sink line discipline driver and to another tty port (say
439           USB). This is part of a solution for the MIPI P1149.7, compact JTAG,
440           standard, which is for debugging mobile devices. The PTI driver in
441           drivers/misc/pti.c defines the majority of this MIPI solution.
443           You should select this driver if the target kernel is meant for
444           a mobile device containing a modem.  Then you will need to select
445           "Trace data sink for MIPI P1149.7 cJTAG standard" line discipline
446           driver.
448 config TRACE_SINK
449         tristate "Trace data sink for MIPI P1149.7 cJTAG standard"
450         default n
451         help
452           The trace sink uses the Linux line discipline framework to receive
453           trace data coming from the trace router line discipline driver
454           to a user-defined tty port target, like USB.
455           This is to provide a way to extract modem trace data on
456           devices that do not have a PTI HW module, or just need modem
457           trace data to come out of a different HW output port.
458           This is part of a solution for the P1149.7, compact JTAG, standard.
460           If you select this option, you need to select
461           "Trace data router for MIPI P1149.7 cJTAG standard".
463 config PPC_EPAPR_HV_BYTECHAN
464         tristate "ePAPR hypervisor byte channel driver"
465         depends on PPC
466         help
467           This driver creates /dev entries for each ePAPR hypervisor byte
468           channel, thereby allowing applications to communicate with byte
469           channels as if they were serial ports.
471 config PPC_EARLY_DEBUG_EHV_BC
472         bool "Early console (udbg) support for ePAPR hypervisors"
473         depends on PPC_EPAPR_HV_BYTECHAN=y
474         help
475           Select this option to enable early console (a.k.a. "udbg") support
476           via an ePAPR byte channel.  You also need to choose the byte channel
477           handle below.
479 config PPC_EARLY_DEBUG_EHV_BC_HANDLE
480         int "Byte channel handle for early console (udbg)"
481         depends on PPC_EARLY_DEBUG_EHV_BC
482         default 0
483         help
484           If you want early console (udbg) output through a byte channel,
485           specify the handle of the byte channel to use.
487           For this to work, the byte channel driver must be compiled
488           in-kernel, not as a module.
490           Note that only one early console driver can be enabled, so don't
491           enable any others if you enable this one.
493           If the number you specify is not a valid byte channel handle, then
494           there simply will be no early console output.  This is true also
495           if you don't boot under a hypervisor at all.