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

[Xen-ia64-devel] Where to compile additional IVT.S



Alex/Isaku:
        Current the make file is to compile additional ivt.S at
kernel/., another approach is to compile in xen/..
        The later one has following benfit:
        1: Easy to read for Makefile and easy to extend for more
hypervisors.
        2: Xen specific ministate.h can be in arch/ia64/xen/, like the
one under arch/ia64/kernel.


        I am not a makefile expert, just use this example to explain
idea, suggestion?
thanks, eddie







diff --git a/arch/ia64/kernel/Makefile b/arch/ia64/kernel/Makefile
index 3e9a162..78ec040 100644
--- a/arch/ia64/kernel/Makefile
+++ b/arch/ia64/kernel/Makefile
@@ -80,16 +80,3 @@ $(obj)/gate-data.o: $(obj)/gate.so
 #
 AFLAGS_ivt.o += -D__IA64_ASM_PARAVIRTUALIZED_NATIVE
 
-# xen multi compile
-$(obj)/xen_%.o: $(src)/%.S FORCE
-       $(call if_changed_dep,as_o_S)
-
-#
-# xenivt.o
-#
-obj-$(CONFIG_XEN) += xen_ivt.o
-ifeq ($(CONFIG_XEN), y)
-targets += xen_ivt.o
-$(obj)/build-in.o: xen_ivt.o
-endif
-AFLAGS_xen_ivt.o += -D__IA64_ASM_PARAVIRTUALIZED_XEN
diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S
index d1cebe5..e0c5ec8 100644
--- a/arch/ia64/kernel/ivt.S
+++ b/arch/ia64/kernel/ivt.S
@@ -75,8 +75,13 @@
 # define DBG_FAULT(i)
 #endif
 
-#include "inst_paravirt.h"
+#ifdef __IA64_ASM_PARAVIRTUALIZED_XEN
+#include <asm/xen/inst.h>
 #include "minstate.h"
+#else
+#include <asm/native/inst.h>
+#endif
+#include "../kernel/minstate.h"
 
 #define FAULT(n)
\
        mov r31=pr;
\
diff --git a/arch/ia64/xen/Makefile b/arch/ia64/xen/Makefile
index 87e29d2..a6b5b9a 100644
--- a/arch/ia64/xen/Makefile
+++ b/arch/ia64/xen/Makefile
@@ -2,7 +2,14 @@
 # Makefile for Xen components
 #
 
+extra-y += xen-ivt.S
+KBUILD_AFLAGS += -D__IA64_ASM_PARAVIRTUALIZED_XEN
+ 
 obj-y := hypercall.o time.o xenivt.o xensetup.o xen_pv_ops.o irq_xen.o
\
-        hypervisor.o util.o xencomm.o xcom_hcall.o xcom_asm.o
paravirt_xen.o
+        hypervisor.o util.o xencomm.o xcom_hcall.o xcom_asm.o \
+        paravirt_xen.o xen-ivt.o
+
+$(obj)/xen-ivt.S:
+       cp $(obj)/../kernel/ivt.S $(obj)/xen-ivt.S 
 
 obj-$(CONFIG_IA64_GENERIC) += machvec.o

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


 


Rackspace

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