public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] kvm-userspace: kvmppc: fix build for ppc
@ 2008-09-16  8:48 ehrhardt
       [not found] ` <1221554914-29751-1-git-send-email-ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
  2008-09-16  8:48 ` [PATCH] kvm-userspace: kvmppc: fix building userspace for powerpc ehrhardt
  0 siblings, 2 replies; 4+ messages in thread
From: ehrhardt @ 2008-09-16  8:48 UTC (permalink / raw)
  To: kvm-ppc, kvm; +Cc: hollisb, ehrhardt

From: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>

Updating and testing kvm-userspace for ppc after a too long time brought up
some issues fixed in this series.

The patches are small and their description should be comprehendible. Due to
the fact that most of the issues where build time issues I also started to
discuss about/establish some kind of automated build test for us that should
allow us to find such things faster.
let me know if qumranet has such a process for x86 already and I should help
you to include ppc.

[patches in series]
[PATCH 1/3] kvm-userspace: kvmppc: fix file header in libkvm-powerpc.c
[PATCH 2/3] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling
[PATCH 3/3] kvm-userspace: kvmppc: fix building userspace for powerpc

---
[diffstat]
 Makefile                       |    3 ++-
 kernel/powerpc/Makefile.pre    |    1 +
 kernel/powerpc/hack-module.awk |    5 +++++
 libkvm/libkvm-powerpc.c        |   14 +++++---------
 qemu/Makefile.target           |    2 +-
 qemu/configure                 |   13 +++++++------
 6 files changed, 21 insertions(+), 17 deletions(-)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/3] kvm-userspace: kvmppc: fix file header in libkvm-powerpc.c
       [not found] ` <1221554914-29751-1-git-send-email-ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
@ 2008-09-16  8:48   ` ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
  2008-09-16  8:48   ` [PATCH 2/3] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
  1 sibling, 0 replies; 4+ messages in thread
From: ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8 @ 2008-09-16  8:48 UTC (permalink / raw)
  To: kvm-ppc-u79uwXL29TY76Z2rM5mHXA, kvm-u79uwXL29TY76Z2rM5mHXA
  Cc: hollisb-r/Jw6+rmf7HQT0dZR+AlfA,
	ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8

From: Christian Ehrhardt <ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>

It came up in the review of the s390 libkvm code that we have some
broken headers too.

Signed-off-by: Christian Ehrhardt <ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---

[diffstat]
 libkvm-powerpc.c |   14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

[diff]
diff --git a/libkvm/libkvm-powerpc.c b/libkvm/libkvm-powerpc.c
--- a/libkvm/libkvm-powerpc.c
+++ b/libkvm/libkvm-powerpc.c
@@ -1,10 +1,7 @@
 /*
- * This header is for functions & variables that will ONLY be
- * used inside libkvm for x86.
- * THESE ARE NOT EXPOSED TO THE USER AND ARE ONLY FOR USE
- * WITHIN LIBKVM.
- *
- * derived from libkvm.c
+ * This file contains the powerpc specific implementation for the 
+ * architecture dependent functions defined in kvm-common.h and
+ * libkvm.h
  *
  * Copyright (C) 2006 Qumranet, Inc.
  *
@@ -12,11 +9,10 @@
  *      Avi Kivity   <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
  *      Yaniv Kamay  <yaniv-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
  *
- * Copyright 2007 IBM Corporation.
- * Added by & Authors:
+ * Copyright IBM Corp. 2007,2008
+ * Added by:
  * 	Jerone Young <jyoung5-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
  * 	Christian Ehrhardt <ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
- *
  *
  * This work is licensed under the GNU LGPL license, version 2.
  */
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 2/3] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling
       [not found] ` <1221554914-29751-1-git-send-email-ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
  2008-09-16  8:48   ` [PATCH 1/3] kvm-userspace: kvmppc: fix file header in libkvm-powerpc.c ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
@ 2008-09-16  8:48   ` ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
  1 sibling, 0 replies; 4+ messages in thread
From: ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8 @ 2008-09-16  8:48 UTC (permalink / raw)
  To: kvm-ppc-u79uwXL29TY76Z2rM5mHXA, kvm-u79uwXL29TY76Z2rM5mHXA
  Cc: hollisb-r/Jw6+rmf7HQT0dZR+AlfA,
	ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8

From: Christian Ehrhardt <ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>

The kvm merge with qemu brought code for 64bit power that broke cross
compilation. The issue is caused by configure trying to execute target
architecture binaries where configure is executed.

