On Fri, Jul 16, 2021 at 1:36 AM Yang Weijiang <weijiang.yang@xxxxxxxxx> wrote: > > From: Like Xu <like.xu@xxxxxxxxxxxxxxx> > > The number of Arch LBR entries available is determined by the value > in host MSR_ARCH_LBR_DEPTH.DEPTH. The supported LBR depth values are > enumerated in CPUID.(EAX=01CH, ECX=0):EAX[7:0]. For each bit "n" set > in this field, the MSR_ARCH_LBR_DEPTH.DEPTH value of "8*(n+1)" is > supported. > > On a guest write to MSR_ARCH_LBR_DEPTH, all LBR entries are reset to 0. > KVM writes guest requested value to the native ARCH_LBR_DEPTH MSR > (this is safe because the two values will be the same) when the Arch LBR > records MSRs are pass-through to the guest. > > Signed-off-by: Like Xu <like.xu@xxxxxxxxxxxxxxx> > Signed-off-by: Yang Weijiang <weijiang.yang@xxxxxxxxx> It might be worth noting that KVM_SET_MSRS cannot be used to emulate a wrmsr instruction in the guest, but maybe that's already implicit. Reviewed-by: Jim Mattson <jmattson@xxxxxxxxxx>