[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] Revert xen-ia64-unstable.hg cset 10238



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 8cc1137a09597bc5dbecb21f9ba865e1a6dea8fb
# Parent  0d149b32623524266cb95829c85367aa8e925b6d
[IA64] Revert xen-ia64-unstable.hg cset 10238

back out the change set 10238 which causes domU creation failure.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 linux-2.6-xen-sparse/arch/ia64/kernel/gate.S       |   89 ---------------------
 linux-2.6-xen-sparse/arch/ia64/kernel/gate.lds.S   |    4 
 linux-2.6-xen-sparse/arch/ia64/kernel/patch.c      |   24 -----
 linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h |    2 
 xen/arch/ia64/xen/privop.c                         |    7 -
 xen/include/public/arch-ia64.h                     |    4 
 6 files changed, 1 insertion(+), 129 deletions(-)

diff -r 0d149b326235 -r 8cc1137a0959 
linux-2.6-xen-sparse/arch/ia64/kernel/gate.S
--- a/linux-2.6-xen-sparse/arch/ia64/kernel/gate.S      Tue Jun 13 08:55:08 
2006 -0600
+++ b/linux-2.6-xen-sparse/arch/ia64/kernel/gate.S      Tue Jun 13 08:59:26 
2006 -0600
@@ -14,9 +14,6 @@
 #include <asm/sigcontext.h>
 #include <asm/system.h>
 #include <asm/unistd.h>
