1 # SPDX-License-Identifier: GPL-2.0-only !! 1 # SPDX-License-Identifier: GPL-2.0 2 config CSKY !! 2 config M68K 3 def_bool y !! 3 bool 4 select ARCH_32BIT_OFF_T !! 4 default y 5 select ARCH_HAS_CPU_CACHE_ALIASING !! 5 select ARCH_MIGHT_HAVE_PC_PARPORT if ISA 6 select ARCH_HAS_DMA_PREP_COHERENT !! 6 select ARCH_NO_COHERENT_DMA_MMAP if !MMU 7 select ARCH_HAS_GCOV_PROFILE_ALL !! 7 select HAVE_IDE 8 select ARCH_HAS_SYNC_DMA_FOR_CPU !! 8 select HAVE_AOUT if MMU 9 select ARCH_HAS_SYNC_DMA_FOR_DEVICE !! 9 select HAVE_DEBUG_BUGVERBOSE 10 select ARCH_USE_BUILTIN_BSWAP !! 10 select GENERIC_IRQ_SHOW 11 select ARCH_USE_QUEUED_RWLOCKS << 12 select ARCH_USE_QUEUED_SPINLOCKS << 13 select ARCH_HAS_CURRENT_STACK_POINTER << 14 select ARCH_INLINE_READ_LOCK if !PREEM << 15 select ARCH_INLINE_READ_LOCK_BH if !PR << 16 select ARCH_INLINE_READ_LOCK_IRQ if !P << 17 select ARCH_INLINE_READ_LOCK_IRQSAVE i << 18 select ARCH_INLINE_READ_UNLOCK if !PRE << 19 select ARCH_INLINE_READ_UNLOCK_BH if ! << 20 select ARCH_INLINE_READ_UNLOCK_IRQ if << 21 select ARCH_INLINE_READ_UNLOCK_IRQREST << 22 select ARCH_INLINE_WRITE_LOCK if !PREE << 23 select ARCH_INLINE_WRITE_LOCK_BH if !P << 24 select ARCH_INLINE_WRITE_LOCK_IRQ if ! << 25 select ARCH_INLINE_WRITE_LOCK_IRQSAVE << 26 select ARCH_INLINE_WRITE_UNLOCK if !PR << 27 select ARCH_INLINE_WRITE_UNLOCK_BH if << 28 select ARCH_INLINE_WRITE_UNLOCK_IRQ if << 29 select ARCH_INLINE_WRITE_UNLOCK_IRQRES << 30 select ARCH_INLINE_SPIN_TRYLOCK if !PR << 31 select ARCH_INLINE_SPIN_TRYLOCK_BH if << 32 select ARCH_INLINE_SPIN_LOCK if !PREEM << 33 select ARCH_INLINE_SPIN_LOCK_BH if !PR << 34 select ARCH_INLINE_SPIN_LOCK_IRQ if !P << 35 select ARCH_INLINE_SPIN_LOCK_IRQSAVE i << 36 select ARCH_INLINE_SPIN_UNLOCK if !PRE << 37 select ARCH_INLINE_SPIN_UNLOCK_BH if ! << 38 select ARCH_INLINE_SPIN_UNLOCK_IRQ if << 39 select ARCH_INLINE_SPIN_UNLOCK_IRQREST << 40 select ARCH_NEED_CMPXCHG_1_EMU << 41 select ARCH_WANT_FRAME_POINTERS if !CP << 42 select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_ << 43 select COMMON_CLK << 44 select CLKSRC_MMIO << 45 select CSKY_MPINTC if CPU_CK860 << 46 select CSKY_MP_TIMER if CPU_CK860 << 47 select CSKY_APB_INTC << 48 select DMA_DIRECT_REMAP << 49 select IRQ_DOMAIN << 50 select DW_APB_TIMER_OF << 51 select GENERIC_IOREMAP << 52 select GENERIC_LIB_ASHLDI3 << 53 select GENERIC_LIB_ASHRDI3 << 54 select GENERIC_LIB_LSHRDI3 << 55 select GENERIC_LIB_MULDI3 << 56 select GENERIC_LIB_CMPDI2 << 57 select GENERIC_LIB_UCMPDI2 << 58 select GENERIC_ALLOCATOR << 59 select GENERIC_ATOMIC64 11 select GENERIC_ATOMIC64 >> 12 select HAVE_UID16 >> 13 select VIRT_TO_BUS >> 14 select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS 60 select GENERIC_CPU_DEVICES 15 select GENERIC_CPU_DEVICES 61 select GENERIC_IRQ_CHIP !! 16 select GENERIC_IOMAP 62 select GENERIC_IRQ_PROBE !! 17 select GENERIC_STRNCPY_FROM_USER if MMU 63 select GENERIC_IRQ_SHOW !! 18 select GENERIC_STRNLEN_USER if MMU 64 select GENERIC_IRQ_MULTI_HANDLER !! 19 select ARCH_WANT_IPC_PARSE_VERSION 65 select GENERIC_SCHED_CLOCK !! 20 select ARCH_USES_GETTIMEOFFSET if MMU && !COLDFIRE 66 select GENERIC_SMP_IDLE_THREAD !! 21 select HAVE_FUTEX_CMPXCHG if MMU && FUTEX 67 select GENERIC_TIME_VSYSCALL !! 22 select HAVE_MOD_ARCH_SPECIFIC 68 select GENERIC_VDSO_32 !! 23 select MODULES_USE_ELF_REL 69 select GENERIC_GETTIMEOFDAY !! 24 select MODULES_USE_ELF_RELA 70 select GX6605S_TIMER if CPU_CK610 !! 25 select OLD_SIGSUSPEND3 71 select HAVE_ARCH_TRACEHOOK !! 26 select OLD_SIGACTION 72 select HAVE_ARCH_AUDITSYSCALL << 73 select HAVE_ARCH_JUMP_LABEL if !CPU_CK << 74 select HAVE_ARCH_JUMP_LABEL_RELATIVE << 75 select HAVE_ARCH_MMAP_RND_BITS << 76 select HAVE_ARCH_SECCOMP_FILTER << 77 select HAVE_CONTEXT_TRACKING_USER << 78 select HAVE_VIRT_CPU_ACCOUNTING_GEN << 79 select HAVE_DEBUG_BUGVERBOSE << 80 select HAVE_DEBUG_KMEMLEAK << 81 select HAVE_DYNAMIC_FTRACE << 82 select HAVE_DYNAMIC_FTRACE_WITH_REGS << 83 select HAVE_GENERIC_VDSO << 84 select HAVE_FUNCTION_TRACER << 85 select HAVE_FUNCTION_GRAPH_TRACER << 86 select HAVE_FUNCTION_ERROR_INJECTION << 87 select HAVE_FTRACE_MCOUNT_RECORD << 88 select HAVE_KERNEL_GZIP << 89 select HAVE_KERNEL_LZO << 90 select HAVE_KERNEL_LZMA << 91 select HAVE_KPROBES if !CPU_CK610 << 92 select HAVE_KPROBES_ON_FTRACE if !CPU_ << 93 select HAVE_KRETPROBES if !CPU_CK610 << 94 select HAVE_PAGE_SIZE_4KB << 95 select HAVE_PERF_EVENTS << 96 select HAVE_PERF_REGS << 97 select HAVE_PERF_USER_STACK_DUMP << 98 select HAVE_DMA_CONTIGUOUS << 99 select HAVE_REGS_AND_STACK_ACCESS_API << 100 select HAVE_STACKPROTECTOR << 101 select HAVE_SYSCALL_TRACEPOINTS << 102 select HOTPLUG_CORE_SYNC_DEAD if HOTPL << 103 select LOCK_MM_AND_FIND_VMA << 104 select MAY_HAVE_SPARSE_IRQ << 105 select MODULES_USE_ELF_RELA if MODULES << 106 select OF << 107 select OF_EARLY_FLATTREE << 108 select PERF_USE_VMALLOC if CPU_CK610 << 109 select RTC_LIB << 110 select TIMER_OF << 111 select GENERIC_PCI_IOMAP << 112 select HAVE_PCI << 113 select PCI_DOMAINS_GENERIC if PCI << 114 select PCI_SYSCALL if PCI << 115 select PCI_MSI if PCI << 116 select TRACE_IRQFLAGS_SUPPORT << 117 27 118 config LOCKDEP_SUPPORT !! 28 config CPU_BIG_ENDIAN 119 def_bool y 29 def_bool y 120 30 121 config ARCH_SUPPORTS_UPROBES !! 31 config RWSEM_GENERIC_SPINLOCK 122 def_bool y if !CPU_CK610 << 123 << 124 config CPU_HAS_CACHEV2 << 125 bool 32 bool >> 33 default y 126 34 127 config CPU_HAS_FPUV2 !! 35 config RWSEM_XCHGADD_ALGORITHM 128 bool 36 bool 129 37 130 config CPU_HAS_HILO !! 38 config ARCH_HAS_ILOG2_U32 131 bool 39 bool 132 40 133 config CPU_HAS_TLBI !! 41 config ARCH_HAS_ILOG2_U64 134 bool 42 bool 135 43 136 config CPU_HAS_LDSTEX !! 44 config GENERIC_HWEIGHT 137 bool 45 bool 138 help !! 46 default y 139 For SMP, CPU needs "ldex&stex" instr << 140 47 141 config CPU_NEED_TLBSYNC !! 48 config GENERIC_CALIBRATE_DELAY 142 bool 49 bool >> 50 default y 143 51 144 config CPU_NEED_SOFTALIGN !! 52 config GENERIC_CSUM 145 bool 53 bool 146 54 147 config CPU_NO_USER_BKPT !! 55 config TIME_LOW_RES 148 bool 56 bool 149 help !! 57 default y 150 For abiv2 we couldn't use "trap 1" a << 151 abiv2 is 16/32bit instruction set an << 152 So we need a 16bit instruction as us << 153 instruction exception. << 154 In kernel we parse the *regs->pc to << 155 58 156 config GENERIC_CALIBRATE_DELAY !! 59 config NO_IOPORT_MAP 157 def_bool y 60 def_bool y 158 61 159 config GENERIC_CSUM !! 62 config NO_DMA 160 def_bool y !! 63 def_bool (MMU && SUN3) || (!MMU && !COLDFIRE) 161 64 162 config GENERIC_HWEIGHT !! 65 config ZONE_DMA 163 def_bool y !! 66 bool >> 67 default y >> 68 >> 69 config HZ >> 70 int >> 71 default 1000 if CLEOPATRA >> 72 default 100 >> 73 >> 74 config PGTABLE_LEVELS >> 75 default 2 if SUN3 || COLDFIRE >> 76 default 3 >> 77 >> 78 source "init/Kconfig" >> 79 >> 80 source "kernel/Kconfig.freezer" 164 81 165 config MMU 82 config MMU 166 def_bool y !! 83 bool "MMU-based Paged Memory Management Support" >> 84 default y >> 85 help >> 86 Select if you want MMU-based virtualised addressing space >> 87 support by paged memory management. If unsure, say 'Y'. 167 88 168 config STACKTRACE_SUPPORT !! 89 config MMU_MOTOROLA 169 def_bool y !! 90 bool 170 91 171 config TIME_LOW_RES !! 92 config MMU_COLDFIRE 172 def_bool y !! 93 bool 173 94 174 config CPU_ASID_BITS !! 95 config MMU_SUN3 175 int !! 96 bool 176 default "8" if (CPU_CK610 || CPU_C !! 97 depends on MMU && !MMU_MOTOROLA && !MMU_COLDFIRE 177 default "12" if (CPU_CK860) << 178 98 179 config L1_CACHE_SHIFT !! 99 config KEXEC 180 int !! 100 bool "kexec system call" 181 default "4" if (CPU_CK610) !! 101 depends on M68KCLASSIC 182 default "5" if (CPU_CK807 || CPU_C !! 102 select KEXEC_CORE 183 default "6" if (CPU_CK860) !! 103 help 184 !! 104 kexec is a system call that implements the ability to shutdown your 185 config ARCH_MMAP_RND_BITS_MIN !! 105 current kernel, and to start another kernel. It is like a reboot 186 default 8 !! 106 but it is independent of the system firmware. And like a reboot 187 !! 107 you can start any kernel with it, not just Linux. 188 # max bits determined by the following formula !! 108 189 # VA_BITS - PAGE_SHIFT - 3 !! 109 The name comes from the similarity to the exec system call. 190 config ARCH_MMAP_RND_BITS_MAX !! 110 191 default 17 !! 111 It is an ongoing process to be certain the hardware in a machine 192 !! 112 is properly shutdown, so do not be surprised if this code does not 193 menu "Processor type and features" !! 113 initially work for you. As of this writing the exact hardware 194 !! 114 interface is strongly in flux, so no good recommendation can be 195 choice !! 115 made. 196 prompt "CPU MODEL" !! 116 197 default CPU_CK807 !! 117 config BOOTINFO_PROC 198 !! 118 bool "Export bootinfo in procfs" 199 config CPU_CK610 !! 119 depends on KEXEC && M68KCLASSIC 200 bool "CSKY CPU ck610" << 201 select CPU_NEED_TLBSYNC << 202 select CPU_NEED_SOFTALIGN << 203 select CPU_NO_USER_BKPT << 204 << 205 config CPU_CK810 << 206 bool "CSKY CPU ck810" << 207 select CPU_HAS_HILO << 208 select CPU_NEED_TLBSYNC << 209 << 210 config CPU_CK807 << 211 bool "CSKY CPU ck807" << 212 select CPU_HAS_HILO << 213 << 214 config CPU_CK860 << 215 bool "CSKY CPU ck860" << 216 select CPU_HAS_TLBI << 217 select CPU_HAS_CACHEV2 << 218 select CPU_HAS_LDSTEX << 219 select CPU_HAS_FPUV2 << 220 endchoice << 221 << 222 choice << 223 prompt "PAGE OFFSET" << 224 default PAGE_OFFSET_80000000 << 225 << 226 config PAGE_OFFSET_80000000 << 227 bool "PAGE OFFSET 2G (user:kernel = 2: << 228 << 229 config PAGE_OFFSET_A0000000 << 230 bool "PAGE OFFSET 2.5G (user:kernel = << 231 endchoice << 232 << 233 config PAGE_OFFSET << 234 hex << 235 default 0x80000000 if PAGE_OFFSET_8000 << 236 default 0xa0000000 if PAGE_OFFSET_A000 << 237 choice << 238 << 239 prompt "C-SKY PMU type" << 240 depends on PERF_EVENTS << 241 depends on CPU_CK807 || CPU_CK810 || C << 242 << 243 config CPU_PMU_NONE << 244 bool "None" << 245 << 246 config CSKY_PMU_V1 << 247 bool "Performance Monitoring Unit Ver. << 248 << 249 endchoice << 250 << 251 choice << 252 prompt "Power Manager Instruction (wai << 253 default CPU_PM_NONE << 254 << 255 config CPU_PM_NONE << 256 bool "None" << 257 << 258 config CPU_PM_WAIT << 259 bool "wait" << 260 << 261 config CPU_PM_DOZE << 262 bool "doze" << 263 << 264 config CPU_PM_STOP << 265 bool "stop" << 266 endchoice << 267 << 268 menuconfig HAVE_TCM << 269 bool "Tightly-Coupled/Sram Memory" << 270 depends on !COMPILE_TEST << 271 help 120 help 272 The implementation are not only used !! 121 Say Y to export the bootinfo used to boot the kernel in a 273 but also used by sram on SOC bus. It !! 122 "bootinfo" file in procfs. This is useful with kexec. 274 software interface, so that old tcm !! 123 275 re-used directly. !! 124 menu "Platform setup" 276 !! 125 277 if HAVE_TCM !! 126 source arch/m68k/Kconfig.cpu 278 config ITCM_RAM_BASE !! 127 279 hex "ITCM ram base" !! 128 source arch/m68k/Kconfig.machine 280 default 0xffffffff !! 129 281 !! 130 source arch/m68k/Kconfig.bus 282 config ITCM_NR_PAGES !! 131 283 int "Page count of ITCM size: NR*4KB" !! 132 endmenu 284 range 1 256 !! 133 285 default 32 !! 134 menu "Kernel Features" 286 !! 135 287 config HAVE_DTCM !! 136 if COLDFIRE 288 bool "DTCM Support" !! 137 source "kernel/Kconfig.preempt" 289 << 290 config DTCM_RAM_BASE << 291 hex "DTCM ram base" << 292 depends on HAVE_DTCM << 293 default 0xffffffff << 294 << 295 config DTCM_NR_PAGES << 296 int "Page count of DTCM size: NR*4KB" << 297 depends on HAVE_DTCM << 298 range 1 256 << 299 default 32 << 300 endif 138 endif 301 139 302 config CPU_HAS_VDSP !! 140 source "mm/Kconfig" 303 bool "CPU has VDSP coprocessor" << 304 depends on CPU_HAS_FPU && CPU_HAS_FPUV << 305 << 306 config CPU_HAS_FPU << 307 bool "CPU has FPU coprocessor" << 308 depends on CPU_CK807 || CPU_CK810 || C << 309 << 310 config CPU_HAS_ICACHE_INS << 311 bool "CPU has Icache invalidate instru << 312 depends on CPU_HAS_CACHEV2 << 313 << 314 config CPU_HAS_TEE << 315 bool "CPU has Trusted Execution Enviro << 316 depends on CPU_CK810 << 317 << 318 config SMP << 319 bool "Symmetric Multi-Processing (SMP) << 320 depends on CPU_CK860 << 321 default n << 322 << 323 config NR_CPUS << 324 int "Maximum number of CPUs (2-32)" << 325 range 2 32 << 326 depends on SMP << 327 default "4" << 328 << 329 config HIGHMEM << 330 bool "High Memory Support" << 331 depends on !CPU_CK610 << 332 select KMAP_LOCAL << 333 default y << 334 141 335 config DRAM_BASE !! 142 endmenu 336 hex "DRAM start addr (the same with me !! 143 337 default 0x0 !! 144 menu "Executable file formats" 338 !! 145 339 config HOTPLUG_CPU !! 146 source "fs/Kconfig.binfmt" 340 bool "Support for hot-pluggable CPUs" !! 147 341 select GENERIC_IRQ_MIGRATION !! 148 endmenu 342 depends on SMP << 343 help << 344 Say Y here to allow turning CPUs off << 345 controlled through /sys/devices/syst << 346 149 347 Say N if you want to disable CPU hot !! 150 if !MMU >> 151 menu "Power management options" 348 152 349 config HAVE_EFFICIENT_UNALIGNED_STRING_OPS !! 153 config PM 350 bool "Enable EFFICIENT_UNALIGNED_STRIN !! 154 bool "Power Management support" 351 depends on CPU_CK807 || CPU_CK810 || C << 352 help 155 help 353 Say Y here to enable EFFICIENT_UNALI !! 156 Support processor power management modes 354 deal with unaligned access by hardwa << 355 157 356 endmenu 158 endmenu >> 159 endif >> 160 >> 161 source "net/Kconfig" >> 162 >> 163 source "drivers/Kconfig" >> 164 >> 165 source "arch/m68k/Kconfig.devices" >> 166 >> 167 source "fs/Kconfig" >> 168 >> 169 source "arch/m68k/Kconfig.debug" >> 170 >> 171 source "security/Kconfig" 357 172 358 source "arch/csky/Kconfig.platforms" !! 173 source "crypto/Kconfig" 359 174 360 source "kernel/Kconfig.hz" !! 175 source "lib/Kconfig"
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.