* [PATCH] [RESEND] [v2] Make "make sync" in kernel dir work for multiple archs
@ 2008-04-24 4:38 Jerone Young
2008-04-24 12:02 ` [kvm-ppc-devel] " Avi Kivity
0 siblings, 1 reply; 2+ messages in thread
From: Jerone Young @ 2008-04-24 4:38 UTC (permalink / raw)
To: kvm-devel; +Cc: kvm-ppc-devel
1 file changed, 37 insertions(+), 21 deletions(-)
kernel/Makefile | 58 +++++++++++++++++++++++++++++++++++--------------------
- This adapts perviously sent patch to new changes to kernel/Makefile
- Fixes improper check in conditional
This patch add the ability for make sync in the kernel directory to work for mulitiple architectures and not just x86.
Signed-off-by: Jerone Young <jyoung5@us.ibm.com>
diff --git a/kernel/Makefile b/kernel/Makefile
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -1,5 +1,10 @@ include ../config.mak
include ../config.mak
+ARCH_DIR=$(ARCH)
+ifneq '$(filter $(ARCH_DIR), x86_64 i386)' ''
+ ARCH_DIR=x86
+endif
+
KVERREL = $(patsubst /lib/modules/%/build,%,$(KERNELDIR))
DESTDIR=
@@ -18,11 +23,25 @@ _hack = mv $1 $1.orig && \
| sed '/\#include/! s/\blapic\b/l_apic/g' > $1 && rm $1.orig
_unifdef = mv $1 $1.orig && \
- unifdef -DCONFIG_X86 $1.orig > $1; \
- [ $$? -le 1 ] && rm $1.orig
+ unifdef -DCONFIG_$(shell echo $(ARCH_DIR)|tr '[:lower:]' '[:upper:]') $1.orig > $1; \
+ [ $$? -le 1 ] && rm $1.orig
hack = $(call _hack,$T/$(strip $1))
unifdef = $(call _unifdef,$T/$(strip $1))
+
+UNIFDEF_FILES = include/linux/kvm.h \
+ include/linux/kvm_para.h \
+ include/asm-$(ARCH_DIR)/kvm.h \
+ include/asm-$(ARCH_DIR)/kvm_para.h
+
+ifneq '$(filter $(ARCH_DIR), x86)' ''
+HACK_FILES = kvm_main.c \
+ mmu.c \
+ vmx.c \
+ svm.c \
+ x86.c \
+ irq.h
+endif
all::
# include header priority 1) $LINUX 2) $KERNELDIR 3) include-compat
@@ -39,17 +58,16 @@ header-sync:
rm -rf $T
rsync -R \
"$(LINUX)"/./include/linux/kvm*.h \
- "$(LINUX)"/./include/asm-x86/kvm*.h \
- $T/
- mkdir -p include/linux include/asm-x86
- ln -sf asm-x86 include/asm
- ln -sf asm-x86 include-compat/asm
+ "$(LINUX)"/./include/asm-$(ARCH_DIR)/kvm*.h \
+ $T/
- $(call unifdef, include/linux/kvm.h)
- $(call unifdef, include/linux/kvm_para.h)
- $(call unifdef, include/asm-x86/kvm.h)
- $(call unifdef, include/asm-x86/kvm_para.h)
- $(call hack, include/linux/kvm.h)
+ mkdir -p include/linux include/asm-$(ARCH_DIR)
+ ln -sf asm-$(ARCH_DIR) include/asm
+ ln -sf asm-$(ARCH_DIR) include-compat/asm
+
+ for i in $(UNIFDEF_FILES); \
+ do $(call unifdef, $$i); done
+
for i in $$(find $T -type f -printf '%P '); \
do cmp -s $$i $T/$$i || cp $T/$$i $$i; done
rm -rf $T
@@ -57,15 +75,13 @@ source-sync:
source-sync:
rm -rf $T
rsync --exclude='*.mod.c' -R \
- "$(LINUX)"/arch/x86/kvm/./*.[ch] \
- "$(LINUX)"/virt/kvm/./*.[ch] \
- $T/
- $(call hack, kvm_main.c)
- $(call hack, mmu.c)
- $(call hack, vmx.c)
- $(call hack, svm.c)
- $(call hack, x86.c)
- $(call hack, irq.h)
+ "$(LINUX)"/arch/$(ARCH_DIR)/kvm/./*.[ch] \
+ "$(LINUX)"/virt/kvm/./*.[ch] \
+ $T/
+
+ for i in $(HACK_FILES); \
+ do $(call hack, $$i); done
+
for i in $$(find $T -type f -printf '%P '); \
do cmp -s $$i $T/$$i || cp $T/$$i $$i; done
rm -rf $T
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [kvm-ppc-devel] [PATCH] [RESEND] [v2] Make "make sync" in kernel dir work for multiple archs
2008-04-24 4:38 [PATCH] [RESEND] [v2] Make "make sync" in kernel dir work for multiple archs Jerone Young
@ 2008-04-24 12:02 ` Avi Kivity
0 siblings, 0 replies; 2+ messages in thread
From: Avi Kivity @ 2008-04-24 12:02 UTC (permalink / raw)
To: Jerone Young; +Cc: kvm-devel, kvm-ppc-devel
Jerone Young wrote:
> 1 file changed, 37 insertions(+), 21 deletions(-)
> kernel/Makefile | 58 +++++++++++++++++++++++++++++++++++--------------------
>
>
> - This adapts perviously sent patch to new changes to kernel/Makefile
> - Fixes improper check in conditional
>
> This patch add the ability for make sync in the kernel directory to work for mulitiple architectures and not just x86.
>
>
I addressed this in a different way by always syncing headers from all
architectures. This means the tarballs can be used to build userspace
on any arch (though kernel modules are limited to x86, mostly due to
arch limitations).
In addition, we no longer refer to KERNELDIR when building userspace, so
it ought to be easier to build on random kernels.
Patches to be pushed shortly...
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-04-24 12:02 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-24 4:38 [PATCH] [RESEND] [v2] Make "make sync" in kernel dir work for multiple archs Jerone Young
2008-04-24 12:02 ` [kvm-ppc-devel] " Avi Kivity
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox