[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v1 1/6] vmx: add struct vmx_msr_policy
> From: Sergey Dyasli [mailto:sergey.dyasli@xxxxxxxxxx] > Sent: Monday, June 26, 2017 6:45 PM > > This structure provides a convenient way of accessing contents of > VMX MSRs: every bit value is accessible by its name. Bit names match > existing Xen's definitions as close as possible. > > The structure also contains the bitmap of available MSRs since not all > of them may be available on a particular H/W. > > Signed-off-by: Sergey Dyasli <sergey.dyasli@xxxxxxxxxx> > --- > xen/arch/x86/hvm/vmx/vmcs.c | 47 +++++ > xen/include/asm-x86/hvm/vmx/vmcs.h | 344 > +++++++++++++++++++++++++++++++++++++ > 2 files changed, 391 insertions(+) > > diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c > index 8103b20d29..e6ea197230 100644 > --- a/xen/arch/x86/hvm/vmx/vmcs.c > +++ b/xen/arch/x86/hvm/vmx/vmcs.c > @@ -144,6 +144,14 @@ static void __init vmx_display_features(void) > printk(" - none\n"); > } > > +bool vmx_msr_available(struct vmx_msr_policy *p, uint32_t msr) > +{ > + if ( msr < MSR_IA32_VMX_BASIC || msr > MSR_IA32_VMX_VMFUNC ) > + return 0; > + > + return p->available & (1u << (msr - MSR_IA32_VMX_BASIC)); can you add a BUILD_BUG_ON to detect size of available won't be overloaded? [...] > + > +struct vmx_msr_policy > +{ > + /* > + * Bitmap of readable MSRs, starting from MSR_IA32_VMX_BASIC, > + * derived from contents of MSRs in this structure. > + */ > + uint32_t available; > + > + union { > + uint64_t msr[MSR_IA32_VMX_VMFUNC - MSR_IA32_VMX_BASIC + 1]; > + > + struct { > + /* MSR 0x480 */ use actual MSR name please Thanks Kevin _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |