mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: barebox@lists.infradead.org
Cc: Ahmad Fatoum <a.fatoum@pengutronix.de>
Subject: [PATCH 00/16] efi: restructure for reuse from loader code
Date: Thu, 11 Dec 2025 21:29:51 +0100	[thread overview]
Message-ID: <20251211203056.2014710-1-a.fatoum@pengutronix.de> (raw)

This series mostly prepares existing definitions and code used for
payload so it can be reused from the new loader support as well.

Ahmad Fatoum (16):
  efi: payload: restructure Kconfig
  efi: payload: populate $global.efi.payload variable
  efi: mode: add efi_get_runtime_services helper
  efi: payload: make EFI variable helpers usable for loader as well
  fs: efivarfs: prepare for use with barebox as EFI loader
  efi: handle: build for both EFI payload and loader
  efi: provide populate $efi.payload_default_path depending on arch
  efi: tidy up header includes for reuse
  efi: types: add efi_intn_t/efi_uintn_t definition
  efi: devicepath: make fully usable for loader
  efi: guid: don't interleave protocol and event GUIDs
  efi: guid: add some more GUIDs
  efi: guid: move static GUIDs out of drivers
  efi: gop: flesh out efi_graphics_output_protocol::blt definition
  efi: payload: initrd: move into common efi code
  efi: add missing EFIAPI to functions

 arch/Kconfig                                  |   5 +
 arch/arm/cpu/cpu.c                            |   2 +-
 arch/arm/cpu/interrupts_64.c                  |   2 +-
 arch/arm/cpu/mmu-common.c                     |   2 +-
 arch/arm/include/asm/pci.h                    |   2 +-
 arch/arm/lib64/armlinux.c                     |   2 +-
 arch/x86/mach-efi/clocksource.c               |   2 +-
 arch/x86/mach-efi/reloc_ia32.c                |   2 +-
 arch/x86/mach-efi/reloc_x86_64.c              |   2 +-
 commands/bfetch.c                             |   4 +-
 commands/efi_handle_dump.c                    |   8 +-
 common/startup.c                              |   6 +-
 drivers/block/efi-block-io.c                  |   7 +-
 drivers/bus/acpi.c                            |   5 +-
 drivers/clocksource/efi.c                     |   7 +-
 drivers/clocksource/efi_x86.c                 |   3 +-
 drivers/efi/Makefile                          |   2 +-
 drivers/efi/efi-device.c                      |  16 +-
 drivers/hw_random/efi-rng.c                   |   6 +-
 drivers/i2c/busses/i2c-efi.c                  |  54 +-
 drivers/net/efi-snp.c                         | 115 +--
 drivers/pci/pci-efi.c                         |   9 +-
 drivers/serial/efi-stdio.c                    |  11 +-
 drivers/serial/serial_efi.c                   |  78 +-
 drivers/serial/serial_semihosting.c           |   2 +-
 drivers/video/efi_gop.c                       |  57 +-
 drivers/watchdog/efi_wdt.c                    |   4 +-
 drivers/watchdog/itco_wdt.c                   |   1 -
 efi/Kconfig                                   |  24 +-
 efi/Makefile                                  |   3 +-
 efi/devicepath.c                              |  11 +-
 efi/efivar-filename.c                         |   3 +-
 efi/efivar.c                                  | 130 +++
 efi/errno.c                                   |   3 +-
 efi/guid.c                                    |  44 +-
 drivers/efi/efi-handle.c => efi/handle.c      |   8 +-
 efi/{payload/efi-initrd.c => initrd.c}        |  28 +-
 efi/payload/Kconfig                           |  27 -
 efi/payload/Makefile                          |   1 -
 efi/payload/boarddata.c                       |   5 +-
 efi/payload/bootm.c                           |   7 +-
 efi/payload/early-mem.c                       |   4 +-
 efi/payload/entry-multi.c                     |   5 +-
 efi/payload/entry-single.c                    |   6 +-
 efi/payload/fdt.c                             |   6 +-
 efi/payload/handover.c                        |   7 +-
 efi/payload/image.c                           |   7 +-
 efi/payload/init.c                            | 109 +--
 efi/payload/iomem.c                           |   6 +-
 fs/Kconfig                                    |   2 +-
 fs/efi.c                                      |   7 +-
 fs/efivarfs.c                                 |  45 +-
 fs/ubootvarfs.c                               |   1 -
 include/acpi.h                                |   2 +-
 include/efi.h                                 | 886 ------------------
 include/efi/attributes.h                      |  21 +
 include/efi/debug_ll.h                        |   9 +-
 include/efi/{device-path.h => devicepath.h}   |   9 +
 include/efi/efi-payload.h                     |  40 -
 include/efi/efi-util.h                        |  20 -
 include/efi/error.h                           |  58 ++
 include/efi/guid.h                            | 361 +++++++
 include/efi/initrd.h                          |  11 +
 include/efi/{memtype.h => memory.h}           |  19 +-
 include/efi/{efi-mode.h => mode.h}            |  11 +
 include/efi/payload.h                         |  37 +
 .../efi/{efi-device.h => payload/driver.h}    |  19 +-
 include/efi/{efi-init.h => payload/init.h}    |   4 +-
 include/efi/protocol/block.h                  |  35 +
 include/efi/protocol/file.h                   | 111 +++
 include/efi/protocol/gop.h                    |  53 ++
 include/efi/protocol/i2c.h                    |  55 ++
 .../pci-efi.h => include/efi/protocol/pci.h   |  10 +-
 include/efi/protocol/rng.h                    |  17 +
 include/efi/protocol/serial.h                 |  79 ++
 include/efi/protocol/snp.h                    | 110 +++
 include/efi/{efi-stdio.h => protocol/text.h}  |  44 +-
 include/efi/services.h                        | 271 ++++++
 include/efi/types.h                           |  51 +-
 include/efi/variable.h                        |  51 +
 lib/vsprintf.c                                |   2 +-
 test/self/mmu.c                               |   2 +-
 82 files changed, 1787 insertions(+), 1526 deletions(-)
 create mode 100644 efi/efivar.c
 rename drivers/efi/efi-handle.c => efi/handle.c (87%)
 rename efi/{payload/efi-initrd.c => initrd.c} (84%)
 delete mode 100644 include/efi.h
 create mode 100644 include/efi/attributes.h
 rename include/efi/{device-path.h => devicepath.h} (95%)
 delete mode 100644 include/efi/efi-payload.h
 delete mode 100644 include/efi/efi-util.h
 create mode 100644 include/efi/error.h
 create mode 100644 include/efi/guid.h
 create mode 100644 include/efi/initrd.h
 rename include/efi/{memtype.h => memory.h} (90%)
 rename include/efi/{efi-mode.h => mode.h} (68%)
 create mode 100644 include/efi/payload.h
 rename include/efi/{efi-device.h => payload/driver.h} (78%)
 rename include/efi/{efi-init.h => payload/init.h} (96%)
 create mode 100644 include/efi/protocol/block.h
 create mode 100644 include/efi/protocol/file.h
 create mode 100644 include/efi/protocol/gop.h
 create mode 100644 include/efi/protocol/i2c.h
 rename drivers/pci/pci-efi.h => include/efi/protocol/pci.h (98%)
 create mode 100644 include/efi/protocol/rng.h
 create mode 100644 include/efi/protocol/serial.h
 create mode 100644 include/efi/protocol/snp.h
 rename include/efi/{efi-stdio.h => protocol/text.h} (67%)
 create mode 100644 include/efi/services.h
 create mode 100644 include/efi/variable.h

-- 
2.47.3




             reply	other threads:[~2025-12-11 20:31 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-11 20:29 Ahmad Fatoum [this message]
2025-12-11 20:29 ` [PATCH 01/16] efi: payload: restructure Kconfig Ahmad Fatoum
2025-12-11 20:29 ` [PATCH 02/16] efi: payload: populate $global.efi.payload variable Ahmad Fatoum
2025-12-11 20:29 ` [PATCH 03/16] efi: mode: add efi_get_runtime_services helper Ahmad Fatoum
2025-12-11 20:29 ` [PATCH 04/16] efi: payload: make EFI variable helpers usable for loader as well Ahmad Fatoum
2025-12-11 20:29 ` [PATCH 05/16] fs: efivarfs: prepare for use with barebox as EFI loader Ahmad Fatoum
2025-12-11 20:29 ` [PATCH 06/16] efi: handle: build for both EFI payload and loader Ahmad Fatoum
2025-12-11 20:29 ` [PATCH 07/16] efi: provide populate $efi.payload_default_path depending on arch Ahmad Fatoum
2025-12-11 20:29 ` [PATCH 08/16] efi: tidy up header includes for reuse Ahmad Fatoum
2025-12-11 20:30 ` [PATCH 09/16] efi: types: add efi_intn_t/efi_uintn_t definition Ahmad Fatoum
2025-12-11 20:30 ` [PATCH 10/16] efi: devicepath: make fully usable for loader Ahmad Fatoum
2025-12-11 20:30 ` [PATCH 11/16] efi: guid: don't interleave protocol and event GUIDs Ahmad Fatoum
2025-12-11 20:30 ` [PATCH 12/16] efi: guid: add some more GUIDs Ahmad Fatoum
2025-12-15  8:30   ` [PATCH] fixup! " Ahmad Fatoum
2025-12-15  9:03     ` Sascha Hauer
2025-12-11 20:30 ` [PATCH 13/16] efi: guid: move static GUIDs out of drivers Ahmad Fatoum
2025-12-11 20:30 ` [PATCH 14/16] efi: gop: flesh out efi_graphics_output_protocol::blt definition Ahmad Fatoum
2025-12-11 20:30 ` [PATCH 15/16] efi: payload: initrd: move into common efi code Ahmad Fatoum
2025-12-11 20:30 ` [PATCH 16/16] efi: add missing EFIAPI to functions Ahmad Fatoum
2025-12-13 10:42 ` [PATCH] fixup! efi: payload: restructure Kconfig Ahmad Fatoum
2025-12-15  9:03   ` (subset) " Sascha Hauer
2025-12-15  9:03 ` [PATCH 00/16] efi: restructure for reuse from loader code Sascha Hauer

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=20251211203056.2014710-1-a.fatoum@pengutronix.de \
    --to=a.fatoum@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /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