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-ia64-devel

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

To: "Alex Williamson" <alex.williamson@xxxxxx>, "Isaku Yamahata" <yamahata@xxxxxxxxxxxxx>
Subject: [Xen-ia64-devel] Where to compile additional IVT.S
From: "Dong, Eddie" <eddie.dong@xxxxxxxxx>
Date: Wed, 19 Mar 2008 23:48:27 +0800
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 19 Mar 2008 09:04:30 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AciJ2KxYLtesvZ7kQwKAbcGkxUlk2A==
Thread-topic: 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

<Prev in Thread] Current Thread [Next in Thread>