xen-ia64-devel
[Xen-ia64-devel] [patch 06/14] ia64: kexec: Header changes in preparatio
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>
Cc: Alex Williamson <alex.williamson@xxxxxx>
Cc: Aron Griffis <aron@xxxxxx>
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 2008-02-05
16:18:51.000000000 +0900
+++ xen-unstable.hg/xen/arch/ia64/xen/regionreg.c 2008-02-05
16:18:51.000000000 +0900
@@ -16,6 +16,7 @@
#include <asm/vhpt.h>
#include <asm/vcpu.h>
#include <asm/percpu.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
2008-02-05 16:18:41.000000000 +0900
+++ xen-unstable.hg/xen/include/asm-ia64/linux-xen/asm/system.h 2008-02-05
16:18:51.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
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-ia64-devel] [patch 00/14] ia64: kexec: Map EFI memory in the same location as Linux v20080714, Simon Horman
- [Xen-ia64-devel] [patch 01/14] ia64: kexec: Define macros for EFI RID, Simon Horman
- [Xen-ia64-devel] [patch 02/14] ia64: kexec: define EFI offsets for identity mapping, Simon Horman
- [Xen-ia64-devel] [patch 03/14] ia64: kexec: Add a wrapper to vmx_switch_rr7(), Simon Horman
- [Xen-ia64-devel] [patch 04/14] ia64: kexec: Unpin the correct VHPT TR in ia64_do_tlb_purge, Simon Horman
- [Xen-ia64-devel] [patch 05/14] ia64: kexec: Unpin shared_info, mapped_regs and VPD TR in ia64_do_tlb_purge, Simon Horman
- [Xen-ia64-devel] [patch 06/14] ia64: kexec: Header changes in preparation for EFI RID,
Simon Horman <=
- [Xen-ia64-devel] [patch 07/14] ia64: kexec: Repining for EFI RID, Simon Horman
- [Xen-ia64-devel] [patch 08/14] ia64: kexec: Allow EFI_RID to be used in ivt.S, Simon Horman
- [Xen-ia64-devel] [patch 09/14] ia64: kexec: Add identity mapping of EFI memory to alt_dtlb_miss, Simon Horman
- [Xen-ia64-devel] [patch 10/14] ia64: kexec: Handle EFI UC area correctly in vmx_alt_dtlb, Simon Horman
- [Xen-ia64-devel] [patch 11/14] ia64: kexec: Move sal.h to asm-ia64/linux-xen/asm as it needs to be modified, Simon Horman
- [Xen-ia64-devel] [patch 12/14] ia64: kexec: Use a separate RID for EFI, Simon Horman
- [Xen-ia64-devel] [patch 13/14] ia64: kexec: add __va_efi, Simon Horman
- [Xen-ia64-devel] [patch 14/14] ia64: kexec: Map EFI regions into the same place they are maped into in Linux, Simon Horman
|
|
|