[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] VMX: fix/adjust trap injection
>>> On 23.11.15 at 16:01, <andrew.cooper3@xxxxxxxxxx> wrote: > On 23/11/15 12:49, Jan Beulich wrote: >> @@ -1525,6 +1516,16 @@ static void vmx_inject_trap(struct hvm_t >> __restore_debug_registers(curr); >> write_debugreg(6, read_debugreg(6) | DR_STEP); >> } >> + if ( !nestedhvm_vcpu_in_guestmode(curr) || >> + !nvmx_intercepts_exception(curr, TRAP_debug, _trap.error_code) >> ) >> + { >> + unsigned long val; >> + >> + __vmread(GUEST_DR7, &val); >> + __vmwrite(GUEST_DR7, val & ~DR_GENERAL_DETECT); >> + __vmread(GUEST_IA32_DEBUGCTL, &val); >> + __vmwrite(GUEST_IA32_DEBUGCTL, val & ~IA32_DEBUGCTLMSR_LBR); > > Is it worth eliding the __vmwrite's if possible? It will be fewer > VMexits if this Xen is running nested, and ISTR it will avoid slowing > down the vmentry with further consistency checks. I've considered this, but then decided #DB shouldn't really be raised on any fast paths (or such paths become non-fast anyway due to the many exceptions). The code certainly is easier to read without further conditionals. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |