# HG changeset patch
# User tristan.gingold@xxxxxxxx
# Node ID 7e53a91d47ae3354779a16119f9ccb9cc40f3808
# Parent  ce125e557225bc409186d82afe86aecdef6356dc
Sync with transparent virtualization running_on_xen.
Call xen_init in setup_arch.
Declare running_on_xen in xenia64_init.c, remove running_on_xen
and is_running_on_xen from xensetup.S
Remove xen_ksyms.c

Signed-off-by: Tristan Gingold <tristan.gingold@xxxxxxxx>

diff -r ce125e557225 -r 7e53a91d47ae linux-2.6-xen-sparse/arch/ia64/kernel/setup.c
--- a/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c	Thu May 18 06:29:28 2006
+++ b/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c	Thu May 18 06:33:04 2006
@@ -514,6 +514,9 @@
 #ifdef CONFIG_XEN
 	if (running_on_xen) {
 		extern shared_info_t *HYPERVISOR_shared_info;
+		extern int xen_init (void);
+
+		xen_init ();
 
 		/* xen_start_info isn't setup yet, get the flags manually */
 		if (HYPERVISOR_shared_info->arch.flags & SIF_INITDOMAIN) {
diff -r ce125e557225 -r 7e53a91d47ae linux-2.6-xen-sparse/arch/ia64/xen/Makefile
--- a/linux-2.6-xen-sparse/arch/ia64/xen/Makefile	Thu May 18 06:29:28 2006
+++ b/linux-2.6-xen-sparse/arch/ia64/xen/Makefile	Thu May 18 06:33:04 2006
@@ -2,7 +2,7 @@
 # Makefile for Xen components
 #
 
-obj-y := hypercall.o xenivt.o xenentry.o xensetup.o xenpal.o xenhpski.o xenconsole.o xen_ksyms.o
+obj-y := hypercall.o xenivt.o xenentry.o xensetup.o xenpal.o xenhpski.o xenconsole.o
 
 obj-$(CONFIG_XEN_IA64_DOM0_VP) += hypervisor.o pci-dma-xen.o util.o
-pci-dma-xen-$(CONFIG_XEN_IA64_DOM0_VP) := ../../i386/kernel/pci-dma-xen.o
\ No newline at end of file
+pci-dma-xen-$(CONFIG_XEN_IA64_DOM0_VP) := ../../i386/kernel/pci-dma-xen.o
diff -r ce125e557225 -r 7e53a91d47ae linux-2.6-xen-sparse/arch/ia64/xen/drivers/xenia64_init.c
--- a/linux-2.6-xen-sparse/arch/ia64/xen/drivers/xenia64_init.c	Thu May 18 06:29:28 2006
+++ b/linux-2.6-xen-sparse/arch/ia64/xen/drivers/xenia64_init.c	Thu May 18 06:33:04 2006
@@ -11,11 +11,14 @@
 shared_info_t *HYPERVISOR_shared_info = (shared_info_t *)XSI_BASE;
 EXPORT_SYMBOL(HYPERVISOR_shared_info);
 
-static int initialized;
 start_info_t *xen_start_info;
+
+int running_on_xen;
+EXPORT_SYMBOL(running_on_xen);
 
 int xen_init(void)
 {
+	static int initialized;
 	shared_info_t *s = HYPERVISOR_shared_info;
 
 	if (initialized)
diff -r ce125e557225 -r 7e53a91d47ae linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S
--- a/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S	Thu May 18 06:29:28 2006
+++ b/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S	Thu May 18 06:33:04 2006
@@ -7,12 +7,6 @@
 #include <linux/config.h>
 #include <asm/processor.h>
 #include <asm/asmmacro.h>
-
-	.data
-	.align 8
-	.globl running_on_xen
-running_on_xen:
-	data4 0
 
 #define isBP	p3	// are we the Bootstrap Processor?
 
@@ -28,9 +22,3 @@
 (p7)	mov cr.iva=r10
 	br.ret.sptk.many rp;;
 END(early_xen_setup)
-
-GLOBAL_ENTRY(is_running_on_xen)
-	movl r9=running_on_xen;;
-	ld4 r8=[r9]
-	br.ret.sptk.many rp;;
-END(is_running_on_xen)
diff -r ce125e557225 -r 7e53a91d47ae linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h	Thu May 18 06:29:28 2006
+++ b/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h	Thu May 18 06:33:04 2006
@@ -53,7 +53,8 @@
 
 void force_evtchn_callback(void);
 
-int xen_init(void);
+/* True if running on xen.  */
+extern int running_on_xen;
 
 /* Turn jiffies into Xen system time. XXX Implement me. */
 #define jiffies_to_st(j)	0
diff -r ce125e557225 -r 7e53a91d47ae linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h	Thu May 18 06:29:28 2006
+++ b/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h	Thu May 18 06:33:04 2006
@@ -42,12 +42,7 @@
 #endif
 
 #ifndef __ASSEMBLY__
-#ifdef MODULE
-extern int is_running_on_xen(void);
-#define running_on_xen (is_running_on_xen())
-#else
 extern int running_on_xen;
-#endif
 
 #define	XEN_HYPER_SSM_I		asm("break %0" : : "i" (HYPERPRIVOP_SSM_I))
 #define	XEN_HYPER_GET_IVR	asm("break %0" : : "i" (HYPERPRIVOP_GET_IVR))
diff -r ce125e557225 -r 7e53a91d47ae linux-2.6-xen-sparse/arch/ia64/xen/xen_ksyms.c
--- a/linux-2.6-xen-sparse/arch/ia64/xen/xen_ksyms.c	Thu May 18 06:29:28 2006
+++ /dev/null	Thu May 18 06:33:04 2006
@@ -1,12 +0,0 @@
-/*
- * Architecture-specific kernel symbols
- *
- * Don't put any exports here unless it's defined in an assembler file.
- * All other exports should be put directly after the definition.
- */
-
-#include <linux/config.h>
-#include <linux/module.h>
-
-extern int is_running_on_xen(void);
-EXPORT_SYMBOL(is_running_on_xen);