| #
1a4f6af8 |
| 02-Mar-2020 |
Joseph Chen <chenjh@rock-chips.com> |
Merge branch 'next-dev' into thunder-boot
|
| #
2f0750eb |
| 13-Sep-2017 |
Rob Clark <robdclark@gmail.com> |
UPSTREAM: efi_loader: refactor boot device and loaded_image handling
Get rid of the hacky fake boot-device and duplicate device-path constructing (which needs to match what efi_disk and efi_net do).
UPSTREAM: efi_loader: refactor boot device and loaded_image handling
Get rid of the hacky fake boot-device and duplicate device-path constructing (which needs to match what efi_disk and efi_net do). Instead convert over to use efi_device_path helpers to construct device-paths, and use that to look up the actual boot device.
Also, extract out a helper to plug things in properly to the loaded_image. In a following patch we'll want to re-use this in efi_load_image() to handle the case of loading an image from a file_path.
Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de> (cherry picked from commit 95c5553ea268144056c4bafc318b9e8b5c096a6c)
Change-Id: Iaa6a9865f2cbd15d6537d200bd86662fa4baf5a0 Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
show more ...
|
| #
1fa8dee8 |
| 13-Sep-2017 |
Rob Clark <robdclark@gmail.com> |
UPSTREAM: efi_loader: add device-path utils
Helpers to construct device-paths from devices, partitions, files, and for parsing and manipulating device-paths.
For non-legacy devices, this will use u
UPSTREAM: efi_loader: add device-path utils
Helpers to construct device-paths from devices, partitions, files, and for parsing and manipulating device-paths.
For non-legacy devices, this will use u-boot's device-model to construct device-paths which include bus hierarchy to construct device-paths. For legacy devices we still fake it, but slightly more convincingly.
Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de> (cherry picked from commit b66c60dde9d48889b93694326d40f7e5208cff25)
Change-Id: I9825d4132ec08bef46a3b5b7c6946a5636d73ce9 Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
show more ...
|
| #
56192959 |
| 18-Aug-2017 |
Tom Rini <trini@konsulko.com> |
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
EFI Fixes for 2017.09: - Fix GOP w/o display - Fix LocateHandle - Fix exit return value truncation - Fix missing EFIAPI in efi_lo
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
EFI Fixes for 2017.09: - Fix GOP w/o display - Fix LocateHandle - Fix exit return value truncation - Fix missing EFIAPI in efi_locate_handle (for x86)
show more ...
|
| #
c81883df |
| 17-Aug-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: do not cast return value in EFI_EXIT
UEFI API functions have different return types. Some return a value of type EFI_STATUS other don't.
We therefore should not cast the return value of
efi_loader: do not cast return value in EFI_EXIT
UEFI API functions have different return types. Some return a value of type EFI_STATUS other don't.
We therefore should not cast the return value of EFI_EXIT to another type than the expression passed to EFI_EXIT.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
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 ...
|
| #
af65db85 |
| 27-Jul-2017 |
Rob Clark <robdclark@gmail.com> |
efi_loader: indent entry/exit prints to show nesting level
This should make it easier to see when a callback back to UEFI world calls back in to the u-boot world, and generally match up EFI_ENTRY()
efi_loader: indent entry/exit prints to show nesting level
This should make it easier to see when a callback back to UEFI world calls back in to the u-boot world, and generally match up EFI_ENTRY() and EFI_EXIT() calls.
Signed-off-by: Rob Clark <robdclark@gmail.com> [agraf: remove static from const var] Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
c160d2f5 |
| 27-Jul-2017 |
Rob Clark <robdclark@gmail.com> |
efi_loader: add checking for incorrect use of EFI_ENTRY/EXIT
Missing an EFI_ENTRY() or doubling up EFI_EXIT() leads to non-obvious crashes. Let's add some error checking.
Signed-off-by: Rob Clark
efi_loader: add checking for incorrect use of EFI_ENTRY/EXIT
Missing an EFI_ENTRY() or doubling up EFI_EXIT() leads to non-obvious crashes. Let's add some error checking.
Signed-off-by: Rob Clark <robdclark@gmail.com> [agraf: fix bogus assert() and fix app_gd breakage] Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
a095aadf |
| 27-Jul-2017 |
Rob Clark <robdclark@gmail.com> |
efi_loader: Add an EFI_CALL() macro
Rather than open-coding EFI_EXIT() + callback + EFI_ENTRY(), introduce an EFI_CALL() macro. This makes callbacks into UEFI world (of which there will be more in
efi_loader: Add an EFI_CALL() macro
Rather than open-coding EFI_EXIT() + callback + EFI_ENTRY(), introduce an EFI_CALL() macro. This makes callbacks into UEFI world (of which there will be more in the future) more concise and easier to locate in the code.
Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
3f1aa975 |
| 27-Jul-2017 |
Rob Clark <robdclark@gmail.com> |
efi_loader: only evaluate EFI_EXIT()'s ret once
There are a couple spots doing things like:
return EFI_EXIT(some_fxn(...));
which I handn't noticed before. With addition of printing return val
efi_loader: only evaluate EFI_EXIT()'s ret once
There are a couple spots doing things like:
return EFI_EXIT(some_fxn(...));
which I handn't noticed before. With addition of printing return value in the EFI_EXIT() macro, now the fxn call was getting evaluated twice. Which we didn't really want.
Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
641833db |
| 24-Jul-2017 |
Rob Clark <robdclark@gmail.com> |
efi_loader: add helper macro to construct protocol objects
There are a bunch of protocols which should be exposed by GUID but are not. Add a helper macro to create an efi_object, to avoid much typi
efi_loader: add helper macro to construct protocol objects
There are a bunch of protocols which should be exposed by GUID but are not. Add a helper macro to create an efi_object, to avoid much typing.
Note that using the pointer for efiobj->handle is semi-arbitrary. We just need a unique value to match the efiobj supporting the protocol with the handle that LocateHandle() returns..
See LibLocateProtocol() in gnu-efi. It does LocateHandle() to find all the handles, and then loops over them calling HandleProtocol() with the GUID of the protocol it is trying to find.
Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
804b1d73 |
| 24-Jul-2017 |
Rob Clark <robdclark@gmail.com> |
efi_loader: log EFI return values too
Turns out this is rather useful to tracking down where things fail.
Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
|
| #
b521d29e |
| 19-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: parameter types for CreateEvent, SetTimer
The first argument 'type' of CreateEvent is an 32bit unsigned integer bitmap and not an enum.
The second argument 'type' of SetTimer take value
efi_loader: parameter types for CreateEvent, SetTimer
The first argument 'type' of CreateEvent is an 32bit unsigned integer bitmap and not an enum.
The second argument 'type' of SetTimer take values of an enum which is called EFI_TIMER_DELAY in the UEFI standard. To avoid confusion rename efi_event_type to efi_timer_delay.
Reported-by: Alexander Graf <agraf@suse.de> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
3e094c59 |
| 24-Jul-2017 |
Rob Clark <robdclark@gmail.com> |
efi_loader: move guidcmp to header
Want to re-use this for file protocol, which I'm working on.
Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
|
| #
91be9a77 |
| 18-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_console: set up events
Set up a timer event and the WaitForKey event. In the notify function of the timer event check for console input and signal the WaitForKey event accordingly.
Signed-off-b
efi_console: set up events
Set up a timer event and the WaitForKey event. In the notify function of the timer event check for console input and signal the WaitForKey event accordingly.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
bfc72462 |
| 18-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: refactor efi_set_timer
efi_set_timer is refactored to make the function callable internally. Wrapper function efi_set_timer_ext is provided for EFI applications.
Signed-off-by: Heinrich
efi_loader: refactor efi_set_timer
efi_set_timer is refactored to make the function callable internally. Wrapper function efi_set_timer_ext is provided for EFI applications.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
49deb455 |
| 18-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: refactor efi_create_event
efi_create_event is refactored to make it possible to call it internally. For EFI applications wrapper function efi_create_event_ext is created.
Signed-off-by:
efi_loader: refactor efi_create_event
efi_create_event is refactored to make it possible to call it internally. For EFI applications wrapper function efi_create_event_ext is created.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
503f2695 |
| 18-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: correct size for tpl level
The UEFI standard defines the type for the tpl level as EFI_TPL alias UINTN.
UINTN is an integer is defined as an unsigned integer of native width. So we can
efi_loader: correct size for tpl level
The UEFI standard defines the type for the tpl level as EFI_TPL alias UINTN.
UINTN is an integer is defined as an unsigned integer of native width. So we can use size_t for the definition.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
c6841592 |
| 18-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: implement multiple event support
Up to now the boot time supported only a single event. This patch now allows four events.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed
efi_loader: implement multiple event support
Up to now the boot time supported only a single event. This patch now allows four events.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
cc5b7081 |
| 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: implement EFI_DEVICE_PATH_TO_TEXT_PROTOCOL
ConvertPathToText is implemented for * type 4 - media device path * subtype 4 - file path
This is the kind of device path we hand out for b
efi_loader: implement EFI_DEVICE_PATH_TO_TEXT_PROTOCOL
ConvertPathToText is implemented for * type 4 - media device path * subtype 4 - file path
This is the kind of device path we hand out for block devices.
All other cases may be implemented later.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> [agraf: fix whitespace] 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 ...
|
| #
011f4327 |
| 11-Jul-2017 |
xypron.glpk@gmx.de <xypron.glpk@gmx.de> |
efi_loader: provide a sufficient number of protocols
Four protocols per object is too few to run iPXE.
Let's raise the number of protocols per object to eight.
Signed-off-by: Heinrich Schuchardt <
efi_loader: provide a sufficient number of protocols
Four protocols per object is too few to run iPXE.
Let's raise the number of protocols per object to eight.
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 ...
|
| #
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 ...
|