2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux/SuperH Kernel Configuration"
12 The SuperH is a RISC processor targeted for use in embedded systems
13 and consumer electronics; it was also used in the Sega Dreamcast
14 gaming console. The SuperH port has a home page at
15 <http://www.linux-sh.org/>.
21 config RWSEM_GENERIC_SPINLOCK
25 config RWSEM_XCHGADD_ALGORITHM
33 prompt "SuperH system type"
36 config SH_SOLUTION_ENGINE
39 Select SolutionEngine if configuring for a Hitachi SH7709
40 or SH7750 evalutation board.
42 config SH_7751_SOLUTION_ENGINE
43 bool "SolutionEngine7751"
45 Select 7751 SolutionEngine if configuring for a Hitachi SH7751
48 config SH_7751_SYSTEMH
51 Select SystemH if you are configuring for a Renesas SystemH
52 7751R evaluation board.
57 config SH_STB1_OVERDRIVE
63 Select HP620 if configuring for a HP jornada HP620.
64 More information (hardware only) at
65 <http://www.hp.com/jornada/>.
70 Select HP680 if configuring for a HP Jornada HP680.
71 More information (hardware only) at
72 <http://www.hp.com/jornada/products/680/>.
77 Select HP690 if configuring for a HP Jornada HP690.
78 More information (hardware only)
79 at <http://www.hp.com/jornada/products/680/>.
84 Select CqREEK if configuring for a CqREEK SH7708 or SH7750.
86 <http://sources.redhat.com/ecos/hardware.html#SuperH>.
91 Select DMIDA if configuring for a DataMyte 4000 Industrial
92 Digital Assistant. More information at <http://www.dmida.com/>.
97 Select EC3104 if configuring for a system with an Eclipse
98 International EC3104 chip, e.g. the Harris AD2000.
103 Select Saturn if configuring for a SEGA Saturn.
108 Select Dreamcast if configuring for a SEGA Dreamcast.
110 <http://www.m17n.org/linux-sh/dreamcast/>. There is a
111 Dreamcast project is at <http://linuxdc.sourceforge.net/>.
122 SH-2000 is a single-board computer based around SH7709A chip
123 intended for embedded applications.
124 It has an Ethernet interface (CS8900A), direct connected
125 Compact Flash socket, three serial ports and PC-104 bus.
126 More information at <http://sh2000.sh-linux.org>.
134 config SH_SECUREEDGE5410
135 bool "SecureEdge5410"
137 Select SecureEdge5410 if configuring for a SnapGear SH board.
138 This includes both the OEM SecureEdge products as well as the
144 "Bare CPU" aka "unknown" means an SH-based system which is not one
145 of the specific ones mentioned above, which means you need to enter
146 all sorts of stuff like CONFIG_MEMORY_START because the config
147 system doesn't already know what it is. You get a machine vector
148 without any platform-specific code in it, so things like the RTC may
151 This option is for the early stages of porting to a new machine.
156 prompt "Processor family"
159 This option determines the CPU family to compile for. Supported
160 targets are SH-2, SH-3, and SH-4. These options are independent of
161 CPU functionality. As such, SH-DSP users will still want to select
162 their respective processor family in addition to the DSP support
167 select SH_WRITETHROUGH
178 prompt "Processor subtype"
180 config CPU_SUBTYPE_SH7604
184 Select SH7604 if you have SH7604
186 config CPU_SUBTYPE_SH7300
190 config CPU_SUBTYPE_SH7707
194 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
196 config CPU_SUBTYPE_SH7708
200 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
201 if you have a 100 Mhz SH-3 HD6417708R CPU.
203 config CPU_SUBTYPE_SH7709
207 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
209 config CPU_SUBTYPE_SH7750
213 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
215 config CPU_SUBTYPE_SH7751
216 bool "SH7751/SH7751R"
219 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
220 or if you have a HD6417751R CPU.
222 config CPU_SUBTYPE_SH7760
226 config CPU_SUBTYPE_ST40STB1
230 Select ST40STB1 if you have a ST40STB1 CPU.
235 bool "Support for memory management hardware"
239 Early SH processors (such as the SH7604) lack an MMU. In order to
240 boot on these systems, this option must not be set.
242 On other systems (such as the SH-3 and 4) where an MMU exists,
243 turning this off will boot the kernel on these machines with the
244 MMU implicitly switched off.
247 prompt "HugeTLB page size"
248 depends on HUGETLB_PAGE && CPU_SH4 && MMU
249 default HUGETLB_PAGE_SIZE_64K
251 config HUGETLB_PAGE_SIZE_64K
254 config HUGETLB_PAGE_SIZE_1MB
260 bool "Default bootloader kernel arguments"
263 string "Initial kernel command string"
264 depends on CMDLINE_BOOL
265 default "console=ttySC1,115200"
267 # Platform-specific memory start and size definitions
269 hex "Physical memory start address" if !MEMORY_SET || MEMORY_OVERRIDE
270 default "0x08000000" if !MEMORY_SET || MEMORY_OVERRIDE || !MEMORY_OVERRIDE && SH_ADX || SH_MPC1211 || SH_SECUREEDGE5410
271 default "0x0c000000" if !MEMORY_OVERRIDE && (SH_DREAMCAST || SH_HP600 || SH_BIGSUR || SH_SH2000 || SH_7751_SOLUTION_ENGINE || SH_SOLUTION_ENGINE)
273 Computers built with Hitachi SuperH processors always
274 map the ROM starting at address zero. But the processor
275 does not specify the range that RAM takes.
277 The physical memory (RAM) start address will be automatically
278 set to 08000000, unless you selected one of the following
279 processor types: SolutionEngine, Overdrive, HP620, HP680, HP690,
280 in which case the start address will be set to 0c000000.
282 Tweak this only when porting to a new machine which is not already
283 known by the config system. Changing it from the known correct
284 value on any of the known systems will only lead to disaster.
287 hex "Physical memory size" if !MEMORY_SET || MEMORY_OVERRIDE
288 default "0x00400000" if !MEMORY_SET || MEMORY_OVERRIDE || !MEMORY_OVERRIDE && SH_ADX || !MEMORY_OVERRIDE && (SH_HP600 || SH_BIGSUR || SH_SH2000)
289 default "0x01000000" if !MEMORY_OVERRIDE && SH_DREAMCAST || SH_SECUREEDGE5410
290 default "0x04000000" if !MEMORY_OVERRIDE && SH_7751_SOLUTION_ENGINE
291 default "0x02000000" if !MEMORY_OVERRIDE && SH_SOLUTION_ENGINE
292 default "0x08000000" if SH_MPC1211
294 This sets the default memory size assumed by your SH kernel. It can
295 be overridden as normal by the 'mem=' argument on the kernel command
296 line. If unsure, consult your board specifications or just leave it
297 as 0x00400000 which was the default value before this became
302 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)
305 This is an option about which you will never be asked a question.
306 Therefore, I conclude that you do not exist - go away.
308 There is a grue here.
310 # If none of the above have set memory start/size, ask the user.
311 config MEMORY_OVERRIDE
312 bool "Override default load address and memory size"
314 # XXX: break these out into the board-specific configs below
316 bool "Compact Flash Enabler support"
317 depends on SH_ADX || SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_CAT68701
319 Compact Flash is a small, removable mass storage device introduced
320 in 1994 originally as a PCMCIA device. If you say `Y' here, you
321 compile in support for Compact Flash devices directly connected to
322 a SuperH processor. A Compact Flash FAQ is available at
323 <http://www.compactflash.org/faqs/faq.htm>.
325 If your board has "Directly Connected" CompactFlash at area 5 or 6,
326 you may want to enable this option. Then, you can use CF as
327 primary IDE drive (only tested for SanDisk).
329 If in doubt, select 'N'.
332 prompt "Compact Flash Connection Area"
333 depends on CF_ENABLER
339 If your board has "Directly Connected" CompactFlash, You should
340 select the area where your CF is connected to.
342 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
343 - "Area6" if it is connected to Area 6 (0x18000000)
345 "Area6" will work for most boards. For ADX, select "Area5".
354 depends on CF_ENABLER
355 default "0xb8000000" if CF_AREA6
356 default "0xb4000000" if CF_AREA5
358 # The SH7750 RTC module is disabled in the Dreamcast
361 depends on !SH_DREAMCAST && !SH_SATURN
364 Selecting this option will allow the Linux kernel to emulate
374 Selecting this option will enable support for SH processors that
375 have DSP units (ie, SH2-DSP and SH3-DSP). It is safe to say Y here
376 by default, as the existance of the DSP will be probed at runtime.
378 This option must be set in order to enable the DSP.
382 depends on SH_HP620 || SH_HP680 || SH_HP690
390 Say Y to upport efficient handling of discontiguous physical memory,
391 for architectures which are either NUMA (Non-Uniform Memory Access)
392 or have huge holes in the physical address space for other reasons.
393 See <file:Documentation/vm/numa> for more.
395 config ZERO_PAGE_OFFSET
396 hex "Zero page offset"
397 default "0x00001000" if !SH_MPC1211
398 default "0x00004000" if SH_MPC1211
400 This sets the default offset of zero page.
402 # XXX: needs to lose subtype for system type
403 config ST40_LMI_MEMORY
405 depends on CPU_SUBTYPE_ST40STB1
409 depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY
414 depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY
419 depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY
422 config BOOT_LINK_OFFSET
423 hex "Link address offset for booting"
426 This option allows you to set the link address offset of the zImage.
427 This can be useful if you are on a board which has a small amount of
430 config CPU_LITTLE_ENDIAN
433 Some SuperH machines can be configured for either little or big
434 endian byte order. These modes require different kernels. Say Y if
435 your machine is little endian, N if it's a big endian machine.
438 bool "Preemptible Kernel (EXPERIMENTAL)"
439 depends on EXPERIMENTAL
442 bool "Wakeup UBC on startup"
444 Selecting this option will wakeup the User Break Controller (UBC) on
445 startup. Although the UBC is left in an awake state when the processor
446 comes up, some boot loaders misbehave by putting the UBC to sleep in a
447 power saving state, which causes issues with things like ptrace().
451 config SH_WRITETHROUGH
452 bool "Use write-through caching"
455 Selecting this option will configure the caches in write-through
456 mode, as opposed to the default write-back configuration.
458 Since there's sill some aliasing issues on SH-4, this option will
459 unfortunately still require the majority of flushing functions to
460 be implemented to deal with aliasing.
465 bool "Operand Cache RAM (OCRAM) support"
467 Selecting this option will automatically tear down the number of
468 sets in the dcache by half, which in turn exposes a memory range.
470 The addresses for the OC RAM base will vary according to the
471 processor version. Consult vendor documentation for specifics.
475 config SH_STORE_QUEUES
476 bool "Support for Store Queues"
479 Selecting this option will enable an in-kernel API for manipulating
480 the store queues integrated in the SH-4 processors.
483 bool "Symmetric multi-processing support"
485 This enables support for systems with more than one CPU. If you have
486 a system with only one CPU, like most personal computers, say N. If
487 you have a system with more than one CPU, say Y.
489 If you say N here, the kernel will run on single and multiprocessor
490 machines, but will use only one CPU of a multiprocessor machine. If
491 you say Y here, the kernel will run on many, but not all,
492 singleprocessor machines. On a singleprocessor machine, the kernel
493 will run faster if you say N here.
495 People using multiprocessor machines who say Y here should also say
496 Y to "Enhanced Real Time Clock Support", below.
498 See also the <file:Documentation/smp.txt>,
499 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
500 at <http://www.tldp.org/docs.html#howto>.
502 If you don't know what to do here, say N.
505 int "Maximum number of CPUs (2-32)"
510 This allows you to specify the maximum number of CPUs which this
511 kernel will support. The maximum supported value is 32 and the
512 minimum value which makes sense is 2.
514 This is purely to save memory - each supported CPU adds
515 approximately eight kilobytes to the kernel image.
518 int "Peripheral clock frequency (in Hz)"
519 default "49876504" if CPU_SUBTYPE_SH7750
520 default "60013568" if CPU_SUBTYPE_SH7751
523 This option is used to specify the peripheral clock frequency. This
524 option must be set for each processor in order for the kernel to
525 function reliably. If no sane default exists, we use a default from
526 the legacy i8254. Any discrepancies will be reported on boot time
527 with an auto-probed frequency which should be considered the proper
528 value for your hardware.
530 menu "CPU Frequency scaling"
533 bool "CPU Frequency scaling"
535 CPU clock scaling allows you to change the clock speed of the
536 running CPU on the fly.
538 For details, take a look at <file:Documentation/cpu-freq>.
542 source "drivers/cpufreq/Kconfig"
544 config CPU_FREQ_TABLE
545 tristate "CPU frequency table helpers"
549 Many cpufreq drivers use these helpers, so only say N here if
550 the cpufreq driver of your choice doesn't need these helpers.
555 tristate "SuperH CPU Frequency driver"
558 This adds the cpufreq driver for SuperH. At present, only
559 the SH-4 is supported.
561 For details, take a look at <file:Documentation/cpu-freq>.
567 source "arch/sh/drivers/dma/Kconfig"
569 source "arch/sh/cchips/Kconfig"
573 depends on SH_MPC1211 || SH_CAT68701 || SH_STB1_HARP || SH_STB1_OVERDRIVE || SH_BIGSUR || SH_7751_SOLUTION_ENGINE || SH_SOLUTION_ENGINE
575 Use the power-on LED on your machine as a load meter. The exact
576 behavior is platform-dependent, but normally the flash frequency is
577 a hyperbolic function of the 5-minute load average.
582 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
584 # Even on SuperH devices which don't have an ISA bus,
585 # this variable helps the PCMCIA modules handle
586 # IRQ requesting properly -- Greg Banks.
588 # Though we're generally not interested in it when
589 # we're not using PCMCIA, so we make it dependent on
590 # PCMCIA outright. -- PFM.
595 Find out whether you have ISA slots on your motherboard. ISA is the
596 name of a bus system, i.e. the way the CPU talks to the other stuff
597 inside your box. Other bus systems are PCI, EISA, MicroChannel
598 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
599 newer boards don't support it. If you have ISA, say Y, otherwise N.
604 The Extended Industry Standard Architecture (EISA) bus was
605 developed as an open alternative to the IBM MicroChannel bus.
607 The EISA bus provided some of the features of the IBM MicroChannel
608 bus while maintaining backward compatibility with cards made for
609 the older ISA bus. The EISA bus saw limited use between 1988 and
610 1995 when it was made obsolete by the PCI bus.
612 Say Y here if you are building a kernel for an EISA-based machine.
619 MicroChannel Architecture is found in some IBM PS/2 machines and
620 laptops. It is a bus system similar to PCI or ISA. See
621 <file:Documentation/mca.txt> (and especially the web page given
622 there) before attempting to build an MCA bus kernel.
628 tristate "Maple Bus support"
629 depends on SH_DREAMCAST
632 source "arch/sh/drivers/pci/Kconfig"
634 source "drivers/pci/Kconfig"
636 source "drivers/pcmcia/Kconfig"
638 source "drivers/pci/hotplug/Kconfig"
643 menu "Executable file formats"
645 source "fs/Kconfig.binfmt"
649 source "drivers/Kconfig"
653 source "arch/sh/oprofile/Kconfig"
655 menu "Kernel hacking"
658 bool "Magic SysRq key"
660 If you say Y here, you will have some control over the system even
661 if the system crashes for example during kernel debugging (e.g., you
662 will be able to flush the buffer cache to disk, reboot the system
663 immediately or dump some status information). This is accomplished
664 by pressing various keys while holding SysRq (Alt+PrintScreen). It
665 also works on a serial console (on PC hardware at least), if you
666 send a BREAK and then within 5 seconds a command keypress. The
667 keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
668 unless you really know what this hack does.
670 config DEBUG_SPINLOCK
671 bool "Spinlock debugging"
673 Say Y here and build SMP to catch missing spinlock initialization
674 and certain other kinds of spinlock errors commonly made. This is
675 best used in conjunction with the NMI watchdog so that spinlock
676 deadlocks are also debuggable.
678 config SH_STANDARD_BIOS
679 bool "Use LinuxSH standard BIOS"
681 Say Y here if your target has the gdb-sh-stub
682 package from www.m17n.org (or any conforming standard LinuxSH BIOS)
683 in FLASH or EPROM. The kernel will use standard BIOS calls during
684 boot for various housekeeping tasks (including calls to read and
685 write characters to a system console, get a MAC address from an
686 on-board Ethernet interface, and shut down the hardware). Note this
687 does not work with machines with an existing operating system in
688 mask ROM and no flash (WindowsCE machines fall in this category).
691 config SH_EARLY_PRINTK
692 bool "Early printk support"
693 depends on SH_STANDARD_BIOS
695 Say Y here to redirect kernel printk messages to the serial port
696 used by the SH-IPL bootloader, starting very early in the boot
697 process and ending when the kernel's serial console is initialised.
698 This option is only useful porting the kernel to a new machine,
699 when the kernel may crash or hang before the serial console is
700 initialised. If unsure, say N.
703 bool "Include KGDB kernel debugger"
705 Include in-kernel hooks for kgdb, the Linux kernel source level
706 debugger. See <http://kgdb.sourceforge.net/> for more information.
707 Unless you are intending to debug the kernel, say N here.
709 menu "KGDB configuration options"
712 config MORE_COMPILE_OPTIONS
713 bool "Add any additional compile options"
715 If you want to add additional CFLAGS to the kernel build, enable this
716 option and then enter what you would like to add in the next question.
717 Note however that -g is already appended with the selection of KGDB.
719 config COMPILE_OPTIONS
720 string "Additional compile arguments"
721 depends on MORE_COMPILE_OPTIONS
724 bool "Enter KGDB on NMI"
728 bool "Include KGDB thread support"
731 config SH_KGDB_CONSOLE
732 bool "Console messages through GDB"
736 bool "Allow SysRq 'G' to enter KGDB"
739 config KGDB_KERNEL_ASSERTS
740 bool "Include KGDB kernel assertions"
743 comment "Serial port setup"
746 int "Port number (ttySCn)"
756 default KGDB_DEFPARITY_N
758 config KGDB_DEFPARITY_N
761 config KGDB_DEFPARITY_E
764 config KGDB_DEFPARITY_O
772 default KGDB_DEFBITS_8
774 config KGDB_DEFBITS_8
777 config KGDB_DEFBITS_7
785 bool "Compile the kernel with frame pointers"
788 If you say Y here the resulting kernel image will be slightly larger
789 and slower, but it will give very useful debugging information.
790 If you don't debug the kernel, you can say N, but we may not be able
791 to solve problems without frame pointers.
795 source "security/Kconfig"
797 source "crypto/Kconfig"