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

mainmenu "Linux/Xtensa Kernel Configuration"

config FRAME_POINTER
	def_bool n

config ZONE_DMA
	def_bool y

config XTENSA
	def_bool y
	select HAVE_IDE
	help
	  Xtensa processors are 32-bit RISC machines designed by Tensilica
	  primarily for embedded systems.  These processors are both
	  configurable and extensible.  The Linux port to the Xtensa
	  architecture supports all processor configurations and extensions,
	  with reasonable minimum requirements.  The Xtensa Linux project has
	  a home page at <http://xtensa.sourceforge.net/>.

config RWSEM_XCHGADD_ALGORITHM
	def_bool y

config GENERIC_FIND_NEXT_BIT
	def_bool y

config GENERIC_HWEIGHT
	def_bool y

config GENERIC_HARDIRQS
	def_bool y

config GENERIC_GPIO
	def_bool y

config ARCH_HAS_ILOG2_U32
	def_bool n

config ARCH_HAS_ILOG2_U64
	def_bool n

config NO_IOPORT
	def_bool y

config HZ
	int
	default 100

config GENERIC_TIME
	def_bool y

source "init/Kconfig"
source "kernel/Kconfig.freezer"

config MMU
	def_bool n

config VARIANT_IRQ_SWITCH
	def_bool n

menu "Processor type and features"

choice
	prompt "Xtensa Processor Configuration"
	default XTENSA_VARIANT_FSF

config XTENSA_VARIANT_FSF
	bool "fsf - default (not generic) configuration"
	select MMU

config XTENSA_VARIANT_DC232B
	bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
	select MMU
	help
	  This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE).

config XTENSA_VARIANT_S6000
	bool "s6000 - Stretch software configurable processor"
	select VARIANT_IRQ_SWITCH
	select ARCH_REQUIRE_GPIOLIB
endchoice

config XTENSA_UNALIGNED_USER
	bool "Unaligned memory access in use space"
	help
	  The Xtensa architecture currently does not handle unaligned
	  memory accesses in hardware but through an exception handler.
	  Per default, unaligned memory accesses are disabled in user space.

	  Say Y here to enable unaligned memory access in user space.

config PREEMPT
	bool "Preemptible Kernel"
	help
          This option reduces the latency of the kernel when reacting to
          real-time or interactive events by allowing a low priority process to
          be preempted even if it is in kernel mode executing a system call.
          Unfortunately the kernel code has some race conditions if both
          CONFIG_SMP and CONFIG_PREEMPT are enabled, so this option is
          currently disabled if you are building an SMP kernel.

          Say Y here if you are building a kernel for a desktop, embedded
          or real-time system.  Say N if you are unsure.

config MATH_EMULATION
	bool "Math emulation"
	help
	Can we use information of configuration file?

endmenu

config XTENSA_CALIBRATE_CCOUNT
	def_bool n
	help
	  On some platforms (XT2000, for example), the CPU clock rate can
	  vary.  The frequency can be determined, however, by measuring
	  against a well known, fixed frequency, such as an UART oscillator.

config SERIAL_CONSOLE
	def_bool n

config XTENSA_ISS_NETWORK
	def_bool n

menu "Bus options"

config PCI
	bool "PCI support"
	default y
	help
	  Find out whether you have a PCI motherboard. PCI 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 ISA, EISA, MicroChannel (MCA) or
	  VESA. If you have PCI, say Y, otherwise N.

source "drivers/pci/Kconfig"

menu "Platform options"

choice
	prompt "Xtensa System Type"
	default XTENSA_PLATFORM_ISS

config XTENSA_PLATFORM_ISS
	bool "ISS"
	select XTENSA_CALIBRATE_CCOUNT
	select SERIAL_CONSOLE
	select XTENSA_ISS_NETWORK
	help
	  ISS is an acronym for Tensilica's Instruction Set Simulator.

config XTENSA_PLATFORM_XT2000
	bool "XT2000"
	select XTENSA_CALIBRATE_CCOUNT
	select PCI
	help
	  XT2000 is the name of Tensilica's feature-rich emulation platform.
	  This hardware is capable of running a full Linux distribution.

config XTENSA_PLATFORM_S6105
	bool "S6105"
	select SERIAL_CONSOLE

endchoice


config XTENSA_CPU_CLOCK
	int "CPU clock rate [MHz]"
	depends on !XTENSA_CALIBRATE_CCOUNT
	default 16

config GENERIC_CALIBRATE_DELAY
	bool "Auto calibration of the BogoMIPS value"
	help
	  The BogoMIPS value can easily be derived from the CPU frequency.

config CMDLINE_BOOL
	bool "Default bootloader kernel arguments"

config CMDLINE
	string "Initial kernel command string"
	depends on CMDLINE_BOOL
	default "console=ttyS0,38400 root=/dev/ram"
	help
	  On some architectures (EBSA110 and CATS), there is currently no way
	  for the boot loader to pass arguments to the kernel. For these
	  architectures, you should supply some command-line options at build
	  time by entering them here. As a minimum, you should specify the
	  memory size and the root device (e.g., mem=64M root=/dev/nfs).

source "mm/Kconfig"

endmenu

config HOTPLUG
	bool "Support for hot-pluggable devices"
	help
	  Say Y here if you want to plug devices into your computer while
	  the system is running, and be able to use them quickly.  In many
	  cases, the devices can likewise be unplugged at any time too.

	  One well known example of this is PCMCIA- or PC-cards, credit-card
	  size devices such as network cards, modems or hard drives which are
	  plugged into slots found on all modern laptop computers.  Another
	  example, used on modern desktops as well as laptops, is USB.

	  Enable HOTPLUG and build a modular kernel.  Get agent software
	  (from <http://linux-hotplug.sourceforge.net/>) and install it.
	  Then your kernel will automatically call out to a user mode "policy
	  agent" (/sbin/hotplug) to load modules and set up software needed
	  to use devices as you hotplug them.

source "drivers/pcmcia/Kconfig"

source "drivers/pci/hotplug/Kconfig"

endmenu

menu "Executable file formats"

# only elf supported
config KCORE_ELF
	def_bool y
        depends on PROC_FS
        help
          If you enabled support for /proc file system then the file
          /proc/kcore will contain the kernel core image in ELF format. This
          can be used in gdb:

          $ cd /usr/src/linux ; gdb vmlinux /proc/kcore

          This is especially useful if you have compiled the kernel with the
          "-g" option to preserve debugging information. It is mainly used
	  for examining kernel data structures on the live kernel.

source "fs/Kconfig.binfmt"

endmenu

source "net/Kconfig"

source "drivers/Kconfig"

source "fs/Kconfig"

menu "Xtensa initrd options"
	depends on BLK_DEV_INITRD

config EMBEDDED_RAMDISK
	bool "Embed root filesystem ramdisk into the kernel"

config EMBEDDED_RAMDISK_IMAGE
	string "Filename of gzipped ramdisk image"
	depends on EMBEDDED_RAMDISK
	default "ramdisk.gz"
	help
	  This is the filename of the ramdisk image to be built into the
	  kernel.  Relative pathnames are relative to arch/xtensa/boot/ramdisk/.
	  The ramdisk image is not part of the kernel distribution; you must
	  provide one yourself.
endmenu

source "arch/xtensa/Kconfig.debug"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"