meta-virtualization/recipes-extended/xen
Bruce Ashfield f0401f5870 xen-tools: update to RELEASE-4.20.1-tip
Bumping xen to version RELEASE-4.20.1-40-gae992e68d3, which comprises the following commits:

    ae992e68d3 CI: Create initrd fragments explicitly as root
    d7e55a4139 Arm: adjust locking in p2m_get_page_from_gfn()
    1230b94f1c Arm: foreign page handling in p2m_get_page_from_gfn()
    665a641471 x86/viridian: protect concurrent modification of the reference TSC page
    c5ecaf0200 x86/viridian: avoid NULL pointer dereference in viridian_synic_deliver_timer_msg()
    5f83f721fb x86/viridian: avoid NULL pointer dereference in update_reference_tsc()
    c59a69ae9e x86/gen-cpuid: Fix debugging for cycle detection
    24fef7a86f x86/gen-cpuid: correct cycle detection
    eb1dc440b2 xen/efi: Fix crash with initial empty EFI options
    9eb436c461 hvmloader: fix SMBIOS table length checks
    68f5ecf690 tools: add sizeof_field and endof_field macros
    1541866d47 x86/suspend: unconditionally raise a timer softirq on resume
    96b7183a02 x86/mce: Adjustments to intel_init_ppin()
    a98591e217 x86/iommu: setup MMCFG ahead of IOMMU
    cb827d8317 x86/hvm/ioreq: Fix condition in hvm_alloc_legacy_ioreq_gfn()
    e2590544d5 x86/mkelf32: pad load segment to 2Mb boundary
    16dae1e1cf efi: Call FreePages() only if needed
    67fcd2d2e5 x86/hpet: do local APIC EOI after interrupt processing
    ea5025554e xenalyze: correct symbol name length fscanf() specifier
    7cda6b6509 tools/xl: don't crash on NULL command line
    4072b0b24c xen/arinc653: fix delay in the start of major frame
    ec5752e154 xen/credit2: factor in previous active unit's credit in csched2_runtime()
    2fd3628fa6 x86/svm: Always flush TLB using TLB_CTRL_FLUSH_ALL
    f1f2ac1a63 x86/alternatives: serialize after (self-)modifying code
    69568ab306 x86/S3: don't lose previously collected CPU data (AMD extra)
    73eaac394c x86/idle: Fix the C6 eoi_errata[] list to include NEHALEM_EX
    c7f876c993 x86/ept: batch PML p2m type-changes into single locked region
    c75f3aea50 x86/ept: move vmx_domain_flush_pml_buffers() to p2m-ept.c
    a586e3865a x86/S3: don't lose previously collected CPU data
    36a83978c5 x86/SMP: guard socket_cpumask[] access in cpu_smpboot_free()
    758879c019 x86emul: adjust BSF/BSR/LZCNT/TZCNT behavior as to EFLAGS
    60186d6f5f x86/mwait-idle: add Clearwater Forest SoC support
    76281c34cd x86/mwait-idle: add Granite Rapids Xeon D support
    1345e24869 x86/mwait-idle: add Granite Rapids Xeon support
    a634a48b48 x86/mwait-idle: add Sierra Forest SoC support
    a4dd64ea81 x86/mwait-idle: add Grand Ridge SoC support
    733dd65888 x86/mwait-idle: Add Meteorlake support
    53939e22c2 x86/mwait-idle: add Emerald Rapids Xeon support
    6d0b94a461 x86/mwait-idle: Add AlderLake-N support
    faf408249c update Xen version to 4.20.2-pre
    08f043965a update Xen version to 4.20.1
    4f0dc6c643 x86/idle: undo use of MONITOR/MWAIT mnemonics
    138d403e07 x86/spec-ctrl: Mitigate Transitive Scheduler Attacks
    05b991100e x86/idle: Rearrange VERW and MONITOR in mwait_idle_with_hints()
    be1e30b45d x86/ucode: Digests for TSA microcode
    67dda84795 x86/cpu-policy: Infrastructure for CPUID leaf 0x80000021.ecx
    88c8875c9d x86/cpu-policy: Rearrange guest_common_*_feature_adjustments()
    349c70a391 x86/idle: Fix buggy "x86/mwait-idle: enable interrupts before C1 on Xeons"
    13d09b2f12 x86/idle: Implement a new MWAIT IPI-elision algorithm
    1a51c6252a xen/softirq: Rework arch_skip_send_event_check() into arch_set_softirq()
    3f11eda311 x86/idle: Convert force_mwait_ipi_wakeup to X86_BUG_MONITOR
    d6727b7e25 x86/idle: Drop incorrect smp_mb() in mwait_idle_with_hints()
    f5dd06f9b1 x86/idle: Remove broken MWAIT implementation
    60522d4040 x86/cpu-policy: Simplify logic in guest_common_default_feature_adjustments()
    b6436bb005 Revert part of "x86/mwait-idle: disable IBRS during long idle"
    8869f66d29 x86/idle: Remove MFENCEs for CLFLUSH_MONITOR
    fa254938f0 x86/idle: Move monitor()/mwait() wrappers into cpu-idle.c
    0c70d44453 x86/cpu-policy: Fix handling of leaf 0x80000021
    703e42cd87 xen/build: pass -fzero-init-padding-bits=all to gcc15
    74e66f34f9 libxc/PM: Retry get_pxstat if data is incomplete
    f448bc1074 libxc/PM: Ensure pxstat buffers are correctly sized
    9e1309b0f0 x86/emul: Fix extable registration in invoke_stub()
    2f80f3071a xenalyze: Add 2 missed VCPUOPs in vcpu_op_str
    fd64f59cc7 cpufreq: Avoid potential buffer overrun and leak
    110bc6ef1a x86/pmstat: Check size of PMSTAT_get_pxstat buffers
    0cd774e8c2 tools/libxl: Only access legacy altp2m on HVM
    60f6137190 x86/pv: Fix breakpoint reporting
    ed3bf0a89b x86/vmx: Fix VMEntry failure on ADL/SPR with shadow guests
    5919917921 x86/vpci: fix handling of BAR overlaps with non-hole regions
    a60e953080 x86/pv: fix emulation of wb{,no}invd to flush all pCPU caches
    ddec00769c x86/emul: Fix emulation of RDSEED with older toolchains
    612cfd7215 x86/IRQ: constrain creator-domain-ID assertion
    ee150f56fc x86/pv: fix MMUEXT_FLUSH_CACHE to flush all pCPU caches
    f938c08494 x86/spec-ctrl: Support Intel's new PB-OPT
    b1eeea44cd cpufreq: don't leave stale statistics pointer
    68506161ef x86emul: avoid UB shifts in FLDENV/FRSTOR handling
    d58800f13d xen/link: Include .debug_str_offsets in DWARF2_DEBUG_SECTIONS
    45056fe5c5 x86/spec-ctrl: Synthesise ITS_NO to guests on unaffected hardware
    b9e8204ab1 x86/thunk: Build Xen with Return Thunks
    cda26aed40 x86/stubs: Introduce place_ret() to abstract away raw 0xc3's
    c6a2b5e9d0 x86/thunk: (Mis)align the RETs in clear_bhb_loops() to mitigate ITS
    f81f44393f x86/thunk: (Mis)align __x86_indirect_thunk_* to mitigate ITS
    5992d3ab9f x86/guest: Remove use of the Xen hypercall_page
    cf81888012 x86/alternative: Support replacements when a feature is not present
    47d911f69e CI: Build with --prefix=/usr rather than setting LD_LIBRARY_PATH
    690655a511 CI: Include microcode for x86 hardware jobs
    0258350a63 CI: save toolstack artifact as cpio.gz
    69a629b462 CI: Switch to new argo artefact
    1532272067 CI: remove now unused alpine-3.18-arm64-rootfs job and its container
    7f26cba32c CI: avoid repacking initrd as part of the test job
    20212a32e9 CI: Rename intermediate artefacts in qemu-* scripts
    fd7218e3f4 CI: write whole etc/issue for domU initrd
    16b30e0827 CI: switch qubes runners to use console.exp
    563af5983b CI: fix waiting for final test message
    17bad6958a CI: wait for Xen to start before waiting for test to complete
    a70222e30c CI: Drop stale test-artifacts/alpine/3.18.dockerfile
    18d59a6056 CI: Update ARM64 tests from Linux 6.6.74 to 6.6.86
    e9978d089a CI: Update x86 tests from Linux 6.1.19 to 6.6.56
    87ab3ad445 CI: adjust resolving network interface into PCI device
    052e7f57ec CI: wait for the network interface in PCI passthrough tests
    23f7c8341c CI: consistently use DOCKER_CMD in makefiles
    78317ae331 CI: increase verbosity of starting a domain
    17c6958bb4 CI: include domU kernel messages in the console output log
    d747ca04b4 CI: enable XHCI console in Xen debug build on Alpine
    0ab5bedcfd CI: prevent grub unpacking initramfs
    a30bb23e9a ci: add Intel KabyLake HW runner
    d6a11ac363 ci: create boot.ipxe for legacy boot
    59be07b2d3 automation/eclair: Reduce verbosity of ECLAIR logs.
    2b430f8685 automation: add tools/tests jobs on the AMD Zen3+ runner too
    56899974ca automation: allow selecting individual jobs via CI variables
    b0a94e392c automation: add jobs running tests from tools/tests/*
    f2603e2b1d automation: skip building domU if there is no test defined for it
    d4e5f8c627 automation: upgrade arm32 kernel from bullseye to bookworm
    56badca5d8 automation: upgrade Linux kernel for arm64 tests to 6.6.74
    35cb38b222 x86: constrain sub-page access length in mmio_ro_emulated_write()
    f1e8b37f50 xen: remove -N from the linker command line
    a05e4817f9 x86/intel: workaround several MONITOR/MWAIT errata
    fc07876bea x86/EFI: correct mkreloc header (field) reading
    7d9bbb8ba8 compat/memory: avoid UB shifts in XENMEM_exchange handling
    23a02992ed x86emul: also clip repetition count for STOS
    ade8230830 x86/HVM: update repeat count upon nested lin->phys failure
    dee15facf8 x86/mm: account for the offset when performing subpage r/o MMIO access
    6b399ed19f xen/rangeset: fix incorrect subtraction
    f1dd955988 include: sort $(wildcard ...) results
    f01a09d0b1 x86emul/test: drop check for AVX512-4FMAPS
    1a8df8282c xen: x86: irq: initialize irq desc in create_irq()
    2bd2c08a0f x86/cpu: Validate CPUID leaf 0x2 EDX output
    e0d9137ae7 xen: vm_event: do not do vm_event_op for an invalid domain
    5b5a11c6c8 sched/null: avoid another crash after failed domU creation
    da24dccf53 x86/MTRR: hook mtrr_bp_restore() back up
    ad82c8c7b6 x86/ucode: Extend AMD digest checks to cover Zen5 CPUs
    ad569a4bd7 x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode
    41d65b3114 xen/lib: Introduce SHA2-256
    95d726d28b tools/libxl: do not use `-c -E` compiler options together
    c413eff3c5 automation/eclair: Remove bespoke service B.UNEVALEFF
    e071b23394 CI: Add yet another HW runner
    dd81219b84 automation/cirrus-ci: add smoke tests for the FreeBSD builds
    fdbb32a9a9 automation/cirrus-ci: store XTF and Xen build artifacts
    e6816c3758 automation/cirrus-ci: build XTF
    cfa5bc6f0a automation/cirrus-ci: use matrix keyword to generate per-version build tasks
    81189d7116 automation/console.exp: do not assume expect is always at /usr/bin/
    0b37231312 automation/cirrus-ci: store Xen Kconfig before doing a build
    44407a9d92 automation/cirrus-ci: update FreeBSD to 13.5
    0a84ef2731 automation/cirrus-ci: add timestamps
    8f94c1ec72 automation/cirrus-ci: store xen/.config as an artifact
    2599ee0b60 CirrusCI: Use shallow clone
    3ccbe66d30 xen/percpu: don't initialize percpu on resume
    b1bbf20a93 x86/P2M: synchronize fast and slow paths of p2m_get_page_from_gfn()
    64f9c54daa ARM/vgic: Fix out-of-bounds accesses in vgic_mmio_write_sgir()
    ad063b08b1 tools/ocaml: Fix oxenstored build warning
    a2cf6f9d52 Arm/domctl: correct XEN_DOMCTL_vuart_op error return value
    52c99f4b43 x86/pmstat: correct get_cpufreq_para()'s error return value
    108fcc6a73 x86/PVH: account for module command line length
    f14c523da1 x86/emul: Emulate %cr8 accesses
    990a3d8710 x86/emul: Rearrange the logic in hvmemul_{read,write}_cr()
    a1f8f1e681 x86/PVH: expose OEMx ACPI tables to Dom0
    fcbd016bd2 xenpm: sanitize allocations in show_cpufreq_para_by_cpuid()
    92afeb2961 x86/boot: Simplify the expression for extra allocation space
    859e2c4f84 xen/compiler: Fix the position of the visibility pragma
    de440d0407 x86/vga: fix mapping of the VGA text buffer
    da36efa852 x86/xlat: fix UB pointer arithmetic in COMPAT_ARG_XLAT_VIRT_BASE
    fbb06cfa73 x86/shadow: fix UB pointer arithmetic in sh_mfn_is_a_page_table()
    8c788b41d7 x86/mkelf32: account for offset when detecting note segment placement
    c607822b5a x86/setup: correct off-by-1 in module mapping
    c1badde601 xen/arinc653: call xfree() with local IRQ enabled
    97f064d9ab x86/mm: Fix IS_ALIGNED() check in IS_LnE_ALIGNED()
    408935872a x86/ioremap: prevent additions against the NULL pointer
    b29984df38 libxl: avoid infinite loop in libxl__remove_directory()
    80cbb29612 xen/sched: fix arinc653 to not use variables across cpupools
    f2ddbeb9dd tools/libxl: Skip missing PCI GSIs
    1ddf72bbdf tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi()
    94928e415f x86/hvm: check return code of hvm_pi_update_irte when binding
    74b40fe105 x86/vmx: fix posted interrupts usage of msi_desc->msg field
    f581b36608 x86/msr: expose MSR_FAM10H_MMIO_CONF_BASE on AMD
    4a480e7a14 x86/vlapic: Fix handling of writes to APIC_ESR
    70038e8c09 tools/xl: fix channel configuration setting
    bc3006b9fe x86/dom0: be less restrictive with the Interrupt Address Range
    a1a5bd40b5 x86/iommu: account for IOMEM caps when populating dom0 IOMMU page-tables
    1d8d5753b7 x86/dom0: correctly set the maximum ->iomem_caps bound for PVH
    b5ade8ef26 x86/dom0: attempt to fixup p2m page-faults for PVH dom0
    48f013199a x86/emul: dump unhandled memory accesses for PVH dom0
    9d465658b4 update Xen version to 4.20.1-pre
    3ad5d648cd Update to Xen 4.20

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-09-17 13:22:47 -04:00
..
files xen: fix header guard inconsistencies (gcc15) 2025-05-15 22:08:16 -04:00
README xen, xen-tools: Document the version update process in README 2021-04-18 20:19:28 -04:00
xen_4.19.bb recipes-extended: adapt to UNPACKDIR changes 2025-06-25 22:49:03 -04:00
xen_4.20.bb xen: update to RELEASE-4.20.1-tip 2025-09-17 13:22:11 -04:00
xen_git.bb xen: update to RELEASE-4.20.1-tip 2025-09-17 13:21:07 -04: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 metadata: add whitespace around assignments 2025-04-03 17:56:53 +00:00
xen-tools_4.19.bb recipes-extended: adapt to UNPACKDIR changes 2025-06-25 22:49:03 -04:00
xen-tools_4.20.bb xen-tools: update to RELEASE-4.20.1-tip 2025-09-17 13:22:47 -04:00
xen-tools_git.bb recipes-extended: adapt to UNPACKDIR changes 2025-06-25 22:49:03 -04:00
xen-tools.inc metadata: add whitespace around assignments 2025-04-03 17:56:53 +00:00
xen.inc metadata: add whitespace around assignments 2025-04-03 17:56:53 +00:00
xtf_git.bb recipes-extended: adapt to UNPACKDIR changes 2025-06-25 22:49:03 -04: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.