blob: c5859c5c5410a259d6a78e95de8630c2a9d1b30b [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"
Ɓukasz Stelmach1b100e52024-03-28 10:58:24 +010025 select BOARD_LATE_INIT
Bin Meng8a8694d2018-09-26 06:55:21 -070026
Bin Menge9ead4a2021-03-17 11:10:58 +080027config TARGET_SIFIVE_UNLEASHED
28 bool "Support SiFive Unleashed Board"
Anup Patel7a167f22019-02-25 08:15:19 +000029
Green Wan2e5da522021-05-27 06:52:13 -070030config TARGET_SIFIVE_UNMATCHED
31 bool "Support SiFive Unmatched Board"
Tom Rini3ef67ae2021-08-26 11:47:59 -040032 select SYS_CACHE_SHIFT_6
Green Wan2e5da522021-05-27 06:52:13 -070033
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050034config TARGET_SIPEED_MAIX
35 bool "Support Sipeed Maix Board"
36 select SYS_CACHE_SHIFT_6
37
Yanhong Wang38678792023-03-29 11:42:20 +080038config TARGET_STARFIVE_VISIONFIVE2
39 bool "Support StarFive VisionFive2 Board"
Heinrich Schuchardt03a885b2023-09-07 13:21:28 +020040 select BOARD_LATE_INIT
Yanhong Wang38678792023-03-29 11:42:20 +080041
Yixun Lan5dfa9012023-07-08 19:24:32 +080042config TARGET_TH1520_LPI4A
43 bool "Support Sipeed's TH1520 Lichee PI 4A Board"
44 select SYS_CACHE_SHIFT_6
45
Michal Simek962c10a2023-11-06 12:56:47 +010046config TARGET_XILINX_MBV
47 bool "Support AMD/Xilinx MicroBlaze V"
48
Rick Chen64d4ead2017-12-26 13:55:52 +080049endchoice
50
Trevor Woernerba64b8b2019-05-03 09:40:59 -040051config SYS_ICACHE_OFF
52 bool "Do not enable icache"
Trevor Woernerba64b8b2019-05-03 09:40:59 -040053 help
54 Do not enable instruction cache in U-Boot.
55
Trevor Woerner43ec7e02019-05-03 09:41:00 -040056config SPL_SYS_ICACHE_OFF
57 bool "Do not enable icache in SPL"
58 depends on SPL
59 default SYS_ICACHE_OFF
60 help
61 Do not enable instruction cache in SPL.
62
Trevor Woernerba64b8b2019-05-03 09:40:59 -040063config SYS_DCACHE_OFF
64 bool "Do not enable dcache"
Trevor Woernerba64b8b2019-05-03 09:40:59 -040065 help
66 Do not enable data cache in U-Boot.
67
Trevor Woerner43ec7e02019-05-03 09:41:00 -040068config SPL_SYS_DCACHE_OFF
69 bool "Do not enable dcache in SPL"
70 depends on SPL
71 default SYS_DCACHE_OFF
72 help
73 Do not enable data cache in SPL.
74
Shengyu Qud1a32542023-08-09 21:11:31 +080075config SPL_ZERO_MEM_BEFORE_USE
76 bool "Zero memory before use"
77 depends on SPL
Shengyu Qud1a32542023-08-09 21:11:31 +080078 help
79 Zero stack/GD/malloc area in SPL before using them, this is needed for
80 Sifive core devices that uses L2 cache to store SPL.
81
Rick Chen842d5802018-11-07 09:34:06 +080082# board-specific options below
Leo Yu-Chi Liang5d0bbea2024-05-14 17:50:11 +080083source "board/andestech/ae350/Kconfig"
Bin Meng8a8694d2018-09-26 06:55:21 -070084source "board/emulation/qemu-riscv/Kconfig"
Padmarao Begari4216f342019-05-28 15:47:51 +053085source "board/microchip/mpfs_icicle/Kconfig"
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050086source "board/openpiton/riscv64/Kconfig"
Bin Menge9ead4a2021-03-17 11:10:58 +080087source "board/sifive/unleashed/Kconfig"
Green Wan2e5da522021-05-27 06:52:13 -070088source "board/sifive/unmatched/Kconfig"
Sean Andersonedc32ab2020-06-24 06:41:25 -040089source "board/sipeed/maix/Kconfig"
Kongyang Liub64fc0e2024-01-28 15:05:25 +080090source "board/sophgo/milkv_duo/Kconfig"
Yanhong Wang38678792023-03-29 11:42:20 +080091source "board/starfive/visionfive2/Kconfig"
Samuel Hollandbd6a54c2023-10-31 00:32:12 -050092source "board/thead/th1520_lpi4a/Kconfig"
Michal Simek962c10a2023-11-06 12:56:47 +010093source "board/xilinx/mbv/Kconfig"
Rick Chen64d4ead2017-12-26 13:55:52 +080094
Rick Chen842d5802018-11-07 09:34:06 +080095# platform-specific options below
Leo Yu-Chi Liang5d0bbea2024-05-14 17:50:11 +080096source "arch/riscv/cpu/andes/Kconfig"
Kongyang Liuf7526742024-03-10 00:54:56 +080097source "arch/riscv/cpu/cv1800b/Kconfig"
Pragnesh Patel25269c02020-05-29 11:33:34 +053098source "arch/riscv/cpu/fu540/Kconfig"
Green Wan7f337432021-05-27 06:52:07 -070099source "arch/riscv/cpu/fu740/Kconfig"
Anup Patel1240cd62019-02-25 08:14:10 +0000100source "arch/riscv/cpu/generic/Kconfig"
Yanhong Wang38678792023-03-29 11:42:20 +0800101source "arch/riscv/cpu/jh7110/Kconfig"
Rick Chen842d5802018-11-07 09:34:06 +0800102
103# architecture-specific options below
104
Rick Chen64d4ead2017-12-26 13:55:52 +0800105choice
Lukas Auer54ebfe72018-11-22 11:26:12 +0100106 prompt "Base ISA"
107 default ARCH_RV32I
Rick Chen64d4ead2017-12-26 13:55:52 +0800108
Lukas Auer54ebfe72018-11-22 11:26:12 +0100109config ARCH_RV32I
110 bool "RV32I"
Rick Chen64d4ead2017-12-26 13:55:52 +0800111 select 32BIT
112 help
Lukas Auer54ebfe72018-11-22 11:26:12 +0100113 Choose this option to target the RV32I base integer instruction set.
Rick Chen64d4ead2017-12-26 13:55:52 +0800114
Lukas Auer54ebfe72018-11-22 11:26:12 +0100115config ARCH_RV64I
116 bool "RV64I"
Rick Chen64d4ead2017-12-26 13:55:52 +0800117 select 64BIT
Lukas Auer7ab1df02018-11-22 11:26:13 +0100118 select PHYS_64BIT
Rick Chen64d4ead2017-12-26 13:55:52 +0800119 help
Lukas Auer54ebfe72018-11-22 11:26:12 +0100120 Choose this option to target the RV64I base integer instruction set.
Rick Chen64d4ead2017-12-26 13:55:52 +0800121
122endchoice
123
Ben Dooks8a813c12023-09-05 13:12:53 +0100124config FRAMEPOINTER
125 bool "Build with frame pointer for stack unwinding"
126 help
127 Choose this option to use the frame pointer so the stack can be
128 unwound if needed. This is useful for tracing where faults came
129 from as the source may be several functions back
130
131 If you say Y here, then the code size will be increased due to
132 having to store the fp.
133
134config SPL_FRAMEPOINTER
135 bool "Build SPL with frame pointer for stack unwinding"
136 help
137 Choose this option to use the frame pointer so the stack can be
138 unwound if needed. This is useful for tracing where faults came
139 from as the source may be several functions back
140
141 If you say Y here, then the code size will be increased due to
142 having to store the fp.
143
Lukas Auerecc5d832018-12-12 06:12:23 -0800144choice
145 prompt "Code Model"
146 default CMODEL_MEDLOW
147
148config CMODEL_MEDLOW
149 bool "medium low code model"
150 help
151 U-Boot and its statically defined symbols must lie within a single 2 GiB
152 address range and must lie between absolute addresses -2 GiB and +2 GiB.
153
154config CMODEL_MEDANY
155 bool "medium any code model"
156 help
157 U-Boot and its statically defined symbols must be within any single 2 GiB
158 address range.
159
160endchoice
161
Anup Patel27881772018-12-12 06:12:29 -0800162choice
163 prompt "Run Mode"
164 default RISCV_MMODE
165
166config RISCV_MMODE
167 bool "Machine"
168 help
169 Choose this option to build U-Boot for RISC-V M-Mode.
170
171config RISCV_SMODE
172 bool "Supervisor"
Heinrich Schuchardt20964b62023-09-23 01:35:26 +0200173 imply DEBUG_UART
Anup Patel27881772018-12-12 06:12:29 -0800174 help
175 Choose this option to build U-Boot for RISC-V S-Mode.
176
177endchoice
178
Lukas Auer61346592019-08-21 21:14:43 +0200179choice
180 prompt "SPL Run Mode"
181 default SPL_RISCV_MMODE
182 depends on SPL
183
184config SPL_RISCV_MMODE
185 bool "Machine"
186 help
187 Choose this option to build U-Boot SPL for RISC-V M-Mode.
188
189config SPL_RISCV_SMODE
190 bool "Supervisor"
191 help
192 Choose this option to build U-Boot SPL for RISC-V S-Mode.
193
194endchoice
195
Lukas Auer002012f2018-11-22 11:26:14 +0100196config RISCV_ISA_C
197 bool "Emit compressed instructions"
198 default y
199 help
200 Adds "C" to the ISA subsets that the toolchain is allowed to emit
201 when building U-Boot, which results in compressed instructions in the
202 U-Boot binary.
203
Heinrich Schuchardtc66c9502022-10-12 14:59:51 +0200204config RISCV_ISA_F
205 bool "Standard extension for Single-Precision Floating Point"
206 default y
207 help
208 Adds "F" to the ISA string passed to the compiler.
209
210config RISCV_ISA_D
211 bool "Standard extension for Double-Precision Floating Point"
212 depends on RISCV_ISA_F
213 default y
214 help
215 Adds "D" to the ISA string passed to the compiler and changes the
216 riscv32 ABI from ilp32 to ilp32d and the riscv64 ABI from lp64 to
217 lp64d.
218
Yu Chien Peter Lin60814cb2023-08-09 18:49:30 +0800219config RISCV_ISA_ZBB
220 bool "Zbb extension support for bit manipulation instructions"
221 help
222 Adds ZBB extension (basic bit manipulation) to the ISA subsets
223 that the toolchain is allowed to emit when building U-Boot.
224 The Zbb extension provides instructions to accelerate a number
225 of bit-specific operations (count bit population, sign extending,
226 bitrotation, etc) and enables optimized string routines.
227
228menu "Use assembly optimized implementation of string routines"
229
230config USE_ARCH_STRLEN
231 bool "Use an assembly optimized implementation of strlen"
232 default y
233 depends on RISCV_ISA_ZBB
234 help
235 Enable the generation of an optimized version of strlen using
236 Zbb extension.
237
238config SPL_USE_ARCH_STRLEN
239 bool "Use an assembly optimized implementation of strlen for SPL"
240 default y if USE_ARCH_STRLEN
241 depends on RISCV_ISA_ZBB
242 depends on SPL
243 help
244 Enable the generation of an optimized version of strlen using
245 Zbb extension.
246
247config TPL_USE_ARCH_STRLEN
248 bool "Use an assembly optimized implementation of strlen for TPL"
249 default y if USE_ARCH_STRLEN
250 depends on RISCV_ISA_ZBB
251 depends on TPL
252 help
253 Enable the generation of an optimized version of strlen using
254 Zbb extension.
255
256config USE_ARCH_STRCMP
257 bool "Use an assembly optimized implementation of strcmp"
258 default y
259 depends on RISCV_ISA_ZBB
260 help
261 Enable the generation of an optimized version of strcmp using
262 Zbb extension.
263
264config SPL_USE_ARCH_STRCMP
265 bool "Use an assembly optimized implementation of strcmp for SPL"
266 default y if USE_ARCH_STRCMP
267 depends on RISCV_ISA_ZBB
268 depends on SPL
269 help
270 Enable the generation of an optimized version of strcmp using
271 Zbb extension.
272
273config TPL_USE_ARCH_STRCMP
274 bool "Use an assembly optimized implementation of strcmp for TPL"
275 default y if USE_ARCH_STRCMP
276 depends on RISCV_ISA_ZBB
277 depends on TPL
278 help
279 Enable the generation of an optimized version of strcmp using
280 Zbb extension.
281
282config USE_ARCH_STRNCMP
283 bool "Use an assembly optimized implementation of strncmp"
284 default y
285 depends on RISCV_ISA_ZBB
286 help
287 Enable the generation of an optimized version of strncmp using
288 Zbb extension.
289
290config SPL_USE_ARCH_STRNCMP
291 bool "Use an assembly optimized implementation of strncmp for SPL"
292 default y if USE_ARCH_STRNCMP
293 depends on RISCV_ISA_ZBB
294 depends on SPL
295 help
296 Enable the generation of an optimized version of strncmp using
297 Zbb extension.
298
299config TPL_USE_ARCH_STRNCMP
300 bool "Use an assembly optimized implementation of strncmp for TPL"
301 default y if USE_ARCH_STRNCMP
302 depends on RISCV_ISA_ZBB
303 depends on TPL
304 help
305 Enable the generation of an optimized version of strncmp using
306 Zbb extension.
307
308endmenu
309
Lukas Auer002012f2018-11-22 11:26:14 +0100310config RISCV_ISA_A
Chia-Wei Wang6eda8742024-09-10 17:39:13 +0800311 bool "Standard extension for Atomic Instructions"
312 default y
313 help
314 Adds "A" to the ISA string passed to the compiler.
Lukas Auer002012f2018-11-22 11:26:14 +0100315
Padmarao Begaria235d432021-01-15 08:20:35 +0530316config DMA_ADDR_T_64BIT
317 bool
318 default y if 64BIT
319
Bin Mengb5f03722023-06-21 23:11:46 +0800320config RISCV_ACLINT
Bin Mengb6ee5e12018-12-12 06:12:30 -0800321 bool
Bin Meng614b1d82021-05-11 20:04:12 +0800322 depends on RISCV_MMODE
Bin Meng08b8d262023-06-21 23:11:45 +0800323 select REGMAP
324 select SYSCON
Bin Meng614b1d82021-05-11 20:04:12 +0800325 help
Bin Mengb5f03722023-06-21 23:11:46 +0800326 The RISC-V ACLINT block holds memory-mapped control and status registers
Bin Meng614b1d82021-05-11 20:04:12 +0800327 associated with software and timer interrupts.
328
Bin Mengb5f03722023-06-21 23:11:46 +0800329config SPL_RISCV_ACLINT
Bin Meng614b1d82021-05-11 20:04:12 +0800330 bool
331 depends on SPL_RISCV_MMODE
Bin Meng08b8d262023-06-21 23:11:45 +0800332 select SPL_REGMAP
333 select SPL_SYSCON
Bin Mengb6ee5e12018-12-12 06:12:30 -0800334 help
Bin Mengb5f03722023-06-21 23:11:46 +0800335 The RISC-V ACLINT block holds memory-mapped control and status registers
Bin Mengb6ee5e12018-12-12 06:12:30 -0800336 associated with software and timer interrupts.
337
Zong Lic39544c2021-09-01 15:01:41 +0800338config SIFIVE_CACHE
339 bool
340 help
341 This enables the operations to configure SiFive cache
342
Yu Chien Peter Lin739cd6f2022-10-25 23:03:50 +0800343config ANDES_PLICSW
Rick Chen6df4ed02019-04-02 15:56:39 +0800344 bool
Lukas Auer61346592019-08-21 21:14:43 +0200345 depends on RISCV_MMODE || SPL_RISCV_MMODE
Rick Chen6df4ed02019-04-02 15:56:39 +0800346 select REGMAP
347 select SYSCON
Lukas Auer61346592019-08-21 21:14:43 +0200348 select SPL_REGMAP if SPL
349 select SPL_SYSCON if SPL
Rick Chen6df4ed02019-04-02 15:56:39 +0800350 help
Yu Chien Peter Lin739cd6f2022-10-25 23:03:50 +0800351 The Andes PLICSW block holds memory-mapped claim and pending
352 registers associated with software interrupt.
Rick Chen6df4ed02019-04-02 15:56:39 +0800353
Lukas Auer83d573d2019-03-17 19:28:32 +0100354config SMP
355 bool "Symmetric Multi-Processing"
Bin Meng49975222020-04-16 08:09:31 -0700356 depends on SBI_V01 || !RISCV_SMODE
Lukas Auer83d573d2019-03-17 19:28:32 +0100357 help
358 This enables support for systems with more than one CPU. If
359 you say N here, U-Boot will run on single and multiprocessor
360 machines, but will use only one CPU of a multiprocessor
361 machine. If you say Y here, U-Boot will run on many, but not
362 all, single processor machines.
363
Bin Mengb161f902020-04-16 08:09:30 -0700364config SPL_SMP
365 bool "Symmetric Multi-Processing in SPL"
366 depends on SPL && SPL_RISCV_MMODE
367 default y
368 help
369 This enables support for systems with more than one CPU in SPL.
370 If you say N here, U-Boot SPL will run on single and multiprocessor
371 machines, but will use only one CPU of a multiprocessor
372 machine. If you say Y here, U-Boot SPL will run on many, but not
373 all, single processor machines.
374
Lukas Auer83d573d2019-03-17 19:28:32 +0100375config NR_CPUS
376 int "Maximum number of CPUs (2-32)"
377 range 2 32
Bin Mengb161f902020-04-16 08:09:30 -0700378 depends on SMP || SPL_SMP
Lukas Auer83d573d2019-03-17 19:28:32 +0100379 default 8
380 help
381 On multiprocessor machines, U-Boot sets up a stack for each CPU.
382 Stack memory is pre-allocated. U-Boot must therefore know the
383 maximum number of CPUs that may be present.
384
Bin Mengee3bcd02020-03-09 19:35:28 -0700385config SBI
386 bool
387 default y if RISCV_SMODE || SPL_RISCV_SMODE
388
Bin Menga75325e2020-04-16 08:09:32 -0700389choice
390 prompt "SBI support"
Bin Meng3aecc4b2020-04-16 08:09:33 -0700391 default SBI_V02
Bin Menga75325e2020-04-16 08:09:32 -0700392
Bin Meng887d8092020-03-09 19:35:30 -0700393config SBI_V01
394 bool "SBI v0.1 support"
Bin Meng887d8092020-03-09 19:35:30 -0700395 depends on SBI
396 help
397 This config allows kernel to use SBI v0.1 APIs. This will be
398 deprecated in future once legacy M-mode software are no longer in use.
399
Bin Menga75325e2020-04-16 08:09:32 -0700400config SBI_V02
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100401 bool "SBI v0.2 or later support"
Bin Menga75325e2020-04-16 08:09:32 -0700402 depends on SBI
403 help
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100404 The SBI specification introduced the concept of extensions in version
405 v0.2. With this configuration option U-Boot can detect and use SBI
406 extensions. With the HSM extension introduced in SBI 0.2, only a
407 single hart needs to boot and enter the operating system. The booting
408 hart can bring up secondary harts one by one afterwards.
Bin Menga75325e2020-04-16 08:09:32 -0700409
Heinrich Schuchardt693baee2022-11-08 15:53:12 +0100410 Choose this option if OpenSBI release v0.7 or above is used together
Bin Menga75325e2020-04-16 08:09:32 -0700411 with U-Boot.
412
413endchoice
414
Lukas Auere79178b2019-03-17 19:28:34 +0100415config SBI_IPI
416 bool
Bin Mengee3bcd02020-03-09 19:35:28 -0700417 depends on SBI
Lukas Auer61346592019-08-21 21:14:43 +0200418 default y if RISCV_SMODE || SPL_RISCV_SMODE
Lukas Auere79178b2019-03-17 19:28:34 +0100419 depends on SMP
420
Rick Chene5e6c362019-04-30 13:49:33 +0800421config XIP
422 bool "XIP mode"
423 help
424 XIP (eXecute In Place) is a method for executing code directly
425 from a NOR flash memory without copying the code to ram.
426 Say yes here if U-Boot boots from flash directly.
427
Nikita Shubin7e5e0292022-09-02 11:47:39 +0300428config SPL_XIP
429 bool "Enable XIP mode for SPL"
430 help
431 If SPL starts in read-only memory (XIP for example) then we shouldn't
432 rely on lock variables (for example hart_lottery and available_harts_lock),
433 this affects only SPL, other stages should proceed as non-XIP.
434
Rick Chen9c4d5c12022-09-21 14:34:54 +0800435config AVAILABLE_HARTS
436 bool "Send IPI by available harts"
437 default y
438 help
439 By default, IPI sending mechanism will depend on available_harts.
440 If disable this, it will send IPI by CPUs node numbers of device tree.
441
Sean Andersone8b46a12019-12-25 00:27:44 -0500442config SHOW_REGS
443 bool "Show registers on unhandled exception"
444
Sean Anderson7f4b6662020-06-24 06:41:19 -0400445config RISCV_PRIV_1_9
446 bool "Use version 1.9 of the RISC-V priviledged specification"
447 help
448 Older versions of the RISC-V priviledged specification had
449 separate counter enable CSRs for each privilege mode. Writing
450 to the unified mcounteren CSR on a processor implementing the
451 old specification will result in an illegal instruction
452 exception. In addition to counter CSR changes, the way virtual
453 memory is configured was also changed.
454
Lukas Auera3596652019-03-17 19:28:37 +0100455config STACK_SIZE_SHIFT
456 int
Lukas Auer03813702019-10-20 20:53:47 +0200457 default 14
Lukas Auera3596652019-03-17 19:28:37 +0100458
Bin Meng2bdcd052020-06-25 18:16:08 -0700459config OF_BOARD_FIXUP
Sean Anderson584a5ee2020-09-05 09:22:11 -0400460 default y if OF_SEPARATE && RISCV_SMODE
Bin Meng2bdcd052020-06-25 18:16:08 -0700461
Bin Mengce64bd32021-05-13 16:46:18 +0800462menu "Use assembly optimized implementation of memory routines"
463
Heinrich Schuchardt23caf662021-03-27 12:37:04 +0100464config USE_ARCH_MEMCPY
465 bool "Use an assembly optimized implementation of memcpy"
466 default y
467 help
468 Enable the generation of an optimized version of memcpy.
469 Such an implementation may be faster under some conditions
470 but may increase the binary size.
471
472config SPL_USE_ARCH_MEMCPY
473 bool "Use an assembly optimized implementation of memcpy for SPL"
474 default y if USE_ARCH_MEMCPY
475 depends on SPL
476 help
477 Enable the generation of an optimized version of memcpy.
478 Such an implementation may be faster under some conditions
479 but may increase the binary size.
480
481config TPL_USE_ARCH_MEMCPY
482 bool "Use an assembly optimized implementation of memcpy for TPL"
483 default y if USE_ARCH_MEMCPY
484 depends on TPL
485 help
486 Enable the generation of an optimized version of memcpy.
487 Such an implementation may be faster under some conditions
488 but may increase the binary size.
489
490config USE_ARCH_MEMMOVE
491 bool "Use an assembly optimized implementation of memmove"
492 default y
493 help
494 Enable the generation of an optimized version of memmove.
495 Such an implementation may be faster under some conditions
496 but may increase the binary size.
497
498config SPL_USE_ARCH_MEMMOVE
499 bool "Use an assembly optimized implementation of memmove for SPL"
500 default y if USE_ARCH_MEMCPY
501 depends on SPL
502 help
503 Enable the generation of an optimized version of memmove.
504 Such an implementation may be faster under some conditions
505 but may increase the binary size.
506
507config TPL_USE_ARCH_MEMMOVE
508 bool "Use an assembly optimized implementation of memmove for TPL"
509 default y if USE_ARCH_MEMCPY
510 depends on TPL
511 help
512 Enable the generation of an optimized version of memmove.
513 Such an implementation may be faster under some conditions
514 but may increase the binary size.
515
516config USE_ARCH_MEMSET
517 bool "Use an assembly optimized implementation of memset"
518 default y
519 help
520 Enable the generation of an optimized version of memset.
521 Such an implementation may be faster under some conditions
522 but may increase the binary size.
523
524config SPL_USE_ARCH_MEMSET
525 bool "Use an assembly optimized implementation of memset for SPL"
526 default y if USE_ARCH_MEMSET
527 depends on SPL
528 help
529 Enable the generation of an optimized version of memset.
530 Such an implementation may be faster under some conditions
531 but may increase the binary size.
532
533config TPL_USE_ARCH_MEMSET
534 bool "Use an assembly optimized implementation of memset for TPL"
535 default y if USE_ARCH_MEMSET
536 depends on TPL
537 help
538 Enable the generation of an optimized version of memset.
539 Such an implementation may be faster under some conditions
540 but may increase the binary size.
541
Rick Chen64d4ead2017-12-26 13:55:52 +0800542endmenu
Bin Mengce64bd32021-05-13 16:46:18 +0800543
Randolphb1bc7a72023-10-12 14:35:04 +0800544config SPL_LOAD_FIT_OPENSBI_OS_BOOT
545 bool "Enable SPL (OpenSBI OS boot mode) applying linux from FIT"
546 depends on SPL_LOAD_FIT
547 help
548 Use fw_dynamic from the FIT image, and u-boot SPL will invoke it directly.
549 This is a shortcut boot flow, from u-boot SPL -> OpenSBI -> u-boot proper
550 -> linux to u-boot SPL -> OpenSBI -> linux.
551
Bin Mengce64bd32021-05-13 16:46:18 +0800552endmenu