summaryrefslogtreecommitdiff
path: root/libcpu/Kconfig
blob: 1185c495214987c7027407e43b7ad268f6976ee3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
if ARCH_ARMV8 && ARCH_CPU_64BIT
    orsource "./aarch64/Kconfig"
endif

config ARCH_CPU_64BIT
    bool

config RT_USING_CACHE
    bool
    default n

config RT_USING_HW_ATOMIC
    bool
    default n

config ARCH_USING_HW_ATOMIC_8
    bool
    default n

config ARCH_USING_HW_ATOMIC_16
    bool
    default n

config ARCH_CPU_BIG_ENDIAN
    bool

config ARCH_ARM_BOOTWITH_FLUSH_CACHE
    bool
    default n

config ARCH_CPU_STACK_GROWS_UPWARD
    bool
    default n

config RT_USING_CPU_FFS
    bool
    default n

config ARCH_MM_MMU
    bool

config ARCH_MM_MPU
    bool

config ARCH_ARM
    bool

config ARCH_ARM_CORTEX_M
    bool
    select ARCH_ARM

config ARCH_ARM_CORTEX_R
    bool
    select ARCH_ARM

config ARCH_ARM_CORTEX_FPU
    bool

config ARCH_ARM_CORTEX_SECURE
    bool

config ARCH_ARM_CORTEX_M0
    bool
    select ARCH_ARM_CORTEX_M

config ARCH_ARM_CORTEX_M3
    bool
    select ARCH_ARM_CORTEX_M
    select RT_USING_CPU_FFS
    select RT_USING_HW_ATOMIC
    select ARCH_USING_HW_ATOMIC_8
    select ARCH_USING_HW_ATOMIC_16

config ARCH_ARM_MPU
    bool
    depends on ARCH_ARM
    select ARCH_MM_MPU

config ARCH_ARM_CORTEX_M4
    bool
    select ARCH_ARM_CORTEX_M
    select RT_USING_CPU_FFS
    select RT_USING_HW_ATOMIC
    select ARCH_USING_HW_ATOMIC_8
    select ARCH_USING_HW_ATOMIC_16

config ARCH_ARM_CORTEX_M7
    bool
    select ARCH_ARM_CORTEX_M
    select RT_USING_CPU_FFS
    select RT_USING_CACHE
    select RT_USING_HW_ATOMIC
    select ARCH_USING_HW_ATOMIC_8
    select ARCH_USING_HW_ATOMIC_16

config ARCH_ARM_CORTEX_M85
    bool
    select ARCH_ARM_CORTEX_M
    select RT_USING_CPU_FFS
    select RT_USING_HW_ATOMIC
    select ARCH_USING_HW_ATOMIC_8
    select ARCH_USING_HW_ATOMIC_16

config ARCH_ARM_CORTEX_M23
    bool
    select ARCH_ARM_CORTEX_M
    select RT_USING_HW_ATOMIC
    select ARCH_USING_HW_ATOMIC_8
    select ARCH_USING_HW_ATOMIC_16

config ARCH_ARM_CORTEX_M33
    bool
    select ARCH_ARM_CORTEX_M
    select RT_USING_CPU_FFS
    select RT_USING_HW_ATOMIC
    select ARCH_USING_HW_ATOMIC_8
    select ARCH_USING_HW_ATOMIC_16

config ARCH_ARM_CORTEX_R
    bool
    select ARCH_ARM
    select RT_USING_HW_ATOMIC
    select ARCH_USING_HW_ATOMIC_8
    select ARCH_USING_HW_ATOMIC_16

config ARCH_ARM_CORTEX_R52
    bool
    select ARCH_ARM_CORTEX_R

config ARCH_ARM_MMU
    bool
    select RT_USING_CACHE
    select ARCH_MM_MMU
    depends on ARCH_ARM

if RT_USING_SMART
    config KERNEL_VADDR_START
        hex "The virtural address of kernel start"
        default 0xffff000000000000 if ARCH_ARMV8
        default 0xc0000000 if ARCH_ARM
        default 0xffffffc000000000 if ARCH_RISCV && ARCH_REMAP_KERNEL
        default 0x80000000 if ARCH_RISCV
        depends on ARCH_MM_MMU

    config RT_IOREMAP_LATE
        bool "Support to create IO mapping in the kernel address space after system initlalization."
        default n
        depends on ARCH_ARM_CORTEX_A
        depends on ARCH_MM_MMU
endif

config ARCH_ARM_ARM9
    bool
    select ARCH_ARM

config ARCH_ARM_ARM11
    bool
    select ARCH_ARM

config ARCH_ARM_CORTEX_A
    bool
    select ARCH_ARM
    select ARCH_ARM_MMU
    select RT_USING_CPU_FFS
    select RT_USING_HW_ATOMIC
    select ARCH_USING_HW_ATOMIC_8
    select ARCH_USING_HW_ATOMIC_16

    if ARCH_ARM_CORTEX_A
        config RT_SMP_AUTO_BOOT
            bool
            default n

        config RT_USING_GIC_V2
            bool
            default n

        config RT_USING_GIC_V3
            bool
            default n

        config RT_NO_USING_GIC
            bool
            default y if !RT_USING_GIC_V2 && !RT_USING_GIC_V3
    endif

config ARCH_ARM_CORTEX_A5
    bool
    select ARCH_ARM_CORTEX_A

config ARCH_ARM_CORTEX_A7
    bool
    select ARCH_ARM_CORTEX_A

config ARCH_ARM_CORTEX_A8
    bool
    select ARCH_ARM_CORTEX_A

config ARCH_ARM_CORTEX_A9
    bool
    select ARCH_ARM_CORTEX_A

config ARCH_ARM_CORTEX_A55
    bool
    select ARCH_ARM_CORTEX_A

config ARCH_ARM_SECURE_MODE
    bool "Running in secure mode [ARM Cortex-A]"
    default n
    depends on ARCH_ARM_CORTEX_A

config RT_BACKTRACE_FUNCTION_NAME
    bool "To show function name when backtrace."
    default n
    depends on ARCH_ARM_CORTEX_A

config ARCH_ARMV8
    bool
    select ARCH_ARM
    select ARCH_ARM_MMU
    select RT_USING_CPU_FFS
    select ARCH_USING_ASID
    select ARCH_USING_IRQ_CTX_LIST

config ARCH_MIPS
    bool

config ARCH_MIPS64
    bool
    select ARCH_CPU_64BIT

config ARCH_MIPS_XBURST
    bool
    select ARCH_MIPS

config ARCH_ANDES
    bool

config ARCH_CSKY
    bool

config ARCH_POWERPC
    bool

config ARCH_RISCV
    bool

config ARCH_RISCV_FPU
    bool

config ARCH_RISCV_VECTOR
    bool

    if ARCH_RISCV_VECTOR
        choice ARCH_VECTOR_VLEN
            prompt "RISCV Vector Vlen"
            default ARCH_VECTOR_VLEN_128

            config ARCH_VECTOR_VLEN_128
                bool "128"
            config ARCH_VECTOR_VLEN_256
                bool "256"
            config ARCH_VECTOR_VLEN_512
                bool "512"
            config ARCH_VECTOR_VLEN_1024
                bool "1024"
            config ARCH_VECTOR_VLEN_2048
                bool "2048"
            config ARCH_VECTOR_VLEN_4096
                bool "4096"
        endchoice
    endif

config ARCH_RISCV_FPU_S
    select ARCH_RISCV_FPU
    bool

config ARCH_RISCV_FPU_D
    select ARCH_RISCV_FPU
    bool

config ARCH_RISCV32
    select ARCH_RISCV
    bool

config ARCH_RISCV64
    select ARCH_RISCV
    select ARCH_CPU_64BIT
    bool

if ARCH_RISCV64
    config ARCH_USING_NEW_CTX_SWITCH
        bool
        default y

    config ARCH_USING_RISCV_COMMON64
        bool
        depends on ARCH_RISCV64
        select RT_USING_CLOCK_TIME
        select ARCH_USING_NEW_CTX_SWITCH
        help
            Using the common64 implementation under ./libcpu/risc-v
endif

config ARCH_REMAP_KERNEL
    bool
    depends on RT_USING_SMART
    help
        Remapping kernel image to high virtual address region

config ARCH_USING_ASID
    bool
    depends on RT_USING_SMART
    help
        Using ASID support from architecture

config ARCH_IA32
    bool

config ARCH_TIDSP
    bool

config ARCH_TIDSP_C28X
    bool
    select ARCH_TIDSP
    select ARCH_CPU_STACK_GROWS_UPWARD

config ARCH_HOST_SIMULATOR
    bool

config ARCH_CPU_STACK_GROWS_UPWARD
    bool
    default n

config ARCH_USING_HW_THREAD_SELF
    bool
    default n

config ARCH_USING_IRQ_CTX_LIST
    bool
    default n