| #
1a4f6af8 |
| 02-Mar-2020 |
Joseph Chen <chenjh@rock-chips.com> |
Merge branch 'next-dev' into thunder-boot
|
| #
a0955e7e |
| 13-Sep-2017 |
Rob Clark <robdclark@gmail.com> |
UPSTREAM: efi_loader: use proper device-paths for partitions
Also, create disk objects for the disk itself, in addition to the partitions. (UEFI terminology is a bit confusing, a "disk" object is r
UPSTREAM: efi_loader: use proper device-paths for partitions
Also, create disk objects for the disk itself, in addition to the partitions. (UEFI terminology is a bit confusing, a "disk" object is really a partition.) This helps grub properly identify the boot device since it is trying to match up partition "disk" object with it's parent device.
Now instead of seeing devices like:
/File(sdhci@07864000.blk)/EndEntire /File(usb_mass_storage.lun0)/EndEntire
You see:
/ACPI(133741d0,0)/UnknownMessaging(1d)/EndEntire /ACPI(133741d0,0)/UnknownMessaging(1d)/HD(0,800,64000,dd904a8c00000000,1,1)/EndEntire /ACPI(133741d0,0)/UnknownMessaging(1d)/HD(1,64800,200000,dd904a8c00000000,1,1)/EndEntire /ACPI(133741d0,0)/UnknownMessaging(1d)/HD(2,264800,19a000,dd904a8c00000000,1,1)/EndEntire /ACPI(133741d0,0)/USB(0,0)/USB(0,0)/USB(0,0)/EndEntire /ACPI(133741d0,0)/USB(0,0)/USB(0,0)/USB(0,0)/HD(0,800,60000,38ca680200000000,1,1)/EndEntire /ACPI(133741d0,0)/USB(0,0)/USB(0,0)/USB(0,0)/HD(1,61000,155000,38ca680200000000,1,1)/EndEntire /ACPI(133741d0,0)/USB(0,0)/USB(0,0)/USB(0,0)/HD(2,20fa800,1bbf8800,38ca680200000000,1,1)/EndEntire /ACPI(133741d0,0)/USB(0,0)/USB(0,0)/USB(0,0)/HD(3,1b6800,1f44000,38ca680200000000,1,1)/EndEntire
This is on a board with single USB disk and single sd-card. The UnknownMessaging(1d) node in the device-path is the MMC device, but grub_efi_print_device_path() hasn't been updated yet for some of the newer device-path sub-types.
This patch is inspired by a patch originally from Peter Jones, but re-worked to use efi_device_path, so it doesn't much resemble the original.
Signed-off-by: Rob Clark <robdclark@gmail.com> [agraf: s/unsigned/unsigned int/] Signed-off-by: Alexander Graf <agraf@suse.de> (cherry picked from commit 884bcf6f65c414dce3b3d2a91e2c9eba0e5e08f8)
Change-Id: I8d891a25dd321b718b0429d8b8a895cc4490f272 Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
show more ...
|
| #
2218b32d |
| 31-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-29
A lot of EFI greatness this time around. Thanks a lot to the two amazing new contributors
Heinrich S
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
Patch queue for efi - 2017-07-29
A lot of EFI greatness this time around. Thanks a lot to the two amazing new contributors
Heinrich Schuchardt and Rob Clark
we now gain
- stable objects across multiple bootefi invocations - fixes for shim - fixes for ipxe - protocol installation - device path conversion to/from text - working "lsefi" support in grub - working notifiers - various bug fixes
show more ...
|
| #
3304990b |
| 26-Jul-2017 |
Rob Clark <robdclark@gmail.com> |
efi_loader: remove more double EFI_EXIT() in efi_disk.c
Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
|
| #
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 ...
|
| #
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 ...
|
| #
1acc0087 |
| 27-Jan-2017 |
Patrick Delaunay <patrick.delaunay@st.com> |
disk: convert CONFIG_ISO_PARTITION to Kconfig
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Patrick Delaunay <patrick.delaunay73@gmail.com>
|
| #
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 ...
|
| #
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 ...
|
| #
0812d1a0 |
| 05-Aug-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: disk: Sanitize exposed devices
When a target device is 0 bytes long, there's no point in exposing it to the user. Let's just skip them.
Also, when an offset is passed into the efi disk
efi_loader: disk: Sanitize exposed devices
When a target device is 0 bytes long, there's no point in exposing it to the user. Let's just skip them.
Also, when an offset is passed into the efi disk creation, we should remove this offset from the total number of sectors we can handle.
This patch fixes both things.
Signed-off-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 ...
|
| #
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 ...
|
| #
e4a94ce4 |
| 27-May-2016 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-dm
For odroid-c2 (arch-meson) for now disable designware eth as meson now needs to do some harder GPIO work.
Signed-off-by: Tom Rini <trini@konsulko.com>
Conflicts:
Merge git://git.denx.de/u-boot-dm
For odroid-c2 (arch-meson) for now disable designware eth as meson now needs to do some harder GPIO work.
Signed-off-by: Tom Rini <trini@konsulko.com>
Conflicts: lib/efi_loader/efi_disk.c
Modified: configs/odroid-c2_defconfig
show more ...
|
| #
51735ae0 |
| 11-May-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Add bounce buffer support
Some hardware that is supported by U-Boot can not handle DMA above 32bits. For these systems, we need to come up with a way to expose the disk interface in a sa
efi_loader: Add bounce buffer support
Some hardware that is supported by U-Boot can not handle DMA above 32bits. For these systems, we need to come up with a way to expose the disk interface in a safe way.
This patch implements EFI specific bounce buffers. For non-EFI cases, this apparently was no issue so far, since we can just define our environment variables conveniently.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
487d756f |
| 14-May-2016 |
Simon Glass <sjg@chromium.org> |
dm: efi: Update for CONFIG_BLK
This code does not currently build with driver model enabled for block devices. Update it to correct this.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by:
dm: efi: Update for CONFIG_BLK
This code does not currently build with driver model enabled for block devices. Update it to correct this.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
08ca213a |
| 24-May-2016 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
|
| #
4b6e1fda |
| 17-May-2016 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-dm
|
| #
6dd9faf8 |
| 01-May-2016 |
Simon Glass <sjg@chromium.org> |
dm: part: Drop the block_drvr table
This is not needed since we can use the functions provided by the legacy block device support.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
| #
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 ...
|
| #
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 ...
|
| #
4a12a97c |
| 11-Apr-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Split drive add into function
The snippet of code to add a drive to our drive list needs to get called from 2 places in the future. Split it into a separate function.
Signed-off-by: Ale
efi_loader: Split drive add into function
The snippet of code to add a drive to our drive list needs to get called from 2 places in the future. Split it into a separate function.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
0f4060eb |
| 04-Mar-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Pass proper device path in on boot
EFI payloads can query for the device they were booted from. Because we have a disconnect between loading binaries and running binaries, we passed in a
efi_loader: Pass proper device path in on boot
EFI payloads can query for the device they were booted from. Because we have a disconnect between loading binaries and running binaries, we passed in a dummy device path so far.
Unfortunately that breaks grub2's logic to find its configuration file from the same device it was booted from.
This patch adds logic to have the "load" command call into our efi code to set the device path to the one we last loaded a binary from.
With this grub2 properly detects where we got booted from and can find its configuration file, even when searching by-partition.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
2a22d05d |
| 04-Mar-2016 |
Alexander Graf <agraf@suse.de> |
efi_loader: Add disk interfaces
A EFI applications usually want to access storage devices to load data from.
This patch adds support for EFI disk interfaces. It loops through all block storage inte
efi_loader: Add disk interfaces
A EFI applications usually want to access storage devices to load data from.
This patch adds support for EFI disk interfaces. It loops through all block storage interfaces known to U-Boot and creates an EFI object for each existing one. EFI applications can then through these objects call U-Boot's read and write functions.
Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> [trini: Update for various DM changes since posting] Signed-off-by: Tom Rini <trini@konsulko.com>
show more ...
|