# # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # mainmenu "Linux/SuperH Kernel Configuration" config SUPERH bool default y help The SuperH is a RISC processor targeted for use in embedded systems and consumer electronics; it was also used in the Sega Dreamcast gaming console. The SuperH port has a home page at . config UID16 bool default y config RWSEM_GENERIC_SPINLOCK bool default y config RWSEM_XCHGADD_ALGORITHM bool source "init/Kconfig" menu "System type" choice prompt "SuperH system type" default SH_UNKNOWN config SH_SOLUTION_ENGINE bool "SolutionEngine" help Select SolutionEngine if configuring for a Hitachi SH7709 or SH7750 evalutation board. config SH_7751_SOLUTION_ENGINE bool "SolutionEngine7751" help Select 7751 SolutionEngine if configuring for a Hitachi SH7751 evalutation board. config SH_7751_SYSTEMH bool "SystemH7751R" help Select SystemH if you are configuring for a Renesas SystemH 7751R evaluation board. config SH_STB1_HARP bool "STB1_Harp" config SH_STB1_OVERDRIVE bool "STB1_Overdrive" config SH_HP620 bool "HP620" help Select HP620 if configuring for a HP jornada HP620. More information (hardware only) at . config SH_HP680 bool "HP680" help Select HP680 if configuring for a HP Jornada HP680. More information (hardware only) at . config SH_HP690 bool "HP690" help Select HP690 if configuring for a HP Jornada HP690. More information (hardware only) at . config SH_CQREEK bool "CqREEK" help Select CqREEK if configuring for a CqREEK SH7708 or SH7750. More information at . config SH_DMIDA bool "DMIDA" help Select DMIDA if configuring for a DataMyte 4000 Industrial Digital Assistant. More information at . config SH_EC3104 bool "EC3104" help Select EC3104 if configuring for a system with an Eclipse International EC3104 chip, e.g. the Harris AD2000. config SH_SATURN bool "Saturn" help Select Saturn if configuring for a SEGA Saturn. config SH_DREAMCAST bool "Dreamcast" help Select Dreamcast if configuring for a SEGA Dreamcast. More information at . There is a Dreamcast project is at . config SH_CAT68701 bool "CAT68701" config SH_BIGSUR bool "BigSur" config SH_SH2000 bool "SH2000" help SH-2000 is a single-board computer based around SH7709A chip intended for embedded applications. It has an Ethernet interface (CS8900A), direct connected Compact Flash socket, three serial ports and PC-104 bus. More information at . config SH_ADX bool "ADX" config SH_MPC1211 bool "MPC1211" config SH_SECUREEDGE5410 bool "SecureEdge5410" help Select SecureEdge5410 if configuring for a SnapGear SH board. This includes both the OEM SecureEdge products as well as the SME product line. config SH_UNKNOWN bool "BareCPU" help "Bare CPU" aka "unknown" means an SH-based system which is not one of the specific ones mentioned above, which means you need to enter all sorts of stuff like CONFIG_MEMORY_START because the config system doesn't already know what it is. You get a machine vector without any platform-specific code in it, so things like the RTC may not work. This option is for the early stages of porting to a new machine. endchoice choice prompt "Processor family" default CPU_SH4 help This option determines the CPU family to compile for. Supported targets are SH-2, SH-3, and SH-4. These options are independent of CPU functionality. As such, SH-DSP users will still want to select their respective processor family in addition to the DSP support option. config CPU_SH2 bool "SH-2" select SH_WRITETHROUGH config CPU_SH3 bool "SH-3" config CPU_SH4 bool "SH-4" endchoice choice prompt "Processor subtype" config CPU_SUBTYPE_SH7604 bool "SH7604" depends on CPU_SH2 help Select SH7604 if you have SH7604 config CPU_SUBTYPE_SH7300 bool "SH7300" depends on CPU_SH3 config CPU_SUBTYPE_SH7707 bool "SH7707" depends on CPU_SH3 help Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU. config CPU_SUBTYPE_SH7708 bool "SH7708" depends on CPU_SH3 help Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or if you have a 100 Mhz SH-3 HD6417708R CPU. config CPU_SUBTYPE_SH7709 bool "SH7709" depends on CPU_SH3 help Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU. config CPU_SUBTYPE_SH7750 bool "SH7750" depends on CPU_SH4 help Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. config CPU_SUBTYPE_SH7751 bool "SH7751/SH7751R" depends on CPU_SH4 help Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, or if you have a HD6417751R CPU. config CPU_SUBTYPE_SH7760 bool "SH7760" depends on CPU_SH4 config CPU_SUBTYPE_ST40STB1 bool "ST40STB1" depends on CPU_SH4 help Select ST40STB1 if you have a ST40STB1 CPU. endchoice config MMU bool "Support for memory management hardware" depends on !CPU_SH2 default y help Early SH processors (such as the SH7604) lack an MMU. In order to boot on these systems, this option must not be set. On other systems (such as the SH-3 and 4) where an MMU exists, turning this off will boot the kernel on these machines with the MMU implicitly switched off. config CMDLINE_BOOL bool "Default bootloader kernel arguments" config CMDLINE string "Initial kernel command string" depends on CMDLINE_BOOL default "console=ttySC1,115200" # Platform-specific memory start and size definitions config MEMORY_START hex "Physical memory start address" if !MEMORY_SET || MEMORY_OVERRIDE default "0x08000000" if !MEMORY_SET || MEMORY_OVERRIDE || !MEMORY_OVERRIDE && SH_ADX || SH_MPC1211 || SH_SECUREEDGE5410 default "0x0c000000" if !MEMORY_OVERRIDE && (SH_DREAMCAST || SH_HP600 || SH_BIGSUR || SH_SH2000 || SH_7751_SOLUTION_ENGINE || SH_SOLUTION_ENGINE) ---help--- Computers built with Hitachi SuperH processors always map the ROM starting at address zero. But the processor does not specify the range that RAM takes. The physical memory (RAM) start address will be automatically set to 08000000, unless you selected one of the following processor types: SolutionEngine, Overdrive, HP620, HP680, HP690, in which case the start address will be set to 0c000000. Tweak this only when porting to a new machine which is not already known by the config system. Changing it from the known correct value on any of the known systems will only lead to disaster. config MEMORY_SIZE hex "Physical memory size" if !MEMORY_SET || MEMORY_OVERRIDE default "0x00400000" if !MEMORY_SET || MEMORY_OVERRIDE || !MEMORY_OVERRIDE && SH_ADX || !MEMORY_OVERRIDE && (SH_HP600 || SH_BIGSUR || SH_SH2000) default "0x01000000" if !MEMORY_OVERRIDE && SH_DREAMCAST || SH_SECUREEDGE5410 default "0x04000000" if !MEMORY_OVERRIDE && SH_7751_SOLUTION_ENGINE default "0x02000000" if !MEMORY_OVERRIDE && SH_SOLUTION_ENGINE default "0x08000000" if SH_MPC1211 help This sets the default memory size assumed by your SH kernel. It can be overridden as normal by the 'mem=' argument on the kernel command line. If unsure, consult your board specifications or just leave it as 0x00400000 which was the default value before this became configurable. config MEMORY_SET bool depends on !MEMORY_OVERRIDE && (SH_MPC1211 || SH_ADX || SH_DREAMCAST || SH_HP600 || SH_BIGSUR || SH_SH2000 || SH_7751_SOLUTION_ENGINE || SH_SOLUTION_ENGINE || SH_SECUREEDGE5410) default y help This is an option about which you will never be asked a question. Therefore, I conclude that you do not exist - go away. There is a grue here. # If none of the above have set memory start/size, ask the user. config MEMORY_OVERRIDE bool "Override default load address and memory size" # XXX: break these out into the board-specific configs below config CF_ENABLER bool "Compact Flash Enabler support" depends on SH_ADX || SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_CAT68701 ---help--- Compact Flash is a small, removable mass storage device introduced in 1994 originally as a PCMCIA device. If you say `Y' here, you compile in support for Compact Flash devices directly connected to a SuperH processor. A Compact Flash FAQ is available at . If your board has "Directly Connected" CompactFlash at area 5 or 6, you may want to enable this option. Then, you can use CF as primary IDE drive (only tested for SanDisk). If in doubt, select 'N'. choice prompt "Compact Flash Connection Area" depends on CF_ENABLER default CF_AREA6 config CF_AREA5 bool "Area5" help If your board has "Directly Connected" CompactFlash, You should select the area where your CF is connected to. - "Area5" if CompactFlash is connected to Area 5 (0x14000000) - "Area6" if it is connected to Area 6 (0x18000000) "Area6" will work for most boards. For ADX, select "Area5". config CF_AREA6 bool "Area6" endchoice config CF_BASE_ADDR hex depends on CF_ENABLER default "0xb8000000" if CF_AREA6 default "0xb4000000" if CF_AREA5 # The SH7750 RTC module is disabled in the Dreamcast config SH_RTC bool depends on !SH_DREAMCAST && !SH_SATURN default y help Selecting this option will allow the Linux kernel to emulate PC's RTC. If unsure, say N. config SH_DSP bool "DSP support" depends on !CPU_SH4 default y help Selecting this option will enable support for SH processors that have DSP units (ie, SH2-DSP and SH3-DSP). It is safe to say Y here by default, as the existance of the DSP will be probed at runtime. This option must be set in order to enable the DSP. config SH_HP600 bool depends on SH_HP620 || SH_HP680 || SH_HP690 default y config DISCONTIGMEM bool depends on SH_HP690 default y help Say Y to upport efficient handling of discontiguous physical memory, for architectures which are either NUMA (Non-Uniform Memory Access) or have huge holes in the physical address space for other reasons. See for more. config ZERO_PAGE_OFFSET hex "Zero page offset" default "0x00001000" if !SH_MPC1211 default "0x00004000" if SH_MPC1211 help This sets the default offset of zero page. # XXX: needs to lose subtype for system type config ST40_LMI_MEMORY bool "Memory on LMI" depends on CPU_SUBTYPE_ST40STB1 config MEMORY_START hex depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY default "0x08000000" config MEMORY_SIZE hex depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY default "0x00400000" config MEMORY_SET bool depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY default y config BOOT_LINK_OFFSET hex "Link address offset for booting" default "0x00800000" help This option allows you to set the link address offset of the zImage. This can be useful if you are on a board which has a small amount of memory. config CPU_LITTLE_ENDIAN bool "Little Endian" help Some SuperH machines can be configured for either little or big endian byte order. These modes require different kernels. Say Y if your machine is little endian, N if it's a big endian machine. config PREEMPT bool "Preemptible Kernel (EXPERIMENTAL)" depends on EXPERIMENTAL config UBC_WAKEUP bool "Wakeup UBC on startup" help Selecting this option will wakeup the User Break Controller (UBC) on startup. Although the UBC is left in an awake state when the processor comes up, some boot loaders misbehave by putting the UBC to sleep in a power saving state, which causes issues with things like ptrace(). If unsure, say N. config SH_WRITETHROUGH bool "Use write-through caching" default y if CPU_SH2 help Selecting this option will configure the caches in write-through mode, as opposed to the default write-back configuration. Since there's sill some aliasing issues on SH-4, this option will unfortunately still require the majority of flushing functions to be implemented to deal with aliasing. If unsure, say N. config SH_OCRAM bool "Operand Cache RAM (OCRAM) support" help Selecting this option will automatically tear down the number of sets in the dcache by half, which in turn exposes a memory range. The addresses for the OC RAM base will vary according to the processor version. Consult vendor documentation for specifics. If unsure, say N. config SH_STORE_QUEUES bool "Support for Store Queues" depends on CPU_SH4 help Selecting this option will enable an in-kernel API for manipulating the store queues integrated in the SH-4 processors. config SMP bool "Symmetric multi-processing support" ---help--- This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. People using multiprocessor machines who say Y here should also say Y to "Enhanced Real Time Clock Support", below. See also the , , and the SMP-HOWTO available at . If you don't know what to do here, say N. config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP default "2" help This allows you to specify the maximum number of CPUs which this kernel will support. The maximum supported value is 32 and the minimum value which makes sense is 2. This is purely to save memory - each supported CPU adds approximately eight kilobytes to the kernel image. config SH_PCLK_FREQ int "Peripheral clock frequency (in Hz)" default "49876504" if CPU_SUBTYPE_SH7750 default "60013568" if CPU_SUBTYPE_SH7751 default "1193182" help This option is used to specify the peripheral clock frequency. This option must be set for each processor in order for the kernel to function reliably. If no sane default exists, we use a default from the legacy i8254. Any discrepancies will be reported on boot time with an auto-probed frequency which should be considered the proper value for your hardware. config CPU_FREQ bool "CPU Frequency scaling" help CPU clock scaling allows you to change the clock speed of the running CPU on the fly. For details, take a look at . If unsure, say N. config CPU_FREQ_TABLE tristate "CPU frequency table helpers" depends on CPU_FREQ default y help Many cpufreq drivers use these helpers, so only say N here if the cpufreq driver of your choice doesn't need these helpers. If unsure, say Y. config SH_CPU_FREQ tristate "SuperH CPU Frequency driver" depends on CPU_FREQ help This adds the cpufreq driver for SuperH. At present, only the SH-4 is supported. For details, take a look at . If unsure, say N. source "drivers/cpufreq/Kconfig" source "arch/sh/drivers/dma/Kconfig" source "arch/sh/cchips/Kconfig" endmenu menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" # Even on SuperH devices which don't have an ISA bus, # this variable helps the PCMCIA modules handle # IRQ requesting properly -- Greg Banks. # # Though we're generally not interested in it when # we're not using PCMCIA, so we make it dependent on # PCMCIA outright. -- PFM. config ISA bool default y if PCMCIA help Find out whether you have ISA slots on your motherboard. ISA is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. Other bus systems are PCI, EISA, MicroChannel (MCA) or VESA. ISA is an older system, now being displaced by PCI; newer boards don't support it. If you have ISA, say Y, otherwise N. config EISA bool ---help--- The Extended Industry Standard Architecture (EISA) bus was developed as an open alternative to the IBM MicroChannel bus. The EISA bus provided some of the features of the IBM MicroChannel bus while maintaining backward compatibility with cards made for the older ISA bus. The EISA bus saw limited use between 1988 and 1995 when it was made obsolete by the PCI bus. Say Y here if you are building a kernel for an EISA-based machine. Otherwise, say N. config MCA bool help MicroChannel Architecture is found in some IBM PS/2 machines and laptops. It is a bus system similar to PCI or ISA. See (and especially the web page given there) before attempting to build an MCA bus kernel. config SBUS bool config MAPLE bool default y if SH_DREAMCAST source "arch/sh/drivers/pci/Kconfig" source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" source "drivers/pci/hotplug/Kconfig" endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu source "drivers/base/Kconfig" source "drivers/mtd/Kconfig" source "drivers/parport/Kconfig" source "drivers/block/Kconfig" source "drivers/ide/Kconfig" source "drivers/scsi/Kconfig" source "drivers/cdrom/Kconfig" source "drivers/md/Kconfig" source "drivers/ieee1394/Kconfig" source "net/Kconfig" source "drivers/isdn/Kconfig" source "drivers/telephony/Kconfig" # # input - input/joystick depends on it. As does USB. # source "drivers/input/Kconfig" menu "Character devices" config VT bool "Virtual terminal" ---help--- If you say Y here, you will get support for terminal devices with display and keyboard devices. These are called "virtual" because you can run several virtual terminals (also called virtual consoles) on one physical terminal. This is rather useful, for example one virtual terminal can collect system messages and warnings, another one can be used for a text-mode user session, and a third could run an X session, all in parallel. Switching between virtual terminals is done with certain key combinations, usually Alt-. The setterm command ("man setterm") can be used to change the properties (such as colors or beeping) of a virtual terminal. The man page console_codes(4) ("man console_codes") contains the special character sequences that can be used to change those properties directly. The fonts used on virtual terminals can be changed with the setfont ("man setfont") command and the key bindings are defined with the loadkeys ("man loadkeys") command. You need at least one virtual terminal device in order to make use of your keyboard and monitor. Therefore, only people configuring an embedded system would want to say N here in order to save some memory; the only way to log into such a system is then via a serial or network connection. If unsure, say Y, or else you won't be able to do much with your new shiny Linux system :-) config VT_CONSOLE bool "Support for console on virtual terminal" depends on VT ---help--- The system console is the device which receives all kernel messages and warnings and which allows logins in single user mode. If you answer Y here, a virtual terminal (the device used to interact with a physical terminal) can be used as system console. This is the most common mode of operations, so you should say Y here unless you want the kernel messages be output only to a serial port (in which case you should say Y to "Console on serial port", below). If you do say Y here, by default the currently visible virtual terminal (/dev/tty0) will be used as system console. You can change that with a kernel command line option such as "console=tty3" which would use the third virtual terminal as system console. (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) If unsure, say Y. config HW_CONSOLE bool depends on VT && !S390 && !UM default y config SERIAL tristate "Serial (8250, 16450, 16550 or compatible) support" ---help--- This selects whether you want to include the driver for the standard serial ports. The standard answer is Y. People who might say N here are those that are setting up dedicated Ethernet WWW/FTP servers, or users that have one of the various bus mice instead of a serial mouse and don't intend to use their machine's standard serial port for anything. (Note that the Cyclades and Stallion multi serial port drivers do not need this driver built in for them to work.) To compile this driver as a module, choose M here: the module will be called serial. [WARNING: Do not compile this driver as a module if you are using non-standard serial ports, since the configuration information will be lost when the driver is unloaded. This limitation may be lifted in the future.] BTW1: If you have a mouseman serial mouse which is not recognized by the X window system, try running gpm first. BTW2: If you intend to use a software modem (also called Winmodem) under Linux, forget it. These modems are crippled and require proprietary drivers which are only available under Windows. Most people will say Y or M here, so that they can use serial mice, modems and similar devices connecting to the standard serial ports. config SH_SCI tristate "Serial (SCI, SCIF) support" help Selecting this option will allow the Linux kernel to transfer data over SCI (Serial Communication Interface) and/or SCIF (Serial Communication Interface with FIFO) which are built into the Hitachi SuperH processor. The option provides 1 to 3 (depending on the CPU model) standard Linux tty devices, /dev/ttySC[012]; one of these is normally used as the system console. If in doubt, press "y". config SERIAL_CONSOLE bool "Support for console on serial port" depends on SERIAL=y || SH_SCI=y ---help--- If you say Y here, it will be possible to use a serial port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). This could be useful if some terminal or printer is connected to that serial port. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyS1". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) If you don't have a VGA card installed and you say Y here, the kernel will automatically use the first serial line, /dev/ttyS0, as system console. If unsure, say N. comment "Unix98 PTY support" config UNIX98_PTYS bool "Unix98 PTY support" ---help--- A pseudo terminal (PTY) is a software device consisting of two halves: a master and a slave. The slave device behaves identical to a physical terminal; the master device is used by a process to read data from and write data to the slave, thereby emulating a terminal. Typical programs for the master side are telnet servers and xterms. Linux has traditionally used the BSD-like names /dev/ptyxx for masters and /dev/ttyxx for slaves of pseudo terminals. This scheme has a number of problems. The GNU C library glibc 2.1 and later, however, supports the Unix98 naming standard: in order to acquire a pseudo terminal, a process opens /dev/ptmx; the number of the pseudo terminal is then made available to the process and the pseudo terminal slave can be accessed as /dev/pts/. What was traditionally /dev/ttyp2 will then be /dev/pts/2, for example. The entries in /dev/pts/ are created on the fly by a virtual file system; therefore, if you say Y here you should say Y to "/dev/pts file system for Unix98 PTYs" as well. If you want to say Y here, you need to have the C library glibc 2.1 or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*"). Read the instructions in pertaining to pseudo terminals. It's safe to say N. config UNIX98_PTY_COUNT int "Maximum number of Unix98 PTYs in use (0-2048)" depends on UNIX98_PTYS default "256" help The maximum number of Unix98 PTYs that can be used at any one time. The default is 256, and should be enough for desktop systems. Server machines which support incoming telnet/rlogin/ssh connections and/or serve several X terminals may want to increase this: every incoming connection and every xterm uses up one PTY. When not in use, each additional set of 256 PTYs occupy approximately 8 KB of kernel memory on 32-bit architectures. config HEARTBEAT bool "Heartbeat LED" depends on SH_MPC1211 || SH_CAT68701 || SH_STB1_HARP || SH_STB1_OVERDRIVE || SH_BIGSUR || SH_7751_SOLUTION_ENGINE || SH_SOLUTION_ENGINE help Use the power-on LED on your machine as a load meter. The exact behavior is platform-dependent, but normally the flash frequency is a hyperbolic function of the 5-minute load average. menu "Maple Bus input peripherals" depends on SH_DREAMCAST && MAPLE config MAPLE_KEYBOARD tristate "Maple Bus keyboard support" depends on INPUT config MAPLE_MOUSE tristate "Maple Bus mouse support" depends on INPUT comment "Input core support is required for Maple input peripherals" depends on INPUT=n endmenu config PRINTER tristate "Parallel printer support" depends on PARPORT ---help--- If you intend to attach a printer to the parallel port of your Linux box (as opposed to using a serial printer; if the connector at the printer has 9 or 25 holes ["female"], then it's serial), say Y. Also read the Printing-HOWTO, available from . It is possible to share one parallel port among several devices (e.g. printer and ZIP drive) and it is safe to compile the corresponding drivers into the kernel. To compile this driver as a module, choose M here and read . The module will be called lp. If you have several parallel ports, you can specify which ports to use with the "lp" kernel command line option. (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) The syntax of the "lp" command line option can be found in . If you have more than 8 printers, you need to increase the LP_NO macro in lp.c and the PARPORT_MAX macro in parport.h. config LP_CONSOLE bool "Support for console on line printer" depends on PRINTER ---help--- If you want kernel messages to be printed out as they occur, you can have a console on the printer. This option adds support for doing that; to actually get it to happen you need to pass the option "console=lp0" to the kernel at boot time. If the printer is out of paper (or off, or unplugged, or too busy..) the kernel will stall until the printer is ready again. By defining CONSOLE_LP_STRICT to 0 (at your own risk) you can make the kernel continue when this happens, but it'll lose the kernel messages. If unsure, say N. config PPDEV tristate "Support for user-space parallel port device drivers" depends on PARPORT ---help--- Saying Y to this adds support for /dev/parport device nodes. This is needed for programs that want portable access to the parallel port, for instance deviceid (which displays Plug-and-Play device IDs). This is the parallel port equivalent of SCSI generic support (sg). It is safe to say N to this -- it is not needed for normal printing or parallel port CD-ROM/disk support. To compile this support as a module, choose M here: the module will be called ppdev. If unsure, say N. config PSMOUSE bool "PS/2 mouse (aka \"auxiliary device\") support" ---help--- The PS/2 mouse connects to a special mouse port that looks much like the keyboard port (small circular connector with 6 pins). This way, the mouse does not use any serial ports. This port can also be used for other input devices like light pens, tablets, keypads. Compaq, AST and IBM all use this as their mouse port on currently shipping machines. The trackballs of some laptops are PS/2 mice also. In particular, the C&T 82C710 mouse on TI Travelmates is a PS/2 mouse. Although PS/2 mice are not technically bus mice, they are explained in detail in the Busmouse-HOWTO, available from . When using a PS/2 mouse, you can get problems if you want to use the mouse both on the Linux console and under X. Using the "-R" option of the Linux mouse managing program gpm (available from ) solves this problem, or you can get the "mconv2" utility from . source "drivers/char/watchdog/Kconfig" config RTC tristate "Enhanced Real Time Clock Support" ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you will get access to the real time clock (or hardware clock) built into your computer. Every PC has such a clock built in. It can be used to generate signals from as low as 1Hz up to 8192Hz, and can also be used as a 24 hour alarm. It reports status information via the file /proc/driver/rtc and its behaviour is set by various ioctls on /dev/rtc. If you run Linux on a multiprocessor machine and said Y to "Symmetric Multi Processing" above, you should say Y here to read and set the RTC in an SMP compatible fashion. If you think you have a use for such a device (such as periodic data sampling), then say Y here, and read for details. To compile this driver as a module, choose M here: the module will be called rtc. source "drivers/char/pcmcia/Kconfig" source "drivers/serial/Kconfig" source "drivers/i2c/Kconfig" endmenu source "fs/Kconfig" source "drivers/media/Kconfig" source "drivers/video/Kconfig" source "sound/Kconfig" source "drivers/usb/Kconfig" source "arch/sh/oprofile/Kconfig" menu "Kernel hacking" config MAGIC_SYSRQ bool "Magic SysRq key" help If you say Y here, you will have some control over the system even if the system crashes for example during kernel debugging (e.g., you will be able to flush the buffer cache to disk, reboot the system immediately or dump some status information). This is accomplished by pressing various keys while holding SysRq (Alt+PrintScreen). It also works on a serial console (on PC hardware at least), if you send a BREAK and then within 5 seconds a command keypress. The keys are documented in . Don't say Y unless you really know what this hack does. config DEBUG_SPINLOCK bool "Spinlock debugging" help Say Y here and build SMP to catch missing spinlock initialization and certain other kinds of spinlock errors commonly made. This is best used in conjunction with the NMI watchdog so that spinlock deadlocks are also debuggable. config SH_STANDARD_BIOS bool "Use LinuxSH standard BIOS" help Say Y here if your target has the gdb-sh-stub package from www.m17n.org (or any conforming standard LinuxSH BIOS) in FLASH or EPROM. The kernel will use standard BIOS calls during boot for various housekeeping tasks (including calls to read and write characters to a system console, get a MAC address from an on-board Ethernet interface, and shut down the hardware). Note this does not work with machines with an existing operating system in mask ROM and no flash (WindowsCE machines fall in this category). If unsure, say N. config SH_EARLY_PRINTK bool "Early printk support" depends on SH_STANDARD_BIOS help Say Y here to redirect kernel printk messages to the serial port used by the SH-IPL bootloader, starting very early in the boot process and ending when the kernel's serial console is initialised. This option is only useful porting the kernel to a new machine, when the kernel may crash or hang before the serial console is initialised. If unsure, say N. config KGDB bool "Include KGDB kernel debugger" help Include in-kernel hooks for kgdb, the Linux kernel source level debugger. See for more information. Unless you are intending to debug the kernel, say N here. menu "KGDB configuration options" depends on KGDB config MORE_COMPILE_OPTIONS bool "Add any additional compile options" help If you want to add additional CFLAGS to the kernel build, enable this option and then enter what you would like to add in the next question. Note however that -g is already appended with the selection of KGDB. config COMPILE_OPTIONS string "Additional compile arguments" depends on MORE_COMPILE_OPTIONS config KGDB_NMI bool "Enter KGDB on NMI" default n config KGDB_THREAD bool "Include KGDB thread support" default y config SH_KGDB_CONSOLE bool "Console messages through GDB" default n config KGDB_SYSRQ bool "Allow SysRq 'G' to enter KGDB" default y config KGDB_KERNEL_ASSERTS bool "Include KGDB kernel assertions" default n comment "Serial port setup" config KGDB_DEFPORT int "Port number (ttySCn)" default "1" config KGDB_DEFBAUD int "Baud rate" default "115200" choice prompt "Parity" depends on KGDB default KGDB_DEFPARITY_N config KGDB_DEFPARITY_N bool "None" config KGDB_DEFPARITY_E bool "Even" config KGDB_DEFPARITY_O bool "Odd" endchoice choice prompt "Data bits" depends on KGDB default KGDB_DEFBITS_8 config KGDB_DEFBITS_8 bool "8" config KGDB_DEFBITS_7 bool "7" endchoice endmenu config FRAME_POINTER bool "Compile the kernel with frame pointers" default y if KGDB help If you say Y here the resulting kernel image will be slightly larger and slower, but it will give very useful debugging information. If you don't debug the kernel, you can say N, but we may not be able to solve problems without frame pointers. endmenu source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig"