# HG changeset patch # User gingold@virtu10 # Node ID 115ca492cdbb1b5313aa6b69e1f2ff7aad75a62a # Parent c317d53af7a217096ffffb7abfa1c2870e2475ca Sync with transparent virtualization: call is_running_on_xen() to check wether Xen is running. 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 diff -r c317d53af7a2 -r 115ca492cdbb linux-2.6-xen-sparse/arch/ia64/kernel/setup.c --- a/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c Fri May 19 12:45:58 2006 +0200 +++ b/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c Fri May 19 12:47:36 2006 +0200 @@ -514,6 +514,9 @@ setup_arch (char **cmdline_p) #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 c317d53af7a2 -r 115ca492cdbb linux-2.6-xen-sparse/arch/ia64/xen/Makefile --- a/linux-2.6-xen-sparse/arch/ia64/xen/Makefile Fri May 19 12:45:58 2006 +0200 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/Makefile Fri May 19 12:47:36 2006 +0200 @@ -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 c317d53af7a2 -r 115ca492cdbb 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 Fri May 19 12:45:58 2006 +0200 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/drivers/xenia64_init.c Fri May 19 12:47:36 2006 +0200 @@ -11,17 +11,20 @@ shared_info_t *HYPERVISOR_shared_info = 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) return running_on_xen ? 0 : -1; - if (!running_on_xen) + if (!is_running_on_xen()) return -1; xen_start_info = __va(s->arch.start_info_pfn << PAGE_SHIFT); diff -r c317d53af7a2 -r 115ca492cdbb linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S --- a/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S Fri May 19 12:45:58 2006 +0200 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S Fri May 19 12:47:36 2006 +0200 @@ -7,12 +7,6 @@ #include #include #include - - .data - .align 8 - .globl running_on_xen -running_on_xen: - data4 0 #define isBP p3 // are we the Bootstrap Processor? @@ -28,9 +22,3 @@ GLOBAL_ENTRY(early_xen_setup) (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 c317d53af7a2 -r 115ca492cdbb linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h --- a/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h Fri May 19 12:45:58 2006 +0200 +++ b/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h Fri May 19 12:47:36 2006 +0200 @@ -53,7 +53,7 @@ extern start_info_t *xen_start_info; void force_evtchn_callback(void); -int xen_init(void); +#define is_running_on_xen() running_on_xen /* Turn jiffies into Xen system time. XXX Implement me. */ #define jiffies_to_st(j) 0 @@ -158,7 +158,7 @@ xen_create_contiguous_region(unsigned lo unsigned int order, unsigned int address_bits) { int ret = 0; - if (running_on_xen) { + if (is_running_on_xen()) { ret = __xen_create_contiguous_region(vstart, order, address_bits); } @@ -169,7 +169,7 @@ static inline void static inline void xen_destroy_contiguous_region(unsigned long vstart, unsigned int order) { - if (running_on_xen) + if (is_running_on_xen()) __xen_destroy_contiguous_region(vstart, order); } diff -r c317d53af7a2 -r 115ca492cdbb linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h --- a/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h Fri May 19 12:45:58 2006 +0200 +++ b/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h Fri May 19 12:47:36 2006 +0200 @@ -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))