* [PATCH 0/3][RESEND] kvm-userspace: kvmppc: fix build for ppc
@ 2008-09-29 12:50 ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
[not found] ` <1222692614-18532-1-git-send-email-ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8 @ 2008-09-29 12:50 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>
* I got neither pro/con comments nor an accepted message -> resend
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 powerpc.
[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(-)
--
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] 5+ messages in thread
* [PATCH 1/3][RESEND] kvm-userspace: kvmppc: fix file header in libkvm-powerpc.c
[not found] ` <1222692614-18532-1-git-send-email-ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
@ 2008-09-29 12:50 ` ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-09-29 12:50 ` [PATCH 2/3][RESEND] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-09-29 12:50 ` [PATCH 3/3][RESEND] kvm-userspace: kvmppc: fix building userspace for powerpc ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2 siblings, 0 replies; 5+ messages in thread
From: ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8 @ 2008-09-29 12:50 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] 5+ messages in thread
* [PATCH 2/3][RESEND] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling
[not found] ` <1222692614-18532-1-git-send-email-ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-09-29 12:50 ` [PATCH 1/3][RESEND] kvm-userspace: kvmppc: fix file header in libkvm-powerpc.c ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
@ 2008-09-29 12:50 ` ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-09-29 14:43 ` Hollis Blanchard
2008-09-29 12:50 ` [PATCH 3/3][RESEND] kvm-userspace: kvmppc: fix building userspace for powerpc ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2 siblings, 1 reply; 5+ messages in thread
From: ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8 @ 2008-09-29 12:50 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] 5+ messages in thread
* [PATCH 3/3][RESEND] kvm-userspace: kvmppc: fix building userspace for powerpc
[not found] ` <1222692614-18532-1-git-send-email-ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-09-29 12:50 ` [PATCH 1/3][RESEND] kvm-userspace: kvmppc: fix file header in libkvm-powerpc.c ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-09-29 12:50 ` [PATCH 2/3][RESEND] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
@ 2008-09-29 12:50 ` ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2 siblings, 0 replies; 5+ messages in thread
From: ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8 @ 2008-09-29 12:50 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>
Last submission missed the right 3/3 tag so I resend it to be recognized.
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-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---
[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
--
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] 5+ messages in thread
* Re: [PATCH 2/3][RESEND] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling
2008-09-29 12:50 ` [PATCH 2/3][RESEND] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
@ 2008-09-29 14:43 ` Hollis Blanchard
0 siblings, 0 replies; 5+ messages in thread
From: Hollis Blanchard @ 2008-09-29 14:43 UTC (permalink / raw)
To: ehrhardt; +Cc: kvm-ppc, kvm
On Mon, 2008-09-29 at 14:50 +0200, ehrhardt@linux.vnet.ibm.com wrote:
> From: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
>
> 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.
This needs to be CCed to qemu-devel@nongnu.org and applied upstream.
I don't know if bits/wordsize.h is too Linux-specific (or if that even
matters in the configure script).
--
Hollis Blanchard
IBM Linux Technology Center
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-09-29 14:44 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-29 12:50 [PATCH 0/3][RESEND] kvm-userspace: kvmppc: fix build for ppc ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
[not found] ` <1222692614-18532-1-git-send-email-ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-09-29 12:50 ` [PATCH 1/3][RESEND] kvm-userspace: kvmppc: fix file header in libkvm-powerpc.c ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-09-29 12:50 ` [PATCH 2/3][RESEND] kvm-userspace: kvmppc: fix hostlonbits detection when cross compiling ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-09-29 14:43 ` Hollis Blanchard
2008-09-29 12:50 ` [PATCH 3/3][RESEND] kvm-userspace: kvmppc: fix building userspace for powerpc ehrhardt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox