This series restructures Hyper-V emulation code such that - most of it lives in hw/ and bears no target-specific dependencies - it's only built when CONFIG_HYPERV=y (default on x86+KVM)
Based-on: 20180921081836.29230-1-rka...@virtuozzo.com Roman Kagan (5): hyperv: split hyperv-proto.h into x86 and arch-independent parts hyperv: make hyperv_vp_index inline hyperv: factor out arch-independent API into hw/hyperv default-configs: collect CONFIG_HYPERV* in hyperv.mak i386: add hyperv-stub for CONFIG_HYPERV=n default-configs/hyperv.mak | 2 + default-configs/i386-softmmu.mak | 2 +- include/hw/hyperv/hyperv-proto.h | 129 +++++++++++++++++++ {target/i386 => include/hw/hyperv}/hyperv.h | 23 ++-- target/i386/hyperv-proto.h | 115 +---------------- target/i386/hyperv.h | 15 +-- {target/i386 => hw/hyperv}/hyperv.c | 79 ++---------- hw/misc/hyperv_testdev.c | 2 +- target/i386/hyperv-stub.c | 33 +++++ target/i386/hyperv.c | 130 +------------------- target/i386/kvm.c | 5 +- hw/Makefile.objs | 1 + hw/hyperv/Makefile.objs | 1 + target/i386/Makefile.objs | 4 +- 14 files changed, 201 insertions(+), 340 deletions(-) create mode 100644 default-configs/hyperv.mak create mode 100644 include/hw/hyperv/hyperv-proto.h copy {target/i386 => include/hw/hyperv}/hyperv.h (59%) copy {target/i386 => hw/hyperv}/hyperv.c (65%) create mode 100644 target/i386/hyperv-stub.c create mode 100644 hw/hyperv/Makefile.objs -- 2.17.1