u-boot/cmd
Kyle Evans 2058983689 cmd: bootefi: restore ability to boot arbitrary blob
Up until commit 5f59518a7b ("efi_loader: setting boot device"), we
could boot an arbitrary blob with bootefi. Indeed, efi_run_image() even
has a special case for missing device paths indicating a payload that
was directly loaded via JTAG, for example.

Restore the ability to inject a UEFI payload into memory and `bootefi`
it. If the address passed isn't the last PE-COFF loaded, then we'll
wipe out the pre-existing DP/Image information and let efi_run_image()
synthesize a memory device path.

An image size is required if we're booting an arbitrary payload, and
the FDT argument has been changed to accept `-`. The size could be
deduced from the image header, but it's required anyways as an explicit
acknowledgment that one's trying to boot an arbitrary payload rather
than accidentally using the wrong address in the single-addr form.

Fixes: 5f59518a7b ("efi_loader: setting boot device")
Signed-off-by: Kyle Evans <kevans@FreeBSD.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-04-23 22:05:33 +02:00
..
arm cmd: exception: arm64: fix undefined, add faults 2022-03-02 13:59:29 -05:00
broadcom global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
mvebu Convert CONFIG_ENV_SPI_BUS et al to Kconfig 2021-12-27 08:40:33 -05:00
riscv cmd/sbi: add missing SBI information 2022-04-06 09:40:05 +08:00
sandbox cmd: sandbox: implement exception command 2020-12-13 07:58:17 -07:00
ti global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
x86 Merge https://source.denx.de/u-boot/custodians/u-boot-x86 2021-08-02 21:35:50 -04:00
.gitignore
ab_select.c part: Support getting whole disk from part_get_info_by_dev_and_name_or_num 2021-02-26 15:30:55 +01:00
abootimg.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
acpi.c acpi: Tidy up the table list 2022-01-25 11:44:36 -07:00
adc.c cmd: adc: Report return value on error 2022-01-14 13:16:11 -05:00
addrmap.c cmd: Add a command to display the address map 2021-03-05 10:25:43 +05:30
adtimg.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
aes.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
armflash.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
avb.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
axi.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
bcb.c cmd: bcb: fix bcb struct alignment issue 2022-02-05 15:49:00 +01:00
bdinfo.c video: Drop references to CONFIG_VIDEO et al 2022-03-28 20:17:07 +02:00
bind.c cmd: bind: Fix driver binding on a device 2021-10-12 14:19:52 +02:00
binop.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
blk_common.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
blkcache.c cmd:Elaborate 'blkcache' cmd HELP statement 2021-08-04 15:58:31 -04:00
blob.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
bloblist.c cmd: Add missing check for CONFIG_SYS_LONGHELP 2021-03-27 15:04:30 +13:00
bmp.c video: Drop references to CONFIG_VIDEO et al 2022-03-28 20:17:07 +02:00
boot.c cmd: boot: Update reset usage message 2021-08-26 08:08:11 +02:00
bootcount.c
bootefi.c cmd: bootefi: restore ability to boot arbitrary blob 2022-04-23 22:05:33 +02:00
booti.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
bootm.c cmd: bootm: add subcommand preload 2022-03-31 14:12:23 -04:00
bootmenu.c bootmenu: Allow to quit it via ESC/CTRL+C 2021-01-16 14:49:09 -05:00
bootstage.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
bootz.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
btrfs.c
button.c dm: treewide: Rename 'platdata' variables to just 'plat' 2020-12-13 16:51:08 -07:00
cache.c
cbfs.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
clk.c cmd: clk: fix long help message 2022-02-25 01:41:04 -05:00
clone.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
cls.c video: Drop cfg_console 2022-03-28 20:14:24 +02:00
config.c
conitrace.c cmd: conitrace: increase wait for next key 2021-01-13 02:38:01 +01:00
console.c
cpu.c dm: Avoid accessing seq directly 2020-12-18 20:32:21 -07:00
cramfs.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
cros_ec.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
dataflash_mmc_mux.c
date.c Convert CONFIG_SYS_I2C_LEGACY to Kconfig and add CONFIG_[ST]PL_SYS_I2C_LEGACY 2021-08-30 14:10:07 -04:00
demo.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
dfu.c cmd/dfu: Enable 'dfu list' command without DFU_OVER_USB 2022-02-11 11:29:23 -05:00
diag.c
disk.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
dm.c
echo.c cmd: change suppress newline in echo command 2021-01-25 01:15:33 +01:00
eeprom.c cmd: eeprom: Do not rewrite EEPROM I2C bus with DM I2C enabled 2022-03-23 07:27:37 +01:00
efi.c efi: Support the efi command in the app 2022-01-15 10:57:22 +01:00
efidebug.c cmd: efidebug: Disable 'capsule disk-update' when CONFIG_EFI_CAPSULE_ON_DISK=n 2022-04-09 21:06:31 +02:00
elf.c bootm: Tidy up use of autostart env var 2021-11-16 14:35:09 -05:00
erofs.c fs/erofs: add filesystem commands 2022-03-15 16:19:29 -04:00
ethsw.c
event.c event: Add a command 2022-03-10 08:28:36 -05:00
exit.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
ext2.c
ext4.c
extension_board.c cmd: add support for a new "extension" command 2021-05-13 13:09:05 -04:00
fastboot.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
fat.c
fdt.c cmd: fdt: Use start/size for chosen instead of start/end 2022-04-01 15:03:13 -04:00
flash.c mtd: cfi: introduce CFI_FLASH_BANKS 2022-01-21 14:01:35 -05:00
fpga.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
fpgad.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
fs.c
fs_uuid.c
fuse.c cmd: fuse: Add a command to read fuses to memory 2022-02-18 18:12:23 +01:00
gettime.c
gpio.c cmd: gpio: Add gpio read subcommand 2022-04-20 11:14:39 -04:00
gpt.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
hash.c
help.c
host.c sandbox: Drop CONFIG_HOST_MAX_DEVICES 2021-12-05 09:23:15 -07:00
i2c.c cmd/i2c.c: Remove unused legacy code 2021-08-30 14:10:07 -04:00
ide.c
ini.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
io.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
iotrace.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
irq.c
itest.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
jffs2.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
kaslrseed.c cmd: kaslrseed: add command to generate value from hwrng 2021-12-24 10:54:56 +08:00
Kconfig cmd: gpio: Add gpio read subcommand 2022-04-20 11:14:39 -04:00
led.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
legacy-mtd-utils.c
legacy-mtd-utils.h
legacy_led.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
license.c
load.c loads: Block writes into LMB reserved areas of U-Boot 2021-10-25 14:29:37 -04:00
log.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
lsblk.c dm: treewide: Rename 'platdata' variables to just 'plat' 2020-12-13 16:51:08 -07:00
lzmadec.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
mac.c
Makefile fs/erofs: add filesystem commands 2022-03-15 16:19:29 -04:00
mbr.c mbr: Correct verification check 2021-11-28 16:51:51 -07:00
md5sum.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
mdio.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
mem.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
mfsl.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
mii.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
misc.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
mmc.c cmd/mmc: fix output of mmc info for e-MMC 2022-03-16 16:40:57 +09:00
mp.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
mtd.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
mtdparts.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
mux.c
nand.c cmd: nand biterr - Add support for nand biterr command 2021-10-26 15:26:45 -04:00
net.c net: Drop #ifdefs with CONFIG_BOOTP_SERVERIP 2022-01-21 14:01:35 -05:00
nvedit.c cmd: env: Add indirect to indirectly set values 2022-04-07 16:50:42 -04:00
nvedit_efi.c cmd: printenv: simplify printing GUIDs 2022-01-19 16:16:33 +01:00
nvme.c
onenand.c mtd: Remove mtd_erase_callback() entirely 2021-10-23 15:47:33 +05:30
optee_rpmb.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
osd.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
panic.c
part.c cmd: part: list all 128 GPT partitions 2022-01-15 10:57:22 +01:00
pcap.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
pci.c pci: Extend 'pci' command with bus option '*' 2022-01-28 17:58:41 -05:00
pinmux.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
pmc.c
pmic.c dm: Avoid accessing seq directly 2020-12-18 20:32:21 -07:00
printf.c cmd: setexpr: add format string handling 2021-07-27 14:50:47 -04:00
printf.h cmd: setexpr: add format string handling 2021-07-27 14:50:47 -04:00
pstore.c pstore: Support already existing reserved-memory node 2022-02-14 13:03:49 -05:00
pvblock.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
pwm.c cmd: pwm: fix typo 'eisable' -> 'disable' 2022-03-04 15:20:06 -05:00
pxe.c pxe: Allow calling the pxe_get logic directly 2021-11-11 19:02:43 -05:00
qfw.c qfw: Switch to CONFIG_SYS_LOAD_ADDR from CONFIG_LOADADDR 2021-08-31 17:46:37 -04:00
read.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
reginfo.c
regulator.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
reiser.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
remoteproc.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
rng.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
rockusb.c
rtc.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
sata.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
sb.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
scp03.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
scsi.c
setexpr.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
sf.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
sha1sum.c
sleep.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
smccc.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
sound.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
source.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
spi.c WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
spl.c arm: use CONFIG_SUPPORT_PASSING_ATAGS 2021-09-24 14:30:46 -04:00
sqfs.c
stackprot_test.c cmd: wrong printf() code in do_test_stackprot_fail() 2022-02-11 10:52:37 -05:00
strings.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
sysboot.c pxe: Refactor sysboot to have one helper 2021-11-11 19:02:39 -05:00
terminal.c terminal: only serial_reinit_all if available 2021-04-12 17:44:55 -04:00
test.c
thordown.c thor: add support for the dfu_alt_info reintialization from the flashed script 2021-01-31 14:08:56 +01:00
time.c
timer.c
tlv_eeprom.c cmd: tlv_eeprom 2021-10-21 07:39:05 +02:00
tpm-common.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
tpm-user-utils.h
tpm-v1.c cmd: tpm-v1: fix load_key_by_sha1 compile errors 2021-11-17 13:47:27 +02:00
tpm-v2.c tpm: use more algorithms than sha256 on pcr_read 2021-11-30 09:23:49 +01:00
tpm_test.c tpm: Switch TPMv1 over to use the new API 2021-03-02 15:53:37 -05:00
trace.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
tsi148.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
ubi.c cmd: ubi.c: skip part command if right partition is already attached 2022-04-14 15:39:15 -04:00
ubifs.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
ufs.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
universe.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
unlz4.c lz4: Use a private header for U-Boot 2021-10-09 13:09:56 -04:00
unzip.c sandbox: Enable support for the gzip command 2021-12-26 23:02:19 +01:00
usb.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
usb_gadget_sdp.c
usb_mass_storage.c cmd: usb_mass_storage: Use part_get_info_by_dev_and_name_or_num 2021-10-30 22:55:00 +02:00
version.c Remove including timestamp.h in version.h 2021-09-17 12:10:44 -04:00
virtio.c virtio: call device_probe() in scanning 2022-04-09 21:06:31 +02:00
w1.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
wdt.c
wol.c
ximg.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
yaffs2.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
zfs.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
zip.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00