meta-virtualization/recipes-extended/xen
Bruce Ashfield eacc1c3128 xen: update to 4.18-tip
Bumping xen to version RELEASE-4.17.0-89-ge4a5fb9227, which comprises the following commits:

    e4a5fb9227 CI: Remove llvm-8 from the Debian Stretch container
    435a1e5e8f automation: Remove non-debug x86_32 build jobs
    8c414bab30 automation: Remove CentOS 7.2 containers and builds
    e3b23da4a1 automation: Switch arm32 cross builds to run on arm64
    4c0d792675 CI: Drop automation/configs/
    7758cd57e0 ns16550: correct name/value pair parsing for PCI port/bridge
    85100ed78c vpci/msix: handle accesses adjacent to the MSI-X table
    3506935824 include: don't mention stub headers more than once in a make rule
    7f55774489 x86/ucode: Fix error paths control_thread_fn()
    f6a3e93b37 x86/vmx: Don't spuriously crash the domain when INIT is received
    11c8ef59b9 x86/shadow: Fix build with no PG_log_dirty
    00aa5c93d1 x86/nospec: Fix evaluate_nospec() code generation under Clang
    6f2d89d681 x86/shadow: fix and improve sh_page_has_multiple_shadows()
    33b1c8cd86 VT-d: fix iommu=no-igfx if the IOMMU scope contains fake device(s)
    3c85fb7b65 AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode
    3eac216e6e libacpi: fix PCI hotplug AML
    7082d656ae bunzip: work around gcc13 warning
    f971f5c531 VT-d: constrain IGD check
    d84612ecab x86/altp2m: help gcc13 to avoid it emitting a warning
    b5409f4e4d core-parking: fix build with gcc12 and NR_CPUS=1
    b4dad09bb2 x86/spec-ctrl: Add BHI controls to userspace components
    244d39fb13 tools/xenmon: Fix xenmon.py for with python3.x
    651ffe2c78 tools/python: change 's#' size type for Python >= 3.10
    b745ff3011 x86/vmx: implement Notify VM Exit
    27abea1ba6 x86/vmx: introduce helper to set VMX_INTR_SHADOW_NMI
    83f12e4eaf x86/vmx: implement VMExit based guest Bus Lock detection
    a730e4d119 x86/spec-ctrl: Defer CR4_PV32_RESTORE on the cstar_enter path
    a2a915b396 x86/HVM: serialize pinned cache attribute list manipulation
    d0cb66d59a x86/HVM: bound number of pinned cache attribute regions
    f8f8f07880 x86/shadow: account for log-dirty mode when pre-allocating
    ec5b058d2a x86/ucode/AMD: late load the patch on every logical thread
    fa8250f192 libs/guest: Fix leak on realloc failure in backup_ptes()
    01f85d835b libs/guest: Fix resource leaks in xc_core_arch_map_p2m_tree_rw()
    53bd16bcc0 tools: Use PKG_CONFIG_FILE instead of PKG_CONFIG variable
    b10cf1561a xen: Fix Clang -Wunicode diagnostic when building asm-macros
    837bdc6eb2 xen: Work around Clang-IAS macro \@ expansion bug
    e8f28e129d x86: perform mem_sharing teardown before paging teardown
    e9a7942f6c x86/ucode/AMD: apply the patch early on every logical thread
    46c104cce0 build: make FILE symbol paths consistent
    74b76704fd credit2: respect credit2_runqueue=all when arranging runqueues
    8202b9cf84 x86/shskt: Disable CET-SS on parts susceptible to fractured updates
    cdc23d47ad x86/cpuid: Infrastructure for leaves 7:1{ecx,edx}
    c622b8ace9 libs/util: Fix parallel build between flex/bison and CC rules
    aaf74a532c automation: Remove clang-8 from Debian unstable container
    3685e754e6 x86/spec-ctrl: Mitigate Cross-Thread Return Address Predictions
    587823eca1 tools/ocaml/libs: Fix memory/resource leaks with caml_alloc_custom()
    bf935b1ff7 tools/ocaml/xc: Don't reference Abstract_Tag objects with the GC lock released
    afdcc10856 tools/ocaml/xc: Fix binding for xc_domain_assign_device()
    021b82cc0c tools/ocaml/evtchn: Don't reference Custom objects with the GC lock released
    5797b798a5 tools/ocaml/libs: Allocate the correct amount of memory for Abstract_tag
    2c21e1bee6 tools/ocaml/libs: Don't declare stubs as taking void
    e74d868b48 tools/oxenstored: validate config file before live update
    f0e653fb4a tools/ocaml/xb: Drop Xs_ring.write
    7d516fc876 tools/ocaml/xb,mmap: Use Data_abstract_val wrapper
    5d8f9cfa16 tools/ocaml/xenctrl: Use larger chunksize in domain_getinfolist
    03f545b6cf tools/ocaml/xenctrl: Make domain_getinfolist tail recursive
    3dae50283d libxl: fix guest kexec - skip cpuid policy
    d012788137 ns16550: fix an incorrect assignment to uart->io_size
    819a5d4ed8 build: fix building flask headers before descending in flask/ss/
    2d74e7035b x86/shadow: fix PAE check for top-level table unshadowing
    e904d8ae01 x86/vmx: Support for CPUs without model-specific LBR
    5e3250258a x86/vmx: Calculate model-specific LBRs once at start of day
    c871e05e13 include/compat: produce stubs for headers not otherwise generated
    1d7a388e7b tools: Fix build with recent QEMU, use "--enable-trace-backends"
    a470a83c36 x86/S3: Restore Xen's MSR_PAT value on S3 resume
    2f8851c37f Revert "tools/xenstore: simplify loop handling connection I/O"
    c4972a4272 tools/oxenstored: Render backtraces more nicely in Syslog
    91a9ac6e9b tools/oxenstored/syslog: Avoid potential NULL dereference
    e13a9a2146 tools/oxenstored: Set uncaught exception handler
    991b512f5f tools/oxenstored: Log live update issues at warning level
    f02171b663 tools/oxenstored: Keep /dev/xen/evtchn open across live update
    4b418768ef tools/oxenstored: Rework Domain evtchn handling to use port_pair
    a20daa7ffd tools/oxenstored: Implement Domain.rebind_evtchn
    fd0d9b0597 tools/oxenstored: Rename some 'port' variables to 'remote_port'
    bc5cc00868 tools/oxenstored: Bind the DOM_EXC VIRQ in in Event.init()
    0929960173 tools/oxenstored: Style fixes to Domain
    c7cf603836 tools/ocaml/evtchn: Extend the init() binding with a cloexec flag
    24d9dc2ae2 tools/ocaml/evtchn: Add binding for xenevtchn_fdopen()
    d11528a993 tools/ocaml/evtchn: OCaml 5 support, fix potential resource leak
    2e8d7a08bc tools/oxenstored: Fix incorrect scope after an if statement
    a7a26da0b5 x86/time: prevent overflow with high frequency TSCs
    1dcc9b6dfe EFI: relocate the ESRT when booting via multiboot2
    c3e37c60fb ioreq_broadcast(): accept partial broadcast success
    26f39b3d70 x86/HVM: don't mark evtchn upcall vector as pending when vLAPIC is disabled
    5810edc049 x86/Viridian: don't mark IRQ vectors as pending when vLAPIC is disabled
    54bb56e128 x86/HVM: don't mark external IRQs as pending when vLAPIC is disabled
    b7b34bd66a x86/pvh: do not forward MADT Local APIC NMI structures to dom0
    9cbc04a95f x86/irq: do not release irq until all cleanup is done
    0b999fa2ea update Xen version to 4.17.1-pre
    11560248ff Use EfiACPIReclaimMemory for ESRT
    d50a866d88 SUPPORT.md: Define support lifetime
    4aa115ea4e Set 4.17 version
    7b96d2d71b CHANGELOG: Set 4.17 release date and tag
    9da9560a53 README: make heading say 4.17
    74e2a324e8 Config.mk: Bump tags to 4.17.0 final
    100c3416b5 x86/HVM+shim: fix build when !CONFIG_GRANT_TABLE
    942f881eb1 tools/include: fix clean and rework COPYING for installed Xen public header
    894a7786c8 Turn off debug by default
    d86fb95cfd SUPPORT.md: Set Releases Notes link
    f51079b5d8 Config.mk: switch to named tags (for stable branch)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-04-12 13:10:11 -04:00
