blob: ac52c5e6dafab5c1af838830d13d0e5383198f85 [file] [log] [blame]
Bin Meng117a4332018-09-26 06:55:06 -07001menu "RISC-V architecture"
Rick Chenf94c44e2017-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
Randolphb68bf222023-09-25 17:24:51 +080011config TARGET_ANDES_AE350
12 bool "Support Andes ae350"
Rick Chenf94c44e2017-12-26 13:55:52 +080013
Padmarao Begari39494822019-05-28 15:47:51 +053014config TARGET_MICROCHIP_ICICLE
15 bool "Support Microchip PolarFire-SoC Icicle Board"
16
Kongyang Liu0dc6ee62024-01-28 15:05:25 +080017config TARGET_MILKV_DUO
18 bool "Support Milk-v Duo Board"
19
Samuel Hollanda6a77e42023-10-31 00:32:12 -050020config TARGET_OPENPITON_RISCV64
21 bool "Support RISC-V cores on OpenPiton SoC"
22
Bin Meng510e3792018-09-26 06:55:21 -070023config TARGET_QEMU_VIRT
24 bool "Support QEMU Virt Board"
25
Bin Mengae2d9502021-03-17 11:10:58 +080026config TARGET_SIFIVE_UNLEASHED
27 bool "Support SiFive Unleashed Board"
Anup Patel3fda0262019-02-25 08:15:19 +000028
Green Wan70415e12021-05-27 06:52:13 -070029config TARGET_SIFIVE_UNMATCHED
30 bool "Support SiFive Unmatched Board"
Tom Riniab92b382021-08-26 11:47:59 -040031 select SYS_CACHE_SHIFT_6
Green Wan70415e12021-05-27 06:52:13 -070032
Samuel Hollanda6a77e42023-10-31 00:32:12 -050033config TARGET_SIPEED_MAIX
34 bool "Support Sipeed Maix Board"
35 select SYS_CACHE_SHIFT_6
36
Yanhong Wang331ad932023-03-29 11:42:20 +080037config TARGET_STARFIVE_VISIONFIVE2
38 bool "Support StarFive VisionFive2 Board"
Heinrich Schuchardt16dbe3d2023-09-07 13:21:28 +020039 select BOARD_LATE_INIT
Yanhong Wang331ad932023-03-29 11:42:20 +080040
Yixun Lan5f3a7fd2023-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 Simek7576ab22023-11-06 12:56:47 +010045config TARGET_XILINX_MBV
46 bool "Support AMD/Xilinx MicroBlaze V"
47
Rick Chenf94c44e2017-12-26 13:55:52 +080048endchoice
49
Trevor Woernera0aba8a2019-05-03 09:40:59 -040050config SYS_ICACHE_OFF
51 bool "Do not enable icache"
Trevor Woernera0aba8a2019-05-03 09:40:59 -040052 help
53 Do not enable instruction cache in U-Boot.
54
Trevor Woerner10015022019-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 Woernera0aba8a2019-05-03 09:40:59 -040062config SYS_DCACHE_OFF
63 bool "Do not enable dcache"
Trevor Woernera0aba8a2019-05-03 09:40:59 -040064 help
65 Do not enable data cache in U-Boot.
66
Trevor Woerner10015022019-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 Qud365f662023-08-09 21:11:31 +080074config SPL_ZERO_MEM_BEFORE_USE
75 bool "Zero memory before use"
76 depends on SPL
Shengyu Qud365f662023-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 Chen52923c62018-11-07 09:34:06 +080081# board-specific options below
Leo Yu-Chi Liang8900e2b2023-02-14 20:42:49 +080082source "board/AndesTech/ae350/Kconfig"
Bin Meng510e3792018-09-26 06:55:21 -070083source "board/emulation/qemu-riscv/Kconfig"
Padmarao Begari39494822019-05-28 15:47:51 +053084source "board/microchip/mpfs_icicle/Kconfig"
Samuel Hollanda6a77e42023-10-31 00:32:12 -050085source "board/openpiton/riscv64/Kconfig"
Bin Mengae2d9502021-03-17 11:10:58 +080086source "board/sifive/unleashed/Kconfig"
Green Wan70415e12021-05-27 06:52:13 -070087source "board/sifive/unmatched/Kconfig"
Sean Andersona7c81fc2020-06-24 06:41:25 -040088source "board/sipeed/maix/Kconfig"
Kongyang Liu0dc6ee62024-01-28 15:05:25 +080089source "board/sophgo/milkv_duo/Kconfig"
Yanhong Wang331ad932023-03-29 11:42:20 +080090source "board/starfive/visionfive2/Kconfig"
Samuel Hollanda6a77e42023-10-31 00:32:12 -050091source "board/thead/th1520_lpi4a/Kconfig"
Michal Simek7576ab22023-11-06 12:56:47 +010092source "board/xilinx/mbv/Kconfig"
Rick Chenf94c44e2017-12-26 13:55:52 +080093
Rick Chen52923c62018-11-07 09:34:06 +080094# platform-specific options below
Leo Yu-Chi Liang8900e2b2023-02-14 20:42:49 +080095source "arch/riscv/cpu/andesv5/Kconfig"
Pragnesh Patel7c45fc92020-05-29 11:33:34 +053096source "arch/riscv/cpu/fu540/Kconfig"
Green Wana74e9d82021-05-27 06:52:07 -070097source "arch/riscv/cpu/fu740/Kconfig"
Anup Patelfdff1f92019-02-25 08:14:10 +000098source "arch/riscv/cpu/generic/Kconfig"
Yanhong Wang331ad932023-03-29 11:42:20 +080099source "arch/riscv/cpu/jh7110/Kconfig"
Rick Chen52923c62018-11-07 09:34:06 +0800100
101# architecture-specific options below
102
Rick Chenf94c44e2017-12-26 13:55:52 +0800103choice
Lukas Auer862e2e72018-11-22 11:26:12 +0100104 prompt "Base ISA"
105 default ARCH_RV32I
Rick Chenf94c44e2017-12-26 13:55:52 +0800106
Lukas Auer862e2e72018-11-22 11:26:12 +0100107config ARCH_RV32I
108 bool "RV32I"
Rick Chenf94c44e2017-12-26 13:55:52 +0800109 select 32BIT
110 help
Lukas Auer862e2e72018-11-22 11:26:12 +0100111 Choose this option to target the RV32I base integer instruction set.
Rick Chenf94c44e2017-12-26 13:55:52 +0800112
Lukas Auer862e2e72018-11-22 11:26:12 +0100113config ARCH_RV64I
114 bool "RV64I"
Rick Chenf94c44e2017-12-26 13:55:52 +0800115 select 64BIT
Lukas Auer71158562018-11-22 11:26:13 +0100116 select PHYS_64BIT
Rick Chenf94c44e2017-12-26 13:55:52 +0800117 help
Lukas Auer862e2e72018-11-22 11:26:12 +0100118 Choose this option to target the RV64I base integer instruction set.
Rick Chenf94c44e2017-12-26 13:55:52 +0800119
120endchoice
121
Lukas Auer8176ea42018-12-12 06:12:23 -0800122choice
123 prompt "Code Model"
124 default CMODEL_MEDLOW
125
126config CMODEL_MEDLOW
127 bool "medium low code model"
128 help
129 U-Boot and its statically defined symbols must lie within a single 2 GiB
130 address range and must lie between absolute addresses -2 GiB and +2 GiB.
131
132config CMODEL_MEDANY
133 bool "medium any code model"
134 help
135 U-Boot and its statically defined symbols must be within any single 2 GiB
136 address range.
137
138endchoice
139
Anup Patel3cfc8252018-12-12 06:12:29 -0800140choice
141 prompt "Run Mode"
142 default RISCV_MMODE
143
144config RISCV_MMODE
145 bool "Machine"
146 help
147 Choose this option to build U-Boot for RISC-V M-Mode.
148
149config RISCV_SMODE
150 bool "Supervisor"
Heinrich Schuchardte637e452023-09-23 01:35:26 +0200151 imply DEBUG_UART
Anup Patel3cfc8252018-12-12 06:12:29 -0800152 help
153 Choose this option to build U-Boot for RISC-V S-Mode.
154
155endchoice
156
Lukas Auerfbfd92b2019-08-21 21:14:43 +0200157choice
158 prompt "SPL Run Mode"
159 default SPL_RISCV_MMODE
160 depends on SPL
161
162config SPL_RISCV_MMODE
163 bool "Machine"
164 help
165 Choose this option to build U-Boot SPL for RISC-V M-Mode.
166
167config SPL_RISCV_SMODE
168 bool "Supervisor"
169 help
170 Choose this option to build U-Boot SPL for RISC-V S-Mode.
171
172endchoice
173
Lukas Auerd57ffa62018-11-22 11:26:14 +0100174config RISCV_ISA_C
175 bool "Emit compressed instructions"
176 default y
177 help
178 Adds "C" to the ISA subsets that the toolchain is allowed to emit
179 when building U-Boot, which results in compressed instructions in the
180 U-Boot binary.
181
Heinrich Schuchardte67f34f2022-10-12 14:59:51 +0200182config RISCV_ISA_F
183 bool "Standard extension for Single-Precision Floating Point"
184 default y
185 help
186 Adds "F" to the ISA string passed to the compiler.
187
188config RISCV_ISA_D
189 bool "Standard extension for Double-Precision Floating Point"
190 depends on RISCV_ISA_F
191 default y
192 help
193 Adds "D" to the ISA string passed to the compiler and changes the
194 riscv32 ABI from ilp32 to ilp32d and the riscv64 ABI from lp64 to
195 lp64d.
196
Yu Chien Peter Linbc5a5042023-08-09 18:49:30 +0800197config RISCV_ISA_ZBB
198 bool "Zbb extension support for bit manipulation instructions"
199 help
200 Adds ZBB extension (basic bit manipulation) to the ISA subsets
201 that the toolchain is allowed to emit when building U-Boot.
202 The Zbb extension provides instructions to accelerate a number
203 of bit-specific operations (count bit population, sign extending,
204 bitrotation, etc) and enables optimized string routines.
205
206menu "Use assembly optimized implementation of string routines"
207
208config USE_ARCH_STRLEN
209 bool "Use an assembly optimized implementation of strlen"
210 default y
211 depends on RISCV_ISA_ZBB
212 help
213 Enable the generation of an optimized version of strlen using
214 Zbb extension.
215
216config SPL_USE_ARCH_STRLEN
217 bool "Use an assembly optimized implementation of strlen for SPL"
218 default y if USE_ARCH_STRLEN
219 depends on RISCV_ISA_ZBB
220 depends on SPL
221 help
222 Enable the generation of an optimized version of strlen using
223 Zbb extension.
224
225config TPL_USE_ARCH_STRLEN
226 bool "Use an assembly optimized implementation of strlen for TPL"
227 default y if USE_ARCH_STRLEN
228 depends on RISCV_ISA_ZBB
229 depends on TPL
230 help
231 Enable the generation of an optimized version of strlen using
232 Zbb extension.
233
234config USE_ARCH_STRCMP
235 bool "Use an assembly optimized implementation of strcmp"
236 default y
237 depends on RISCV_ISA_ZBB
238 help
239 Enable the generation of an optimized version of strcmp using
240 Zbb extension.
241
242config SPL_USE_ARCH_STRCMP
243 bool "Use an assembly optimized implementation of strcmp for SPL"
244 default y if USE_ARCH_STRCMP
245 depends on RISCV_ISA_ZBB
246 depends on SPL
247 help
248 Enable the generation of an optimized version of strcmp using
249 Zbb extension.
250
251config TPL_USE_ARCH_STRCMP
252 bool "Use an assembly optimized implementation of strcmp for TPL"
253 default y if USE_ARCH_STRCMP
254 depends on RISCV_ISA_ZBB
255 depends on TPL
256 help
257 Enable the generation of an optimized version of strcmp using
258 Zbb extension.
259
260config USE_ARCH_STRNCMP
261 bool "Use an assembly optimized implementation of strncmp"
262 default y
263 depends on RISCV_ISA_ZBB
264 help
265 Enable the generation of an optimized version of strncmp using
266 Zbb extension.
267
268config SPL_USE_ARCH_STRNCMP
269 bool "Use an assembly optimized implementation of strncmp for SPL"
270 default y if USE_ARCH_STRNCMP
271 depends on RISCV_ISA_ZBB
272 depends on SPL
273 help
274 Enable the generation of an optimized version of strncmp using
275 Zbb extension.
276
277config TPL_USE_ARCH_STRNCMP
278 bool "Use an assembly optimized implementation of strncmp for TPL"
279 default y if USE_ARCH_STRNCMP
280 depends on RISCV_ISA_ZBB
281 depends on TPL
282 help
283 Enable the generation of an optimized version of strncmp using
284 Zbb extension.
285
286endmenu
287
Lukas Auerd57ffa62018-11-22 11:26:14 +0100288config RISCV_ISA_A
289 def_bool y
290
Rick Chenf94c44e2017-12-26 13:55:52 +0800291config 32BIT
292 bool
293
294config 64BIT
295 bool
296
Padmarao Begari5af35742021-01-15 08:20:35 +0530297config DMA_ADDR_T_64BIT
298 bool
299 default y if 64BIT
300
Bin Meng9675d922023-06-21 23:11:46 +0800301config RISCV_ACLINT
Bin Meng644a3cd2018-12-12 06:12:30 -0800302 bool
Bin Menga6d7e8c2021-05-11 20:04:12 +0800303 depends on RISCV_MMODE
Bin Meng7f1a30f2023-06-21 23:11:45 +0800304 select REGMAP
305 select SYSCON
Bin Menga6d7e8c2021-05-11 20:04:12 +0800306 help
Bin Meng9675d922023-06-21 23:11:46 +0800307 The RISC-V ACLINT block holds memory-mapped control and status registers
Bin Menga6d7e8c2021-05-11 20:04:12 +0800308 associated with software and timer interrupts.
309
Bin Meng9675d922023-06-21 23:11:46 +0800310config SPL_RISCV_ACLINT
Bin Menga6d7e8c2021-05-11 20:04:12 +0800311 bool
312 depends on SPL_RISCV_MMODE
Bin Meng7f1a30f2023-06-21 23:11:45 +0800313 select SPL_REGMAP
314 select SPL_SYSCON
Bin Meng644a3cd2018-12-12 06:12:30 -0800315 help
Bin Meng9675d922023-06-21 23:11:46 +0800316 The RISC-V ACLINT block holds memory-mapped control and status registers
Bin Meng644a3cd2018-12-12 06:12:30 -0800317 associated with software and timer interrupts.
318
Zong Li213ed172021-09-01 15:01:41 +0800319config SIFIVE_CACHE
320 bool
321 help
322 This enables the operations to configure SiFive cache
323
Yu Chien Peter Lina5dfa3b2022-10-25 23:03:50 +0800324config ANDES_PLICSW
Rick Chen0d389462019-04-02 15:56:39 +0800325 bool
Lukas Auerfbfd92b2019-08-21 21:14:43 +0200326 depends on RISCV_MMODE || SPL_RISCV_MMODE
Rick Chen0d389462019-04-02 15:56:39 +0800327 select REGMAP
328 select SYSCON
Lukas Auerfbfd92b2019-08-21 21:14:43 +0200329 select SPL_REGMAP if SPL
330 select SPL_SYSCON if SPL
Rick Chen0d389462019-04-02 15:56:39 +0800331 help
Yu Chien Peter Lina5dfa3b2022-10-25 23:03:50 +0800332 The Andes PLICSW block holds memory-mapped claim and pending
333 registers associated with software interrupt.
Rick Chen0d389462019-04-02 15:56:39 +0800334
Lukas Auerfa33f082019-03-17 19:28:32 +0100335config SMP
336 bool "Symmetric Multi-Processing"
Bin Meng6fa022e2020-04-16 08:09:31 -0700337 depends on SBI_V01 || !RISCV_SMODE
Lukas Auerfa33f082019-03-17 19:28:32 +0100338 help
339 This enables support for systems with more than one CPU. If
340 you say N here, U-Boot will run on single and multiprocessor
341 machines, but will use only one CPU of a multiprocessor
342 machine. If you say Y here, U-Boot will run on many, but not
343 all, single processor machines.
344
Bin Meng191636e2020-04-16 08:09:30 -0700345config SPL_SMP
346 bool "Symmetric Multi-Processing in SPL"
347 depends on SPL && SPL_RISCV_MMODE
348 default y
349 help
350 This enables support for systems with more than one CPU in SPL.
351 If you say N here, U-Boot SPL will run on single and multiprocessor
352 machines, but will use only one CPU of a multiprocessor
353 machine. If you say Y here, U-Boot SPL will run on many, but not
354 all, single processor machines.
355
Lukas Auerfa33f082019-03-17 19:28:32 +0100356config NR_CPUS
357 int "Maximum number of CPUs (2-32)"
358 range 2 32
Bin Meng191636e2020-04-16 08:09:30 -0700359 depends on SMP || SPL_SMP
Lukas Auerfa33f082019-03-17 19:28:32 +0100360 default 8
361 help
362 On multiprocessor machines, U-Boot sets up a stack for each CPU.
363 Stack memory is pre-allocated. U-Boot must therefore know the
364 maximum number of CPUs that may be present.
365
Bin Mengf58fc342020-03-09 19:35:28 -0700366config SBI
367 bool
368 default y if RISCV_SMODE || SPL_RISCV_SMODE
369
Bin Mengff0fa6c2020-04-16 08:09:32 -0700370choice
371 prompt "SBI support"
Bin Mengfa16ec22020-04-16 08:09:33 -0700372 default SBI_V02
Bin Mengff0fa6c2020-04-16 08:09:32 -0700373
Bin Meng1b3c8d62020-03-09 19:35:30 -0700374config SBI_V01
375 bool "SBI v0.1 support"
Bin Meng1b3c8d62020-03-09 19:35:30 -0700376 depends on SBI
377 help
378 This config allows kernel to use SBI v0.1 APIs. This will be
379 deprecated in future once legacy M-mode software are no longer in use.
380
Bin Mengff0fa6c2020-04-16 08:09:32 -0700381config SBI_V02
Heinrich Schuchardt5c894672022-11-08 15:53:12 +0100382 bool "SBI v0.2 or later support"
Bin Mengff0fa6c2020-04-16 08:09:32 -0700383 depends on SBI
384 help
Heinrich Schuchardt5c894672022-11-08 15:53:12 +0100385 The SBI specification introduced the concept of extensions in version
386 v0.2. With this configuration option U-Boot can detect and use SBI
387 extensions. With the HSM extension introduced in SBI 0.2, only a
388 single hart needs to boot and enter the operating system. The booting
389 hart can bring up secondary harts one by one afterwards.
Bin Mengff0fa6c2020-04-16 08:09:32 -0700390
Heinrich Schuchardt5c894672022-11-08 15:53:12 +0100391 Choose this option if OpenSBI release v0.7 or above is used together
Bin Mengff0fa6c2020-04-16 08:09:32 -0700392 with U-Boot.
393
394endchoice
395
Lukas Auerf152feb2019-03-17 19:28:34 +0100396config SBI_IPI
397 bool
Bin Mengf58fc342020-03-09 19:35:28 -0700398 depends on SBI
Lukas Auerfbfd92b2019-08-21 21:14:43 +0200399 default y if RISCV_SMODE || SPL_RISCV_SMODE
Lukas Auerf152feb2019-03-17 19:28:34 +0100400 depends on SMP
401
Rick Chenbdce3892019-04-30 13:49:33 +0800402config XIP
403 bool "XIP mode"
404 help
405 XIP (eXecute In Place) is a method for executing code directly
406 from a NOR flash memory without copying the code to ram.
407 Say yes here if U-Boot boots from flash directly.
408
Nikita Shubinc2bdf022022-09-02 11:47:39 +0300409config SPL_XIP
410 bool "Enable XIP mode for SPL"
411 help
412 If SPL starts in read-only memory (XIP for example) then we shouldn't
413 rely on lock variables (for example hart_lottery and available_harts_lock),
414 this affects only SPL, other stages should proceed as non-XIP.
415
Rick Chene0465f82022-09-21 14:34:54 +0800416config AVAILABLE_HARTS
417 bool "Send IPI by available harts"
418 default y
419 help
420 By default, IPI sending mechanism will depend on available_harts.
421 If disable this, it will send IPI by CPUs node numbers of device tree.
422
Sean Andersonfd1f6e92019-12-25 00:27:44 -0500423config SHOW_REGS
424 bool "Show registers on unhandled exception"
425
Sean Andersonb8bc1202020-06-24 06:41:19 -0400426config RISCV_PRIV_1_9
427 bool "Use version 1.9 of the RISC-V priviledged specification"
428 help
429 Older versions of the RISC-V priviledged specification had
430 separate counter enable CSRs for each privilege mode. Writing
431 to the unified mcounteren CSR on a processor implementing the
432 old specification will result in an illegal instruction
433 exception. In addition to counter CSR changes, the way virtual
434 memory is configured was also changed.
435
Lukas Auer3dea63c2019-03-17 19:28:37 +0100436config STACK_SIZE_SHIFT
437 int
Lukas Auer6b20dc12019-10-20 20:53:47 +0200438 default 14
Lukas Auer3dea63c2019-03-17 19:28:37 +0100439
Bin Meng1c17e552020-06-25 18:16:08 -0700440config OF_BOARD_FIXUP
Sean Anderson32cef692020-09-05 09:22:11 -0400441 default y if OF_SEPARATE && RISCV_SMODE
Bin Meng1c17e552020-06-25 18:16:08 -0700442
Bin Meng89419272021-05-13 16:46:18 +0800443menu "Use assembly optimized implementation of memory routines"
444
Heinrich Schuchardt8f0dc4c2021-03-27 12:37:04 +0100445config USE_ARCH_MEMCPY
446 bool "Use an assembly optimized implementation of memcpy"
447 default y
448 help
449 Enable the generation of an optimized version of memcpy.
450 Such an implementation may be faster under some conditions
451 but may increase the binary size.
452
453config SPL_USE_ARCH_MEMCPY
454 bool "Use an assembly optimized implementation of memcpy for SPL"
455 default y if USE_ARCH_MEMCPY
456 depends on SPL
457 help
458 Enable the generation of an optimized version of memcpy.
459 Such an implementation may be faster under some conditions
460 but may increase the binary size.
461
462config TPL_USE_ARCH_MEMCPY
463 bool "Use an assembly optimized implementation of memcpy for TPL"
464 default y if USE_ARCH_MEMCPY
465 depends on TPL
466 help
467 Enable the generation of an optimized version of memcpy.
468 Such an implementation may be faster under some conditions
469 but may increase the binary size.
470
471config USE_ARCH_MEMMOVE
472 bool "Use an assembly optimized implementation of memmove"
473 default y
474 help
475 Enable the generation of an optimized version of memmove.
476 Such an implementation may be faster under some conditions
477 but may increase the binary size.
478
479config SPL_USE_ARCH_MEMMOVE
480 bool "Use an assembly optimized implementation of memmove for SPL"
481 default y if USE_ARCH_MEMCPY
482 depends on SPL
483 help
484 Enable the generation of an optimized version of memmove.
485 Such an implementation may be faster under some conditions
486 but may increase the binary size.
487
488config TPL_USE_ARCH_MEMMOVE
489 bool "Use an assembly optimized implementation of memmove for TPL"
490 default y if USE_ARCH_MEMCPY
491 depends on TPL
492 help
493 Enable the generation of an optimized version of memmove.
494 Such an implementation may be faster under some conditions
495 but may increase the binary size.
496
497config USE_ARCH_MEMSET
498 bool "Use an assembly optimized implementation of memset"
499 default y
500 help
501 Enable the generation of an optimized version of memset.
502 Such an implementation may be faster under some conditions
503 but may increase the binary size.
504
505config SPL_USE_ARCH_MEMSET
506 bool "Use an assembly optimized implementation of memset for SPL"
507 default y if USE_ARCH_MEMSET
508 depends on SPL
509 help
510 Enable the generation of an optimized version of memset.
511 Such an implementation may be faster under some conditions
512 but may increase the binary size.
513
514config TPL_USE_ARCH_MEMSET
515 bool "Use an assembly optimized implementation of memset for TPL"
516 default y if USE_ARCH_MEMSET
517 depends on TPL
518 help
519 Enable the generation of an optimized version of memset.
520 Such an implementation may be faster under some conditions
521 but may increase the binary size.
522
Rick Chenf94c44e2017-12-26 13:55:52 +0800523endmenu
Bin Meng89419272021-05-13 16:46:18 +0800524
Randolphe09a2282023-10-12 14:35:04 +0800525config SPL_LOAD_FIT_OPENSBI_OS_BOOT
526 bool "Enable SPL (OpenSBI OS boot mode) applying linux from FIT"
527 depends on SPL_LOAD_FIT
528 help
529 Use fw_dynamic from the FIT image, and u-boot SPL will invoke it directly.
530 This is a shortcut boot flow, from u-boot SPL -> OpenSBI -> u-boot proper
531 -> linux to u-boot SPL -> OpenSBI -> linux.
532
Bin Meng89419272021-05-13 16:46:18 +0800533endmenu