History log of /rk3399_rockchip-uboot/include/efi_loader.h (Results 1 – 25 of 50)
Revision Date Author Comments
# 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 ...


12