1# SPDX-License-Identifier: GPL-2.0
2config M68K
3	bool
4	default y
5	select ARCH_32BIT_OFF_T
6	select ARCH_HAS_BINFMT_FLAT
7	select ARCH_HAS_DMA_PREP_COHERENT if HAS_DMA && MMU && !COLDFIRE
8	select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA
9	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
10	select ARCH_MIGHT_HAVE_PC_PARPORT if ISA
11	select ARCH_NO_PREEMPT if !COLDFIRE
12	select ARCH_WANT_IPC_PARSE_VERSION
13	select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
14	select DMA_DIRECT_REMAP if HAS_DMA && MMU && !COLDFIRE
15	select GENERIC_ATOMIC64
16	select GENERIC_CPU_DEVICES
17	select GENERIC_IOMAP
18	select GENERIC_IRQ_SHOW
19	select HAVE_AOUT if MMU
20	select HAVE_ASM_MODVERSIONS
21	select HAVE_DEBUG_BUGVERBOSE
22	select HAVE_EFFICIENT_UNALIGNED_ACCESS if !CPU_HAS_NO_UNALIGNED
23	select HAVE_FUTEX_CMPXCHG if MMU && FUTEX
24	select HAVE_MOD_ARCH_SPECIFIC
25	select HAVE_UID16
26	select MMU_GATHER_NO_RANGE if MMU
27	select MODULES_USE_ELF_REL
28	select MODULES_USE_ELF_RELA
29	select NO_DMA if !MMU && !COLDFIRE
30	select OLD_SIGACTION
31	select OLD_SIGSUSPEND3
32	select UACCESS_MEMCPY if !MMU
33	select VIRT_TO_BUS
34	select ZONE_DMA
35
36config CPU_BIG_ENDIAN
37	def_bool y
38
39config ARCH_HAS_ILOG2_U32
40	bool
41
42config ARCH_HAS_ILOG2_U64
43	bool
44
45config GENERIC_HWEIGHT
46	bool
47	default y
48
49config GENERIC_CALIBRATE_DELAY
50	bool
51	default y
52
53config GENERIC_CSUM
54	bool
55
56config TIME_LOW_RES
57	bool
58	default y
59
60config NO_IOPORT_MAP
61	def_bool y
62
63config HZ
64	int
65	default 1000 if CLEOPATRA
66	default 100
67
68config PGTABLE_LEVELS
69	default 2 if SUN3 || COLDFIRE
70	default 3
71
72config MMU
73	bool "MMU-based Paged Memory Management Support"
74	default y
75	help
76	  Select if you want MMU-based virtualised addressing space
77	  support by paged memory management. If unsure, say 'Y'.
78
79config MMU_MOTOROLA
80	bool
81
82config MMU_COLDFIRE
83	bool
84
85config MMU_SUN3
86	bool
87	depends on MMU && !MMU_MOTOROLA && !MMU_COLDFIRE
88
89config KEXEC
90	bool "kexec system call"
91	depends on M68KCLASSIC
92	select KEXEC_CORE
93	help
94	  kexec is a system call that implements the ability to shutdown your
95	  current kernel, and to start another kernel.  It is like a reboot
96	  but it is independent of the system firmware.   And like a reboot
97	  you can start any kernel with it, not just Linux.
98
99	  The name comes from the similarity to the exec system call.
100
101	  It is an ongoing process to be certain the hardware in a machine
102	  is properly shutdown, so do not be surprised if this code does not
103	  initially work for you.  As of this writing the exact hardware
104	  interface is strongly in flux, so no good recommendation can be
105	  made.
106
107config BOOTINFO_PROC
108	bool "Export bootinfo in procfs"
109	depends on KEXEC && M68KCLASSIC
110	help
111	  Say Y to export the bootinfo used to boot the kernel in a
112	  "bootinfo" file in procfs.  This is useful with kexec.
113
114menu "Platform setup"
115
116source "arch/m68k/Kconfig.cpu"
117
118source "arch/m68k/Kconfig.machine"
119
120source "arch/m68k/Kconfig.bus"
121
122endmenu
123
124menu "Kernel Features"
125
126endmenu
127
128if !MMU
129menu "Power management options"
130
131config PM
132	bool "Power Management support"
133	help
134	  Support processor power management modes
135
136endmenu
137endif
138
139source "arch/m68k/Kconfig.devices"
140