x86/Hyper-V: Fix definition of struct hv_vp_assist_page

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 are 7 reserved bytes
following "enlighten_vmentry". Fix the definition.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Tianyu Lan 2019-08-22 22:30:19 +08:00 committed by Paolo Bonzini
parent e2ada66ec4
commit 7a83247e01
1 changed files with 15 additions and 5 deletions

View File

@ -524,14 +524,24 @@ struct hv_timer_message_payload {
__u64 delivery_time; /* When the message was delivered */ __u64 delivery_time; /* When the message was delivered */
} __packed; } __packed;
struct hv_nested_enlightenments_control {
struct {
__u32 directhypercall:1;
__u32 reserved:31;
} features;
struct {
__u32 reserved;
} hypercallControls;
} __packed;
/* Define virtual processor assist page structure. */ /* Define virtual processor assist page structure. */
struct hv_vp_assist_page { struct hv_vp_assist_page {
__u32 apic_assist; __u32 apic_assist;
__u32 reserved; __u32 reserved1;
__u64 vtl_control[2]; __u64 vtl_control[3];
__u64 nested_enlightenments_control[2]; struct hv_nested_enlightenments_control nested_control;
__u32 enlighten_vmentry; __u8 enlighten_vmentry;
__u32 padding; __u8 reserved2[7];
__u64 current_nested_vmcs; __u64 current_nested_vmcs;
} __packed; } __packed;