Files
buildroot/package/qemu-xen/Config.in
Matthew Weber 46b5c95647 package/xen: bump to 4.21.1
Bump Xen from 4.19.5 to 4.21.1.

Resolved in version bump:
- 0002-Arm-platforms-fix-build-with-gcc15.patch
  Upstream: https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=39f95089e2ba15c5438ce904c0cbbd8d79d3e6e7

The git-checkout.sh fix for non-master branch checkout is now included:
  https://xenbits.xenproject.org/gitweb/?p=xen.git;a=commitdiff;h=01fb23dd71006d87e874f310e9c50f31582f274e

Remaining patches refreshed for updated context:
- 0001-No-trace-backend.patch (Buildroot specific, cross-compile workaround)
- 0002-Update-linker-flags.patch (Buildroot specific, cross-compile workaround)

Starting with Xen 4.20, qemu-xen is no longer bundled in the release
tarball. Add a new qemu-xen package that provides the qemu-xen source
tree with required meson subprojects pre-populated. This avoids any
network access during the build.

New dependencies:
- qemu-xen (provides qemu-xen source for tools build)
- host-python-distlib (needed by QEMU's mkvenv)

The qemu-xen package:
- Fetches qemu-xen via git (without recursive submodules to avoid
  massive ROM downloads)
- Pre-populates required meson subprojects (keycodemapdb,
  berkeley-softfloat-3, berkeley-testfloat-3) from gitlab archives
- Applies packagefiles overlays (meson.build) for subprojects that
  need them
- Removes .wrap files for unused subprojects to prevent any network
  access attempts during the build
- Patches xen_native.h #error to #warning for cross-compile

Tested with:
    support/testing/run-tests \
        -d dl -o output_folder \
        tests.package.test_xen.TestXenAarch64
    support/testing/run-tests \
        -d dl -o output_folder \
        tests.package.test_xen.TestXenArmv7

Both aarch64 and arm32 runtime tests pass.

Quick build defconfig used for iteration:
    BR2_aarch64=y
    BR2_TOOLCHAIN_EXTERNAL=y
    BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
    BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
    BR2_PACKAGE_XEN=y
    BR2_PACKAGE_XEN_HYPERVISOR=y
    BR2_PACKAGE_XEN_TOOLS=y
    # BR2_TARGET_ROOTFS_TAR is not set

Related prior attempts:
  https://patchwork.ozlabs.org/project/buildroot/patch/20260211055138.719459-1-matthew.l.weber@gmail.com/
  https://patchwork.ozlabs.org/project/buildroot/patch/20251007164756.893264-1-titouan.christophe@mind.be/

Cc: Neal Frager <neal.frager@amd.com>
Cc: Julien Olivain <ju.o@free.fr>
Cc: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Titouan Christophe <titouan.christophe@mind.be>
Cc: John Ernberg <john.ernberg@actia.se>
Signed-off-by: Matthew Weber <mathew.l.weber3@boeing.com>
[Julien:
 - update qemu-xen package url in Config.in
 - split XEN_DEPENDENCIES lines
 - add COPYING license hash in qemu-xen.hash
]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2026-08-01 16:07:05 +02:00

10 lines
308 B
Plaintext

config BR2_PACKAGE_QEMU_XEN
bool "qemu-xen"
help
The qemu-xen source tree, a QEMU fork maintained by the Xen
project for use as the device model in Xen tool stacks.
Starting with Xen 4.20, this is no longer bundled in the Xen
release tarball.
https://xenbits.xen.org/gitweb/?p=qemu-xen.git