mirror of https://gitee.com/openkylin/linux.git
KVM: selftests: Fix build for evmcs.h
I got this error when building kvm selftests: /usr/bin/ld: /home/xz/git/linux/tools/testing/selftests/kvm/libkvm.a(vmx.o):/home/xz/git/linux/tools/testing/selftests/kvm/include/evmcs.h:222: multiple definition of `current_evmcs'; /tmp/cco1G48P.o:/home/xz/git/linux/tools/testing/selftests/kvm/include/evmcs.h:222: first defined here /usr/bin/ld: /home/xz/git/linux/tools/testing/selftests/kvm/libkvm.a(vmx.o):/home/xz/git/linux/tools/testing/selftests/kvm/include/evmcs.h:223: multiple definition of `current_vp_assist'; /tmp/cco1G48P.o:/home/xz/git/linux/tools/testing/selftests/kvm/include/evmcs.h:223: first defined here I think it's because evmcs.h is included both in a test file and a lib file so the structs have multiple declarations when linking. After all it's not a good habit to declare structs in the header files. Cc: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <20200504220607.99627-1-peterx@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
139f7425fd
commit
8ffdaf9155
|
@ -219,8 +219,8 @@ struct hv_enlightened_vmcs {
|
|||
#define HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_MASK \
|
||||
(~((1ull << HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_SHIFT) - 1))
|
||||
|
||||
struct hv_enlightened_vmcs *current_evmcs;
|
||||
struct hv_vp_assist_page *current_vp_assist;
|
||||
extern struct hv_enlightened_vmcs *current_evmcs;
|
||||
extern struct hv_vp_assist_page *current_vp_assist;
|
||||
|
||||
int vcpu_enable_evmcs(struct kvm_vm *vm, int vcpu_id);
|
||||
|
||||
|
|
|
@ -17,6 +17,9 @@
|
|||
|
||||
bool enable_evmcs;
|
||||
|
||||
struct hv_enlightened_vmcs *current_evmcs;
|
||||
struct hv_vp_assist_page *current_vp_assist;
|
||||
|
||||
struct eptPageTableEntry {
|
||||
uint64_t readable:1;
|
||||
uint64_t writable:1;
|
||||
|
|
Loading…
Reference in New Issue