aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/char/Kconfig254
-rw-r--r--drivers/tty/Kconfig150
-rw-r--r--drivers/tty/hvc/Kconfig105
3 files changed, 257 insertions, 252 deletions
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 17f9b968b988..9b9ab867f50e 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -4,89 +4,7 @@
4 4
5menu "Character devices" 5menu "Character devices"
6 6
7config VT 7source "drivers/tty/Kconfig"
8 bool "Virtual terminal" if EXPERT
9 depends on !S390
10 select INPUT
11 default y
12 ---help---
13 If you say Y here, you will get support for terminal devices with
14 display and keyboard devices. These are called "virtual" because you
15 can run several virtual terminals (also called virtual consoles) on
16 one physical terminal. This is rather useful, for example one
17 virtual terminal can collect system messages and warnings, another
18 one can be used for a text-mode user session, and a third could run
19 an X session, all in parallel. Switching between virtual terminals
20 is done with certain key combinations, usually Alt-<function key>.
21
22 The setterm command ("man setterm") can be used to change the
23 properties (such as colors or beeping) of a virtual terminal. The
24 man page console_codes(4) ("man console_codes") contains the special
25 character sequences that can be used to change those properties
26 directly. The fonts used on virtual terminals can be changed with
27 the setfont ("man setfont") command and the key bindings are defined
28 with the loadkeys ("man loadkeys") command.
29
30 You need at least one virtual terminal device in order to make use
31 of your keyboard and monitor. Therefore, only people configuring an
32 embedded system would want to say N here in order to save some
33 memory; the only way to log into such a system is then via a serial
34 or network connection.
35
36 If unsure, say Y, or else you won't be able to do much with your new
37 shiny Linux system :-)
38
39config CONSOLE_TRANSLATIONS
40 depends on VT
41 default y
42 bool "Enable character translations in console" if EXPERT
43 ---help---
44 This enables support for font mapping and Unicode translation
45 on virtual consoles.
46
47config VT_CONSOLE
48 bool "Support for console on virtual terminal" if EXPERT
49 depends on VT
50 default y
51 ---help---
52 The system console is the device which receives all kernel messages
53 and warnings and which allows logins in single user mode. If you
54 answer Y here, a virtual terminal (the device used to interact with
55 a physical terminal) can be used as system console. This is the most
56 common mode of operations, so you should say Y here unless you want
57 the kernel messages be output only to a serial port (in which case
58 you should say Y to "Console on serial port", below).
59
60 If you do say Y here, by default the currently visible virtual
61 terminal (/dev/tty0) will be used as system console. You can change
62 that with a kernel command line option such as "console=tty3" which
63 would use the third virtual terminal as system console. (Try "man
64 bootparam" or see the documentation of your boot loader (lilo or
65 loadlin) about how to pass options to the kernel at boot time.)
66
67 If unsure, say Y.
68
69config HW_CONSOLE
70 bool
71 depends on VT && !S390 && !UML
72 default y
73
74config VT_HW_CONSOLE_BINDING
75 bool "Support for binding and unbinding console drivers"
76 depends on HW_CONSOLE
77 default n
78 ---help---
79 The virtual terminal is the device that interacts with the physical
80 terminal through console drivers. On these systems, at least one
81 console driver is loaded. In other configurations, additional console
82 drivers may be enabled, such as the framebuffer console. If more than
83 1 console driver is enabled, setting this to 'y' will allow you to
84 select the console driver that will serve as the backend for the
85 virtual terminals.
86
87 See <file:Documentation/console/console.txt> for more
88 information. For framebuffer console users, please refer to
89 <file:Documentation/fb/fbcon.txt>.
90 8
91config DEVKMEM 9config DEVKMEM
92 bool "/dev/kmem virtual device support" 10 bool "/dev/kmem virtual device support"
@@ -428,71 +346,6 @@ config SGI_MBCS
428 346
429source "drivers/tty/serial/Kconfig" 347source "drivers/tty/serial/Kconfig"
430 348
431config UNIX98_PTYS
432 bool "Unix98 PTY support" if EXPERT
433 default y
434 ---help---
435 A pseudo terminal (PTY) is a software device consisting of two
436 halves: a master and a slave. The slave device behaves identical to
437 a physical terminal; the master device is used by a process to
438 read data from and write data to the slave, thereby emulating a
439 terminal. Typical programs for the master side are telnet servers
440 and xterms.
441
442 Linux has traditionally used the BSD-like names /dev/ptyxx for
443 masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
444 has a number of problems. The GNU C library glibc 2.1 and later,
445 however, supports the Unix98 naming standard: in order to acquire a
446 pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
447 terminal is then made available to the process and the pseudo
448 terminal slave can be accessed as /dev/pts/<number>. What was
449 traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
450
451 All modern Linux systems use the Unix98 ptys. Say Y unless
452 you're on an embedded system and want to conserve memory.
453
454config DEVPTS_MULTIPLE_INSTANCES
455 bool "Support multiple instances of devpts"
456 depends on UNIX98_PTYS
457 default n
458 ---help---
459 Enable support for multiple instances of devpts filesystem.
460 If you want to have isolated PTY namespaces (eg: in containers),
461 say Y here. Otherwise, say N. If enabled, each mount of devpts
462 filesystem with the '-o newinstance' option will create an
463 independent PTY namespace.
464
465config LEGACY_PTYS
466 bool "Legacy (BSD) PTY support"
467 default y
468 ---help---
469 A pseudo terminal (PTY) is a software device consisting of two
470 halves: a master and a slave. The slave device behaves identical to
471 a physical terminal; the master device is used by a process to
472 read data from and write data to the slave, thereby emulating a
473 terminal. Typical programs for the master side are telnet servers
474 and xterms.
475
476 Linux has traditionally used the BSD-like names /dev/ptyxx
477 for masters and /dev/ttyxx for slaves of pseudo
478 terminals. This scheme has a number of problems, including
479 security. This option enables these legacy devices; on most
480 systems, it is safe to say N.
481
482
483config LEGACY_PTY_COUNT
484 int "Maximum number of legacy PTY in use"
485 depends on LEGACY_PTYS
486 range 0 256
487 default "256"
488 ---help---
489 The maximum number of legacy PTYs that can be used at any one time.
490 The default is 256, and should be more than enough. Embedded
491 systems may want to reduce this to save memory.
492
493 When not in use, each legacy PTY occupies 12 bytes on 32-bit
494 architectures and 24 bytes on 64-bit architectures.
495
496config TTY_PRINTK 349config TTY_PRINTK
497 bool "TTY driver to output user messages via printk" 350 bool "TTY driver to output user messages via printk"
498 depends on EXPERT 351 depends on EXPERT
@@ -612,93 +465,7 @@ config PPDEV
612 465
613 If unsure, say N. 466 If unsure, say N.
614 467
615config HVC_DRIVER 468source "drivers/tty/hvc/Kconfig"
616 bool
617 help
618 Generic "hypervisor virtual console" infrastructure for various
619 hypervisors (pSeries, iSeries, Xen, lguest).
620 It will automatically be selected if one of the back-end console drivers
621 is selected.
622
623config HVC_IRQ
624 bool
625
626config HVC_CONSOLE
627 bool "pSeries Hypervisor Virtual Console support"
628 depends on PPC_PSERIES
629 select HVC_DRIVER
630 select HVC_IRQ
631 help
632 pSeries machines when partitioned support a hypervisor virtual
633 console. This driver allows each pSeries partition to have a console
634 which is accessed via the HMC.
635
636config HVC_ISERIES
637 bool "iSeries Hypervisor Virtual Console support"
638 depends on PPC_ISERIES
639 default y
640 select HVC_DRIVER
641 select HVC_IRQ
642 select VIOPATH
643 help
644 iSeries machines support a hypervisor virtual console.
645
646config HVC_RTAS
647 bool "IBM RTAS Console support"
648 depends on PPC_RTAS
649 select HVC_DRIVER
650 help
651 IBM Console device driver which makes use of RTAS
652
653config HVC_BEAT
654 bool "Toshiba's Beat Hypervisor Console support"
655 depends on PPC_CELLEB
656 select HVC_DRIVER
657 help
658 Toshiba's Cell Reference Set Beat Console device driver
659
660config HVC_IUCV
661 bool "z/VM IUCV Hypervisor console support (VM only)"
662 depends on S390
663 select HVC_DRIVER
664 select IUCV
665 default y
666 help
667 This driver provides a Hypervisor console (HVC) back-end to access
668 a Linux (console) terminal via a z/VM IUCV communication path.
669
670config HVC_XEN
671 bool "Xen Hypervisor Console support"
672 depends on XEN
673 select HVC_DRIVER
674 select HVC_IRQ
675 default y
676 help
677 Xen virtual console device driver
678
679config HVC_UDBG
680 bool "udbg based fake hypervisor console"
681 depends on PPC && EXPERIMENTAL
682 select HVC_DRIVER
683 default n
684
685config HVC_DCC
686 bool "ARM JTAG DCC console"
687 depends on ARM
688 select HVC_DRIVER
689 help
690 This console uses the JTAG DCC on ARM to create a console under the HVC
691 driver. This console is used through a JTAG only on ARM. If you don't have
692 a JTAG then you probably don't want this option.
693
694config HVC_BFIN_JTAG
695 bool "Blackfin JTAG console"
696 depends on BLACKFIN
697 select HVC_DRIVER
698 help
699 This console uses the Blackfin JTAG to create a console under the
700 the HVC driver. If you don't have JTAG, then you probably don't
701 want this option.
702 469
703config VIRTIO_CONSOLE 470config VIRTIO_CONSOLE
704 tristate "Virtio console" 471 tristate "Virtio console"
@@ -716,23 +483,6 @@ config VIRTIO_CONSOLE
716 the port which can be used by udev scripts to create a 483 the port which can be used by udev scripts to create a
717 symlink to the device. 484 symlink to the device.
718 485
719config HVCS
720 tristate "IBM Hypervisor Virtual Console Server support"
721 depends on PPC_PSERIES && HVC_CONSOLE
722 help
723 Partitionable IBM Power5 ppc64 machines allow hosting of
724 firmware virtual consoles from one Linux partition by
725 another Linux partition. This driver allows console data
726 from Linux partitions to be accessed through TTY device
727 interfaces in the device tree of a Linux partition running
728 this driver.
729
730 To compile this driver as a module, choose M here: the
731 module will be called hvcs. Additionally, this module
732 will depend on arch specific APIs exported from hvcserver.ko
733 which will also be compiled when this driver is built as a
734 module.
735
736config IBM_BSR 486config IBM_BSR
737 tristate "IBM POWER Barrier Synchronization Register support" 487 tristate "IBM POWER Barrier Synchronization Register support"
738 depends on PPC_PSERIES 488 depends on PPC_PSERIES
diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig
new file mode 100644
index 000000000000..9cfbdb318ed9
--- /dev/null
+++ b/drivers/tty/Kconfig
@@ -0,0 +1,150 @@
1config VT
2 bool "Virtual terminal" if EXPERT
3 depends on !S390
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>.
15
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.
23
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.
29
30 If unsure, say Y, or else you won't be able to do much with your new
31 shiny Linux system :-)
32
33config 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.
40
41config 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).
53
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.)
60
61 If unsure, say Y.
62
63config HW_CONSOLE
64 bool
65 depends on VT && !S390 && !UML
66 default y
67
68config VT_HW_CONSOLE_BINDING
69 bool "Support for binding and unbinding console drivers"
70 depends on HW_CONSOLE
71 default n
72 ---help---
73 The virtual terminal is the device that interacts with the physical
74 terminal through console drivers. On these systems, at least one
75 console driver is loaded. In other configurations, additional console
76 drivers may be enabled, such as the framebuffer console. If more than
77 1 console driver is enabled, setting this to 'y' will allow you to
78 select the console driver that will serve as the backend for the
79 virtual terminals.
80
81 See <file:Documentation/console/console.txt> for more
82 information. For framebuffer console users, please refer to
83 <file:Documentation/fb/fbcon.txt>.
84
85config UNIX98_PTYS
86 bool "Unix98 PTY support" if EXPERT
87 default y
88 ---help---
89 A pseudo terminal (PTY) is a software device consisting of two
90 halves: a master and a slave. The slave device behaves identical to
91 a physical terminal; the master device is used by a process to
92 read data from and write data to the slave, thereby emulating a
93 terminal. Typical programs for the master side are telnet servers
94 and xterms.
95
96 Linux has traditionally used the BSD-like names /dev/ptyxx for
97 masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
98 has a number of problems. The GNU C library glibc 2.1 and later,
99 however, supports the Unix98 naming standard: in order to acquire a
100 pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
101 terminal is then made available to the process and the pseudo
102 terminal slave can be accessed as /dev/pts/<number>. What was
103 traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
104
105 All modern Linux systems use the Unix98 ptys. Say Y unless
106 you're on an embedded system and want to conserve memory.
107
108config DEVPTS_MULTIPLE_INSTANCES
109 bool "Support multiple instances of devpts"
110 depends on UNIX98_PTYS
111 default n
112 ---help---
113 Enable support for multiple instances of devpts filesystem.
114 If you want to have isolated PTY namespaces (eg: in containers),
115 say Y here. Otherwise, say N. If enabled, each mount of devpts
116 filesystem with the '-o newinstance' option will create an
117 independent PTY namespace.
118
119config LEGACY_PTYS
120 bool "Legacy (BSD) PTY support"
121 default y
122 ---help---
123 A pseudo terminal (PTY) is a software device consisting of two
124 halves: a master and a slave. The slave device behaves identical to
125 a physical terminal; the master device is used by a process to
126 read data from and write data to the slave, thereby emulating a
127 terminal. Typical programs for the master side are telnet servers
128 and xterms.
129
130 Linux has traditionally used the BSD-like names /dev/ptyxx
131 for masters and /dev/ttyxx for slaves of pseudo
132 terminals. This scheme has a number of problems, including
133 security. This option enables these legacy devices; on most
134 systems, it is safe to say N.
135
136
137config LEGACY_PTY_COUNT
138 int "Maximum number of legacy PTY in use"
139 depends on LEGACY_PTYS
140 range 0 256
141 default "256"
142 ---help---
143 The maximum number of legacy PTYs that can be used at any one time.
144 The default is 256, and should be more than enough. Embedded
145 systems may want to reduce this to save memory.
146
147 When not in use, each legacy PTY occupies 12 bytes on 32-bit
148 architectures and 24 bytes on 64-bit architectures.
149
150
diff --git a/drivers/tty/hvc/Kconfig b/drivers/tty/hvc/Kconfig
new file mode 100644
index 000000000000..6f2c9809f1fb
--- /dev/null
+++ b/drivers/tty/hvc/Kconfig
@@ -0,0 +1,105 @@
1config HVC_DRIVER
2 bool
3 help
4 Generic "hypervisor virtual console" infrastructure for various
5 hypervisors (pSeries, iSeries, Xen, lguest).
6 It will automatically be selected if one of the back-end console drivers
7 is selected.
8
9config HVC_IRQ
10 bool
11
12config HVC_CONSOLE
13 bool "pSeries Hypervisor Virtual Console support"
14 depends on PPC_PSERIES
15 select HVC_DRIVER
16 select HVC_IRQ
17 help
18 pSeries machines when partitioned support a hypervisor virtual
19 console. This driver allows each pSeries partition to have a console
20 which is accessed via the HMC.
21
22config HVC_ISERIES
23 bool "iSeries Hypervisor Virtual Console support"
24 depends on PPC_ISERIES
25 default y
26 select HVC_DRIVER
27 select HVC_IRQ
28 select VIOPATH
29 help
30 iSeries machines support a hypervisor virtual console.
31
32config HVC_RTAS
33 bool "IBM RTAS Console support"
34 depends on PPC_RTAS
35 select HVC_DRIVER
36 help
37 IBM Console device driver which makes use of RTAS
38
39config HVC_BEAT
40 bool "Toshiba's Beat Hypervisor Console support"
41 depends on PPC_CELLEB
42 select HVC_DRIVER
43 help
44 Toshiba's Cell Reference Set Beat Console device driver
45
46config HVC_IUCV
47 bool "z/VM IUCV Hypervisor console support (VM only)"
48 depends on S390
49 select HVC_DRIVER
50 select IUCV
51 default y
52 help
53 This driver provides a Hypervisor console (HVC) back-end to access
54 a Linux (console) terminal via a z/VM IUCV communication path.
55
56config HVC_XEN
57 bool "Xen Hypervisor Console support"
58 depends on XEN
59 select HVC_DRIVER
60 select HVC_IRQ
61 default y
62 help
63 Xen virtual console device driver
64
65config HVC_UDBG
66 bool "udbg based fake hypervisor console"
67 depends on PPC && EXPERIMENTAL
68 select HVC_DRIVER
69 default n
70
71config HVC_DCC
72 bool "ARM JTAG DCC console"
73 depends on ARM
74 select HVC_DRIVER
75 help
76 This console uses the JTAG DCC on ARM to create a console under the HVC
77 driver. This console is used through a JTAG only on ARM. If you don't have
78 a JTAG then you probably don't want this option.
79
80config HVC_BFIN_JTAG
81 bool "Blackfin JTAG console"
82 depends on BLACKFIN
83 select HVC_DRIVER
84 help
85 This console uses the Blackfin JTAG to create a console under the
86 the HVC driver. If you don't have JTAG, then you probably don't
87 want this option.
88
89config HVCS
90 tristate "IBM Hypervisor Virtual Console Server support"
91 depends on PPC_PSERIES && HVC_CONSOLE
92 help
93 Partitionable IBM Power5 ppc64 machines allow hosting of
94 firmware virtual consoles from one Linux partition by
95 another Linux partition. This driver allows console data
96 from Linux partitions to be accessed through TTY device
97 interfaces in the device tree of a Linux partition running
98 this driver.
99
100 To compile this driver as a module, choose M here: the
101 module will be called hvcs. Additionally, this module
102 will depend on arch specific APIs exported from hvcserver.ko
103 which will also be compiled when this driver is built as a
104 module.
105