KVM: selftests: Move "struct hv_enlightenments" to x86_64/svm.h
[ Upstream commit 381fc63ac0754e05d3921e9d399b89dfdfd2b2e5 ] Move Hyper-V's VMCB "struct hv_enlightenments" to the svm.h header so that the struct can be referenced in "struct vmcb_control_area". Alternatively, a dedicated header for SVM+Hyper-V could be added, a la x86_64/evmcs.h, but it doesn't appear that Hyper-V will end up needing a wholesale replacement for the VMCB. No functional change intended. Signed-off-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20221101145426.251680-3-vkuznets@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Stable-dep-of: e5c972c1fada ("KVM: SVM: Flush Hyper-V TLB when required") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
59ef934fcc
commit
38b091c8a3
@ -58,6 +58,23 @@ enum {
|
||||
INTERCEPT_RDPRU,
|
||||
};
|
||||
|
||||
struct hv_enlightenments {
|
||||
struct __packed hv_enlightenments_control {
|
||||
u32 nested_flush_hypercall:1;
|
||||
u32 msr_bitmap:1;
|
||||
u32 enlightened_npt_tlb: 1;
|
||||
u32 reserved:29;
|
||||
} __packed hv_enlightenments_control;
|
||||
u32 hv_vp_id;
|
||||
u64 hv_vm_id;
|
||||
u64 partition_assist_page;
|
||||
u64 reserved;
|
||||
} __packed;
|
||||
|
||||
/*
|
||||
* Hyper-V uses the software reserved clean bit in VMCB
|
||||
*/
|
||||
#define HV_VMCB_NESTED_ENLIGHTENMENTS (1U << 31)
|
||||
|
||||
struct __attribute__ ((__packed__)) vmcb_control_area {
|
||||
u32 intercept_cr;
|
||||
|
@ -23,24 +23,6 @@
|
||||
|
||||
#define L2_GUEST_STACK_SIZE 256
|
||||
|
||||
struct hv_enlightenments {
|
||||
struct __packed hv_enlightenments_control {
|
||||
u32 nested_flush_hypercall:1;
|
||||
u32 msr_bitmap:1;
|
||||
u32 enlightened_npt_tlb: 1;
|
||||
u32 reserved:29;
|
||||
} __packed hv_enlightenments_control;
|
||||
u32 hv_vp_id;
|
||||
u64 hv_vm_id;
|
||||
u64 partition_assist_page;
|
||||
u64 reserved;
|
||||
} __packed;
|
||||
|
||||
/*
|
||||
* Hyper-V uses the software reserved clean bit in VMCB
|
||||
*/
|
||||
#define HV_VMCB_NESTED_ENLIGHTENMENTS (1U << 31)
|
||||
|
||||
void l2_guest_code(void)
|
||||
{
|
||||
GUEST_SYNC(3);
|
||||
|
Loading…
Reference in New Issue
Block a user