On 31/01/2018 12:11, KarimAllah Ahmed wrote: > On 01/31/2018 05:50 PM, Jim Mattson wrote: >> On Wed, Jan 31, 2018 at 5:10 AM, KarimAllah Ahmed <karahmed@xxxxxxxxx> >> wrote: >> >>> + vmx_disable_intercept_for_msr(vmx->vmcs01.msr_bitmap, >>> MSR_IA32_PRED_CMD, >>> + MSR_TYPE_W); >> >> Why not disable this intercept eagerly, rather than lazily? Unlike >> MSR_IA32_SPEC_CTRL, there is no guest value to save/restore, so there >> is no cost to disabling the intercept if the guest cpuid info declares >> support for it. >> >> >>> + if (to_vmx(vcpu)->save_spec_ctrl_on_exit) { >>> + nested_vmx_disable_intercept_for_msr( >>> + msr_bitmap_l1, msr_bitmap_l0, >>> + MSR_IA32_PRED_CMD, >>> + MSR_TYPE_R); >>> + } >> >> I don't think this should be predicated on >> "to_vmx(vcpu)->save_spec_ctrl_on_exit." Why not just >> "guest_cpuid_has(vcpu, X86_FEATURE_IBPB)"? > > Paolo suggested this on the previous revision because guest_cpuid_has() > would be slow. Sorry, that was for spec_ctrl. Here there's no need to do any kind of conditional check. Paolo >> Also, the final argument to >> nested_vmx_disable_intercept_for_msr should be MSR_TYPE_W rather than >> MSR_TYPE_R. >> > Oops! will fix! > Amazon Development Center Germany GmbH > Berlin - Dresden - Aachen > main office: Krausenstr. 38, 10117 Berlin > Geschaeftsfuehrer: Dr. Ralf Herbrich, Christian Schlaeger > Ust-ID: DE289237879 > Eingetragen am Amtsgericht Charlottenburg HRB 149173 B