I tried to change that detection so that it works with&without cross
compilation with only a small change and especially without an addtional
configure command line switch. Including the bits/wordsize.h header a platform
usually can check its wordsize and by doing that configure can check the
hostlongbits without executing the binary. Instead it now stops after
preprocessing stage which resolved the __WORDSIZE constant and retrieves
that value.

I don't like that check style, but it is at least less broken than before.
Comments and other approaches welcome.

Signed-off-by: Christian Ehrhardt <ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---

[diffstat]
 configure |   13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

[diff]

diff --git a/qemu/configure b/qemu/configure
--- a/qemu/configure
+++ b/qemu/configure
@@ -685,14 +685,15 @@
 # ppc specific hostlongbits selection
 if test "$cpu" = "powerpc" ; then
     cat > $TMPC <<EOF
-int main(void){return sizeof(long);}
+#include <bits/wordsize.h>
+__WORDSIZE
 EOF
 
-    if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null; then
-        $TMPE
-        case $? in
-            4) hostlongbits="32";;
-            8) hostlongbits="64";;
+    if $cc $ARCH_CFLAGS -E -o $TMPE.E $TMPC 2> /dev/null; then
+        wordsize=`tail -n 1 ${TMPE}.E`
+        case $wordsize in
+            32) hostlongbits="32";;
+            64) hostlongbits="64";;
             *) echo "Couldn't determine bits per long value"; exit 1;;
         esac
     else
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] kvm-userspace: kvmppc: fix building userspace for powerpc
  2008-09-16  8:48 [PATCH 0/3] kvm-userspace: kvmppc: fix build for ppc ehrhardt
       [not found] ` <1221554914-29751-1-git-send-email-ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
@ 2008-09-16  8:48 ` ehrhardt
  1 sibling, 0 replies; 4+ messages in thread
From: ehrhardt @ 2008-09-16  8:48 UTC (permalink / raw)
  To: kvm-ppc, kvm; +Cc: hollisb, ehrhardt

From: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>

Commit 2d5737d8 added the requirement for an $arch/Makefile.pre in the
kernel subdirectory. This patch adds a stub for powerpc.
Additionally now a file kernel/$arch/hack-module.awk is needed and a simple
version for ppc is added for that one too.
In the root Makefile ia64 patch 030253bf added ia64 with a comma which should
break both architectures because filter works without. The patch removes that
comma.
The commit 76ff90aa fixed the dependency to DEPLIBS, but the definition of the
libfdt dependency lacks the right path (../libfdt/).

Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
---

[diffstat]
 Makefile                       |    2 +-
 kernel/powerpc/Makefile.pre    |    1 +
 kernel/powerpc/hack-module.awk |    5 +++++
 qemu/Makefile.target           |    2 +-
 4 files changed, 8 insertions(+), 2 deletions(-)

[diff]

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@
 ifneq '$(filter $(ARCH), i386 x86_64)' ''
     qemu: extboot
 endif
-ifneq '$(filter $(ARCH), powerpc, ia64)' ''
+ifneq '$(filter $(ARCH), powerpc ia64)' ''
     qemu: libfdt
 endif
 user: libkvm
diff --git a/kernel/powerpc/Makefile.pre b/kernel/powerpc/Makefile.pre
new file mode 100644
--- /dev/null
+++ b/kernel/powerpc/Makefile.pre
@@ -0,0 +1,1 @@
+prerequisite:
diff --git a/kernel/powerpc/hack-module.awk b/kernel/powerpc/hack-module.awk
new file mode 100644
--- /dev/null
+++ b/kernel/powerpc/hack-module.awk
@@ -0,0 +1,5 @@
+/MODULE_AUTHOR/ {
+    printf("MODULE_INFO(version, \"%s\");\n", version)
+}
+
+{ print }
diff --git a/qemu/Makefile.target b/qemu/Makefile.target
--- a/qemu/Makefile.target
+++ b/qemu/Makefile.target
@@ -579,7 +579,7 @@
 
 ifdef CONFIG_LIBFDT
 LIBS += -lfdt
-DEPLIBS += libfdt.a
+DEPLIBS += ../libfdt/libfdt.a
 endif
 
 # SCSI layer

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-09-16 10:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-16  8:48 [PATCH 0/3] kvm-userspace: kvmppc: fix build for ppc ehrhardt
     [not found] ` <1221554914-29751-1-git-send-email-ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-09-16  8:48   ` [PATCH 1/3] kvm-userspace: kvmppc: fix file header in libkvm-powerpc.c ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-09-16  8:48   ` [PATCH 2/3] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-09-16  8:48 ` [PATCH] kvm-userspace: kvmppc: fix building userspace for powerpc ehrhardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox