[U-Boot] [PATCH v1 00/12] efi_loader+video: support for Shell.efi

Rob Clark robdclark at gmail.com
Sun Sep 10 13:22:21 UTC 2017


This patchset gets Shell.efi working to the point where we can start
running SCT.efi (the UEFI test suite).  There is more fat/fs work needed
so that SCT can actually write results to a file so we can even see what
is passing and what is not.

This applies on top of the "efi_loader: enough UEFI for standard distro
boot" patchset plus two patches from Heinrich which are also required:

  efi_loader: support 16 protocols per efi_object
  efi_loader: allow creating new handles

Leif added stubbed implementations for the additional protocols that
Shell.efi required, on top of what was added in the standard distro boot
patchset, and I fleshed out the implementation enough for what Shell/
SCT required.  There are still parts unimplemented, but IMHO the better
thing to do is concentrate on what is needed to get SCT running properly
so that we can implement the remaining bits having tests to test the
implementation.

There are 3 dm/video patches at the end, which aren't strictly required
but fix issues with Shell running on vidconsole.  (It is very convenient
for debugging to have Shell on screen with u-boot debug prints going to
serial.)

The last HACK patch is not intended to be merged, just to show the
remaining TODOs to have things working properly.

Leif Lindholm (3):
  efi_loader: add stub EFI_DEVICE_PATH_UTILITIES_PROTOCOL
  efi_loader: add stub HII protocols
  efi_loader: add EFI_UNICODE_COLLATION_PROTOCOL stub

Rob Clark (9):
  efi_loader: start fleshing out HII
  efi_loader: flesh out unicode protocol
  efi_loader: start fleshing out efi_device_path_utilities
  efi_loader: SIMPLE_TEXT_INPUT_EX plus wire up objects properly
  efi_loader: console support for color attributes
  dm: video: Fix cache flushes
  dm: video: Add basic ANSI escape sequence support
  dm: video: Add color ANSI escape sequence support
  HACK: efi_loader: hacks for SCT

 drivers/video/vidconsole-uclass.c          | 209 ++++++++++++
 drivers/video/video-uclass.c               |   4 +-
 include/config_distro_bootcmd.h            |   2 +-
 include/efi_api.h                          | 429 +++++++++++++++++++++++-
 include/efi_loader.h                       |  21 +-
 include/video.h                            |   7 +
 include/video_console.h                    |  11 +
 lib/efi_loader/Makefile                    |   1 +
 lib/efi_loader/efi_boottime.c              |  26 +-
 lib/efi_loader/efi_console.c               | 160 ++++++++-
 lib/efi_loader/efi_device_path_utilities.c |  87 +++++
 lib/efi_loader/efi_file.c                  |  11 +-
 lib/efi_loader/efi_hii.c                   | 505 +++++++++++++++++++++++++++++
 lib/efi_loader/efi_unicode.c               | 170 ++++++++++
 14 files changed, 1610 insertions(+), 33 deletions(-)
 create mode 100644 lib/efi_loader/efi_device_path_utilities.c
 create mode 100644 lib/efi_loader/efi_hii.c
 create mode 100644 lib/efi_loader/efi_unicode.c

-- 
2.13.5



More information about the U-Boot mailing list