RE: [PATCH] HV: Fix definition of struct hv_vp_assist_page.

From: KY Srinivasan
Date: Wed Jun 06 2018 - 18:41:30 EST


+Allen

> -----Original Message-----
> From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Sent: Wednesday, June 6, 2018 3:18 AM
> To: Tianyu Lan <Tianyu.Lan@xxxxxxxxxxxxx>
> Cc: KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang Zhang
> <haiyangz@xxxxxxxxxxxxx>; Stephen Hemminger
> <sthemmin@xxxxxxxxxxxxx>; mingo@xxxxxxxxxx; hpa@xxxxxxxxx;
> x86@xxxxxxxxxx; vkuznets@xxxxxxxxxx; Alexander Grest
> <Alexander.Grest@xxxxxxxxxxxxx>; devel@xxxxxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] HV: Fix definition of struct hv_vp_assist_page.
>
> On Mon, 21 May 2018, Tianyu Lan wrote:
>
> KY ????

I am looking at the published Hyper-V Top Level Functional Spec now; will get back shortly.
>
> > The struct hv_vp_assist_page was defined incorrectly.
> > The "vtl_control" should be u64[3], "nested_enlightenments_control"
> > should be a u64 and there is 7 reserved bytes following
> "enlighten_vmentry".
> > This patch is to fix it.
> >
> > Signed-off-by: Lan Tianyu <Tianyu.Lan@xxxxxxxxxxxxx>
> > ---
> > arch/x86/include/asm/hyperv-tlfs.h | 9 +++++----
> > 1 file changed, 5 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/x86/include/asm/hyperv-tlfs.h
> b/arch/x86/include/asm/hyperv-tlfs.h
> > index f7be6d03a310..fae0a5431cdd 100644
> > --- a/arch/x86/include/asm/hyperv-tlfs.h
> > +++ b/arch/x86/include/asm/hyperv-tlfs.h
> > @@ -496,10 +496,11 @@ struct hv_timer_message_payload {
> > /* Define virtual processor assist page structure. */
> > struct hv_vp_assist_page {
> > __u32 apic_assist;
> > - __u32 reserved;
> > - __u64 vtl_control[2];
> > - __u64 nested_enlightenments_control[2];
> > - __u32 enlighten_vmentry;
> > + __u32 reserved1;
> > + __u64 vtl_control[3];
> > + __u64 nested_enlightenments_control;
> > + __u8 enlighten_vmentry;
> > + __u8 reserved2[7];
> > __u64 current_nested_vmcs;
> > };
> >
> > --
> > 2.14.3
> >