From: Simon Horman <horms@verge.net.au>
Date: Fri, 11 May 2007 17:20:01 +0900
Subject: [XEN] Initialise xen_start_info earlier in setup_arch()

xen_start_info needs to be set before efi_init() is called on ia64
because xen_machine_kexec_setup_resources() is indirectly
called by efi_init() and it needs a working is_initial_xendomain();

Signed-off-by: Simon Horman <horms@verge.net.au>
Index: xen-ia64-unstable.hg/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c
===================================================================
--- xen-ia64-unstable.hg.orig/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c	2007-05-11 17:15:12.000000000 +0900
+++ xen-ia64-unstable.hg/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c	2007-05-11 17:15:20.000000000 +0900
@@ -442,6 +442,11 @@ early_param("nomca", setup_nomca);
 void __init
 setup_arch (char **cmdline_p)
 {
+#ifdef CONFIG_XEN
+	shared_info_t *s = HYPERVISOR_shared_info;
+	xen_start_info = __va(s->arch.start_info_pfn << PAGE_SHIFT);
+#endif
+
 	unw_init();
 
 #ifdef CONFIG_XEN
@@ -535,10 +540,6 @@ setup_arch (char **cmdline_p)
 	}
 #ifdef CONFIG_XEN
 	if (is_running_on_xen()) {
-		shared_info_t *s = HYPERVISOR_shared_info;
-
-		xen_start_info = __va(s->arch.start_info_pfn << PAGE_SHIFT);
-
 		printk("Running on Xen! start_info_pfn=0x%lx nr_pages=%ld "
 		       "flags=0x%x\n", s->arch.start_info_pfn,
 		       xen_start_info->nr_pages, xen_start_info->flags);
