|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen stable-4.9] x86/hvm: Use SAVE_ALL to construct the cpu_user_regs frame after VMExit
commit f0f7ce5e82b5bd511ef3eed8fe8b8b27a23f4365
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Thu Feb 8 12:12:44 2018 +0100
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Feb 8 12:12:44 2018 +0100
x86/hvm: Use SAVE_ALL to construct the cpu_user_regs frame after VMExit
No practical change.
One side effect in debug builds is that %rbp is inverted in the manner
expected by the stack unwinder to indicate a interrupt frame.
This is part of XSA-254.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx>
master commit: 13682ca8c94bd5612a44f7f1edc1fd8ff675dacb
master date: 2018-01-05 19:57:08 +0000
---
xen/arch/x86/hvm/svm/entry.S | 22 ++++------------------
xen/arch/x86/hvm/vmx/entry.S | 17 ++---------------
2 files changed, 6 insertions(+), 33 deletions(-)
diff --git a/xen/arch/x86/hvm/svm/entry.S b/xen/arch/x86/hvm/svm/entry.S
index a4ab40a..1b2d322 100644
--- a/xen/arch/x86/hvm/svm/entry.S
+++ b/xen/arch/x86/hvm/svm/entry.S
@@ -96,24 +96,10 @@ UNLIKELY_END(svm_trace)
VMRUN
- GET_CURRENT(ax)
- push %rdi
- push %rsi
- push %rdx
- push %rcx
- mov VCPU_svm_vmcb(%rax),%rcx
- push %rax
- push %r8
- push %r9
- push %r10
- push %r11
- push %rbx
- mov %rax,%rbx
- push %rbp
- push %r12
- push %r13
- push %r14
- push %r15
+ SAVE_ALL
+
+ GET_CURRENT(bx)
+ mov VCPU_svm_vmcb(%rbx),%rcx
movb $0,VCPU_svm_vmcb_in_sync(%rbx)
mov VMCB_rax(%rcx),%rax
diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
index 9f1755b..ad23e95 100644
--- a/xen/arch/x86/hvm/vmx/entry.S
+++ b/xen/arch/x86/hvm/vmx/entry.S
@@ -28,23 +28,10 @@
#define VMLAUNCH .byte 0x0f,0x01,0xc2
ENTRY(vmx_asm_vmexit_handler)
- push %rdi
- push %rsi
- push %rdx
- push %rcx
- push %rax
+ SAVE_ALL
+
mov %cr2,%rax
- push %r8
- push %r9
- push %r10
- push %r11
- push %rbx
GET_CURRENT(bx)
- push %rbp
- push %r12
- push %r13
- push %r14
- push %r15
movb $1,VCPU_vmx_launched(%rbx)
mov %rax,VCPU_hvm_guest_cr2(%rbx)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.9
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |