1if ARCH_ARMV8 && ARCH_CPU_64BIT
2    orsource "./aarch64/Kconfig"
3endif
4
5config ARCH_CPU_64BIT
6    bool
7
8config RT_USING_CACHE
9    bool
10    default n
11
12config RT_USING_HW_ATOMIC
13    bool
14    default n
15
16config ARCH_CPU_BIG_ENDIAN
17    bool
18
19config ARCH_ARM_BOOTWITH_FLUSH_CACHE
20    bool
21    default n
22
23config ARCH_CPU_STACK_GROWS_UPWARD
24    bool
25    default n
26
27config RT_USING_CPU_FFS
28    bool
29    default n
30
31config ARCH_MM_MMU
32    bool
33
34config ARCH_MM_MPU
35    bool
36
37config ARCH_ARM
38    bool
39
40config ARCH_ARM_CORTEX_M
41    bool
42    select ARCH_ARM
43
44config ARCH_ARM_CORTEX_R
45    bool
46    select ARCH_ARM
47
48config ARCH_ARM_CORTEX_FPU
49    bool
50
51config ARCH_ARM_CORTEX_SECURE
52    bool
53
54config ARCH_ARM_CORTEX_M0
55    bool
56    select ARCH_ARM_CORTEX_M
57
58config ARCH_ARM_CORTEX_M3
59    bool
60    select ARCH_ARM_CORTEX_M
61    select RT_USING_CPU_FFS
62    select RT_USING_HW_ATOMIC
63
64config ARCH_ARM_MPU
65    bool
66    depends on ARCH_ARM
67    select ARCH_MM_MPU
68
69config ARCH_ARM_CORTEX_M4
70    bool
71    select ARCH_ARM_CORTEX_M
72    select RT_USING_CPU_FFS
73    select RT_USING_HW_ATOMIC
74
75config ARCH_ARM_CORTEX_M7
76    bool
77    select ARCH_ARM_CORTEX_M
78    select RT_USING_CPU_FFS
79    select RT_USING_CACHE
80    select RT_USING_HW_ATOMIC
81
82config ARCH_ARM_CORTEX_M85
83    bool
84    select ARCH_ARM_CORTEX_M
85    select RT_USING_CPU_FFS
86    select RT_USING_HW_ATOMIC
87
88config ARCH_ARM_CORTEX_M23
89    bool
90    select ARCH_ARM_CORTEX_M
91    select RT_USING_HW_ATOMIC
92
93config ARCH_ARM_CORTEX_M33
94    bool
95    select ARCH_ARM_CORTEX_M
96    select RT_USING_CPU_FFS
97    select RT_USING_HW_ATOMIC
98
99config ARCH_ARM_CORTEX_R
100    bool
101    select ARCH_ARM
102    select RT_USING_HW_ATOMIC
103
104config ARCH_ARM_CORTEX_R52
105    bool
106    select ARCH_ARM_CORTEX_R
107
108config ARCH_ARM_MMU
109    bool
110    select RT_USING_CACHE
111    select ARCH_MM_MMU
112    depends on ARCH_ARM
113
114if RT_USING_SMART
115    config KERNEL_VADDR_START
116        hex "The virtural address of kernel start"
117        default 0xffff000000000000 if ARCH_ARMV8
118        default 0xc0000000 if ARCH_ARM
119        default 0xffffffc000000000 if ARCH_RISCV && ARCH_REMAP_KERNEL
120        default 0x80000000 if ARCH_RISCV
121        depends on ARCH_MM_MMU
122
123    config RT_IOREMAP_LATE
124        bool "Support to create IO mapping in the kernel address space after system initlalization."
125        default n
126        depends on ARCH_ARM_CORTEX_A
127        depends on ARCH_MM_MMU
128endif
129
130config ARCH_ARM_ARM9
131    bool
132    select ARCH_ARM
133
134config ARCH_ARM_ARM11
135    bool
136    select ARCH_ARM
137
138config ARCH_ARM_CORTEX_A
139    bool
140    select ARCH_ARM
141    select ARCH_ARM_MMU
142    select RT_USING_CPU_FFS
143    select RT_USING_HW_ATOMIC
144
145    if ARCH_ARM_CORTEX_A
146        config RT_SMP_AUTO_BOOT
147            bool
148            default n
149
150        config RT_USING_GIC_V2
151            bool
152            default n
153
154        config RT_USING_GIC_V3
155            bool
156            default n
157
158        config RT_NO_USING_GIC
159            bool
160            default y if !RT_USING_GIC_V2 && !RT_USING_GIC_V3
161    endif
162
163config ARCH_ARM_CORTEX_A5
164    bool
165    select ARCH_ARM_CORTEX_A
166
167config ARCH_ARM_CORTEX_A7
168    bool
169    select ARCH_ARM_CORTEX_A
170
171config ARCH_ARM_CORTEX_A8
172    bool
173    select ARCH_ARM_CORTEX_A
174
175config ARCH_ARM_CORTEX_A9
176    bool
177    select ARCH_ARM_CORTEX_A
178
179config ARCH_ARM_CORTEX_A55
180    bool
181    select ARCH_ARM_CORTEX_A
182
183config ARCH_ARM_SECURE_MODE
184    bool "Running in secure mode [ARM Cortex-A]"
185    default n
186    depends on ARCH_ARM_CORTEX_A
187
188config RT_BACKTRACE_FUNCTION_NAME
189    bool "To show function name when backtrace."
190    default n
191    depends on ARCH_ARM_CORTEX_A
192
193config ARCH_ARMV8
194    bool
195    select ARCH_ARM
196    select ARCH_ARM_MMU
197    select RT_USING_CPU_FFS
198    select ARCH_USING_ASID
199    select ARCH_USING_IRQ_CTX_LIST
200
201config ARCH_MIPS
202    bool
203
204config ARCH_MIPS64
205    bool
206    select ARCH_CPU_64BIT
207
208config ARCH_MIPS_XBURST
209    bool
210    select ARCH_MIPS
211
212config ARCH_ANDES
213    bool
214
215config ARCH_CSKY
216    bool
217
218config ARCH_POWERPC
219    bool
220
221config ARCH_RISCV
222    bool
223
224config ARCH_RISCV_FPU
225    bool
226
227config ARCH_RISCV_VECTOR
228    bool
229
230    if ARCH_RISCV_VECTOR
231        choice
232            prompt "RISCV Vector Vlen"
233            default ARCH_VECTOR_VLEN_128
234
235            config ARCH_VECTOR_VLEN_128
236                bool "128"
237            config ARCH_VECTOR_VLEN_256
238                bool "256"
239        endchoice
240    endif
241
242config ARCH_RISCV_FPU_S
243    select ARCH_RISCV_FPU
244    bool
245
246config ARCH_RISCV_FPU_D
247    select ARCH_RISCV_FPU
248    bool
249
250config ARCH_RISCV32
251    select ARCH_RISCV
252    bool
253
254config ARCH_RISCV64
255    select ARCH_RISCV
256    select ARCH_CPU_64BIT
257    bool
258
259if ARCH_RISCV64
260    config ARCH_USING_NEW_CTX_SWITCH
261        bool
262        default y
263
264    config ARCH_USING_RISCV_COMMON64
265        bool
266        depends on ARCH_RISCV64
267        select RT_USING_CPUTIME
268        select ARCH_USING_NEW_CTX_SWITCH
269        help
270            Using the common64 implementation under ./libcpu/risc-v
271endif
272
273config ARCH_REMAP_KERNEL
274    bool
275    depends on RT_USING_SMART
276    help
277        Remapping kernel image to high virtual address region
278
279config ARCH_USING_ASID
280    bool
281    depends on RT_USING_SMART
282    help
283        Using ASID support from architecture
284
285config ARCH_IA32
286    bool
287
288config ARCH_TIDSP
289    bool
290
291config ARCH_TIDSP_C28X
292    bool
293    select ARCH_TIDSP
294    select ARCH_CPU_STACK_GROWS_UPWARD
295
296config ARCH_HOST_SIMULATOR
297    bool
298
299config ARCH_CPU_STACK_GROWS_UPWARD
300    bool
301    default n
302
303config ARCH_USING_HW_THREAD_SELF
304    bool
305    default n
306
307config ARCH_USING_IRQ_CTX_LIST
308    bool
309    default n
310