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
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel