[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 5/9] x86/vmx: Improvements to LBR MSR handling
>>> On 27.06.18 at 10:43, <andrew.cooper3@xxxxxxxxxx> wrote: > The main purpose of this patch is to only ever insert the LBR MSRs into the > guest load/save list once, as a future patch wants to change the behaviour of > vmx_add_guest_msr(). > > The repeated processing of lbr_info and the guests MSR load/save list is > redundant, and a guest using LBR itself will have to re-enable > MSR_DEBUGCTL.LBR in its #DB handler, meaning that Xen will repeat this > redundant processing every time the guest gets a debug exception. > > Rename lbr_fixup_enabled to lbr_flags to be a little more generic, and use one > bit to indicate that the MSRs have been inserted into the load/save list. > Shorten the existing FIXUP* identifiers to reduce code volume. > > Furthermore, handing the guest #MC on an error isn't a legitimate action. Two > of the three failure cases are definitely hypervisor bugs, and the third is a > boundary case which shouldn't occur in practice. The guest also won't execute > correctly, so handle errors by cleanly crashing the guest. > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> with one minor remark: > @@ -3097,30 +3098,64 @@ static int vmx_msr_write_intercept(unsigned int msr, > uint64_t msr_content) > if ( vpmu_do_wrmsr(msr, msr_content, supported) ) > break; > } > - if ( msr_content & IA32_DEBUGCTLMSR_LBR ) > + > + /* > + * When a guest first enables LBR, arrange to save and restore the > LBR > + * MSRs and allow the guest direct access. > + * > + * MSR_DEBUGCTL and LBR has existed almost long as MSRs have existed, ... as long as ... Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |