| 70bfcdc6 | 20-Jun-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: disk: iterate only over valid block devices
The efi_loader currently stops iterating over the available block devices stopping at the first device that fails. This may imply that no bloc
efi_loader: disk: iterate only over valid block devices
The efi_loader currently stops iterating over the available block devices stopping at the first device that fails. This may imply that no block device is found.
With the patch efi_loader only iterates over valid devices.
It is based on patch 06d592bf52f6 (dm: core: Add uclass_first/next_device_check()) which is currently in u-boot-dm.git.
For testing I used an odroid-c2 with a dts including &sd_emmc_a { status = "okay"; }; This device does not exist on the board and cannot be initialized.
Without the patch:
=> bootefi hello ## Starting EFI application at 01000000 ... WARNING: Invalid device tree, expect boot to fail mmc_init: -95, time 1806 Found 0 disks Hello, world! ## Application terminated, r = 0
With the patch:
=> bootefi hello ## Starting EFI application at 01000000 ... WARNING: Invalid device tree, expect boot to fail mmc_init: -95, time 1806 Scanning disk mmc@70000.blk... Scanning disk mmc@72000.blk... Card did not respond to voltage select! mmc_init: -95, time 9 Scanning disk mmc@74000.blk... Found 3 disks Hello, world! ## Application terminated, r = 0
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| c2e703f9 | 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: implement LocateHandleBuffer
UEFI boot service LocateHandleBuffer is implemented by calling efi_allocate_handle and efi_locate_handle.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gm
efi_loader: implement LocateHandleBuffer
UEFI boot service LocateHandleBuffer is implemented by calling efi_allocate_handle and efi_locate_handle.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| 26329584 | 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: refactor efi_locate_handle
To implement LocateHandleBuffer we need to call efi_locate_handle internally without running through EFI_EXIT.
So put EFI_ENTRY and EFI_EXIT into a new wrappe
efi_loader: refactor efi_locate_handle
To implement LocateHandleBuffer we need to call efi_locate_handle internally without running through EFI_EXIT.
So put EFI_ENTRY and EFI_EXIT into a new wrapper function efi_locate_handle_ext.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| 58b83586 | 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: implement InstallMultipleProtocolInterfaces
Implement InstallMultipleProtocolInterfaces in function efi_install_multiple_protocol_interfaces by repeatedly calling efi_install_protocol_in
efi_loader: implement InstallMultipleProtocolInterfaces
Implement InstallMultipleProtocolInterfaces in function efi_install_multiple_protocol_interfaces by repeatedly calling efi_install_protocol_interface.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| 3d8e1456 | 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: refactor efi_uninstall_protocol_interface
For the implementation of UninstallMultipleProtocolInterfaces we need to call efi_uninstall_protocol_interface. In internal calls we should not
efi_loader: refactor efi_uninstall_protocol_interface
For the implementation of UninstallMultipleProtocolInterfaces we need to call efi_uninstall_protocol_interface. In internal calls we should not pass through EFI_EXIT.
The patch introduces a wrapper function efi_uninstall_protocol_interface_ext.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| 8bee5a3c | 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: refactor efi_install_protocol_interface
For the implementation of InstallMultipleProtocolInterfaces we need to call efi_install_protocol_interface. In internal calls we should not pass t
efi_loader: refactor efi_install_protocol_interface
For the implementation of InstallMultipleProtocolInterfaces we need to call efi_install_protocol_interface. In internal calls we should not pass through EFI_EXIT.
The patch introduces a wrapper function efi_install_protocol_interface_ext.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| 4b6ed0d7 | 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: implement UninstallProtocolInterface
Without the patch efi_uninstall_protocol_interface always returns an error.
With the patch protocols without interface can be uninstalled.
Signed-o
efi_loader: implement UninstallProtocolInterface
Without the patch efi_uninstall_protocol_interface always returns an error.
With the patch protocols without interface can be uninstalled.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| e0549f8a | 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: implement InstallProtocolInterface
efi_install_protocol_interface up to now only returned an error code.
The patch implements the UEFI specification for InstallProtocolInterface with th
efi_loader: implement InstallProtocolInterface
efi_install_protocol_interface up to now only returned an error code.
The patch implements the UEFI specification for InstallProtocolInterface with the exception that it will not create new handles.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| 69baec67 | 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: efi_open_protocol: parameter checks
Add all parameter checks for function efi_open_protocol that do not depend on a locking table.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de
efi_loader: efi_open_protocol: parameter checks
Add all parameter checks for function efi_open_protocol that do not depend on a locking table.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| da684a64 | 03-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: abort on unsupported relocation type
If a relocation type is not supported loading the EFI binary should be aborted.
Writing a message only is insufficient.
Signed-off-by: Heinrich Sch
efi_loader: abort on unsupported relocation type
If a relocation type is not supported loading the EFI binary should be aborted.
Writing a message only is insufficient.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> [agraf: use a() != b coding style] Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| 8e1d329f | 29-Jun-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: efi_handle_protocol set attributes
UEFI spec 2.7 indicates that HandleProtocol can be implemented by calling OpenProtocol with attributes = EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL.
Current
efi_loader: efi_handle_protocol set attributes
UEFI spec 2.7 indicates that HandleProtocol can be implemented by calling OpenProtocol with attributes = EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL.
Currently we pass attributes = 0 to efi_open_protocol. 0 is not a valid value when calling OpenProtocol. This does not cause any errors yet because our implementation of OpenProtocol is incomplete.
We should pass the correct value to enable a fully compliant implementation of OpenProtocol in the future.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| 6e0bf8d8 | 22-Jun-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
efi_loader: add static to local functions
These are locally used in lib/efi_loader/efi_boottime.c
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Bin Meng <bmeng.cn@gmai
efi_loader: add static to local functions
These are locally used in lib/efi_loader/efi_boottime.c
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| a95343b8 | 12-Mar-2017 |
Jonathan Gray <jsg@jsg.id.au> |
efi_loader: check CreateEvent() parameters
Add some of the invalid parameter checks described in the UEFI specification for CreateEvent(). This does not include checking the validity of the type an
efi_loader: check CreateEvent() parameters
Add some of the invalid parameter checks described in the UEFI specification for CreateEvent(). This does not include checking the validity of the type and tpl parameters.
Signed-off-by: Jonathan Gray <jsg@jsg.id.au> Acked-By: Heinrich Schuchardt <xypron.glpk@gmx.de> [agraf: fix checkpatch.pl indent warning] Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| 555ba488 | 27-May-2017 |
Simon Glass <sjg@chromium.org> |
fdt: Rename existing python libfdt module
Now that this module has been accepted upstream we should stop using the local U-Boot one. In preparation for this, rename it to indicate it is for legacy u
fdt: Rename existing python libfdt module
Now that this module has been accepted upstream we should stop using the local U-Boot one. In preparation for this, rename it to indicate it is for legacy use.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|