Patchwork [V2,04/23] kvm tools: Get correct 64-bit types on PPC64 and link appropriately

login
register
mail settings
Submitter Matt Evans
Date Dec. 9, 2011, 6:53 a.m.
Message ID <4EE1B07E.6070003@ozlabs.org>
Download mbox | patch
Permalink /patch/130287/
State New
Headers show

Comments

Matt Evans - Dec. 9, 2011, 6:53 a.m.
kvmtool's types.h includes <asm/types.h>, which by default on PPC64 brings in
int-l64.h; define __SANE_USERSPACE_TYPES__ to get LL64 types.

This patch also adds CFLAGS to the final link, so that any -m64 is obeyed
when linking, too.

Signed-off-by: Matt Evans <matt@ozlabs.org>
---
 tools/kvm/Makefile              |    2 +-
 tools/kvm/include/linux/types.h |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sasha Levin - Dec. 9, 2011, 8:24 a.m.
If you also got kernel patches that add __SANE_USERSPACE_TYPES__ to the
headers, and KVM_CAP_NR_VCPUS to KVM PPC, we can carry them in the KVM
tools tree as well.

On Fri, 2011-12-09 at 17:53 +1100, Matt Evans wrote:
> kvmtool's types.h includes <asm/types.h>, which by default on PPC64 brings in
> int-l64.h; define __SANE_USERSPACE_TYPES__ to get LL64 types.
> 
> This patch also adds CFLAGS to the final link, so that any -m64 is obeyed
> when linking, too.
> 
> Signed-off-by: Matt Evans <matt@ozlabs.org>
> ---
>  tools/kvm/Makefile              |    2 +-
>  tools/kvm/include/linux/types.h |    1 +
>  2 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/tools/kvm/Makefile b/tools/kvm/Makefile
> index 009a6ba..57dc521 100644
> --- a/tools/kvm/Makefile
> +++ b/tools/kvm/Makefile
> @@ -218,7 +218,7 @@ KVMTOOLS-VERSION-FILE:
>  
>  $(PROGRAM): $(DEPS) $(OBJS)
>  	$(E) "  LINK    " $@
> -	$(Q) $(CC) $(OBJS) $(LIBS) -o $@
> +	$(Q) $(CC) $(CFLAGS) $(OBJS) $(LIBS) -o $@
>  
>  $(GUEST_INIT): guest/init.c
>  	$(E) "  LINK    " $@
> diff --git a/tools/kvm/include/linux/types.h b/tools/kvm/include/linux/types.h
> index 357799c..5e20f10 100644
> --- a/tools/kvm/include/linux/types.h
> +++ b/tools/kvm/include/linux/types.h
> @@ -2,6 +2,7 @@
>  #define LINUX_TYPES_H
>  
>  #include <kvm/compiler.h>
> +#define __SANE_USERSPACE_TYPES__	/* For PPC64, to get LL64 types */
>  #include <asm/types.h>
>  
>  typedef __u64 u64;
Pekka Enberg - Dec. 9, 2011, 8:29 a.m.
On Fri, Dec 9, 2011 at 10:24 AM, Sasha Levin <levinsasha928@gmail.com> wrote:
> If you also got kernel patches that add __SANE_USERSPACE_TYPES__ to the
> headers, and KVM_CAP_NR_VCPUS to KVM PPC, we can carry them in the KVM
> tools tree as well.

Yup, all we need is ACKs from PPC maintainers.

                                Pekka
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Matt Evans - Dec. 12, 2011, 1:03 a.m.
On 09/12/11 19:29, Pekka Enberg wrote:
> On Fri, Dec 9, 2011 at 10:24 AM, Sasha Levin <levinsasha928@gmail.com> wrote:
>> If you also got kernel patches that add __SANE_USERSPACE_TYPES__ to the
>> headers, and KVM_CAP_NR_VCPUS to KVM PPC, we can carry them in the KVM
>> tools tree as well.
> 
> Yup, all we need is ACKs from PPC maintainers.

