> -----Original Message----- > From: Anthony PERARD [mailto:anthony.per...@citrix.com] > Sent: 17 June 2019 17:46 > To: Paul Durrant <paul.durr...@citrix.com> > Cc: qemu-devel@nongnu.org; xen-de...@lists.xenproject.org; Stefano Stabellini > <sstabell...@kernel.org> > Subject: Re: [PATCH 3/4] xen: Import Xen public headers used by xen-hvm.c > > On Mon, Jun 17, 2019 at 05:15:51PM +0100, Paul Durrant wrote: > > > -----Original Message----- > > > From: Anthony PERARD [mailto:anthony.per...@citrix.com] > > > Sent: 17 June 2019 16:41 > > > To: qemu-devel@nongnu.org > > > Cc: xen-de...@lists.xenproject.org; Anthony Perard > > > <anthony.per...@citrix.com>; Stefano Stabellini > > > <sstabell...@kernel.org>; Paul Durrant <paul.durr...@citrix.com> > > > Subject: [PATCH 3/4] xen: Import Xen public headers used by xen-hvm.c > > > > > > Following "xen: Fix build with public headers", import other Xen > > > public headers that are describing interfaces. > > > > > > The headers are cleaned up a bit while importing them. The header > > > guard symbols are changed to match QEMU's coding style, some other > > > part of the files that QEMU doesn't use are removed. > > > > > > xen-mapcache.c doesn't needs params.h, so remove the include. > > > > > > Signed-off-by: Anthony PERARD <anthony.per...@citrix.com> > > > --- > > > hw/i386/xen/xen-hvm.c | 6 +- > > > hw/i386/xen/xen-mapcache.c | 2 - > > > include/hw/xen/interface/hvm/e820.h | 28 +++++++ > > > include/hw/xen/interface/hvm/ioreq.h | 101 ++++++++++++++++++++++++++ > > > include/hw/xen/interface/hvm/params.h | 33 +++++++++ > > > 5 files changed, 165 insertions(+), 5 deletions(-) > > > create mode 100644 include/hw/xen/interface/hvm/e820.h > > > create mode 100644 include/hw/xen/interface/hvm/ioreq.h > > > create mode 100644 include/hw/xen/interface/hvm/params.h > > > > > > diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c > > > index 2939122e7c..725f9c2278 100644 > > > --- a/hw/i386/xen/xen-hvm.c > > > +++ b/hw/i386/xen/xen-hvm.c > > > @@ -26,9 +26,9 @@ > > > #include "trace.h" > > > #include "exec/address-spaces.h" > > > > > > -#include <xen/hvm/ioreq.h> > > > -#include <xen/hvm/params.h> > > > -#include <xen/hvm/e820.h> > > > +#include "hw/xen/interface/hvm/ioreq.h" > > > +#include "hw/xen/interface/hvm/params.h" > > > > AFAICT the only place (apart from legacy code in xen_common.h) that > > params.h is necessary is in xen_suspend_notifier(). I wonder whether > > that would be better moved into xen_common.h too (since it's just a > > wrapper round xc_set_hvm_param() and then the inclusion of params.h > > can be moved there as well. > > :(, I didn't realised that xen_common.h needed params.h too. That patch > series might not build on older version of Xen. I'll move the inclusion > of params.h to xen_common.h, and fix params.h to have all the needed > #defines. > > About xen_suspend_notifier(), it's actually more than a wrapper, it's > also a function. A pointer to the function is given to a notifier. > So I don't think using "inline" will work, and I don't think it makes > sense to have a function without "inline" in xen_common.h. So I think > xen_{suspend,wakeup}_notifier are fine where there are, do you agree?
Oh, I hadn't realized they were callbacks. In that case, leave the functions where they are. We really ought to have a stable API rather than a params interface... Not something you can address here though. Cheers, Paul > > Thanks, > > -- > Anthony PERARD