WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

[Xen-ia64-devel] [patch 03/14] ia64: kexec: Add a wrapper to vmx_switch_

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [patch 03/14] ia64: kexec: Add a wrapper to vmx_switch_rr7()
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Mon, 14 Jul 2008 19:21:41 +1000
Cc: Aron Griffis <aron@xxxxxx>, Isaku Yamahata <yamahata@xxxxxxxxxxxxx>, Alex Williamson <alex.williamson@xxxxxx>
Delivery-date: Mon, 14 Jul 2008 02:34:20 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20080714092138.629986006@xxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: quilt/0.46-1
Add a C wrapper around the assembly vmx_switch_rr7().
This will be filled out with code that saves inserted TLB values
by subsequent patches.

Cc: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>

Index: xen-unstable.hg/xen/arch/ia64/vmx/vmx_entry.S
===================================================================
--- xen-unstable.hg.orig/xen/arch/ia64/vmx/vmx_entry.S  2008-07-14 
16:14:21.000000000 +1000
+++ xen-unstable.hg/xen/arch/ia64/vmx/vmx_entry.S       2008-07-14 
16:17:21.000000000 +1000
@@ -608,8 +608,7 @@ END(ia64_leave_hypercall)
         IA64_PSR_ED | IA64_PSR_DFL | IA64_PSR_DFH | IA64_PSR_IC)
 #define PSR_BITS_TO_SET    IA64_PSR_BN
 
-//extern void vmx_switch_rr7(unsigned long rid, void *guest_vhpt, void * 
pal_vaddr, void * shared_arch_info );
-GLOBAL_ENTRY(vmx_switch_rr7)
+GLOBAL_ENTRY(__vmx_switch_rr7)
        // not sure this unwind statement is correct...
        .prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(1)
        alloc loc1 = ar.pfs, 4, 8, 0, 0
@@ -777,4 +776,4 @@ GLOBAL_ENTRY(vmx_switch_rr7)
        mov ar.rsc=loc3                 // restore RSE configuration
        srlz.d                          // seralize restoration of psr.l
        br.ret.sptk.many rp
-END(vmx_switch_rr7)
+END(__vmx_switch_rr7)
Index: xen-unstable.hg/xen/arch/ia64/vmx/vmx_vcpu.c
===================================================================
--- xen-unstable.hg.orig/xen/arch/ia64/vmx/vmx_vcpu.c   2008-07-14 
16:14:21.000000000 +1000
+++ xen-unstable.hg/xen/arch/ia64/vmx/vmx_vcpu.c        2008-07-14 
16:55:23.000000000 +1000
@@ -196,6 +196,12 @@ void vmx_vcpu_set_rr_fast(VCPU *vcpu, u6
     }
 }
 
+void vmx_switch_rr7(unsigned long rid, void *guest_vhpt,
+                    void *pal_vaddr, void *shared_arch_info)
+{
+    __vmx_switch_rr7(rid, guest_vhpt, pal_vaddr, shared_arch_info);
+}
+
 IA64FAULT vmx_vcpu_set_rr(VCPU *vcpu, u64 reg, u64 val)
 {
     u64 rrval;
Index: xen-unstable.hg/xen/include/asm-ia64/vmx_vcpu.h
===================================================================
--- xen-unstable.hg.orig/xen/include/asm-ia64/vmx_vcpu.h        2008-07-14 
16:14:21.000000000 +1000
+++ xen-unstable.hg/xen/include/asm-ia64/vmx_vcpu.h     2008-07-14 
16:18:22.000000000 +1000
@@ -103,7 +103,10 @@ extern int is_unmasked_irq(VCPU * vcpu);
 extern uint64_t guest_read_vivr(VCPU * vcpu);
 extern int vmx_vcpu_pend_interrupt(VCPU * vcpu, uint8_t vector);
 extern void vcpu_load_kernel_regs(VCPU * vcpu);
-extern void vmx_switch_rr7(unsigned long, void *, void *, void *);
+extern void __vmx_switch_rr7(unsigned long rid, void *guest_vhpt,
+                             void *pal_vaddr, void *shared_arch_info);
+extern void vmx_switch_rr7(unsigned long rid, void *guest_vhpt,
+                           void *pal_vaddr, void *shared_arch_info);
 extern void vmx_ia64_set_dcr(VCPU * v);
 extern void inject_guest_interruption(struct vcpu *vcpu, u64 vec);
 extern void vmx_asm_bsw0(void);

-- 

-- 
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>