18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Character device configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_cimenu "Character devices" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cisource "drivers/tty/Kconfig" 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciconfig TTY_PRINTK 118c2ecf20Sopenharmony_ci tristate "TTY driver to output user messages via printk" 128c2ecf20Sopenharmony_ci depends on EXPERT && TTY 138c2ecf20Sopenharmony_ci default n 148c2ecf20Sopenharmony_ci help 158c2ecf20Sopenharmony_ci If you say Y here, the support for writing user messages (i.e. 168c2ecf20Sopenharmony_ci console messages) via printk is available. 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci The feature is useful to inline user messages with kernel 198c2ecf20Sopenharmony_ci messages. 208c2ecf20Sopenharmony_ci In order to use this feature, you should output user messages 218c2ecf20Sopenharmony_ci to /dev/ttyprintk or redirect console to this TTY. 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci If unsure, say N. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ciconfig TTY_PRINTK_LEVEL 268c2ecf20Sopenharmony_ci depends on TTY_PRINTK 278c2ecf20Sopenharmony_ci int "ttyprintk log level (1-7)" 288c2ecf20Sopenharmony_ci range 1 7 298c2ecf20Sopenharmony_ci default "6" 308c2ecf20Sopenharmony_ci help 318c2ecf20Sopenharmony_ci Printk log level to use for ttyprintk messages. 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ciconfig PRINTER 348c2ecf20Sopenharmony_ci tristate "Parallel printer support" 358c2ecf20Sopenharmony_ci depends on PARPORT 368c2ecf20Sopenharmony_ci help 378c2ecf20Sopenharmony_ci If you intend to attach a printer to the parallel port of your Linux 388c2ecf20Sopenharmony_ci box (as opposed to using a serial printer; if the connector at the 398c2ecf20Sopenharmony_ci printer has 9 or 25 holes ["female"], then it's serial), say Y. 408c2ecf20Sopenharmony_ci Also read the Printing-HOWTO, available from 418c2ecf20Sopenharmony_ci <https://www.tldp.org/docs.html#howto>. 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci It is possible to share one parallel port among several devices 448c2ecf20Sopenharmony_ci (e.g. printer and ZIP drive) and it is safe to compile the 458c2ecf20Sopenharmony_ci corresponding drivers into the kernel. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here and read 488c2ecf20Sopenharmony_ci <file:Documentation/admin-guide/parport.rst>. The module will be called lp. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci If you have several parallel ports, you can specify which ports to 518c2ecf20Sopenharmony_ci use with the "lp" kernel command line option. (Try "man bootparam" 528c2ecf20Sopenharmony_ci or see the documentation of your boot loader (lilo or loadlin) about 538c2ecf20Sopenharmony_ci how to pass options to the kernel at boot time.) The syntax of the 548c2ecf20Sopenharmony_ci "lp" command line option can be found in <file:drivers/char/lp.c>. 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci If you have more than 8 printers, you need to increase the LP_NO 578c2ecf20Sopenharmony_ci macro in lp.c and the PARPORT_MAX macro in parport.h. 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ciconfig LP_CONSOLE 608c2ecf20Sopenharmony_ci bool "Support for console on line printer" 618c2ecf20Sopenharmony_ci depends on PRINTER 628c2ecf20Sopenharmony_ci help 638c2ecf20Sopenharmony_ci If you want kernel messages to be printed out as they occur, you 648c2ecf20Sopenharmony_ci can have a console on the printer. This option adds support for 658c2ecf20Sopenharmony_ci doing that; to actually get it to happen you need to pass the 668c2ecf20Sopenharmony_ci option "console=lp0" to the kernel at boot time. 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci If the printer is out of paper (or off, or unplugged, or too 698c2ecf20Sopenharmony_ci busy..) the kernel will stall until the printer is ready again. 708c2ecf20Sopenharmony_ci By defining CONSOLE_LP_STRICT to 0 (at your own risk) you 718c2ecf20Sopenharmony_ci can make the kernel continue when this happens, 728c2ecf20Sopenharmony_ci but it'll lose the kernel messages. 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci If unsure, say N. 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ciconfig PPDEV 778c2ecf20Sopenharmony_ci tristate "Support for user-space parallel port device drivers" 788c2ecf20Sopenharmony_ci depends on PARPORT 798c2ecf20Sopenharmony_ci help 808c2ecf20Sopenharmony_ci Saying Y to this adds support for /dev/parport device nodes. This 818c2ecf20Sopenharmony_ci is needed for programs that want portable access to the parallel 828c2ecf20Sopenharmony_ci port, for instance deviceid (which displays Plug-and-Play device 838c2ecf20Sopenharmony_ci IDs). 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci This is the parallel port equivalent of SCSI generic support (sg). 868c2ecf20Sopenharmony_ci It is safe to say N to this -- it is not needed for normal printing 878c2ecf20Sopenharmony_ci or parallel port CD-ROM/disk support. 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 908c2ecf20Sopenharmony_ci module will be called ppdev. 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ci If unsure, say N. 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ciconfig VIRTIO_CONSOLE 958c2ecf20Sopenharmony_ci tristate "Virtio console" 968c2ecf20Sopenharmony_ci depends on TTY 978c2ecf20Sopenharmony_ci select HVC_DRIVER 988c2ecf20Sopenharmony_ci select VIRTIO 998c2ecf20Sopenharmony_ci help 1008c2ecf20Sopenharmony_ci Virtio console for use with hypervisors. 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci Also serves as a general-purpose serial device for data 1038c2ecf20Sopenharmony_ci transfer between the guest and host. Character devices at 1048c2ecf20Sopenharmony_ci /dev/vportNpn will be created when corresponding ports are 1058c2ecf20Sopenharmony_ci found, where N is the device number and n is the port number 1068c2ecf20Sopenharmony_ci within that device. If specified by the host, a sysfs 1078c2ecf20Sopenharmony_ci attribute called 'name' will be populated with a name for 1088c2ecf20Sopenharmony_ci the port which can be used by udev scripts to create a 1098c2ecf20Sopenharmony_ci symlink to the device. 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ciconfig IBM_BSR 1128c2ecf20Sopenharmony_ci tristate "IBM POWER Barrier Synchronization Register support" 1138c2ecf20Sopenharmony_ci depends on PPC_PSERIES 1148c2ecf20Sopenharmony_ci help 1158c2ecf20Sopenharmony_ci This devices exposes a hardware mechanism for fast synchronization 1168c2ecf20Sopenharmony_ci of threads across a large system which avoids bouncing a cacheline 1178c2ecf20Sopenharmony_ci between several cores on a system 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ciconfig POWERNV_OP_PANEL 1208c2ecf20Sopenharmony_ci tristate "IBM POWERNV Operator Panel Display support" 1218c2ecf20Sopenharmony_ci depends on PPC_POWERNV 1228c2ecf20Sopenharmony_ci default m 1238c2ecf20Sopenharmony_ci help 1248c2ecf20Sopenharmony_ci If you say Y here, a special character device node, /dev/op_panel, 1258c2ecf20Sopenharmony_ci will be created which exposes the operator panel display on IBM 1268c2ecf20Sopenharmony_ci Power Systems machines with FSPs. 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci If you don't require access to the operator panel display from user 1298c2ecf20Sopenharmony_ci space, say N. 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ci If unsure, say M here to build it as a module called powernv-op-panel. 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_cisource "drivers/char/ipmi/Kconfig" 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ciconfig DS1620 1368c2ecf20Sopenharmony_ci tristate "NetWinder thermometer support" 1378c2ecf20Sopenharmony_ci depends on ARCH_NETWINDER 1388c2ecf20Sopenharmony_ci help 1398c2ecf20Sopenharmony_ci Say Y here to include support for the thermal management hardware 1408c2ecf20Sopenharmony_ci found in the NetWinder. This driver allows the user to control the 1418c2ecf20Sopenharmony_ci temperature set points and to read the current temperature. 1428c2ecf20Sopenharmony_ci 1438c2ecf20Sopenharmony_ci It is also possible to say M here to build it as a module (ds1620) 1448c2ecf20Sopenharmony_ci It is recommended to be used on a NetWinder, but it is not a 1458c2ecf20Sopenharmony_ci necessity. 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ciconfig NWBUTTON 1488c2ecf20Sopenharmony_ci tristate "NetWinder Button" 1498c2ecf20Sopenharmony_ci depends on ARCH_NETWINDER 1508c2ecf20Sopenharmony_ci help 1518c2ecf20Sopenharmony_ci If you say Y here and create a character device node /dev/nwbutton 1528c2ecf20Sopenharmony_ci with major and minor numbers 10 and 158 ("man mknod"), then every 1538c2ecf20Sopenharmony_ci time the orange button is pressed a number of times, the number of 1548c2ecf20Sopenharmony_ci times the button was pressed will be written to that device. 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci This is most useful for applications, as yet unwritten, which 1578c2ecf20Sopenharmony_ci perform actions based on how many times the button is pressed in a 1588c2ecf20Sopenharmony_ci row. 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ci Do not hold the button down for too long, as the driver does not 1618c2ecf20Sopenharmony_ci alter the behaviour of the hardware reset circuitry attached to the 1628c2ecf20Sopenharmony_ci button; it will still execute a hard reset if the button is held 1638c2ecf20Sopenharmony_ci down for longer than approximately five seconds. 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 1668c2ecf20Sopenharmony_ci module will be called nwbutton. 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci Most people will answer Y to this question and "Reboot Using Button" 1698c2ecf20Sopenharmony_ci below to be able to initiate a system shutdown from the button. 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ciconfig NWBUTTON_REBOOT 1728c2ecf20Sopenharmony_ci bool "Reboot Using Button" 1738c2ecf20Sopenharmony_ci depends on NWBUTTON 1748c2ecf20Sopenharmony_ci help 1758c2ecf20Sopenharmony_ci If you say Y here, then you will be able to initiate a system 1768c2ecf20Sopenharmony_ci shutdown and reboot by pressing the orange button a number of times. 1778c2ecf20Sopenharmony_ci The number of presses to initiate the shutdown is two by default, 1788c2ecf20Sopenharmony_ci but this can be altered by modifying the value of NUM_PRESSES_REBOOT 1798c2ecf20Sopenharmony_ci in nwbutton.h and recompiling the driver or, if you compile the 1808c2ecf20Sopenharmony_ci driver as a module, you can specify the number of presses at load 1818c2ecf20Sopenharmony_ci time with "insmod button reboot_count=<something>". 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ciconfig NWFLASH 1848c2ecf20Sopenharmony_ci tristate "NetWinder flash support" 1858c2ecf20Sopenharmony_ci depends on ARCH_NETWINDER 1868c2ecf20Sopenharmony_ci help 1878c2ecf20Sopenharmony_ci If you say Y here and create a character device /dev/flash with 1888c2ecf20Sopenharmony_ci major 10 and minor 160 you can manipulate the flash ROM containing 1898c2ecf20Sopenharmony_ci the NetWinder firmware. Be careful as accidentally overwriting the 1908c2ecf20Sopenharmony_ci flash contents can render your computer unbootable. On no account 1918c2ecf20Sopenharmony_ci allow random users access to this device. :-) 1928c2ecf20Sopenharmony_ci 1938c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 1948c2ecf20Sopenharmony_ci module will be called nwflash. 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_ci If you're not sure, say N. 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_cisource "drivers/char/hw_random/Kconfig" 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ciconfig DTLK 2018c2ecf20Sopenharmony_ci tristate "Double Talk PC internal speech card support" 2028c2ecf20Sopenharmony_ci depends on ISA 2038c2ecf20Sopenharmony_ci help 2048c2ecf20Sopenharmony_ci This driver is for the DoubleTalk PC, a speech synthesizer 2058c2ecf20Sopenharmony_ci manufactured by RC Systems (<https://www.rcsys.com/>). It is also 2068c2ecf20Sopenharmony_ci called the `internal DoubleTalk'. 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 2098c2ecf20Sopenharmony_ci module will be called dtlk. 2108c2ecf20Sopenharmony_ci 2118c2ecf20Sopenharmony_ciconfig XILINX_HWICAP 2128c2ecf20Sopenharmony_ci tristate "Xilinx HWICAP Support" 2138c2ecf20Sopenharmony_ci depends on MICROBLAZE 2148c2ecf20Sopenharmony_ci help 2158c2ecf20Sopenharmony_ci This option enables support for Xilinx Internal Configuration 2168c2ecf20Sopenharmony_ci Access Port (ICAP) driver. The ICAP is used on Xilinx Virtex 2178c2ecf20Sopenharmony_ci FPGA platforms to partially reconfigure the FPGA at runtime. 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci If unsure, say N. 2208c2ecf20Sopenharmony_ci 2218c2ecf20Sopenharmony_ciconfig R3964 2228c2ecf20Sopenharmony_ci tristate "Siemens R3964 line discipline" 2238c2ecf20Sopenharmony_ci depends on TTY && BROKEN 2248c2ecf20Sopenharmony_ci help 2258c2ecf20Sopenharmony_ci This driver allows synchronous communication with devices using the 2268c2ecf20Sopenharmony_ci Siemens R3964 packet protocol. Unless you are dealing with special 2278c2ecf20Sopenharmony_ci hardware like PLCs, you are unlikely to need this. 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 2308c2ecf20Sopenharmony_ci module will be called n_r3964. 2318c2ecf20Sopenharmony_ci 2328c2ecf20Sopenharmony_ci If unsure, say N. 2338c2ecf20Sopenharmony_ci 2348c2ecf20Sopenharmony_ciconfig APPLICOM 2358c2ecf20Sopenharmony_ci tristate "Applicom intelligent fieldbus card support" 2368c2ecf20Sopenharmony_ci depends on PCI 2378c2ecf20Sopenharmony_ci help 2388c2ecf20Sopenharmony_ci This driver provides the kernel-side support for the intelligent 2398c2ecf20Sopenharmony_ci fieldbus cards made by Applicom International. More information 2408c2ecf20Sopenharmony_ci about these cards can be found on the WWW at the address 2418c2ecf20Sopenharmony_ci <https://www.applicom-int.com/>, or by email from David Woodhouse 2428c2ecf20Sopenharmony_ci <dwmw2@infradead.org>. 2438c2ecf20Sopenharmony_ci 2448c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 2458c2ecf20Sopenharmony_ci module will be called applicom. 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ci If unsure, say N. 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ciconfig SONYPI 2508c2ecf20Sopenharmony_ci tristate "Sony Vaio Programmable I/O Control Device support" 2518c2ecf20Sopenharmony_ci depends on X86_32 && PCI && INPUT 2528c2ecf20Sopenharmony_ci help 2538c2ecf20Sopenharmony_ci This driver enables access to the Sony Programmable I/O Control 2548c2ecf20Sopenharmony_ci Device which can be found in many (all ?) Sony Vaio laptops. 2558c2ecf20Sopenharmony_ci 2568c2ecf20Sopenharmony_ci If you have one of those laptops, read 2578c2ecf20Sopenharmony_ci <file:Documentation/admin-guide/laptops/sonypi.rst>, and say Y or M here. 2588c2ecf20Sopenharmony_ci 2598c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 2608c2ecf20Sopenharmony_ci module will be called sonypi. 2618c2ecf20Sopenharmony_ci 2628c2ecf20Sopenharmony_ciconfig GPIO_TB0219 2638c2ecf20Sopenharmony_ci tristate "TANBAC TB0219 GPIO support" 2648c2ecf20Sopenharmony_ci depends on TANBAC_TB022X 2658c2ecf20Sopenharmony_ci select GPIO_VR41XX 2668c2ecf20Sopenharmony_ci 2678c2ecf20Sopenharmony_cisource "drivers/char/pcmcia/Kconfig" 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ciconfig MWAVE 2708c2ecf20Sopenharmony_ci tristate "ACP Modem (Mwave) support" 2718c2ecf20Sopenharmony_ci depends on X86 && TTY 2728c2ecf20Sopenharmony_ci select SERIAL_8250 2738c2ecf20Sopenharmony_ci help 2748c2ecf20Sopenharmony_ci The ACP modem (Mwave) for Linux is a WinModem. It is composed of a 2758c2ecf20Sopenharmony_ci kernel driver and a user level application. Together these components 2768c2ecf20Sopenharmony_ci support direct attachment to public switched telephone networks (PSTNs) 2778c2ecf20Sopenharmony_ci and support selected world wide countries. 2788c2ecf20Sopenharmony_ci 2798c2ecf20Sopenharmony_ci This version of the ACP Modem driver supports the IBM Thinkpad 600E, 2808c2ecf20Sopenharmony_ci 600, and 770 that include on board ACP modem hardware. 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_ci The modem also supports the standard communications port interface 2838c2ecf20Sopenharmony_ci (ttySx) and is compatible with the Hayes AT Command Set. 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ci The user level application needed to use this driver can be found at 2868c2ecf20Sopenharmony_ci the IBM Linux Technology Center (LTC) web site: 2878c2ecf20Sopenharmony_ci <http://www.ibm.com/linux/ltc/>. 2888c2ecf20Sopenharmony_ci 2898c2ecf20Sopenharmony_ci If you own one of the above IBM Thinkpads which has the Mwave chipset 2908c2ecf20Sopenharmony_ci in it, say Y. 2918c2ecf20Sopenharmony_ci 2928c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 2938c2ecf20Sopenharmony_ci module will be called mwave. 2948c2ecf20Sopenharmony_ci 2958c2ecf20Sopenharmony_ciconfig SCx200_GPIO 2968c2ecf20Sopenharmony_ci tristate "NatSemi SCx200 GPIO Support" 2978c2ecf20Sopenharmony_ci depends on SCx200 2988c2ecf20Sopenharmony_ci select NSC_GPIO 2998c2ecf20Sopenharmony_ci help 3008c2ecf20Sopenharmony_ci Give userspace access to the GPIO pins on the National 3018c2ecf20Sopenharmony_ci Semiconductor SCx200 processors. 3028c2ecf20Sopenharmony_ci 3038c2ecf20Sopenharmony_ci If compiled as a module, it will be called scx200_gpio. 3048c2ecf20Sopenharmony_ci 3058c2ecf20Sopenharmony_ciconfig PC8736x_GPIO 3068c2ecf20Sopenharmony_ci tristate "NatSemi PC8736x GPIO Support" 3078c2ecf20Sopenharmony_ci depends on X86_32 && !UML 3088c2ecf20Sopenharmony_ci default SCx200_GPIO # mostly N 3098c2ecf20Sopenharmony_ci select NSC_GPIO # needed for support routines 3108c2ecf20Sopenharmony_ci help 3118c2ecf20Sopenharmony_ci Give userspace access to the GPIO pins on the National 3128c2ecf20Sopenharmony_ci Semiconductor PC-8736x (x=[03456]) SuperIO chip. The chip 3138c2ecf20Sopenharmony_ci has multiple functional units, inc several managed by 3148c2ecf20Sopenharmony_ci hwmon/pc87360 driver. Tested with PC-87366 3158c2ecf20Sopenharmony_ci 3168c2ecf20Sopenharmony_ci If compiled as a module, it will be called pc8736x_gpio. 3178c2ecf20Sopenharmony_ci 3188c2ecf20Sopenharmony_ciconfig NSC_GPIO 3198c2ecf20Sopenharmony_ci tristate "NatSemi Base GPIO Support" 3208c2ecf20Sopenharmony_ci depends on X86_32 3218c2ecf20Sopenharmony_ci # selected by SCx200_GPIO and PC8736x_GPIO 3228c2ecf20Sopenharmony_ci # what about 2 selectors differing: m != y 3238c2ecf20Sopenharmony_ci help 3248c2ecf20Sopenharmony_ci Common support used (and needed) by scx200_gpio and 3258c2ecf20Sopenharmony_ci pc8736x_gpio drivers. If those drivers are built as 3268c2ecf20Sopenharmony_ci modules, this one will be too, named nsc_gpio 3278c2ecf20Sopenharmony_ci 3288c2ecf20Sopenharmony_ciconfig DEVMEM 3298c2ecf20Sopenharmony_ci bool "/dev/mem virtual device support" 3308c2ecf20Sopenharmony_ci default y 3318c2ecf20Sopenharmony_ci help 3328c2ecf20Sopenharmony_ci Say Y here if you want to support the /dev/mem device. 3338c2ecf20Sopenharmony_ci The /dev/mem device is used to access areas of physical 3348c2ecf20Sopenharmony_ci memory. 3358c2ecf20Sopenharmony_ci When in doubt, say "Y". 3368c2ecf20Sopenharmony_ci 3378c2ecf20Sopenharmony_ciconfig DEVKMEM 3388c2ecf20Sopenharmony_ci bool "/dev/kmem virtual device support" 3398c2ecf20Sopenharmony_ci # On arm64, VMALLOC_START < PAGE_OFFSET, which confuses kmem read/write 3408c2ecf20Sopenharmony_ci depends on !ARM64 3418c2ecf20Sopenharmony_ci help 3428c2ecf20Sopenharmony_ci Say Y here if you want to support the /dev/kmem device. The 3438c2ecf20Sopenharmony_ci /dev/kmem device is rarely used, but can be used for certain 3448c2ecf20Sopenharmony_ci kind of kernel debugging operations. 3458c2ecf20Sopenharmony_ci When in doubt, say "N". 3468c2ecf20Sopenharmony_ci 3478c2ecf20Sopenharmony_ciconfig NVRAM 3488c2ecf20Sopenharmony_ci tristate "/dev/nvram support" 3498c2ecf20Sopenharmony_ci depends on X86 || HAVE_ARCH_NVRAM_OPS 3508c2ecf20Sopenharmony_ci default M68K || PPC 3518c2ecf20Sopenharmony_ci help 3528c2ecf20Sopenharmony_ci If you say Y here and create a character special file /dev/nvram 3538c2ecf20Sopenharmony_ci with major number 10 and minor number 144 using mknod ("man mknod"), 3548c2ecf20Sopenharmony_ci you get read and write access to the non-volatile memory. 3558c2ecf20Sopenharmony_ci 3568c2ecf20Sopenharmony_ci /dev/nvram may be used to view settings in NVRAM or to change them 3578c2ecf20Sopenharmony_ci (with some utility). It could also be used to frequently 3588c2ecf20Sopenharmony_ci save a few bits of very important data that may not be lost over 3598c2ecf20Sopenharmony_ci power-off and for which writing to disk is too insecure. Note 3608c2ecf20Sopenharmony_ci however that most NVRAM space in a PC belongs to the BIOS and you 3618c2ecf20Sopenharmony_ci should NEVER idly tamper with it. See Ralf Brown's interrupt list 3628c2ecf20Sopenharmony_ci for a guide to the use of CMOS bytes by your BIOS. 3638c2ecf20Sopenharmony_ci 3648c2ecf20Sopenharmony_ci This memory is conventionally called "NVRAM" on PowerPC machines, 3658c2ecf20Sopenharmony_ci "CMOS RAM" on PCs, "NVRAM" on Ataris and "PRAM" on Macintoshes. 3668c2ecf20Sopenharmony_ci 3678c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 3688c2ecf20Sopenharmony_ci module will be called nvram. 3698c2ecf20Sopenharmony_ci 3708c2ecf20Sopenharmony_ciconfig RAW_DRIVER 3718c2ecf20Sopenharmony_ci tristate "RAW driver (/dev/raw/rawN)" 3728c2ecf20Sopenharmony_ci depends on BLOCK 3738c2ecf20Sopenharmony_ci help 3748c2ecf20Sopenharmony_ci The raw driver permits block devices to be bound to /dev/raw/rawN. 3758c2ecf20Sopenharmony_ci Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O. 3768c2ecf20Sopenharmony_ci See the raw(8) manpage for more details. 3778c2ecf20Sopenharmony_ci 3788c2ecf20Sopenharmony_ci Applications should preferably open the device (eg /dev/hda1) 3798c2ecf20Sopenharmony_ci with the O_DIRECT flag. 3808c2ecf20Sopenharmony_ci 3818c2ecf20Sopenharmony_ciconfig MAX_RAW_DEVS 3828c2ecf20Sopenharmony_ci int "Maximum number of RAW devices to support (1-65536)" 3838c2ecf20Sopenharmony_ci depends on RAW_DRIVER 3848c2ecf20Sopenharmony_ci range 1 65536 3858c2ecf20Sopenharmony_ci default "256" 3868c2ecf20Sopenharmony_ci help 3878c2ecf20Sopenharmony_ci The maximum number of RAW devices that are supported. 3888c2ecf20Sopenharmony_ci Default is 256. Increase this number in case you need lots of 3898c2ecf20Sopenharmony_ci raw devices. 3908c2ecf20Sopenharmony_ci 3918c2ecf20Sopenharmony_ciconfig DEVPORT 3928c2ecf20Sopenharmony_ci bool "/dev/port character device" 3938c2ecf20Sopenharmony_ci depends on ISA || PCI 3948c2ecf20Sopenharmony_ci default y 3958c2ecf20Sopenharmony_ci help 3968c2ecf20Sopenharmony_ci Say Y here if you want to support the /dev/port device. The /dev/port 3978c2ecf20Sopenharmony_ci device is similar to /dev/mem, but for I/O ports. 3988c2ecf20Sopenharmony_ci 3998c2ecf20Sopenharmony_ciconfig HPET 4008c2ecf20Sopenharmony_ci bool "HPET - High Precision Event Timer" if (X86 || IA64) 4018c2ecf20Sopenharmony_ci default n 4028c2ecf20Sopenharmony_ci depends on ACPI 4038c2ecf20Sopenharmony_ci help 4048c2ecf20Sopenharmony_ci If you say Y here, you will have a miscdevice named "/dev/hpet/". Each 4058c2ecf20Sopenharmony_ci open selects one of the timers supported by the HPET. The timers are 4068c2ecf20Sopenharmony_ci non-periodic and/or periodic. 4078c2ecf20Sopenharmony_ci 4088c2ecf20Sopenharmony_ciconfig HPET_MMAP 4098c2ecf20Sopenharmony_ci bool "Allow mmap of HPET" 4108c2ecf20Sopenharmony_ci default y 4118c2ecf20Sopenharmony_ci depends on HPET 4128c2ecf20Sopenharmony_ci help 4138c2ecf20Sopenharmony_ci If you say Y here, user applications will be able to mmap 4148c2ecf20Sopenharmony_ci the HPET registers. 4158c2ecf20Sopenharmony_ci 4168c2ecf20Sopenharmony_ciconfig HPET_MMAP_DEFAULT 4178c2ecf20Sopenharmony_ci bool "Enable HPET MMAP access by default" 4188c2ecf20Sopenharmony_ci default y 4198c2ecf20Sopenharmony_ci depends on HPET_MMAP 4208c2ecf20Sopenharmony_ci help 4218c2ecf20Sopenharmony_ci In some hardware implementations, the page containing HPET 4228c2ecf20Sopenharmony_ci registers may also contain other things that shouldn't be 4238c2ecf20Sopenharmony_ci exposed to the user. This option selects the default (if 4248c2ecf20Sopenharmony_ci kernel parameter hpet_mmap is not set) user access to the 4258c2ecf20Sopenharmony_ci registers for applications that require it. 4268c2ecf20Sopenharmony_ci 4278c2ecf20Sopenharmony_ciconfig HANGCHECK_TIMER 4288c2ecf20Sopenharmony_ci tristate "Hangcheck timer" 4298c2ecf20Sopenharmony_ci depends on X86 || IA64 || PPC64 || S390 4308c2ecf20Sopenharmony_ci help 4318c2ecf20Sopenharmony_ci The hangcheck-timer module detects when the system has gone 4328c2ecf20Sopenharmony_ci out to lunch past a certain margin. It can reboot the system 4338c2ecf20Sopenharmony_ci or merely print a warning. 4348c2ecf20Sopenharmony_ci 4358c2ecf20Sopenharmony_ciconfig UV_MMTIMER 4368c2ecf20Sopenharmony_ci tristate "UV_MMTIMER Memory mapped RTC for SGI UV" 4378c2ecf20Sopenharmony_ci depends on X86_UV 4388c2ecf20Sopenharmony_ci default m 4398c2ecf20Sopenharmony_ci help 4408c2ecf20Sopenharmony_ci The uv_mmtimer device allows direct userspace access to the 4418c2ecf20Sopenharmony_ci UV system timer. 4428c2ecf20Sopenharmony_ci 4438c2ecf20Sopenharmony_cisource "drivers/char/tpm/Kconfig" 4448c2ecf20Sopenharmony_ci 4458c2ecf20Sopenharmony_ciconfig TELCLOCK 4468c2ecf20Sopenharmony_ci tristate "Telecom clock driver for ATCA SBC" 4478c2ecf20Sopenharmony_ci depends on X86 4488c2ecf20Sopenharmony_ci default n 4498c2ecf20Sopenharmony_ci help 4508c2ecf20Sopenharmony_ci The telecom clock device is specific to the MPCBL0010 and MPCBL0050 4518c2ecf20Sopenharmony_ci ATCA computers and allows direct userspace access to the 4528c2ecf20Sopenharmony_ci configuration of the telecom clock configuration settings. This 4538c2ecf20Sopenharmony_ci device is used for hardware synchronization across the ATCA backplane 4548c2ecf20Sopenharmony_ci fabric. Upon loading, the driver exports a sysfs directory, 4558c2ecf20Sopenharmony_ci /sys/devices/platform/telco_clock, with a number of files for 4568c2ecf20Sopenharmony_ci controlling the behavior of this hardware. 4578c2ecf20Sopenharmony_ci 4588c2ecf20Sopenharmony_cisource "drivers/s390/char/Kconfig" 4598c2ecf20Sopenharmony_ci 4608c2ecf20Sopenharmony_cisource "drivers/char/xillybus/Kconfig" 4618c2ecf20Sopenharmony_ci 4628c2ecf20Sopenharmony_ciconfig ADI 4638c2ecf20Sopenharmony_ci tristate "SPARC Privileged ADI driver" 4648c2ecf20Sopenharmony_ci depends on SPARC64 4658c2ecf20Sopenharmony_ci default m 4668c2ecf20Sopenharmony_ci help 4678c2ecf20Sopenharmony_ci SPARC M7 and newer processors utilize ADI (Application Data 4688c2ecf20Sopenharmony_ci Integrity) to version and protect memory. This driver provides 4698c2ecf20Sopenharmony_ci read/write access to the ADI versions for privileged processes. 4708c2ecf20Sopenharmony_ci This feature is also known as MCD (Memory Corruption Detection) 4718c2ecf20Sopenharmony_ci and SSM (Silicon Secured Memory). Intended consumers of this 4728c2ecf20Sopenharmony_ci driver include crash and makedumpfile. 4738c2ecf20Sopenharmony_ci 4748c2ecf20Sopenharmony_ciconfig RANDOM_TRUST_CPU 4758c2ecf20Sopenharmony_ci bool "Initialize RNG using CPU RNG instructions" 4768c2ecf20Sopenharmony_ci default y 4778c2ecf20Sopenharmony_ci depends on ARCH_RANDOM 4788c2ecf20Sopenharmony_ci help 4798c2ecf20Sopenharmony_ci Initialize the RNG using random numbers supplied by the CPU's 4808c2ecf20Sopenharmony_ci RNG instructions (e.g. RDRAND), if supported and available. These 4818c2ecf20Sopenharmony_ci random numbers are never used directly, but are rather hashed into 4828c2ecf20Sopenharmony_ci the main input pool, and this happens regardless of whether or not 4838c2ecf20Sopenharmony_ci this option is enabled. Instead, this option controls whether the 4848c2ecf20Sopenharmony_ci they are credited and hence can initialize the RNG. Additionally, 4858c2ecf20Sopenharmony_ci other sources of randomness are always used, regardless of this 4868c2ecf20Sopenharmony_ci setting. Enabling this implies trusting that the CPU can supply high 4878c2ecf20Sopenharmony_ci quality and non-backdoored random numbers. 4888c2ecf20Sopenharmony_ci 4898c2ecf20Sopenharmony_ci Say Y here unless you have reason to mistrust your CPU or believe 4908c2ecf20Sopenharmony_ci its RNG facilities may be faulty. This may also be configured at 4918c2ecf20Sopenharmony_ci boot time with "random.trust_cpu=on/off". 4928c2ecf20Sopenharmony_ci 4938c2ecf20Sopenharmony_ciconfig RANDOM_TRUST_BOOTLOADER 4948c2ecf20Sopenharmony_ci bool "Initialize RNG using bootloader-supplied seed" 4958c2ecf20Sopenharmony_ci default y 4968c2ecf20Sopenharmony_ci help 4978c2ecf20Sopenharmony_ci Initialize the RNG using a seed supplied by the bootloader or boot 4988c2ecf20Sopenharmony_ci environment (e.g. EFI or a bootloader-generated device tree). This 4998c2ecf20Sopenharmony_ci seed is not used directly, but is rather hashed into the main input 5008c2ecf20Sopenharmony_ci pool, and this happens regardless of whether or not this option is 5018c2ecf20Sopenharmony_ci enabled. Instead, this option controls whether the seed is credited 5028c2ecf20Sopenharmony_ci and hence can initialize the RNG. Additionally, other sources of 5038c2ecf20Sopenharmony_ci randomness are always used, regardless of this setting. Enabling 5048c2ecf20Sopenharmony_ci this implies trusting that the bootloader can supply high quality and 5058c2ecf20Sopenharmony_ci non-backdoored seeds. 5068c2ecf20Sopenharmony_ci 5078c2ecf20Sopenharmony_ci Say Y here unless you have reason to mistrust your bootloader or 5088c2ecf20Sopenharmony_ci believe its RNG facilities may be faulty. This may also be configured 5098c2ecf20Sopenharmony_ci at boot time with "random.trust_bootloader=on/off". 5108c2ecf20Sopenharmony_ci 5118c2ecf20Sopenharmony_ciendmenu 512