u-boot-brain/lib/efi_loader
Jonathan Gray b6e9e09770 efi_loader: initialise partition_signature memory
Zero partition_signature in the efi_device_path_hard_drive_path
structure when signature_type is 0 (no signature) as required by the
UEFI specification.

This is required so that efi_dp_match() will work as expected
when doing memcmp() comparisons.  Previously uninitialised memory
would cause it not match nodes when it should have when the signature
type was not GUID.

Corrects a problem where the loaded image protocol would not return a
device path with MEDIA_DEVICE causing the OpenBSD bootloader to fail
on rpi_3 and other targets.

v2: Also handle signature_type 1 (MBR) as described in the specification

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Tested-by: Artturi Alm <artturi.alm@gmail.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
2017-12-01 13:23:02 +01:00
..
.gitignore lib: gitignore *.elf and *.so generated by efi_loader 2017-01-09 10:30:24 -05:00
efi_bootmgr.c efi_loader: add bootmgr 2017-09-20 11:08:01 +02:00
efi_boottime.c efi_loader: refactor efi_setup_loaded_image 2017-12-01 13:22:56 +01:00
efi_console.c efi_loader: efi_console: use helper functions 2017-12-01 13:22:56 +01:00
efi_device_path_to_text.c efi_loader: Add mem-mapped for fallback 2017-10-12 17:22:58 +02:00
efi_device_path.c efi_loader: initialise partition_signature memory 2017-12-01 13:23:02 +01:00
efi_disk.c efi_loader: efi_disk: check return value of calloc 2017-12-01 13:22:56 +01:00
efi_file.c efi_loader: add file/filesys support 2017-09-20 10:43:54 +02:00
efi_gop.c efi_loader: efi_gop: use correct types for parameters 2017-12-01 13:22:56 +01:00
efi_image_loader.c efi_loader: set loaded image code/data type properly 2017-09-20 11:10:24 +02:00
efi_memory.c efi_loader: consistently use efi_uintn_t in boot services 2017-12-01 13:22:56 +01:00
efi_net.c efi_loader: efi_net: check return value of calloc 2017-12-01 13:22:56 +01:00
efi_runtime.c efi_loader: efi variable support 2017-09-20 11:00:57 +02:00
efi_smbios.c smbios: Expose in efi_loader as table 2016-10-19 09:01:52 +02:00
efi_variable.c efi_loader: print GUIDs 2017-09-20 11:10:42 +02:00
efi_watchdog.c efi_loader: implement SetWatchdogTimer 2017-12-01 13:22:55 +01:00
helloworld.c efi: Add support for a hello world test program 2016-11-14 23:24:03 +01:00
Kconfig x86: Enable EFI loader support 2016-11-14 23:24:04 +01:00
Makefile efi_loader: implement SetWatchdogTimer 2017-12-01 13:22:55 +01:00