On Mon, Jun 17, 2019 at 05:15:51PM +0100, Paul Durrant wrote:
> > -----Original Message-----
> > From: Anthony PERARD [mailto:[email protected]]
> > Sent: 17 June 2019 16:41
> > To: [email protected]
> > Cc: [email protected]; Anthony Perard
> > <[email protected]>; Stefano Stabellini
> > <[email protected]>; Paul Durrant <[email protected]>
> > 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 <[email protected]>
> > ---
> > 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?
Thanks,
--
Anthony PERARD