On Fri, 2008-02-01 at 17:34 +0800, Zhang, Xiantao wrote: > From: Xiantao Zhang <[EMAIL PROTECTED]> > Date: Fri, 1 Feb 2008 17:18:03 +0800 > Subject: [PATCH] Make non-x86 arch partially support make sync. > > Make non-x86 arch partially support make sync, and other archs > can get right header files for userspace. > Signed-off-by: Xiantao Zhang <[EMAIL PROTECTED]> > --- > kernel/Makefile | 19 ++++++++++++++++--- > 1 files changed, 16 insertions(+), 3 deletions(-) > > diff --git a/kernel/Makefile b/kernel/Makefile > index 7a435b5..2f0d7d5 100644 > --- a/kernel/Makefile > +++ b/kernel/Makefile > @@ -13,6 +13,17 @@ LINUX = ../linux-2.6 > > version = $(shell cd $(LINUX); git describe) > > +ARCH := $(shell uname -m | sed -e s/i.86/i386/) > +SRCARCH := $(ARCH) > + > +# Additional ARCH settings for x86 > +ifeq ($(ARCH),i386) > + SRCARCH := x86 > +endif > +ifeq ($(ARCH),x86_64) > + SRCARCH := x86 > +endif > + > _hack = mv $1 $1.orig && \ > gawk -v version=$(version) -f hack-module.awk $1.orig \ > | sed '/\#include/! s/\blapic\b/l_apic/g' > $1 && rm $1.orig
ARCH is already set in ../config.mak. "case" would be a better shell construct than "ifeq" for this translation. > @@ -30,14 +41,15 @@ all:: > sync: > rm -rf tmp > rsync --exclude='*.mod.c' -R \ > - "$(LINUX)"/arch/x86/kvm/./*.[ch] \ > + "$(LINUX)"/arch/$(SRCARCH)/kvm/./*.[cSh] \ > "$(LINUX)"/virt/kvm/./*.[ch] \ > "$(LINUX)"/./include/linux/kvm*.h \ > - "$(LINUX)"/./include/asm-x86/kvm*.h \ > + "$(LINUX)"/./include/asm-$(SRCARCH)/kvm*.h \ > tmp/ > rm -rf include/asm > - ln -s asm-x86 include/asm > + ln -s asm-$(SRCARCH) include/asm > > +ifeq ($(SRCARCH),x86) Rather than adding an ifdef for every architecture here, can we define a HEADERS variable and do something like for hdr in $HEADERS ; do $(call hack, $hdr) done HEADERS could be defined in the case statements you're going to add. ;) > $(call unifdef, include/linux/kvm.h) > $(call unifdef, include/linux/kvm_para.h) Why are these headers not common? > $(call unifdef, include/asm-x86/kvm.h) > @@ -48,6 +60,7 @@ sync: > $(call hack, svm.c) > $(call hack, x86.c) > $(call hack, irq.h) > +endif > for i in $$(find tmp -type f -printf '%P '); \ > do cmp -s $$i tmp/$$i || cp tmp/$$i $$i; done > rm -rf tmp -- Hollis Blanchard IBM Linux Technology Center ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel