[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [PATCH-for-5.1 v2 1/1] accel/xen: Fix xen_enabled() behavior on target-agnostic objects
> -----Original Message----- > From: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> > Sent: 04 August 2020 09:35 > To: paul@xxxxxxx; qemu-devel@xxxxxxxxxx > Cc: 'Peter Maydell' <peter.maydell@xxxxxxxxxx>; 'Anthony Perard' > <anthony.perard@xxxxxxxxxx>; 'Paolo > Bonzini' <pbonzini@xxxxxxxxxx>; 'Stefano Stabellini' > <sstabellini@xxxxxxxxxx>; xen- > devel@xxxxxxxxxxxxxxxxxxxx; 'Paul Durrant' <pdurrant@xxxxxxxxxx> > Subject: Re: [PATCH-for-5.1 v2 1/1] accel/xen: Fix xen_enabled() behavior on > target-agnostic objects > > Hi Paul, > > On 8/4/20 9:57 AM, Paul Durrant wrote: > >> -----Original Message----- > >> From: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> > >> Sent: 04 August 2020 08:50 > >> To: qemu-devel@xxxxxxxxxx > >> Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>; Anthony Perard > >> <anthony.perard@xxxxxxxxxx>; Paolo > >> Bonzini <pbonzini@xxxxxxxxxx>; Stefano Stabellini > >> <sstabellini@xxxxxxxxxx>; xen- > >> devel@xxxxxxxxxxxxxxxxxxxx; Paul Durrant <paul@xxxxxxx>; Philippe > >> Mathieu-Daudé > <philmd@xxxxxxxxxx>; > >> Paul Durrant <pdurrant@xxxxxxxxxx> > >> Subject: [PATCH-for-5.1 v2 1/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@xxxxxxxxxx> > >> Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx> > >> Signed-off-by: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> > >> --- > >> include/sysemu/xen.h | 18 ++++++++++++++---- > >> accel/stubs/xen-stub.c | 2 ++ > >> accel/xen/xen-all.c | 7 +------ > >> 3 files changed, 17 insertions(+), 10 deletions(-) > >> > >> diff --git a/include/sysemu/xen.h b/include/sysemu/xen.h > >> index 1ca292715e..2c2c429ea8 100644 > >> --- a/include/sysemu/xen.h > >> +++ b/include/sysemu/xen.h > >> @@ -8,9 +8,19 @@ > >> #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 > >> > >> -bool xen_enabled(void); > >> +#ifdef CONFIG_XEN_IS_POSSIBLE > >> + > >> +extern bool xen_allowed; > >> + > >> +#define xen_enabled() (xen_allowed) > > > > Can this not move ahead of the #ifdef now (since xen_allowed is present in > > both xen-stub and xen- > all)? I think this is what Peter was saying in his option '(2)'. > > I think I respected Peter's option '(2)', following how KVM does, this > is the case with stub, Ok, if it follows the KVM pattern then that's fine. Reviewed-by: Paul Durrant <paul@xxxxxxx>
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |