[U-Boot] efi_loader: queued patches

Rob Clark robdclark at gmail.com
Fri Sep 15 12:13:09 UTC 2017


On Fri, Sep 15, 2017 at 12:27 AM, Heinrich Schuchardt
<xypron.glpk at gmx.de> wrote:
> Hello Alex,
>
> this is the sequence of patches I am currently working with. Maybe Rob
> could also send a similar list. That way you know in which sequence you
> can do reviewing.

fwiw, my current stack of patches:

First, the patchset for "standard distro boot" (ie. shim/fallback):

RClark      efi_loader: Some console improvement
RClark      efi_loader: Correctly figure out size for vidconsole
RClark      efi_loader: split out escape sequence based size query
RClark      efi_loader: print GUIDs
RClark      efi_loader: set loaded image code/data type properly
RClark      efi_loader: file_path should be variable length
RClark      efi_loader: add bootmgr
RClark      efi_loader: efi variable support
RClark      efi_loader: make pool allocations cacheline aligned
RClark      efi_loader: support load_image() from a file-path
RClark      efi_loader: add file/filesys support
RClark      efi_loader: refactor boot device and loaded_image handling
RClark      efi_loader: use proper device-paths for net
RClark      efi_loader: use proper device-paths for partitions
RClark      efi_loader: flesh out device-path to text
RClark      efi_loader: drop redundant efi_device_path_protocol
RClark      efi_loader: add device-path utils
PJones      efi: add some more device path structures
RClark      efi: add some missing __packed
PJones      part: extract MBR signature from partitions
RClark      part: move efi_guid_t


And then on top of that, the patches to get Shell.efi working.. I
already pulled in a couple of your patches (but did not include them
in patchset sent to list, and I think it should be possible to merge
them in either order):

RClark      efi_loader: Decouple EFI input/output from stdin/stdout
RClark      efi_loader: console support for color attributes
RClark      efi_loader: SIMPLE_TEXT_INPUT_EX plus wire up objects properly
RClark      efi_loader: start fleshing out efi_device_path_utilities
RClark      efi_loader: flesh out unicode protocol
RClark      efi_loader: start fleshing out HII
LLindholm   efi_loader: add EFI_UNICODE_COLLATION_PROTOCOL stub
LLindholm   efi_loader: add stub HII protocols
LLindholm   efi_loader: add stub EFI_DEVICE_PATH_UTILITIES_PROTOCOL
HSchuchard  efi_loader: allow creating new handles
HSchuchard  efi_loader: support 16 protocols per efi_object

(Oh and those two lists are in reverse order, with most recent on top)

There are four remaining hacks that I have locally for Shell.efi and SCT.efi:

 + fake efi_set_watchdog_timer()
 + hard-code efi_raise_tpl to return TPL_APPLICATION

Those two go away with some of the patches from your stack.

 + fake efi_file_delete()
 + hack in efi_file_write to turn directory separators to '_',
   otherwise fat_write.c creates files in root directory with
   slashes in the name!

And these two aren't really needed for Shell.efi but are for SCT.efi.
This will be part of my next round of work on fs/fat

BR,
-R

> # EFI event services
> # This series is currently on Travis CI test and the next that
> # I would like to see in efi-next.
> #
> # Rob's patch to replace the events array by a linked list could
> # be put directly afterwards. That way we can use the tests to
> # check that we did it right.
> 0001-efi_loader-allow-return-value-in-EFI_CALL.patch
> 0001-efi_selftest-provide-an-EFI-selftest-application.patch
> 0001-test-py-add-a-test-calling-the-EFI-selftest.patch
> 0001-efi_loader-implement-queueing-of-the-notification-fu.patch
> 0001-efi_loader-efi_set_timer-reset-signaled-state.patch
> 0001-efi_selftest-provide-unit-test-for-event-services.patch
> 0001-efi_loader-implement-task-priority-level-TPL.patch
> 0001-efi_selftest-test-task-priority-levels.patch
> 0001-efi_loader-notify-when-ExitBootServices-is-invoked.patch
> 0001-efi_selftest-check-notification-of-ExitBootServices.patch
>
> # Enable EFI selftest
> # Not to be merged
> 0001-x86-qemu-enable-EFI-selftest.patch
> 0001-vexpress_ca15_tc2_defconfig-build-EFI.patch
>
> # Move efi_guid_t. Rob has a similar patch
> # Preferably put in Rob's patch so he does not have to rebase.
> 0001-efi_loader-move-efi_guid_t-typedef-to-efi.h.patch
> 0001-efi_loader-helloworld.c-remove-superfluous-include.patch
>
> # Building helloworld on qemu-x86_64 fails
> # Patch needs rework
> 0001-efi_loader-fix-building-of-helloworld.efi-on-x86_64.patch
>
> # EFI protocol services
> # Tested with iPXE. But tests were requested. The testbed is
> # provided with the event services series.
> 0001-efi_loader-support-16-protocols-per-efi_object.patch
> 0001-efi_loader-rework-efi_locate_handle.patch
> 0001-efi_loader-rework-efi_search_obj.patch
> 0001-efi_loader-new-function-efi_search_protocol.patch
> 0001-efi_loader-simplify-efi_install_protocol_interface.patch
> 0001-efi_loader-allow-creating-new-handles.patch
> 0001-efi_loader-simplify-efi_uninstall_protocol_interface.patch
> 0001-efi_loader-open_info-in-OpenProtocol.patch
> 0001-efi_loader-open_info-in-CloseProtocol.patch
> 0002-efi_loader-implement-OpenProtocolInformation.patch
> 0001-efi_loader-non-static-efi_open_protocol-efi_close_pr.patch
> 0001-efi_loader-pass-GUIDs-as-const-efi_guid_t.patch
> 0001-efi_loader-implement-ConnectController.patch
> 0001-efi_loader-implement-DisconnectController.patch
>
> # EFI Network
> # Tested with iPXE. But tests were requested
> 0001-efi_loader-efi_net-hwaddr_size-6.patch
> 0001-efi_net-return-EFI_UNSUPPORTED-where-appropriate.patch
> 0001-efi_loader-correct-bits-of-receive_filters-bit-mask.patch
> 0001-efi_loader-use-events-for-efi_net_receive.patch
> 0001-efi_loader-fix-efi_net_get_status.patch
>
> # Image loading
> 0001-efi_loader-set-parent-handle-in-efi_load_image.patch
>
> # Implement Watchdog
> 0001-efi_loader-implement-SetWatchdogTimer.patch
>
> # Change the way we build EFI binaries. Not working yet.
> # 0001-tools-elf2efi-add-tool-elf2efi.patch
> # 0001-elf2efi.c-ignore-R_ARM_V4BX.patch
> # 0001-efi_loader-allow-multiple-source-files-for-EFI-apps.patch
> # 0001-efi_selftest-provide-an-EFI-selftest-application.patch
>
> Regards
>
> Heinrich


More information about the U-Boot mailing list