meta-virtualization/recipes-extended/xen
Bruce Ashfield 7fe0f9a8c0 xen/4.17: update to -tip
Bumping xen to version RELEASE-4.17.3-53-g0ebd2e49bc, which comprises the following commits:

    0ebd2e49bc x86: protect conditional lock taking from speculative execution
    074b4c8987 x86/mm: add speculation barriers to open coded locks
    2cc5e57be6 locking: attempt to ensure lock wrappers are always inline
    468a368b2e percpu-rwlock: introduce support for blocking speculation into critical regions
    7454dad6ee rwlock: introduce support for blocking speculation into critical regions
    9d2f136328 x86/spinlock: introduce support for blocking speculation into critical regions
    0a53565f18 xen: Swap order of actions in the FREE*() macros
    bf70ce8b34 x86/paging: Delete update_cr3()'s do_locking parameter
    d85481135d x86/spec-ctrl: Mitigation Register File Data Sampling
    6663430b44 x86/spec-ctrl: VERW-handling adjustments
    d55d52961d x86/spec-ctrl: Rename VERW related options
    76af773de5 x86/spec-ctrl: Perform VERW flushing later in exit paths
    77f2bec134 x86/vmx: Perform VERW flushing later in the VMExit path
    abc43cf5a6 x86: Resync intel-family.h from Linux
    e691f99f17 x86/entry: Introduce EFRAME_* constants
    1f94117bec x86/mm: fix detection of last L1 entry in modify_xen_mappings_lite()
    1e9808227c hvmloader/PCI: skip huge BARs in certain calculations
    54dacb5c02 x86/cpu-policy: Allow for levelling of VERW side effects
    2f49d9f89c x86/altcall: always use a temporary parameter stashing variable
    c4ee68eda9 libxl: Fix segfault in device_model_spawn_outcome
    a59106b276 xen/livepatch: properly build the noapply and norevert tests
    5564323f64 xen/livepatch: fix norevert test attempt to open-code revert
    c54cf903b0 xen/livepatch: search for symbols in all loaded payloads
    b11917de0c xen/livepatch: register livepatch regions when loaded
    0ce25b46ab x86/spec: do not print thunk option selection if not built-in
    693455c3c3 x86/spec: fix INDIRECT_THUNK option to only be set when build-enabled
    76ea2aab36 x86/spec: print the built-in SPECULATIVE_HARDEN_* options
    b75bee1832 xen/sched: Fix UB shift in compat_set_timer_op()
    9c0d518eb8 x86/HVM: hide SVM/VMX when their enabling is prohibited by firmware
    6cbccc4071 xen/arm: Fix UBSAN failure in start_xen()
    49f7760237 x86: account for shadow stack in exception-from-stub recovery
    9165001081 x86/spec: fix BRANCH_HARDEN option to only be set when build-enabled
    1aafe054e7 x86/altcall: use a union as register type for function parameters on clang
    229e8a72ee xen/cmdline: fix printf format specifier in no_config_param()
    f6b1279254 xen/livepatch: fix norevert test hook setup typo
    16f2e47eb1 x86emul: add missing EVEX.R' checks
    ea86997727 build: make sure build fails when running kconfig fails
    b974528073 libxl: Disable relocating memory for qemu-xen in stubdomain too
    1330a5fe44 build: Replace `which` with `command -v`
    b3ae0e6201 x86/HVM: tidy state on hvmemul_map_linear_addr()'s error path
    415f770d23 x86/hvm: Fix fast singlestep state persistence
    463aaf3fbf amd-vi: fix IVMD memory type checks
    61da71968e tools/xentop: fix sorting bug for some columns
    091466ba55 x86/p2m-pt: fix off by one in entry check assert
    afb85cf1e8 lib{fdt,elf}: move lib{fdt,elf}-temp.o and their deps to $(targets)
    7bd612727d x86/vmx: Disallow the use of inactivity states
    eca5416f9b x86/vmx: Fix IRQ handling for EXIT_REASON_INIT
    d0ad2cc5ea x86/intel: ensure Global Performance Counter Control is setup correctly
    0ef1fb43dd CirrusCI: drop FreeBSD 12
    abcc32f063 x86/amd: Extend CPU erratum #1474 fix to more affected models
    6b1864afc1 VT-d: Fix "else" vs "#endif" misplacement
    f9e1ed51bd pci: fail device assignment if phantom functions cannot be assigned
    4f6e9d4327 update Xen version to 4.17.4-pre
    949a4aad41 update Xen version to 4.17.3
    958706fd2e xen/arm: page: Avoid pointer overflow on cache clean & invalidate
    e2caee491a xen/sched: fix sched_move_domain()
    4000522008 Only compile the hypervisor with -Wdeclaration-after-statement
    83ae677d2a x86/x2apic: introduce a mixed physical/cluster mode
    6eb98dda5c xen/domain: fix error path in domain_create()
    5d01aa7ad5 xen/sched: fix adding offline cpu to cpupool
    7d8bd64e11 x86emul: avoid triggering event related assertions
    4923450c0e tools/xg: Fix potential memory leak in cpu policy getters/setters
    eac655d6be xen/x86: In x2APIC mode, derive LDR from APIC ID
    e3c1ffb2a3 livepatch: do not use .livepatch.funcs section to store internal state
    32c3403e4c x86/mem_sharing: Release domain if we are not able to enable memory sharing
    e1f9cb16e2 xen/sched: fix sched_move_domain()
    28f44b603f xen/grant: Fix build in PV_SHIM
    0527bab090 x86/spec-ctrl: Add SRSO whitepaper URL
    c635c17fde x86/i8259: do not assume interrupts always target CPU0
    d10db37b78 x86/x2apic: remove usage of ACPI_FADT_APIC_CLUSTER
    267ac3c592 x86/pv-shim: fix grant table operations for 32-bit guests
    4bd2c8c8b9 x86/mem_sharing: add missing m2p entry when mapping shared_info page
    011d20a69c docs: Fix IOMMU command line docs some more
    bb13e63143 x86: support data operand independent timing mode
    40685f9283 iommu/vt-d: fix SAGAW capability parsing
    ee4ce01198 iommu: fix quarantine mode command line documentation
    f6996645d2 x86/pvh: fix identity mapping of low 1MB
    e1275e58c7 x86/amd: Address AMD erratum #1485
    1a94fc132a x86: Add bit definitions for Automatic IBRS
    7eb2a4eba1 tools/pygrub: Fix pygrub's --entry flag for python3
    65e1f3d289 cxenstored: wait until after reset to notify dom0less domains
    6384cdf0c3 x86: Clarify that only 5 hypercall parameters are supported
    2e87f3a03a docs/sphinx: Switch hypercall-abi.rst to named footnotes
    4f43614a89 x86/amd: do not expose HWCR.TscFreqSel to guests
    0311ff4a2c x86/spec-ctrl: Remove conditional IRQs-on-ness for INT $0x80/0x82 paths
    b7a1e10539 iommu/amd-vi: use correct level for quarantine domain page tables
    0b56bed864 x86/pv: Correct the auditing of guest breakpoint addresses
    3f8b444072 x86/svm: Fix asymmetry with AMD DR MASK context switching
    46d00dbf4c libxl: limit bootloader execution in restricted mode
    42bf49d74b libxl: add support for running bootloader in restricted mode
    f5e211654e tools/pygrub: Deprivilege pygrub
    8ee19246ad tools/libfsimage: Export a new function to preload all plugins
    3797742067 tools/pygrub: Open the output files earlier
    e7059f16f7 tools/pygrub: Small refactors
    8a584126ea tools/pygrub: Remove unnecessary hypercall
    eb4efdac4c libfsimage/xfs: Add compile-time check to libfsimage
    78143c5336 libfsimage/xfs: Sanity-check the superblock during mounts
    f1cd620cc3 libfsimage/xfs: Amend mask32lo() to allow the value 32
    d665c6690e libfsimage/xfs: Remove dead code
    0d8f9f7f27 iommu/amd-vi: flush IOMMU TLB when flushing the DTE
    c4e05c97f5 tools/xenstored: domain_entry_fix(): Handle conflicting transaction
    90c540c589 x86/shadow: defer releasing of PV's top-level shadow reference
    9ac2f49f5f x86/spec-ctrl: Mitigate the Zen1 DIV leakage
    19ee1e1faa x86/amd: Introduce is_zen{1,2}_uarch() predicates
    2e2c3efcfc x86/spec-ctrl: Issue VERW during IST exit to Xen
    e4a71bc0da x86/entry: Track the IST-ness of an entry for the exit paths
    5f7efd47c8 x86/entry: Adjust restore_all_xen to hold stack_end in %r14
    ba023e93d0 x86/spec-ctrl: Improve all SPEC_CTRL_{ENTER,EXIT}_* comments
    3952c73bdb x86/spec-ctrl: Turn the remaining SPEC_CTRL_{ENTRY,EXIT}_* into asm macros
    84690fb82c x86/spec-ctrl: Fold DO_SPEC_CTRL_EXIT_TO_XEN into it's single user
    dc28aba565 x86/spec-ctrl: Fix confusion between SPEC_CTRL_EXIT_TO_XEN{,_IST}
    d2d2dcae87 x86/AMD: extend Zenbleed check to models "good" ucode isn't known for
    d31e5b2a9c xen/arm: page: Handle cache flush of an element at the top of the address space
    699de51274 x86/irq: fix reporting of spurious i8259 interrupts
    8be85d8c0d x86/vmx: Revert "x86/VMX: sanitize rIP before re-entering guest"
    a939e953cd x86/svm: Fix valid condition in svm_get_pending_event()
    7ca58fbef4 tboot: Disable CET at shutdown
    0429822978 libxl: slightly correct JSON generation of CPU policy
    ba360fbb64 build: correct gas --noexecstack check
    5116fe12d8 x86/iommu: pass full IO-APIC RTE for remapping table update
    e08e7330c5 iommu/vtd: rename io_apic_read_remap_rte() local variable
    1bd4523d69 x86/ioapic: RTE modifications must use ioapic_write_entry
    a885649098 x86/ioapic: add a raw field to RTE struct
    d0cdd34dd8 x86/ioapic: sanitize IO-APIC pins before enabling lapic LVTERR/ESR
    f04295dd80 xenalyze: Handle start-of-day ->RUNNING transitions
    e5f9987d5f x86/head: check base address alignment
    7b5155a79e xen/vcpu: ignore VCPU_SSHOTTMR_future
    052a8d24bc tools/vchan: Fix -Wsingle-bit-bitfield-constant-conversion
    f00d563095 CI: Resync FreeBSD config with staging
    e418a77295 rombios: Remove the use of egrep
    24487fec3b rombios: Avoid using K&R function syntax
    ae1045c429 rombios: Work around GCC issue 99578
    37f1d68fa3 x86emul: rework wrapping of libc functions in test and fuzzing harnesses
    476d2624ec Config.mk: evaluate XEN_COMPILE_ARCH and XEN_OS immediately
    a1f68fb567 build: evaluate XEN_BUILD_* and XEN_DOMAIN immediately
    36e84ea02e build: remove TARGET_ARCH, a duplicate of SRCARCH
    56076ef445 build: remove TARGET_SUBARCH, a duplicate of ARCH
    1c3927f8f6 build: define ARCH and SRCARCH later
    8d84be5b55 libxl: Use XEN_LIB_DIR to store bootloader from pygrub
    7d88979849 x86: fix build with old gcc after CPU policy changes
    2f337a04bf update Xen version to 4.17.3-pre
    322a20add0 Update Xen to version 4.17.2

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-03-15 17:17:20 +00:00
..
files xen-tools/4.18: update to -tip 2024-03-15 17:17:20 +00:00
README xen, xen-tools: Document the version update process in README 2021-04-18 20:19:28 -04:00
xen_4.17.bb xen/4.17: update to -tip 2024-03-15 17:17:20 +00:00
xen_4.18.bb xen/4.18: update to -tip 2024-03-15 17:17:20 +00:00
xen_git.bb xen-dev: update to -tip 2024-03-15 17:17:20 +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.17.bb xen-tools: fix python 3.12 build errors 2023-12-04 21:03:57 +00:00
xen-tools_4.18.bb xen-tools/4.18: update to -tip 2024-03-15 17:17:20 +00:00
xen-tools_git.bb xen-tools-dev: update to -tip 2024-03-15 17:17:20 +00:00
xen-tools.inc xen: fix virtual RDEPENDS warnings 2024-01-19 14:29:24 +00:00
xen.inc xen: force usage of gcc 2023-01-27 10:32:06 -05: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.