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] [patch 5/8] Kexec: Use a separate RID for EFI

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [patch 5/8] Kexec: Use a separate RID for EFI
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Tue, 23 Oct 2007 16:43:29 +0900
Cc: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>, Alex Williamson <alex.williamson@xxxxxx>
Delivery-date: Tue, 23 Oct 2007 00:50:13 -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>
References: <20071023074324.298028864@xxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: quilt/0.46-1
In preparation for the EFI RID patches:

The EFI RID patches require pal.h to (directly or indirectly)
have access to GRANULE_SIZE which is defined in pgtable.h.
This effectively causes a header loop as pgtable.h includes
system.h and system.h includes pal.h. This patch breaks
that loop by not including pal.h in system.h if XEN is defined,
which is the only time the loop will occur.

There are two side effects of this:

1. regionreg.c makes use of some symbols declared in
   pal.h but does not include it directly. This is
   resolved by including it, which doesn't seem to
   cause any additional problems.

2. system.h makes use of ia64_pal_halt_light which is defined in pal.h.

   #define safe_halt()         ia64_pal_halt_light()

   This is probably the reason that pal.h is included in system.h.
   However this does not seem to manifest as any sort of build problem,
   presumably because either nothing in xen uses safe_halt,
   or because those that do include pal.h by some other means.

   In any case the change seems safe, though hackish.

Cc: Tristan Gingold <tgingold@xxxxxxx>
Cc: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>

Index: xen-unstable.hg/xen/arch/ia64/xen/regionreg.c
===================================================================
--- xen-unstable.hg.orig/xen/arch/ia64/xen/regionreg.c  2007-10-23 
15:57:00.000000000 +0900
+++ xen-unstable.hg/xen/arch/ia64/xen/regionreg.c       2007-10-23 
15:59:26.000000000 +0900
@@ -15,6 +15,7 @@
 #include <asm/regionreg.h>
 #include <asm/vhpt.h>
 #include <asm/vcpu.h>
+#include <asm/pal.h>
 
 /* Defined in xemasm.S  */
 extern void ia64_new_rr7(unsigned long rid, void *shared_info, void 
*shared_arch_info, unsigned long shared_info_va, unsigned long va_vhpt);
Index: xen-unstable.hg/xen/include/asm-ia64/linux-xen/asm/system.h
===================================================================
--- xen-unstable.hg.orig/xen/include/asm-ia64/linux-xen/asm/system.h    
2007-10-23 16:03:41.000000000 +0900
+++ xen-unstable.hg/xen/include/asm-ia64/linux-xen/asm/system.h 2007-10-23 
16:03:56.000000000 +0900
@@ -16,7 +16,9 @@
 
 #include <asm/kregs.h>
 #include <asm/page.h>
+#ifndef XEN
 #include <asm/pal.h>
+#endif
 #include <asm/percpu.h>
 
 #ifndef XEN

-- 

-- 
Horms
  H: http://www.vergenet.net/~horms/
  W: http://www.valinux.co.jp/en/


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