RE: [PATCH] X86/UAPI: Use __u64 instead of u64 in hyperv.h

From: KY Srinivasan
Date: Tue Feb 20 2018 - 11:48:58 EST




> -----Original Message-----
> From: KarimAllah Ahmed <karahmed@xxxxxxxxx>
> Sent: Monday, February 19, 2018 11:40 PM
> To: linux-kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx;
> x86@xxxxxxxxxx
> Cc: KarimAllah Ahmed <karahmed@xxxxxxxxx>; KY Srinivasan
> <kys@xxxxxxxxxxxxx>; Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; Stephen
> Hemminger <sthemmin@xxxxxxxxxxxxx>; Thomas Gleixner
> <tglx@xxxxxxxxxxxxx>; Ingo Molnar <mingo@xxxxxxxxxx>; H . Peter Anvin
> <hpa@xxxxxxxxx>
> Subject: [PATCH] X86/UAPI: Use __u64 instead of u64 in hyperv.h
>
> ... since u64 has a hidden header dependency that was not there before
> using it (i.e. it breaks our VMM build). Also, __u64 is the right way to
> expose the data type through UAPI.
>
> Fixes: 93286261 ("x86/hyperv: Reenlightenment notifications support")
> Signed-off-by: KarimAllah Ahmed <karahmed@xxxxxxxxx>
> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
> Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> Cc: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: H. Peter Anvin <hpa@xxxxxxxxx>
> Cc: x86@xxxxxxxxxx
> Cc: devel@xxxxxxxxxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx

Acked-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
> ---
> arch/x86/include/uapi/asm/hyperv.h | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/arch/x86/include/uapi/asm/hyperv.h
> b/arch/x86/include/uapi/asm/hyperv.h
> index 197c2e6..0994143 100644
> --- a/arch/x86/include/uapi/asm/hyperv.h
> +++ b/arch/x86/include/uapi/asm/hyperv.h
> @@ -241,24 +241,24 @@
> #define HV_X64_MSR_REENLIGHTENMENT_CONTROL 0x40000106
>
> struct hv_reenlightenment_control {
> - u64 vector:8;
> - u64 reserved1:8;
> - u64 enabled:1;
> - u64 reserved2:15;
> - u64 target_vp:32;
> + __u64 vector:8;
> + __u64 reserved1:8;
> + __u64 enabled:1;
> + __u64 reserved2:15;
> + __u64 target_vp:32;
> };
>
> #define HV_X64_MSR_TSC_EMULATION_CONTROL 0x40000107
> #define HV_X64_MSR_TSC_EMULATION_STATUS 0x40000108
>
> struct hv_tsc_emulation_control {
> - u64 enabled:1;
> - u64 reserved:63;
> + __u64 enabled:1;
> + __u64 reserved:63;
> };
>
> struct hv_tsc_emulation_status {
> - u64 inprogress:1;
> - u64 reserved:63;
> + __u64 inprogress:1;
> + __u64 reserved:63;
> };
>
> #define HV_X64_MSR_HYPERCALL_ENABLE 0x00000001
> --
> 2.7.4