RE: [PATCH 4/7] x86/hyperv: implement rep hypercalls

From: Jork Loeser
Date: Fri Apr 07 2017 - 15:48:21 EST


> -----Original Message-----
> From: Vitaly Kuznetsov [mailto:vkuznets@xxxxxxxxxx]
> Sent: Friday, April 7, 2017 04:27
> To: devel@xxxxxxxxxxxxxxxxxxxxxx; x86@xxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx; 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>; Steven
> Rostedt <rostedt@xxxxxxxxxxx>; Jork Loeser <Jork.Loeser@xxxxxxxxxxxxx>
> Subject: [PATCH 4/7] x86/hyperv: implement rep hypercalls

> diff --git a/arch/x86/include/asm/mshyperv.h
> b/arch/x86/include/asm/mshyperv.h index 9a5f58b..a2c996b 100644
> --- a/arch/x86/include/asm/mshyperv.h
> +++ b/arch/x86/include/asm/mshyperv.h
> @@ -4,6 +4,7 @@
> #include <linux/types.h>
> #include <linux/interrupt.h>
> #include <linux/clocksource.h>
> +#include <linux/nmi.h>
> #include <asm/hyperv.h>
>
> /*
> @@ -253,6 +254,26 @@ static inline u64 hv_do_fast_hypercall8(u16 code,
> u64 input1) #endif }
>
> +static inline u64 hv_do_rep_hypercall(u16 code, u16 rep_count, void
> *input,
> + void *output)
> +{
> + union hv_hypercall_input hc_input = { .code = code,
> + .rep_count = rep_count};

Is there a way to statically verify the re-count not to exceed 12 bits? Could a dynamic check be justified? Perhaps a function comment?