Cool, I've pinged them re. __SANE_USERSPACE_TYPES__, and that would be useful to
carry in your tree.  But, IMHO, the patch I sent to Alex ("[PATCH] KVM: PPC: Add
KVM_CAP_NR_VCPUS and KVM_CAP_MAX_VCPUS") should go in via his tree.  The
KVM/PPC-HV kernel folk will get it quicker in their trees (pulled from Alex) and
it's not a build problem, "only" a limit of SMP CPU numbers.  That is, if you're
building a kernel for PPC KVM today you'll probably use something more similar
to Alex's tree than mainline/kvm tools tree.


Cheers,


Matt
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Pekka Enberg - Dec. 12, 2011, 5:57 a.m.
On Mon, 2011-12-12 at 12:03 +1100, Matt Evans wrote:
> On 09/12/11 19:29, Pekka Enberg wrote:
> > On Fri, Dec 9, 2011 at 10:24 AM, Sasha Levin <levinsasha928@gmail.com> wrote:
> >> If you also got kernel patches that add __SANE_USERSPACE_TYPES__ to the
> >> headers, and KVM_CAP_NR_VCPUS to KVM PPC, we can carry them in the KVM
> >> tools tree as well.
> > 
> > Yup, all we need is ACKs from PPC maintainers.
> 
> Cool, I've pinged them re. __SANE_USERSPACE_TYPES__, and that would be useful to
> carry in your tree.  But, IMHO, the patch I sent to Alex ("[PATCH] KVM: PPC: Add
> KVM_CAP_NR_VCPUS and KVM_CAP_MAX_VCPUS") should go in via his tree.  The
> KVM/PPC-HV kernel folk will get it quicker in their trees (pulled from Alex) and
> it's not a build problem, "only" a limit of SMP CPU numbers.  That is, if you're
> building a kernel for PPC KVM today you'll probably use something more similar
> to Alex's tree than mainline/kvm tools tree.

Definitely. The __SANE_USERSPACE_TYPES__ patch should probably go to
powerpc git tree in addition to our tree.

			Pekka

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Matt Evans - Dec. 13, 2011, 6:44 a.m.
Hi Pekka,

On 09/12/11 17:53, Matt Evans wrote:
> kvmtool's types.h includes <asm/types.h>, which by default on PPC64 brings in
> int-l64.h; define __SANE_USERSPACE_TYPES__ to get LL64 types.
> 
> This patch also adds CFLAGS to the final link, so that any -m64 is obeyed
> when linking, too.

Just noticed this patch wasn't included in what you committed from this series,
but is required for the PPC64 series to build.

I'm waiting on an ack on the /other/ patch (that adds SANE_USERSPACE_TYPES to
PPC64 headers); I have a verbal one, but on-list is better :-)  But, /this/ patch
is somewhat independent from that.

If you're waiting so they can both go in together, then that's fine too.  Just
a reminder.


Cheers,


Matt


> 
> Signed-off-by: Matt Evans <matt@ozlabs.org>
> ---
>  tools/kvm/Makefile              |    2 +-
>  tools/kvm/include/linux/types.h |    1 +
>  2 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/tools/kvm/Makefile b/tools/kvm/Makefile
> index 009a6ba..57dc521 100644
> --- a/tools/kvm/Makefile
> +++ b/tools/kvm/Makefile
> @@ -218,7 +218,7 @@ KVMTOOLS-VERSION-FILE:
>  
>  $(PROGRAM): $(DEPS) $(OBJS)
>  	$(E) "  LINK    " $@
> -	$(Q) $(CC) $(OBJS) $(LIBS) -o $@
> +	$(Q) $(CC) $(CFLAGS) $(OBJS) $(LIBS) -o $@
>  
>  $(GUEST_INIT): guest/init.c
>  	$(E) "  LINK    " $@
> diff --git a/tools/kvm/include/linux/types.h b/tools/kvm/include/linux/types.h
> index 357799c..5e20f10 100644
> --- a/tools/kvm/include/linux/types.h
> +++ b/tools/kvm/include/linux/types.h
> @@ -2,6 +2,7 @@
>  #define LINUX_TYPES_H
>  
>  #include <kvm/compiler.h>
> +#define __SANE_USERSPACE_TYPES__	/* For PPC64, to get LL64 types */
>  #include <asm/types.h>
>  
>  typedef __u64 u64;
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/tools/kvm/Makefile b/tools/kvm/Makefile
index 009a6ba..57dc521 100644
--- a/tools/kvm/Makefile
+++ b/tools/kvm/Makefile
@@ -218,7 +218,7 @@  KVMTOOLS-VERSION-FILE:
 
 $(PROGRAM): $(DEPS) $(OBJS)
 	$(E) "  LINK    " $@
-	$(Q) $(CC) $(OBJS) $(LIBS) -o $@
+	$(Q) $(CC) $(CFLAGS) $(OBJS) $(LIBS) -o $@
 
 $(GUEST_INIT): guest/init.c
 	$(E) "  LINK    " $@
diff --git a/tools/kvm/include/linux/types.h b/tools/kvm/include/linux/types.h
index 357799c..5e20f10 100644
--- a/tools/kvm/include/linux/types.h
+++ b/tools/kvm/include/linux/types.h
@@ -2,6 +2,7 @@ 
 #define LINUX_TYPES_H
 
 #include <kvm/compiler.h>
+#define __SANE_USERSPACE_TYPES__	/* For PPC64, to get LL64 types */
 #include <asm/types.h>
 
 typedef __u64 u64;