aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/kvm/vmx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/kvm/vmx.c')
-rw-r--r--drivers/kvm/vmx.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index 56c9bcc82836..2d7d638d72d0 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -2268,7 +2268,8 @@ static void vmx_vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
2268 "push %%rdx; push %%rbp;" 2268 "push %%rdx; push %%rbp;"
2269 "push %%rcx \n\t" 2269 "push %%rcx \n\t"
2270#else 2270#else
2271 "pusha; push %%ecx \n\t" 2271 "push %%edx; push %%ebp;"
2272 "push %%ecx \n\t"
2272#endif 2273#endif
2273 ASM_VMX_VMWRITE_RSP_RDX "\n\t" 2274 ASM_VMX_VMWRITE_RSP_RDX "\n\t"
2274 /* Check if vmlaunch of vmresume is needed */ 2275 /* Check if vmlaunch of vmresume is needed */
@@ -2342,9 +2343,8 @@ static void vmx_vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
2342 "mov %%ebp, %c[rbp](%3) \n\t" 2343 "mov %%ebp, %c[rbp](%3) \n\t"
2343 "mov %%cr2, %%eax \n\t" 2344 "mov %%cr2, %%eax \n\t"
2344 "mov %%eax, %c[cr2](%3) \n\t" 2345 "mov %%eax, %c[cr2](%3) \n\t"
2345 "mov (%%esp), %3 \n\t"
2346 2346
2347 "pop %%ecx; popa \n\t" 2347 "pop %%ecx; pop %%ebp; pop %%edx \n\t"
2348#endif 2348#endif
2349 "setbe %0 \n\t" 2349 "setbe %0 \n\t"
2350 : "=q" (vmx->fail) 2350 : "=q" (vmx->fail)
@@ -2372,6 +2372,8 @@ static void vmx_vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
2372#ifdef CONFIG_X86_64 2372#ifdef CONFIG_X86_64
2373 , "rbx", "rdi", "rsi" 2373 , "rbx", "rdi", "rsi"
2374 , "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15" 2374 , "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15"
2375#else
2376 , "ebx", "edi", "rsi"
2375#endif 2377#endif
2376 ); 2378 );
2377 2379