![]() 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> |
||
---|---|---|
.. | ||
files | ||
README | ||
xen_4.19.bb | ||
xen_4.20.bb | ||
xen_git.bb | ||
xen-arch.inc | ||
xen-blktap.inc | ||
xen-hypervisor.inc | ||
xen-tools_4.19.bb | ||
xen-tools_4.20.bb | ||
xen-tools_git.bb | ||
xen-tools.inc | ||
xen.inc | ||
xtf_git.bb |
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.
-