[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86/svm/asid: Introduce svm_invlpga()
# HG changeset patch # User Christoph Egger <Christoph.Egger@xxxxxxx> # Date 1302700499 -3600 # Node ID 3b2182100ba2fa5c4a3a450e473717e2300aa8f1 # Parent 2284c79b606ac14ef5c5bc2c1cce62188b5bd9ee x86/svm/asid: Introduce svm_invlpga() Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx> --- diff -r 2284c79b606a -r 3b2182100ba2 xen/include/asm-x86/hvm/svm/asid.h --- a/xen/include/asm-x86/hvm/svm/asid.h Wed Apr 13 14:14:32 2011 +0100 +++ b/xen/include/asm-x86/hvm/svm/asid.h Wed Apr 13 14:14:59 2011 +0100 @@ -34,10 +34,7 @@ { #if 0 /* Optimization? */ - asm volatile (".byte 0x0F,0x01,0xDF \n" - : /* output */ - : /* input */ - "a" (g_vaddr), "c"(v->arch.hvm_svm.vmcb->guest_asid) ); + svm_invlpga(g_vaddr, v->arch.hvm_svm.vmcb->guest_asid); #endif /* Safe fallback. Take a new ASID. */ diff -r 2284c79b606a -r 3b2182100ba2 xen/include/asm-x86/hvm/svm/svm.h --- a/xen/include/asm-x86/hvm/svm/svm.h Wed Apr 13 14:14:32 2011 +0100 +++ b/xen/include/asm-x86/hvm/svm/svm.h Wed Apr 13 14:14:59 2011 +0100 @@ -60,6 +60,15 @@ : : "a" (__pa(vmcb)) : "memory" ); } +static inline void svm_invlpga(unsigned long vaddr, uint32_t asid) +{ + asm volatile ( + ".byte 0x0f,0x01,0xdf" + : /* output */ + : /* input */ + "a" (vaddr), "c" (asid)); +} + unsigned long *svm_msrbit(unsigned long *msr_bitmap, uint32_t msr); void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |