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

Reply via email to