| 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 ...
|
| 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 ...
|
| 5be8b0a3 | 08-Nov-2016 |
Emmanuel Vadot <manu@bidouilliste.com> |
efi_loader: console: Correctly report modes
Add support for EFI console modes. Mode 0 is always 80x25 and present by EFI specification. Mode 1 is always 80x50 and not mandatory. Mode 2 and above is
efi_loader: console: Correctly report modes
Add support for EFI console modes. Mode 0 is always 80x25 and present by EFI specification. Mode 1 is always 80x50 and not mandatory. Mode 2 and above is freely usable.
If the terminal can handle mode 1, we mark it as supported. If the terminal size is greater than mode 0 and different than mode 1, we install it as mode 2.
Modes can be switch with cout_set_mode.
Changes in V5: Correctly detect mode before enabling mode 2.
Changes in V4: Reset cursor positon on mode switch Use local variables in console query code
Changes in V3: Valid mode are 0 to EFIMode-1 Fix style
Changes in V2: Add mode switch Report only the modes that we support
Signed-off-by: Emmanuel Vadot <manu@bidouilliste.com> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| d7608aba | 24-Oct-2016 |
Oleksandr Tymoshenko <gonzo@bluezbox.com> |
efi: Use device device path type Messaging for network interface node
When adding network interface node use Messaging device path with subtype MAC Address and device's MAC address as a value instea
efi: Use device device path type Messaging for network interface node
When adding network interface node use Messaging device path with subtype MAC Address and device's MAC address as a value instead of Media Device path type with subtype File Path and path "Net"
Signed-off-by: Oleksandr Tymoshenko <gonzo@bluezbox.com> Signed-off-by: Alexander Graf <agraf@suse.de>
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 ...
|
| 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 ...
|
| 8f661a5b | 06-Jun-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: gop: Expose fb when 32bpp
When we're running in 32bpp mode, expose the frame buffer address to our payloads so that Linux efifb can pick it up.
Signed-off-by: Alexander Graf <agraf@suse
efi_loader: gop: Expose fb when 32bpp
When we're running in 32bpp mode, expose the frame buffer address to our payloads so that Linux efifb can pick it up.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| 712cd298 | 06-Sep-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Allow bouncing for network
So far bounce buffers were only used for disk I/O, but network I/O may suffer from the same problem.
On platforms that have problems doing DMA on high address
efi_loader: Allow bouncing for network
So far bounce buffers were only used for disk I/O, but network I/O may suffer from the same problem.
On platforms that have problems doing DMA on high addresses, let's also bounce outgoing network packets. Incoming ones always already get bounced.
This patch fixes EFI PXE boot on ZynqMP for me.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| 80a4800e | 16-Aug-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Allow boards to implement get_time and reset_system
EFI allows an OS to leverage firmware drivers while the OS is running. In the generic code we so far had to stub those implementations
efi_loader: Allow boards to implement get_time and reset_system
EFI allows an OS to leverage firmware drivers while the OS is running. In the generic code we so far had to stub those implementations out, because we would need board specific knowledge about MMIO setups for it.
However, boards can easily implement those themselves. This patch provides the framework so that a board can implement its own versions of get_time and reset_system which would actually do something useful.
While at it we also introduce a simple way for code to reserve MMIO pointers as runtime available.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|