Re: [PATCH v6 25/38] KVM: selftests: Move HYPERV_LINUX_OS_ID definition to a common header

From: Maxim Levitsky
Date: Tue Jun 07 2022 - 06:03:28 EST


On Mon, 2022-06-06 at 10:36 +0200, Vitaly Kuznetsov wrote:
> HYPERV_LINUX_OS_ID needs to be written to HV_X64_MSR_GUEST_OS_ID by
> each Hyper-V specific selftest.
>
> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
> ---
>  tools/testing/selftests/kvm/include/x86_64/hyperv.h  | 3 +++
>  tools/testing/selftests/kvm/x86_64/hyperv_features.c | 5 ++---
>  2 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/tools/testing/selftests/kvm/include/x86_64/hyperv.h b/tools/testing/selftests/kvm/include/x86_64/hyperv.h
> index b66910702c0a..f0a8a93694b2 100644
> --- a/tools/testing/selftests/kvm/include/x86_64/hyperv.h
> +++ b/tools/testing/selftests/kvm/include/x86_64/hyperv.h
> @@ -185,4 +185,7 @@
>  /* hypercall options */
>  #define HV_HYPERCALL_FAST_BIT          BIT(16)
>  
> +/* Proper HV_X64_MSR_GUEST_OS_ID value */
> +#define HYPERV_LINUX_OS_ID ((u64)0x8100 << 48)
> +
>  #endif /* !SELFTEST_KVM_HYPERV_H */
> diff --git a/tools/testing/selftests/kvm/x86_64/hyperv_features.c b/tools/testing/selftests/kvm/x86_64/hyperv_features.c
> index 672915ce73d8..98c020356925 100644
> --- a/tools/testing/selftests/kvm/x86_64/hyperv_features.c
> +++ b/tools/testing/selftests/kvm/x86_64/hyperv_features.c
> @@ -14,7 +14,6 @@
>  #include "hyperv.h"
>  
>  #define VCPU_ID 0
> -#define LINUX_OS_ID ((u64)0x8100 << 48)
>  
>  extern unsigned char rdmsr_start;
>  extern unsigned char rdmsr_end;
> @@ -127,7 +126,7 @@ static void guest_hcall(vm_vaddr_t pgs_gpa, struct hcall_data *hcall)
>         int i = 0;
>         u64 res, input, output;
>  
> -       wrmsr(HV_X64_MSR_GUEST_OS_ID, LINUX_OS_ID);
> +       wrmsr(HV_X64_MSR_GUEST_OS_ID, HYPERV_LINUX_OS_ID);
>         wrmsr(HV_X64_MSR_HYPERCALL, pgs_gpa);
>  
>         while (hcall->control) {
> @@ -230,7 +229,7 @@ static void guest_test_msrs_access(void)
>                          */
>                         msr->idx = HV_X64_MSR_GUEST_OS_ID;
>                         msr->write = 1;
> -                       msr->write_val = LINUX_OS_ID;
> +                       msr->write_val = HYPERV_LINUX_OS_ID;
>                         msr->available = 1;
>                         break;
>                 case 3:
Reviewed-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>

Best regards,
Maxim Levitsky