[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