Kconfig (0bfbc914d9433d8ac2763a9ce99ce7721ee5c8e0) Kconfig (77acc6b55ae46f52bfa4eca52c9fe627f5c3ba3f)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# For a description of the syntax of this configuration file,
4# see Documentation/kbuild/kconfig-language.rst.
5#
6
7config 64BIT
8 bool

--- 9 unchanged lines hidden (view full) ---

18 select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION
19 select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2
20 select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
21 select ARCH_HAS_BINFMT_FLAT
22 select ARCH_HAS_CURRENT_STACK_POINTER
23 select ARCH_HAS_DEBUG_VIRTUAL if MMU
24 select ARCH_HAS_DEBUG_VM_PGTABLE
25 select ARCH_HAS_DEBUG_WX
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# For a description of the syntax of this configuration file,
4# see Documentation/kbuild/kconfig-language.rst.
5#
6
7config 64BIT
8 bool

--- 9 unchanged lines hidden (view full) ---

18 select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION
19 select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2
20 select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
21 select ARCH_HAS_BINFMT_FLAT
22 select ARCH_HAS_CURRENT_STACK_POINTER
23 select ARCH_HAS_DEBUG_VIRTUAL if MMU
24 select ARCH_HAS_DEBUG_VM_PGTABLE
25 select ARCH_HAS_DEBUG_WX
26 select ARCH_HAS_FAST_MULTIPLIER
27 select ARCH_HAS_FORTIFY_SOURCE
28 select ARCH_HAS_GCOV_PROFILE_ALL
29 select ARCH_HAS_GIGANTIC_PAGE
30 select ARCH_HAS_KCOV
26 select ARCH_HAS_FORTIFY_SOURCE
27 select ARCH_HAS_GCOV_PROFILE_ALL
28 select ARCH_HAS_GIGANTIC_PAGE
29 select ARCH_HAS_KCOV
30 select ARCH_HAS_KERNEL_FPU_SUPPORT if 64BIT && FPU
31 select ARCH_HAS_MEMBARRIER_CALLBACKS
32 select ARCH_HAS_MEMBARRIER_SYNC_CORE
33 select ARCH_HAS_MMIOWB
34 select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
35 select ARCH_HAS_PMEM_API
36 select ARCH_HAS_PREPARE_SYNC_CORE_CMD
37 select ARCH_HAS_PTE_SPECIAL
38 select ARCH_HAS_SET_DIRECT_MAP if MMU

--- 14 unchanged lines hidden (view full) ---

53 select ARCH_SUPPORTS_DEBUG_PAGEALLOC if MMU
54 select ARCH_SUPPORTS_HUGETLBFS if MMU
55 # LLD >= 14: https://github.com/llvm/llvm-project/issues/50505
56 select ARCH_SUPPORTS_LTO_CLANG if LLD_VERSION >= 140000
57 select ARCH_SUPPORTS_LTO_CLANG_THIN if LLD_VERSION >= 140000
58 select ARCH_SUPPORTS_PAGE_TABLE_CHECK if MMU
59 select ARCH_SUPPORTS_PER_VMA_LOCK if MMU
60 select ARCH_SUPPORTS_SHADOW_CALL_STACK if HAVE_SHADOW_CALL_STACK
31 select ARCH_HAS_MEMBARRIER_CALLBACKS
32 select ARCH_HAS_MEMBARRIER_SYNC_CORE
33 select ARCH_HAS_MMIOWB
34 select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
35 select ARCH_HAS_PMEM_API
36 select ARCH_HAS_PREPARE_SYNC_CORE_CMD
37 select ARCH_HAS_PTE_SPECIAL
38 select ARCH_HAS_SET_DIRECT_MAP if MMU

--- 14 unchanged lines hidden (view full) ---

53 select ARCH_SUPPORTS_DEBUG_PAGEALLOC if MMU
54 select ARCH_SUPPORTS_HUGETLBFS if MMU
55 # LLD >= 14: https://github.com/llvm/llvm-project/issues/50505
56 select ARCH_SUPPORTS_LTO_CLANG if LLD_VERSION >= 140000
57 select ARCH_SUPPORTS_LTO_CLANG_THIN if LLD_VERSION >= 140000
58 select ARCH_SUPPORTS_PAGE_TABLE_CHECK if MMU
59 select ARCH_SUPPORTS_PER_VMA_LOCK if MMU
60 select ARCH_SUPPORTS_SHADOW_CALL_STACK if HAVE_SHADOW_CALL_STACK
61 select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
62 select ARCH_USE_MEMTEST
63 select ARCH_USE_QUEUED_RWLOCKS
64 select ARCH_USES_CFI_TRAPS if CFI_CLANG
61 select ARCH_USE_MEMTEST
62 select ARCH_USE_QUEUED_RWLOCKS
63 select ARCH_USES_CFI_TRAPS if CFI_CLANG
65 select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH if MMU
64 select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH if SMP && MMU
66 select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
67 select ARCH_WANT_FRAME_POINTERS
68 select ARCH_WANT_GENERAL_HUGETLB if !RISCV_ISA_SVNAPOT
69 select ARCH_WANT_HUGE_PMD_SHARE if 64BIT
70 select ARCH_WANT_LD_ORPHAN_WARN if !XIP_KERNEL
71 select ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
72 select ARCH_WANTS_NO_INSTR
73 select ARCH_WANTS_THP_SWAP if HAVE_ARCH_TRANSPARENT_HUGEPAGE
74 select BINFMT_FLAT_NO_DATA_START_OFFSET if !MMU
75 select BUILDTIME_TABLE_SORT if MMU
65 select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
66 select ARCH_WANT_FRAME_POINTERS
67 select ARCH_WANT_GENERAL_HUGETLB if !RISCV_ISA_SVNAPOT
68 select ARCH_WANT_HUGE_PMD_SHARE if 64BIT
69 select ARCH_WANT_LD_ORPHAN_WARN if !XIP_KERNEL
70 select ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
71 select ARCH_WANTS_NO_INSTR
72 select ARCH_WANTS_THP_SWAP if HAVE_ARCH_TRANSPARENT_HUGEPAGE
73 select BINFMT_FLAT_NO_DATA_START_OFFSET if !MMU
74 select BUILDTIME_TABLE_SORT if MMU
76 select CLINT_TIMER if RISCV_M_MODE
75 select CLINT_TIMER if !MMU
77 select CLONE_BACKWARDS
78 select COMMON_CLK
79 select CPU_PM if CPU_IDLE || HIBERNATION || SUSPEND
80 select EDAC_SUPPORT
81 select FRAME_POINTER if PERF_EVENTS || (FUNCTION_TRACER && !DYNAMIC_FTRACE)
82 select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
83 select GENERIC_ARCH_TOPOLOGY
84 select GENERIC_ATOMIC64 if !64BIT

--- 67 unchanged lines hidden (view full) ---

152 select HAVE_PERF_EVENTS
153 select HAVE_PERF_REGS
154 select HAVE_PERF_USER_STACK_DUMP
155 select HAVE_POSIX_CPU_TIMERS_TASK_WORK
156 select HAVE_PREEMPT_DYNAMIC_KEY if !XIP_KERNEL
157 select HAVE_REGS_AND_STACK_ACCESS_API
158 select HAVE_RETHOOK if !XIP_KERNEL
159 select HAVE_RSEQ
76 select CLONE_BACKWARDS
77 select COMMON_CLK
78 select CPU_PM if CPU_IDLE || HIBERNATION || SUSPEND
79 select EDAC_SUPPORT
80 select FRAME_POINTER if PERF_EVENTS || (FUNCTION_TRACER && !DYNAMIC_FTRACE)
81 select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
82 select GENERIC_ARCH_TOPOLOGY
83 select GENERIC_ATOMIC64 if !64BIT

--- 67 unchanged lines hidden (view full) ---

151 select HAVE_PERF_EVENTS
152 select HAVE_PERF_REGS
153 select HAVE_PERF_USER_STACK_DUMP
154 select HAVE_POSIX_CPU_TIMERS_TASK_WORK
155 select HAVE_PREEMPT_DYNAMIC_KEY if !XIP_KERNEL
156 select HAVE_REGS_AND_STACK_ACCESS_API
157 select HAVE_RETHOOK if !XIP_KERNEL
158 select HAVE_RSEQ
160 select HAVE_RUST if 64BIT
161 select HAVE_SAMPLE_FTRACE_DIRECT
162 select HAVE_SAMPLE_FTRACE_DIRECT_MULTI
163 select HAVE_STACKPROTECTOR
164 select HAVE_SYSCALL_TRACEPOINTS
165 select HOTPLUG_CORE_SYNC_DEAD if HOTPLUG_CPU
166 select IRQ_DOMAIN
167 select IRQ_FORCED_THREADING
168 select KASAN_VMALLOC if KASAN

--- 60 unchanged lines hidden (view full) ---

229 default 24 if 64BIT # SV39 based
230 default 17
231
232config ARCH_MMAP_RND_COMPAT_BITS_MAX
233 default 17
234
235# set if we run in machine mode, cleared if we run in supervisor mode
236config RISCV_M_MODE
159 select HAVE_SAMPLE_FTRACE_DIRECT
160 select HAVE_SAMPLE_FTRACE_DIRECT_MULTI
161 select HAVE_STACKPROTECTOR
162 select HAVE_SYSCALL_TRACEPOINTS
163 select HOTPLUG_CORE_SYNC_DEAD if HOTPLUG_CPU
164 select IRQ_DOMAIN
165 select IRQ_FORCED_THREADING
166 select KASAN_VMALLOC if KASAN

--- 60 unchanged lines hidden (view full) ---

