[Concept,00/13] ulib: Enable the Rust demo on more architectures

Message ID 20260220001926.2366140-1-sjg@u-boot.org
Headers
Series ulib: Enable the Rust demo on more architectures |

Message

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

The Rust ulib demo currently only builds on x86_64. This series extends
it to x86 (32-bit), RISC-V 64 and ARM64, for both QEMU and EFI
targets.

Along the way it fixes a rustc jobserver warning (MAKEFLAGS leak) and
a linker crash on aarch64 caused by a Rust null-pointer-dereference
check emitting an undefined panic symbol.


Simon Glass (13):
  ulib: x86: Disable regparm when Rust examples are enabled
  disk: part_efi: Check the block size in part_test_efi()
  ulib: Extract common example build rules for demo
  ulib: Add Rust demo example
  ulib: x86: Add Rust demo for qemu-x86_64_nospl
  ulib: x86: Add 32-bit Rust target support
  ulib: x86: Enable Rust demo for qemu-x86
  ulib: riscv: Enable Rust demo for qemu-riscv64
  ulib: riscv: Add Rust demo test for qemu-riscv64
  ulib: x86: Enable Rust demo for efi-x86_app64
  ulib: arm64: Enable Rust demo for efi-arm_app64
  ulib: riscv: Enable Rust demo for efi-riscv_app64
  ulib: arm64: Enable Rust demo for qemu_arm64

 arch/x86/Kconfig                    |  11 +-
 arch/x86/cpu/i386/setjmp.S          |   2 +
 arch/x86/dts/u-boot.dtsi            |  18 ++++
 configs/efi-arm_app64_defconfig     |   1 +
 configs/efi-riscv_app64_defconfig   |   1 +
 configs/efi-x86_app64_defconfig     |   1 +
 configs/qemu-riscv64_defconfig      |   1 +
 configs/qemu-x86_64_nospl_defconfig |   1 +
 configs/qemu-x86_defconfig          |   1 +
 configs/qemu_arm64_defconfig        |   1 +
 disk/part_efi.c                     |  11 +-
 examples/Kconfig                    |  13 +++
 examples/ulib/rust_demo.rs          |  55 ++++++++++
 scripts/Makefile.ulib-example       |  81 ++++++++++++---
 test/py/tests/test_ulib.py          | 155 ++++++++++++++++++++++++++++
 15 files changed, 332 insertions(+), 21 deletions(-)
 create mode 100644 examples/ulib/rust_demo.rs