162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig CSKY
362306a36Sopenharmony_ci	def_bool y
462306a36Sopenharmony_ci	select ARCH_32BIT_OFF_T
562306a36Sopenharmony_ci	select ARCH_HAS_DMA_PREP_COHERENT
662306a36Sopenharmony_ci	select ARCH_HAS_GCOV_PROFILE_ALL
762306a36Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_CPU
862306a36Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
962306a36Sopenharmony_ci	select ARCH_USE_BUILTIN_BSWAP
1062306a36Sopenharmony_ci	select ARCH_USE_QUEUED_RWLOCKS
1162306a36Sopenharmony_ci	select ARCH_USE_QUEUED_SPINLOCKS
1262306a36Sopenharmony_ci	select ARCH_HAS_CURRENT_STACK_POINTER
1362306a36Sopenharmony_ci	select ARCH_INLINE_READ_LOCK if !PREEMPTION
1462306a36Sopenharmony_ci	select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
1562306a36Sopenharmony_ci	select ARCH_INLINE_READ_LOCK_IRQ if !PREEMPTION
1662306a36Sopenharmony_ci	select ARCH_INLINE_READ_LOCK_IRQSAVE if !PREEMPTION
1762306a36Sopenharmony_ci	select ARCH_INLINE_READ_UNLOCK if !PREEMPTION
1862306a36Sopenharmony_ci	select ARCH_INLINE_READ_UNLOCK_BH if !PREEMPTION
1962306a36Sopenharmony_ci	select ARCH_INLINE_READ_UNLOCK_IRQ if !PREEMPTION
2062306a36Sopenharmony_ci	select ARCH_INLINE_READ_UNLOCK_IRQRESTORE if !PREEMPTION
2162306a36Sopenharmony_ci	select ARCH_INLINE_WRITE_LOCK if !PREEMPTION
2262306a36Sopenharmony_ci	select ARCH_INLINE_WRITE_LOCK_BH if !PREEMPTION
2362306a36Sopenharmony_ci	select ARCH_INLINE_WRITE_LOCK_IRQ if !PREEMPTION
2462306a36Sopenharmony_ci	select ARCH_INLINE_WRITE_LOCK_IRQSAVE if !PREEMPTION
2562306a36Sopenharmony_ci	select ARCH_INLINE_WRITE_UNLOCK if !PREEMPTION
2662306a36Sopenharmony_ci	select ARCH_INLINE_WRITE_UNLOCK_BH if !PREEMPTION
2762306a36Sopenharmony_ci	select ARCH_INLINE_WRITE_UNLOCK_IRQ if !PREEMPTION
2862306a36Sopenharmony_ci	select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE if !PREEMPTION
2962306a36Sopenharmony_ci	select ARCH_INLINE_SPIN_TRYLOCK if !PREEMPTION
3062306a36Sopenharmony_ci	select ARCH_INLINE_SPIN_TRYLOCK_BH if !PREEMPTION
3162306a36Sopenharmony_ci	select ARCH_INLINE_SPIN_LOCK if !PREEMPTION
3262306a36Sopenharmony_ci	select ARCH_INLINE_SPIN_LOCK_BH if !PREEMPTION
3362306a36Sopenharmony_ci	select ARCH_INLINE_SPIN_LOCK_IRQ if !PREEMPTION
3462306a36Sopenharmony_ci	select ARCH_INLINE_SPIN_LOCK_IRQSAVE if !PREEMPTION
3562306a36Sopenharmony_ci	select ARCH_INLINE_SPIN_UNLOCK if !PREEMPTION
3662306a36Sopenharmony_ci	select ARCH_INLINE_SPIN_UNLOCK_BH if !PREEMPTION
3762306a36Sopenharmony_ci	select ARCH_INLINE_SPIN_UNLOCK_IRQ if !PREEMPTION
3862306a36Sopenharmony_ci	select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE if !PREEMPTION
3962306a36Sopenharmony_ci	select ARCH_WANT_FRAME_POINTERS if !CPU_CK610 && $(cc-option,-mbacktrace)
4062306a36Sopenharmony_ci	select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
4162306a36Sopenharmony_ci	select COMMON_CLK
4262306a36Sopenharmony_ci	select CLKSRC_MMIO
4362306a36Sopenharmony_ci	select CSKY_MPINTC if CPU_CK860
4462306a36Sopenharmony_ci	select CSKY_MP_TIMER if CPU_CK860
4562306a36Sopenharmony_ci	select CSKY_APB_INTC
4662306a36Sopenharmony_ci	select DMA_DIRECT_REMAP
4762306a36Sopenharmony_ci	select IRQ_DOMAIN
4862306a36Sopenharmony_ci	select DW_APB_TIMER_OF
4962306a36Sopenharmony_ci	select GENERIC_IOREMAP
5062306a36Sopenharmony_ci	select GENERIC_LIB_ASHLDI3
5162306a36Sopenharmony_ci	select GENERIC_LIB_ASHRDI3
5262306a36Sopenharmony_ci	select GENERIC_LIB_LSHRDI3
5362306a36Sopenharmony_ci	select GENERIC_LIB_MULDI3
5462306a36Sopenharmony_ci	select GENERIC_LIB_CMPDI2
5562306a36Sopenharmony_ci	select GENERIC_LIB_UCMPDI2
5662306a36Sopenharmony_ci	select GENERIC_ALLOCATOR
5762306a36Sopenharmony_ci	select GENERIC_ATOMIC64
5862306a36Sopenharmony_ci	select GENERIC_CPU_DEVICES
5962306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
6062306a36Sopenharmony_ci	select GENERIC_IRQ_PROBE
6162306a36Sopenharmony_ci	select GENERIC_IRQ_SHOW
6262306a36Sopenharmony_ci	select GENERIC_IRQ_MULTI_HANDLER
6362306a36Sopenharmony_ci	select GENERIC_SCHED_CLOCK
6462306a36Sopenharmony_ci	select GENERIC_SMP_IDLE_THREAD
6562306a36Sopenharmony_ci	select GENERIC_TIME_VSYSCALL
6662306a36Sopenharmony_ci	select GENERIC_VDSO_32
6762306a36Sopenharmony_ci	select GENERIC_GETTIMEOFDAY
6862306a36Sopenharmony_ci	select GX6605S_TIMER if CPU_CK610
6962306a36Sopenharmony_ci	select HAVE_ARCH_TRACEHOOK
7062306a36Sopenharmony_ci	select HAVE_ARCH_AUDITSYSCALL
7162306a36Sopenharmony_ci	select HAVE_ARCH_JUMP_LABEL if !CPU_CK610
7262306a36Sopenharmony_ci	select HAVE_ARCH_JUMP_LABEL_RELATIVE
7362306a36Sopenharmony_ci	select HAVE_ARCH_MMAP_RND_BITS
7462306a36Sopenharmony_ci	select HAVE_ARCH_SECCOMP_FILTER
7562306a36Sopenharmony_ci	select HAVE_CONTEXT_TRACKING_USER
7662306a36Sopenharmony_ci	select HAVE_VIRT_CPU_ACCOUNTING_GEN
7762306a36Sopenharmony_ci	select HAVE_DEBUG_BUGVERBOSE
7862306a36Sopenharmony_ci	select HAVE_DEBUG_KMEMLEAK
7962306a36Sopenharmony_ci	select HAVE_DYNAMIC_FTRACE
8062306a36Sopenharmony_ci	select HAVE_DYNAMIC_FTRACE_WITH_REGS
8162306a36Sopenharmony_ci	select HAVE_GENERIC_VDSO
8262306a36Sopenharmony_ci	select HAVE_FUNCTION_TRACER
8362306a36Sopenharmony_ci	select HAVE_FUNCTION_GRAPH_TRACER
8462306a36Sopenharmony_ci	select HAVE_FUNCTION_ERROR_INJECTION
8562306a36Sopenharmony_ci	select HAVE_FTRACE_MCOUNT_RECORD
8662306a36Sopenharmony_ci	select HAVE_KERNEL_GZIP
8762306a36Sopenharmony_ci	select HAVE_KERNEL_LZO
8862306a36Sopenharmony_ci	select HAVE_KERNEL_LZMA
8962306a36Sopenharmony_ci	select HAVE_KPROBES if !CPU_CK610
9062306a36Sopenharmony_ci	select HAVE_KPROBES_ON_FTRACE if !CPU_CK610
9162306a36Sopenharmony_ci	select HAVE_KRETPROBES if !CPU_CK610
9262306a36Sopenharmony_ci	select HAVE_PERF_EVENTS
9362306a36Sopenharmony_ci	select HAVE_PERF_REGS
9462306a36Sopenharmony_ci	select HAVE_PERF_USER_STACK_DUMP
9562306a36Sopenharmony_ci	select HAVE_DMA_CONTIGUOUS
9662306a36Sopenharmony_ci	select HAVE_REGS_AND_STACK_ACCESS_API
9762306a36Sopenharmony_ci	select HAVE_STACKPROTECTOR
9862306a36Sopenharmony_ci	select HAVE_SYSCALL_TRACEPOINTS
9962306a36Sopenharmony_ci	select HOTPLUG_CORE_SYNC_DEAD if HOTPLUG_CPU
10062306a36Sopenharmony_ci	select LOCK_MM_AND_FIND_VMA
10162306a36Sopenharmony_ci	select MAY_HAVE_SPARSE_IRQ
10262306a36Sopenharmony_ci	select MODULES_USE_ELF_RELA if MODULES
10362306a36Sopenharmony_ci	select OF
10462306a36Sopenharmony_ci	select OF_EARLY_FLATTREE
10562306a36Sopenharmony_ci	select PERF_USE_VMALLOC if CPU_CK610
10662306a36Sopenharmony_ci	select RTC_LIB
10762306a36Sopenharmony_ci	select TIMER_OF
10862306a36Sopenharmony_ci	select GENERIC_PCI_IOMAP
10962306a36Sopenharmony_ci	select HAVE_PCI
11062306a36Sopenharmony_ci	select PCI_DOMAINS_GENERIC if PCI
11162306a36Sopenharmony_ci	select PCI_SYSCALL if PCI
11262306a36Sopenharmony_ci	select PCI_MSI if PCI
11362306a36Sopenharmony_ci	select TRACE_IRQFLAGS_SUPPORT
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciconfig LOCKDEP_SUPPORT
11662306a36Sopenharmony_ci	def_bool y
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ciconfig ARCH_SUPPORTS_UPROBES
11962306a36Sopenharmony_ci	def_bool y if !CPU_CK610
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ciconfig CPU_HAS_CACHEV2
12262306a36Sopenharmony_ci	bool
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ciconfig CPU_HAS_FPUV2
12562306a36Sopenharmony_ci	bool
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ciconfig CPU_HAS_HILO
12862306a36Sopenharmony_ci	bool
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ciconfig CPU_HAS_TLBI
13162306a36Sopenharmony_ci	bool
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ciconfig CPU_HAS_LDSTEX
13462306a36Sopenharmony_ci	bool
13562306a36Sopenharmony_ci	help
13662306a36Sopenharmony_ci	  For SMP, CPU needs "ldex&stex" instructions for atomic operations.
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ciconfig CPU_NEED_TLBSYNC
13962306a36Sopenharmony_ci	bool
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ciconfig CPU_NEED_SOFTALIGN
14262306a36Sopenharmony_ci	bool
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ciconfig CPU_NO_USER_BKPT
14562306a36Sopenharmony_ci	bool
14662306a36Sopenharmony_ci	help
14762306a36Sopenharmony_ci	  For abiv2 we couldn't use "trap 1" as user space bkpt in gdbserver, because
14862306a36Sopenharmony_ci	  abiv2 is 16/32bit instruction set and "trap 1" is 32bit.
14962306a36Sopenharmony_ci	  So we need a 16bit instruction as user space bkpt, and it will cause an illegal
15062306a36Sopenharmony_ci	  instruction exception.
15162306a36Sopenharmony_ci	  In kernel we parse the *regs->pc to determine whether to send SIGTRAP or not.
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ciconfig GENERIC_CALIBRATE_DELAY
15462306a36Sopenharmony_ci	def_bool y
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ciconfig GENERIC_CSUM
15762306a36Sopenharmony_ci	def_bool y
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ciconfig GENERIC_HWEIGHT
16062306a36Sopenharmony_ci	def_bool y
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ciconfig MMU
16362306a36Sopenharmony_ci	def_bool y
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ciconfig STACKTRACE_SUPPORT
16662306a36Sopenharmony_ci	def_bool y
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ciconfig TIME_LOW_RES
16962306a36Sopenharmony_ci	def_bool y
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ciconfig CPU_ASID_BITS
17262306a36Sopenharmony_ci	int
17362306a36Sopenharmony_ci	default "8"	if (CPU_CK610 || CPU_CK807 || CPU_CK810)
17462306a36Sopenharmony_ci	default "12"	if (CPU_CK860)
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ciconfig L1_CACHE_SHIFT
17762306a36Sopenharmony_ci	int
17862306a36Sopenharmony_ci	default "4"	if (CPU_CK610)
17962306a36Sopenharmony_ci	default "5"	if (CPU_CK807 || CPU_CK810)
18062306a36Sopenharmony_ci	default "6"	if (CPU_CK860)
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ciconfig ARCH_MMAP_RND_BITS_MIN
18362306a36Sopenharmony_ci	default 8
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci# max bits determined by the following formula:
18662306a36Sopenharmony_ci#  VA_BITS - PAGE_SHIFT - 3
18762306a36Sopenharmony_ciconfig ARCH_MMAP_RND_BITS_MAX
18862306a36Sopenharmony_ci	default 17
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_cimenu "Processor type and features"
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_cichoice
19362306a36Sopenharmony_ci	prompt "CPU MODEL"
19462306a36Sopenharmony_ci	default CPU_CK807
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ciconfig CPU_CK610
19762306a36Sopenharmony_ci	bool "CSKY CPU ck610"
19862306a36Sopenharmony_ci	select CPU_NEED_TLBSYNC
19962306a36Sopenharmony_ci	select CPU_NEED_SOFTALIGN
20062306a36Sopenharmony_ci	select CPU_NO_USER_BKPT
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ciconfig CPU_CK810
20362306a36Sopenharmony_ci	bool "CSKY CPU ck810"
20462306a36Sopenharmony_ci	select CPU_HAS_HILO
20562306a36Sopenharmony_ci	select CPU_NEED_TLBSYNC
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ciconfig CPU_CK807
20862306a36Sopenharmony_ci	bool "CSKY CPU ck807"
20962306a36Sopenharmony_ci	select CPU_HAS_HILO
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ciconfig CPU_CK860
21262306a36Sopenharmony_ci	bool "CSKY CPU ck860"
21362306a36Sopenharmony_ci	select CPU_HAS_TLBI
21462306a36Sopenharmony_ci	select CPU_HAS_CACHEV2
21562306a36Sopenharmony_ci	select CPU_HAS_LDSTEX
21662306a36Sopenharmony_ci	select CPU_HAS_FPUV2
21762306a36Sopenharmony_ciendchoice
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_cichoice
22062306a36Sopenharmony_ci	prompt "PAGE OFFSET"
22162306a36Sopenharmony_ci	default PAGE_OFFSET_80000000
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ciconfig PAGE_OFFSET_80000000
22462306a36Sopenharmony_ci	bool "PAGE OFFSET 2G (user:kernel = 2:2)"
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ciconfig PAGE_OFFSET_A0000000
22762306a36Sopenharmony_ci	bool "PAGE OFFSET 2.5G (user:kernel = 2.5:1.5)"
22862306a36Sopenharmony_ciendchoice
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ciconfig PAGE_OFFSET
23162306a36Sopenharmony_ci	hex
23262306a36Sopenharmony_ci	default 0x80000000 if PAGE_OFFSET_80000000
23362306a36Sopenharmony_ci	default 0xa0000000 if PAGE_OFFSET_A0000000
23462306a36Sopenharmony_cichoice
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ci	prompt "C-SKY PMU type"
23762306a36Sopenharmony_ci	depends on PERF_EVENTS
23862306a36Sopenharmony_ci	depends on CPU_CK807 || CPU_CK810 || CPU_CK860
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ciconfig CPU_PMU_NONE
24162306a36Sopenharmony_ci	bool "None"
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ciconfig CSKY_PMU_V1
24462306a36Sopenharmony_ci	bool "Performance Monitoring Unit Ver.1"
24562306a36Sopenharmony_ci
24662306a36Sopenharmony_ciendchoice
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_cichoice
24962306a36Sopenharmony_ci	prompt "Power Manager Instruction (wait/doze/stop)"
25062306a36Sopenharmony_ci	default CPU_PM_NONE
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ciconfig CPU_PM_NONE
25362306a36Sopenharmony_ci	bool "None"
25462306a36Sopenharmony_ci
25562306a36Sopenharmony_ciconfig CPU_PM_WAIT
25662306a36Sopenharmony_ci	bool "wait"
25762306a36Sopenharmony_ci
25862306a36Sopenharmony_ciconfig CPU_PM_DOZE
25962306a36Sopenharmony_ci	bool "doze"
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ciconfig CPU_PM_STOP
26262306a36Sopenharmony_ci	bool "stop"
26362306a36Sopenharmony_ciendchoice
26462306a36Sopenharmony_ci
26562306a36Sopenharmony_cimenuconfig HAVE_TCM
26662306a36Sopenharmony_ci	bool "Tightly-Coupled/Sram Memory"
26762306a36Sopenharmony_ci	depends on !COMPILE_TEST
26862306a36Sopenharmony_ci	help
26962306a36Sopenharmony_ci	  The implementation are not only used by TCM (Tightly-Coupled Memory)
27062306a36Sopenharmony_ci	  but also used by sram on SOC bus. It follow existed linux tcm
27162306a36Sopenharmony_ci	  software interface, so that old tcm application codes could be
27262306a36Sopenharmony_ci	  re-used directly.
27362306a36Sopenharmony_ci
27462306a36Sopenharmony_ciif HAVE_TCM
27562306a36Sopenharmony_ciconfig ITCM_RAM_BASE
27662306a36Sopenharmony_ci	hex "ITCM ram base"
27762306a36Sopenharmony_ci	default 0xffffffff
27862306a36Sopenharmony_ci
27962306a36Sopenharmony_ciconfig ITCM_NR_PAGES
28062306a36Sopenharmony_ci	int "Page count of ITCM size: NR*4KB"
28162306a36Sopenharmony_ci	range 1 256
28262306a36Sopenharmony_ci	default 32
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ciconfig HAVE_DTCM
28562306a36Sopenharmony_ci	bool "DTCM Support"
28662306a36Sopenharmony_ci
28762306a36Sopenharmony_ciconfig DTCM_RAM_BASE
28862306a36Sopenharmony_ci	hex "DTCM ram base"
28962306a36Sopenharmony_ci	depends on HAVE_DTCM
29062306a36Sopenharmony_ci	default 0xffffffff
29162306a36Sopenharmony_ci
29262306a36Sopenharmony_ciconfig DTCM_NR_PAGES
29362306a36Sopenharmony_ci	int "Page count of DTCM size: NR*4KB"
29462306a36Sopenharmony_ci	depends on HAVE_DTCM
29562306a36Sopenharmony_ci	range 1 256
29662306a36Sopenharmony_ci	default 32
29762306a36Sopenharmony_ciendif
29862306a36Sopenharmony_ci
29962306a36Sopenharmony_ciconfig CPU_HAS_VDSP
30062306a36Sopenharmony_ci	bool "CPU has VDSP coprocessor"
30162306a36Sopenharmony_ci	depends on CPU_HAS_FPU && CPU_HAS_FPUV2
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ciconfig CPU_HAS_FPU
30462306a36Sopenharmony_ci	bool "CPU has FPU coprocessor"
30562306a36Sopenharmony_ci	depends on CPU_CK807 || CPU_CK810 || CPU_CK860
30662306a36Sopenharmony_ci
30762306a36Sopenharmony_ciconfig CPU_HAS_ICACHE_INS
30862306a36Sopenharmony_ci	bool "CPU has Icache invalidate instructions"
30962306a36Sopenharmony_ci	depends on CPU_HAS_CACHEV2
31062306a36Sopenharmony_ci
31162306a36Sopenharmony_ciconfig CPU_HAS_TEE
31262306a36Sopenharmony_ci	bool "CPU has Trusted Execution Environment"
31362306a36Sopenharmony_ci	depends on CPU_CK810
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_ciconfig SMP
31662306a36Sopenharmony_ci	bool "Symmetric Multi-Processing (SMP) support for C-SKY"
31762306a36Sopenharmony_ci	depends on CPU_CK860
31862306a36Sopenharmony_ci	default n
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ciconfig NR_CPUS
32162306a36Sopenharmony_ci	int "Maximum number of CPUs (2-32)"
32262306a36Sopenharmony_ci	range 2 32
32362306a36Sopenharmony_ci	depends on SMP
32462306a36Sopenharmony_ci	default "4"
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ciconfig HIGHMEM
32762306a36Sopenharmony_ci	bool "High Memory Support"
32862306a36Sopenharmony_ci	depends on !CPU_CK610
32962306a36Sopenharmony_ci	select KMAP_LOCAL
33062306a36Sopenharmony_ci	default y
33162306a36Sopenharmony_ci
33262306a36Sopenharmony_ciconfig DRAM_BASE
33362306a36Sopenharmony_ci	hex "DRAM start addr (the same with memory-section in dts)"
33462306a36Sopenharmony_ci	default 0x0
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_ciconfig HOTPLUG_CPU
33762306a36Sopenharmony_ci	bool "Support for hot-pluggable CPUs"
33862306a36Sopenharmony_ci	select GENERIC_IRQ_MIGRATION
33962306a36Sopenharmony_ci	depends on SMP
34062306a36Sopenharmony_ci	help
34162306a36Sopenharmony_ci	  Say Y here to allow turning CPUs off and on. CPUs can be
34262306a36Sopenharmony_ci	  controlled through /sys/devices/system/cpu/cpu1/hotplug/target.
34362306a36Sopenharmony_ci
34462306a36Sopenharmony_ci	  Say N if you want to disable CPU hotplug.
34562306a36Sopenharmony_ci
34662306a36Sopenharmony_ciconfig HAVE_EFFICIENT_UNALIGNED_STRING_OPS
34762306a36Sopenharmony_ci	bool "Enable EFFICIENT_UNALIGNED_STRING_OPS for abiv2"
34862306a36Sopenharmony_ci	depends on CPU_CK807 || CPU_CK810 || CPU_CK860
34962306a36Sopenharmony_ci	help
35062306a36Sopenharmony_ci	  Say Y here to enable EFFICIENT_UNALIGNED_STRING_OPS. Some CPU models could
35162306a36Sopenharmony_ci	  deal with unaligned access by hardware.
35262306a36Sopenharmony_ci
35362306a36Sopenharmony_ciendmenu
35462306a36Sopenharmony_ci
35562306a36Sopenharmony_cisource "arch/csky/Kconfig.platforms"
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_cisource "kernel/Kconfig.hz"
358