public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Rob Clark <robdclark@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC 00/10] efi_loader: bunch of EFI work for distro boot
Date: Thu, 27 Jul 2017 17:37:57 -0400	[thread overview]
Message-ID: <20170727213807.7523-1-robdclark@gmail.com> (raw)

I still need to do some testing for net boot (but I think I didn't
screw anything up there), so just sending as an RFC for now.

I had to do a bunch of patch rejuggling to get this into a sensible
sequence of patches.  Hopefully I didn't flub anything too badly in
the process.

This patchset adds better devicepath handling to make upstream grub
work, reworks and cleans up bootefi's handling of boot device and
boot devicepath (making it signifcantly less hacky), adds file
support, and adds support to load_image() from a file.

This plus efi variable support (which I'm still working on and will
send separately), gets u-boot to the point where we can boot
\EFI\BOOT\BOOTAA64.efi, which can't find the boot-order related
EFI variables, and then loads fallback.efi to scan the boot disk
looking for boot.csv's which tell it about installed distro's) and
then finally loads the first distro's shim.efi or grubaa64.efi.

(Once I have support to write variables and saveenv in ExitBootServices
then it should only hit fallback.efi on first boot.)

Peter Jones (2):
  efi: fill in disk signature bits of hard drive device path.
  efi: add some more device path structures

Rob Clark (8):
  efi_loader: add back optional efi_handler::open()
  fs: add fs_readdir()
  efi_loader: add device-path utils
  efi_loader: use proper device-paths for partitions
  efi_loader: use proper device-paths for net
  efi_loader: refactor boot device and loaded_image handling
  efi_loader: add file/filesys support
  efi_loader: support load_image() from a file-path

 cmd/bootefi.c                     | 163 ++++---------
 disk/part_dos.c                   |  12 +-
 disk/part_efi.c                   |  20 ++
 fs/fat/fat.c                      |  59 +++--
 fs/fs.c                           |  46 ++++
 include/blk.h                     |  15 ++
 include/efi.h                     |   6 +
 include/efi_api.h                 | 114 ++++++++-
 include/efi_loader.h              |  47 +++-
 include/fat.h                     |   4 +-
 include/fs.h                      |  23 ++
 include/part_efi.h                |   4 -
 lib/efi_loader/Makefile           |   3 +-
 lib/efi_loader/efi_boottime.c     | 156 +++++++++++--
 lib/efi_loader/efi_device_path.c  | 408 ++++++++++++++++++++++++++++++++
 lib/efi_loader/efi_disk.c         | 103 ++++++--
 lib/efi_loader/efi_file.c         | 477 ++++++++++++++++++++++++++++++++++++++
 lib/efi_loader/efi_image_loader.c |   3 +
 lib/efi_loader/efi_net.c          |  24 +-
 19 files changed, 1483 insertions(+), 204 deletions(-)
 create mode 100644 lib/efi_loader/efi_device_path.c
 create mode 100644 lib/efi_loader/efi_file.c

-- 
2.13.0

             reply	other threads:[~2017-07-27 21:37 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-27 21:37 Rob Clark [this message]
2017-07-27 21:37 ` [U-Boot] [RFC 01/10] efi_loader: add back optional efi_handler::open() Rob Clark
2017-07-27 21:37 ` [U-Boot] [RFC 02/10] efi: fill in disk signature bits of hard drive device path Rob Clark
2017-07-27 21:38 ` [U-Boot] [RFC 03/10] efi: add some more device path structures Rob Clark
2017-07-27 21:38 ` [U-Boot] [RFC 04/10] fs: add fs_readdir() Rob Clark
2017-07-27 21:38 ` [U-Boot] [RFC 05/10] efi_loader: add device-path utils Rob Clark
2017-07-27 21:38 ` [U-Boot] [RFC 06/10] efi_loader: use proper device-paths for partitions Rob Clark
2017-07-27 21:38 ` [U-Boot] [RFC 07/10] efi_loader: use proper device-paths for net Rob Clark
2017-07-27 21:38 ` [U-Boot] [RFC 08/10] efi_loader: refactor boot device and loaded_image handling Rob Clark
2017-07-27 21:38 ` [U-Boot] [RFC 09/10] efi_loader: add file/filesys support Rob Clark
2017-07-27 21:38 ` [U-Boot] [RFC 10/10] efi_loader: support load_image() from a file-path Rob Clark
2017-07-27 22:50   ` Rob Clark

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170727213807.7523-1-robdclark@gmail.com \
    --to=robdclark@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox