config M68K
	bool
	default y
	select HAVE_IDE
	select HAVE_AOUT if MMU
	select HAVE_GENERIC_HARDIRQS
	select GENERIC_IRQ_SHOW
	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
	select GENERIC_CPU_DEVICES
	select FPU if MMU
	select ARCH_USES_GETTIMEOFFSET if MMU && !COLDFIRE

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

config RWSEM_XCHGADD_ALGORITHM
	bool

config ARCH_HAS_ILOG2_U32
	bool

config ARCH_HAS_ILOG2_U64
	bool

config GENERIC_GPIO
	bool

config GENERIC_HWEIGHT
	bool
	default y

config GENERIC_CALIBRATE_DELAY
	bool
	default y

config GENERIC_CSUM
	bool

config TIME_LOW_RES
	bool
	default y

config NO_IOPORT
	def_bool y

config NO_DMA
	def_bool (MMU && SUN3) || (!MMU && !COLDFIRE)

config ZONE_DMA
	bool
	default y

config CPU_HAS_NO_BITFIELDS
	bool

config CPU_HAS_NO_MULDIV64
	bool

config CPU_HAS_ADDRESS_SPACES
	bool

config FPU
	bool

config HZ
	int
	default 1000 if CLEOPATRA
	default 100

source "init/Kconfig"

source "kernel/Kconfig.freezer"

config MMU
	bool "MMU-based Paged Memory Management Support"
	default y
	select GENERIC_IOMAP
	help
	  Select if you want MMU-based virtualised addressing space
	  support by paged memory management. If unsure, say 'Y'.

config MMU_MOTOROLA
	bool

config MMU_COLDFIRE
	bool

config MMU_SUN3
	bool
	depends on MMU && !MMU_MOTOROLA && !MMU_COLDFIRE

menu "Platform setup"

source arch/m68k/Kconfig.cpu

source arch/m68k/Kconfig.machine

source arch/m68k/Kconfig.bus

endmenu

menu "Kernel Features"

if COLDFIRE
source "kernel/Kconfig.preempt"
endif

source "mm/Kconfig"

endmenu

menu "Executable file formats"

source "fs/Kconfig.binfmt"

endmenu

if !MMU
menu "Power management options"

config PM
	bool "Power Management support"
	help
	  Support processor power management modes

endmenu
endif

source "net/Kconfig"

source "drivers/Kconfig"

source "arch/m68k/Kconfig.devices"

source "fs/Kconfig"

source "arch/m68k/Kconfig.debug"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"
