| #
2fd945fe |
| 18-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: use struct efi_event * instead of void *
In our implementation the internal structure of events is known. So use the known type instead of void.
Signed-off-by: Heinrich Schuchardt <xypr
efi_loader: use struct efi_event * instead of void *
In our implementation the internal structure of events is known. So use the known type instead of void.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
88adae5e |
| 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: reimplement efi_locate_protocol
The UEFI specification requires that LocateProtol finds the first handle supporting the protocol and to return a pointer to its interface.
So we have to
efi_loader: reimplement efi_locate_protocol
The UEFI specification requires that LocateProtol finds the first handle supporting the protocol and to return a pointer to its interface.
So we have to assign the protocols to an efi_object and not use any separate storage.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.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 ...
|
| #
b5349f74 |
| 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: refactor efi_open_protocol
efi_open_protocol was implemented to call a protocol specific open function to retrieve the protocol interface.
The UEFI specification does not know of such a
efi_loader: refactor efi_open_protocol
efi_open_protocol was implemented to call a protocol specific open function to retrieve the protocol interface.
The UEFI specification does not know of such a function.
It is not possible to implement InstallProtocolInterface with the current design.
With the patch the protocol interface itself is stored in the list of installed protocols of an efi_object instead of an open function.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> [agraf: fix efi gop support] Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
7e09145e |
| 04-Jul-2017 |
Tom Rini <trini@konsulko.com> |
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
Patch queue for efi - 2017-07-04
Highlights this time: bugfixes. With these changes, OpenBSD should be more happy.
|
| #
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 ...
|
| #
37a980b3 |
| 12-Mar-2017 |
Jonathan Gray <jsg@jsg.id.au> |
efi_loader: run CreateEvent() notify function based on flags
The UEFI specification states that the tpl, function and context arguments are to be ignored if neither EVT_NOTIFY_WAIT or EVT_NOTIFY_SIG
efi_loader: run CreateEvent() notify function based on flags
The UEFI specification states that the tpl, function and context arguments are to be ignored if neither EVT_NOTIFY_WAIT or EVT_NOTIFY_SIGNAL are specified. This matches observed behaviour with an AMI EDK2 based UEFI implementation.
Skip calling the notify function if neither flag is present.
Signed-off-by: Jonathan Gray <jsg@jsg.id.au> Acked-By: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
2d221489 |
| 29-Nov-2016 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
Signed-off-by: Stefano Babic <sbabic@denx.de>
|
| #
9e40ea04 |
| 17-Nov-2016 |
Tom Rini <trini@konsulko.com> |
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
Patch queue for efi - 2016-11-17
Highlights this time around:
- x86 efi_loader support - hello world efi test case - network devi
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
Patch queue for efi - 2016-11-17
Highlights this time around:
- x86 efi_loader support - hello world efi test case - network device name is now representative - terminal output reports modes correctly - fix psci reset for ls1043/ls1046 - fix efi_add_runtime_mmio definition for x86 - efi_loader support for ls2080
show more ...
|
| #
b7b8410a |
| 17-Nov-2016 |
Alexander Graf <agraf@suse.de> |
ls2080: Exit dpaa only right before exiting U-Boot
On ls2080 we have a separate network fabric component which we need to shut down before we enter Linux (or any other OS). Along with that also come
ls2080: Exit dpaa only right before exiting U-Boot
On ls2080 we have a separate network fabric component which we need to shut down before we enter Linux (or any other OS). Along with that also comes configuration of the fabric using a description file.
Today we always stop and configure the fabric in the boot script and (again) exit it on device tree generation. This works ok for the normal booti case, but with bootefi the payload we're running may still want to access the network.
So let's add a new fsl_mc command that defers configuration and stopping the hardware to when we actually exit U-Boot, so that we can still use the fabric from an EFI payload.
For existing boot scripts, nothing should change with this patch.
Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: York Sun <york.sun@nxp.com> [agraf: Fix x86 build]
show more ...
|
| #
3431b392 |
| 19-Oct-2016 |
Tom Rini <trini@konsulko.com> |
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
Patch queue for efi - 2016-10-19
Highlights this time around:
- Add run time service (power control) support for PSCI (fixed in v3)
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
Patch queue for efi - 2016-10-19
Highlights this time around:
- Add run time service (power control) support for PSCI (fixed in v3) - Add efi gop pointer exposure - SMBIOS support for EFI (on ARM) - efi pool memory unmap support (needed for 4.8) - initial x86 efi payload support (fixed up in v2) - various bug fixes
Signed-off-by: Tom Rini <trini@konsulko.com>
Conflicts: include/tables_csum.h
show more ...
|
| #
3c63db9c |
| 14-Oct-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Rename EFI_RUNTIME_{TEXT, DATA} to __efi_runtime{, _data}
Compiler attributes are more commonly __foo style tags rather than big upper case eye sores like EFI_RUNTIME_TEXT.
Simon Glass
efi_loader: Rename EFI_RUNTIME_{TEXT, DATA} to __efi_runtime{, _data}
Compiler attributes are more commonly __foo style tags rather than big upper case eye sores like EFI_RUNTIME_TEXT.
Simon Glass felt quite strongly about this, so this patch converts our existing defines over to more eye friendly ones.
Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
65e4c0b1 |
| 25-Sep-2016 |
Simon Glass <sjg@chromium.org> |
x86: efi: Add EFI loader support for x86
Add the required pieces to support the EFI loader on x86.
Since U-Boot only builds for 32-bit on x86, only a 32-bit EFI application is supported. If a 64-bi
x86: efi: Add EFI loader support for x86
Add the required pieces to support the EFI loader on x86.
Since U-Boot only builds for 32-bit on x86, only a 32-bit EFI application is supported. If a 64-bit kernel must be booted, U-Boot supports this directly using FIT (see doc/uImage.FIT/kernel.its). U-Boot can act as a payload for both 32-bit and 64-bit EFI.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
e275458c |
| 25-Sep-2016 |
Simon Glass <sjg@chromium.org> |
efi: Fix missing EFIAPI specifiers
These are missing in some functions. Add them to keep things consistent.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
efi: Fix missing EFIAPI specifiers
These are missing in some functions. Add them to keep things consistent.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Alexander Graf <agraf@suse.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
aba5e919 |
| 18-Aug-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Fix efi_install_configuration_table
So far we were only installing the FDT table and didn't have space to store any other. Hence nobody realized that our efi table allocation was broken
efi_loader: Fix efi_install_configuration_table
So far we were only installing the FDT table and didn't have space to store any other. Hence nobody realized that our efi table allocation was broken in that it didn't set the indicator for the number of tables plus one.
This patch fixes it, allowing code to allocate new efi tables.
Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
488bf12d |
| 18-Aug-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Expose efi_install_configuration_table
We want to be able to add configuration table entries from our own code as well as from EFI payload code. Export the boot service function internal
efi_loader: Expose efi_install_configuration_table
We want to be able to add configuration table entries from our own code as well as from EFI payload code. Export the boot service function internally too, so that we can reuse it.
Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Simon Glass <sjg@chromium.org>
show more ...
|