Kconfig (c12d3362a74bf0cd9e1d488918d40607b62a3104) Kconfig (6bd33e1ece528f67646db33bf97406b747dafda0)
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

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

21 select ARCH_WANT_FRAME_POINTERS
22 select CLONE_BACKWARDS
23 select COMMON_CLK
24 select GENERIC_CLOCKEVENTS
25 select GENERIC_CPU_DEVICES
26 select GENERIC_IRQ_SHOW
27 select GENERIC_PCI_IOMAP
28 select GENERIC_SCHED_CLOCK
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

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

21 select ARCH_WANT_FRAME_POINTERS
22 select CLONE_BACKWARDS
23 select COMMON_CLK
24 select GENERIC_CLOCKEVENTS
25 select GENERIC_CPU_DEVICES
26 select GENERIC_IRQ_SHOW
27 select GENERIC_PCI_IOMAP
28 select GENERIC_SCHED_CLOCK
29 select GENERIC_STRNCPY_FROM_USER
30 select GENERIC_STRNLEN_USER
29 select GENERIC_STRNCPY_FROM_USER if MMU
30 select GENERIC_STRNLEN_USER if MMU
31 select GENERIC_SMP_IDLE_THREAD
32 select GENERIC_ATOMIC64 if !64BIT
33 select HAVE_ARCH_AUDITSYSCALL
34 select HAVE_ASM_MODVERSIONS
35 select HAVE_MEMBLOCK_NODE_MAP
31 select GENERIC_SMP_IDLE_THREAD
32 select GENERIC_ATOMIC64 if !64BIT
33 select HAVE_ARCH_AUDITSYSCALL
34 select HAVE_ASM_MODVERSIONS
35 select HAVE_MEMBLOCK_NODE_MAP
36 select HAVE_DMA_CONTIGUOUS
36 select HAVE_DMA_CONTIGUOUS if MMU
37 select HAVE_FUTEX_CMPXCHG if FUTEX
38 select HAVE_PERF_EVENTS
39 select HAVE_PERF_REGS
40 select HAVE_PERF_USER_STACK_DUMP
41 select HAVE_SYSCALL_TRACEPOINTS
42 select IRQ_DOMAIN
43 select SPARSE_IRQ
44 select SYSCTL_EXCEPTION_TRACE
45 select HAVE_ARCH_TRACEHOOK
46 select HAVE_PCI
47 select MODULES_USE_ELF_RELA if MODULES
48 select MODULE_SECTIONS if MODULES
49 select THREAD_INFO_IN_TASK
50 select PCI_DOMAINS_GENERIC if PCI
51 select PCI_MSI if PCI
52 select RISCV_TIMER
37 select HAVE_FUTEX_CMPXCHG if FUTEX
38 select HAVE_PERF_EVENTS
39 select HAVE_PERF_REGS
40 select HAVE_PERF_USER_STACK_DUMP
41 select HAVE_SYSCALL_TRACEPOINTS
42 select IRQ_DOMAIN
43 select SPARSE_IRQ
44 select SYSCTL_EXCEPTION_TRACE
45 select HAVE_ARCH_TRACEHOOK
46 select HAVE_PCI
47 select MODULES_USE_ELF_RELA if MODULES
48 select MODULE_SECTIONS if MODULES
49 select THREAD_INFO_IN_TASK
50 select PCI_DOMAINS_GENERIC if PCI
51 select PCI_MSI if PCI
52 select RISCV_TIMER
53 select UACCESS_MEMCPY if !MMU
53 select GENERIC_IRQ_MULTI_HANDLER
54 select GENERIC_ARCH_TOPOLOGY if SMP
55 select ARCH_HAS_PTE_SPECIAL
56 select ARCH_HAS_MMIOWB
57 select HAVE_EBPF_JIT if 64BIT
58 select EDAC_SUPPORT
59 select ARCH_HAS_GIGANTIC_PAGE
60 select ARCH_WANT_HUGE_PMD_SHARE if 64BIT
61 select SPARSEMEM_STATIC if 32BIT
62 select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
54 select GENERIC_IRQ_MULTI_HANDLER
55 select GENERIC_ARCH_TOPOLOGY if SMP
56 select ARCH_HAS_PTE_SPECIAL
57 select ARCH_HAS_MMIOWB
58 select HAVE_EBPF_JIT if 64BIT
59 select EDAC_SUPPORT
60 select ARCH_HAS_GIGANTIC_PAGE
61 select ARCH_WANT_HUGE_PMD_SHARE if 64BIT
62 select SPARSEMEM_STATIC if 32BIT
63 select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
63 select HAVE_ARCH_MMAP_RND_BITS
64 select HAVE_ARCH_MMAP_RND_BITS if MMU
64
65config ARCH_MMAP_RND_BITS_MIN
66 default 18 if 64BIT
67 default 8
68
69# max bits determined by the following formula:
70# VA_BITS - PAGE_SHIFT - 3
71config ARCH_MMAP_RND_BITS_MAX
72 default 24 if 64BIT # SV39 based
73 default 17
74
65
66config ARCH_MMAP_RND_BITS_MIN
67 default 18 if 64BIT
68 default 8
69
70# max bits determined by the following formula:
71# VA_BITS - PAGE_SHIFT - 3
72config ARCH_MMAP_RND_BITS_MAX
73 default 24 if 64BIT # SV39 based
74 default 17
75
76# set if we run in machine mode, cleared if we run in supervisor mode
77config RISCV_M_MODE
78 bool
79 default !MMU
80
81# set if we are running in S-mode and can use SBI calls
82config RISCV_SBI
83 bool
84 depends on !RISCV_M_MODE
85 default y
86
75config MMU
87config MMU
76 def_bool y
88 bool "MMU-based Paged Memory Management Support"
89 default y
90 help
91 Select if you want MMU-based virtualised addressing space
92 support by paged memory management. If unsure, say 'Y'.
77
78config ZONE_DMA32
79 bool
80 default y if 64BIT
81
82config VA_BITS
83 int
84 default 32 if 32BIT
85 default 39 if 64BIT
86
87config PA_BITS
88 int
89 default 34 if 32BIT
90 default 56 if 64BIT
91
92config PAGE_OFFSET
93 hex
94 default 0xC0000000 if 32BIT && MAXPHYSMEM_2GB
93
94config ZONE_DMA32
95 bool
96 default y if 64BIT
97
98config VA_BITS
99 int
100 default 32 if 32BIT
101 default 39 if 64BIT
102
103config PA_BITS
104 int
105 default 34 if 32BIT
106 default 56 if 64BIT
107
108config PAGE_OFFSET
109 hex
110 default 0xC0000000 if 32BIT && MAXPHYSMEM_2GB
111 default 0x80000000 if 64BIT && !MMU
95 default 0xffffffff80000000 if 64BIT && MAXPHYSMEM_2GB
96 default 0xffffffe000000000 if 64BIT && MAXPHYSMEM_128GB
97
98config ARCH_FLATMEM_ENABLE
99 def_bool y
100
101config ARCH_SPARSEMEM_ENABLE
102 def_bool y

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

130
131config GENERIC_CSUM
132 def_bool y
133
134config GENERIC_HWEIGHT
135 def_bool y
136
137config FIX_EARLYCON_MEM
112 default 0xffffffff80000000 if 64BIT && MAXPHYSMEM_2GB
113 default 0xffffffe000000000 if 64BIT && MAXPHYSMEM_128GB
114
115config ARCH_FLATMEM_ENABLE
116 def_bool y
117
118config ARCH_SPARSEMEM_ENABLE
119 def_bool y

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

147
148config GENERIC_CSUM
149 def_bool y
150
151config GENERIC_HWEIGHT
152 def_bool y
153
154config FIX_EARLYCON_MEM
138 def_bool y
155 def_bool CONFIG_MMU
139
140config PGTABLE_LEVELS
141 int
142 default 3 if 64BIT
143 default 2
144
145source "arch/riscv/Kconfig.socs"
146

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

155
156config ARCH_RV32I
157 bool "RV32I"
158 select 32BIT
159 select GENERIC_LIB_ASHLDI3
160 select GENERIC_LIB_ASHRDI3
161 select GENERIC_LIB_LSHRDI3
162 select GENERIC_LIB_UCMPDI2
156
157config PGTABLE_LEVELS
158 int
159 default 3 if 64BIT
160 default 2
161
162source "arch/riscv/Kconfig.socs"
163

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

172
173config ARCH_RV32I
174 bool "RV32I"
175 select 32BIT
176 select GENERIC_LIB_ASHLDI3
177 select GENERIC_LIB_ASHRDI3
178 select GENERIC_LIB_LSHRDI3
179 select GENERIC_LIB_UCMPDI2
180 select MMU
163
164config ARCH_RV64I
165 bool "RV64I"
166 select 64BIT
181
182config ARCH_RV64I
183 bool "RV64I"
184 select 64BIT
167 select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 && GCC_VERSION >= 50000
185 select ARCH_SUPPORTS_INT128 if GCC_VERSION >= 50000
168 select HAVE_FUNCTION_TRACER
169 select HAVE_FUNCTION_GRAPH_TRACER
170 select HAVE_FTRACE_MCOUNT_RECORD
186 select HAVE_FUNCTION_TRACER
187 select HAVE_FUNCTION_GRAPH_TRACER
188 select HAVE_FTRACE_MCOUNT_RECORD
171 select HAVE_DYNAMIC_FTRACE
172 select HAVE_DYNAMIC_FTRACE_WITH_REGS
173 select SWIOTLB
189 select HAVE_DYNAMIC_FTRACE if MMU
190 select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
191 select SWIOTLB if MMU
174
175endchoice
176
177# We must be able to map all physical memory into the kernel, but the compiler
178# is still a bit more efficient when generating code if it's setup in a manner
179# such that it can only map 2GiB of memory.
180choice
181 prompt "Kernel Code Model"

--- 147 unchanged lines hidden ---
192
193endchoice
194
195# We must be able to map all physical memory into the kernel, but the compiler
196# is still a bit more efficient when generating code if it's setup in a manner
197# such that it can only map 2GiB of memory.
198choice
199 prompt "Kernel Code Model"

--- 147 unchanged lines hidden ---