blob: d70c7e3a5a88373fc7a98c7bb6ac3be511a23a0e [file] [log] [blame]
Bin Meng6b697752018-09-26 06:55:06 -07001menu "RISC-V architecture"
Rick Chen64d4ead2017-12-26 13:55:52 +08002 depends on RISCV
3
4config SYS_ARCH
5 default "riscv"
6
7choice
8 prompt "Target select"
9 optional
10
Randolph6c9c5ba2023-09-25 17:24:51 +080011config TARGET_ANDES_AE350
12 bool "Support Andes ae350"
Rick Chen64d4ead2017-12-26 13:55:52 +080013
Padmarao Begari4216f342019-05-28 15:47:51 +053014config TARGET_MICROCHIP_ICICLE
15 bool "Support Microchip PolarFire-SoC Icicle Board"
16
Kongyang Liub64fc0e2024-01-28 15:05:25 +080017config TARGET_MILKV_DUO
18 bool "Support Milk-v Duo Board"
19
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050020config TARGET_OPENPITON_RISCV64
21 bool "Support RISC-V cores on OpenPiton SoC"
22
Bin Meng8a8694d2018-09-26 06:55:21 -070023config TARGET_QEMU_VIRT
24 bool "Support QEMU Virt Board"
25
Bin Menge9ead4a2021-03-17 11:10:58 +080026config TARGET_SIFIVE_UNLEASHED
27 bool "Support SiFive Unleashed Board"
Anup Patel7a167f22019-02-25 08:15:19 +000028
Green Wan2e5da522021-05-27 06:52:13 -070029config TARGET_SIFIVE_UNMATCHED
30 bool "Support SiFive Unmatched Board"
Tom Rini3ef67ae2021-08-26 11:47:59 -040031 select SYS_CACHE_SHIFT_6
Green Wan2e5da522021-05-27 06:52:13 -070032
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050033config TARGET_SIPEED_MAIX
34 bool "Support Sipeed Maix Board"
35 select SYS_CACHE_SHIFT_6
36
Yanhong Wang38678792023-03-29 11:42:20 +080037config TARGET_STARFIVE_VISIONFIVE2
38 bool "Support StarFive VisionFive2 Board"
Heinrich Schuchardt03a885b2023-09-07 13:21:28 +020039 select BOARD_LATE_INIT
Yanhong Wang38678792023-03-29 11:42:20 +080040
Yixun Lan5dfa9012023-07-08 19:24:32 +080041config TARGET_TH1520_LPI4A
42 bool "Support Sipeed's TH1520 Lichee PI 4A Board"
43 select SYS_CACHE_SHIFT_6
44
Michal Simek962c10a2023-11-06 12:56:47 +010045config TARGET_XILINX_MBV
46 bool "Support AMD/Xilinx MicroBlaze V"
47
Rick Chen64d4ead2017-12-26 13:55:52 +080048endchoice
49
Trevor Woernerba64b8b2019-05-03 09:40:59 -040050config SYS_ICACHE_OFF
51 bool "Do not enable icache"
Trevor Woernerba64b8b2019-05-03 09:40:59 -040052 help
53 Do not enable instruction cache in U-Boot.
54
Trevor Woerner43ec7e02019-05-03 09:41:00 -040055config SPL_SYS_ICACHE_OFF
56 bool "Do not enable icache in SPL"
57 depends on SPL
58 default SYS_ICACHE_OFF
59 help
60 Do not enable instruction cache in SPL.
61
Trevor Woernerba64b8b2019-05-03 09:40:59 -040062config SYS_DCACHE_OFF
63 bool "Do not enable dcache"
Trevor Woernerba64b8b2019-05-03 09:40:59 -040064 help
65 Do not enable data cache in U-Boot.
66
Trevor Woerner43ec7e02019-05-03 09:41:00 -040067config SPL_SYS_DCACHE_OFF
68 bool "Do not enable dcache in SPL"
69 depends on SPL
70 default SYS_DCACHE_OFF
71 help
72 Do not enable data cache in SPL.
73
Shengyu Qud1a32542023-08-09 21:11:31 +080074config SPL_ZERO_MEM_BEFORE_USE
75 bool "Zero memory before use"
76 depends on SPL
Shengyu Qud1a32542023-08-09 21:11:31 +080077 help
78 Zero stack/GD/malloc area in SPL before using them, this is needed for
79 Sifive core devices that uses L2 cache to store SPL.
80
Rick Chen842d5802018-11-07 09:34:06 +080081# board-specific options below
Leo Yu-Chi Liang249ce732023-02-14 20:42:49 +080082source "board/AndesTech/ae350/Kconfig"
Bin Meng8a8694d2018-09-26 06:55:21 -070083source "board/emulation/qemu-riscv/Kconfig"
Padmarao Begari4216f342019-05-28 15:47:51 +053084source "board/microchip/mpfs_icicle/Kconfig"
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050085source "board/openpiton/riscv64/Kconfig"
Bin Menge9ead4a2021-03-17 11:10:58 +080086source "board/sifive/unleashed/Kconfig"
Green Wan2e5da522021-05-27 06:52:13 -070087source "board/sifive/unmatched/Kconfig"
Sean Andersonedc32ab2020-06-24 06:41:25 -040088source "board/sipeed/maix/Kconfig"
Kongyang Liub64fc0e2024-01-28 15:05:25 +080089source "board/sophgo/milkv_duo/Kconfig"
Yanhong Wang38678792023-03-29 11:42:20 +080090source "board/starfive/visionfive2/Kconfig"
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050091source "board/thead/th1520_lpi4a/Kconfig"
Michal Simek962c10a2023-11-06 12:56:47 +010092source "board/xilinx/mbv/Kconfig"
Rick Chen64d4ead2017-12-26 13:55:52 +080093
Rick Chen842d5802018-11-07 09:34:06 +080094# platform-specific options below
Leo Yu-Chi Liang249ce732023-02-14 20:42:49 +080095source "arch/riscv/cpu/andesv5/Kconfig"
Kongyang Liuf7526742024-03-10 00:54:56 +080096source "arch/riscv/cpu/cv1800b/Kconfig"
Pragnesh Patel25269c02020-05-29 11:33:34 +053097source "arch/riscv/cpu/fu540/Kconfig"
Green Wan7f337432021-05-27 06:52:07 -070098source "arch/riscv/cpu/fu740/Kconfig"
Anup Patel1240cd62019-02-25 08:14:10 +000099source "arch/riscv/cpu/generic/Kconfig"
Yanhong Wang38678792023-03-29 11:42:20 +0800100source "arch/riscv/cpu/jh7110/Kconfig"
Rick Chen842d5802018-11-07 09:34:06 +0800101
102# architecture-specific options below
103
Rick Chen64d4ead2017-12-26 13:55:52 +0800104choice
Lukas Auer54ebfe72018-11-22 11:26:12 +0100105 prompt "Base ISA"
106 default ARCH_RV32I
Rick Chen64d4ead2017-12-26 13:55:52 +0800107
Lukas Auer54ebfe72018-11-22 11:26:12 +0100108config ARCH_RV32I
109 bool "RV32I"
Rick Chen64d4ead2017-12-26 13:55:52 +0800110 select 32BIT
111 help
Lukas Auer54ebfe72018-11-22 11:26:12 +0100112 Choose this option to target the RV32I base integer instruction set.
Rick Chen64d4ead2017-12-26 13:55:52 +0800113
Lukas Auer54ebfe72018-11-22 11:26:12 +0100114config ARCH_RV64I
115 bool "RV64I"
Rick Chen64d4ead2017-12-26 13:55:52 +0800116 select 64BIT
Lukas Auer7ab1df02018-11-22 11:26:13 +0100117 select PHYS_64BIT
Rick Chen64d4ead2017-12-26 13:55:52 +0800118 help
Lukas Auer54ebfe72018-11-22 11:26:12 +0100119 Choose this option to target the RV64I base integer instruction set.
Rick Chen64d4ead2017-12-26 13:55:52 +0800120
121endchoice
122
Ben Dooks8a813c12023-09-05 13:12:53 +0100123config FRAMEPOINTER
124 bool "Build with frame pointer for stack unwinding"
125 help
126 Choose this option to use the frame pointer so the stack can be
127 unwound if needed. This is useful for tracing where faults came
128 from as the source may be several functions back
129
130 If you say Y here, then the code size will be increased due to
131 having to store the fp.
132
133config SPL_FRAMEPOINTER
134 bool "Build SPL with frame pointer for stack unwinding"
135 help
136 Choose this option to use the frame pointer so the stack can be
137 unwound if needed. This is useful for tracing where faults came
138 from as the source may be several functions back
139
140 If you say Y here, then the code size will be increased due to
141 having to store the fp.
142
Lukas Auerecc5d832018-12-12 06:12:23 -0800143choice
144 prompt "Code Model"
145 default CMODEL_MEDLOW
146
147config CMODEL_MEDLOW
148 bool "medium low code model"
149 help
150 U-Boot and its statically defined symbols must lie within a single 2 GiB
151 address range and must lie between absolute addresses -2 GiB and +2 GiB.
152
153config CMODEL_MEDANY
154 bool "medium any code model"
155 help
156 U-Boot and its statically defined symbols must be within any single 2 GiB
157 address range.
158
159endchoice
160
Anup Patel27881772018-12-12 06:12:29 -0800161choice
162 prompt "Run Mode"
163 default RISCV_MMODE
164
165config RISCV_MMODE
166 bool "Machine"
167 help
168 Choose this option to build U-Boot for RISC-V M-Mode.
169
170config RISCV_SMODE
171 bool "Supervisor"
Heinrich Schuchardt20964b62023-09-23 01:35:26 +0200172 imply DEBUG_UART
Anup Patel27881772018-12-12 06:12:29 -0800173 help
174 Choose this option to build U-Boot for RISC-V S-Mode.
175
176endchoice
177
Lukas Auer61346592019-08-21 21:14:43 +0200178choice
179 prompt "SPL Run Mode"
180 default SPL_RISCV_MMODE
181 depends on SPL
182
183config SPL_RISCV_MMODE
184 bool "Machine"
185 help
186 Choose this option to build U-Boot SPL for RISC-V M-Mode.
187
188config SPL_RISCV_SMODE
189 bool "Supervisor"
190 help
191 Choose this option to build U-Boot SPL for RISC-V S-Mode.
192
193endchoice
194
Lukas Auer002012f2018-11-22 11:26:14 +0100195config RISCV_ISA_C
196 bool "Emit compressed instructions"
197 default y
198 help
199 Adds "C" to the ISA subsets that the toolchain is allowed to emit
200 when building U-Boot, which results in compressed instructions in the
201 U-Boot binary.
202
Heinrich Schuchardtc66c9502022-10-12 14:59:51 +0200203config RISCV_ISA_F
204 bool "Standard extension for Single-Precision Floating Point"
205 default y
206 help
207 Adds "F" to the ISA string passed to the compiler.
208
209config RISCV_ISA_D
210 bool "Standard extension for Double-Precision Floating Point"
211 depends on RISCV_ISA_F
212 default y
213 help
214 Adds "D" to the ISA string passed to the compiler and changes the
215 riscv32 ABI from ilp32 to ilp32d and the riscv64 ABI from lp64 to
216 lp64d.
217
Yu Chien Peter Lin60814cb2023-08-09 18:49:30 +0800218config RISCV_ISA_ZBB
219 bool "Zbb extension support for bit manipulation instructions"
220 help
221 Adds ZBB extension (basic bit manipulation) to the ISA subsets
222 that the toolchain is allowed to emit when building U-Boot.
223 The Zbb extension provides instructions to accelerate a number
224 of bit-specific operations (count bit population, sign extending,
225 bitrotation, etc) and enables optimized string routines.
226
227menu "Use assembly optimized implementation of string routines"
228
229config USE_ARCH_STRLEN
230 bool "Use an assembly optimized implementation of strlen"
231 default y
232 depends on RISCV_ISA_ZBB
233 help
234 Enable the generation of an optimized version of strlen using
235 Zbb extension.
236
237config SPL_USE_ARCH_STRLEN
238 bool "Use an assembly optimized implementation of strlen for SPL"
239 default y if USE_ARCH_STRLEN
240 depends on RISCV_ISA_ZBB
241 depends on SPL
242 help
243 Enable the generation of an optimized version of strlen using
244 Zbb extension.
245
246config TPL_USE_ARCH_STRLEN
247 bool "Use an assembly optimized implementation of strlen for TPL"
248 default y if USE_ARCH_STRLEN
249 depends on RISCV_ISA_ZBB
250 depends on TPL
251 help
252 Enable the generation of an optimized version of strlen using
253 Zbb extension.
254
255config USE_ARCH_STRCMP
256 bool "Use an assembly optimized implementation of strcmp"
257 default y
258 depends on RISCV_ISA_ZBB
259 help
260 Enable the generation of an optimized version of strcmp using
261 Zbb extension.
262
263config SPL_USE_ARCH_STRCMP
264 bool "Use an assembly optimized implementation of strcmp for SPL"
265 default y if USE_ARCH_STRCMP
266 depends on RISCV_ISA_ZBB
267 depends on SPL
268 help
269 Enable the generation of an optimized version of strcmp using
270 Zbb extension.
271
272config TPL_USE_ARCH_STRCMP
273 bool "Use an assembly optimized implementation of strcmp for TPL"
274 default y if USE_ARCH_STRCMP
275 depends on RISCV_ISA_ZBB
276 depends on TPL
277 help
278 Enable the generation of an optimized version of strcmp using
279 Zbb extension.
280
281config USE_ARCH_STRNCMP
282 bool "Use an assembly optimized implementation of strncmp"
283 default y
284 depends on RISCV_ISA_ZBB
285 help
286 Enable the generation of an optimized version of strncmp using
287 Zbb extension.
288
289config SPL_USE_ARCH_STRNCMP
290 bool "Use an assembly optimized implementation of strncmp for SPL"
291 default y if USE_ARCH_STRNCMP
292 depends on RISCV_ISA_ZBB
293 depends on SPL
294 help
295 Enable the generation of an optimized version of strncmp using
296 Zbb extension.
297
298config TPL_USE_ARCH_STRNCMP
299 bool "Use an assembly optimized implementation of strncmp for TPL"
300 default y if USE_ARCH_STRNCMP
301 depends on RISCV_ISA_ZBB
302 depends on TPL
303 help
304 Enable the generation of an optimized version of strncmp using
305 Zbb extension.
306
307endmenu
308
Lukas Auer002012f2018-11-22 11:26:14 +0100309config RISCV_ISA_A
310 def_bool y
311
Padmarao Begaria235d432021-01-15 08:20:35 +0530312config DMA_ADDR_T_64BIT
313 bool
314 default y if 64BIT
315
Bin Mengb5f03722023-06-21 23:11:46 +0800316config RISCV_ACLINT
Bin Mengb6ee5e12018-12-12 06:12:30 -0800317 bool
Bin Meng614b1d82021-05-11 20:04:12 +0800318 depends on RISCV_MMODE
Bin Meng08b8d262023-06-21 23:11:45 +0800319 select REGMAP
320 select SYSCON
Bin Meng614b1d82021-05-11 20:04:12 +0800321 help
Bin Mengb5f03722023-06-21 23:11:46 +0800322 The RISC-V ACLINT block holds memory-mapped control and status registers
Bin Meng614b1d82021-05-11 20:04:12 +0800323 associated with software and timer interrupts.
324
Bin Mengb5f03722023-06-21 23:11:46 +0800325config SPL_RISCV_ACLINT
Bin Meng614b1d82021-05-11 20:04:12 +0800326 bool
327 depends on SPL_RISCV_MMODE
Bin Meng08b8d262023-06-21 23:11:45 +0800328 select SPL_REGMAP
329 select SPL_SYSCON
Bin Mengb6ee5e12018-12-12 06:12:30 -0800330 help
Bin Mengb5f03722023-06-21 23:11:46 +0800331 The RISC-V ACLINT block holds memory-mapped control and status registers
Bin Mengb6ee5e12018-12-12 06:12:30 -0800332 associated with software and timer interrupts.
333
Zong Lic39544c2021-09-01 15:01:41 +0800334config SIFIVE_CACHE
335 bool
336 help
337 This enables the operations to configure SiFive cache
338
Yu Chien Peter Lin739cd6f2022-10-25 23:03:50 +0800339config ANDES_PLICSW
Rick Chen6df4ed02019-04-02 15:56:39 +0800340 bool
Lukas Auer61346592019-08-21 21:14:43 +0200341 depends on RISCV_MMODE || SPL_RISCV_MMODE
Rick Chen6df4ed02019-04-02 15:56:39 +0800342 select REGMAP
343 select SYSCON
Lukas Auer61346592019-08-21 21:14:43 +0200344 select SPL_REGMAP if SPL
345 select SPL_SYSCON if SPL
Rick Chen6df4ed02019-04-02 15:56:39 +0800346 help
Yu Chien Peter Lin739cd6f2022-10-25 23:03:50 +0800347 The Andes PLICSW block holds memory-mapped claim and pending
348 registers associated with software interrupt.
Rick Chen6df4ed02019-04-02 15:56:39 +0800349
Lukas Auer83d573d2019-03-17 19:28:32 +0100350config SMP
351 bool "Symmetric Multi-Processing"
Bin Meng49975222020-04-16 08:09:31 -0700352 depends on SBI_V01 || !RISCV_SMODE
Lukas Auer83d573d2019-03-17 19:28:32 +0100353 help
354 This enables support for systems with more than one CPU. If
355 you say N here, U-Boot will run on single and multiprocessor
356 machines, but will use only one CPU of a multiprocessor
357 machine. If you say Y here, U-Boot will run on many, but not
358 all, single processor machines.
359
Bin Mengb161f902020-04-16 08:09:30 -0700360config SPL_SMP
361 bool "Symmetric Multi-Processing in SPL"
362 depends on SPL && SPL_RISCV_MMODE
363 default y
364 help
365 This enables support for systems with more than one CPU in SPL.
366 If you say N here, U-Boot SPL will run on single and multiprocessor
367 machines, but will use only one CPU of a multiprocessor
368 machine. If you say Y here, U-Boot SPL will run on many, but not
369 all, single processor machines.
370
Lukas Auer83d573d2019-03-17 19:28:32 +0100371config NR_CPUS
372 int "Maximum number of CPUs (2-32)"
373 range 2 32
Bin Mengb161f902020-04-16 08:09:30 -0700374 depends on SMP || SPL_SMP
Lukas Auer83d573d2019-03-17 19:28:32 +0100375 default 8
376 help
377 On multiprocessor machines, U-Boot sets up a stack for each CPU.
378 Stack memory is pre-allocated. U-Boot must therefore know the
379 maximum number of CPUs that may be present.
380
Bin Mengee3bcd02020-03-09 19:35:28 -0700381config SBI
382 bool
383 default y if RISCV_SMODE || SPL_RISCV_SMODE
384
Bin Menga75325e2020-04-16 08:09:32 -0700385choice
386 prompt "SBI support"
Bin Meng3aecc4b2020-04-16 08:09:33 -0700387 default SBI_V02
Bin Menga75325e2020-04-16 08:09:32 -0700388
Bin Meng887d8092020-03-09 19:35:30 -0700389config SBI_V01
390 bool "SBI v0.1 support"
Bin Meng887d8092020-03-09 19:35:30 -0700391 depends on SBI
392 help
393 This config allows kernel to use SBI v0.1 APIs. This will be
394 deprecated in future once legacy M-mode software are no longer in use.
395
Bin Menga75325e2020-04-16 08:09:32 -0700396config SBI_V02
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100397 bool "SBI v0.2 or later support"
Bin Menga75325e2020-04-16 08:09:32 -0700398 depends on SBI
399 help
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100400 The SBI specification introduced the concept of extensions in version
401 v0.2. With this configuration option U-Boot can detect and use SBI
402 extensions. With the HSM extension introduced in SBI 0.2, only a
403 single hart needs to boot and enter the operating system. The booting
404 hart can bring up secondary harts one by one afterwards.
Bin Menga75325e2020-04-16 08:09:32 -0700405
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100406 Choose this option if OpenSBI release v0.7 or above is used together
Bin Menga75325e2020-04-16 08:09:32 -0700407 with U-Boot.
408
409endchoice
410
Lukas Auere79178b2019-03-17 19:28:34 +0100411config SBI_IPI
412 bool
Bin Mengee3bcd02020-03-09 19:35:28 -0700413 depends on SBI
Lukas Auer61346592019-08-21 21:14:43 +0200414 default y if RISCV_SMODE || SPL_RISCV_SMODE
Lukas Auere79178b2019-03-17 19:28:34 +0100415 depends on SMP
416
Rick Chene5e6c362019-04-30 13:49:33 +0800417config XIP
418 bool "XIP mode"
419 help
420 XIP (eXecute In Place) is a method for executing code directly
421 from a NOR flash memory without copying the code to ram.
422 Say yes here if U-Boot boots from flash directly.
423
Nikita Shubin7e5e0292022-09-02 11:47:39 +0300424config SPL_XIP
425 bool "Enable XIP mode for SPL"
426 help
427 If SPL starts in read-only memory (XIP for example) then we shouldn't
428 rely on lock variables (for example hart_lottery and available_harts_lock),
429 this affects only SPL, other stages should proceed as non-XIP.
430
Rick Chen9c4d5c12022-09-21 14:34:54 +0800431config AVAILABLE_HARTS
432 bool "Send IPI by available harts"
433 default y
434 help
435 By default, IPI sending mechanism will depend on available_harts.
436 If disable this, it will send IPI by CPUs node numbers of device tree.
437
Sean Andersone8b46a12019-12-25 00:27:44 -0500438config SHOW_REGS
439 bool "Show registers on unhandled exception"
440
Sean Anderson7f4b6662020-06-24 06:41:19 -0400441config RISCV_PRIV_1_9
442 bool "Use version 1.9 of the RISC-V priviledged specification"
443 help
444 Older versions of the RISC-V priviledged specification had
445 separate counter enable CSRs for each privilege mode. Writing
446 to the unified mcounteren CSR on a processor implementing the
447 old specification will result in an illegal instruction
448 exception. In addition to counter CSR changes, the way virtual
449 memory is configured was also changed.
450
Lukas Auera3596652019-03-17 19:28:37 +0100451config STACK_SIZE_SHIFT
452 int
Lukas Auer03813702019-10-20 20:53:47 +0200453 default 14
Lukas Auera3596652019-03-17 19:28:37 +0100454
Bin Meng2bdcd052020-06-25 18:16:08 -0700455config OF_BOARD_FIXUP
Sean Anderson584a5ee2020-09-05 09:22:11 -0400456 default y if OF_SEPARATE && RISCV_SMODE
Bin Meng2bdcd052020-06-25 18:16:08 -0700457
Bin Mengce64bd32021-05-13 16:46:18 +0800458menu "Use assembly optimized implementation of memory routines"
459
Heinrich Schuchardt23caf662021-03-27 12:37:04 +0100460config USE_ARCH_MEMCPY
461 bool "Use an assembly optimized implementation of memcpy"
462 default y
463 help
464 Enable the generation of an optimized version of memcpy.
465 Such an implementation may be faster under some conditions
466 but may increase the binary size.
467
468config SPL_USE_ARCH_MEMCPY
469 bool "Use an assembly optimized implementation of memcpy for SPL"
470 default y if USE_ARCH_MEMCPY
471 depends on SPL
472 help
473 Enable the generation of an optimized version of memcpy.
474 Such an implementation may be faster under some conditions
475 but may increase the binary size.
476
477config TPL_USE_ARCH_MEMCPY
478 bool "Use an assembly optimized implementation of memcpy for TPL"
479 default y if USE_ARCH_MEMCPY
480 depends on TPL
481 help
482 Enable the generation of an optimized version of memcpy.
483 Such an implementation may be faster under some conditions
484 but may increase the binary size.
485
486config USE_ARCH_MEMMOVE
487 bool "Use an assembly optimized implementation of memmove"
488 default y
489 help
490 Enable the generation of an optimized version of memmove.
491 Such an implementation may be faster under some conditions
492 but may increase the binary size.
493
494config SPL_USE_ARCH_MEMMOVE
495 bool "Use an assembly optimized implementation of memmove for SPL"
496 default y if USE_ARCH_MEMCPY
497 depends on SPL
498 help
499 Enable the generation of an optimized version of memmove.
500 Such an implementation may be faster under some conditions
501 but may increase the binary size.
502
503config TPL_USE_ARCH_MEMMOVE
504 bool "Use an assembly optimized implementation of memmove for TPL"
505 default y if USE_ARCH_MEMCPY
506 depends on TPL
507 help
508 Enable the generation of an optimized version of memmove.
509 Such an implementation may be faster under some conditions
510 but may increase the binary size.
511
512config USE_ARCH_MEMSET
513 bool "Use an assembly optimized implementation of memset"
514 default y
515 help
516 Enable the generation of an optimized version of memset.
517 Such an implementation may be faster under some conditions
518 but may increase the binary size.
519
520config SPL_USE_ARCH_MEMSET
521 bool "Use an assembly optimized implementation of memset for SPL"
522 default y if USE_ARCH_MEMSET
523 depends on SPL
524 help
525 Enable the generation of an optimized version of memset.
526 Such an implementation may be faster under some conditions
527 but may increase the binary size.
528
529config TPL_USE_ARCH_MEMSET
530 bool "Use an assembly optimized implementation of memset for TPL"
531 default y if USE_ARCH_MEMSET
532 depends on TPL
533 help
534 Enable the generation of an optimized version of memset.
535 Such an implementation may be faster under some conditions
536 but may increase the binary size.
537
Rick Chen64d4ead2017-12-26 13:55:52 +0800538endmenu
Bin Mengce64bd32021-05-13 16:46:18 +0800539
Randolphb1bc7a72023-10-12 14:35:04 +0800540config SPL_LOAD_FIT_OPENSBI_OS_BOOT
541 bool "Enable SPL (OpenSBI OS boot mode) applying linux from FIT"
542 depends on SPL_LOAD_FIT
543 help
544 Use fw_dynamic from the FIT image, and u-boot SPL will invoke it directly.
545 This is a shortcut boot flow, from u-boot SPL -> OpenSBI -> u-boot proper
546 -> linux to u-boot SPL -> OpenSBI -> linux.
547
Bin Mengce64bd32021-05-13 16:46:18 +0800548endmenu