aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-extended/xen/xen.inc
AgeCommit message (Collapse)Author
2022-05-02xen: use vgabios 0.8aRoss Burton
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-03-10xen: Override CC and CPP in make command lineMichal Orzel
After 4.16 release, Xen build system has been changed significantly. When building latest status of Xen it was observed that commit 317c98cb91 broke the hypervisor build on arm32 due to the change in handling Rules.mk that xen.inc modifies to override CC and CPP. In order to fix the issue this patch moves overriding CC and CPP from Rules.mk to make command line by adding them to EXTRA_OEMAKE:arm. Take the opportunity to bump SRCREV of xen_git.bb and xen-tools_git.bb to the current status of master. Signed-off-by: Michal Orzel <michal.orzel@arm.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-02-18global: update licence values to SPDX valuesBruce Ashfield
These changes are the result of running the convert-spdx-licenses.py oe-core script. There's no impact to the build, but we will avoid issues when interacting with core QA by the alignment. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-10-12xen: add missing pkgconfig inheritRoss Burton
New oe-core pulls in less default dependencies[1], so add an explicit inherit of pkgconfig as it is needed to configure Xen. [1] https://lists.openembedded.org/g/openembedded-core/message/156185 Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-08-02global: overrides syntax conversionBruce Ashfield
OEcore/bitbake are moving to use the clearer ":" as an overrides separator. This is pass one of updating the meta-virt recipes to use that syntax. This has only been minimally build/runtime tested, more changes will be required for missed overrides, or incorrect conversions Note: A recent bitbake is required: commit 75fad23fc06c008a03414a1fc288a8614c6af9ca Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Sun Jul 18 12:59:15 2021 +0100 bitbake: data_smart/parse: Allow ':' characters in variable/function names It is becomming increasingly clear we need to find a way to show what is/is not an override in our syntax. We need to do this in a way which is clear to users, readable and in a way we can transition to. The most effective way I've found to this is to use the ":" charater to directly replace "_" where an override is being specified. This includes "append", "prepend" and "remove" which are effectively special override directives. This patch simply adds the character to the parser so bitbake accepts the value but maps it back to "_" internally so there is no behaviour change. This change is simple enough it could potentially be backported to older version of bitbake meaning layers using the new syntax/markup could work with older releases. Even if other no other changes are accepted at this time and we don't backport, it does set us on a path where at some point in future we could require a more explict syntax. I've tested this patch by converting oe-core/meta-yocto to the new syntax for overrides (9000+ changes) and then seeing that builds continue to work with this patch. (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-07-14xen-tools: remove Arm 32-bit compiler flags overrideChristopher Clark
The SECURITY_FLAGS are already passed into the tools build in HOST_CC_ARCH so this separate case override is not needed. Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-07-14xen, xen-tools: fix build and passing of CFLAGS via Xen varsChristopher Clark
Ensure that the Xen build system variables EXTRA_CFLAGS_XEN_CORE and EXTRA_CFLAGS_XEN_TOOLS are passed into the compile steps. Update the hypervisor compilation to avoid passing in most compile flags from the build environment via EXTRA_CFLAGS_XEN_CORE -- prefer the compiler defaults and the flags set by the Xen build system, so only the debug prefix flags are provided. Observeration derived from the prior commit e99974aa, so: Reported-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-18xen-tools: fix 32-bit x86 build by setting pvshim configure flagsChristopher Clark
Enable building the PV shim for x86_64 only. Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-08-02xen, xen-tools: move tools-specific EXTRA_OECONF to xen-tools.incChristopher Clark
Since the hypervisor recipe does not install init scripts, it does not include update-rc.d.bbclass, which defines INIT_D_DIR; so move the use of that and systemd and qemu tools-specific configure settings over into the tools include file. Fix a hardcoded bindir while at it. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-20xen, arm32: filter out unwanted tune flags from CPP as per CCChristopher Clark
Avoids passing the wrong floating point ABI flags to the linker. Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-08xen, xen-tools: configure: install defconfig to ${S} not ${B}Christopher Clark
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-03-13xen, xen-tools: reproducible build compiler flagsChristopher Clark
The change to the method of passing compiler flags into the Xen build system in 6b697676 omitted passing the compiler flags for improving build reproducibility, so this commit returns them and includes a change to use the -ffile-prefix-map compiler option to remove host filesystem artefacts instead of the prior method of redefining the __FILE__ builtin macro. Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27xen, xen-tools: bug fix to post_patch taskChristopher Clark
Patch needs to be applied to tree in ${S}. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27xen, xen-tools: remove stubs task and use multilib when necessaryChristopher Clark
The stubs task was MACHINE-specific due to the OE variables it accessed which had forced unnecessary rebuild work in OpenXT's multi-MACHINE builds. The stubs task was generating a 32-bit header file to satisfy the Xen tools firmware build to generate the hvmloader binary, which is only needed on x86-64 targets where HVM-mode guests are enabled. Remove this header file generation logic and similar in the configure task, and in the cases where hvmloader is to be built use multilib to provide a 32-bit sysroot and allow the build to obtain the needed 32-bit materials from their source: glibc. Building Xen tools for x86-64 with HVM-guest support enabled now requires the following to be added to a build conf file (eg. distro.conf, or local.conf) : require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27xen, xen-tools: separate COMPATIBLE_HOST for hypervisor and toolsChristopher Clark
The tools have broader platform compatibility than the hypervisor. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27xen, xen-tools: update recipes for python3Christopher Clark
Adds patches for packaged scripts to enable deployment with python3 where they have been ported to python 3 upstream. setuptools3 inherits distutils3 which modifies ${B}, so cd ${S} is needed in the do_configure, do_compile and do_install steps. Remove python 2 dependency from the Xen recipes by adding a new separate recipe, xen-python2, for packaging the remaining optional scripts which are yet to be ported to python 3. Package naming in the separate recipe is chosen to support transition back into the xen-tools recipe if the scripts are ported later. Use RSUGGESTS to support inclusion of the xen-python2 scripts in images that include python 2. Drop the remus package python dependency since the script was removed in 2014: commit 5b66f84e37a45038f9e5dae7a5768a5525d1e6ba Add python3 RDEPENDS needed to run xenmon. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27xen: separate recipes for hypervisor and tools; switch to git as sourceChristopher Clark
This change changes the names of many packages produced: the xen-tools recipe now builds packages previous built by the xen recipe, so the package prefix changes from "xen-" to "xen-tools-". A temporary bbappend is provided for qemu to ease the transition. Multiple motivations for recipe separation: - improves efficiency of incremental build and development - supports building the hypervisor and tools with different toolchains and for different architectures Switch to using a git recipe on the Xen stable branch: - enables easier tracking of critical XSA security updates applied upstream by just advancing SRCREV along the branch Revision has been set to the tip of the stable-4.12 branch, which has the one XSA-312 patch applied on top of RELEASE-4.12.2. The recipe refactor externalizes the block tap components, to enable optional building of blktap in a separate recipe outside xen-tools, needed by OpenXT. xenstored is made a virtual package to support switching between alternative implementations (several exist). Update xen-image-minimal to install the xen-tools package, which replaces what was previously xen-base. Determine the flask policy filename, which is Xen-version specific, using the same method as the Xen build system. qemu: update PACKAGECONFIG[xen] for xen package renaming: allows builds to continue correctly in the meantime while openembedded core and poky are updated. OpenXT ticket reference: OXT-1694 Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27xen: retire Qemu packaging from the Xen recipeChristopher Clark
Modern Qemu supports Xen and the qemu binary to be used with Xen should be built with the Qemu recipe. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27xen: add RDEPENDS for xen-pygrub and xen-python packagesChristopher Clark
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27xen: package the EFI hypervisor binary /boot/xen.efiChristopher Clark
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-27xen: pass compiler flags via Xen-provided variablesChristopher Clark
Fix the method of passing compiler flags into the Xen build, which is needed to fix compilation of hvmloader, a 32-bit firmware binary that is required for Xen to be able to run HVM-mode guest VMs. It must not be compiled with SSE compiler options enabled, so the Xen build clears CFLAGS, which is a problem with _FORTIFY_SOURCE present in CC because it must be paired with a compiler optimization flag that was in CFLAGS. This change fixes the compilation failure that stated "_FORTIFY_SOURCE requires compiling with optimization (-O)". 32-bit ARM needs the TUNE_CCARGS to be retained as passed via CC to ensure that configure is able to generate binaries for the correct ABI, so is handled as a separate case. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Reviewed-by: Jason Andryuk <jandryuk@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-01-22xen: trivial: allow parsing in python3 only oe-coreBruce Ashfield
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-05-21xen: update packaging for pkgconfig files in libdirChristopher Clark
Xen commit a0f98145 changed the installation directory for pkgconfig files, so update recipe to include the .pc files at their new location. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-04-18xen: make the dev86-native dependency specific to x86-64 targetChristopher Clark
Remove the requirement for x86 tools when building for ARM platforms. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-04-18xen: upgrade to 4.12.0Christopher Clark
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2018-12-12xen: Amend do_install for FHS 3.0.Eric Chanudet
Under FHS 3.0: /var/run -> /run http://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s15.html systemd-tmpfiles throws some warnings with /var/run in xen.conf: systemd-tmpfiles[981]: [/etc/tmpfiles.d/xen.conf:1] Line references path below legacy directory /var/run/, updating /var/run/xenstored → /run/xenstored; please update the tmpfiles.d/ drop-in file accordingly. systemd-tmpfiles[981]: [/etc/tmpfiles.d/xen.conf:2] Line references path below legacy directory /var/run/, updating /var/run/xend → /run/xend; please update the tmpfiles.d/ drop-in file accordingly. systemd-tmpfiles[981]: [/etc/tmpfiles.d/xen.conf:3] Line references path below legacy directory /var/run/, updating /var/run/xend/boot → /run/xend/boot; please update the tmpfiles.d/ drop-in file accordingly. systemd-tmpfiles[981]: [/etc/tmpfiles.d/xen.conf:4] Line references path below legacy directory /var/run/, updating /var/run/xen → /run/xen; please update the tmpfiles.d/ drop-in file accordingly. Signed-off-by: Eric Chanudet <chanudete@ainfosec.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-11-08xen: remove sse tuning flagBrendan Kerrigan
Strip out the sse4.2 tuning flag to prevent sse instructions from being generated in the build, which breaks the hvmloader on some machine types (specifically core-i7 from meta-intel). Signed-off-by: Brendan Kerrigan <kerriganb@ainfosec.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-10-22xen: fix building with BASELIB=lib64Maciej Pijanowski
Many "real" (other then genericx86-64) x86-64 target machine configurations set BASELIB to lib64. For example the intel-corei7-64 or the AMD machines. In such case packaging xen-python fails because items are installed to /usr/lib/, but FILES_xen-python points to package /usr/lib64/ items. Exposing the DISTUTILS variables from OE build makes the python installation somewhat similar to what happens in the distutils class and python items are installed to the /usr/lib64 as expected. Another issue was that the xen-efi package was picking up too much stuff from the /usr/lib64 path on such machines. Being more explicit at least allows to package things correctly. Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-10-11iasl: remove iasl in favor of acpica in openembedded-coreChris Patterson
It is out of date, causes compilation errors, and is replacable with acpica. This commit removes the iasl recipe as well as updating references within seabios and xen, even though acpcica PROVIDES iasl. Signed-off-by: Chris Patterson <pattersonc@ainfosec.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-09-25xen: fix build with _FORTIFY_SOURCE, gcc 8.2 and glibc 2.28Christopher Clark
Apply upstream-reviewed patch to fix compilation. Patch reorders header includes to issue a pragma to disable SSE before including any potentially always_inline functions that would use SSE. Also modify the recipe to supply compiler flags via the tools variables where they will get used, necessary as _FORTIFY_SOURCE requires optimization flags to be supplied. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-08-20xen: enable 32-bit ARM buildsChristopher Clark
Enable recipe for COMPATIBLE_HOST = 'arm-.*-linux-gnueabi' Tested with a cubietruck, upstream's reference device for this class. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-08-14Xen: improve build reproducibilityChristopher Clark
Enable reproducible builds of the hypervisor binaries by defining build variables and setting compiler flags to support this. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-08-02xen: package depriv-fd-checkerChristopher Clark
A new tool introduced in the Xen 4.12 dev cycle. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-08-02xen: upgrade to 4.10.1, and apply patches for gcc 8.1 compatibilityChristopher Clark
Adds packaging for new binary: xen-shim. Builds the hypervisor before building the tools to workaround an upstream parallel build bug that causes the shim to be rebuilt during install. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-05-21xen: add xendriverdomain systemd unit to devdChris Patterson
Matches sysvinit packaging. Signed-off-by: Chris Patterson <pattersonc@ainfosec.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-01-30xen: use oe.utils.str_filter_outRicardo Salveti
oe_filter_out is not available in oe-core anymore so use oe.utils.str_filter_out instead. Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-01-12xen: xen.inc: remove xen-blktap from xen-base RDEPENDSChristopher Clark
In Xen 4.10, blktap is deprecated and no longer built by default, so make the xen-blktap, xen-libblktap and xen-libvhd packages optional instead of required dependencies for the xen-base package. Move xen-blktap and related packages to RRECOMMENDS to preserve xen.inc compatability with previous Xen releases. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-01-12xen: Package libxentoolcore and xen-diag, introduced in Xen 4.10Christopher Clark
Package a new library, libxentoolstore, introduced in Xen 4.10. Also package the xen-diag tool in the xen-misc package. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-11-27xen: delete references to xenstored.socket and xenstored_ro.socket in xen.incYan Yankovskyi
These files were removed since the followine patch http://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=976ce01e103fc03bb3336cdbc6c951a709e285fe and are absent in xen 4.8.0 and further, which leads to the following error during the Xen build process: do_package: SYSTEMD_SERVICE_xen-xencommons value xenstored.socket does not exist Signed-off-by: Yan Yankovskyi <yan.yankovskyi@globallogic.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-09-19xen: Replace 'inherit gettext' with explicit gettext-native dependencyChristopher Clark
This fixes the build when libc-locale-code is not a DISTRO_FEATURE. xen's configure script checks for xgettext and will abort if not found. xgettext is provided by the gettext-native package but not by gettext-minimal-native. This means that "inherit gettext" is not sufficient to satisfy Xen's build requirements: gettext-native is required. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-09-14xen: Add menuconfig task and enable menuconfig from devshellChristopher Clark
Xen supports Kconfig for configuring optional build settings. This commit adds the menuconfig task to simplify interactive use: bitbake xen -c menuconfig and also ensures that menuconfig works when using the devshell. This change adds ncurses-native as a build dependency. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-08-29xen: Only generate long-double-32.h if absentChristopher Clark
Only copy long-double-64.h to create long-double-32.h if it is not already present. Compile tested with both ARM 32-bit build and x86 64-bit build. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-08-24xen : cp long-double-64.h long-double-32.h to fix hvmloader buildChristopher Clark
Fix the xen build when MACHINE = "genericx86-64" by providing long-double-32.h Inspired by a similar recent patch to meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb since the contents of the header are minimal: cp ${STAGING_INCDIR}/bits/long-double-64.h ${STAGING_INCDIR}/bits/long-double-32.h Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-08-17xen: remove STAGING_DIR_HOST from the runtime search path for bios.binChristopher Clark
This configuration option sets a run-time search path rather than the location of a build-time dependency. Tested with Xen 4.9 on OpenXT. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-08-14xen: Package .pc packageconfig files into dev packagesChristopher Clark
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-08-14xen: Package libxendevicemodel, introduced in Xen 4.9Christopher Clark
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-04-30xen: Fix mistype error in xen-watchdog systemd serviceIurii Mykhalskyi
Due to error in naming this service will not be autoenabled in systems with systemd init manager Signed-off-by: Iurii Mykhalskyi <iurii.mykhalskyi@globallogic.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-01-06xen: update license checksumDoug Goldstein
The checksum of the license changed with the 4.8.0 release. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-01-04xen: ensure we build release buildsDoug Goldstein
Don't build with asserts on. This is the default for release tarballs but if someone bbappends patches in we should ensure they don't shoot themselves. Signed-off-by: Doug Goldstein <cardoe@cardoe.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-01-04xen: make it easy to override hypervisor configDoug Goldstein
The hypervisor is now configured with Kconfig like busybox and the kernel. This makes Xen behave like the busybox recipe by taking a defconfig if the user has one provided with a bbappend. Signed-off-by: Doug Goldstein <cardoe@cardoe.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>