comment "Processor Type"

config CPU_32
	bool
	default y

# Select CPU types depending on the architecture selected.  This selects
# which CPUs we support in the kernel image, and the compiler instruction
# optimiser behaviour.

# ARM920T
config CPU_ARM920T
	bool
	select CPU_32v4T
	help
	  The ARM920T is licensed to be produced by numerous vendors,
	  and is used in the Maverick EP9312 and the Samsung S3C2410.

	  More information on the Maverick EP9312 at
	  <http://linuxdevices.com/products/PD2382866068.html>.

	  Say Y if you want support for the ARM920T processor.
	  Otherwise, say N.


# ARM926T
config CPU_ARM926T
	bool
	select CPU_32v5
	help
	  This is a variant of the ARM920.  It has slightly different
	  instruction sequences for cache and TLB operations.  Curiously,
	  there is no documentation on it at the ARM corporate website.

	  Say Y if you want support for the ARM926T processor.
	  Otherwise, say N.

# ARMv6
config CPU_V6
	bool
	select CPU_32v6

# ARMv7
config CPU_V7
	bool
	select CPU_32v7

# Figure out what processor architecture version we should be using.
# This defines the compiler instruction set which depends on the machine type.
config CPU_32v4T
	bool

config CPU_32v5
	bool

config CPU_32v6
	bool

config CPU_32v7
	bool

comment "processor features"

config ARCH_SUPPORTS_BIG_ENDIAN
	bool

config CPU_BIG_ENDIAN
	bool "Build big-endian kernel"
	depends on ARCH_SUPPORTS_BIG_ENDIAN
	help
	  Say Y if you plan on running a kernel in big-endian mode.
	  Note that your board must be properly built and your board
	  port must properly enable any big-endian related features
	  of your chipset/board/processor.

config BOOT_ENDIANNESS_SWITCH
	bool "Support switching of Linux kernel endianness"
	help
	  Say Y here if you need to switch CPU endianness before running
	  Linux kernel, e.g. if you want big-endian Barebox to run
	  little-endian Linux.

	  Currently implemented only by "bootz" command.

config ARCH_HAS_L2X0
	bool

config CACHE_L2X0
	bool "Enable L2x0 PrimeCell"
	depends on ARCH_HAS_L2X0

