[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH for-4.11 v2 3/3] VMX: check host CR0 before entering guest
While we don't expect CR0 to change behind our backs, cope with this happening, but other than for CR4 also log a (debug) message. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -1676,7 +1676,7 @@ void vmx_vmentry_failure(void) void vmx_do_resume(struct vcpu *v) { bool_t debug_state; - unsigned long host_cr4; + unsigned long host_cr4, host_cr0, cr0; if ( v->arch.hvm_vmx.active_cpu == smp_processor_id() ) vmx_vmcs_reload(v); @@ -1732,6 +1732,15 @@ void vmx_do_resume(struct vcpu *v) if ( host_cr4 != read_cr4() ) __vmwrite(HOST_CR4, read_cr4()); + /* Check host CR0 (its value shouldn't have changed). */ + __vmread(HOST_CR0, &host_cr0); + cr0 = read_cr0(); + if ( host_cr0 != cr0 ) + { + dprintk(XENLOG_ERR, "%pv: CR0 %lx != %lx\n", v, host_cr0, cr0); + __vmwrite(HOST_CR0, cr0); + } + reset_stack_and_jump(vmx_asm_do_vmentry); } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |