u-boot/common
Tom Rini 8cfac237b9 Merge branch '2022-04-25-initial-implementation-of-stdboot'
To quote the author:
The bootflow feature provide a built-in way for U-Boot to automatically
boot an Operating System without custom scripting and other customisation.
This is called 'standard boot' since it provides a standard way for
U-Boot to boot a distro, without scripting.

It introduces the following concepts:

   - bootdev - a device which can hold a distro
   - bootmeth - a method to scan a bootdev to find bootflows (owned by
                U-Boot)
   - bootflow - a description of how to boot (owned by the distro)

This series provides an implementation of these, enabled to scan for
bootflows from MMC, USB and Ethernet. It supports the existing distro
boot as well as the EFI loader flow (bootefi/bootmgr). It works
similiarly to the existing script-based approach, but is native to
U-Boot.

With this we can boot on a Raspberry Pi 3 with just one command:

   bootflow scan -lb

which means to scan, listing (-l) each bootflow and trying to boot each
one (-b). The final patch shows this.

With a standard way to identify boot devices, booting become easier. It
also should be possible to support U-Boot scripts, for backwards
compatibility only.

...

The design is described in these two documents:

https://drive.google.com/file/d/1ggW0KJpUOR__vBkj3l61L2dav4ZkNC12/view?usp=sharing

https://drive.google.com/file/d/1kTrflO9vvGlKp-ZH_jlgb9TY3WYG6FF9/view?usp=sharing
2022-04-25 16:02:27 -04:00
..
eeprom SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
init bootstage: Add SPL support 2021-10-31 12:26:44 -06:00
spl spl: allow boot from first bootable partition 2022-04-11 11:39:19 -04:00
autoboot.c env: Move the doc comment to the code 2022-04-07 16:50:53 -04:00
avb_verify.c avb: Fix error when partition not found 2021-03-17 12:50:19 -04:00
bloblist.c bloblist: Update to use conditional value 2022-02-08 23:07:59 -05:00
board_f.c Convert CONFIG_SYS_MEM_TOP_HIDE to Kconfig 2022-04-19 14:52:34 -04:00
board_info.c board-info: Call sysinfo_detect() before sysinfo_get_str() 2021-07-14 16:48:00 -04:00
board_r.c efi_loader: split efi_init_obj_list() into two stages 2022-04-23 22:05:41 +02:00
bootstage.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
bouncebuf.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
cli.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
cli_hush.c cli: slighly more clear error messages 2021-05-17 17:06:42 -04:00
cli_readline.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
cli_simple.c cli: Support macro processing with a fixed-size buffer 2020-12-04 16:10:01 -05:00
command.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
console.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
cros_ec.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
ddr_spd.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dfu.c dfu: add support for the dfu_alt_info reintialization from the flashed script 2021-01-31 14:08:56 +01:00
dlmalloc.c malloc: Annotate allocator for valgrind 2022-04-11 10:00:30 -04:00
dlmalloc.src Consolidate bool type 2013-04-01 16:33:52 -04:00
edid.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
event.c event: Convert arch_cpu_init_dm() to use events 2022-03-10 08:28:36 -05:00
exports.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
fdt_simplefb.c common: add fdt_simplefb_enable_and_mem_rsv function 2021-11-30 16:43:28 +01:00
fdt_support.c video: Drop references to CONFIG_VIDEO et al 2022-03-28 20:17:07 +02:00
flash.c mtd: cfi: introduce CFI_FLASH_BANKS 2022-01-21 14:01:35 -05:00
hash.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
hwconfig.c WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
iomux.c IOMUX: Fix buffer overflow in iomux_replace_device() 2021-04-27 08:05:30 -04:00
iotrace.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
kallsyms.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
Kconfig Convert CONFIG_CLOCKS to Kconfig 2022-04-01 10:28:47 -04:00
kgdb.c common: board_r: drop initr_kgdb wrapper 2022-01-18 08:31:02 -05:00
kgdb_stubs.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
lcd.c video: Drop CONFIG_LCD_BMP_RLE8 2022-03-28 20:30:33 +02:00
lcd_console.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
lcd_console_rotation.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
log.c event: Add basic support for events 2022-03-10 08:28:36 -05:00
log_console.c log: Allow padding of the function name 2021-07-21 10:27:35 -06:00
log_syslog.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
main.c efi_loader: split efi_init_obj_list() into two stages 2022-04-23 22:05:41 +02:00
Makefile event: Add basic support for events 2022-03-10 08:28:36 -05:00
malloc_simple.c malloc: Annotate allocator for valgrind 2022-04-11 10:00:30 -04:00
memsize.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
menu.c menu: add support for client defined statusline function 2020-05-07 09:01:42 -04:00
miiphyutil.c Convert CONFIG_PHY_RESET_DELAY to Kconfig 2022-03-25 12:01:15 +00:00
qfw.c x86: qemu: move QFW to its own uclass 2021-04-12 17:44:55 -04:00
s_record.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
scp03.c common: SCP03 control (enable and provision of keys) 2021-03-13 13:14:52 -05:00
splash.c video: Convert CONFIG_VIDEO_LOGO to Kconfig 2021-12-26 23:24:46 +01:00
splash_source.c video: Support virtio devices with the splash screen 2021-12-26 23:33:24 +01:00
stackprot.c Add support for stack-protector 2021-04-20 07:31:12 -04:00
stdio.c video: Drop references to CONFIG_VIDEO et al 2022-03-28 20:17:07 +02:00
system_map.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
update.c mtd: cfi: introduce CFI_FLASH_BANKS 2022-01-21 14:01:35 -05:00
usb.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
usb_hub.c usb: hub: Fix usb_get_port_status() for big-endian platforms 2021-04-06 16:38:57 +02:00
usb_kbd.c console: usb: kbd: Limit poll frequency to improve performance 2022-02-11 00:03:48 +01:00
usb_storage.c bootstd: usb: Add a bootdev driver 2022-04-25 10:00:04 -04:00
xyzModem.c xyz-modem: Allow to cancel transfer also by CTRL+C 2021-09-03 14:32:41 -04:00