WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

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

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [linux-2.6.18-xen] linux: adjust make logic for -xen files.
From: "Xen patchbot-linux-2.6.18-xen" <patchbot-linux-2.6.18-xen@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 27 Jul 2007 02:29:52 -0700
Delivery-date: Fri, 27 Jul 2007 02:27:55 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [linux-2.6.18-xen] linux: adjust make logic for -xen files., Xen patchbot-linux-2.6.18-xen <=