On Tue, May 22, 2018 at 12:20:38PM +0100, Andrew Cooper wrote: > diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h > b/xen/include/asm-x86/hvm/vmx/vmcs.h > index 06c3179..c8a1f89 100644 > --- a/xen/include/asm-x86/hvm/vmx/vmcs.h > +++ b/xen/include/asm-x86/hvm/vmx/vmcs.h > @@ -514,9 +514,6 @@ enum vmcs_field { > > #define VMCS_VPID_WIDTH 16 > > -#define VMX_GUEST_MSR 0 > -#define VMX_HOST_MSR 1 > - > /* VM Instruction error numbers */ > enum vmx_insn_errno > { > @@ -534,6 +531,54 @@ enum vmx_insn_errno > VMX_INSN_FAIL_INVALID = ~0, > }; > > +/* MSR load/save list infrastructure. */ > +enum vmx_msr_list_type { > + VMX_MSR_HOST, > + VMX_MSR_GUEST, > +}; > + > +int vmx_add_msr(uint32_t msr, enum vmx_msr_list_type type); > + > +static inline int vmx_add_host_load_msr(uint32_t msr) > +{ > + return vmx_add_msr(msr, VMX_MSR_HOST); > +} > + > +static inline int vmx_add_guest_msr(uint32_t msr) > +{ > + return vmx_add_msr(msr, VMX_MSR_GUEST); > +} > + > +struct vmx_msr_entry *vmx_find_msr(uint32_t msr, enum vmx_msr_list_type > type); > + > +static inline int vmx_read_guest_msr(uint32_t msr, uint64_t *val) > +{ > + struct vmx_msr_entry *ent;
const Also I would probably do: { const struct vmx_msr_entry *ent = vmx_find_msr(msr, VMX_MSR_GUEST); if ( !ent ) return -ESRCH; *val = ent->data; return 0; } With the const: Reviewed-by: Roger Pau Monné <roger....@citrix.com> Thanks, Roger. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel