#
# 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 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


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 Suppot
	  More Information. (Japanese Only)
	  <http://akizukidensi.com/catalog/h8.html>
	  AE-3068/69 Evalution Board Support
	  More Information.
	  <http://www.microtronique.com/ae3069lan.htm>

config H8300H_H8MAX
	bool "H8MAX"
	help
	  H8MAX Evalution Board Suooprt
	  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

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)

endchoice

config CPU_H8300H
	bool
	depends on (H8300H_GENERIC || H8300H_AKI3068NET || H8300H_H8MAX || H8300H_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
	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

config DEFAULT_CMDLINE
	bool
	help
	  buildin kernel commandline enabled.

config KERNEL_COMMAND
	string
	help
	  buildin kernel commandline strings.

endmenu

menu "Executable file formats"

config KCORE_AOUT
	bool
	default y

config KCORE_ELF
	default y

config BINFMT_FLAT
	tristate "Kernel support for flat binaries"
	help
	  Support uClinux FLAT format binaries.

endmenu

source "drivers/block/Kconfig"


menu "ATA/IDE/MFM/RLL support"

config IDE
	tristate "ATA/ATAPI/MFM/RLL device support"
	---help---
	  If you say Y here, your kernel will be able to manage low cost mass
	  storage units such as ATA/(E)IDE and ATAPI units. The most common
	  cases are IDE hard drives and ATAPI CD-ROM drives.

	  It only makes sense to choose this option if your board actually
	  has an IDE interface. If unsure, say N.

source "drivers/ide/Kconfig"

endmenu

source "net/Kconfig"


menu "Network device support"
	depends on NET

config NETDEVICES
	bool "Network device support"
	---help---
	  You can say N here if you don't intend to connect your Linux box to
	  any other computer at all or if all your connections will be over a
	  telephone line with a modem either via UUCP (UUCP is a protocol to
	  forward mail and news between unix hosts over telephone lines; read
	  the UUCP-HOWTO, available from
	  <http://www.linuxdoc.org/docs.html#howto>) or dialing up a shell
	  account or a BBS, even using term (term is a program which gives you
	  almost full Internet connectivity if you have a regular dial up
	  shell account on some Internet connected Unix computer. Read
	  <http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html>).

	  You'll have to say Y if your computer contains a network card that
	  you want to use under Linux (make sure you know its name because you
	  will be asked for it and read the Ethernet-HOWTO (especially if you
	  plan to use more than one network card under Linux)) or if you want
	  to use SLIP (Serial Line Internet Protocol is the protocol used to
	  send Internet traffic over telephone lines or null modem cables) or
	  CSLIP (compressed SLIP) or PPP (Point to Point Protocol, a better
	  and newer replacement for SLIP) or PLIP (Parallel Line Internet
	  Protocol is mainly used to create a mini network by connecting the
	  parallel ports of two local machines) or AX.25/KISS (protocol for
	  sending Internet traffic over amateur radio links).

	  Make sure to read the NET-3-HOWTO. Eventually, you will have to read
	  Olaf Kirch's excellent and free book "Network Administrator's
	  Guide", to be found in <http://www.linuxdoc.org/docs.html#guide>. If
	  unsure, say Y.

endmenu

source "net/ax25/Kconfig"

source "net/irda/Kconfig"

source "drivers/isdn/Kconfig"

source "drivers/telephony/Kconfig"

#
# input before char - char/joystick depends on it. As does USB.
#
source "drivers/input/Kconfig"

#
# Character device configuration
#

menu "Character devices"

config VT
	bool "Virtual terminal"
	requires INPUT=y
	---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

config SH_SCI
	tristate "Serial (SCI) 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.

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.

endmenu

#source drivers/misc/Config.in
source "drivers/media/Kconfig"

source "fs/Kconfig"

source "drivers/usb/Kconfig"

source "net/bluetooth/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
	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
	help
	  gdb stub exception support

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

endmenu

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"