All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v8 00/30] efi: Enable sandbox support for EFI loader
@ 2018-06-18 14:08 Simon Glass
  2018-06-18 14:08 ` [U-Boot] [PATCH v8 01/30] efi: Don't allow CMD_BOOTEFI_SELFTEST on sandbox Simon Glass
                   ` (29 more replies)
  0 siblings, 30 replies; 106+ messages in thread
From: Simon Glass @ 2018-06-18 14:08 UTC (permalink / raw)
  To: u-boot

A limitation of the EFI loader at present is that it does not build with
sandbox. This makes it hard to write tests, since sandbox is used for most
testing in U-Boot.

This series enables the EFI loader feature. It allows sandbox to build and
run a trivial function which calls the EFI API to output a message.

Also included in v8 is support for running the full EFI self tests. These
run OK with some tweaks to a few parts of the code.

This series is at u-boot-dm/efi-working

Changes in v8:
- Expand series substantially to support bootefi selftest
- Rebase to master

Changes in v7:
- Drop an unnecessary comment
- Drop patch "efi: Init the 'rows' and 'cols' variables"
- Drop patches previous applied
- Move some of the code from efi_memory_init() into a separate function
- Update patch subject s/builder/build/

Changes in v6:
- Warn about building sandbox EFI support on something other than __x86_64__

Changes in v5:
- Add new patch to disallow CMD_BOOTEFI_SELFTEST on sandbox
- Drop call to efi_init_obj_list() which is now done in do_bootefi()
- Introduce load_options_path to specifyc U-Boot env var for load_options_path
- Rebase to master

Changes in v4:
- Rebase to master
- Update SPDX tags

Changes in v3:
- Add new patch to rename bootefi_test_finish() to bootefi_run_finish()
- Add new patch to split out test init/uninit into functions
- Add patch to create a function to set up for running EFI code
- Drop incorrect map_sysmem() in write_smbios_table()
- Init the 'rows' and 'cols' vars to avoid a compiler error (gcc 4.8.4)
- Rebase to master

Changes in v2:
- Rebase to master
- Update to use mapmem instead of a cast

Alexander Graf (4):
  efi_loader: Use map_sysmem() in bootefi command
  efi_loader: Use compiler constants for image loader
  efi_loader: Disable miniapps on sandbox
  efi_loader: Pass address to fs_read()

Heinrich Schuchardt (1):
  efi_loader: efi_allocate_pages is too restrictive

Simon Glass (25):
  efi: Don't allow CMD_BOOTEFI_SELFTEST on sandbox
  efi: sandbox: Adjust memory usage for sandbox
  sandbox: smbios: Update to support sandbox
  efi: sandbox: Add distroboot support
  efi: sandbox: Add relocation constants
  efi: sandbox: Enable EFI loader build for sandbox
  efi: Split out test init/uninit into functions
  efi: sandbox: Add a simple 'bootefi test' command
  efi: Create a function to set up for running EFI code
  efi: Rename bootefi_test_finish() to bootefi_run_finish()
  sandbox: Align RAM buffer to the machine page size
  sandbox: Try to start the RAM buffer at a particular address
  sandbox: Add support for calling abort()
  efi: Don't build sandbox with __attribute__((ms_abi))
  vsprintf: Handle NULL with %pU
  efi_selftest: Clean up a few comments and messages
  sandbox: Enhance map_to_sysmem() to handle foreign pointers
  efi: Add a call to exit() along with why we can't use it
  efi: Relocate FDT to 127MB instead of 128MB
  efi: Tidy up device-tree-size calculation in copy_fdt()
  efi: sandbox: Tidy up copy_fdt() to work with sandbox
  efi: Drop error return in efi_carve_out_dt_rsv()
  efi: Adjust memory handling to support sandbox
  efi: Add more debugging for memory allocations
  efi: sandbox: Enable selftest command

 arch/sandbox/cpu/cpu.c            | 141 +++++++++++++++-
 arch/sandbox/cpu/os.c             |  17 +-
 arch/sandbox/cpu/state.c          |   8 +
 arch/sandbox/include/asm/state.h  |  21 +++
 cmd/bootefi.c                     | 270 ++++++++++++++++++++----------
 configs/sandbox_defconfig         |   1 +
 include/config_distro_bootcmd.h   |  11 ++
 include/efi.h                     |  19 ++-
 include/efi_loader.h              |   3 +
 include/os.h                      |   4 +
 lib/efi_loader/Kconfig            |  12 +-
 lib/efi_loader/Makefile           |   1 +
 lib/efi_loader/efi_boottime.c     |  31 +++-
 lib/efi_loader/efi_file.c         |   5 +-
 lib/efi_loader/efi_image_loader.c |  15 +-
 lib/efi_loader/efi_memory.c       |  57 +++++--
 lib/efi_loader/efi_runtime.c      |  11 ++
 lib/efi_loader/efi_test.c         |  26 +++
 lib/efi_selftest/Makefile         |   2 +-
 lib/efi_selftest/efi_selftest.c   |  14 +-
 lib/smbios.c                      |  32 +++-
 lib/vsprintf.c                    |   5 +-
 22 files changed, 562 insertions(+), 144 deletions(-)
 create mode 100644 lib/efi_loader/efi_test.c

-- 
2.18.0.rc1.244.gcf134e6275-goog

^ permalink raw reply	[flat|nested] 106+ messages in thread

end of thread, other threads:[~2018-06-27 19:00 UTC | newest]

Thread overview: 106+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-18 14:08 [U-Boot] [PATCH v8 00/30] efi: Enable sandbox support for EFI loader Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 01/30] efi: Don't allow CMD_BOOTEFI_SELFTEST on sandbox Simon Glass
2018-06-20  6:03   ` Heinrich Schuchardt
2018-06-20 17:51     ` Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 02/30] efi: sandbox: Adjust memory usage for sandbox Simon Glass
2018-06-20  6:10   ` Heinrich Schuchardt
2018-06-20  8:54     ` Alexander Graf
2018-06-21  2:02       ` Simon Glass
2018-06-21  9:52         ` Alexander Graf
2018-06-21 19:45           ` Simon Glass
2018-06-22 12:08             ` Alexander Graf
2018-06-22 19:28               ` Simon Glass
2018-06-23  7:31                 ` Alexander Graf
2018-06-25  3:02                   ` Simon Glass
2018-06-21  2:02     ` Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 03/30] sandbox: smbios: Update to support sandbox Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 04/30] efi: sandbox: Add distroboot support Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 05/30] efi: sandbox: Add relocation constants Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 06/30] efi: sandbox: Enable EFI loader build for sandbox Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 07/30] efi: Split out test init/uninit into functions Simon Glass
2018-06-20  6:26   ` Heinrich Schuchardt
2018-06-21  2:21     ` Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 08/30] efi: sandbox: Add a simple 'bootefi test' command Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 09/30] efi: Create a function to set up for running EFI code Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 10/30] efi: Rename bootefi_test_finish() to bootefi_run_finish() Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 11/30] sandbox: Align RAM buffer to the machine page size Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 12/30] sandbox: Try to start the RAM buffer at a particular address Simon Glass
2018-06-18 14:45   ` Alexander Graf
2018-06-19 22:02     ` Simon Glass
2018-06-20  8:51       ` Alexander Graf
2018-06-21  2:02         ` Simon Glass
2018-06-21  9:58           ` Alexander Graf
2018-06-21 19:45             ` Simon Glass
2018-06-22 12:10               ` Alexander Graf
2018-06-22 19:28                 ` Simon Glass
2018-06-22 21:29                   ` Alexander Graf
2018-06-25  2:59                     ` Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 13/30] sandbox: Add support for calling abort() Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 14/30] efi: Don't build sandbox with __attribute__((ms_abi)) Simon Glass
2018-06-18 14:46   ` Alexander Graf
2018-06-19 22:02     ` Simon Glass
2018-06-20  8:56       ` Alexander Graf
2018-06-21  2:02         ` Simon Glass
2018-06-21  9:59           ` Alexander Graf
2018-06-21 19:45             ` Simon Glass
2018-06-22 12:11               ` Alexander Graf
2018-06-22 19:28                 ` Simon Glass
2018-06-23  7:28                   ` Alexander Graf
2018-06-23 14:16                     ` Simon Glass
2018-06-25 11:23                       ` Alexander Graf
2018-06-26  3:58                         ` Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 15/30] vsprintf: Handle NULL with %pU Simon Glass
2018-06-18 14:47   ` Alexander Graf
2018-06-21 15:48   ` [U-Boot] [U-Boot,v8,15/30] " Alexander Graf
2018-06-27 19:00   ` Heinrich Schuchardt
2018-06-18 14:08 ` [U-Boot] [PATCH v8 16/30] efi_selftest: Clean up a few comments and messages Simon Glass
2018-06-21 17:31   ` [U-Boot] [U-Boot, v8, " Alexander Graf
2018-06-18 14:08 ` [U-Boot] [PATCH v8 17/30] sandbox: Enhance map_to_sysmem() to handle foreign pointers Simon Glass
2018-06-18 14:50   ` Alexander Graf
2018-06-21  2:01     ` Simon Glass
2018-06-21 10:00       ` Alexander Graf
2018-06-21 19:45         ` Simon Glass
2018-06-22 12:12           ` Alexander Graf
2018-06-22 19:31             ` Simon Glass
2018-06-21 10:10       ` Alexander Graf
2018-06-21 19:45         ` Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 18/30] efi: Add a call to exit() along with why we can't use it Simon Glass
2018-06-18 14:51   ` Alexander Graf
2018-06-21  2:01     ` Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 19/30] efi: Relocate FDT to 127MB instead of 128MB Simon Glass
2018-06-18 14:52   ` Alexander Graf
2018-06-21  2:01     ` Simon Glass
2018-06-21 10:01       ` Alexander Graf
2018-06-21 19:45         ` Simon Glass
2018-06-22 12:13           ` Alexander Graf
2018-06-18 14:08 ` [U-Boot] [PATCH v8 20/30] efi: Tidy up device-tree-size calculation in copy_fdt() Simon Glass
2018-06-21 17:31   ` [U-Boot] [U-Boot, v8, " Alexander Graf
2018-06-18 14:08 ` [U-Boot] [PATCH v8 21/30] efi_loader: Use map_sysmem() in bootefi command Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 22/30] efi: sandbox: Tidy up copy_fdt() to work with sandbox Simon Glass
2018-06-18 15:00   ` Alexander Graf
2018-06-21  2:01     ` Simon Glass
2018-06-21 10:13       ` Alexander Graf
2018-06-21 19:45         ` Simon Glass
2018-06-22 12:26           ` Alexander Graf
2018-06-22 19:31             ` Simon Glass
2018-06-23  7:24               ` Alexander Graf
2018-06-25  3:00                 ` Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 23/30] efi: Drop error return in efi_carve_out_dt_rsv() Simon Glass
2018-06-18 15:01   ` Alexander Graf
2018-06-21 17:31   ` [U-Boot] [U-Boot, v8, " Alexander Graf
2018-06-18 14:08 ` [U-Boot] [PATCH v8 24/30] efi: Adjust memory handling to support sandbox Simon Glass
2018-06-18 15:03   ` Alexander Graf
2018-06-21  2:01     ` Simon Glass
2018-06-21 10:14       ` Alexander Graf
2018-06-21 19:45         ` Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 25/30] efi: Add more debugging for memory allocations Simon Glass
2018-06-18 15:04   ` Alexander Graf
2018-06-21 16:45   ` Alexander Graf
2018-06-22 19:31     ` Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 26/30] efi_loader: Use compiler constants for image loader Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 27/30] efi_loader: efi_allocate_pages is too restrictive Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 28/30] efi_loader: Disable miniapps on sandbox Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 29/30] efi_loader: Pass address to fs_read() Simon Glass
2018-06-18 15:08   ` Alexander Graf
2018-06-21  2:01     ` Simon Glass
2018-06-18 14:08 ` [U-Boot] [PATCH v8 30/30] efi: sandbox: Enable selftest command Simon Glass

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.