From: Paolo Bonzini <pbonzini@redhat.com>
To: Stefano Stabellini <sstabellini@kernel.org>, qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org, anthony.perard@citrix.com,
groug@kaod.org, Stefano Stabellini <stefano@aporeto.com>,
peter.maydell@linaro.org, rth@twiddle.net, stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH v2 1/9] configure: change CONFIG_XEN_BACKEND to be a target property
Date: Tue, 14 Mar 2017 11:02:18 +0100 [thread overview]
Message-ID: <1b077b13-2464-224a-3942-db0015951c32@redhat.com> (raw)
In-Reply-To: <1489449360-14411-1-git-send-email-sstabellini@kernel.org>
On 14/03/2017 00:55, Stefano Stabellini wrote:
> CONFIG_XEN_BACKEND is currently set when the host supports Xen,
> regardless of the chosen targets. As a consequence, Xen backends can be
> enabled even on targets that don't support Xen.
>
> Fix the issue by setting CONFIG_XEN_BACKEND only for targets that
> support Xen.
>
> Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
> CC: groug@kaod.org
> CC: groug@kaod.org
> CC: pbonzini@redhat.com
> CC: peter.maydell@linaro.org
> CC: rth@twiddle.net
> CC: stefanha@redhat.com
> ---
> configure | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index 6c21975..6d8f752 100755
> --- a/configure
> +++ b/configure
> @@ -5442,7 +5442,6 @@ if test "$virglrenderer" = "yes" ; then
> echo "VIRGL_LIBS=$virgl_libs" >> $config_host_mak
> fi
> if test "$xen" = "yes" ; then
> - echo "CONFIG_XEN_BACKEND=y" >> $config_host_mak
> echo "CONFIG_XEN_CTRL_INTERFACE_VERSION=$xen_ctrl_version" >> $config_host_mak
> if test "$xen_pv_domain_build" = "yes" ; then
> echo "CONFIG_XEN_PV_DOMAIN_BUILD=y" >> $config_host_mak
> @@ -6028,6 +6027,7 @@ case "$target_name" in
> i386|x86_64)
> if test "$xen" = "yes" -a "$target_softmmu" = "yes" ; then
> echo "CONFIG_XEN=y" >> $config_target_mak
> + echo "CONFIG_XEN_BACKEND=y" >> $config_target_mak
> if test "$xen_pci_passthrough" = yes; then
> echo "CONFIG_XEN_PCI_PASSTHROUGH=y" >> "$config_target_mak"
> fi
>
This messes up a bit the way xen_nic.o and friends are compiled, I
think, because they are common-obj-y but they are only found when
compiling in the target subdirectories. So you end up building
x86_64-softmmu/../hw/net/xen_nic.o
If you're unlucky, I believe this can lead to a link failure where a
target is building xen_nic.o, while the other tries to link to a
partially written object file.
I think the files should be changed from
common-obj-$(CONFIG_XEN_BACKEND) to common-obj-$(CONFIG_XEN). Then you
add to Makefile:
CONFIG_SOFTMMU := $(if $(filter %-softmmu,$(TARGET_DIRS)),y)
CONFIG_USER_ONLY := $(if $(filter %-user,$(TARGET_DIRS)),y)
+CONFIG_XEN := $(CONFIG_XEN_BACKEND)
CONFIG_ALL=y
-include config-all-devices.mak
-include config-all-disas.mak
The Makefile change ensures that they are built before descending in the
target-specific directories. The Makefile.objs change ensures that Xen
backends are not enabled on targets that support Xen.
Paolo
next prev parent reply other threads:[~2017-03-14 10:02 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-13 23:55 [Qemu-devel] [PATCH v2 0/9] xen/9pfs: introduce the Xen 9pfs backend Stefano Stabellini
2017-03-13 23:55 ` [Qemu-devel] [PATCH v2 1/9] configure: change CONFIG_XEN_BACKEND to be a target property Stefano Stabellini
2017-03-13 23:55 ` [Qemu-devel] [PATCH v2 2/9] xen: import ring.h from xen Stefano Stabellini
2017-03-15 8:00 ` Greg Kurz
2017-03-15 18:36 ` Stefano Stabellini
2017-03-15 19:00 ` Greg Kurz
2017-03-15 19:04 ` Stefano Stabellini
2017-03-13 23:55 ` [Qemu-devel] [PATCH v2 3/9] xen: introduce the header file for the Xen 9pfs transport protocol Stefano Stabellini
2017-03-15 9:06 ` Greg Kurz
2017-03-15 19:02 ` Stefano Stabellini
2017-03-13 23:55 ` [Qemu-devel] [PATCH v2 4/9] xen/9pfs: introduce Xen 9pfs backend Stefano Stabellini
2017-03-14 7:11 ` Juergen Gross
2017-03-14 20:07 ` Stefano Stabellini
2017-03-13 23:55 ` [Qemu-devel] [PATCH v2 5/9] xen/9pfs: connect to the frontend Stefano Stabellini
2017-03-14 7:17 ` Juergen Gross
2017-03-14 20:14 ` Stefano Stabellini
2017-03-15 9:48 ` Greg Kurz
2017-03-15 21:30 ` Stefano Stabellini
2017-03-13 23:55 ` [Qemu-devel] [PATCH v2 6/9] xen/9pfs: receive requests from " Stefano Stabellini
2017-03-15 10:51 ` Greg Kurz
2017-03-15 21:56 ` Stefano Stabellini
2017-03-15 11:53 ` Greg Kurz
2017-03-15 22:03 ` Stefano Stabellini
2017-03-13 23:55 ` [Qemu-devel] [PATCH v2 7/9] xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal Stefano Stabellini
2017-03-15 10:58 ` Greg Kurz
2017-03-15 21:58 ` Stefano Stabellini
2017-03-13 23:55 ` [Qemu-devel] [PATCH v2 8/9] xen/9pfs: send responses back to the frontend Stefano Stabellini
2017-03-15 10:59 ` Greg Kurz
2017-03-15 21:59 ` Stefano Stabellini
2017-03-13 23:56 ` [Qemu-devel] [PATCH v2 9/9] xen/9pfs: build and register Xen 9pfs backend Stefano Stabellini
2017-03-14 10:02 ` Paolo Bonzini [this message]
2017-03-14 19:07 ` [Qemu-devel] [PATCH v2 1/9] configure: change CONFIG_XEN_BACKEND to be a target property Stefano Stabellini
2017-03-14 20:23 ` Stefano Stabellini
2017-03-15 1:03 ` Greg Kurz
2017-03-15 7:41 ` Paolo Bonzini
2017-03-15 18:42 ` Stefano Stabellini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1b077b13-2464-224a-3942-db0015951c32@redhat.com \
--to=pbonzini@redhat.com \
--cc=anthony.perard@citrix.com \
--cc=groug@kaod.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=sstabellini@kernel.org \
--cc=stefanha@redhat.com \
--cc=stefano@aporeto.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).