.snip..
> @@ -1913,6 +1914,29 @@ static void update_exception_bitmap(struct kvm_vcpu 
> *vcpu)
>  }
>  
>  /*
> + * Check if MSR is intercepted for currently loaded MSR bitmap.
> + */
> +static bool msr_write_intercepted(struct kvm_vcpu *vcpu, u32 msr)
> +{
> +     unsigned long *msr_bitmap;
> +     int f = sizeof(unsigned long);

unsigned int
> +
> +     if (!cpu_has_vmx_msr_bitmap())
> +             return true;
> +
> +     msr_bitmap = to_vmx(vcpu)->loaded_vmcs->msr_bitmap;
> +
> +     if (msr <= 0x1fff) {
> +             return !!test_bit(msr, msr_bitmap + 0x800 / f);
> +     } else if ((msr >= 0xc0000000) && (msr <= 0xc0001fff)) {
> +             msr &= 0x1fff;
> +             return !!test_bit(msr, msr_bitmap + 0xc00 / f);
> +     }
> +
> +     return true;
> +}

with that:

Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>

Reply via email to