..
files xen: update to 4.17-tip 2023-04-12 13:10:11 -04:00
README xen, xen-tools: Document the version update process in README 2021-04-18 20:19:28 -04:00
xen_4.16.bb xen: Bump SRCREV of 4.16 recipes to 4.16.3 2023-01-10 13:58:07 -05:00
xen_4.17.bb xen: update to 4.17-tip 2023-04-12 13:10:11 -04:00
xen_git.bb xen: update to 4.18-tip 2023-04-12 13:10:11 -04:00
xen-arch.inc Remove True option to getVar calls 2017-01-03 10:28:33 -05:00
xen-blktap.inc global: overrides syntax conversion 2021-08-02 17:17:53 -04:00
xen-hypervisor.inc xen: Override CC and CPP in make command line 2022-03-10 14:42:22 -05:00
xen-tools_4.16.bb xen-tools: move var-lib-xenstored.mount to be version specific 2023-01-20 12:16:33 -05:00
xen-tools_4.17.bb xen: update to 4.17-tip 2023-04-12 13:10:11 -04:00
xen-tools_git.bb xen: Add recipes for stable Xen 4.17 release and update master 2023-01-10 13:58:07 -05:00
xen-tools.inc xen-tools: move var-lib-xenstored.mount to be version specific 2023-01-20 12:16:33 -05:00
xen.inc xen: force usage of gcc 2023-01-27 10:32:06 -05:00
xtf_git.bb global: add explicit branch to all SRC_URIs 2021-11-02 09:57: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.