Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12:Update
xen.1589
5638eb5a-vmx-improve-vmentry-failure-handling.p...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 5638eb5a-vmx-improve-vmentry-failure-handling.patch of Package xen.1589
# Commit bbcf0b218f64b1e3e2b66b0fbb623f51d9014e81 # Date 2015-11-03 18:14:02 +0100 # Author Andrew Cooper <andrew.cooper3@citrix.com> # Committer Jan Beulich <jbeulich@suse.com> x86/vmx: improvements to vmentry failure handling Combine the almost identical vm_launch_fail() and vm_resume_fail() into a single vmx_vmentry_failure(). Re-save all GPRs so that domain_crash() prints the real register values, rather than the stack frame of the vmx_vmentry_failure() call. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Kevin Tian <kevin.tian@intel.com> --- a/xen/arch/x86/hvm/vmx/entry.S +++ b/xen/arch/x86/hvm/vmx/entry.S @@ -102,14 +102,15 @@ UNLIKELY_END(realmode) /*.Lvmx_resume:*/ VMRESUME - sti - call vm_resume_fail - ud2 + jmp .Lvmx_vmentry_fail .Lvmx_launch: VMLAUNCH + +.Lvmx_vmentry_fail: sti - call vm_launch_fail + SAVE_ALL + call vmx_vmentry_failure ud2 ENTRY(vmx_asm_do_vmentry) --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -1292,21 +1292,14 @@ void vmx_destroy_vmcs(struct vcpu *v) free_xenheap_page(v->arch.hvm_vmx.msr_bitmap); } -void vm_launch_fail(void) +void vmx_vmentry_failure(void) { + struct vcpu *curr = current; unsigned long error; __vmread(VM_INSTRUCTION_ERROR, &error); - printk("<vm_launch_fail> error code %lx\n", error); - domain_crash_synchronous(); -} - -void vm_resume_fail(void) -{ - unsigned long error; - - __vmread(VM_INSTRUCTION_ERROR, &error); - printk("<vm_resume_fail> error code %lx\n", error); + printk(XENLOG_G_ERR "%pv: VM%s error: %#lx\n", + curr, curr->arch.hvm_vmx.launched ? "RESUME" : "LAUNCH", error); domain_crash_synchronous(); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor