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

[Xen-changelog] [xen-unstable] [IA64] kexec: Add a wrapper to vmx_switch_rr7()



# HG changeset patch
# User Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
# Date 1216696502 -32400
# Node ID b2d2bc30a04bebae9f0762f24c970c0f9d197654
# Parent  7ab45f1a6e83fb56bca18ea9126a1a64d6115293
[IA64] kexec: Add a wrapper to vmx_switch_rr7()

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>
---
 xen/arch/ia64/vmx/vmx_entry.S   |    5 ++---
 xen/arch/ia64/vmx/vmx_vcpu.c    |    6 ++++++
 xen/include/asm-ia64/vmx_vcpu.h |    5 ++++-
 3 files changed, 12 insertions(+), 4 deletions(-)

diff -r 7ab45f1a6e83 -r b2d2bc30a04b xen/arch/ia64/vmx/vmx_entry.S
--- a/xen/arch/ia64/vmx/vmx_entry.S     Tue Jul 22 12:15:02 2008 +0900
+++ b/xen/arch/ia64/vmx/vmx_entry.S     Tue Jul 22 12:15:02 2008 +0900
@@ -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 @@ 1:
        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)
diff -r 7ab45f1a6e83 -r b2d2bc30a04b xen/arch/ia64/vmx/vmx_vcpu.c
--- a/xen/arch/ia64/vmx/vmx_vcpu.c      Tue Jul 22 12:15:02 2008 +0900
+++ b/xen/arch/ia64/vmx/vmx_vcpu.c      Tue Jul 22 12:15:02 2008 +0900
@@ -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;
diff -r 7ab45f1a6e83 -r b2d2bc30a04b xen/include/asm-ia64/vmx_vcpu.h
--- a/xen/include/asm-ia64/vmx_vcpu.h   Tue Jul 22 12:15:02 2008 +0900
+++ b/xen/include/asm-ia64/vmx_vcpu.h   Tue Jul 22 12:15:02 2008 +0900
@@ -103,7 +103,10 @@ extern uint64_t guest_read_vivr(VCPU * v
 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);

_______________________________________________
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®.