|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/9] x86/vmx: API improvements for MSR load/save infrastructure
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.pau@xxxxxxxxxx>
Thanks, Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |