meta-virtualization/recipes-extended/xen
Bruce Ashfield 4fe6a15b48 xen: update to RELEASE-4.19.1-tip
Bumping xen to version RELEASE-4.19.1-9-g8dd897e691, which comprises the following commits:

    8dd897e691 MISRA: Unmark Rules 1.1 and 2.1 as clean following Eclair upgrade
    8b584c97f8 xen: update ECLAIR service identifiers from MC3R1 to MC3A2.
    c41c22bf8e x86/io-apic: prevent early exit from i8259 loop detection
    fbe3ec72dc tools/ocaml: Specify rpath correctly for ocamlmklib
    60573721c5 libs/guest: Fix migration compatibility with a security-patched Xen 4.13
    475511a467 xen/Kconfig: livepatch-build-tools requires debug information
    3a9e5a93e6 x86emul: MOVBE requires a memory operand
    5d61bc0585 update Xen version to 4.19.2-pre
    6f7af8383f xen/device-tree: Allow region overlapping with /memreserve/ ranges
    ccf4008467 update Xen version to 4.19.1
    5d4a29158d x86/msi: fix locking for SR-IOV devices
    f67d770d86 xen/pci: introduce PF<->VF links
    54452a3df9 build: Remove -fno-stack-protector-all from EMBEDDED_EXTRA_CFLAGS
    7eb2df50a6 x86/pvh: also print hardware domain pIRQ limit for PVH
    755b136aa4 x86/irq: fix calculation of max PV dom0 pIRQs
    6a0ef94a8f x86/mm: ensure L2 is always freed if empty
    18ea86302e x86/setup: remove bootstrap_map_addr() usage of destroy_xen_mappings()
    f2e41f075d x86/mm: skip super-page alignment checks for non-present entries
    0560ce8243 x86/mm: introduce helpers to detect super page alignment
    e461f0cd14 x86emul: avoid double memory read for RORX
    7da6997e46 x86emul: ignore VEX.W for BMI{1,2} insns in 32-bit mode
    0560252cbd x86/cpu-policy: Extend the guest max policy max leaf/subleaves
    bb62ed831c x86/alternatives: do not BUG during apply
    36789fa096 xen/livepatch: do Xen build-id check earlier
    60ea799246 xen/livepatch: simplify and unify logic in prepare_payload()
    8fa1ee4053 xen/livepatch: drop load_addr Elf section field
    af7423e78d x86/boot: Preserve the value clobbered by the load-base calculation
    2d02d54cce tools/ocaml: Fix the version embedded in META files
    2914b2b19c tools/ocaml: Drop the OCAMLOPTFLAG_G invocation
    f7b4e4558b tools/ocaml: Fix OCaml libs rules
    04442e130a tools/ocaml: Remove '-cc $(CC)' from OCAMLOPTFLAGS
    5231f97f24 x86/shutdown: change default reboot method preference
    fa1f4752eb x86/viridian: Clarify some viridian logging strings
    38cbe0a62e tools/libxs: Stop playing with SIGPIPE
    823abf0955 tools/libxs: Use writev()/sendmsg() instead of write()
    c991b585c4 tools/libxs: Track whether we're using a socket or file
    97fded1c09 tools/libxs: Rework xs_talkv() to take xsd_sockmsg within the iovec
    dd2494735c tools/libxs: Fix length check in xs_talkv()
    4abfe60f06 tools/misc: xen-hvmcrash: Inject #DF instead of overwriting RIP
    8567eefe37 xen/arm64: entry: Actually skip do_trap_*() when an SError is triggered
    251a949648 xen/x86: prevent addition of .note.gnu.property if livepatch is enabled
    1406f07aa1 tools/libxl: remove usage of VLA arrays
    c86ec8e156 x86/io-apic: fix directed EOI when using AMD-Vi interrupt remapping
    267796fd04 libxl: Use zero-ed memory for PVH acpi tables
    ad77081ac6 x86/hvm: Simplify stdvga_mem_accept() further
    1cb4e0a5fe x86/HVM: drop stdvga's "lock" struct member
    7b2df91a0e x86/HVM: drop stdvga's "vram_page[]" struct member
    77cb6587d4 x86/HVM: drop stdvga's "{g,s}r_index" struct members
    04f1c5e6f7 x86/HVM: drop stdvga's "sr[]" struct member
    2334fb4fef x86/HVM: drop stdvga's "gr[]" struct member
    2ac4917c24 x86/HVM: remove unused MMIO handling code
    92667bef14 x86/HVM: drop stdvga's "stdvga" struct member
    ed8105c364 x86/HVM: drop stdvga's "cache" struct member
    c92f26973d CI: Refresh the Debian 12 x86_32 container
    6ac45f72a3 CI: Refresh the Debian 12 x86_64 container
    32e9c5de2e CI: Drop alpine-3.18-rootfs-export and use test-artefacts
    01951e1a05 CI: Add {adl,zen3p}-pvshim-* tests
    7e0ba9a387 CI: Rework domU_config generation in qubes-x86-64.sh
    1dd4b60de1 CI: Minor cleanup to qubes-x86-64.sh
    76f180625b CI: Stop building QEMU in general
    e9b2124fe8 automation: shorten the timeout for smoke tests
    811637696b automation: add a smoke test for xen.efi on X86
    d1c774c17a automation: preserve built xen.efi
    b68a7b9b29 automation: introduce TEST_TIMEOUT_OVERRIDE
    7b3b33efab automation: fix xilinx test console settings
    9c17da3ea0 automation: use expect utility in xilinx tests
    ed130bef93 automation: fix false success in qemu tests
    5efbc09cd7 automation: update xilinx test scripts (tty)
    59ac149af9 automation: restore CR filtering
    cbea75a3cd automation: add default QEMU_TIMEOUT value if not already set
    a0e776530c automation: add x86_64 xilinx smoke test
    3ba995ab8d CI: Resync .cirrus.yml for FreeBSD testing
    47cdc5fe71 Config: Update MiniOS revision
    fadbc7e32e x86/boot: Fix XSM module handling during PVH boot
    8e157210c0 x86/boot: Fix microcode module handling during PVH boot
    eec09073ad iommu/amd-vi: do not error if device referenced in IVMD is not behind any IOMMU
    a756c242ea xen/spinlock: Fix UBSAN "load of address with insufficient space" in lock_prof_init()
    05292f914f x86/domctl: fix maximum number of MSRs in XEN_DOMCTL_{get,set}_vcpu_msrs
    d15e9fa3c8 ioreq: don't wrongly claim "success" in ioreq_send_buffered()
    8ebd6b066d x86/dpci: do not leak pending interrupts on CPU offline
    8eb2fdbc5b stubdom: Fix newlib build with GCC-14
    8321aa3db8 x86/pv: Rename pv.iobmp_limit to iobmp_nr and clarify behaviour
    0cfbae3f86 x86/pv: Handle #PF correctly when reading the IO permission bitmap
    f879df5eb4 x86/pv: Rework guest_io_okay() to return X86EMUL_*
    8f9dad658a x86/traps: Re-enable interrupts after reading cr2 in the #PF handler
    950e57e0ce x86/PV: simplify (and thus correct) guest accessor functions
    84d8fbd883 xen/ucode: Make Intel's microcode_sanity_check() stricter
    2c61ab4071 xen/ucode: Fix buffer under-run when parsing AMD containers
    933416b139 blkif: reconcile protocol specification with in-use implementations
    d0ea9b319d xen/x86/pvh: handle ACPI RSDT table in PVH Dom0 build
    ec3999e205 x86/HVM: properly reject "indirect" VRAM writes
    78d412f8bc x86emul/test: fix build with gas 2.43
    d625c4e9fb x86: fix UP build with gcc14
    3ceb79ceab SUPPORT.md: split XSM from Flask
    c18635fd69 libxl: Fix nul-termination of the return value of libxl_xen_console_read_line()
    ee826bc490 Arm64: adjust __irq_to_desc() to fix build with gcc14
    6e96dee93c x86/HVM: correct partial HPET_STATUS write emulation
    743af91672 x86/dom0: disable SMAP for PV domain building only
    404fb9b745 x86/x2APIC: correct cluster tracking upon CPUs going down for S3
    a0d6b75b83 x86emul: set (fake) operand size for AVX512CD broadcast insns
    1e68200487 x86emul: always set operand size for AVX-VNNI-INT8 insns
    cb6c3cfc5f x86/pv: Address Coverity complaint in check_guest_io_breakpoint()
    b74a5ea839 x86/pv: Fix merging of new status bits into %dr6
    de924e4dba x86/pv: Introduce x86_merge_dr6() and fix do_debug()
    e2f29f7bad x86emul: correct #UD check for AVX512-FP16 complex multiplications
    e12998a9db xl: fix incorrect output in "help" command
    46a2ce3521 Arm: correct FIXADDR_TOP
    9358a7fad7 x86/vLAPIC: prevent undue recursion of vlapic_error()
    0918434e0f automation: use expect to run QEMU
    51ae51301f automation: disable Yocto jobs
    3e8a2217f2 x86/pass-through: documents as security-unsupported when sharing resources
    c61d4264d2 x86/IOMMU: move tracking in iommu_identity_mapping()
    033060ee6e x86/emul: Fix misaligned IO breakpoint behaviour in PV guests
    8ad5a8c5c3 9pfsd: fix release build with old gcc
    e0e84771b6 tools/lsevtchn: Use errno macro to handle hypercall error cases
    97a15007c9 xen/hvm: Don't skip MSR_READ trace record
    b37580d5e9 xen/sched: fix error handling in cpu_schedule_up()
    ee032f2997 x86/altcall: further refine clang workaround
    adf1939b51 x86/dom0: fix restoring %cr3 and the mapcache override on PV build error
    d2ecc1f231 XSM/domctl: Fix permission checks on XEN_DOMCTL_createdomain
    e54077cbca bunzip2: fix rare decompression failure
    f97db9b3bc update Xen version to 4.19.1-pre
    026c9fa297 Set 4.19 version

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-01-17 19:17:09 +00:00
..
files xen: enable networking and guest image bundling 2024-11-15 19:50:00 +00:00
README xen, xen-tools: Document the version update process in README 2021-04-18 20:19:28 -04:00
xen_4.18.bb xen: fix arm64 build with gcc14 2024-05-31 16:20:17 +00:00
xen_4.19.bb xen: update to RELEASE-4.19.1-tip 2025-01-17 19:17:09 +00:00
xen_git.bb xen: update to 4.20-dev 2024-10-03 01:28:52 +00:00
xen-arch.inc Remove True option to getVar calls 2017-01-03 10:28:33 -05:00
xen-blktap.inc xen: fix virtual RDEPENDS warnings 2024-01-19 14:29:24 +00:00
xen-hypervisor.inc xen: Override CC and CPP in make command line 2022-03-10 14:42:22 -05:00
xen-tools_4.18.bb xen-tools/4.18: update to -tip 2024-03-15 17:17:20 +00:00
xen-tools_4.19.bb xen: update to RELEASE-4.19.1-tip 2025-01-17 19:17:09 +00:00
xen-tools_git.bb xen-tools: refresh patch for 4.20 and drop 4.15 orphaned patch 2024-10-03 01:28:52 +00:00
xen-tools.inc xen-tools: make qemu-firmware dependent on vmsep distro feature 2024-11-18 19:24:22 +00:00
xen.inc xen.inc: python 3.12: fix datetime deprecation warning 2024-11-21 04:28:56 +00:00
xtf_git.bb recipes/classes/scripts: Drop SRCPV usage 2023-08-24 01:38:21 +00:00

Xen

For any issues with the Xen recipes please make sure you CC: christopher.w.clark@gmail.com cardoe@gentoo.org

configuring the hypervisor

Since 4.7.0 Xen supports using Kconfig to configure the hypervisor. Similarly to how the recipe for busybox works, you can provide a .config as a defconfig to override the default configuration of the hypervisor. The easiest way for you to take advantage of this is to create a .config for Xen and then copy it to your Yocto layer as 'defconfig' inside of 'recipes-extended/xen/files/' and then create a bbappend adding 'file://defconfig' to your SRC_URI.

To generate your own .config file for Xen, you can use the interactive menuconfig via bitbake:

bitbake xen -c menuconfig

Select the config settings that you want and Save the file. If you save it to the default ".config" file when prompted by menuconfig, you can find it in the 'xen' subdirectory of the build tree.

Configuration fragments are also supported. To use them you need to list the .cfg files in the SRC_URI.

security patches

The base recipe does not include security fixes that the Xen community releases as XSAs (http://xenbits.xen.org/xsa/). The easiest way to include those is to drop patches in 'recipes-extened/xen/files' and create a bbappend adding those patches to SRC_URI and they will be applied. Alternatively, you can override the SRC_URI to a git repo you provide that contains the patches.

recipe maintenance

Xen version update

The following rules shall be followed to define which versions of Xen have recipes in meta-virtualization:

  • Before a Yocto release meta-virtualization shall have recipes for:

    • the latest stable major version of Xen, and

    • the current version of the Xen master branch (known as the git recipes)

    • In addition, there may also be recipes included for the previous stable major version of Xen, in the case where the latest stable major version is new and the prior stable major version of Xen is to be the preferred version for the Yocto release

  • On Yocto LTS and the latest stable Yocto release branch, the preferred Xen major version that is present when the Yocto release is issued must stay supported and the recipes shall be regularly updated to follow updates available in the Xen stable branch for that Xen major release.

  • On Yocto LTS and the latest stable Yocto release branch, the recipes for the latest Xen major version shall also be regularly updated to follow updates available in the Xen stable branch for that Xen major release.

  • On the master / in-development Yocto branch, new Xen recipes shall be added when there is a new Xen major release.

    • depending on the timing of the next Yocto release, the new recipes may be preferred, or the prior major version recipes may remain preferred until after the Yocto release

    • the recipes for the previous Xen stable major version shall be removed from the branch when it is no longer the preferred Xen version

  • On Yocto LTS and the latest stable Yocto release branch, new Xen recipes shall be added when there is a new Xen major release.

    • The preferred version of the Xen recipes shall always stay at the same Xen major version once a Yocto release has been issued, and shall receive regular updates to track the stable Xen branch of that Xen release.

    • When new Xen recipes are added to a Yocto branch for a new Xen major version, then any older Xen recipes present, except for the original preferred version recipes, shall be marked as not updated anymore by adding a comment inside the recipes. The older recipes will not receive any build tests or be updated to follow the Xen branch.