diff mbox

fix QEMU build on Xen/ARM

Message ID alpine.DEB.2.02.1501221836360.18131@kaball.uk.xensource.com
State New
Headers show

Commit Message

Stefano Stabellini Jan. 22, 2015, 6:46 p.m. UTC
xen_get_vmport_regs_pfn should take a xen_pfn_t argument, not an
unsigned long argument (in fact xen_pfn_t is defined as uint64_t on
ARM).

Also use xc_hvm_param_get instead of the deprecated xc_get_hvm_param.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Comments

Don Slutz Jan. 22, 2015, 11:01 p.m. UTC | #1
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/22/15 13:46, Stefano Stabellini wrote:
> xen_get_vmport_regs_pfn should take a xen_pfn_t argument, not an 
> unsigned long argument (in fact xen_pfn_t is defined as uint64_t
> on ARM).
> 
> Also use xc_hvm_param_get instead of the deprecated
> xc_get_hvm_param.
> 
> Signed-off-by: Stefano Stabellini
> <stefano.stabellini@eu.citrix.com>
> 
> diff --git a/include/hw/xen/xen_common.h
> b/include/hw/xen/xen_common.h index 519696f..355fbac 100644 ---
> a/include/hw/xen/xen_common.h +++ b/include/hw/xen/xen_common.h @@
> -168,14 +168,16 @@ void xen_shutdown_fatal_error(const char *fmt,
> ...) GCC_FMT_ATTR(1, 2);
> 
> #ifdef HVM_PARAM_VMPORT_REGS_PFN static inline int
> xen_get_vmport_regs_pfn(XenXC xc, domid_t dom, -
> unsigned long *vmport_regs_pfn) +
> xen_pfn_t *vmport_regs_pfn) { -    return xc_get_hvm_param(xc, dom,
> HVM_PARAM_VMPORT_REGS_PFN, -
> vmport_regs_pfn); +    uint64_t value; +    return
> xc_hvm_param_get(xc, dom, HVM_PARAM_VMPORT_REGS_PFN, +
> &value);

This is not going to work.  Maybe "int rc =" instead of return?
    -Don Slutz


> +    *vmport_regs_pfn = (xen_pfn_t) value; } #else static inline
> int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom, -
> unsigned long *vmport_regs_pfn) +
> xen_pfn_t *vmport_regs_pfn) { return -ENOSYS; }
> 
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iQIcBAEBAgAGBQJUwYFeAAoJEHkofi8zcwBkAu4P/R37SxqP3fXx9E+QgNe32hkg
Z0lBl7vF6lqJ8MW0sbyVAkT8YUpbA2mTRC6MZdLY+ZNNrUVprn5t0/e8RYdepc7q
wjXDs3HD9HSmue27FjSb54ofCiGRwxDlO6JbEaHKE93O9Ctf4zd5jIUAs6+Pbh5s
cub3iRLKNTRYfAgtofSo8LIGJCFBhYoofQuFoWnexHnve0OJusQ5zftuQjJwCXQ8
p1xPzR1PUoChsTk3D60vqO4jbRMqMLHrEiASnIaGHo/ytI4nz2OJyMBr+eVc6/SR
lUUQYO2QFvx/6tsdtZgKLFTQyhr8OytEr1OFz/D2Tu233YmGP5tn0tDLjyd8g3Na
6hsGMceKHk/Nuehf6wQT0Gv79u84LZxGWiisX4ECdQLmzwnoSMEwnaKDAknk3122
bB/lApre9RWBFe+KyfY4hi7BcMdrguEZE/UrpzVCTYLhsaxEJJwjatPYfLvk3ZMt
8ol8T+nahDPmJ9M4BlaLLVLrO5i64tDK2y7WM2488wGkTWh/0cPIdMzs74qqaP0S
Dv3XFJIpJqWTC5FqnqO4eRnWSj0A2v79pL1iradOn4KxINq9M9+Nf/q6Pk/hDh7y
8WtBaGEyoFPq/rQ955W701eRrRERnveih/3wzlFeTBebnRMSQtNHLekHPla/u4Up
05Q1/SKlt21rcJhGz2er
=vsQ2
-----END PGP SIGNATURE-----
Don Slutz Jan. 22, 2015, 11:06 p.m. UTC | #2
On 01/22/15 13:46, Stefano Stabellini wrote:
> xen_get_vmport_regs_pfn should take a xen_pfn_t argument, not an
> unsigned long argument (in fact xen_pfn_t is defined as uint64_t on
> ARM).
> 
> Also use xc_hvm_param_get instead of the deprecated xc_get_hvm_param.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 
> diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
> index 519696f..355fbac 100644
> --- a/include/hw/xen/xen_common.h
> +++ b/include/hw/xen/xen_common.h
> @@ -168,14 +168,16 @@ void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
>  
>  #ifdef HVM_PARAM_VMPORT_REGS_PFN
>  static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom,
> -                                          unsigned long *vmport_regs_pfn)
> +                                          xen_pfn_t *vmport_regs_pfn)
>  {
> -    return xc_get_hvm_param(xc, dom, HVM_PARAM_VMPORT_REGS_PFN,
> -                            vmport_regs_pfn);
> +    uint64_t value;
> +    return xc_hvm_param_get(xc, dom, HVM_PARAM_VMPORT_REGS_PFN,
> +                            &value);

This is not going to work.  Maybe "int rc =" instead of return?

(See if if this time the reply is not a big mess.)
    -Don Slutz

> +    *vmport_regs_pfn = (xen_pfn_t) value;
>  }
>  #else
>  static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom,
> -                                          unsigned long *vmport_regs_pfn)
> +                                          xen_pfn_t *vmport_regs_pfn)
>  {
>      return -ENOSYS;
>  }
> 
>
Stefano Stabellini Jan. 23, 2015, 12:06 p.m. UTC | #3
On Thu, 22 Jan 2015, Don Slutz wrote:
> On 01/22/15 13:46, Stefano Stabellini wrote:
> > xen_get_vmport_regs_pfn should take a xen_pfn_t argument, not an
> > unsigned long argument (in fact xen_pfn_t is defined as uint64_t on
> > ARM).
> > 
> > Also use xc_hvm_param_get instead of the deprecated xc_get_hvm_param.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > 
> > diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
> > index 519696f..355fbac 100644
> > --- a/include/hw/xen/xen_common.h
> > +++ b/include/hw/xen/xen_common.h
> > @@ -168,14 +168,16 @@ void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
> >  
> >  #ifdef HVM_PARAM_VMPORT_REGS_PFN
> >  static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom,
> > -                                          unsigned long *vmport_regs_pfn)
> > +                                          xen_pfn_t *vmport_regs_pfn)
> >  {
> > -    return xc_get_hvm_param(xc, dom, HVM_PARAM_VMPORT_REGS_PFN,
> > -                            vmport_regs_pfn);
> > +    uint64_t value;
> > +    return xc_hvm_param_get(xc, dom, HVM_PARAM_VMPORT_REGS_PFN,
> > +                            &value);
> 
> This is not going to work.  Maybe "int rc =" instead of return?
> 
> (See if if this time the reply is not a big mess.)
>     -Don Slutz

/me shakes his heads in shame

You are right, I'll fix it and resend.

> > +    *vmport_regs_pfn = (xen_pfn_t) value;
> >  }
> >  #else
> >  static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom,
> > -                                          unsigned long *vmport_regs_pfn)
> > +                                          xen_pfn_t *vmport_regs_pfn)
> >  {
> >      return -ENOSYS;
> >  }
> > 
> > 
>
diff mbox

Patch

diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 519696f..355fbac 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -168,14 +168,16 @@  void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 
 #ifdef HVM_PARAM_VMPORT_REGS_PFN
 static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom,
-                                          unsigned long *vmport_regs_pfn)
+                                          xen_pfn_t *vmport_regs_pfn)
 {
-    return xc_get_hvm_param(xc, dom, HVM_PARAM_VMPORT_REGS_PFN,
-                            vmport_regs_pfn);
+    uint64_t value;
+    return xc_hvm_param_get(xc, dom, HVM_PARAM_VMPORT_REGS_PFN,
+                            &value);
+    *vmport_regs_pfn = (xen_pfn_t) value;
 }
 #else
 static inline int xen_get_vmport_regs_pfn(XenXC xc, domid_t dom,
-                                          unsigned long *vmport_regs_pfn)
+                                          xen_pfn_t *vmport_regs_pfn)
 {
     return -ENOSYS;
 }