227 default 24 if 64BIT # SV39 based
228 default 17
229
230config ARCH_MMAP_RND_COMPAT_BITS_MAX
231 default 17
232
233# set if we run in machine mode, cleared if we run in supervisor mode
234config RISCV_M_MODE
237 bool "Build a kernel that runs in machine mode"
238 depends on !MMU
239 default y
240 help
241 Select this option if you want to run the kernel in M-mode,
242 without the assistance of any other firmware.
235 bool
236 default !MMU
243
244# set if we are running in S-mode and can use SBI calls
245config RISCV_SBI
246 bool
247 depends on !RISCV_M_MODE
248 default y
249
250config MMU
251 bool "MMU-based Paged Memory Management Support"
252 default y
253 help
254 Select if you want MMU-based virtualised addressing space
255 support by paged memory management. If unsure, say 'Y'.
256
257config PAGE_OFFSET
258 hex
237
238# set if we are running in S-mode and can use SBI calls
239config RISCV_SBI
240 bool
241 depends on !RISCV_M_MODE
242 default y
243
244config MMU
245 bool "MMU-based Paged Memory Management Support"
246 default y
247 help
248 Select if you want MMU-based virtualised addressing space
249 support by paged memory management. If unsure, say 'Y'.
250
251config PAGE_OFFSET
252 hex
259 default 0x80000000 if !MMU && RISCV_M_MODE
260 default 0x80200000 if !MMU
261 default 0xc0000000 if 32BIT
253 default 0xC0000000 if 32BIT && MMU
254 default 0x80000000 if !MMU
262 default 0xff60000000000000 if 64BIT
263
264config KASAN_SHADOW_OFFSET
265 hex
266 depends on KASAN_GENERIC
267 default 0xdfffffff00000000 if 64BIT
268 default 0xffffffff if 32BIT
269

--- 331 unchanged lines hidden (view full) ---

601# binutils added all except Zvkb, then added Zvkb. So we just check for Zvkb.
602config TOOLCHAIN_HAS_VECTOR_CRYPTO
603 def_bool $(as-instr, .option arch$(comma) +v$(comma) +zvkb)
604 depends on AS_HAS_OPTION_ARCH
605
606config RISCV_ISA_ZBB
607 bool "Zbb extension support for bit manipulation instructions"
608 depends on TOOLCHAIN_HAS_ZBB
255 default 0xff60000000000000 if 64BIT
256
257config KASAN_SHADOW_OFFSET
258 hex
259 depends on KASAN_GENERIC
260 default 0xdfffffff00000000 if 64BIT
261 default 0xffffffff if 32BIT
262

--- 331 unchanged lines hidden (view full) ---

594# binutils added all except Zvkb, then added Zvkb. So we just check for Zvkb.
595config TOOLCHAIN_HAS_VECTOR_CRYPTO
596 def_bool $(as-instr, .option arch$(comma) +v$(comma) +zvkb)
597 depends on AS_HAS_OPTION_ARCH
598
599config RISCV_ISA_ZBB
600 bool "Zbb extension support for bit manipulation instructions"
601 depends on TOOLCHAIN_HAS_ZBB
602 depends on MMU
609 depends on RISCV_ALTERNATIVE
610 default y
611 help
612 Adds support to dynamically detect the presence of the ZBB
613 extension (basic bit manipulation) and enable its usage.
614
615 The Zbb extension provides instructions to accelerate a number
616 of bit-specific operations (count bit population, sign extending,

--- 15 unchanged lines hidden (view full) ---

632
633 The Zicbom extension can be used to handle for example
634 non-coherent DMA support on devices that need it.
635
636 If you don't know what to do here, say Y.
637
638config RISCV_ISA_ZICBOZ
639 bool "Zicboz extension support for faster zeroing of memory"
603 depends on RISCV_ALTERNATIVE
604 default y
605 help
606 Adds support to dynamically detect the presence of the ZBB
607 extension (basic bit manipulation) and enable its usage.
608
609 The Zbb extension provides instructions to accelerate a number
610 of bit-specific operations (count bit population, sign extending,

--- 15 unchanged lines hidden (view full) ---

626
627 The Zicbom extension can be used to handle for example
628 non-coherent DMA support on devices that need it.
629
630 If you don't know what to do here, say Y.
631
632config RISCV_ISA_ZICBOZ
633 bool "Zicboz extension support for faster zeroing of memory"
634 depends on MMU
640 depends on RISCV_ALTERNATIVE
641 default y
642 help
643 Enable the use of the Zicboz extension (cbo.zero instruction)
644 when available.
645
646 The Zicboz extension is used for faster zeroing of memory.
647

--- 447 unchanged lines hidden ---
635 depends on RISCV_ALTERNATIVE
636 default y
637 help
638 Enable the use of the Zicboz extension (cbo.zero instruction)
639 when available.
640
641 The Zicboz extension is used for faster zeroing of memory.
642

--- 447 unchanged lines hidden ---