[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [linux-2.6.18-xen] linux: adjust make logic for -xen files.



# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1184330106 -3600
# Node ID 50477b1b30168ed149e225530ae2b5f9b47ab2b0
# Parent  670f8d5305d25cfd79da42eb89d6f50ac745281c
linux: adjust make logic for -xen files.

The changed logic allows having *-xen.[cS] files anywhere in the tree,
without a need to modify the corresponding Makefiles. The patch also
cleans up Makefiles modified for Xen as far as possible.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
 arch/i386/Makefile                 |    1 -
 arch/i386/kernel/Makefile          |   26 ++++++--------------------
 arch/i386/kernel/acpi/Makefile     |    4 ----
 arch/i386/kernel/cpu/Makefile      |    4 ----
 arch/i386/kernel/cpu/mtrr/Makefile |    8 +-------
 arch/i386/mm/Makefile              |    9 +--------
 arch/i386/pci/Makefile             |    5 -----
 arch/x86_64/Makefile               |    1 -
 arch/x86_64/ia32/Makefile          |   13 +++----------
 arch/x86_64/kernel/Makefile        |   18 ++++--------------
 arch/x86_64/mm/Makefile            |   13 +++----------
 arch/x86_64/pci/Makefile           |    7 -------
 scripts/Makefile.build             |   12 ++++++++++++
 scripts/Makefile.lib               |    6 ++++++
 scripts/Makefile.xen.awk           |   34 ++++++++++++++++++++++++++++++++++
 15 files changed, 70 insertions(+), 91 deletions(-)

diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/Makefile
--- a/arch/i386/Makefile        Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/i386/Makefile        Fri Jul 13 13:35:06 2007 +0100
@@ -116,7 +116,6 @@ PHONY += zImage bzImage compressed zlilo
 
 ifdef CONFIG_XEN
 CPPFLAGS := -Iinclude$(if $(KBUILD_SRC),2)/asm/mach-xen $(CPPFLAGS)
-head-y := arch/i386/kernel/head-xen.o arch/i386/kernel/init_task-xen.o
 boot := arch/i386/boot-xen
 .PHONY: vmlinuz
 all: vmlinuz
diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/kernel/Makefile
--- a/arch/i386/kernel/Makefile Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/i386/kernel/Makefile Fri Jul 13 13:35:06 2007 +0100
@@ -43,12 +43,7 @@ EXTRA_AFLAGS   := -traditional
 EXTRA_AFLAGS   := -traditional
 
 obj-$(CONFIG_SCx200)           += scx200.o
-
-ifdef CONFIG_XEN
-vsyscall_note := vsyscall-note-xen.o
-else
-vsyscall_note := vsyscall-note.o
-endif
+obj-$(CONFIG_XEN)              += fixup.o
 
 # vsyscall.o contains the vsyscall DSO images as __initdata.
 # We must build both images before we can assemble it.
@@ -71,7 +66,7 @@ SYSCFLAGS_vsyscall-int80.so   = $(vsyscall
 
 $(obj)/vsyscall-int80.so $(obj)/vsyscall-sysenter.so: \
 $(obj)/vsyscall-%.so: $(src)/vsyscall.lds \
-                     $(obj)/vsyscall-%.o $(obj)/$(vsyscall_note) FORCE
+                     $(obj)/vsyscall-%.o $(obj)/vsyscall-note.o FORCE
        $(call if_changed,syscall)
 
 # We also create a special relocatable object that should mirror the symbol
@@ -83,20 +78,11 @@ extra-y += vsyscall-syms.o
 
 SYSCFLAGS_vsyscall-syms.o = -r
 $(obj)/vsyscall-syms.o: $(src)/vsyscall.lds \
-                       $(obj)/vsyscall-sysenter.o $(obj)/$(vsyscall_note) FORCE
+                       $(obj)/vsyscall-sysenter.o $(obj)/vsyscall-note.o FORCE
        $(call if_changed,syscall)
 
+early_printk-y            += ../../x86_64/kernel/early_printk.o
 k8-y                      += ../../x86_64/kernel/k8.o
 
-ifdef CONFIG_XEN
-include $(srctree)/scripts/Makefile.xen
-
-obj-y += fixup.o
-microcode-$(subst m,y,$(CONFIG_MICROCODE)) := microcode-xen.o
-n-obj-xen := i8259.o timers/ reboot.o smpboot.o trampoline.o
-
-obj-y := $(call filterxen, $(obj-y), $(n-obj-xen))
-obj-y := $(call cherrypickxen, $(obj-y))
-extra-y := $(call cherrypickxen, $(extra-y))
-%/head-xen.o %/head-xen.s: EXTRA_AFLAGS :=
-endif
+disabled-obj-$(CONFIG_XEN) := i8259.o reboot.o smpboot.o trampoline.o
+%/head.o %/head.s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=
diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/kernel/acpi/Makefile
--- a/arch/i386/kernel/acpi/Makefile    Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/i386/kernel/acpi/Makefile    Fri Jul 13 13:35:06 2007 +0100
@@ -6,7 +6,3 @@ obj-y                           += cstate.o processor.o
 obj-y                          += cstate.o processor.o
 endif
 
-ifdef CONFIG_XEN
-include $(srctree)/scripts/Makefile.xen
-obj-y := $(call cherrypickxen, $(obj-y), $(src))
-endif
diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/kernel/cpu/Makefile
--- a/arch/i386/kernel/cpu/Makefile     Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/i386/kernel/cpu/Makefile     Fri Jul 13 13:35:06 2007 +0100
@@ -18,7 +18,3 @@ obj-$(CONFIG_MTRR)    +=      mtrr/
 obj-$(CONFIG_MTRR)     +=      mtrr/
 obj-$(CONFIG_CPU_FREQ) +=      cpufreq/
 
-ifdef CONFIG_XEN
-include $(srctree)/scripts/Makefile.xen
-obj-y := $(call cherrypickxen, $(obj-y), $(src))
-endif
diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/kernel/cpu/mtrr/Makefile
--- a/arch/i386/kernel/cpu/mtrr/Makefile        Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/i386/kernel/cpu/mtrr/Makefile        Fri Jul 13 13:35:06 2007 +0100
@@ -3,10 +3,4 @@ obj-y          += cyrix.o
 obj-y          += cyrix.o
 obj-y          += centaur.o
 
-ifdef CONFIG_XEN
-include $(srctree)/scripts/Makefile.xen
-n-obj-xen := generic.o state.o amd.o cyrix.o centaur.o
-
-obj-y := $(call filterxen, $(obj-y), $(n-obj-xen))
-obj-y := $(call cherrypickxen, $(obj-y))
-endif
+obj-$(CONFIG_XEN) := main.o if.o
diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/mm/Makefile
--- a/arch/i386/mm/Makefile     Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/i386/mm/Makefile     Fri Jul 13 13:35:06 2007 +0100
@@ -8,11 +8,4 @@ obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpag
 obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
 obj-$(CONFIG_HIGHMEM) += highmem.o
 obj-$(CONFIG_BOOT_IOREMAP) += boot_ioremap.o
-
-ifdef CONFIG_XEN
-include $(srctree)/scripts/Makefile.xen
-
-obj-y          += hypervisor.o
-
-obj-y := $(call cherrypickxen, $(obj-y))
-endif
+obj-$(CONFIG_XEN) += hypervisor.o
diff -r 670f8d5305d2 -r 50477b1b3016 arch/i386/pci/Makefile
--- a/arch/i386/pci/Makefile    Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/i386/pci/Makefile    Fri Jul 13 13:35:06 2007 +0100
@@ -16,8 +16,3 @@ pci-$(CONFIG_X86_NUMAQ)               := numa.o irq.o
 pci-$(CONFIG_X86_NUMAQ)                := numa.o irq.o
 
 obj-y                          += $(pci-y) common.o
-
-ifdef CONFIG_XEN
-include $(srctree)/scripts/Makefile.xen
-obj-y := $(call cherrypickxen, $(obj-y))
-endif
diff -r 670f8d5305d2 -r 50477b1b3016 arch/x86_64/Makefile
--- a/arch/x86_64/Makefile      Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/x86_64/Makefile      Fri Jul 13 13:35:06 2007 +0100
@@ -80,7 +80,6 @@ PHONY += bzImage bzlilo install archmrpr
 
 ifdef CONFIG_XEN
 CPPFLAGS := -Iinclude$(if $(KBUILD_SRC),2)/asm/mach-xen $(CPPFLAGS)
-head-y := arch/x86_64/kernel/head-xen.o arch/x86_64/kernel/head64-xen.o 
arch/x86_64/kernel/init_task.o
 LDFLAGS_vmlinux := -e startup_64
 boot := arch/i386/boot-xen
 .PHONY: vmlinuz
diff -r 670f8d5305d2 -r 50477b1b3016 arch/x86_64/ia32/Makefile
--- a/arch/x86_64/ia32/Makefile Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/x86_64/ia32/Makefile Fri Jul 13 13:35:06 2007 +0100
@@ -37,15 +37,8 @@ AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32
 
 ifdef CONFIG_XEN
 AFLAGS_vsyscall-int80.o = -m32 -Wa,-32 -Iarch/i386/kernel
-CFLAGS_syscall32-xen.o += -DUSE_INT80
-AFLAGS_syscall32_syscall-xen.o += -DUSE_INT80
+CFLAGS_syscall32.o += -DUSE_INT80
+AFLAGS_syscall32_syscall.o += -DUSE_INT80
 
-$(obj)/syscall32_syscall-xen.o: \
-       $(foreach F,int80 sysenter syscall,$(obj)/vsyscall-$F.so)
-
-targets := $(foreach F,int80 sysenter syscall,vsyscall-$F.o vsyscall-$F.so)
-
-include $(srctree)/scripts/Makefile.xen
-
-obj-y := $(call cherrypickxen, $(obj-y))
+$(obj)/syscall32_syscall.o: $(obj)/vsyscall-int80.so
 endif
diff -r 670f8d5305d2 -r 50477b1b3016 arch/x86_64/kernel/Makefile
--- a/arch/x86_64/kernel/Makefile       Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/x86_64/kernel/Makefile       Fri Jul 13 13:35:06 2007 +0100
@@ -57,18 +57,8 @@ msr-$(subst m,y,$(CONFIG_X86_MSR))  += .
 msr-$(subst m,y,$(CONFIG_X86_MSR))  += ../../i386/kernel/msr.o
 alternative-y                  += ../../i386/kernel/alternative.o
 
-ifdef CONFIG_XEN
-time-y                         += ../../i386/kernel/time-xen.o
-pci-dma-y                      += ../../i386/kernel/pci-dma-xen.o
-microcode-$(subst m,y,$(CONFIG_MICROCODE))  := 
../../i386/kernel/microcode-xen.o
-quirks-y                       := ../../i386/kernel/quirks-xen.o
+time-$(CONFIG_XEN)             += ../../i386/kernel/time.o
+pci-dma-$(CONFIG_XEN)          += ../../i386/kernel/pci-dma.o
 
-n-obj-xen := i8259.o reboot.o i8237.o smpboot.o trampoline.o
-
-include $(srctree)/scripts/Makefile.xen
-
-obj-y := $(call filterxen, $(obj-y), $(n-obj-xen))
-obj-y := $(call cherrypickxen, $(obj-y))
-extra-y := $(call cherrypickxen, $(extra-y))
-%/head-xen.o %/head-xen.s: EXTRA_AFLAGS :=
-endif
+disabled-obj-$(CONFIG_XEN)     := i8259.o reboot.o smpboot.o trampoline.o
+%/head.o %/head.s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=
diff -r 670f8d5305d2 -r 50477b1b3016 arch/x86_64/mm/Makefile
--- a/arch/x86_64/mm/Makefile   Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/x86_64/mm/Makefile   Fri Jul 13 13:35:06 2007 +0100
@@ -7,15 +7,8 @@ obj-$(CONFIG_NUMA) += numa.o
 obj-$(CONFIG_NUMA) += numa.o
 obj-$(CONFIG_K8_NUMA) += k8topology.o
 obj-$(CONFIG_ACPI_NUMA) += srat.o
+obj-$(CONFIG_XEN) += hypervisor.o
 
 hugetlbpage-y = ../../i386/mm/hugetlbpage.o
-
-ifdef CONFIG_XEN
-include $(srctree)/scripts/Makefile.xen
-
-ioremap-y      += ../../i386/mm/ioremap-xen.o
-hypervisor-y   += ../../i386/mm/hypervisor.o
-obj-y          += hypervisor.o
-
-obj-y := $(call cherrypickxen, $(obj-y))
-endif
+ioremap-$(CONFIG_XEN) := ../../i386/mm/ioremap.o
+hypervisor-y := ../../i386/mm/hypervisor.o
diff -r 670f8d5305d2 -r 50477b1b3016 arch/x86_64/pci/Makefile
--- a/arch/x86_64/pci/Makefile  Thu Jul 12 16:05:09 2007 +0100
+++ b/arch/x86_64/pci/Makefile  Fri Jul 13 13:35:06 2007 +0100
@@ -28,10 +28,3 @@ fixup-y  += ../../i386/pci/fixup.o
 fixup-y  += ../../i386/pci/fixup.o
 i386-y  += ../../i386/pci/i386.o
 init-y += ../../i386/pci/init.o
-
-ifdef CONFIG_XEN
-irq-y          := ../../i386/pci/irq-xen.o
-include $(srctree)/scripts/Makefile.xen
-
-obj-y := $(call cherrypickxen, $(obj-y))
-endif
diff -r 670f8d5305d2 -r 50477b1b3016 scripts/Makefile.build
--- a/scripts/Makefile.build    Thu Jul 12 16:05:09 2007 +0100
+++ b/scripts/Makefile.build    Fri Jul 13 13:35:06 2007 +0100
@@ -66,6 +66,18 @@ endif
 
 ifndef obj
 $(warning kbuild: Makefile.build is included improperly)
+endif
+
+ifeq ($(CONFIG_XEN),y)
+$(objtree)/scripts/Makefile.xen: $(srctree)/scripts/Makefile.xen.awk 
$(srctree)/scripts/Makefile.build
+       @echo '  Updating $@'
+       @$(AWK) -f $< $(filter-out $<,$^) >$@
+
+xen-src-single-used-m  := $(patsubst $(srctree)/%,%,$(wildcard $(addprefix 
$(srctree)/,$(single-used-m:.o=-xen.c))))
+xen-single-used-m      := $(xen-src-single-used-m:-xen.c=.o)
+single-used-m          := $(filter-out $(xen-single-used-m),$(single-used-m))
+
+-include $(objtree)/scripts/Makefile.xen
 endif
 
 # ===========================================================================
diff -r 670f8d5305d2 -r 50477b1b3016 scripts/Makefile.lib
--- a/scripts/Makefile.lib      Thu Jul 12 16:05:09 2007 +0100
+++ b/scripts/Makefile.lib      Fri Jul 13 13:35:06 2007 +0100
@@ -12,6 +12,12 @@ obj-m := $(filter-out $(obj-y),$(obj-m))
 # Filter out objects already built-in
 
 lib-y := $(filter-out $(obj-y), $(sort $(lib-y) $(lib-m)))
+
+# Remove objects forcibly disabled
+
+obj-y := $(filter-out $(disabled-obj-y),$(obj-y))
+obj-m := $(filter-out $(disabled-obj-y),$(obj-m))
+lib-y := $(filter-out $(disabled-obj-y),$(lib-y))
 
 
 # Handle objects in subdirs
diff -r 670f8d5305d2 -r 50477b1b3016 scripts/Makefile.xen.awk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/Makefile.xen.awk  Fri Jul 13 13:35:06 2007 +0100
@@ -0,0 +1,34 @@
+BEGIN {
+       is_rule = 0
+}
+
+/^[[:space:]]*#/ {
+       next
+}
+
+/^[[:space:]]*$/ {
+       if (is_rule)
+               print("")
+       is_rule = 0
+       next
+}
+
+/:[[:space:]]*%\.[cS][[:space:]]/ {
+       line = gensub(/%.([cS])/, "%-xen.\\1", "g", $0)
+       line = gensub(/(single-used-m)/, "xen-\\1", "g", line)
+       print line
+       is_rule = 1
+       next
+}
+
+/^[^\t]$/ {
+       if (is_rule)
+               print("")
+       is_rule = 0
+       next
+}
+
+is_rule {
+       print $0
+       next
+}

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.