-#ifdef CONFIG_XEN
-# include <asm/privop.h>
-#endif
 
 /*
  * We can't easily refer to symbols inside the kernel.  To avoid full runtime 
relocation,
@@ -35,15 +32,6 @@
 #define BRL_COND_FSYS_BUBBLE_DOWN(pr)                  \
 [1:](pr)brl.cond.sptk 0;                               \
        .xdata4 ".data.patch.brl_fsys_bubble_down", 1b-.
-
-       // Currently is_running_on_xen() is defined as running_on_xen.
-       // If is_running_on_xen() is a real function, we must update 
-       // according to it.
-.section ".data.patch.running_on_xen", "a"
-       .previous
-#define LOAD_RUNNING_ON_XEN(reg)                       \
-[1:]   movl reg=0;                                     \
-       .xdata4 ".data.patch.running_on_xen", 1b-.
 
 GLOBAL_ENTRY(__kernel_syscall_via_break)
        .prologue
@@ -89,42 +77,7 @@ GLOBAL_ENTRY(__kernel_syscall_via_epc)
        epc                                     // B    causes split-issue
 }
        ;;
-#ifdef CONFIG_XEN
-       // r20 = 1
-       // r22 = &vcpu->evtchn_mask
-       // r23 = &vpsr.ic
-       // r24 = vcpu->pending_interruption
-       // r25 = tmp
-       // r28 = &running_on_xen
-       // r30 = running_on_xen
-       // r31 = tmp
-       // p11 = tmp
-       // p12 = running_on_xen
-       // p13 = !running_on_xen
-       // p14 = tmp
-       // p15 = tmp
-#define isXen  p12
-#define isRaw  p13     
-       LOAD_RUNNING_ON_XEN(r28)
-       movl r22=XSI_PSR_I_ADDR
-       movl r23=XSI_PSR_IC
-       movl r24=XSI_PEND
-       mov r20=1
-       ;;
-       ld4 r30=[r28]
-       ;; 
-       cmp.ne p12,p13=r0,r30
-       ;; 
-(isXen)        ld8 r22=[r22]
-(isRaw)        rsm psr.be | psr.i
-       ;; 
-(isXen)        st1 [r22]=r20
-(isXen)        st4 [r23]=r0
-(isXen)        XEN_HYPER_RSM_BE
-(isXen)        st4 [r23]=r20
-#else  
        rsm psr.be | psr.i                      // M2 (5 cyc to srlz.d)
-#endif
        LOAD_FSYSCALL_TABLE(r14)                // X
        ;;
        mov r16=IA64_KR(CURRENT)                // M2 (12 cyc)
@@ -132,19 +85,7 @@ GLOBAL_ENTRY(__kernel_syscall_via_epc)
        mov r19=NR_syscalls-1                   // A
        ;;
        lfetch [r18]                            // M0|1
-#ifdef CONFIG_XEN
-(isXen)        mov r31=r8
-(isXen)        mov r25=IA64_PSR_IC
-(isXen)        st4 [r23]=r0
-(isXen)        XEN_HYPER_GET_PSR
-(isRaw)        mov r29=psr
-       ;; 
-(isXen)        st4 [r23]=r20
-(isXen)        or r29=r8,r25 // vpsr.ic was cleared for hyperprivop
-(isXen)        mov r8=r31
-#else
        mov r29=psr                             // M2 (12 cyc)
-#endif
        // If r17 is a NaT, p6 will be zero
        cmp.geu p6,p7=r19,r17                   // A    (sysnr > 0 && sysnr < 
1024+NR_syscalls)?
        ;;
@@ -158,26 +99,9 @@ GLOBAL_ENTRY(__kernel_syscall_via_epc)
        ;;
        nop.m 0
 (p6)   tbit.z.unc p8,p0=r18,0                  // I0 (dual-issues with "mov 
b7=r18"!)
-#ifdef CONFIG_XEN
-       ;; 
-       // p14 = running_on_xen && p8
-       // p15 = !running_on_xen && p8
-(p8)   cmp.ne.unc p14,p15=r0,r30
-       ;; 
-(p14)  st4 [r22]=r20
-(p14)  ld4 r25=[r24]
-(p15)  ssm psr.i
-       ;;
-(p14)   cmp.ne.unc p11,p0=r0, r25
-       ;; 
-(p11)  st4 [r22]=r0
-(p11)  st4 [r23]=r0
-(p11)  XEN_HYPER_SSM_I
-#else
        nop.i 0
        ;;
 (p8)   ssm psr.i
-#endif
 (p6)   mov b7=r18                              // I0
 (p8)   br.dptk.many b7                         // B
 
@@ -198,20 +122,7 @@ GLOBAL_ENTRY(__kernel_syscall_via_epc)
 #else
        BRL_COND_FSYS_BUBBLE_DOWN(p6)
 #endif
-#ifdef CONFIG_XEN
-(isXen)        st4 [r22]=r20
-(isXen)        ld4 r25=[r24]
-(isRaw)        ssm psr.i
-       ;; 
-(isXen)        cmp.ne.unc p11,p0=r0, r25
-       ;; 
-(p11)  st4 [r22]=r0
-(p11)  st4 [r23]=r0
-(p11)  XEN_HYPER_SSM_I
-       ;; 
-#else
        ssm psr.i
-#endif 
        mov r10=-1
 (p10)  mov r8=EINVAL
 (p9)   mov r8=ENOSYS
diff -r 0d149b326235 -r 8cc1137a0959 
linux-2.6-xen-sparse/arch/ia64/kernel/gate.lds.S
--- a/linux-2.6-xen-sparse/arch/ia64/kernel/gate.lds.S  Tue Jun 13 08:55:08 
2006 -0600
+++ b/linux-2.6-xen-sparse/arch/ia64/kernel/gate.lds.S  Tue Jun 13 08:59:26 
2006 -0600
@@ -43,10 +43,6 @@ SECTIONS
                                    __start_gate_brl_fsys_bubble_down_patchlist 
= .;
                                    *(.data.patch.brl_fsys_bubble_down)
                                    __end_gate_brl_fsys_bubble_down_patchlist = 
.;
-
-                                   __start_gate_running_on_xen_patchlist = .;
-                                   *(.data.patch.running_on_xen)
-                                   __end_gate_running_on_xen_patchlist = .;
   }                                                                    
:readable
   .IA_64.unwind_info           : { *(.IA_64.unwind_info*) }
   .IA_64.unwind                        : { *(.IA_64.unwind*) }                 
:readable :unwind
diff -r 0d149b326235 -r 8cc1137a0959 
linux-2.6-xen-sparse/arch/ia64/kernel/patch.c
--- a/linux-2.6-xen-sparse/arch/ia64/kernel/patch.c     Tue Jun 13 08:55:08 
2006 -0600
+++ b/linux-2.6-xen-sparse/arch/ia64/kernel/patch.c     Tue Jun 13 08:59:26 
2006 -0600
@@ -184,29 +184,6 @@ patch_brl_fsys_bubble_down (unsigned lon
        ia64_srlz_i();
 }
 
-#ifdef CONFIG_XEN
-extern char __start_gate_running_on_xen_patchlist[];
-extern char __end_gate_running_on_xen_patchlist[];
-void
-patch_running_on_xen(unsigned long start, unsigned long end)
-{
-       extern int running_on_xen;
-       s32 *offp = (s32 *) start;
-       u64 ip;
-
-       while (offp < (s32 *) end) {
-               ip = (u64) ia64_imva((char *) offp + *offp);
-               ia64_patch_imm64(ip, (u64) &running_on_xen);
-               ia64_fc((void *) ip);
-               ++offp;
-       }
-       ia64_sync_i();
-       ia64_srlz_i();
-}
-#else
-#define patch_running_on_xen(start, end)       do { } while (0)
-#endif
-
 void
 ia64_patch_gate (void)
 {
@@ -215,7 +192,6 @@ ia64_patch_gate (void)
 
        patch_fsyscall_table(START(fsyscall), END(fsyscall));
        patch_brl_fsys_bubble_down(START(brl_fsys_bubble_down), 
END(brl_fsys_bubble_down));
-       patch_running_on_xen(START(running_on_xen), END(running_on_xen));
        ia64_patch_vtop(START(vtop), END(vtop));
        ia64_patch_mckinley_e9(START(mckinley_e9), END(mckinley_e9));
 }
diff -r 0d149b326235 -r 8cc1137a0959 
linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h        Tue Jun 13 
08:55:08 2006 -0600
+++ b/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h        Tue Jun 13 
08:59:26 2006 -0600
@@ -39,8 +39,6 @@
 #define        XEN_HYPER_GET_PMD               break HYPERPRIVOP_GET_PMD
 #define        XEN_HYPER_GET_EFLAG             break HYPERPRIVOP_GET_EFLAG
 #define        XEN_HYPER_SET_EFLAG             break HYPERPRIVOP_SET_EFLAG
-#define        XEN_HYPER_RSM_BE                break HYPERPRIVOP_RSM_BE
-#define        XEN_HYPER_GET_PSR               break HYPERPRIVOP_GET_PSR
 #endif
 
 #ifndef __ASSEMBLY__
diff -r 0d149b326235 -r 8cc1137a0959 xen/arch/ia64/xen/privop.c
--- a/xen/arch/ia64/xen/privop.c        Tue Jun 13 08:55:08 2006 -0600
+++ b/xen/arch/ia64/xen/privop.c        Tue Jun 13 08:59:26 2006 -0600
@@ -896,13 +896,6 @@ ia64_hyperprivop(unsigned long iim, REGS
                return 1;
            case HYPERPRIVOP_SET_EFLAG:
                (void)vcpu_set_ar(v,24,regs->r8);
-               return 1;
-           case HYPERPRIVOP_RSM_BE:
-               (void)vcpu_reset_psr_sm(v, IA64_PSR_BE);
-               return 1;
-           case HYPERPRIVOP_GET_PSR:
-               (void)vcpu_get_psr(v, &val);
-               regs->r8 = val;
                return 1;
        }
        return 0;
diff -r 0d149b326235 -r 8cc1137a0959 xen/include/public/arch-ia64.h
--- a/xen/include/public/arch-ia64.h    Tue Jun 13 08:55:08 2006 -0600
+++ b/xen/include/public/arch-ia64.h    Tue Jun 13 08:59:26 2006 -0600
@@ -400,9 +400,7 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_conte
 #define HYPERPRIVOP_GET_PMD            0x15
 #define HYPERPRIVOP_GET_EFLAG          0x16
 #define HYPERPRIVOP_SET_EFLAG          0x17
-#define HYPERPRIVOP_RSM_BE             0x18
-#define HYPERPRIVOP_GET_PSR            0x19
-#define HYPERPRIVOP_MAX                        0x19
+#define HYPERPRIVOP_MAX                        0x17
 
 #endif /* __HYPERVISOR_IF_IA64_H__ */
 

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.