On 23/05/18 17:01, Roger Pau Monné wrote:
> 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;
> }
Done.
>
> With the const:
>
> Reviewed-by: Roger Pau Monné <[email protected]>
Thanks,
~Andrew
_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel