config RMT
	bool
	default y
	select EMBEDDED

mainmenu "Linux/RMT Kernel Configuration"

source "init/Kconfig"

menu "Machine selection"

choice
	prompt "Execution Environment"
	default RMT_INSTSIM
	
config RMT_INSTSIM
	bool "Instruction Level Simulator"

config RMT_CLOCKSIM
	bool "Clock Level Simulator"

config RMT_REALMACHINE
	bool "Real Machine"
endchoice

choice
	prompt "Select Input/Output"
	default RMT_UARTIO

## rmtsim don't support DebugIO device at 2007/MAY/8
#config RMT_DEBUGIO
#	bool "use Instsim-Debug IO"
#	depends on RMT_INSTSIM

config RMT_AXEIO
	bool "use AXE_PUTCHAR"
	depends on RMT_INSTSIM || RMT_CLOCKSIM

config RMT_UARTIO
	bool "use Serial Console"
endchoice

config RMT_CACHE_ENABLE
	bool "Enable Instruction/Data Cache"
	default y

config RMT_KERNEL_ICACHE_ENABLE
	bool "Enable kernel space Instruction Cache" if !RMT_CACHE_ENABLE
	default y if RMT_CACHE_ENABLE
	default n if !RMT_CACHE_ENABLE

config RMT_FILEMAPIO
	bool "use Instsim-FileMap IO"
	depends on RMT_INSTSIM
	default y if RMT_INSTSIM

config RAM_SIZE
	hex "RAM size"
	default 0x01800000 if RMT_REALMACHINE || RMT_INSTSIM || RMT_CLOCKSIM


config MAPPED_KERNEL
	bool "Mapped kernel support"
	depends on SGI_IP27
	help
	  Change the way a Linux kernel is loaded unto memory on a MIPS64
	  machine.  This is required in order to support text replication and
	  NUMA.  If you need to undersatand it, read the source code.

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

config RWSEM_XCHGADD_ALGORITHM
	bool

config HAVE_DEC_LOCK
	bool
	default y

#
# Select some configuration options automatically based on user selections.
#
config	DMA_COHERENT
	bool
	default n

config	DMA_NONCOHERENT
	bool
	depends on RMT
	default y

config EARLY_PRINTK
	bool "Use early printk"
	depends on RMT
	default y

config GENERIC_ISA_DMA
	bool
	default n

config I8259
	bool
	default n

config CPU_LITTLE_ENDIAN
	bool
	default n if RMT
	help
	  Some MIPS 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 CPU_LITTLE_ENDIAN
#	bool "Generate little endian code"
#	default n if RMT
#	help
#	  Some MIPS 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 IRQ_CPU
	bool
	depends on RMT
	default y

config DUMMY_KEYB
	bool
	default n

config SWAP_IO_SPACE
	bool
	default n

config RMT_TLB_GROUP_FIX_BIND
	bool
	default y

#
# Unfortunately not all GT64120 systems run the chip at the same clock.
# As the user for the clock rate and try to minimize the available options.
#
choice
	prompt "Galileo Chip Clock"
	#default SYSCLK_83 if MIPS_EV64120
	depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
	default SYSCLK_83 if MIPS_EV64120
	default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G

config SYSCLK_75
	bool "75" if MIPS_EV64120

config SYSCLK_83
	bool "83.3" if MIPS_EV64120

config SYSCLK_100
	bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G

endchoice

config BOOT_ELF32
	bool
	default n

config MIPS_L1_CACHE_SHIFT
	int
	default "4" if MACH_DECSTATION
	default "7" if SGI_IP27
	default "4"
#	default "5"

config FB
	bool
	default n
	---help---
	  The frame buffer device provides an abstraction for the graphics
	  hardware. It represents the frame buffer of some video hardware and
	  allows application software to access the graphics hardware through
	  a well-defined interface, so the software doesn't need to know
	  anything about the low-level (hardware register) stuff.

	  Frame buffer devices work identically across the different
	  architectures supported by Linux and make the implementation of
	  application programs easier and more portable; at this point, an X
	  server exists which uses the frame buffer device exclusively.
	  On several non-X86 architectures, the frame buffer device is the
	  only way to use the graphics hardware.

	  The device is accessed through special device nodes, usually located
	  in the /dev directory, i.e. /dev/fb*.

	  You need an utility program called fbset to make full use of frame
	  buffer devices. Please read <file:Documentation/fb/framebuffer.txt>
	  and the Framebuffer-HOWTO at <http://www.tldp.org/docs.html#howto>
	  for more information.

	  Say Y here and to the driver for your graphics board below if you
	  are compiling a kernel for a non-x86 architecture.

	  If you are compiling for the x86 architecture, you can say Y if you
	  want to play with it, but it is not essential. Please note that
	  running graphical applications that directly touch the hardware
	  (e.g. an accelerated X server) and that are not frame buffer
	  device-aware may cause unexpected results. If unsure, say N.

config FB_G364
	bool
	default n

config HAVE_STD_PC_SERIAL_PORT
	bool
	default n

config BOARD_SCACHE
	bool
	default n

config BOOT_ELF64
	bool
	default n

#config MAPPED_PCI_IO y
#	bool
#	depends on SGI_IP27
#	default y

config HZ
        int "Timer frequency (default: 100Hz, range: 12Hz-1535Hz)"
	range 12 1535
        default 100

config CALIBRATE_DELAY_AVOIDANCE
        bool "Avoid calibrateing delay"
        default y if RMTTIMER_NOUSE

config DEFALUT_LOOPS_PER_JIFFY
        int "Default loops_per_jiffy value"
	depends on CALIBRATE_DELAY_AVOIDANCE
	default 10000
endmenu


menu "CPU selection"

choice
	prompt "CPU type"
	default CPU_MRMTP2

config CPU_URMTP1
	bool "uRMTP1"

config CPU_URMTP2
	bool "uRMTP2"

config CPU_MRMTP1
	bool "M-RMTP1"

config CPU_MRMTP2
	bool "M-RMTP2"

endchoice

choice
	prompt "Kernel page size"
	default PAGE_SIZE_4KB

config PAGE_SIZE_4KB
	bool "4kB"
	help
	 This option select the standard 4kB Linux page size.  On some
	 R3000-family processors this is the only available page size.  Using
	 4kB page size will minimize memory consumption and is therefore
	 recommended for low memory systems. 

config PAGE_SIZE_16KB
	bool "16kB"
	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX && !RMT
	help
	  Using 16kB page size will result in higher performance kernel at
	  the price of higher memory consumption.  This option is available on
	  all non-R3000 family processor.  Not that at the time of this
	  writing this option is still high experimental; there are also
	  issues with compatibility of user applications.

config PAGE_SIZE_64KB
	bool "64kB"
	depends on !CPU_R3000 && !CPU_TX39XX && RMT
	help
	  Using 64kB page size will result in higher performance kernel at
	  the price of higher memory consumption.  This option is available on
	  all non-R3000 family processor.  Not that at the time of this
	  writing this option is still high experimental; there are also
	  issues with compatibility of user applications.

endchoice

config R5000_CPU_SCACHE
	bool
	default n

config BOARD_SCACHE
	bool
	default n

config SIBYTE_DMA_PAGEOPS
	bool "Use DMA to clear/copy pages"
	depends on CPU_SB1
	help
	  Instead of using the CPU to zero and copy pages, use a Data Mover
	  channel.  These DMA channels are otherwise unused by the standard
	  SiByte Linux port.  Seems to give a small performance benefit.

config CPU_HAS_PREFETCH
	bool "Enable prefetches" if CPU_SB1 && !CPU_SB1_PASS_2
	default y if RMT

config VTAG_ICACHE
	bool "Support for Virtual Tagged I-cache" if CPU_MIPS64 || CPU_MIPS32
	default y if CPU_SB1

config SB1_PASS_1_WORKAROUNDS
	bool
	depends on CPU_SB1_PASS_1
	default y

config SB1_PASS_2_WORKAROUNDS
	bool
	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
	default y

config SB1_PASS_2_1_WORKAROUNDS
	bool
	depends on CPU_SB1 && CPU_SB1_PASS_2
	default y

config 64BIT_PHYS_ADDR
	bool "Support for 64-bit physical address space"
	depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && MIPS32

config CPU_ADVANCED
	bool "Override CPU Options"
	depends on MIPS32
	help
	  Saying yes here allows you to select support for various features
	  your CPU may or may not have.  Most people should say N here.

config CPU_HAS_LLSC
	bool "ll/sc Instructions available" if CPU_ADVANCED
	default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
	depends on RMT = 'y'
	help
	  MIPS R4000 series and later provide the Load Linked (ll)
	  and Store Conditional (sc) instructions. More information is
	  available at <http://www.go-ecs.com/mips/miptek1.htm>.

	  Say Y here if your CPU has the ll and sc instructions.  Say Y here
	  for better performance, N if you don't know.  You must say Y here
	  for multiprocessor machines.

config CPU_HAS_LLDSCD
	bool "lld/scd Instructions available" if CPU_ADVANCED
	default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32
	depends on RMT = 'n'
	help
	  Say Y here if your CPU has the lld and scd instructions, the 64-bit
	  equivalents of ll and sc.  Say Y here for better performance, N if
	  you don't know.  You must say Y here for multiprocessor machines.

config CPU_HAS_WB
	bool "Writeback Buffer available" if CPU_ADVANCED
	default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
	help
	  Say N here for slightly better performance.  You must say Y here for
	  machines which require flushing of write buffers in software.  Saying
	  Y is the safe option; N may result in kernel malfunction and crashes.

config CPU_HAS_SYNC
	bool
	depends on !CPU_R3000
	default y

#
# - Highmem only makes sense for the 32-bit kernel.
# - The current highmem code will only work properly on physically indexed
#   caches such as R3000, SB1, R7000 or those that look like they're virtually
#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
#   moment we protect the user and offer the highmem option only on machines
#   where it's known to be safe.  This will not offer highmem on a few systems
#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
#   indexed CPUs but we're playing safe.
# - We should not offer highmem for system of which we already know that they
#   don't have memory configurations that could gain from highmem support in
#   the kernel because they don't support configurations with RAM at physical
#   addresses > 0x20000000.
#
config HIGHMEM
	bool "High Memory Support"
	depends on MIPS32 && (CPU_R3000 || CPU_SB1 || CPU_R7000 || CPU_R10000) && !(BAGET_MIPS || MACH_DECSTATION)

config SMP
	bool "Multi-Processing support"
	depends on CPU_RM9000 || (SIBYTE_SB1250 && !SIBYTE_STANDALONE) || SGI_IP27 || RMT
	---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 <file:Documentation/smp.txt> and the SMP-HOWTO
	  available at <http://www.tldp.org/docs.html#howto>.

	  If you don't know what to do here, say N.

config NR_CPUS
	int "Maximum number of Threads (2-7)"
	range 2 7
	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 for 32-bit
	  kernel and 64 for 64-bit kernels; 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 RMT_RTTHREAD
	bool "RMT RT-Thread support"
	depends on SMP
	default y

config NR_RTTHREADS
	int "Number of RT-Threads (1-<Maximum number of Threads - 1>)"
	range 1 6
	depends on RMT_RTTHREAD
	default 1

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.
	  This allows applications to run more reliably even when the system is
	  under load.

config DEBUG_SPINLOCK
	bool "Spinlock debugging"
	depends on DEBUG_KERNEL
	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 DEBUG_SPINLOCK_SLEEP
	bool "Sleep-inside-spinlock checking"
	help
	  If you say Y here, various routines which may sleep will become very
	  noisy if they are called with a spinlock held.

config RMT_COUNT_TICK
	bool
	depends on RMT
	default y

config RTC_DS1742
	bool "DS1742 BRAM/RTC support"
	depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927

config MIPS_INSANE_LARGE
	bool "Support for large 64-bit configurations"
	depends on CPU_R10000 && MIPS64
	help
	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
	  previous 64-bit processors which only supported 40 bit / 1TB. If you
	  need processes of more than 1TB virtual address space, say Y here.
	  This will result in additional memory usage, so it is not
	  recommended for normal users.

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

endmenu

menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"

config PCI
	bool "Support for PCI controller"
	depends on MIPS_DB1000 || DDB5074 || DDB5476 || DDB5477 || HP_LASERJET || LASAT || MIPS_IVR || MIPS_ATLAS || MIPS_COBALT || MIPS_EV64120 || MIPS_EV96100 || MIPS_ITE8172 || MIPS_MALTA || MOMENCO_OCELOT || MOMENCO_OCELOT_C || MOMENCO_OCELOT_G || MOMENCO_JAGUAR_ATX || MIPS_PB1000 || MIPS_PB1100 || SOC_AU1500 || NEC_EAGLE || SGI_IP27 || SGI_IP32 || SIBYTE_HAS_PCI || SNI_RM200_PCI || TANBAC_TB0226 || TANBAC_TB0229 || TOSHIBA_JMR3927 || TOSHIBA_RBTX4927 || VICTOR_MPC30X || ZAO_CAPCELLA || RMT
	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, or VESA. If you have PCI,
	  say Y, otherwise N.

	  The PCI-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>, contains valuable
	  information about which PCI hardware does work under Linux and which
	  doesn't.

#source "drivers/pci/Kconfig"

config ISA
	bool "ISA bus support"
	depends on ACER_PICA_61 || SGI_IP22 || MIPS_MAGNUM_4000 || OLIVETTI_M700 || SNI_RM200_PCI
	default y if TOSHIBA_RBTX4927 || DDB5476 || DDB5074 || IBM_WORKPAD || CASIO_E55
	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, 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 "EISA support"
	depends on ISA && (SGI_IP22 || SNI_RM200_PCI)
	---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.

#source "drivers/eisa/Kconfig"

config TC
	bool "TURBOchannel support"
	depends on MACH_DECSTATION
	help
	  TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
	  processors.  Documentation on writing device drivers for TurboChannel
	  is available at:
	  <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.

#config ACCESSBUS
#	bool "Access.Bus support"
#	depends on TC

config MMU
	bool
	default y

config MCA
	bool

config SBUS
	bool

#source "drivers/pcmcia/Kconfig"

#source "drivers/pci/hotplug/Kconfig"

endmenu

menu "Executable file formats"

source "fs/Kconfig.binfmt"

config TRAD_SIGNALS
	bool
	default y if MIPS32 || RMT

config BINFMT_IRIX
	bool "Include IRIX binary compatibility"
	depends on !CPU_LITTLE_ENDIAN && (MIPS32 || RMT)

config MIPS32_COMPAT
	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
	depends on MIPS64 || RMT64
	help
	  Select this option if you want Linux/MIPS 32-bit binary
	  compatibility. Since all software available for Linux/MIPS is
	  currently 32-bit you should say Y here.

config COMPAT
	bool
	depends on MIPS32_COMPAT
	default y

config MIPS32_O32
	bool "Kernel support for o32 binaries"
	depends on MIPS32_COMPAT
	help
	  Select this option if you want to run o32 binaries.  These are pure
	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
	  existing binaries are in this format.

	  If unsure, say Y.

config MIPS32_N32
	bool "Kernel support for n32 binaries"
	depends on MIPS32_COMPAT
	help
	  Select this option if you want to run n32 binaries.  These are
	  64-bit binaries using 32-bit quantities for addressing and certain
	  data that would normally be 64-bit.  They are used in special
	  cases.

	  If unsure, say N.

config BINFMT_ELF32
	bool
	default y if MIPS32_O32 || MIPS32_N32

config PM
	bool "Power Management support (EXPERIMENTAL)"
	depends on EXPERIMENTAL && MACH_AU1X00

endmenu

menu "RMT Device Drivers"
	depends on RMT

config RMT_RESPONSIVE_LINK
	bool "Responsive Link support"
	default y

choice
	prompt " driver type"
	depends on RMT_RESPONSIVE_LINK
	default RMT_RESPONSIVE_LINK_MX

config RMT_RESPONSIVE_LINK_LOW
	bool "low level"

config RMT_RESPONSIVE_LINK_MX
	bool "simple transport"
endchoice

endmenu

menu "RMT DEBUG options"
	depends on RMT

config AXE_DEBUG
	bool "use low level debug-print"
	default n

config AXE_AVOID
	bool "ad-hoc implementation"
	default y
	
config RMTDEBUG_REGSDUMP
	bool "dump regsters on a break instruction."
	default n

config RMTBUG_LWLLWR
	bool "Bug of LWL, LWR instructions"
	default n

config RMTBUG_BEQJALR
	bool "Bug of combination of BEQ and JALR"
	default n

config RMTBUG_MMUREAD
	bool "Bug of read MMU register"
	default n

config RMTBUG_BEQSYS
	bool "Bug of combination of BEQ and SYSCALL"
	default n
	
config RMTBUG_SWBEQ
	bool "Bug of combination of SW and BEQ"
	default y

config RMTBUG_RMTSYNC_MAYBE
	bool "Insert sync instruction (for debug)"
	default y

config RMTTIMER_NOUSE
	bool "Not use timer interrupt (for debug)"
	default n

# config RMTBUG_FIX_CAUSE_D
# 	bool "Fix CAUSE register D bit (for debug)"
# 	default y

config RMT_DEBUG_TIMER_INTERRUPT_RATE_MULTIPLY
       bool "Timer interrupt rate multiply"
        default n

config RMT_DEBUG_TIMER_INTERRUPT_RATE_MULTIPLY_N
       int "Timer interrupt rate multiply number (default: 2)"
        default 2
	depends on RMT_DEBUG_TIMER_INTERRUPT_RATE_MULTIPLY

config RMTBUG_GCC_LONGLONG_MULDEV
       bool "Avoid gcc long long multiplication and division operation"
       default y

config RMTBUG_EXCEPTION_ON_DELAYSLOT
	bool "Not using old(<= mrtp1) style of exception on delay-slot"
	default y
	# If set Y on RMTP real machine, must not occur an exception on
	# delay slot

config KERNEL_VERBOSE
	bool
	default y

config RMT_SPINLOCK_RETRY_WITH_WAIT
	bool
	default n

config RMT_NO_ROPAGE
	bool "No Read Only MMU"
	default y
choice
	prompt "TYPE"
	depends on RMT_NO_ROPAGE
	default RMT_TESTPAGE_UACCESS

config RMT_TLBFLUSH_UACCESS
	bool "TLB entry flushing before user space access"

config RMT_TESTPAGE_UACCESS
	bool "Page testing before user space access"
endchoice

config RMT_FIX_VERSION_STRING
	bool "Fix version string in kernel"
	default n
endmenu

menu "RMT initrd options"
	depends on BLK_DEV_INITRD

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

config EMPTY_RAMDISK
	bool "Empty ramdisk image"
	depends on EMBEDDED_RAMDISK

config EMBEDDED_RAMDISK_IMAGE
	string "Filename of gziped ramdisk image"
	depends on EMBEDDED_RAMDISK && !EMPTY_RAMDISK
	default "ramdisk"
	help
	  This is the filename of the ramdisk image to be built into the
	  kernel.  Relative pathnames are relative to arch/rmt/ramdisk/.  
	  The ramdisk image is not part of the kernel distribution; you must
	  provide one yourself.

config RAMDISK_IMAGE_SIZE
	int "Maximum size of ramdisk image"
	depends on EMPTY_RAMDISK
	default "8192"

config EMBEDDED_RAMDISK_ALLOW_INITRAMFS
	bool "Allow gziped initramfs image"
	default n
	
config GZIP_RAMDISK
	bool "gzipped ramdisk image"
	depends on RMT
	default n
endmenu

source "drivers/Kconfig"

source "fs/Kconfig"

menu "Kernel hacking"

config CROSSCOMPILE
	bool "Are you using a crosscompiler"
	default y
	help
	  Say Y here if you are compiling the kernel on a different
	  architecture than the one it is intended to run on.

config CMDLINE
	string "Default kernel command string"
	default ""
	help
          On some platforms, there is currently no way for the boot loader to
          pass arguments to the kernel. For these platforms, you can supply
          some command-line options at build time by entering them here.  In
          other cases you can specify kernel args so that you don't have
	  to set them up in board prom initialization routines.

config DEBUG_KERNEL
	bool "Kernel debugging"
	depends on AXE_DEBUG

	config DEBUG_STACK_USAGE
	bool "Enable stack utilization instrumentation"
	depends on DEBUG_KERNEL
	help
	  Enables the display of the minimum amount of free stack which each
	  task has ever had available in the sysrq-T and sysrq-P debug output.

	  This option will slow down process creation somewhat.

config KGDB
	bool "Remote GDB kernel debugging"
	depends on DEBUG_KERNEL
	select DEBUG_INFO
	help
	  If you say Y here, it will be possible to remotely debug the MIPS
	  kernel using gdb. This enlarges your kernel image disk size by
	  several megabytes and requires a machine with more than 16 MB,
	  better 32 MB RAM to avoid excessive linking time. This is only
	  useful for kernel hackers. If unsure, say N.

config GDB_CONSOLE
	bool "Console output to GDB"
	depends on KGDB
	help
	  If you are using GDB for remote debugging over a serial port and
	  would like kernel messages to be formatted into GDB $O packets so
	  that GDB prints them as program output, say 'Y'.

config DEBUG_INFO
	bool "Compile the kernel with debug info"
	depends on DEBUG_KERNEL && !KGDB
	default y if KGDB
	help
	  If you say Y here the resulting kernel image will include
	  debugging info resulting in a larger kernel image.
	  Say Y here only if you plan to use gdb to debug the kernel.
	  If you don't debug the kernel, you can say N.

config SB1XXX_CORELIS
	bool "Corelis Debugger"
	depends on SIBYTE_SB1xxx_SOC && DEBUG_INFO
	help
	  Select compile flags that produce code that can be processed by the
	  Corelis mksym utility and UDB Emulator.

config RUNTIME_DEBUG
	bool "Enable run-time debugging"
	depends on DEBUG_KERNEL
	help
	  If you say Y here, some debugging macros will do run-time checking.
	  If you say N here, those macros will mostly turn to no-ops.  See 
	  include/asm-mips/debug.h for debuging macros.
	  If unsure, say N.


config MAGIC_SYSRQ
	bool "Magic SysRq key"
	depends on DEBUG_KERNEL
	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 <file:Documentation/sysrq.txt>. Don't say Y
	  unless you really know what this hack does.

config MIPS_UNCACHED
	bool "Run uncached"
	depends on DEBUG_KERNEL && !SMP && !SGI_IP27
	help
	  If you say Y here there kernel will disable all CPU caches.  This will
	  reduce the system's performance dramatically but can help finding
	  otherwise hard to track bugs.  It can also useful if you're doing
	  hardware debugging with a logic analyzer and need to see all traffic
	  on the bus.

config DEBUG_HIGHMEM
	bool "Highmem debugging"
	depends on DEBUG_KERNEL && HIGHMEM

endmenu

source "security/Kconfig"

#source "crypto/Kconfig"

source "lib/Kconfig"
