mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
x86/svm/asid: Introduce svm_invlpga()
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
This commit is contained in:
1 parent
ac904f69e1
commit
a222899f96
2 files changed
+10
-4
No files matched your search
@@ -34,10 +34,7 @@ static inline void svm_asid_g_invlpg(struct vcpu *v, unsigned long g_vaddr)
|
||||
{
|
||||
#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. */
|
||||
|
||||
@@ -60,6 +60,15 @@ static inline void svm_vmsave(void *vmcb)
|
||||
: : "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);
|
||||
|
||||
|
||||