#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/config-language.txt.
#

mainmenu "uClinux/h8300 (w/o MMU) Kernel Configuration"

config H8300
	bool
	default y

config MMU
	bool
	default n

config SWAP
	bool
	default n

config FPU
	bool
	default n

config UID16
	bool
	default y

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

config RWSEM_XCHGADD_ALGORITHM
	bool
	default n

config ISA
	bool
	default y

config PCI
	bool
	default n

source "init/Kconfig"

menu "Processor type and features"

choice
	prompt "H8/300 platform"
	default H8300H_GENERIC

config H8300H_GENERIC
	bool "Generic"
	help
	  H8/300H CPU Generic Hardware Support

config H8300H_AKI3068NET
	bool "AE-3068/69"
	help
	  AKI-H8/3068F / AKI-H8/3069F Flashmicom LAN Board Support
	  More Information. (Japanese Only)
	  <http://akizukidensi.com/catalog/h8.html>
	  AE-3068/69 Evaluation Board Support
	  More Information.
	  <http://www.microtronique.com/ae3069lan.htm>

config H8300H_H8MAX
	bool "H8MAX"
	help
	  H8MAX Evaluation Board Support
	  More Information. (Japanese Only)
	  <http://strawberry-linux.com/h8/index.html>

config H8300H_SIM
	bool "H8/300H Simulator"
	help
	  GDB Simulator Support
	  More Information.
	  arch/h8300/Doc/simulator.txt

config H8S_EDOSK2674
	bool "EDOSK-2674"
	help
	  Renesas EDOSK-2674 Evaluation Board Support
	  More Information.
	  <http://www.azpower.com/H8-uClinux/index.html>
 	  <http://www.eu.renesas.com/tools/edk/support/edosk2674.html>

config H8S_SIM
	bool "H8S Simulator"
	help
	  GDB Simulator Support
	  More Information.
	  arch/h8300/Doc/simulator.txt

endchoice

choice 
	prompt "CPU Selection"

config H83002
	bool "H8/3001,3002,3003"
	depends on H8300H_GENERIC

config H83007
	bool "H8/3006,3007"
	depends on (H8300H_GENERIC || H8300H_SIM)

config H83048
	bool "H8/3044,3045,3046,3047,3048,3052"
	depends on H8300H_GENERIC

config H83068
	bool "H8/3065,3066,3067,3068,3069"
	depends on (H8300H_GENERIC || H8300H_AKI3068NET || H8300H_H8MAX)

config H8S2678
	bool "H8S/2670,2673,2674R,2675,2676"
	depends on (H8S_GENERIC || H8S_EDOSK2674 || H8S_SIM)

endchoice

config CPU_H8300H
	bool
	depends on (H8300H_GENERIC || H8300H_AKI3068NET || H8300H_H8MAX || H8300H_SIM)
	default y

config CPU_H8S
	bool
	depends on (H8S_GENERIC || H8S_EDOSK2674 || H8S_SIM)
	default y

config CPU_CLOCK
	int "CPU Clock Frequency (/1KHz)"	
	default "20000" if H8300H_AKI3068NET
	default "25000" if H8300H_H8MAX
	default "16000" if H8300H_SIM
	default "16000" if H8300H_GENERIC
	default "33000" if H8S_GENERIC
	default "33000" if H8S_SIM
	default "33000" if H8S_EDOSK2674
	help
	  CPU Clock Frequency divide to 1000
choice
	prompt "Kernel executes from"
	---help---
	  Choose the memory type that the kernel will be running in.

config RAMKERNEL
	bool "RAM"
	help
	  The kernel will be resident in RAM when running.

config ROMKERNEL
	bool "ROM"
	help
	  The kernel will be resident in FLASH/ROM when running.

endchoice

endmenu

menu "Executable file formats"

source "fs/Kconfig.binfmt"

endmenu

source "drivers/base/Kconfig"

source "drivers/mtd/Kconfig"

source "drivers/block/Kconfig"

source "drivers/ide/Kconfig"

source "arch/h8300/Kconfig.ide"

source "net/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-<function key>.

	  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

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/<number>. 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 <file:Documentation/Changes> 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.

source "drivers/char/pcmcia/Kconfig"

source "drivers/serial/Kconfig"

source "drivers/i2c/Kconfig"

source "drivers/usb/Kconfig"
 
endmenu

source "fs/Kconfig"

menu "Kernel hacking"

config FULLDEBUG
	bool "Full Symbolic/Source Debugging support"
	help
	  Enable debugging symbols on kernel build.

config MAGIC_SYSRQ
	bool "Magic SysRq key"
	help
	  Enables console device to interprent special characters as
	  commands to dump state information.

config HIGHPROFILE
	bool "Use fast second timer for profiling"
	help
	  Use a fast secondary clock to produce profiling information.

config NO_KERNEL_MSG
	bool "Suppress Kernel BUG Messages"
	help
	  Do not output any debug BUG messages within the kernel.

config GDB_MAGICPRINT
	bool "Message Output for GDB MagicPrint service"
	depends on (H8300H_SIM || H8S_SIM)
	help
	  kernel messages output useing MagicPrint service from GDB

config SYSCALL_PRINT
	bool "SystemCall trace print"
	help
	  outout history of systemcall

config GDB_DEBUG
   	bool "Use gdb stub"
	depends on (!H8300H_SIM && !H8S_SIM)
	help
	  gdb stub exception support

config CONFIG_SH_STANDARD_BIOS
	bool "Use gdb protocol serial console"
	depends on (!H8300H_SIM && H8S_SIM)
	help
	  serial console output using GDB protocol.
	  Require eCos/RedBoot

config DEFAULT_CMDLINE
	bool "Use buildin commandline"
	default n
	help
	  buildin kernel commandline enabled.

config KERNEL_COMMAND
	string "Buildin commmand string"
	depends on DEFAULT_CMDLINE
	help
	  buildin kernel commandline strings.

config BLKDEV_RESERVE
	bool "BLKDEV Reserved Memory"
	default n
	help
	  Reserved BLKDEV area.

config CONFIG_BLKDEV_RESERVE_ADDRESS
	hex 'start address'
	depends on BLKDEV_RESERVE
	help
	  BLKDEV start address.
endmenu

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"

