brintos

brintos / linux-shallow public Read only

0
0
Text · 14.5 KiB · a45d423 Raw
413 lines · plain
1# SPDX-License-Identifier: GPL-2.02config TTY3	bool "Enable TTY" if EXPERT4	default y5	help6	  Allows you to remove TTY support which can save space, and7	  blocks features that require TTY from inclusion in the kernel.8	  TTY is required for any text terminals or serial port9	  communication. Most users should leave this enabled.10 11if TTY12 13config VT14	bool "Virtual terminal" if EXPERT15	select INPUT16	default y if !UML17	help18	  If you say Y here, you will get support for terminal devices with19	  display and keyboard devices. These are called "virtual" because you20	  can run several virtual terminals (also called virtual consoles) on21	  one physical terminal. This is rather useful, for example one22	  virtual terminal can collect system messages and warnings, another23	  one can be used for a text-mode user session, and a third could run24	  an X session, all in parallel. Switching between virtual terminals25	  is done with certain key combinations, usually Alt-<function key>.26 27	  The setterm command ("man setterm") can be used to change the28	  properties (such as colors or beeping) of a virtual terminal. The29	  man page console_codes(4) ("man console_codes") contains the special30	  character sequences that can be used to change those properties31	  directly. The fonts used on virtual terminals can be changed with32	  the setfont ("man setfont") command and the key bindings are defined33	  with the loadkeys ("man loadkeys") command.34 35	  You need at least one virtual terminal device in order to make use36	  of your keyboard and monitor. Therefore, only people configuring an37	  embedded system would want to say N here in order to save some38	  memory; the only way to log into such a system is then via a serial39	  or network connection.40 41	  If unsure, say Y, or else you won't be able to do much with your new42	  shiny Linux system :-)43 44config CONSOLE_TRANSLATIONS45	depends on VT46	default y47	bool "Enable character translations in console" if EXPERT48	help49	  This enables support for font mapping and Unicode translation50	  on virtual consoles.51 52config VT_CONSOLE53	bool "Support for console on virtual terminal" if EXPERT54	depends on VT55	default y56	help57	  The system console is the device which receives all kernel messages58	  and warnings and which allows logins in single user mode. If you59	  answer Y here, a virtual terminal (the device used to interact with60	  a physical terminal) can be used as system console. This is the most61	  common mode of operations, so you should say Y here unless you want62	  the kernel messages be output only to a serial port (in which case63	  you should say Y to "Console on serial port", below).64 65	  If you do say Y here, by default the currently visible virtual66	  terminal (/dev/tty0) will be used as system console. You can change67	  that with a kernel command line option such as "console=tty3" which68	  would use the third virtual terminal as system console. (Try "man69	  bootparam" or see the documentation of your boot loader (lilo or70	  loadlin) about how to pass options to the kernel at boot time.)71 72	  If unsure, say Y.73 74config VT_CONSOLE_SLEEP75	def_bool y76	depends on VT_CONSOLE && PM_SLEEP77 78config VT_HW_CONSOLE_BINDING79	bool "Support for binding and unbinding console drivers"80	depends on VT81	help82	  The virtual terminal is the device that interacts with the physical83	  terminal through console drivers. On these systems, at least one84	  console driver is loaded. In other configurations, additional console85	  drivers may be enabled, such as the framebuffer console. If more than86	  1 console driver is enabled, setting this to 'y' will allow you to87	  select the console driver that will serve as the backend for the88	  virtual terminals.89 90	  See <file:Documentation/driver-api/console.rst> for more91	  information. For framebuffer console users, please refer to92	  <file:Documentation/fb/fbcon.rst>.93 94config UNIX98_PTYS95	bool "Unix98 PTY support" if EXPERT96	default y97	help98	  A pseudo terminal (PTY) is a software device consisting of two99	  halves: a master and a slave. The slave device behaves identical to100	  a physical terminal; the master device is used by a process to101	  read data from and write data to the slave, thereby emulating a102	  terminal. Typical programs for the master side are telnet servers103	  and xterms.104 105	  Linux has traditionally used the BSD-like names /dev/ptyxx for106	  masters and /dev/ttyxx for slaves of pseudo terminals. This scheme107	  has a number of problems. The GNU C library glibc 2.1 and later,108	  however, supports the Unix98 naming standard: in order to acquire a109	  pseudo terminal, a process opens /dev/ptmx; the number of the pseudo110	  terminal is then made available to the process and the pseudo111	  terminal slave can be accessed as /dev/pts/<number>. What was112	  traditionally /dev/ttyp2 will then be /dev/pts/2, for example.113 114	  All modern Linux systems use the Unix98 ptys.  Say Y unless115	  you're on an embedded system and want to conserve memory.116 117config LEGACY_PTYS118	bool "Legacy (BSD) PTY support"119	default y120	help121	  A pseudo terminal (PTY) is a software device consisting of two122	  halves: a master and a slave. The slave device behaves identical to123	  a physical terminal; the master device is used by a process to124	  read data from and write data to the slave, thereby emulating a125	  terminal. Typical programs for the master side are telnet servers126	  and xterms.127 128	  Linux has traditionally used the BSD-like names /dev/ptyxx129	  for masters and /dev/ttyxx for slaves of pseudo130	  terminals. This scheme has a number of problems, including131	  security.  This option enables these legacy devices; on most132	  systems, it is safe to say N.133 134config LEGACY_PTY_COUNT135	int "Maximum number of legacy PTY in use"136	depends on LEGACY_PTYS137	range 0 256138	default "256"139	help140	  The maximum number of legacy PTYs that can be used at any one time.141	  The default is 256, and should be more than enough.  Embedded142	  systems may want to reduce this to save memory.143 144	  When not in use, each legacy PTY occupies 12 bytes on 32-bit145	  architectures and 24 bytes on 64-bit architectures.146 147config LEGACY_TIOCSTI148	bool "Allow legacy TIOCSTI usage"149	default y150	help151	  Historically the kernel has allowed TIOCSTI, which will push152	  characters into a controlling TTY. This continues to be used153	  as a malicious privilege escalation mechanism, and provides no154	  meaningful real-world utility any more. Its use is considered155	  a dangerous legacy operation, and can be disabled on most156	  systems.157 158	  Say Y here only if you have confirmed that your system's159	  userspace depends on this functionality to continue operating160	  normally.161 162	  Processes which run with CAP_SYS_ADMIN, such as BRLTTY, can163	  use TIOCSTI even when this is set to N.164 165	  This functionality can be changed at runtime with the166	  dev.tty.legacy_tiocsti sysctl. This configuration option sets167	  the default value of the sysctl.168 169config LDISC_AUTOLOAD170	bool "Automatically load TTY Line Disciplines"171	default y172	help173	  Historically the kernel has always automatically loaded any174	  line discipline that is in a kernel module when a user asks175	  for it to be loaded with the TIOCSETD ioctl, or through other176	  means.  This is not always the best thing to do on systems177	  where you know you will not be using some of the more178	  "ancient" line disciplines, so prevent the kernel from doing179	  this unless the request is coming from a process with the180	  CAP_SYS_MODULE permissions.181 182	  Say 'Y' here if you trust your userspace users to do the right183	  thing, or if you have only provided the line disciplines that184	  you know you will be using, or if you wish to continue to use185	  the traditional method of on-demand loading of these modules186	  by any user.187 188	  This functionality can be changed at runtime with the189	  dev.tty.ldisc_autoload sysctl, this configuration option will190	  only set the default value of this functionality.191 192source "drivers/tty/serial/Kconfig"193 194config SERIAL_NONSTANDARD195	bool "Non-standard serial port support"196	depends on HAS_IOMEM197	help198	  Say Y here if you have any non-standard serial boards -- boards199	  which aren't supported using the standard "dumb" serial driver.200	  This includes intelligent serial boards such as201	  Digiboards, etc. These are usually used for systems that need many202	  serial ports because they serve many terminals or dial-in203	  connections.204 205	  Note that the answer to this question won't directly affect the206	  kernel: saying N will just cause the configurator to skip all207	  the questions about non-standard serial boards.208 209	  Most people can say N here.210 211config MOXA_INTELLIO212	tristate "Moxa Intellio support"213	depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)214	select FW_LOADER215	help216	  Say Y here if you have a Moxa Intellio multiport serial card.217 218	  To compile this driver as a module, choose M here: the219	  module will be called moxa.220 221config MOXA_SMARTIO222	tristate "Moxa SmartIO support v. 2.0"223	depends on SERIAL_NONSTANDARD && PCI224	help225	  Say Y here if you have a Moxa SmartIO multiport serial card and/or226	  want to help develop a new version of this driver.227 228	  This is upgraded (1.9.1) driver from original Moxa drivers with229	  changes finally resulting in PCI probing.230 231	  This driver can also be built as a module. The module will be called232	  mxser. If you want to do that, say M here.233 234config SYNCLINK_GT235	tristate "SyncLink GT/AC support"236	depends on SERIAL_NONSTANDARD && PCI237	depends on BROKEN238	help239	  Support for SyncLink GT and SyncLink AC families of240	  synchronous and asynchronous serial adapters241	  manufactured by Microgate Systems, Ltd. (www.microgate.com)242 243config N_HDLC244	tristate "HDLC line discipline support"245	depends on SERIAL_NONSTANDARD246	help247	  Allows synchronous HDLC communications with tty device drivers that248	  support synchronous HDLC such as the Microgate SyncLink adapter.249 250	  This driver can be built as a module ( = code which can be251	  inserted in and removed from the running kernel whenever you want).252	  The module will be called n_hdlc. If you want to do that, say M253	  here.254 255config PPC_EPAPR_HV_BYTECHAN256	bool "ePAPR hypervisor byte channel driver"257	depends on PPC258	select EPAPR_PARAVIRT259	help260	  This driver creates /dev entries for each ePAPR hypervisor byte261	  channel, thereby allowing applications to communicate with byte262	  channels as if they were serial ports.263 264config PPC_EARLY_DEBUG_EHV_BC265	bool "Early console (udbg) support for ePAPR hypervisors"266	depends on PPC_EPAPR_HV_BYTECHAN=y267	help268	  Select this option to enable early console (a.k.a. "udbg") support269	  via an ePAPR byte channel.  You also need to choose the byte channel270	  handle below.271 272config PPC_EARLY_DEBUG_EHV_BC_HANDLE273	int "Byte channel handle for early console (udbg)"274	depends on PPC_EARLY_DEBUG_EHV_BC275	default 0276	help277	  If you want early console (udbg) output through a byte channel,278	  specify the handle of the byte channel to use.279 280	  For this to work, the byte channel driver must be compiled281	  in-kernel, not as a module.282 283	  Note that only one early console driver can be enabled, so don't284	  enable any others if you enable this one.285 286	  If the number you specify is not a valid byte channel handle, then287	  there simply will be no early console output.  This is true also288	  if you don't boot under a hypervisor at all.289 290config GOLDFISH_TTY291	tristate "Goldfish TTY Driver"292	depends on GOLDFISH293	select SERIAL_CORE294	select SERIAL_CORE_CONSOLE295	help296	  Console and system TTY driver for the Goldfish virtual platform.297 298config GOLDFISH_TTY_EARLY_CONSOLE299	bool300	default y if GOLDFISH_TTY=y301	select SERIAL_EARLYCON302 303config IPWIRELESS304	tristate "IPWireless 3G UMTS PCMCIA card support"305	depends on PCMCIA && NETDEVICES306	select PPP307	help308	  This is a driver for 3G UMTS PCMCIA card from IPWireless company. In309	  some countries (for example Czech Republic, T-Mobile ISP) this card310	  is shipped for service called UMTS 4G.311 312config N_GSM313	tristate "GSM MUX line discipline support (EXPERIMENTAL)"314	depends on NET315	help316	  This line discipline provides support for the GSM MUX protocol and317	  presents the mux as a set of 61 individual tty devices.318 319config NOZOMI320	tristate "HSDPA Broadband Wireless Data Card - Globe Trotter"321	depends on PCI322	help323	  If you have a HSDPA driver Broadband Wireless Data Card -324	  Globe Trotter PCMCIA card, say Y here.325 326	  To compile this driver as a module, choose M here, the module327	  will be called nozomi.328 329config MIPS_EJTAG_FDC_TTY330	bool "MIPS EJTAG Fast Debug Channel TTY"331	depends on MIPS_CDMM332	help333	  This enables a TTY and console on the MIPS EJTAG Fast Debug Channels,334	  if they are present. This can be useful when working with an EJTAG335	  probe which supports it, to get console output and a login prompt via336	  EJTAG without needing to connect a serial cable.337 338	  TTY devices are named e.g. ttyFDC3c2 (for FDC channel 2 of the FDC on339	  CPU3).340 341	  The console can be enabled with console=fdc1 (for FDC channel 1 on all342	  CPUs). Do not use the console unless there is a debug probe attached343	  to drain the FDC TX FIFO.344 345	  If unsure, say N.346 347config MIPS_EJTAG_FDC_EARLYCON348	bool "Early FDC console"349	depends on MIPS_EJTAG_FDC_TTY350	help351	  This registers a console on FDC channel 1 very early during boot (from352	  MIPS arch code). This is useful for bring-up and debugging early boot353	  issues.354 355	  Do not enable unless there is a debug probe attached to drain the FDC356	  TX FIFO.357 358	  If unsure, say N.359 360config MIPS_EJTAG_FDC_KGDB361	bool "Use KGDB over an FDC channel"362	depends on MIPS_EJTAG_FDC_TTY && KGDB363	default y364	help365	  This enables the use of KGDB over an FDC channel, allowing KGDB to be366	  used remotely or when a serial port isn't available.367 368config MIPS_EJTAG_FDC_KGDB_CHAN369	int "KGDB FDC channel"370	depends on MIPS_EJTAG_FDC_KGDB371	range 2 15372	default 3373	help374	  FDC channel number to use for KGDB.375 376config NULL_TTY377	tristate "NULL TTY driver"378	help379	  Say Y here if you want a NULL TTY which simply discards messages.380 381	  This is useful to allow userspace applications which expect a console382	  device to work without modifications even when no console is383	  available or desired.384 385	  In order to use this driver, you should redirect the console to this386	  TTY, or boot the kernel with console=ttynull.387 388	  If unsure, say N.389 390config VCC391	tristate "Sun Virtual Console Concentrator"392	depends on SUN_LDOMS393	help394	  Support for Sun logical domain consoles.395 396source "drivers/tty/hvc/Kconfig"397 398config RPMSG_TTY399	tristate "RPMSG tty driver"400	depends on RPMSG401	help402	  Say y here to export rpmsg endpoints as tty devices, usually found403	  in /dev/ttyRPMSGx.404	  This makes it possible for user-space programs to send and receive405	  rpmsg messages as a standard tty protocol.406 407	  To compile this driver as a module, choose M here: the module will be408	  called rpmsg_tty.409 410endif # TTY411 412source "drivers/tty/serdev/Kconfig"413