| #
ec6617c3 |
| 10-Nov-2016 |
Alison Wang <b18965@freescale.com> |
armv8: Support loading 32-bit OS in AArch32 execution state
To support loading a 32-bit OS, the execution state will change from AArch64 to AArch32 when jumping to kernel.
The architecture informat
armv8: Support loading 32-bit OS in AArch32 execution state
To support loading a 32-bit OS, the execution state will change from AArch64 to AArch32 when jumping to kernel.
The architecture information will be got through checking FIT image, then U-Boot will load 32-bit OS or 64-bit OS automatically.
Signed-off-by: Ebony Zhu <ebony.zhu@nxp.com> Signed-off-by: Alison Wang <alison.wang@nxp.com> Signed-off-by: Chenhui Zhao <chenhui.zhao@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
show more ...
|
| #
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 ...
|
| #
69bd459d |
| 17-Nov-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: AArch64: Run EFI payloads in EL2 if U-Boot runs in EL3
Some boards decided not to run ATF or other secure firmware in EL3, so they instead run U-Boot there. The uEFI spec doesn't know wh
efi_loader: AArch64: Run EFI payloads in EL2 if U-Boot runs in EL3
Some boards decided not to run ATF or other secure firmware in EL3, so they instead run U-Boot there. The uEFI spec doesn't know what EL3 is though - it only knows about EL2 and EL1. So if we see that we're running in EL3, let's get into EL2 to make payloads happy.
Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: York Sun <york.sun@nxp.com>
show more ...
|
| #
c7ae3dfd |
| 07-Nov-2016 |
Simon Glass <sjg@chromium.org> |
efi: Add support for a hello world test program
It is useful to have a basic sanity check for EFI loader support. Add a 'bootefi hello' command which loads HelloWord.efi and runs it under U-Boot.
S
efi: Add support for a hello world test program
It is useful to have a basic sanity check for EFI loader support. Add a 'bootefi hello' command which loads HelloWord.efi and runs it under U-Boot.
Signed-off-by: Simon Glass <sjg@chromium.org> [agraf: Fix documentation, add unfulfilled kconfig dep] Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
5ee31baf |
| 07-Nov-2016 |
Simon Glass <sjg@chromium.org> |
efi: Fix debug message address format
This should use U-Boot's standard format for hex address. Fix it.
Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Alexander Graf <agraf@suse.de>
|
| #
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 ...
|
| #
3fb97e26 |
| 18-Oct-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Revert device_handle to disk after net boot
When you boot an efi payload from network, then exit that payload and load another payload from disk afterwords, the disk payload will current
efi_loader: Revert device_handle to disk after net boot
When you boot an efi payload from network, then exit that payload and load another payload from disk afterwords, the disk payload will currently see the network device as its boot path.
This breaks grub2 for example which tries to find its modules based on the path it was loaded from.
This patch fixes that issue by always reverting to disk paths if we're not in the network boot. That way the data structures after a network boot look the same as before.
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 ...
|
| #
e663b350 |
| 18-Aug-2016 |
Alexander Graf <agraf@suse.de> |
smbios: Expose in efi_loader as table
We can pass SMBIOS easily as EFI configuration table to an EFI payload. This patch adds enablement for that case.
While at it, we also enable SMBIOS generation
smbios: Expose in efi_loader as table
We can pass SMBIOS easily as EFI configuration table to an EFI payload. This patch adds enablement for that case.
While at it, we also enable SMBIOS generation for ARM systems, since they support EFI_LOADER.
Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
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 ...
|
| #
3c1dcef6 |
| 13-Aug-2016 |
Bin Meng <bmeng.cn@gmail.com> |
cmd: efi_loader: Return CMD_RET_USAGE in case of not enough arguments
When typing 'bootefi' from U-Boot shell, nothing outputs. Like other commands, return CMD_RET_USAGE so that it can print help me
cmd: efi_loader: Return CMD_RET_USAGE in case of not enough arguments
When typing 'bootefi' from U-Boot shell, nothing outputs. Like other commands, return CMD_RET_USAGE so that it can print help message.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
f9d334bd |
| 05-Aug-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: disk: Fix CONFIG_BLK breakage
When using CONFIG_BLK, there were 2 issues:
1) The name we generate the device with has to match the name we set in efi_set_bootdev()
2) The devi
efi_loader: disk: Fix CONFIG_BLK breakage
When using CONFIG_BLK, there were 2 issues:
1) The name we generate the device with has to match the name we set in efi_set_bootdev()
2) The device we pass into our block functions was wrong, we should not rediscover it but just use the already known pointer.
This patch fixes both issues.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
49271666 |
| 20-Jul-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Make exposed image loader path absolute
When loading an efi image, we pass it the location it was loaded from.
On file system backends, there are no relative paths, so we should always
efi_loader: Make exposed image loader path absolute
When loading an efi image, we pass it the location it was loaded from.
On file system backends, there are no relative paths, so we should always pass in absolute ones. For network paths, we may be relative.
This fixes distro booting with grub2 for me when it fetches the grub2 config file from the loader partition.
Reported-by: york sun <york.sun@nxp.com> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
92dfd922 |
| 07-Jun-2016 |
Sergey Kubushyn <ksi@koi8.net> |
cmd: bootefi: cosmetic
Short help (description) in bootefi command has a trailing "\n" that breaks the "help" command output (empty line after "bootefi").
Nothing important, doesn't affect anything
cmd: bootefi: cosmetic
Short help (description) in bootefi command has a trailing "\n" that breaks the "help" command output (empty line after "bootefi").
Nothing important, doesn't affect anything but better be fixed in the upcoming release.
Still working on i.MX6 and their siblings NAND U-Boot update -- it works here but not ready for a submission yet. Anyway it is for the next cycle, not going to go into this release because it is too big and may affect something else.
Also have some thoughts about fastboot (using multiple devices) but this will go into separate email with RFC.
Signed-off-by: Sergey Kubushyn <ksi@koi8.net>
show more ...
|
| #
dc557e9a |
| 18-Jun-2016 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
Signed-off-by: Stefano Babic <sbabic@denx.de>
|
| #
edcef3ba |
| 02-Jun-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Move to normal debug infrastructure
We introduced special "DEBUG_EFI" defines when the efi loader support was new. After giving it a bit of thought, turns out we really didn't have to -
efi_loader: Move to normal debug infrastructure
We introduced special "DEBUG_EFI" defines when the efi loader support was new. After giving it a bit of thought, turns out we really didn't have to - the normal #define DEBUG infrastructure works well enough for efi loader as well.
So this patch switches to the common debug() and #define DEBUG way of printing debug information.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
a86aeaf2 |
| 20-May-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Add exit support
Some times you may want to exit an EFI payload again, for example to default boot into a PXE installation and decide that you would rather want to boot from the local di
efi_loader: Add exit support
Some times you may want to exit an EFI payload again, for example to default boot into a PXE installation and decide that you would rather want to boot from the local disk instead.
This patch adds exit functionality to the EFI implementation, allowing EFI payloads to exit.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
0efe1bcf |
| 06-May-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Add network access support
We can now successfully boot EFI applications from disk, but users may want to also run them from a PXE setup.
This patch implements rudimentary network suppo
efi_loader: Add network access support
We can now successfully boot EFI applications from disk, but users may want to also run them from a PXE setup.
This patch implements rudimentary network support, allowing a payload to send and receive network packets.
With this patch, I was able to successfully run grub2 with network access inside of QEMU's -M xlnx-ep108.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
1c39809b |
| 14-Apr-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Pass fdt address directly to bootefi cmd
The bootefi cmd today fetches its device tree pointer from either the location appointed by "fdt addr" with a fallback to the U-Boot control fdt.
efi_loader: Pass fdt address directly to bootefi cmd
The bootefi cmd today fetches its device tree pointer from either the location appointed by "fdt addr" with a fallback to the U-Boot control fdt.
This integration is unusual for U-Boot and diverges from the way we usually handle parameters to boot commands. So let's pass the fdt directly into the bootefi command instead and move the control fdt logic into the distro boot script.
Signed-off-by: Alexander Graf <agraf@suse.de> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Reviewed-by: Andreas Färber <afaerber@suse.de>
show more ...
|
| #
ad0c1a3d |
| 11-Apr-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Put fdt into convenient location
The uEFI spec doesn't dictate where the device tree should live at, but legacy 32bit ARM grub2 has some assumptions that it may stay at its place when it
efi_loader: Put fdt into convenient location
The uEFI spec doesn't dictate where the device tree should live at, but legacy 32bit ARM grub2 has some assumptions that it may stay at its place when it's already loaded by the firmware.
So let's put it somewhere where Linux that comes after would happily find it - around the recommended 128MB line.
Signed-off-by: Alexander Graf <agraf@suse.de> Tested-by: Andreas Färber <afaerber@suse.de>
show more ...
|
| #
0d9d501f |
| 11-Apr-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Use system fdt as fallback
When the user did not pass any device tree or the boot script didn't find any, let's use the system device tree as last resort to get something the payload (Li
efi_loader: Use system fdt as fallback
When the user did not pass any device tree or the boot script didn't find any, let's use the system device tree as last resort to get something the payload (Linux) may understand.
This means that on systems that use the same device tree for U-Boot and Linux we can just share it and there's no need to manually provide a device tree in the target image.
While at it, also copy and pad the device tree by 64kb to give us space for modifications.
Signed-off-by: Alexander Graf <agraf@suse.de> Tested-by: Andreas Färber <afaerber@suse.de>
show more ...
|
| #
ecbe1a07 |
| 11-Apr-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Increase path string to 32 characters
Whenever we want to tell our payload about a path, we limit ourselves to a reasonable amount of characters. So far we only passed in device names -
efi_loader: Increase path string to 32 characters
Whenever we want to tell our payload about a path, we limit ourselves to a reasonable amount of characters. So far we only passed in device names - exceeding 16 chars was unlikely there.
However by now we also pass real file path information, so let's increase the limit to 32 characters. That way common paths like "boot/efi/bootaa64.efi" fit just fine.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
c07ad7c0 |
| 11-Apr-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Pass file path to payload
The payload gets information on where it got loaded from. This includes the device as well as file path.
So far we've treated both as the same thing and always
efi_loader: Pass file path to payload
The payload gets information on where it got loaded from. This includes the device as well as file path.
So far we've treated both as the same thing and always gave it the device name. However, in some situations grub2 actually wants to find its loading path to find its configuration file.
So let's split the two semantically separte bits into separate structs and pass the loaded file name into our payload when we load it using "load".
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
8c3df0bf |
| 11-Apr-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Add el torito support
When loading an el torito image, uEFI exposes said image as a raw block device to the payload.
Let's do the same by creating new block devices with added offsets f
efi_loader: Add el torito support
When loading an el torito image, uEFI exposes said image as a raw block device to the payload.
Let's do the same by creating new block devices with added offsets for the respective el torito partitions.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
be8d3241 |
| 15-Mar-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Add GOP support
The EFI standard defines a simple boot protocol that an EFI payload can use to access video output.
This patch adds support to expose exactly that one (and the mode alre
efi_loader: Add GOP support
The EFI standard defines a simple boot protocol that an EFI payload can use to access video output.
This patch adds support to expose exactly that one (and the mode already in use) as possible graphical configuration to an EFI payload.
With this, I can successfully run grub2 with graphical output.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|