* [PATCH-for-5.1] accel/xen: Fix xen_enabled() behavior on target-agnostic objects
@ 2020-07-28 10:09 Philippe Mathieu-Daudé
2020-07-28 10:15 ` no-reply
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-07-28 10:09 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Stefano Stabellini, Paul Durrant, Paul Durrant,
xen-devel, Anthony Perard, Paolo Bonzini,
Philippe Mathieu-Daudé
CONFIG_XEN is generated by configure and stored in "config-target.h",
which is (obviously) only include for target-specific objects.
This is a problem for target-agnostic objects as CONFIG_XEN is never
defined and xen_enabled() is always inlined as 'false'.
Fix by following the KVM schema, defining CONFIG_XEN_IS_POSSIBLE
when we don't know to force the call of the non-inlined function,
returning the xen_allowed boolean.
Fixes: da278d58a092 ("accel: Move Xen accelerator code under accel/xen/")
Reported-by: Paul Durrant <pdurrant@amazon.com>
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
include/sysemu/xen.h | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/include/sysemu/xen.h b/include/sysemu/xen.h
index 1ca292715e..385a1fa2bf 100644
--- a/include/sysemu/xen.h
+++ b/include/sysemu/xen.h
@@ -8,7 +8,15 @@
#ifndef SYSEMU_XEN_H
#define SYSEMU_XEN_H
-#ifdef CONFIG_XEN
+#ifdef NEED_CPU_H
+# ifdef CONFIG_XEN
+# define CONFIG_XEN_IS_POSSIBLE
+# endif
+#else
+# define CONFIG_XEN_IS_POSSIBLE
+#endif
+
+#ifdef CONFIG_XEN_IS_POSSIBLE
bool xen_enabled(void);
@@ -18,7 +26,7 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
struct MemoryRegion *mr, Error **errp);
#endif
-#else /* !CONFIG_XEN */
+#else /* !CONFIG_XEN_IS_POSSIBLE */
#define xen_enabled() 0
#ifndef CONFIG_USER_ONLY
@@ -33,6 +41,6 @@ static inline void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
}
#endif
-#endif /* CONFIG_XEN */
+#endif /* CONFIG_XEN_IS_POSSIBLE */
#endif
--
2.21.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH-for-5.1] accel/xen: Fix xen_enabled() behavior on target-agnostic objects
2020-07-28 10:09 [PATCH-for-5.1] accel/xen: Fix xen_enabled() behavior on target-agnostic objects Philippe Mathieu-Daudé
@ 2020-07-28 10:15 ` no-reply
2020-07-28 11:37 ` Paul Durrant
2020-08-03 16:35 ` Anthony PERARD
2 siblings, 0 replies; 5+ messages in thread
From: no-reply @ 2020-07-28 10:15 UTC (permalink / raw)
To: philmd
Cc: peter.maydell, sstabellini, paul, pdurrant, qemu-devel, pbonzini,
anthony.perard, xen-devel, philmd
Patchew URL: https://patchew.org/QEMU/20200728100925.10454-1-philmd@redhat.com/
Hi,
This series failed the docker-quick@centos7 build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.
=== TEST SCRIPT BEGIN ===
#!/bin/bash
make docker-image-centos7 V=1 NETWORK=1
time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
=== TEST SCRIPT END ===
The full log is available at
http://patchew.org/logs/20200728100925.10454-1-philmd@redhat.com/testing.docker-quick@centos7/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH-for-5.1] accel/xen: Fix xen_enabled() behavior on target-agnostic objects
2020-07-28 10:09 [PATCH-for-5.1] accel/xen: Fix xen_enabled() behavior on target-agnostic objects Philippe Mathieu-Daudé
2020-07-28 10:15 ` no-reply
@ 2020-07-28 11:37 ` Paul Durrant
2020-08-03 16:35 ` Anthony PERARD
2 siblings, 0 replies; 5+ messages in thread
From: Paul Durrant @ 2020-07-28 11:37 UTC (permalink / raw)
To: 'Philippe Mathieu-Daudé', qemu-devel
Cc: 'Peter Maydell', 'Stefano Stabellini',
'Paul Durrant', xen-devel, 'Anthony Perard',
'Paolo Bonzini'
> -----Original Message-----
> From: Philippe Mathieu-Daudé <philmd@redhat.com>
> Sent: 28 July 2020 11:09
> To: qemu-devel@nongnu.org
> Cc: Paul Durrant <paul@xen.org>; Paolo Bonzini <pbonzini@redhat.com>; xen-devel@lists.xenproject.org;
> Stefano Stabellini <sstabellini@kernel.org>; Anthony Perard <anthony.perard@citrix.com>; Philippe
> Mathieu-Daudé <philmd@redhat.com>; Paul Durrant <pdurrant@amazon.com>; Peter Maydell
> <peter.maydell@linaro.org>
> Subject: [PATCH-for-5.1] accel/xen: Fix xen_enabled() behavior on target-agnostic objects
>
> CONFIG_XEN is generated by configure and stored in "config-target.h",
> which is (obviously) only include for target-specific objects.
> This is a problem for target-agnostic objects as CONFIG_XEN is never
> defined and xen_enabled() is always inlined as 'false'.
>
> Fix by following the KVM schema, defining CONFIG_XEN_IS_POSSIBLE
> when we don't know to force the call of the non-inlined function,
> returning the xen_allowed boolean.
>
> Fixes: da278d58a092 ("accel: Move Xen accelerator code under accel/xen/")
> Reported-by: Paul Durrant <pdurrant@amazon.com>
> Suggested-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Paul Durrant <paul@xen.org>
> ---
> include/sysemu/xen.h | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/include/sysemu/xen.h b/include/sysemu/xen.h
> index 1ca292715e..385a1fa2bf 100644
> --- a/include/sysemu/xen.h
> +++ b/include/sysemu/xen.h
> @@ -8,7 +8,15 @@
> #ifndef SYSEMU_XEN_H
> #define SYSEMU_XEN_H
>
> -#ifdef CONFIG_XEN
> +#ifdef NEED_CPU_H
> +# ifdef CONFIG_XEN
> +# define CONFIG_XEN_IS_POSSIBLE
> +# endif
> +#else
> +# define CONFIG_XEN_IS_POSSIBLE
> +#endif
> +
> +#ifdef CONFIG_XEN_IS_POSSIBLE
>
> bool xen_enabled(void);
>
> @@ -18,7 +26,7 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
> struct MemoryRegion *mr, Error **errp);
> #endif
>
> -#else /* !CONFIG_XEN */
> +#else /* !CONFIG_XEN_IS_POSSIBLE */
>
> #define xen_enabled() 0
> #ifndef CONFIG_USER_ONLY
> @@ -33,6 +41,6 @@ static inline void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
> }
> #endif
>
> -#endif /* CONFIG_XEN */
> +#endif /* CONFIG_XEN_IS_POSSIBLE */
>
> #endif
> --
> 2.21.3
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH-for-5.1] accel/xen: Fix xen_enabled() behavior on target-agnostic objects
2020-07-28 10:09 [PATCH-for-5.1] accel/xen: Fix xen_enabled() behavior on target-agnostic objects Philippe Mathieu-Daudé
2020-07-28 10:15 ` no-reply
2020-07-28 11:37 ` Paul Durrant
@ 2020-08-03 16:35 ` Anthony PERARD
2020-08-03 16:47 ` Peter Maydell
2 siblings, 1 reply; 5+ messages in thread
From: Anthony PERARD @ 2020-08-03 16:35 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, Stefano Stabellini, Paul Durrant, Paul Durrant,
qemu-devel, xen-devel, Paolo Bonzini
On Tue, Jul 28, 2020 at 12:09:25PM +0200, Philippe Mathieu-Daudé wrote:
> CONFIG_XEN is generated by configure and stored in "config-target.h",
> which is (obviously) only include for target-specific objects.
> This is a problem for target-agnostic objects as CONFIG_XEN is never
> defined and xen_enabled() is always inlined as 'false'.
>
> Fix by following the KVM schema, defining CONFIG_XEN_IS_POSSIBLE
> when we don't know to force the call of the non-inlined function,
> returning the xen_allowed boolean.
>
> Fixes: da278d58a092 ("accel: Move Xen accelerator code under accel/xen/")
> Reported-by: Paul Durrant <pdurrant@amazon.com>
> Suggested-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Thanks,
--
Anthony PERARD
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH-for-5.1] accel/xen: Fix xen_enabled() behavior on target-agnostic objects
2020-08-03 16:35 ` Anthony PERARD
@ 2020-08-03 16:47 ` Peter Maydell
0 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2020-08-03 16:47 UTC (permalink / raw)
To: Anthony PERARD
Cc: Stefano Stabellini, Paul Durrant, Paul Durrant, QEMU Developers,
open list:X86, Paolo Bonzini, Philippe Mathieu-Daudé
On Mon, 3 Aug 2020 at 17:35, Anthony PERARD <anthony.perard@citrix.com> wrote:
>
> On Tue, Jul 28, 2020 at 12:09:25PM +0200, Philippe Mathieu-Daudé wrote:
> > CONFIG_XEN is generated by configure and stored in "config-target.h",
> > which is (obviously) only include for target-specific objects.
> > This is a problem for target-agnostic objects as CONFIG_XEN is never
> > defined and xen_enabled() is always inlined as 'false'.
> >
> > Fix by following the KVM schema, defining CONFIG_XEN_IS_POSSIBLE
> > when we don't know to force the call of the non-inlined function,
> > returning the xen_allowed boolean.
> >
> > Fixes: da278d58a092 ("accel: Move Xen accelerator code under accel/xen/")
> > Reported-by: Paul Durrant <pdurrant@amazon.com>
> > Suggested-by: Peter Maydell <peter.maydell@linaro.org>
> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>
> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Note that rc3 is tomorrow so if you want this in 5.1 it would
be a good idea to send a pullreq with it today...
thanks
-- PMM
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-08-03 16:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-28 10:09 [PATCH-for-5.1] accel/xen: Fix xen_enabled() behavior on target-agnostic objects Philippe Mathieu-Daudé
2020-07-28 10:15 ` no-reply
2020-07-28 11:37 ` Paul Durrant
2020-08-03 16:35 ` Anthony PERARD
2020-08-03 16:47 ` Peter Maydell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.