[Concept,00/13] ulib: Support building examples for x86

Message ID 20260214021317.816170-1-sjg@u-boot.org
Headers
Series ulib: Support building examples for x86 |

Message

Simon Glass Feb. 14, 2026, 2:12 a.m. UTC
  From: Simon Glass <simon.glass@canonical.com>

This series extends ulib so that examples can be built and run on x86,
not just sandbox. It refactors the demo to support both environments,
extracts common binman ROM entries into a reusable template, adds build
infrastructure for x86 examples, and includes a QEMU-based pytest for
the resulting demo.rom image.


Simon Glass (13):
  ulib: Add MAINTAINERS entry
  ulib: Use cross-toolchain objcopy for symbol redefinition
  examples: ulib: Support both sandbox and linked-in demo
  ulib: Make shared-lib deps conditional on ULIB_SHARED_LIB
  examples: ulib: Build shared-linked binaries only when .so is
    available
  efi: Allow runtime relocation in library mode
  ulib: Replace CONFIG_ULIB_JUMP_TO_MAIN with runtime ulib_has_main()
  Makefile: Extract u-boot-link helper for reuse
  x86: binman: Extract common ROM entries into a template
  x86: ulib: Add build infrastructure for example/
  x86: ulib: Add demo.rom and enable examples for qemu-x86
  Makefile: Only run standalone ulib examples for sandbox
  x86: ulib: Add pytest for demo.rom under QEMU

 Kconfig                      |  9 ----
 MAINTAINERS                  | 11 +++++
 Makefile                     | 28 ++++++++----
 arch/x86/Makefile            | 32 +++++++++++++
 arch/x86/dts/u-boot.dtsi     | 82 +++++++++++++++++++++------------
 common/board_f.c             |  2 +-
 common/board_r.c             | 18 +++++++-
 configs/qemu-x86_defconfig   |  1 +
 examples/Makefile            |  4 ++
 examples/ulib/Kbuild         |  6 +++
 examples/ulib/demo.c         | 87 +++++++++++++++++++++---------------
 examples/ulib/demo_helper.c  |  5 +++
 examples/ulib/rules.mk       |  9 ++--
 include/init.h               | 11 +++++
 lib/efi_loader/efi_runtime.c |  4 --
 scripts/build_api.py         | 18 +++++---
 test/py/tests/test_ulib.py   | 40 +++++++++++++++--
 17 files changed, 266 insertions(+), 101 deletions(-)
 create mode 100644 examples/ulib/Kbuild