Age | Commit message (Collapse) | Author |
|
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
|
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
|
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>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
|
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>
|
|
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>
|
|
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Matches sysvinit packaging.
Signed-off-by: Chris Patterson <pattersonc@ainfosec.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
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>
|
|
The checksum of the license changed with the 4.8.0 release.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
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>
|
|
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>
|