All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus
@ 2018-02-06 20:30 Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 01/34] hyperv: ensure VP index equal to QEMU cpu_index Roman Kagan
                   ` (39 more replies)
  0 siblings, 40 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

This is a work-in-progress series with Hyper-V / VMBus device emulation.
It's still very raw but it's testable so I'd appreciate feedback on
whether the design is sound.

This stuff can also be seen at https://src.openvz.org/scm/up/qemu.git.

Current status of the components included:

* Hyper-V infrastructure (SynIC, VP_INDEX, events & messages, etc):
  - works, mostly submission-ready but needs addressing some issues

* VMBus infrastructure (types, vmbus state machine, channel
  communication, etc):
  - works in main scenarios

* SCSI controller:
  - works in main scenarios
  - supports multiqueue
  - iothread-unaware
  - performance competitive to virtio-scsi [*]
  - can be used for booting [**]

* network interface:
  - basic operation only
  - no mac filtering
  - no offloads
  - no multiqueue
  - can be used for booting with limitations [***]

Overall, it's in bad need for documentation, tests, proper patch split.
Migration works but only tested very lightly.

[*] basic measurements with fio rw=randread bs=4k iodepth=256 using
    null-co backend give
    o Windows guests: hv-scsi 10%-30% better than virtio-scsi
    o Linux guests: hv-scsi 10%-20% worse than virtio-scsi
    No performance analysis has been done yet.

[**] patches for SeaBIOS and OVMF can be found at
     https://src.openvz.org/scm/up/seabios.git and
     https://src.openvz.org/scm/up/edk2.git

[***] patches for iPXE can be found at
      https://src.openvz.org/scm/up/ipxe.git, limitations:
      - OVMF is yet unsupported
      - iPXE takes over VMBus state management from SeaBIOS so after
        iPXE failure to boot off hv-net booting off hv-scsi doesn't work

Prerequisites:
 - KVM 4.14+
 - HYPERV_EVENTFD support (in kvm/queue) is optional but recommended for
   better performance

How to use:

# qemu \
    ... \
    -machine ...,accel=kvm,vmbus \
    -cpu ...,hv_vpindex,hv_synic,hv_stimer,(other hv_* recommended),kvm=off \
    -nodefaults \
    ...
    -device hv-scsi,(usual scsi props),(instanceid=<uuid> optional) \
    -drive ... \
    -device scsi-hd,... \
    ...
    -netdev ... \
    -device hv-net,(usual net props),(instanceid=<uuid> optional) \
    ...


Big kudos to Andrey Smetanin and Evgeny Yakovlev for their research and
prototyping.

Andrey Smetanin (1):
  i386: Hyper-V VMBus ACPI DSDT entry

Evgeny Yakovlev (1):
  vmbus: build configuration

Roman Kagan (32):
  hyperv: ensure VP index equal to QEMU cpu_index
  hyperv_testdev: refactor for readability
  hyperv: cosmetic: g_malloc -> g_new
  hyperv: synic: only setup ack notifier if there's a callback
  hyperv: allow passing arbitrary data to sint ack callback
  hyperv: address HvSintRoute by X86CPU pointer
  hyperv: make HvSintRoute reference-counted
  hyperv: qom-ify SynIC
  hyperv: block SynIC use in QEMU in incompatible configurations
  hyperv: make overlay pages for SynIC
  hyperv: add synic message delivery
  hyperv: add synic event flag signaling
  hyperv: process SIGNAL_EVENT hypercall
  hyperv: process POST_MESSAGE hypercall
  hyperv_testdev: add SynIC message and event testmodes
  hyperv: update copyright notices
  [not to commit] import HYPERV_EVENTFD stuff from kernel
  hyperv: add support for KVM_HYPERV_EVENTFD
  vmbus: add vmbus protocol definitions
  vmbus: vmbus implementation
  i386: en/disable vmbus by a machine property
  scsi: add Hyper-V/VMBus SCSI protocol definitions
  scsi: add Hyper-V/VMBus SCSI controller
  hv-scsi: limit the number of requests per notification
  tests: hv-scsi: add start-stop test
  net: add RNDIS definitions
  net: add Hyper-V/VMBus network protocol definitions
  net: add Hyper-V/VMBus net adapter
  hv-net: add .bootindex support
  loader: allow arbitrary basename for fw_cfg file roms
  vmbus: add support for rom files
  hv-net: define default rom file name

 configure                      |   11 +
 Makefile.objs                  |    1 +
 hw/net/hvnet-proto.h           | 1161 +++++++++++++++++++
 hw/net/rndis.h                 |  391 +++++++
 hw/scsi/hvscsi-proto.h         |  150 +++
 include/hw/i386/pc.h           |    8 +
 include/hw/loader.h            |    2 +-
 include/hw/vmbus/vmbus-proto.h |  222 ++++
 include/hw/vmbus/vmbus.h       |  109 ++
 include/sysemu/kvm.h           |    1 +
 linux-headers/linux/kvm.h      |   14 +
 target/i386/hyperv.h           |   40 +-
 accel/kvm/kvm-all.c            |   15 +
 hw/core/loader.c               |   43 +-
 hw/i386/acpi-build.c           |   42 +
 hw/i386/pc.c                   |   34 +
 hw/i386/pc_piix.c              |    5 +
 hw/i386/pc_q35.c               |    5 +
 hw/misc/hyperv_testdev.c       |  267 ++++-
 hw/net/hv-net.c                | 1450 +++++++++++++++++++++++
 hw/scsi/hv-scsi.c              |  403 +++++++
 hw/vmbus/vmbus.c               | 2475 ++++++++++++++++++++++++++++++++++++++++
 target/i386/hyperv.c           |  681 ++++++++++-
 target/i386/kvm.c              |   63 +-
 target/i386/machine.c          |    9 +
 tests/hv-scsi-test.c           |   57 +
 util/qemu-config.c             |    4 +
 hw/Makefile.objs               |    1 +
 hw/net/Makefile.objs           |    2 +
 hw/scsi/Makefile.objs          |    2 +
 hw/scsi/trace-events           |    6 +
 hw/vmbus/Makefile.objs         |    1 +
 hw/vmbus/trace-events          |    8 +
 tests/Makefile.include         |    3 +
 34 files changed, 7561 insertions(+), 125 deletions(-)
 create mode 100644 hw/net/hvnet-proto.h
 create mode 100644 hw/net/rndis.h
 create mode 100644 hw/scsi/hvscsi-proto.h
 create mode 100644 include/hw/vmbus/vmbus-proto.h
 create mode 100644 include/hw/vmbus/vmbus.h
 create mode 100644 hw/net/hv-net.c
 create mode 100644 hw/scsi/hv-scsi.c
 create mode 100644 hw/vmbus/vmbus.c
 create mode 100644 tests/hv-scsi-test.c
 create mode 100644 hw/vmbus/Makefile.objs
 create mode 100644 hw/vmbus/trace-events

-- 
2.14.3

^ permalink raw reply	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 01/34] hyperv: ensure VP index equal to QEMU cpu_index
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 02/34] hyperv_testdev: refactor for readability Roman Kagan
                   ` (38 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Hyper-V identifies vCPUs by Virtual Processor (VP) index which can be
queried by the guest via HV_X64_MSR_VP_INDEX msr.  It is defined by the
spec as a sequential number which can't exceed the maximum number of
vCPUs per VM.

It has to be owned by QEMU in order to preserve it across migration.

However, the initial implementation in KVM didn't allow to set this
msr, and KVM used its own notion of VP index.  Fortunately, the way
vCPUs are created in QEMU/KVM makes it likely that the KVM value is
equal to QEMU cpu_index.

So choose cpu_index as the value for vp_index, and push that to KVM on
kernels that support setting the msr.  On older ones that don't, query
the kernel value and assert that it's in sync with QEMU.

Besides, since handling errors from vCPU init at hotplug time is
impossible, disable vCPU hotplug.

This patch also introduces accessor functions to wrap the mapping
between a vCPU and its vp_index.  Besides, a few variables are renamed
to avoid confusion of vp_index with vcpu_id (== apic_id).

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.h |  5 ++++-
 target/i386/hyperv.c | 16 +++++++++++++---
 target/i386/kvm.c    | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 68 insertions(+), 4 deletions(-)

diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h
index 0c3b562018..82f4757975 100644
--- a/target/i386/hyperv.h
+++ b/target/i386/hyperv.h
@@ -32,11 +32,14 @@ struct HvSintRoute {
 
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
 
-HvSintRoute *kvm_hv_sint_route_create(uint32_t vcpu_id, uint32_t sint,
+HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
                                       HvSintAckClb sint_ack_clb);
 
 void kvm_hv_sint_route_destroy(HvSintRoute *sint_route);
 
 int kvm_hv_sint_route_set_sint(HvSintRoute *sint_route);
 
+uint32_t hyperv_vp_index(X86CPU *cpu);
+X86CPU *hyperv_find_vcpu(uint32_t vp_index);
+
 #endif
diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index a050c9d2d1..c9a4bb539d 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -16,6 +16,16 @@
 #include "hyperv.h"
 #include "hyperv-proto.h"
 
+uint32_t hyperv_vp_index(X86CPU *cpu)
+{
+    return CPU(cpu)->cpu_index;
+}
+
+X86CPU *hyperv_find_vcpu(uint32_t vp_index)
+{
+    return X86_CPU(qemu_get_cpu(vp_index));
+}
+
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit)
 {
     CPUX86State *env = &cpu->env;
@@ -72,7 +82,7 @@ static void kvm_hv_sint_ack_handler(EventNotifier *notifier)
     }
 }
 
-HvSintRoute *kvm_hv_sint_route_create(uint32_t vcpu_id, uint32_t sint,
+HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
                                       HvSintAckClb sint_ack_clb)
 {
     HvSintRoute *sint_route;
@@ -92,7 +102,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vcpu_id, uint32_t sint,
     event_notifier_set_handler(&sint_route->sint_ack_notifier,
                                kvm_hv_sint_ack_handler);
 
-    gsi = kvm_irqchip_add_hv_sint_route(kvm_state, vcpu_id, sint);
+    gsi = kvm_irqchip_add_hv_sint_route(kvm_state, vp_index, sint);
     if (gsi < 0) {
         goto err_gsi;
     }
@@ -105,7 +115,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vcpu_id, uint32_t sint,
     }
     sint_route->gsi = gsi;
     sint_route->sint_ack_clb = sint_ack_clb;
-    sint_route->vcpu_id = vcpu_id;
+    sint_route->vcpu_id = vp_index;
     sint_route->sint = sint;
 
     return sint_route;
diff --git a/target/i386/kvm.c b/target/i386/kvm.c
index ad4b159b28..dfce60e5cf 100644
--- a/target/i386/kvm.c
+++ b/target/i386/kvm.c
@@ -86,6 +86,7 @@ static bool has_msr_hv_hypercall;
 static bool has_msr_hv_crash;
 static bool has_msr_hv_reset;
 static bool has_msr_hv_vpindex;
+static bool is_hv_vpindex_settable;
 static bool has_msr_hv_runtime;
 static bool has_msr_hv_synic;
 static bool has_msr_hv_stimer;
@@ -682,6 +683,43 @@ static int hyperv_handle_properties(CPUState *cs)
     return 0;
 }
 
+static int hyperv_init_vcpu(X86CPU *cpu)
+{
+    if (cpu->hyperv_vpindex && !is_hv_vpindex_settable) {
+        /*
+         * the kernel doesn't support setting vp_index; assert that its value
+         * is in sync
+         */
+        int ret;
+        struct {
+            struct kvm_msrs info;
+            struct kvm_msr_entry entries[1];
+        } msr_data = {
+            .info.nmsrs = 1,
+            .entries[0].index = HV_X64_MSR_VP_INDEX,
+        };
+
+        /*
+         * handling errors from vcpu init at hotplug time is impossible, so
+         * disallow cpu hotplug
+         */
+        MACHINE_GET_CLASS(current_machine)->hot_add_cpu = NULL;
+
+        ret = kvm_vcpu_ioctl(CPU(cpu), KVM_GET_MSRS, &msr_data);
+        if (ret < 0) {
+            return ret;
+        }
+        assert(ret == 1);
+
+        if (msr_data.entries[0].data != hyperv_vp_index(cpu)) {
+            fprintf(stderr, "kernel's vp_index != QEMU's vp_index\n");
+            return -ENXIO;
+        }
+    }
+
+    return 0;
+}
+
 static Error *invtsc_mig_blocker;
 
 #define KVM_MAX_CPUID_ENTRIES  100
@@ -1038,6 +1076,13 @@ int kvm_arch_init_vcpu(CPUState *cs)
         has_msr_tsc_aux = false;
     }
 
+    if (hyperv_enabled(cpu)) {
+        r = hyperv_init_vcpu(cpu);
+        if (r) {
+            goto fail;
+        }
+    }
+
     return 0;
 
  fail:
@@ -1220,6 +1265,8 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
     has_pit_state2 = kvm_check_extension(s, KVM_CAP_PIT_STATE2);
 #endif
 
+    is_hv_vpindex_settable = kvm_check_extension(s, KVM_CAP_HYPERV_VP_INDEX);
+
     ret = kvm_get_supported_msrs(s);
     if (ret < 0) {
         return ret;
@@ -1731,6 +1778,10 @@ static int kvm_put_msrs(X86CPU *cpu, int level)
         if (has_msr_hv_runtime) {
             kvm_msr_entry_add(cpu, HV_X64_MSR_VP_RUNTIME, env->msr_hv_runtime);
         }
+        if (cpu->hyperv_vpindex && has_msr_hv_vpindex &&
+            is_hv_vpindex_settable) {
+            kvm_msr_entry_add(cpu, HV_X64_MSR_VP_INDEX, hyperv_vp_index(cpu));
+        }
         if (cpu->hyperv_synic) {
             int j;
 
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 02/34] hyperv_testdev: refactor for readability
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 01/34] hyperv: ensure VP index equal to QEMU cpu_index Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 03/34] hyperv: cosmetic: g_malloc -> g_new Roman Kagan
                   ` (37 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Make hyperv_testdev slightly easier to follow and enhance in future.
For that, put the hyperv sint routes (wrapped in a helper structure) on
a linked list rather than a fixed-size array.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 hw/misc/hyperv_testdev.c | 114 ++++++++++++++++++++++-------------------------
 1 file changed, 53 insertions(+), 61 deletions(-)

diff --git a/hw/misc/hyperv_testdev.c b/hw/misc/hyperv_testdev.c
index dbd7cdda07..b47af477cb 100644
--- a/hw/misc/hyperv_testdev.c
+++ b/hw/misc/hyperv_testdev.c
@@ -12,6 +12,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/queue.h"
 #include <linux/kvm.h>
 #include "hw/hw.h"
 #include "hw/qdev.h"
@@ -20,12 +21,17 @@
 #include "target/i386/hyperv.h"
 #include "kvm_i386.h"
 
-#define HV_TEST_DEV_MAX_SINT_ROUTES 64
+typedef struct TestSintRoute {
+    QLIST_ENTRY(TestSintRoute) le;
+    uint8_t vpidx;
+    uint8_t sint;
+    HvSintRoute *sint_route;
+} TestSintRoute;
 
 struct HypervTestDev {
     ISADevice parent_obj;
     MemoryRegion sint_control;
-    HvSintRoute *sint_route[HV_TEST_DEV_MAX_SINT_ROUTES];
+    QLIST_HEAD(, TestSintRoute) sint_routes;
 };
 typedef struct HypervTestDev HypervTestDev;
 
@@ -39,88 +45,74 @@ enum {
     HV_TEST_DEV_SINT_ROUTE_SET_SINT
 };
 
-static int alloc_sint_route_index(HypervTestDev *dev)
+static void sint_route_create(HypervTestDev *dev, uint8_t vpidx, uint8_t sint)
 {
-    int i;
+    TestSintRoute *sint_route;
 
-    for (i = 0; i < ARRAY_SIZE(dev->sint_route); i++) {
-        if (dev->sint_route[i] == NULL) {
-            return i;
-        }
-    }
-    return -1;
-}
+    sint_route = g_new0(TestSintRoute, 1);
+    assert(sint_route);
 
-static void free_sint_route_index(HypervTestDev *dev, int i)
-{
-    assert(i >= 0 && i < ARRAY_SIZE(dev->sint_route));
-    dev->sint_route[i] = NULL;
+    sint_route->vpidx = vpidx;
+    sint_route->sint = sint;
+
+    sint_route->sint_route = kvm_hv_sint_route_create(vpidx, sint, NULL);
+    assert(sint_route->sint_route);
+
+    QLIST_INSERT_HEAD(&dev->sint_routes, sint_route, le);
 }
 
-static int find_sint_route_index(HypervTestDev *dev, uint32_t vcpu_id,
-                                 uint32_t sint)
+static TestSintRoute *sint_route_find(HypervTestDev *dev,
+                                      uint8_t vpidx, uint8_t sint)
 {
-    HvSintRoute *sint_route;
-    int i;
+    TestSintRoute *sint_route;
 
-    for (i = 0; i < ARRAY_SIZE(dev->sint_route); i++) {
-        sint_route = dev->sint_route[i];
-        if (sint_route && sint_route->vcpu_id == vcpu_id &&
-            sint_route->sint == sint) {
-            return i;
+    QLIST_FOREACH(sint_route, &dev->sint_routes, le) {
+        if (sint_route->vpidx == vpidx && sint_route->sint == sint) {
+            return sint_route;
         }
     }
-    return -1;
+    assert(false);
+    return NULL;
 }
 
-static void hv_synic_test_dev_control(HypervTestDev *dev, uint32_t ctl,
-                                      uint32_t vcpu_id, uint32_t sint)
+static void sint_route_destroy(HypervTestDev *dev, uint8_t vpidx, uint8_t sint)
 {
-    int i;
-    HvSintRoute *sint_route;
+    TestSintRoute *sint_route;
 
-    switch (ctl) {
-    case HV_TEST_DEV_SINT_ROUTE_CREATE:
-        i = alloc_sint_route_index(dev);
-        assert(i >= 0);
-        sint_route = kvm_hv_sint_route_create(vcpu_id, sint, NULL);
-        assert(sint_route);
-        dev->sint_route[i] = sint_route;
-        break;
-    case HV_TEST_DEV_SINT_ROUTE_DESTROY:
-        i = find_sint_route_index(dev, vcpu_id, sint);
-        assert(i >= 0);
-        sint_route = dev->sint_route[i];
-        kvm_hv_sint_route_destroy(sint_route);
-        free_sint_route_index(dev, i);
-        break;
-    case HV_TEST_DEV_SINT_ROUTE_SET_SINT:
-        i = find_sint_route_index(dev, vcpu_id, sint);
-        assert(i >= 0);
-        sint_route = dev->sint_route[i];
-        kvm_hv_sint_route_set_sint(sint_route);
-        break;
-    default:
-        break;
-    }
+    sint_route = sint_route_find(dev, vpidx, sint);
+    QLIST_REMOVE(sint_route, le);
+    kvm_hv_sint_route_destroy(sint_route->sint_route);
+    g_free(sint_route);
+}
+
+static void sint_route_set_sint(HypervTestDev *dev,
+                                uint8_t vpidx, uint8_t sint)
+{
+    TestSintRoute *sint_route;
+
+    sint_route = sint_route_find(dev, vpidx, sint);
+
+    kvm_hv_sint_route_set_sint(sint_route->sint_route);
 }
 
 static void hv_test_dev_control(void *opaque, hwaddr addr, uint64_t data,
                                 uint32_t len)
 {
     HypervTestDev *dev = HYPERV_TEST_DEV(opaque);
-    uint8_t ctl;
+    uint8_t sint = data & 0xFF;
+    uint8_t vpidx = (data >> 8ULL) & 0xFF;
+    uint8_t ctl = (data >> 16ULL) & 0xFF;
 
-    ctl = (data >> 16ULL) & 0xFF;
     switch (ctl) {
     case HV_TEST_DEV_SINT_ROUTE_CREATE:
+        sint_route_create(dev, vpidx, sint);
+        break;
     case HV_TEST_DEV_SINT_ROUTE_DESTROY:
-    case HV_TEST_DEV_SINT_ROUTE_SET_SINT: {
-        uint8_t sint = data & 0xFF;
-        uint8_t vcpu_id = (data >> 8ULL) & 0xFF;
-        hv_synic_test_dev_control(dev, ctl, vcpu_id, sint);
+        sint_route_destroy(dev, vpidx, sint);
+        break;
+    case HV_TEST_DEV_SINT_ROUTE_SET_SINT:
+        sint_route_set_sint(dev, vpidx, sint);
         break;
-    }
     default:
         break;
     }
@@ -139,7 +131,7 @@ static void hv_test_dev_realizefn(DeviceState *d, Error **errp)
     HypervTestDev *dev = HYPERV_TEST_DEV(d);
     MemoryRegion *io = isa_address_space_io(isa);
 
-    memset(dev->sint_route, 0, sizeof(dev->sint_route));
+    QLIST_INIT(&dev->sint_routes);
     memory_region_init_io(&dev->sint_control, OBJECT(dev),
                           &synic_test_sint_ops, dev,
                           "hyperv-testdev-ctl", 4);
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 03/34] hyperv: cosmetic: g_malloc -> g_new
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 01/34] hyperv: ensure VP index equal to QEMU cpu_index Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 02/34] hyperv_testdev: refactor for readability Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 04/34] hyperv: synic: only setup ack notifier if there's a callback Roman Kagan
                   ` (36 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index c9a4bb539d..e762eac79f 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -88,7 +88,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
     HvSintRoute *sint_route;
     int r, gsi;
 
-    sint_route = g_malloc0(sizeof(*sint_route));
+    sint_route = g_new0(HvSintRoute, 1);
     r = event_notifier_init(&sint_route->sint_set_notifier, false);
     if (r) {
         goto err;
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 04/34] hyperv: synic: only setup ack notifier if there's a callback
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (2 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 03/34] hyperv: cosmetic: g_malloc -> g_new Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 05/34] hyperv: allow passing arbitrary data to sint ack callback Roman Kagan
                   ` (35 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

There's no point setting up an sint ack notifier if no callback is
specified.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.c | 33 +++++++++++++++++++--------------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index e762eac79f..f3ffafa4e9 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -77,15 +77,14 @@ static void kvm_hv_sint_ack_handler(EventNotifier *notifier)
     HvSintRoute *sint_route = container_of(notifier, HvSintRoute,
                                            sint_ack_notifier);
     event_notifier_test_and_clear(notifier);
-    if (sint_route->sint_ack_clb) {
-        sint_route->sint_ack_clb(sint_route);
-    }
+    sint_route->sint_ack_clb(sint_route);
 }
 
 HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
                                       HvSintAckClb sint_ack_clb)
 {
     HvSintRoute *sint_route;
+    EventNotifier *ack_notifier;
     int r, gsi;
 
     sint_route = g_new0(HvSintRoute, 1);
@@ -94,13 +93,15 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
         goto err;
     }
 
-    r = event_notifier_init(&sint_route->sint_ack_notifier, false);
-    if (r) {
-        goto err_sint_set_notifier;
-    }
+    ack_notifier = sint_ack_clb ? &sint_route->sint_ack_notifier : NULL;
+    if (ack_notifier) {
+        r = event_notifier_init(ack_notifier, false);
+        if (r) {
+            goto err_sint_set_notifier;
+        }
 
-    event_notifier_set_handler(&sint_route->sint_ack_notifier,
-                               kvm_hv_sint_ack_handler);
+        event_notifier_set_handler(ack_notifier, kvm_hv_sint_ack_handler);
+    }
 
     gsi = kvm_irqchip_add_hv_sint_route(kvm_state, vp_index, sint);
     if (gsi < 0) {
@@ -109,7 +110,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
 
     r = kvm_irqchip_add_irqfd_notifier_gsi(kvm_state,
                                            &sint_route->sint_set_notifier,
-                                           &sint_route->sint_ack_notifier, gsi);
+                                           ack_notifier, gsi);
     if (r) {
         goto err_irqfd;
     }
@@ -123,8 +124,10 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
 err_irqfd:
     kvm_irqchip_release_virq(kvm_state, gsi);
 err_gsi:
-    event_notifier_set_handler(&sint_route->sint_ack_notifier, NULL);
-    event_notifier_cleanup(&sint_route->sint_ack_notifier);
+    if (ack_notifier) {
+        event_notifier_set_handler(ack_notifier, NULL);
+        event_notifier_cleanup(ack_notifier);
+    }
 err_sint_set_notifier:
     event_notifier_cleanup(&sint_route->sint_set_notifier);
 err:
@@ -139,8 +142,10 @@ void kvm_hv_sint_route_destroy(HvSintRoute *sint_route)
                                           &sint_route->sint_set_notifier,
                                           sint_route->gsi);
     kvm_irqchip_release_virq(kvm_state, sint_route->gsi);
-    event_notifier_set_handler(&sint_route->sint_ack_notifier, NULL);
-    event_notifier_cleanup(&sint_route->sint_ack_notifier);
+    if (sint_route->sint_ack_clb) {
+        event_notifier_set_handler(&sint_route->sint_ack_notifier, NULL);
+        event_notifier_cleanup(&sint_route->sint_ack_notifier);
+    }
     event_notifier_cleanup(&sint_route->sint_set_notifier);
     g_free(sint_route);
 }
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 05/34] hyperv: allow passing arbitrary data to sint ack callback
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (3 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 04/34] hyperv: synic: only setup ack notifier if there's a callback Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 06/34] hyperv: address HvSintRoute by X86CPU pointer Roman Kagan
                   ` (34 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Make sint ack callback accept an opaque pointer, that is stored on
sint_route at creation time.

This allows for more convenient interaction with the callback.

Besides, nothing outside hyperv.c should need to know the layout of
HvSintRoute fields any more so its declaration can be removed from the
header.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.h     | 14 +++-----------
 hw/misc/hyperv_testdev.c |  2 +-
 target/i386/hyperv.c     | 16 ++++++++++++++--
 3 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h
index 82f4757975..93f7300dd6 100644
--- a/target/i386/hyperv.h
+++ b/target/i386/hyperv.h
@@ -19,21 +19,13 @@
 #include "qemu/event_notifier.h"
 
 typedef struct HvSintRoute HvSintRoute;
-typedef void (*HvSintAckClb)(HvSintRoute *sint_route);
-
-struct HvSintRoute {
-    uint32_t sint;
-    uint32_t vcpu_id;
-    int gsi;
-    EventNotifier sint_set_notifier;
-    EventNotifier sint_ack_notifier;
-    HvSintAckClb sint_ack_clb;
-};
+typedef void (*HvSintAckClb)(void *data);
 
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
 
 HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
-                                      HvSintAckClb sint_ack_clb);
+                                      HvSintAckClb sint_ack_clb,
+                                      void *sint_ack_clb_data);
 
 void kvm_hv_sint_route_destroy(HvSintRoute *sint_route);
 
diff --git a/hw/misc/hyperv_testdev.c b/hw/misc/hyperv_testdev.c
index b47af477cb..827a8b1d82 100644
--- a/hw/misc/hyperv_testdev.c
+++ b/hw/misc/hyperv_testdev.c
@@ -55,7 +55,7 @@ static void sint_route_create(HypervTestDev *dev, uint8_t vpidx, uint8_t sint)
     sint_route->vpidx = vpidx;
     sint_route->sint = sint;
 
-    sint_route->sint_route = kvm_hv_sint_route_create(vpidx, sint, NULL);
+    sint_route->sint_route = kvm_hv_sint_route_create(vpidx, sint, NULL, NULL);
     assert(sint_route->sint_route);
 
     QLIST_INSERT_HEAD(&dev->sint_routes, sint_route, le);
diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index f3ffafa4e9..b2416f9a5b 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -16,6 +16,16 @@
 #include "hyperv.h"
 #include "hyperv-proto.h"
 
+struct HvSintRoute {
+    uint32_t sint;
+    uint32_t vcpu_id;
+    int gsi;
+    EventNotifier sint_set_notifier;
+    EventNotifier sint_ack_notifier;
+    HvSintAckClb sint_ack_clb;
+    void *sint_ack_clb_data;
+};
+
 uint32_t hyperv_vp_index(X86CPU *cpu)
 {
     return CPU(cpu)->cpu_index;
@@ -77,11 +87,12 @@ static void kvm_hv_sint_ack_handler(EventNotifier *notifier)
     HvSintRoute *sint_route = container_of(notifier, HvSintRoute,
                                            sint_ack_notifier);
     event_notifier_test_and_clear(notifier);
-    sint_route->sint_ack_clb(sint_route);
+    sint_route->sint_ack_clb(sint_route->sint_ack_clb_data);
 }
 
 HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
-                                      HvSintAckClb sint_ack_clb)
+                                      HvSintAckClb sint_ack_clb,
+                                      void *sint_ack_clb_data)
 {
     HvSintRoute *sint_route;
     EventNotifier *ack_notifier;
@@ -116,6 +127,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
     }
     sint_route->gsi = gsi;
     sint_route->sint_ack_clb = sint_ack_clb;
+    sint_route->sint_ack_clb_data = sint_ack_clb_data;
     sint_route->vcpu_id = vp_index;
     sint_route->sint = sint;
 
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 06/34] hyperv: address HvSintRoute by X86CPU pointer
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (4 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 05/34] hyperv: allow passing arbitrary data to sint ack callback Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 07/34] hyperv: make HvSintRoute reference-counted Roman Kagan
                   ` (33 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Use X86CPU pointer to refer to the respective HvSintRoute instead of
vp_index.  This is more convenient and also paves the way for future
enhancements.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index b2416f9a5b..0ce8a7aa2f 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -18,7 +18,7 @@
 
 struct HvSintRoute {
     uint32_t sint;
-    uint32_t vcpu_id;
+    X86CPU *cpu;
     int gsi;
     EventNotifier sint_set_notifier;
     EventNotifier sint_ack_notifier;
@@ -97,6 +97,12 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
     HvSintRoute *sint_route;
     EventNotifier *ack_notifier;
     int r, gsi;
+    X86CPU *cpu;
+
+    cpu = hyperv_find_vcpu(vp_index);
+    if (!cpu) {
+        return NULL;
+    }
 
     sint_route = g_new0(HvSintRoute, 1);
     r = event_notifier_init(&sint_route->sint_set_notifier, false);
@@ -128,7 +134,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
     sint_route->gsi = gsi;
     sint_route->sint_ack_clb = sint_ack_clb;
     sint_route->sint_ack_clb_data = sint_ack_clb_data;
-    sint_route->vcpu_id = vp_index;
+    sint_route->cpu = cpu;
     sint_route->sint = sint;
 
     return sint_route;
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 07/34] hyperv: make HvSintRoute reference-counted
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (5 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 06/34] hyperv: address HvSintRoute by X86CPU pointer Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC Roman Kagan
                   ` (32 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Multiple entities (e.g. VMBus devices) can use the same SINT route.  To
make their lives easier in maintaining SINT route ownership, make it
reference-counted.  Adjust the respective API names accordingly.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.h     | 10 +++++-----
 hw/misc/hyperv_testdev.c |  4 ++--
 target/i386/hyperv.c     | 25 +++++++++++++++++++++----
 3 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h
index 93f7300dd6..af5fc05ea4 100644
--- a/target/i386/hyperv.h
+++ b/target/i386/hyperv.h
@@ -23,11 +23,11 @@ typedef void (*HvSintAckClb)(void *data);
 
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
 
-HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
-                                      HvSintAckClb sint_ack_clb,
-                                      void *sint_ack_clb_data);
-
-void kvm_hv_sint_route_destroy(HvSintRoute *sint_route);
+HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint,
+                                   HvSintAckClb sint_ack_clb,
+                                   void *sint_ack_clb_data);
+void hyperv_sint_route_ref(HvSintRoute *sint_route);
+void hyperv_sint_route_unref(HvSintRoute *sint_route);
 
 int kvm_hv_sint_route_set_sint(HvSintRoute *sint_route);
 
diff --git a/hw/misc/hyperv_testdev.c b/hw/misc/hyperv_testdev.c
index 827a8b1d82..fa435abbbf 100644
--- a/hw/misc/hyperv_testdev.c
+++ b/hw/misc/hyperv_testdev.c
@@ -55,7 +55,7 @@ static void sint_route_create(HypervTestDev *dev, uint8_t vpidx, uint8_t sint)
     sint_route->vpidx = vpidx;
     sint_route->sint = sint;
 
-    sint_route->sint_route = kvm_hv_sint_route_create(vpidx, sint, NULL, NULL);
+    sint_route->sint_route = hyperv_sint_route_new(vpidx, sint, NULL, NULL);
     assert(sint_route->sint_route);
 
     QLIST_INSERT_HEAD(&dev->sint_routes, sint_route, le);
@@ -81,7 +81,7 @@ static void sint_route_destroy(HypervTestDev *dev, uint8_t vpidx, uint8_t sint)
 
     sint_route = sint_route_find(dev, vpidx, sint);
     QLIST_REMOVE(sint_route, le);
-    kvm_hv_sint_route_destroy(sint_route->sint_route);
+    hyperv_sint_route_unref(sint_route->sint_route);
     g_free(sint_route);
 }
 
diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index 0ce8a7aa2f..4d8ef6f2da 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -24,6 +24,7 @@ struct HvSintRoute {
     EventNotifier sint_ack_notifier;
     HvSintAckClb sint_ack_clb;
     void *sint_ack_clb_data;
+    unsigned refcount;
 };
 
 uint32_t hyperv_vp_index(X86CPU *cpu)
@@ -90,9 +91,9 @@ static void kvm_hv_sint_ack_handler(EventNotifier *notifier)
     sint_route->sint_ack_clb(sint_route->sint_ack_clb_data);
 }
 
-HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
-                                      HvSintAckClb sint_ack_clb,
-                                      void *sint_ack_clb_data)
+HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint,
+                                   HvSintAckClb sint_ack_clb,
+                                   void *sint_ack_clb_data)
 {
     HvSintRoute *sint_route;
     EventNotifier *ack_notifier;
@@ -136,6 +137,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
     sint_route->sint_ack_clb_data = sint_ack_clb_data;
     sint_route->cpu = cpu;
     sint_route->sint = sint;
+    sint_route->refcount = 1;
 
     return sint_route;
 
@@ -154,8 +156,23 @@ err:
     return NULL;
 }
 
-void kvm_hv_sint_route_destroy(HvSintRoute *sint_route)
+void hyperv_sint_route_ref(HvSintRoute *sint_route)
 {
+    sint_route->refcount++;
+}
+
+void hyperv_sint_route_unref(HvSintRoute *sint_route)
+{
+    if (!sint_route) {
+        return;
+    }
+
+    assert(sint_route->refcount > 0);
+
+    if (--sint_route->refcount) {
+        return;
+    }
+
     kvm_irqchip_remove_irqfd_notifier_gsi(kvm_state,
                                           &sint_route->sint_set_notifier,
                                           sint_route->gsi);
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (6 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 07/34] hyperv: make HvSintRoute reference-counted Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 10:45   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 09/34] hyperv: block SynIC use in QEMU in incompatible configurations Roman Kagan
                   ` (31 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Make Hyper-V SynIC a device which is attached as a child to X86CPU.  For
now it only makes SynIC visibile in the qom hierarchy, and maintains its
internal fields in sync with the respecitve msrs of the parent cpu (the
fields will be used in followup patches).

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.h  |   4 ++
 target/i386/hyperv.c  | 111 +++++++++++++++++++++++++++++++++++++++++++++++++-
 target/i386/kvm.c     |  14 ++++++-
 target/i386/machine.c |   9 ++++
 4 files changed, 134 insertions(+), 4 deletions(-)

diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h
index af5fc05ea4..20bbd7bb29 100644
--- a/target/i386/hyperv.h
+++ b/target/i386/hyperv.h
@@ -34,4 +34,8 @@ int kvm_hv_sint_route_set_sint(HvSintRoute *sint_route);
 uint32_t hyperv_vp_index(X86CPU *cpu);
 X86CPU *hyperv_find_vcpu(uint32_t vp_index);
 
+void hyperv_synic_add(X86CPU *cpu);
+void hyperv_synic_reset(X86CPU *cpu);
+void hyperv_synic_update(X86CPU *cpu);
+
 #endif
diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index 4d8ef6f2da..a27d33acb3 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -13,12 +13,27 @@
 
 #include "qemu/osdep.h"
 #include "qemu/main-loop.h"
+#include "qapi/error.h"
+#include "hw/qdev-properties.h"
 #include "hyperv.h"
 #include "hyperv-proto.h"
 
+typedef struct SynICState {
+    DeviceState parent_obj;
+
+    X86CPU *cpu;
+
+    bool enabled;
+    hwaddr msg_page_addr;
+    hwaddr evt_page_addr;
+} SynICState;
+
+#define TYPE_SYNIC "hyperv-synic"
+#define SYNIC(obj) OBJECT_CHECK(SynICState, (obj), TYPE_SYNIC)
+
 struct HvSintRoute {
     uint32_t sint;
-    X86CPU *cpu;
+    SynICState *synic;
     int gsi;
     EventNotifier sint_set_notifier;
     EventNotifier sint_ack_notifier;
@@ -37,6 +52,37 @@ X86CPU *hyperv_find_vcpu(uint32_t vp_index)
     return X86_CPU(qemu_get_cpu(vp_index));
 }
 
+static SynICState *get_synic(X86CPU *cpu)
+{
+    SynICState *synic =
+        SYNIC(object_resolve_path_component(OBJECT(cpu), "synic"));
+    assert(synic);
+    return synic;
+}
+
+static void synic_update_msg_page_addr(SynICState *synic)
+{
+    uint64_t msr = synic->cpu->env.msr_hv_synic_msg_page;
+    hwaddr new_addr = (msr & HV_SIMP_ENABLE) ? (msr & TARGET_PAGE_MASK) : 0;
+
+    synic->msg_page_addr = new_addr;
+}
+
+static void synic_update_evt_page_addr(SynICState *synic)
+{
+    uint64_t msr = synic->cpu->env.msr_hv_synic_evt_page;
+    hwaddr new_addr = (msr & HV_SIEFP_ENABLE) ? (msr & TARGET_PAGE_MASK) : 0;
+
+    synic->evt_page_addr = new_addr;
+}
+
+static void synic_update(SynICState *synic)
+{
+    synic->enabled = synic->cpu->env.msr_hv_synic_control & HV_SYNIC_ENABLE;
+    synic_update_msg_page_addr(synic);
+    synic_update_evt_page_addr(synic);
+}
+
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit)
 {
     CPUX86State *env = &cpu->env;
@@ -65,6 +111,7 @@ int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit)
         default:
             return -1;
         }
+        synic_update(get_synic(cpu));
         return 0;
     case KVM_EXIT_HYPERV_HCALL: {
         uint16_t code;
@@ -95,6 +142,7 @@ HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint,
                                    HvSintAckClb sint_ack_clb,
                                    void *sint_ack_clb_data)
 {
+    SynICState *synic;
     HvSintRoute *sint_route;
     EventNotifier *ack_notifier;
     int r, gsi;
@@ -105,6 +153,8 @@ HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint,
         return NULL;
     }
 
+    synic = get_synic(cpu);
+
     sint_route = g_new0(HvSintRoute, 1);
     r = event_notifier_init(&sint_route->sint_set_notifier, false);
     if (r) {
@@ -135,7 +185,7 @@ HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint,
     sint_route->gsi = gsi;
     sint_route->sint_ack_clb = sint_ack_clb;
     sint_route->sint_ack_clb_data = sint_ack_clb_data;
-    sint_route->cpu = cpu;
+    sint_route->synic = synic;
     sint_route->sint = sint;
     sint_route->refcount = 1;
 
@@ -189,3 +239,60 @@ int kvm_hv_sint_route_set_sint(HvSintRoute *sint_route)
 {
     return event_notifier_set(&sint_route->sint_set_notifier);
 }
+
+static void synic_realize(DeviceState *dev, Error **errp)
+{
+    Object *obj = OBJECT(dev);
+    SynICState *synic = SYNIC(dev);
+
+    synic->cpu = X86_CPU(obj->parent);
+}
+
+static void synic_reset(DeviceState *dev)
+{
+    SynICState *synic = SYNIC(dev);
+    synic_update(synic);
+}
+
+static void synic_class_init(ObjectClass *klass, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(klass);
+
+    dc->realize = synic_realize;
+    dc->reset = synic_reset;
+    dc->user_creatable = false;
+}
+
+void hyperv_synic_add(X86CPU *cpu)
+{
+    Object *obj;
+
+    obj = object_new(TYPE_SYNIC);
+    object_property_add_child(OBJECT(cpu), "synic", obj, &error_abort);
+    object_unref(obj);
+    object_property_set_bool(obj, true, "realized", &error_abort);
+}
+
+void hyperv_synic_reset(X86CPU *cpu)
+{
+    device_reset(DEVICE(get_synic(cpu)));
+}
+
+void hyperv_synic_update(X86CPU *cpu)
+{
+    synic_update(get_synic(cpu));
+}
+
+static const TypeInfo synic_type_info = {
+    .name = TYPE_SYNIC,
+    .parent = TYPE_DEVICE,
+    .instance_size = sizeof(SynICState),
+    .class_init = synic_class_init,
+};
+
+static void synic_register_types(void)
+{
+    type_register_static(&synic_type_info);
+}
+
+type_init(synic_register_types)
diff --git a/target/i386/kvm.c b/target/i386/kvm.c
index dfce60e5cf..84c5cc2131 100644
--- a/target/i386/kvm.c
+++ b/target/i386/kvm.c
@@ -665,8 +665,7 @@ static int hyperv_handle_properties(CPUState *cs)
         env->features[FEAT_HYPERV_EAX] |= HV_VP_RUNTIME_AVAILABLE;
     }
     if (cpu->hyperv_synic) {
-        if (!has_msr_hv_synic ||
-            kvm_vcpu_enable_cap(cs, KVM_CAP_HYPERV_SYNIC, 0)) {
+        if (!has_msr_hv_synic) {
             fprintf(stderr, "Hyper-V SynIC is not supported by kernel\n");
             return -ENOSYS;
         }
@@ -717,6 +716,15 @@ static int hyperv_init_vcpu(X86CPU *cpu)
         }
     }
 
+    if (cpu->hyperv_synic) {
+        if (kvm_vcpu_enable_cap(CPU(cpu), KVM_CAP_HYPERV_SYNIC, 0)) {
+            fprintf(stderr, "failed to enable Hyper-V SynIC\n");
+            return -ENOSYS;
+        }
+
+        hyperv_synic_add(cpu);
+    }
+
     return 0;
 }
 
@@ -1107,6 +1115,8 @@ void kvm_arch_reset_vcpu(X86CPU *cpu)
         for (i = 0; i < ARRAY_SIZE(env->msr_hv_synic_sint); i++) {
             env->msr_hv_synic_sint[i] = HV_SINT_MASKED;
         }
+
+        hyperv_synic_reset(cpu);
     }
 }
 
diff --git a/target/i386/machine.c b/target/i386/machine.c
index 361c05aedf..8c4baa2f79 100644
--- a/target/i386/machine.c
+++ b/target/i386/machine.c
@@ -7,6 +7,7 @@
 #include "hw/i386/pc.h"
 #include "hw/isa/isa.h"
 #include "migration/cpu.h"
+#include "hyperv.h"
 
 #include "sysemu/kvm.h"
 
@@ -653,11 +654,19 @@ static bool hyperv_synic_enable_needed(void *opaque)
     return false;
 }
 
+static int hyperv_synic_post_load(void *opaque, int version_id)
+{
+    X86CPU *cpu = opaque;
+    hyperv_synic_update(cpu);
+    return 0;
+}
+
 static const VMStateDescription vmstate_msr_hyperv_synic = {
     .name = "cpu/msr_hyperv_synic",
     .version_id = 1,
     .minimum_version_id = 1,
     .needed = hyperv_synic_enable_needed,
+    .post_load = hyperv_synic_post_load,
     .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.msr_hv_synic_control, X86CPU),
         VMSTATE_UINT64(env.msr_hv_synic_evt_page, X86CPU),
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 09/34] hyperv: block SynIC use in QEMU in incompatible configurations
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (7 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 10:46   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 10/34] hyperv: make overlay pages for SynIC Roman Kagan
                   ` (30 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Certain configurations do not allow SynIC to be used in QEMU.  In
particular,

- when hyperv_vpindex is off, SINT routes can't be used as they refer to
  the destination vCPU by vp_index

- older KVM (which doesn't expose KVM_CAP_HYPERV_SYNIC2) zeroes out
  SynIC message and event pages on every msr load, breaking migration

OTOH in-KVM users of SynIC -- SynIC timers -- do work in those
configurations, and we shouldn't stop the guest from using them.

To cover both scenarios, introduce a (user-invisible) SynIC property
that disallows to use the SynIC within QEMU but not in KVM.  The
property is clear by default but is set via compat logic for older
machine types.

As a result, when hv_synic and a modern machine type are specified, QEMU
will refuse to run unless vp_index is on and the kernel is recent
enough.  OTOH with older machine types QEMU will fine run against an
older kernel and/or without vp_index enabled but will refuse the in-QEMU
uses of SynIC (e.g. VMBus).

Also a function is added that allows the devices to query the status of
SynIC support across vCPUs.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 include/hw/i386/pc.h |  5 ++++
 target/i386/hyperv.h |  4 ++-
 target/i386/hyperv.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 target/i386/kvm.c    |  8 +++---
 4 files changed, 80 insertions(+), 7 deletions(-)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index bb49165fe0..744f6a20d2 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -352,6 +352,11 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
         .property = "extended-tseg-mbytes",\
         .value    = stringify(0),\
     },\
+    {\
+        .driver   = "hyperv-synic",\
+        .property = "in-kvm-only",\
+        .value    = "on",\
+    },\
 
 #define PC_COMPAT_2_8 \
     HW_COMPAT_2_8 \
diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h
index 20bbd7bb29..249bc15232 100644
--- a/target/i386/hyperv.h
+++ b/target/i386/hyperv.h
@@ -34,8 +34,10 @@ int kvm_hv_sint_route_set_sint(HvSintRoute *sint_route);
 uint32_t hyperv_vp_index(X86CPU *cpu);
 X86CPU *hyperv_find_vcpu(uint32_t vp_index);
 
-void hyperv_synic_add(X86CPU *cpu);
+int hyperv_synic_add(X86CPU *cpu);
 void hyperv_synic_reset(X86CPU *cpu);
 void hyperv_synic_update(X86CPU *cpu);
 
+bool hyperv_synic_usable(void);
+
 #endif
diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index a27d33acb3..933bfe5bcb 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -14,6 +14,7 @@
 #include "qemu/osdep.h"
 #include "qemu/main-loop.h"
 #include "qapi/error.h"
+#include "qemu/error-report.h"
 #include "hw/qdev-properties.h"
 #include "hyperv.h"
 #include "hyperv-proto.h"
@@ -23,6 +24,8 @@ typedef struct SynICState {
 
     X86CPU *cpu;
 
+    bool in_kvm_only;
+
     bool enabled;
     hwaddr msg_page_addr;
     hwaddr evt_page_addr;
@@ -78,6 +81,10 @@ static void synic_update_evt_page_addr(SynICState *synic)
 
 static void synic_update(SynICState *synic)
 {
+    if (synic->in_kvm_only) {
+        return;
+    }
+
     synic->enabled = synic->cpu->env.msr_hv_synic_control & HV_SYNIC_ENABLE;
     synic_update_msg_page_addr(synic);
     synic_update_evt_page_addr(synic);
@@ -154,6 +161,7 @@ HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint,
     }
 
     synic = get_synic(cpu);
+    assert(!synic->in_kvm_only);
 
     sint_route = g_new0(HvSintRoute, 1);
     r = event_notifier_init(&sint_route->sint_set_notifier, false);
@@ -240,17 +248,32 @@ int kvm_hv_sint_route_set_sint(HvSintRoute *sint_route)
     return event_notifier_set(&sint_route->sint_set_notifier);
 }
 
+static Property synic_props[] = {
+    /* user-invisible, only used for compat handling */
+    DEFINE_PROP_BOOL("in-kvm-only", SynICState, in_kvm_only, false),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
 static void synic_realize(DeviceState *dev, Error **errp)
 {
     Object *obj = OBJECT(dev);
     SynICState *synic = SYNIC(dev);
 
+    if (synic->in_kvm_only) {
+        return;
+    }
+
     synic->cpu = X86_CPU(obj->parent);
 }
 
 static void synic_reset(DeviceState *dev)
 {
     SynICState *synic = SYNIC(dev);
+
+    if (synic->in_kvm_only) {
+        return;
+    }
+
     synic_update(synic);
 }
 
@@ -258,19 +281,45 @@ static void synic_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
 
+    dc->props = synic_props;
     dc->realize = synic_realize;
     dc->reset = synic_reset;
     dc->user_creatable = false;
 }
 
-void hyperv_synic_add(X86CPU *cpu)
+int hyperv_synic_add(X86CPU *cpu)
 {
     Object *obj;
+    SynICState *synic;
+    uint32_t synic_cap;
+    int ret;
 
     obj = object_new(TYPE_SYNIC);
     object_property_add_child(OBJECT(cpu), "synic", obj, &error_abort);
     object_unref(obj);
+
+    synic = SYNIC(obj);
+
+    if (!synic->in_kvm_only) {
+        synic_cap = KVM_CAP_HYPERV_SYNIC2;
+        if (!cpu->hyperv_vpindex) {
+            error_report("Hyper-V SynIC requires VP_INDEX support");
+            return -ENOSYS;
+        }
+    } else {
+        /* compat mode: only in-KVM SynIC timers supported */
+        synic_cap = KVM_CAP_HYPERV_SYNIC;
+    }
+
+    ret = kvm_vcpu_enable_cap(CPU(cpu), synic_cap, 0);
+    if (ret) {
+        error_report("failed to enable Hyper-V SynIC in KVM: %s",
+                     strerror(-ret));
+        return ret;
+    }
+
     object_property_set_bool(obj, true, "realized", &error_abort);
+    return 0;
 }
 
 void hyperv_synic_reset(X86CPU *cpu)
@@ -283,6 +332,25 @@ void hyperv_synic_update(X86CPU *cpu)
     synic_update(get_synic(cpu));
 }
 
+bool hyperv_synic_usable(void)
+{
+    CPUState *cs;
+
+    CPU_FOREACH(cs) {
+        X86CPU *cpu = X86_CPU(cs);
+
+        if (!cpu->hyperv_synic) {
+            return false;
+        }
+
+        if (get_synic(cpu)->in_kvm_only) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 static const TypeInfo synic_type_info = {
     .name = TYPE_SYNIC,
     .parent = TYPE_DEVICE,
diff --git a/target/i386/kvm.c b/target/i386/kvm.c
index 84c5cc2131..663501355b 100644
--- a/target/i386/kvm.c
+++ b/target/i386/kvm.c
@@ -717,12 +717,10 @@ static int hyperv_init_vcpu(X86CPU *cpu)
     }
 
     if (cpu->hyperv_synic) {
-        if (kvm_vcpu_enable_cap(CPU(cpu), KVM_CAP_HYPERV_SYNIC, 0)) {
-            fprintf(stderr, "failed to enable Hyper-V SynIC\n");
-            return -ENOSYS;
+        int ret = hyperv_synic_add(cpu);
+        if (ret) {
+            return ret;
         }
-
-        hyperv_synic_add(cpu);
     }
 
     return 0;
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 10/34] hyperv: make overlay pages for SynIC
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (8 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 09/34] hyperv: block SynIC use in QEMU in incompatible configurations Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 11/34] hyperv: add synic message delivery Roman Kagan
                   ` (29 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Per Hyper-V spec, SynIC message and event flag pages are to be
implemented as so called overlay pages.  That is, they are owned by the
hypervisor and, when mapped into the guest physical address space,
overlay the guest physical pages such that

1) the overlaid guest page becomes invisible to the guest CPUs until the
   overlay page is turned off
2) the contents of the overlay page is preserved when it's turned off
   and back on, even at a different address; it's only zeroed at vcpu
   reset

This particular nature of SynIC message and event flag pages is ignored
in the current code, and guest physical pages are used directly instead.
This (mostly) works because the actual guests seem not to depend on the
features listed above.

This patch implements those pages as the spec mandates.

Since the extra RAM regions, which introduce migration incompatibility,
are only added when in_kvm_only == false, no extra compat logic is
necessary.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 64 insertions(+), 6 deletions(-)

diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index 933bfe5bcb..514cd27216 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -16,6 +16,9 @@
 #include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "hw/qdev-properties.h"
+#include "exec/address-spaces.h"
+#include "sysemu/cpus.h"
+#include "migration/vmstate.h"
 #include "hyperv.h"
 #include "hyperv-proto.h"
 
@@ -29,6 +32,10 @@ typedef struct SynICState {
     bool enabled;
     hwaddr msg_page_addr;
     hwaddr evt_page_addr;
+    MemoryRegion msg_page_mr;
+    MemoryRegion evt_page_mr;
+    struct hyperv_message_page *msg_page;
+    struct hyperv_event_flags_page *evt_page;
 } SynICState;
 
 #define TYPE_SYNIC "hyperv-synic"
@@ -68,6 +75,17 @@ static void synic_update_msg_page_addr(SynICState *synic)
     uint64_t msr = synic->cpu->env.msr_hv_synic_msg_page;
     hwaddr new_addr = (msr & HV_SIMP_ENABLE) ? (msr & TARGET_PAGE_MASK) : 0;
 
+    if (new_addr == synic->msg_page_addr) {
+        return;
+    }
+
+    if (synic->msg_page_addr) {
+        memory_region_del_subregion(get_system_memory(), &synic->msg_page_mr);
+    }
+    if (new_addr) {
+        memory_region_add_subregion(get_system_memory(), new_addr,
+                                    &synic->msg_page_mr);
+    }
     synic->msg_page_addr = new_addr;
 }
 
@@ -76,6 +94,17 @@ static void synic_update_evt_page_addr(SynICState *synic)
     uint64_t msr = synic->cpu->env.msr_hv_synic_evt_page;
     hwaddr new_addr = (msr & HV_SIEFP_ENABLE) ? (msr & TARGET_PAGE_MASK) : 0;
 
+    if (new_addr == synic->evt_page_addr) {
+        return;
+    }
+
+    if (synic->evt_page_addr) {
+        memory_region_del_subregion(get_system_memory(), &synic->evt_page_mr);
+    }
+    if (new_addr) {
+        memory_region_add_subregion(get_system_memory(), new_addr,
+                                    &synic->evt_page_mr);
+    }
     synic->evt_page_addr = new_addr;
 }
 
@@ -90,6 +119,15 @@ static void synic_update(SynICState *synic)
     synic_update_evt_page_addr(synic);
 }
 
+
+static void async_synic_update(CPUState *cs, run_on_cpu_data data)
+{
+    SynICState *synic = data.host_ptr;
+    qemu_mutex_lock_iothread();
+    synic_update(synic);
+    qemu_mutex_unlock_iothread();
+}
+
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit)
 {
     CPUX86State *env = &cpu->env;
@@ -100,11 +138,6 @@ int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit)
             return -1;
         }
 
-        /*
-         * For now just track changes in SynIC control and msg/evt pages msr's.
-         * When SynIC messaging/events processing will be added in future
-         * here we will do messages queues flushing and pages remapping.
-         */
         switch (exit->u.synic.msr) {
         case HV_X64_MSR_SCONTROL:
             env->msr_hv_synic_control = exit->u.synic.control;
@@ -118,7 +151,13 @@ int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit)
         default:
             return -1;
         }
-        synic_update(get_synic(cpu));
+        /*
+         * this will run in this cpu thread before it returns to KVM, but in a
+         * safe environment (i.e. when all cpus are quiescent) -- this is
+         * necessary because we're changing memory hierarchy
+         */
+        async_safe_run_on_cpu(CPU(cpu), async_synic_update,
+                              RUN_ON_CPU_HOST_PTR(get_synic(cpu)));
         return 0;
     case KVM_EXIT_HYPERV_HCALL: {
         uint16_t code;
@@ -258,12 +297,29 @@ static void synic_realize(DeviceState *dev, Error **errp)
 {
     Object *obj = OBJECT(dev);
     SynICState *synic = SYNIC(dev);
+    char *msgp_name, *evtp_name;
+    uint32_t vp_index;
 
     if (synic->in_kvm_only) {
         return;
     }
 
     synic->cpu = X86_CPU(obj->parent);
+
+    /* memory region names have to be globally unique */
+    vp_index = hyperv_vp_index(synic->cpu);
+    msgp_name = g_strdup_printf("synic-%u-msg-page", vp_index);
+    evtp_name = g_strdup_printf("synic-%u-evt-page", vp_index);
+
+    memory_region_init_ram(&synic->msg_page_mr, obj, msgp_name,
+                           sizeof(*synic->msg_page), &error_abort);
+    memory_region_init_ram(&synic->evt_page_mr, obj, evtp_name,
+                           sizeof(*synic->evt_page), &error_abort);
+    synic->msg_page = memory_region_get_ram_ptr(&synic->msg_page_mr);
+    synic->evt_page = memory_region_get_ram_ptr(&synic->evt_page_mr);
+
+    g_free(msgp_name);
+    g_free(evtp_name);
 }
 
 static void synic_reset(DeviceState *dev)
@@ -274,6 +330,8 @@ static void synic_reset(DeviceState *dev)
         return;
     }
 
+    memset(synic->msg_page, 0, sizeof(*synic->msg_page));
+    memset(synic->evt_page, 0, sizeof(*synic->evt_page));
     synic_update(synic);
 }
 
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 11/34] hyperv: add synic message delivery
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (9 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 10/34] hyperv: make overlay pages for SynIC Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 10:58   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 12/34] hyperv: add synic event flag signaling Roman Kagan
                   ` (28 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add infrastructure to deliver SynIC messages to the guest SynIC message
page.

Note that KVM also may want to deliver (SynIC timer) messages to the
same message slot.

The problem is that the access to a SynIC message slot is controlled by
the value of its .msg_type field which indicates if the slot is being
owned by the hypervisor (zero) or by the guest (non-zero).

This leaves no room for synchronizing multiple concurrent producers.

The simplest way to deal with this for both KVM and QEMU is to only
deliver messages in the vcpu thread.  KVM already does this; this patch
makes it for QEMU, too.

Specifically,

 - add a function for posting messages, which only copies the message
   into the staging buffer if its free, and schedules a work on the
   corresponding vcpu to actually deliver it to the guest slot;

 - instead of a sint ack callback, set up the sint route with a message
   status callback.  This function is called in a bh whenever there are
   updates to the message slot status: either the vcpu made definitive
   progress delivering the message from the staging buffer (succeeded or
   failed) or the guest issued EOM; the status is passed as an argument
   to the callback.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.h |   7 +--
 target/i386/hyperv.c | 118 ++++++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 111 insertions(+), 14 deletions(-)

diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h
index 249bc15232..df17d9c3b7 100644
--- a/target/i386/hyperv.h
+++ b/target/i386/hyperv.h
@@ -19,13 +19,12 @@
 #include "qemu/event_notifier.h"
 
 typedef struct HvSintRoute HvSintRoute;
-typedef void (*HvSintAckClb)(void *data);
+typedef void (*HvSintMsgCb)(void *data, int status);
 
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
 
 HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint,
-                                   HvSintAckClb sint_ack_clb,
-                                   void *sint_ack_clb_data);
+                                   HvSintMsgCb cb, void *cb_data);
 void hyperv_sint_route_ref(HvSintRoute *sint_route);
 void hyperv_sint_route_unref(HvSintRoute *sint_route);
 
@@ -40,4 +39,6 @@ void hyperv_synic_update(X86CPU *cpu);
 
 bool hyperv_synic_usable(void);
 
+int hyperv_post_msg(HvSintRoute *sint_route, struct hyperv_message *msg);
+
 #endif
diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index 514cd27216..918ba26849 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -47,8 +47,20 @@ struct HvSintRoute {
     int gsi;
     EventNotifier sint_set_notifier;
     EventNotifier sint_ack_notifier;
-    HvSintAckClb sint_ack_clb;
-    void *sint_ack_clb_data;
+
+    HvSintMsgCb msg_cb;
+    void *msg_cb_data;
+    struct hyperv_message *msg;
+    /*
+     * the state of the message staged in .msg:
+     * 0        - the staging area is not in use (after init or message
+     *            successfully delivered to guest)
+     * -EBUSY   - the staging area is being used in vcpu thread
+     * -EAGAIN  - delivery attempt failed due to slot being busy, retry
+     * -EXXXX   - error
+     */
+    int msg_status;
+
     unsigned refcount;
 };
 
@@ -119,6 +131,83 @@ static void synic_update(SynICState *synic)
     synic_update_evt_page_addr(synic);
 }
 
+static void sint_msg_bh(void *opaque)
+{
+    HvSintRoute *sint_route = opaque;
+    int status = sint_route->msg_status;
+    sint_route->msg_status = 0;
+    sint_route->msg_cb(sint_route->msg_cb_data, status);
+    /* drop the reference taken in hyperv_post_msg */
+    hyperv_sint_route_unref(sint_route);
+}
+
+/*
+ * Worker to transfer the message from the staging area into the guest-owned
+ * message page in vcpu context, which guarantees serialization with both KVM
+ * vcpu and the guest cpu.
+ */
+static void cpu_post_msg(CPUState *cs, run_on_cpu_data data)
+{
+    int ret;
+    HvSintRoute *sint_route = data.host_ptr;
+    SynICState *synic = sint_route->synic;
+    struct hyperv_message *dst_msg;
+
+    if (!synic->enabled || !synic->msg_page_addr) {
+        ret = -ENXIO;
+        goto notify;
+    }
+
+    dst_msg = &synic->msg_page->slot[sint_route->sint];
+
+    if (dst_msg->header.message_type != HV_MESSAGE_NONE) {
+        dst_msg->header.message_flags |= HV_MESSAGE_FLAG_PENDING;
+        ret = -EAGAIN;
+    } else {
+        memcpy(dst_msg, sint_route->msg, sizeof(*dst_msg));
+        ret = kvm_hv_sint_route_set_sint(sint_route);
+    }
+
+    memory_region_set_dirty(&synic->msg_page_mr, 0, sizeof(*synic->msg_page));
+
+notify:
+    sint_route->msg_status = ret;
+    /* notify the msg originator of the progress made; if the slot was busy we
+     * set msg_pending flag in it so it will be the guest who will do EOM and
+     * trigger the notification from KVM via sint_ack_notifier */
+    if (ret != -EAGAIN) {
+        aio_bh_schedule_oneshot(qemu_get_aio_context(), sint_msg_bh,
+                                sint_route);
+    }
+}
+
+/*
+ * Post a Hyper-V message to the staging area, for delivery to guest in the
+ * vcpu thread.
+ */
+int hyperv_post_msg(HvSintRoute *sint_route, struct hyperv_message *src_msg)
+{
+    int ret = sint_route->msg_status;
+
+    assert(sint_route->msg_cb);
+
+    if (ret == -EBUSY) {
+        return -EAGAIN;
+    }
+    if (ret) {
+        return ret;
+    }
+
+    sint_route->msg_status = -EBUSY;
+    memcpy(sint_route->msg, src_msg, sizeof(*src_msg));
+
+    /* hold a reference on sint_route until the callback is finished */
+    hyperv_sint_route_ref(sint_route);
+
+    async_run_on_cpu(CPU(sint_route->synic->cpu), cpu_post_msg,
+                     RUN_ON_CPU_HOST_PTR(sint_route));
+    return 0;
+}
 
 static void async_synic_update(CPUState *cs, run_on_cpu_data data)
 {
@@ -176,17 +265,20 @@ int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit)
     }
 }
 
-static void kvm_hv_sint_ack_handler(EventNotifier *notifier)
+static void sint_ack_handler(EventNotifier *notifier)
 {
     HvSintRoute *sint_route = container_of(notifier, HvSintRoute,
                                            sint_ack_notifier);
     event_notifier_test_and_clear(notifier);
-    sint_route->sint_ack_clb(sint_route->sint_ack_clb_data);
+
+    if (sint_route->msg_status == -EAGAIN) {
+        aio_bh_schedule_oneshot(qemu_get_aio_context(), sint_msg_bh,
+                                sint_route);
+    }
 }
 
 HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint,
-                                   HvSintAckClb sint_ack_clb,
-                                   void *sint_ack_clb_data)
+                                   HvSintMsgCb cb, void *cb_data)
 {
     SynICState *synic;
     HvSintRoute *sint_route;
@@ -208,14 +300,16 @@ HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint,
         goto err;
     }
 
-    ack_notifier = sint_ack_clb ? &sint_route->sint_ack_notifier : NULL;
+    ack_notifier = cb ? &sint_route->sint_ack_notifier : NULL;
     if (ack_notifier) {
+        sint_route->msg = g_new(struct hyperv_message, 1);
+
         r = event_notifier_init(ack_notifier, false);
         if (r) {
             goto err_sint_set_notifier;
         }
 
-        event_notifier_set_handler(ack_notifier, kvm_hv_sint_ack_handler);
+        event_notifier_set_handler(ack_notifier, sint_ack_handler);
     }
 
     gsi = kvm_irqchip_add_hv_sint_route(kvm_state, vp_index, sint);
@@ -230,8 +324,8 @@ HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint,
         goto err_irqfd;
     }
     sint_route->gsi = gsi;
-    sint_route->sint_ack_clb = sint_ack_clb;
-    sint_route->sint_ack_clb_data = sint_ack_clb_data;
+    sint_route->msg_cb = cb;
+    sint_route->msg_cb_data = cb_data;
     sint_route->synic = synic;
     sint_route->sint = sint;
     sint_route->refcount = 1;
@@ -244,6 +338,7 @@ err_gsi:
     if (ack_notifier) {
         event_notifier_set_handler(ack_notifier, NULL);
         event_notifier_cleanup(ack_notifier);
+        g_free(sint_route->msg);
     }
 err_sint_set_notifier:
     event_notifier_cleanup(&sint_route->sint_set_notifier);
@@ -274,9 +369,10 @@ void hyperv_sint_route_unref(HvSintRoute *sint_route)
                                           &sint_route->sint_set_notifier,
                                           sint_route->gsi);
     kvm_irqchip_release_virq(kvm_state, sint_route->gsi);
-    if (sint_route->sint_ack_clb) {
+    if (sint_route->msg_cb) {
         event_notifier_set_handler(&sint_route->sint_ack_notifier, NULL);
         event_notifier_cleanup(&sint_route->sint_ack_notifier);
+        g_free(sint_route->msg);
     }
     event_notifier_cleanup(&sint_route->sint_set_notifier);
     g_free(sint_route);
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 12/34] hyperv: add synic event flag signaling
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (10 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 11/34] hyperv: add synic message delivery Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 10:58   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 13/34] hyperv: process SIGNAL_EVENT hypercall Roman Kagan
                   ` (27 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add infrastructure to signal SynIC event flags by atomically setting the
corresponding bit in the event flags page and firing a SINT if
necessary.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.h |  2 ++
 target/i386/hyperv.c | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h
index df17d9c3b7..3d942e5524 100644
--- a/target/i386/hyperv.h
+++ b/target/i386/hyperv.h
@@ -41,4 +41,6 @@ bool hyperv_synic_usable(void);
 
 int hyperv_post_msg(HvSintRoute *sint_route, struct hyperv_message *msg);
 
+int hyperv_set_evt_flag(HvSintRoute *sint_route, unsigned evtno);
+
 #endif
diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index 918ba26849..b557cd5d5d 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -18,6 +18,7 @@
 #include "hw/qdev-properties.h"
 #include "exec/address-spaces.h"
 #include "sysemu/cpus.h"
+#include "qemu/bitops.h"
 #include "migration/vmstate.h"
 #include "hyperv.h"
 #include "hyperv-proto.h"
@@ -209,6 +210,37 @@ int hyperv_post_msg(HvSintRoute *sint_route, struct hyperv_message *src_msg)
     return 0;
 }
 
+/*
+ * Set given event flag for a given sint on a given vcpu, and signal the sint.
+ */
+int hyperv_set_evt_flag(HvSintRoute *sint_route, unsigned evtno)
+{
+    int ret;
+    SynICState *synic = sint_route->synic;
+    unsigned long *flags, set_mask;
+    unsigned set_idx;
+
+    if (evtno > HV_EVENT_FLAGS_COUNT) {
+        return -EINVAL;
+    }
+    if (!synic->enabled || !synic->evt_page_addr) {
+        return -ENXIO;
+    }
+
+    set_idx = BIT_WORD(evtno);
+    set_mask = BIT_MASK(evtno);
+    flags = synic->evt_page->slot[sint_route->sint].flags;
+
+    if ((atomic_fetch_or(&flags[set_idx], set_mask) & set_mask) != set_mask) {
+        memory_region_set_dirty(&synic->evt_page_mr, 0,
+                                sizeof(*synic->evt_page));
+        ret = kvm_hv_sint_route_set_sint(sint_route);
+    } else {
+        ret = 0;
+    }
+    return ret;
+}
+
 static void async_synic_update(CPUState *cs, run_on_cpu_data data)
 {
     SynICState *synic = data.host_ptr;
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 13/34] hyperv: process SIGNAL_EVENT hypercall
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (11 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 12/34] hyperv: add synic event flag signaling Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 14/34] hyperv: process POST_MESSAGE hypercall Roman Kagan
                   ` (26 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add handling of SIGNAL_EVENT hypercall.  For that, provide an interface
to associate an EventNotifier with an event connection number, so that
it's signaled when the SIGNAL_EVENT hypercall with the matching
parameters is called by the guest.

TODO: we should be able to move this to KVM and avoid expensive user
exit just to look up an eventfd by connection number and signal it.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.h |   2 +
 target/i386/hyperv.c | 113 +++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 111 insertions(+), 4 deletions(-)

diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h
index 3d942e5524..4ce41fe314 100644
--- a/target/i386/hyperv.h
+++ b/target/i386/hyperv.h
@@ -43,4 +43,6 @@ int hyperv_post_msg(HvSintRoute *sint_route, struct hyperv_message *msg);
 
 int hyperv_set_evt_flag(HvSintRoute *sint_route, unsigned evtno);
 
+int hyperv_set_evt_notifier(uint32_t conn_id, EventNotifier *notifier);
+
 #endif
diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index b557cd5d5d..9cf1225385 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -19,6 +19,9 @@
 #include "exec/address-spaces.h"
 #include "sysemu/cpus.h"
 #include "qemu/bitops.h"
+#include "qemu/queue.h"
+#include "qemu/rcu.h"
+#include "qemu/rcu_queue.h"
 #include "migration/vmstate.h"
 #include "hyperv.h"
 #include "hyperv-proto.h"
@@ -249,6 +252,106 @@ static void async_synic_update(CPUState *cs, run_on_cpu_data data)
     qemu_mutex_unlock_iothread();
 }
 
+typedef struct EvtHandler {
+    struct rcu_head rcu;
+    QLIST_ENTRY(EvtHandler) le;
+    uint32_t conn_id;
+    EventNotifier *notifier;
+} EvtHandler;
+
+static QLIST_HEAD(, EvtHandler) evt_handlers;
+static QemuMutex handlers_mutex;
+
+static void __attribute__((constructor)) hv_init(void)
+{
+    QLIST_INIT(&evt_handlers);
+    qemu_mutex_init(&handlers_mutex);
+}
+
+int hyperv_set_evt_notifier(uint32_t conn_id, EventNotifier *notifier)
+{
+    int ret;
+    EvtHandler *eh;
+
+    qemu_mutex_lock(&handlers_mutex);
+    QLIST_FOREACH(eh, &evt_handlers, le) {
+        if (eh->conn_id == conn_id) {
+            if (notifier) {
+                ret = -EEXIST;
+            } else {
+                QLIST_REMOVE_RCU(eh, le);
+                g_free_rcu(eh, rcu);
+                ret = 0;
+            }
+            goto unlock;
+        }
+    }
+
+    if (notifier) {
+        eh = g_new(EvtHandler, 1);
+        eh->conn_id = conn_id;
+        eh->notifier = notifier;
+        QLIST_INSERT_HEAD_RCU(&evt_handlers, eh, le);
+        ret = 0;
+    } else {
+        ret = -ENOENT;
+    }
+unlock:
+    qemu_mutex_unlock(&handlers_mutex);
+    return ret;
+}
+
+static uint64_t sigevent_params(hwaddr addr, uint32_t *conn_id)
+{
+    uint64_t ret;
+    hwaddr len;
+    struct hyperv_signal_event_input *msg;
+
+    if (addr & (__alignof__(*msg) - 1)) {
+        return HV_STATUS_INVALID_ALIGNMENT;
+    }
+
+    len = sizeof(*msg);
+    msg = cpu_physical_memory_map(addr, &len, 0);
+    if (len < sizeof(*msg)) {
+        ret = HV_STATUS_INSUFFICIENT_MEMORY;
+    } else {
+        *conn_id = (msg->connection_id & HV_CONNECTION_ID_MASK) +
+            msg->flag_number;
+        ret = 0;
+    }
+    cpu_physical_memory_unmap(msg, len, 0, 0);
+    return ret;
+}
+
+static uint64_t hvcall_signal_event(uint64_t param, bool fast)
+{
+    uint64_t ret;
+    uint32_t conn_id;
+    EvtHandler *eh;
+
+    if (likely(fast)) {
+        conn_id = (param & 0xffffffff) + ((param >> 32) & 0xffff);
+    } else {
+        ret = sigevent_params(param, &conn_id);
+        if (ret) {
+            return ret;
+        }
+    }
+
+    ret = HV_STATUS_INVALID_CONNECTION_ID;
+    rcu_read_lock();
+    QLIST_FOREACH_RCU(eh, &evt_handlers, le) {
+        if (eh->conn_id == conn_id) {
+            event_notifier_set(eh->notifier);
+            ret = 0;
+            break;
+        }
+    }
+    rcu_read_unlock();
+    return ret;
+}
+
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit)
 {
     CPUX86State *env = &cpu->env;
@@ -281,16 +384,18 @@ int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit)
                               RUN_ON_CPU_HOST_PTR(get_synic(cpu)));
         return 0;
     case KVM_EXIT_HYPERV_HCALL: {
-        uint16_t code;
+        uint16_t code = exit->u.hcall.input & 0xffff;
+        bool fast = exit->u.hcall.input & HV_HYPERCALL_FAST;
+        uint64_t param = exit->u.hcall.params[0];
 
-        code  = exit->u.hcall.input & 0xffff;
         switch (code) {
-        case HV_POST_MESSAGE:
         case HV_SIGNAL_EVENT:
+            exit->u.hcall.result = hvcall_signal_event(param, fast);
+            break;
         default:
             exit->u.hcall.result = HV_STATUS_INVALID_HYPERCALL_CODE;
-            return 0;
         }
+        return 0;
     }
     default:
         return -1;
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 14/34] hyperv: process POST_MESSAGE hypercall
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (12 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 13/34] hyperv: process SIGNAL_EVENT hypercall Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 15/34] hyperv_testdev: add SynIC message and event testmodes Roman Kagan
                   ` (25 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add handling of POST_MESSAGE hypercall.  For that, add an interface to
regsiter a handler for the messages arrived from the guest on a
particular connection id (IOW set up a message connection in Hyper-V
speak).

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.h |  5 +++
 target/i386/hyperv.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+)

diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h
index 4ce41fe314..fcc41caf1f 100644
--- a/target/i386/hyperv.h
+++ b/target/i386/hyperv.h
@@ -43,6 +43,11 @@ int hyperv_post_msg(HvSintRoute *sint_route, struct hyperv_message *msg);
 
 int hyperv_set_evt_flag(HvSintRoute *sint_route, unsigned evtno);
 
+struct hyperv_post_message_input;
+typedef uint64_t (*HvMsgHandler)(const struct hyperv_post_message_input *msg,
+                                 void *data);
+int hyperv_set_msg_handler(uint32_t conn_id, HvMsgHandler handler, void *data);
+
 int hyperv_set_evt_notifier(uint32_t conn_id, EventNotifier *notifier);
 
 #endif
diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index 9cf1225385..3dc8a7acb0 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -252,6 +252,14 @@ static void async_synic_update(CPUState *cs, run_on_cpu_data data)
     qemu_mutex_unlock_iothread();
 }
 
+typedef struct MsgHandler {
+    struct rcu_head rcu;
+    QLIST_ENTRY(MsgHandler) le;
+    uint32_t conn_id;
+    HvMsgHandler handler;
+    void *data;
+} MsgHandler;
+
 typedef struct EvtHandler {
     struct rcu_head rcu;
     QLIST_ENTRY(EvtHandler) le;
@@ -259,15 +267,51 @@ typedef struct EvtHandler {
     EventNotifier *notifier;
 } EvtHandler;
 
+static QLIST_HEAD(, MsgHandler) msg_handlers;
 static QLIST_HEAD(, EvtHandler) evt_handlers;
 static QemuMutex handlers_mutex;
 
 static void __attribute__((constructor)) hv_init(void)
 {
+    QLIST_INIT(&msg_handlers);
     QLIST_INIT(&evt_handlers);
     qemu_mutex_init(&handlers_mutex);
 }
 
+int hyperv_set_msg_handler(uint32_t conn_id, HvMsgHandler handler, void *data)
+{
+    int ret;
+    MsgHandler *mh;
+
+    qemu_mutex_lock(&handlers_mutex);
+    QLIST_FOREACH(mh, &msg_handlers, le) {
+        if (mh->conn_id == conn_id) {
+            if (handler) {
+                ret = -EEXIST;
+            } else {
+                QLIST_REMOVE_RCU(mh, le);
+                g_free_rcu(mh, rcu);
+                ret = 0;
+            }
+            goto unlock;
+        }
+    }
+
+    if (handler) {
+        mh = g_new(MsgHandler, 1);
+        mh->conn_id = conn_id;
+        mh->handler = handler;
+        mh->data = data;
+        QLIST_INSERT_HEAD_RCU(&msg_handlers, mh, le);
+        ret = 0;
+    } else {
+        ret = -ENOENT;
+    }
+unlock:
+    qemu_mutex_unlock(&handlers_mutex);
+    return ret;
+}
+
 int hyperv_set_evt_notifier(uint32_t conn_id, EventNotifier *notifier)
 {
     int ret;
@@ -301,6 +345,46 @@ unlock:
     return ret;
 }
 
+static uint64_t hvcall_post_message(uint64_t param, bool fast)
+{
+    uint64_t ret;
+    hwaddr len;
+    struct hyperv_post_message_input *msg;
+    MsgHandler *mh;
+
+    if (fast) {
+        return HV_STATUS_INVALID_HYPERCALL_CODE;
+    }
+    if (param & (__alignof__(*msg) - 1)) {
+        return HV_STATUS_INVALID_ALIGNMENT;
+    }
+
+    len = sizeof(*msg);
+    msg = cpu_physical_memory_map(param, &len, 0);
+    if (len < sizeof(*msg)) {
+        ret = HV_STATUS_INSUFFICIENT_MEMORY;
+        goto unmap;
+    }
+    if (msg->payload_size > sizeof(msg->payload)) {
+        ret = HV_STATUS_INVALID_HYPERCALL_INPUT;
+        goto unmap;
+    }
+
+    ret = HV_STATUS_INVALID_CONNECTION_ID;
+    rcu_read_lock();
+    QLIST_FOREACH_RCU(mh, &msg_handlers, le) {
+        if (mh->conn_id == (msg->connection_id & HV_CONNECTION_ID_MASK)) {
+            ret = mh->handler(msg, mh->data);
+            break;
+        }
+    }
+    rcu_read_unlock();
+
+unmap:
+    cpu_physical_memory_unmap(msg, len, 0, 0);
+    return ret;
+}
+
 static uint64_t sigevent_params(hwaddr addr, uint32_t *conn_id)
 {
     uint64_t ret;
@@ -389,6 +473,9 @@ int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit)
         uint64_t param = exit->u.hcall.params[0];
 
         switch (code) {
+        case HV_POST_MESSAGE:
+            exit->u.hcall.result = hvcall_post_message(param, fast);
+            break;
         case HV_SIGNAL_EVENT:
             exit->u.hcall.result = hvcall_signal_event(param, fast);
             break;
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 15/34] hyperv_testdev: add SynIC message and event testmodes
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (13 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 14/34] hyperv: process POST_MESSAGE hypercall Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 16/34] hyperv: update copyright notices Roman Kagan
                   ` (24 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add testmodes for SynIC messages and events.  The message or event
connection setup / teardown is initiated by the guest via new control
codes written to the test device port.  Then the test connections bounce
the respective operations back to the guest, i.e. the incoming messages
are posted or the incoming events are signaled on the configured vCPUs.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 hw/misc/hyperv_testdev.c | 162 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 161 insertions(+), 1 deletion(-)

diff --git a/hw/misc/hyperv_testdev.c b/hw/misc/hyperv_testdev.c
index fa435abbbf..79077789e1 100644
--- a/hw/misc/hyperv_testdev.c
+++ b/hw/misc/hyperv_testdev.c
@@ -13,12 +13,15 @@
 
 #include "qemu/osdep.h"
 #include "qemu/queue.h"
+#include "qemu/event_notifier.h"
+#include "qemu/main-loop.h"
 #include <linux/kvm.h>
 #include "hw/hw.h"
 #include "hw/qdev.h"
 #include "hw/isa/isa.h"
 #include "sysemu/kvm.h"
 #include "target/i386/hyperv.h"
+#include "target/i386/hyperv-proto.h"
 #include "kvm_i386.h"
 
 typedef struct TestSintRoute {
@@ -28,10 +31,26 @@ typedef struct TestSintRoute {
     HvSintRoute *sint_route;
 } TestSintRoute;
 
+typedef struct TestMsgConn {
+    QLIST_ENTRY(TestMsgConn) le;
+    uint8_t conn_id;
+    HvSintRoute *sint_route;
+    struct hyperv_message msg;
+} TestMsgConn;
+
+typedef struct TestEvtConn {
+    QLIST_ENTRY(TestEvtConn) le;
+    uint8_t conn_id;
+    HvSintRoute *sint_route;
+    EventNotifier notifier;
+} TestEvtConn;
+
 struct HypervTestDev {
     ISADevice parent_obj;
     MemoryRegion sint_control;
     QLIST_HEAD(, TestSintRoute) sint_routes;
+    QLIST_HEAD(, TestMsgConn) msg_conns;
+    QLIST_HEAD(, TestEvtConn) evt_conns;
 };
 typedef struct HypervTestDev HypervTestDev;
 
@@ -42,7 +61,11 @@ typedef struct HypervTestDev HypervTestDev;
 enum {
     HV_TEST_DEV_SINT_ROUTE_CREATE = 1,
     HV_TEST_DEV_SINT_ROUTE_DESTROY,
-    HV_TEST_DEV_SINT_ROUTE_SET_SINT
+    HV_TEST_DEV_SINT_ROUTE_SET_SINT,
+    HV_TEST_DEV_MSG_CONN_CREATE,
+    HV_TEST_DEV_MSG_CONN_DESTROY,
+    HV_TEST_DEV_EVT_CONN_CREATE,
+    HV_TEST_DEV_EVT_CONN_DESTROY,
 };
 
 static void sint_route_create(HypervTestDev *dev, uint8_t vpidx, uint8_t sint)
@@ -95,6 +118,128 @@ static void sint_route_set_sint(HypervTestDev *dev,
     kvm_hv_sint_route_set_sint(sint_route->sint_route);
 }
 
+static void msg_cb(void *data, int status)
+{
+    TestMsgConn *conn = data;
+
+    assert(status == 0 || status == -EAGAIN);
+
+    if (!status) {
+        return;
+    }
+
+    /* no concurrent posting is expected so this should succeed */
+    assert(!hyperv_post_msg(conn->sint_route, &conn->msg));
+}
+
+static uint64_t msg_handler(const struct hyperv_post_message_input *msg,
+                            void *data)
+{
+    int ret;
+    TestMsgConn *conn = data;
+
+    /* post the same message we've got */
+    conn->msg.header.message_type = msg->message_type;
+    assert(msg->payload_size < sizeof(conn->msg.payload));
+    conn->msg.header.payload_size = msg->payload_size;
+    memcpy(&conn->msg.payload, msg->payload, msg->payload_size);
+
+    ret = hyperv_post_msg(conn->sint_route, &conn->msg);
+
+    switch (ret) {
+    case 0:
+        return HV_STATUS_SUCCESS;
+    case -EAGAIN:
+        return HV_STATUS_INSUFFICIENT_BUFFERS;
+    default:
+        return HV_STATUS_INVALID_HYPERCALL_INPUT;
+    }
+}
+
+static void msg_conn_create(HypervTestDev *dev, uint8_t vpidx,
+                            uint8_t sint, uint8_t conn_id)
+{
+    TestMsgConn *conn;
+
+    conn = g_new0(TestMsgConn, 1);
+    assert(conn);
+
+    conn->conn_id = conn_id;
+
+    conn->sint_route = hyperv_sint_route_new(vpidx, sint, msg_cb, conn);
+    assert(conn->sint_route);
+
+    assert(!hyperv_set_msg_handler(conn->conn_id, msg_handler, conn));
+
+    QLIST_INSERT_HEAD(&dev->msg_conns, conn, le);
+}
+
+static void msg_conn_destroy(HypervTestDev *dev, uint8_t conn_id)
+{
+    TestMsgConn *conn;
+
+    QLIST_FOREACH(conn, &dev->msg_conns, le) {
+        if (conn->conn_id == conn_id) {
+            QLIST_REMOVE(conn, le);
+            hyperv_set_msg_handler(conn->conn_id, NULL, NULL);
+            hyperv_sint_route_unref(conn->sint_route);
+            g_free(conn);
+            return;
+        }
+    }
+    assert(false);
+}
+
+static void evt_conn_handler(EventNotifier *notifier)
+{
+    TestEvtConn *conn = container_of(notifier, TestEvtConn, notifier);
+
+    event_notifier_test_and_clear(notifier);
+
+    /* signal the same event flag we've got */
+    assert(!hyperv_set_evt_flag(conn->sint_route, conn->conn_id));
+}
+
+static void evt_conn_create(HypervTestDev *dev, uint8_t vpidx,
+                            uint8_t sint, uint8_t conn_id)
+{
+    TestEvtConn *conn;
+
+    conn = g_new0(TestEvtConn, 1);
+    assert(conn);
+
+    conn->conn_id = conn_id;
+
+    conn->sint_route = hyperv_sint_route_new(vpidx, sint, NULL, NULL);
+    assert(conn->sint_route);
+
+    assert(!event_notifier_init(&conn->notifier, false));
+
+    event_notifier_set_handler(&conn->notifier, evt_conn_handler);
+
+    assert(!hyperv_set_evt_notifier(conn_id, &conn->notifier));
+
+    QLIST_INSERT_HEAD(&dev->evt_conns, conn, le);
+}
+
+static void evt_conn_destroy(HypervTestDev *dev, uint8_t conn_id)
+{
+    TestEvtConn *conn;
+
+    QLIST_FOREACH(conn, &dev->evt_conns, le) {
+        if (conn->conn_id == conn_id) {
+            QLIST_REMOVE(conn, le);
+            hyperv_set_evt_notifier(conn->conn_id, NULL);
+            event_notifier_set_handler(&conn->notifier, NULL);
+            event_notifier_cleanup(&conn->notifier);
+            hyperv_sint_route_unref(conn->sint_route);
+            g_free(conn);
+            return;
+        }
+    }
+    assert(false);
+}
+
 static void hv_test_dev_control(void *opaque, hwaddr addr, uint64_t data,
                                 uint32_t len)
 {
@@ -102,6 +247,7 @@ static void hv_test_dev_control(void *opaque, hwaddr addr, uint64_t data,
     uint8_t sint = data & 0xFF;
     uint8_t vpidx = (data >> 8ULL) & 0xFF;
     uint8_t ctl = (data >> 16ULL) & 0xFF;
+    uint8_t conn_id = (data >> 24ULL) & 0xFF;
 
     switch (ctl) {
     case HV_TEST_DEV_SINT_ROUTE_CREATE:
@@ -113,6 +259,18 @@ static void hv_test_dev_control(void *opaque, hwaddr addr, uint64_t data,
     case HV_TEST_DEV_SINT_ROUTE_SET_SINT:
         sint_route_set_sint(dev, vpidx, sint);
         break;
+    case HV_TEST_DEV_MSG_CONN_CREATE:
+        msg_conn_create(dev, vpidx, sint, conn_id);
+        break;
+    case HV_TEST_DEV_MSG_CONN_DESTROY:
+        msg_conn_destroy(dev, conn_id);
+        break;
+    case HV_TEST_DEV_EVT_CONN_CREATE:
+        evt_conn_create(dev, vpidx, sint, conn_id);
+        break;
+    case HV_TEST_DEV_EVT_CONN_DESTROY:
+        evt_conn_destroy(dev, conn_id);
+        break;
     default:
         break;
     }
@@ -132,6 +290,8 @@ static void hv_test_dev_realizefn(DeviceState *d, Error **errp)
     MemoryRegion *io = isa_address_space_io(isa);
 
     QLIST_INIT(&dev->sint_routes);
+    QLIST_INIT(&dev->msg_conns);
+    QLIST_INIT(&dev->evt_conns);
     memory_region_init_io(&dev->sint_control, OBJECT(dev),
                           &synic_test_sint_ops, dev,
                           "hyperv-testdev-ctl", 4);
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 16/34] hyperv: update copyright notices
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (14 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 15/34] hyperv_testdev: add SynIC message and event testmodes Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 17/34] [not to commit] import HYPERV_EVENTFD stuff from kernel Roman Kagan
                   ` (23 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 target/i386/hyperv.h     | 1 +
 hw/misc/hyperv_testdev.c | 1 +
 target/i386/hyperv.c     | 1 +
 3 files changed, 3 insertions(+)

diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h
index fcc41caf1f..8b7fcd0b48 100644
--- a/target/i386/hyperv.h
+++ b/target/i386/hyperv.h
@@ -2,6 +2,7 @@
  * QEMU KVM Hyper-V support
  *
  * Copyright (C) 2015 Andrey Smetanin <asmetanin@virtuozzo.com>
+ * Copyright (c) 2015-2018 Virtuozzo International GmbH.
  *
  * Authors:
  *  Andrey Smetanin <asmetanin@virtuozzo.com>
diff --git a/hw/misc/hyperv_testdev.c b/hw/misc/hyperv_testdev.c
index 79077789e1..b9e1f1cc74 100644
--- a/hw/misc/hyperv_testdev.c
+++ b/hw/misc/hyperv_testdev.c
@@ -2,6 +2,7 @@
  * QEMU KVM Hyper-V test device to support Hyper-V kvm-unit-tests
  *
  * Copyright (C) 2015 Andrey Smetanin <asmetanin@virtuozzo.com>
+ * Copyright (c) 2015-2018 Virtuozzo International GmbH.
  *
  * Authors:
  *  Andrey Smetanin <asmetanin@virtuozzo.com>
diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index 3dc8a7acb0..e43cbb9322 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -2,6 +2,7 @@
  * QEMU KVM Hyper-V support
  *
  * Copyright (C) 2015 Andrey Smetanin <asmetanin@virtuozzo.com>
+ * Copyright (c) 2015-2018 Virtuozzo International GmbH.
  *
  * Authors:
  *  Andrey Smetanin <asmetanin@virtuozzo.com>
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 17/34] [not to commit] import HYPERV_EVENTFD stuff from kernel
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (15 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 16/34] hyperv: update copyright notices Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 18/34] hyperv: add support for KVM_HYPERV_EVENTFD Roman Kagan
                   ` (22 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Allow to build and test HYPERV_EVENTD until it comes through the regular
kernel headers import.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 linux-headers/linux/kvm.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
index d92c9b2f0e..47100cb6a3 100644
--- a/linux-headers/linux/kvm.h
+++ b/linux-headers/linux/kvm.h
@@ -934,6 +934,7 @@ struct kvm_ppc_resize_hpt {
 #define KVM_CAP_S390_AIS_MIGRATION 150
 #define KVM_CAP_PPC_GET_CPU_CHAR 151
 #define KVM_CAP_S390_BPB 152
+#define KVM_CAP_HYPERV_EVENTFD 153
 
 #ifdef KVM_CAP_IRQ_ROUTING
 
@@ -1363,6 +1364,9 @@ struct kvm_s390_ucas_mapping {
 #define KVM_S390_GET_CMMA_BITS      _IOWR(KVMIO, 0xb8, struct kvm_s390_cmma_log)
 #define KVM_S390_SET_CMMA_BITS      _IOW(KVMIO, 0xb9, struct kvm_s390_cmma_log)
 
+/* Available with KVM_CAP_HYPERV_EVENTFD */
+#define KVM_HYPERV_EVENTFD        _IOW(KVMIO,  0xbd, struct kvm_hyperv_eventfd)
+
 #define KVM_DEV_ASSIGN_ENABLE_IOMMU	(1 << 0)
 #define KVM_DEV_ASSIGN_PCI_2_3		(1 << 1)
 #define KVM_DEV_ASSIGN_MASK_INTX	(1 << 2)
@@ -1423,4 +1427,14 @@ struct kvm_assigned_msix_entry {
 #define KVM_ARM_DEV_EL1_PTIMER		(1 << 1)
 #define KVM_ARM_DEV_PMU			(1 << 2)
 
+struct kvm_hyperv_eventfd {
+	__u32 conn_id;
+	__s32 fd;
+	__u32 flags;
+	__u32 padding[3];
+};
+
+#define KVM_HYPERV_CONN_ID_MASK		0x00ffffff
+#define KVM_HYPERV_EVENTFD_DEASSIGN	(1 << 0)
+
 #endif /* __LINUX_KVM_H */
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 18/34] hyperv: add support for KVM_HYPERV_EVENTFD
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (16 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 17/34] [not to commit] import HYPERV_EVENTFD stuff from kernel Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 11:01   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 19/34] vmbus: add vmbus protocol definitions Roman Kagan
                   ` (21 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

When setting up a notifier for Hyper-V event connection, attempt to use
the KVM-assisted one first, and fall back to userspace handling of the
hypercall if the kernel doesn't provide the requested feature.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 include/sysemu/kvm.h |  1 +
 accel/kvm/kvm-all.c  | 15 +++++++++++++++
 target/i386/hyperv.c | 21 ++++++++++++++++++++-
 3 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index bbf12a1723..70ad0a54b7 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -496,6 +496,7 @@ void kvm_irqchip_set_qemuirq_gsi(KVMState *s, qemu_irq irq, int gsi);
 void kvm_pc_gsi_handler(void *opaque, int n, int level);
 void kvm_pc_setup_irq_routing(bool pci_enabled);
 void kvm_init_irq_routing(KVMState *s);
+int kvm_set_hv_event_notifier(KVMState *s, uint32_t conn_id, EventNotifier *n);
 
 /**
  * kvm_arch_irqchip_create:
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index f290f487a5..c3ba87b701 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -1423,6 +1423,21 @@ static void kvm_irqchip_create(MachineState *machine, KVMState *s)
     s->gsimap = g_hash_table_new(g_direct_hash, g_direct_equal);
 }
 
+int kvm_set_hv_event_notifier(KVMState *s, uint32_t conn_id, EventNotifier *n)
+{
+    struct kvm_hyperv_eventfd hvevfd = {
+        .conn_id = conn_id,
+        .fd = n ? event_notifier_get_fd(n) : -1,
+        .flags = n ? 0 : KVM_HYPERV_EVENTFD_DEASSIGN,
+    };
+
+    if (!kvm_check_extension(s, KVM_CAP_HYPERV_EVENTFD)) {
+        return -ENOSYS;
+    }
+
+    return kvm_vm_ioctl(s, KVM_HYPERV_EVENTFD, &hvevfd);
+}
+
 /* Find number of supported CPUs using the recommended
  * procedure from the kernel API documentation to cope with
  * older kernels that may be missing capabilities.
diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
index e43cbb9322..63dcb23fa8 100644
--- a/target/i386/hyperv.c
+++ b/target/i386/hyperv.c
@@ -313,7 +313,8 @@ unlock:
     return ret;
 }
 
-int hyperv_set_evt_notifier(uint32_t conn_id, EventNotifier *notifier)
+static int hyperv_set_evt_notifier_userspace(uint32_t conn_id,
+                                             EventNotifier *notifier)
 {
     int ret;
     EvtHandler *eh;
@@ -346,6 +347,24 @@ unlock:
     return ret;
 }
 
+static bool hv_evt_notifier_userspace;
+
+int hyperv_set_evt_notifier(uint32_t conn_id, EventNotifier *notifier)
+{
+    if (!hv_evt_notifier_userspace) {
+        int ret = kvm_set_hv_event_notifier(kvm_state, conn_id, notifier);
+        if (ret != -ENOSYS) {
+            return ret;
+        }
+
+        hv_evt_notifier_userspace = true;
+        warn_report("Hyper-V event signaling in KVM not supported; "
+                    "using slower userspace hypercall processing");
+    }
+
+    return hyperv_set_evt_notifier_userspace(conn_id, notifier);
+}
+
 static uint64_t hvcall_post_message(uint64_t param, bool fast)
 {
     uint64_t ret;
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 19/34] vmbus: add vmbus protocol definitions
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (17 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 18/34] hyperv: add support for KVM_HYPERV_EVENTFD Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 11:02   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 20/34] vmbus: vmbus implementation Roman Kagan
                   ` (20 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add a header with data structures and constants used in Hyper-V VMBus
hypervisor <-> guest interactions.

Based on the respective stuff from Linux kernel.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 include/hw/vmbus/vmbus-proto.h | 222 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 222 insertions(+)
 create mode 100644 include/hw/vmbus/vmbus-proto.h

diff --git a/include/hw/vmbus/vmbus-proto.h b/include/hw/vmbus/vmbus-proto.h
new file mode 100644
index 0000000000..1a60309650
--- /dev/null
+++ b/include/hw/vmbus/vmbus-proto.h
@@ -0,0 +1,222 @@
+/*
+ * QEMU Hyper-V VMBus support
+ *
+ * Copyright (c) 2017-2018 Virtuozzo International GmbH.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#ifndef _INCLUDE_HYPERV_VMBUS_H_
+#define _INCLUDE_HYPERV_VMBUS_H_
+
+#define VMBUS_VERSION_WS2008                    ((0 << 16) | (13))
+#define VMBUS_VERSION_WIN7                      ((1 << 16) | (1))
+#define VMBUS_VERSION_WIN8                      ((2 << 16) | (4))
+#define VMBUS_VERSION_WIN8_1                    ((3 << 16) | (0))
+#define VMBUS_VERSION_WIN10                     ((4 << 16) | (0))
+#define VMBUS_VERSION_INVAL                     -1
+#define VMBUS_VERSION_CURRENT                   VMBUS_VERSION_WIN10
+
+#define VMBUS_MESSAGE_CONNECTION_ID             1
+#define VMBUS_EVENT_CONNECTION_ID               2
+#define VMBUS_MONITOR_CONNECTION_ID             3
+#define VMBUS_SINT                              2
+
+#define VMBUS_MSG_INVALID               0
+#define VMBUS_MSG_OFFERCHANNEL          1
+#define VMBUS_MSG_RESCIND_CHANNELOFFER  2
+#define VMBUS_MSG_REQUESTOFFERS         3
+#define VMBUS_MSG_ALLOFFERS_DELIVERED   4
+#define VMBUS_MSG_OPENCHANNEL           5
+#define VMBUS_MSG_OPENCHANNEL_RESULT    6
+#define VMBUS_MSG_CLOSECHANNEL          7
+#define VMBUS_MSG_GPADL_HEADER          8
+#define VMBUS_MSG_GPADL_BODY            9
+#define VMBUS_MSG_GPADL_CREATED         10
+#define VMBUS_MSG_GPADL_TEARDOWN        11
+#define VMBUS_MSG_GPADL_TORNDOWN        12
+#define VMBUS_MSG_RELID_RELEASED        13
+#define VMBUS_MSG_INITIATE_CONTACT      14
+#define VMBUS_MSG_VERSION_RESPONSE      15
+#define VMBUS_MSG_UNLOAD                16
+#define VMBUS_MSG_UNLOAD_RESPONSE       17
+#define VMBUS_MSG_COUNT                 18
+
+#define VMBUS_MESSAGE_SIZE_ALIGN        sizeof(uint64_t)
+
+#define VMBUS_PACKET_INVALID                    0x0
+#define VMBUS_PACKET_SYNCH                      0x1
+#define VMBUS_PACKET_ADD_XFER_PAGESET           0x2
+#define VMBUS_PACKET_RM_XFER_PAGESET            0x3
+#define VMBUS_PACKET_ESTABLISH_GPADL            0x4
+#define VMBUS_PACKET_TEARDOWN_GPADL             0x5
+#define VMBUS_PACKET_DATA_INBAND                0x6
+#define VMBUS_PACKET_DATA_USING_XFER_PAGES      0x7
+#define VMBUS_PACKET_DATA_USING_GPADL           0x8
+#define VMBUS_PACKET_DATA_USING_GPA_DIRECT      0x9
+#define VMBUS_PACKET_CANCEL_REQUEST             0xa
+#define VMBUS_PACKET_COMP                       0xb
+#define VMBUS_PACKET_DATA_USING_ADDITIONAL_PKT  0xc
+#define VMBUS_PACKET_ADDITIONAL_DATA            0xd
+
+#define VMBUS_CHANNEL_USER_DATA_SIZE            120
+
+#define VMBUS_OFFER_MONITOR_ALLOCATED           0x1
+#define VMBUS_OFFER_INTERRUPT_DEDICATED         0x1
+
+#define VMBUS_RING_BUFFER_FEAT_PENDING_SZ       (1ul << 0)
+
+#define VMBUS_CHANNEL_ENUMERATE_DEVICE_INTERFACE      0x1
+#define VMBUS_CHANNEL_SERVER_SUPPORTS_TRANSFER_PAGES  0x2
+#define VMBUS_CHANNEL_SERVER_SUPPORTS_GPADLS          0x4
+#define VMBUS_CHANNEL_NAMED_PIPE_MODE                 0x10
+#define VMBUS_CHANNEL_LOOPBACK_OFFER                  0x100
+#define VMBUS_CHANNEL_PARENT_OFFER                    0x200
+#define VMBUS_CHANNEL_REQUEST_MONITORED_NOTIFICATION  0x400
+#define VMBUS_CHANNEL_TLNPI_PROVIDER_OFFER            0x2000
+
+#define VMBUS_PACKET_FLAG_REQUEST_COMPLETION    1
+
+typedef struct vmbus_message_header {
+    uint32_t message_type;
+    uint32_t _padding;
+} vmbus_message_header;
+
+typedef struct vmbus_message_initiate_contact {
+    vmbus_message_header header;
+    uint32_t version_requested;
+    uint32_t target_vcpu;
+    uint64_t interrupt_page;
+    uint64_t monitor_page1;
+    uint64_t monitor_page2;
+} vmbus_message_initiate_contact;
+
+typedef struct vmbus_message_version_response {
+    vmbus_message_header header;
+    uint8_t version_supported;
+    uint8_t status;
+} vmbus_message_version_response;
+
+typedef struct vmbus_message_offer_channel {
+    vmbus_message_header header;
+    uint8_t  type_uuid[16];
+    uint8_t  instance_uuid[16];
+    uint64_t _reserved1;
+    uint64_t _reserved2;
+    uint16_t channel_flags;
+    uint16_t mmio_size_mb;
+    uint8_t  user_data[VMBUS_CHANNEL_USER_DATA_SIZE];
+    uint16_t sub_channel_index;
+    uint16_t _reserved3;
+    uint32_t child_relid;
+    uint8_t  monitor_id;
+    uint8_t  monitor_flags;      // VMBUS_OFFER_MONITOR_*
+    uint16_t interrupt_flags;    // VMBUS_OFFER_INTERRUPT_*
+    uint32_t connection_id;
+} vmbus_message_offer_channel;
+
+typedef struct vmbus_message_rescind_channel_offer {
+    vmbus_message_header header;
+    uint32_t child_relid;
+} vmbus_message_rescind_channel_offer;
+
+typedef struct vmbus_gpa_range {
+    uint32_t byte_count;
+    uint32_t byte_offset;
+    uint64_t pfn_array[0];
+} vmbus_gpa_range;
+
+typedef struct vmbus_message_gpadl_header {
+    vmbus_message_header header;
+    uint32_t child_relid;
+    uint32_t gpadl_id;
+    uint16_t range_buflen;
+    uint16_t rangecount;
+    vmbus_gpa_range range;
+} QEMU_PACKED vmbus_message_gpadl_header;
+
+typedef struct vmbus_message_gpadl_body {
+    vmbus_message_header header;
+    uint32_t message_number;
+    uint32_t gpadl_id;
+    uint64_t pfn_array[0];
+} vmbus_message_gpadl_body;
+
+typedef struct vmbus_message_gpadl_created {
+    vmbus_message_header header;
+    uint32_t child_relid;
+    uint32_t gpadl_id;
+    uint32_t status;
+} vmbus_message_gpadl_created;
+
+typedef struct vmbus_message_gpadl_teardown {
+    vmbus_message_header header;
+    uint32_t child_relid;
+    uint32_t gpadl_id;
+} vmbus_message_gpadl_teardown;
+
+typedef struct vmbus_message_gpadl_torndown {
+    vmbus_message_header header;
+    uint32_t gpadl_id;
+} vmbus_message_gpadl_torndown;
+
+typedef struct vmbus_message_open_channel {
+    vmbus_message_header header;
+    uint32_t child_relid;
+    uint32_t open_id;
+    uint32_t ring_buffer_gpadl_id;
+    uint32_t target_vp;
+    uint32_t ring_buffer_offset;
+    uint8_t  user_data[VMBUS_CHANNEL_USER_DATA_SIZE];
+} vmbus_message_open_channel;
+
+typedef struct vmbus_message_open_result {
+    vmbus_message_header header;
+    uint32_t child_relid;
+    uint32_t open_id;
+    uint32_t status;
+} vmbus_message_open_result;
+
+typedef struct vmbus_message_close_channel {
+    vmbus_message_header header;
+    uint32_t child_relid;
+} vmbus_message_close_channel;
+
+typedef struct vmbus_ring_buffer {
+    uint32_t write_index;
+    uint32_t read_index;
+    uint32_t interrupt_mask;
+    uint32_t pending_send_sz;
+    uint32_t _reserved1[12];
+    uint32_t feature_bits;     // VMBUS_RING_BUFFER_FEAT_*
+} vmbus_ring_buffer;
+
+typedef struct vmbus_packet_hdr {
+    uint16_t type;
+    uint16_t offset_qwords;
+    uint16_t len_qwords;
+    uint16_t flags;
+    uint64_t transaction_id;
+} vmbus_packet_hdr;
+
+typedef struct vmbus_pkt_gpa_direct {
+    uint32_t _reserved;
+    uint32_t rangecount;
+    vmbus_gpa_range range[0];
+} vmbus_pkt_gpa_direct;
+
+typedef struct vmbus_xferpg_range {
+    uint32_t byte_count;
+    uint32_t byte_offset;
+} vmbus_xferpg_range;
+
+typedef struct vmbus_pkt_xferpg {
+    uint16_t buffer_id;
+    uint8_t sender_owns_set;
+    uint8_t _reserved;
+    uint32_t rangecount;
+    vmbus_xferpg_range range[0];
+} vmbus_pkt_xferpg;
+
+#endif
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 20/34] vmbus: vmbus implementation
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (18 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 19/34] vmbus: add vmbus protocol definitions Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 12:00   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 21/34] vmbus: build configuration Roman Kagan
                   ` (19 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add the VMBus infrastructure -- bus, devices, root bridge, vmbus state
machine, vmbus channel interactions, etc.

TODO:
 - split into smaller palatable pieces
 - more comments
 - check and handle corner cases

Kudos to Evgeny Yakovlev (formerly eyakovlev@virtuozzo.com) and Andrey
Smetatin (formerly asmetanin@virtuozzo.com) for research and
prototyping.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 Makefile.objs            |    1 +
 include/hw/vmbus/vmbus.h |  106 ++
 hw/vmbus/vmbus.c         | 2436 ++++++++++++++++++++++++++++++++++++++++++++++
 hw/vmbus/Makefile.objs   |    1 +
 hw/vmbus/trace-events    |    8 +
 5 files changed, 2552 insertions(+)
 create mode 100644 include/hw/vmbus/vmbus.h
 create mode 100644 hw/vmbus/vmbus.c
 create mode 100644 hw/vmbus/Makefile.objs
 create mode 100644 hw/vmbus/trace-events

diff --git a/Makefile.objs b/Makefile.objs
index 2efba6d768..14a36a4736 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -159,6 +159,7 @@ trace-events-subdirs += hw/alpha
 trace-events-subdirs += hw/hppa
 trace-events-subdirs += hw/xen
 trace-events-subdirs += hw/ide
+trace-events-subdirs += hw/vmbus
 trace-events-subdirs += ui
 trace-events-subdirs += audio
 trace-events-subdirs += net
diff --git a/include/hw/vmbus/vmbus.h b/include/hw/vmbus/vmbus.h
new file mode 100644
index 0000000000..cdb5180796
--- /dev/null
+++ b/include/hw/vmbus/vmbus.h
@@ -0,0 +1,106 @@
+/*
+ * QEMU Hyper-V VMBus
+ *
+ * Copyright (c) 2017-2018 Virtuozzo International GmbH.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#ifndef QEMU_VMBUS_H
+#define QEMU_VMBUS_H
+
+#include "hw/qdev.h"
+#include "sysemu/sysemu.h"
+#include "sysemu/dma.h"
+#include "target/i386/hyperv.h"
+#include "target/i386/hyperv-proto.h"
+#include "hw/vmbus/vmbus-proto.h"
+#include "qemu/uuid.h"
+
+#define TYPE_VMBUS_DEVICE "vmbus-dev"
+
+#define VMBUS_DEVICE(obj) \
+    OBJECT_CHECK(VMBusDevice, (obj), TYPE_VMBUS_DEVICE)
+#define VMBUS_DEVICE_CLASS(klass) \
+    OBJECT_CLASS_CHECK(VMBusDeviceClass, (klass), TYPE_VMBUS_DEVICE)
+#define VMBUS_DEVICE_GET_CLASS(obj) \
+    OBJECT_GET_CLASS(VMBusDeviceClass, (obj), TYPE_VMBUS_DEVICE)
+
+typedef struct VMBus VMBus;
+typedef struct VMBusChannel VMBusChannel;
+typedef struct VMBusDevice VMBusDevice;
+typedef struct VMBusGpadl VMBusGpadl;
+
+typedef void(*VMBusChannelNotifyCb)(struct VMBusChannel *chan);
+
+typedef struct VMBusDeviceClass {
+    DeviceClass parent;
+
+    QemuUUID classid;
+    QemuUUID instanceid;     /* Fixed UUID for singleton devices */
+    uint16_t channel_flags;
+    uint16_t mmio_size_mb;
+
+    void (*vmdev_realize)(VMBusDevice *vdev, Error **errp);
+    void (*vmdev_unrealize)(VMBusDevice *vdev, Error **errp);
+    void (*vmdev_reset)(VMBusDevice *vdev);
+    uint16_t (*num_channels)(VMBusDevice *vdev);
+    int (*open_channel) (VMBusDevice *vdev);
+    void (*close_channel) (VMBusDevice *vdev);
+    VMBusChannelNotifyCb chan_notify_cb;
+} VMBusDeviceClass;
+
+typedef struct VMBusDevice {
+    DeviceState parent;
+    QemuUUID instanceid;
+    uint16_t num_channels;
+    VMBusChannel *channels;
+    AddressSpace *dma_as;
+} VMBusDevice;
+
+extern const VMStateDescription vmstate_vmbus_dev;
+
+typedef struct VMBusChanReq {
+    VMBusChannel *chan;
+    uint16_t pkt_type;
+    uint32_t msglen;
+    void *msg;
+    uint64_t transaction_id;
+    void *comp;
+    QEMUSGList sgl;
+} VMBusChanReq;
+
+VMBusDevice *vmbus_channel_device(VMBusChannel *chan);
+VMBusChannel *vmbus_device_channel(VMBusDevice *dev, uint32_t chan_idx);
+uint32_t vmbus_channel_idx(VMBusChannel *chan);
+void vmbus_notify_channel(VMBusChannel *chan);
+
+void vmbus_create(void);
+bool vmbus_exists(void);
+
+int vmbus_channel_send(VMBusChannel *chan, uint16_t pkt_type,
+                       void *desc, uint32_t desclen,
+                       void *msg, uint32_t msglen,
+                       bool need_comp, uint64_t transaction_id);
+int vmbus_chan_send_completion(VMBusChanReq *req);
+int vmbus_channel_reserve(VMBusChannel *chan,
+                          uint32_t desclen, uint32_t msglen);
+void *vmbus_channel_recv(VMBusChannel *chan, uint32_t size);
+void vmbus_release_req(void *req);
+
+void vmbus_save_req(QEMUFile *f, VMBusChanReq *req);
+void *vmbus_load_req(QEMUFile *f, VMBusDevice *dev, uint32_t size);
+
+
+VMBusGpadl *vmbus_get_gpadl(VMBusChannel *chan, uint32_t gpadl_id);
+void vmbus_put_gpadl(VMBusGpadl *gpadl);
+uint32_t vmbus_gpadl_len(VMBusGpadl *gpadl);
+ssize_t vmbus_iov_to_gpadl(VMBusChannel *chan, VMBusGpadl *gpadl, uint32_t off,
+                           const struct iovec *iov, size_t iov_cnt);
+int vmbus_map_sgl(QEMUSGList *sgl, DMADirection dir, struct iovec *iov,
+                  unsigned iov_cnt, size_t len, size_t off);
+void vmbus_unmap_sgl(QEMUSGList *sgl, DMADirection dir, struct iovec *iov,
+                     unsigned iov_cnt, size_t accessed);
+
+#endif
diff --git a/hw/vmbus/vmbus.c b/hw/vmbus/vmbus.c
new file mode 100644
index 0000000000..42d12dfdf6
--- /dev/null
+++ b/hw/vmbus/vmbus.c
@@ -0,0 +1,2436 @@
+/*
+ * QEMU Hyper-V VMBus
+ *
+ * Copyright (c) 2017-2018 Virtuozzo International GmbH.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#include "qemu/osdep.h"
+#include "qemu/error-report.h"
+#include "qapi/error.h"
+#include "hw/vmbus/vmbus.h"
+#include "hw/sysbus.h"
+#include "trace.h"
+
+#define TYPE_VMBUS "vmbus"
+#define VMBUS(obj) OBJECT_CHECK(VMBus, (obj), TYPE_VMBUS)
+
+#define TYPE_VMBUS_BRIDGE "vmbus-bridge"
+
+#define VMBUS_CHAN_RELID_COUNT      HV_EVENT_FLAGS_COUNT
+#define VMBUS_CHAN_FIRST_RELID      1 /* 0 is reserved */
+#define VMBUS_CHAN_CONNID_COUNT     HV_EVENT_FLAGS_COUNT
+#define VMBUS_CHAN_FIRST_CONNID     (VMBUS_MONITOR_CONNECTION_ID + 1)
+
+#define VMBUS_VMSTATE_VERSION_ID    1
+
+#define VMBUS_RX_QUEUE_CAPACITY     16
+
+typedef struct VMBusGpadl
+{
+    QTAILQ_ENTRY(VMBusGpadl) link;
+
+    uint32_t id;
+    uint32_t child_relid;
+
+    uint32_t num_gfns;
+    uint32_t seen_gfns;
+    uint64_t *gfns;
+
+    bool alive;
+    bool in_use;
+} VMBusGpadl;
+
+typedef enum VMBusOfferState {
+    VMOFFER_INIT,
+    VMOFFER_SENDING,
+    VMOFFER_SENT,
+} VMBusOfferState;
+
+typedef enum VMBusChannelState {
+    VMCHAN_INIT,
+    VMCHAN_OPENING,
+    VMCHAN_OPEN,
+} VMBusChannelState;
+
+
+typedef struct VMBusRingBuf {
+    VMBusGpadl *gpadl;
+    AddressSpace *as;
+    DMADirection dir;
+    dma_addr_t rb_addr;
+    uint32_t base;
+    uint32_t len;
+    uint32_t my_idx;
+    uint32_t pending_sz;
+} VMBusRingBuf;
+
+typedef struct VMBusChannel
+{
+    VMBusDevice *dev;
+
+    uint32_t relid;
+    uint16_t subchan_idx;
+    uint32_t connid;
+    uint32_t open_id;
+    uint32_t target_vp;
+    uint32_t rb_gpadl;
+    uint32_t rb_rcv_offset;
+
+    VMBusOfferState offer_state;
+    VMBusChannelState state;
+
+    VMBusChannelNotifyCb notify_cb;
+    EventNotifier notifier;
+
+    VMBus *vmbus;
+    HvSintRoute *notify_route;
+    VMBusGpadl *gpadl;
+
+    VMBusRingBuf ringbuf_rcv;
+    VMBusRingBuf ringbuf_snd;
+
+    uint32_t snd_reserved;
+
+    QTAILQ_ENTRY(VMBusChannel) link;
+} VMBusChannel;
+
+typedef enum VMBusState {
+    VMBUS_LISTEN,
+    VMBUS_HANDSHAKE,
+    VMBUS_OFFER,
+    VMBUS_CREATE_GPADL,
+    VMBUS_TEARDOWN_GPADL,
+    VMBUS_OPEN_CHANNEL,
+    VMBUS_UNLOAD,
+    VMBUS_STATE_MAX
+} VMBusState;
+
+typedef struct VMBus
+{
+    BusState parent;
+
+    VMBusState state;
+    bool msg_in_progress;
+    uint32_t version;
+    uint32_t target_vp;
+    HvSintRoute *sint_route;
+    hwaddr int_page_gpa;
+
+    DECLARE_BITMAP(chan_relid_bitmap, VMBUS_CHAN_RELID_COUNT);
+    DECLARE_BITMAP(connection_id_bitmap, VMBUS_CHAN_CONNID_COUNT);
+
+    struct hyperv_post_message_input rx_queue[VMBUS_RX_QUEUE_CAPACITY];
+    uint8_t rx_queue_head;
+    uint8_t rx_queue_size;
+    QemuMutex rx_queue_lock;
+
+    QTAILQ_HEAD(, VMBusGpadl) gpadl_list;
+    QTAILQ_HEAD(, VMBusChannel) channel_list;
+
+    EventNotifier notifier;
+} VMBus;
+
+static void vmbus_resched(VMBus *vmbus);
+static void vmbus_msg_cb(void *data, int status);
+
+static bool gpadl_full(VMBusGpadl *gpadl)
+{
+    return gpadl->seen_gfns == gpadl->num_gfns;
+}
+
+static bool gpadl_broken(VMBusGpadl *gpadl)
+{
+    return !gpadl->num_gfns;
+}
+
+static VMBusGpadl *create_gpadl(VMBus *vmbus, uint32_t id,
+                                uint32_t child_relid, uint32_t num_gfns)
+{
+    VMBusGpadl *gpadl = g_new0(VMBusGpadl, 1);
+
+    gpadl->id = id;
+    gpadl->child_relid = child_relid;
+    gpadl->num_gfns = num_gfns;
+    gpadl->gfns = g_new(uint64_t, num_gfns);
+    QTAILQ_INSERT_HEAD(&vmbus->gpadl_list, gpadl, link);
+    return gpadl;
+}
+
+static void free_gpadl(VMBus *vmbus, VMBusGpadl *gpadl)
+{
+    QTAILQ_REMOVE(&vmbus->gpadl_list, gpadl, link);
+    g_free(gpadl->gfns);
+    g_free(gpadl);
+}
+
+static VMBusGpadl *find_gpadl(VMBus *vmbus, uint32_t gpadl_id)
+{
+    VMBusGpadl *gpadl;
+    QTAILQ_FOREACH(gpadl, &vmbus->gpadl_list, link) {
+        if (gpadl->id == gpadl_id) {
+            return gpadl;
+        }
+    }
+    return NULL;
+}
+
+VMBusGpadl *vmbus_get_gpadl(VMBusChannel *chan, uint32_t gpadl_id)
+{
+    VMBusGpadl *gpadl = find_gpadl(chan->vmbus, gpadl_id);
+    if (gpadl) {
+        if (!gpadl->alive || gpadl->in_use) {
+            return NULL;
+        }
+        gpadl->in_use = true;
+    }
+    return gpadl;
+}
+
+void vmbus_put_gpadl(VMBusGpadl *gpadl)
+{
+    gpadl->in_use = false;
+}
+
+uint32_t vmbus_gpadl_len(VMBusGpadl *gpadl)
+{
+    return gpadl->num_gfns * TARGET_PAGE_SIZE;
+}
+
+typedef struct GpadlIter {
+    VMBusGpadl *gpadl;
+    AddressSpace *as;
+    DMADirection dir;
+    uint32_t off;
+    /* cached mapping of the currently accessed page, up to page boundary */
+    void *map;
+} GpadlIter;
+
+static void gpadl_iter_init(GpadlIter *iter, VMBusGpadl *gpadl,
+                            AddressSpace *as, DMADirection dir, uint32_t off)
+{
+    iter->gpadl = gpadl;
+    iter->as = as;
+    iter->dir = dir;
+    iter->off = off;
+    iter->map = NULL;
+}
+
+static ssize_t gpadl_iter_rw(GpadlIter *iter, void *buf, uint32_t len)
+{
+    ssize_t ret = len;
+
+    while (len) {
+        uint32_t off_pgoff = iter->off & ~TARGET_PAGE_MASK;
+        uint32_t pgleft = TARGET_PAGE_SIZE - off_pgoff;
+        uint32_t cplen = MIN(pgleft, len);
+        void *p;
+
+        if (!iter->map) {
+            dma_addr_t maddr;
+            dma_addr_t mlen = pgleft;
+            uint32_t idx = iter->off >> TARGET_PAGE_BITS;
+            assert(idx < iter->gpadl->num_gfns);
+
+            maddr = (iter->gpadl->gfns[idx] << TARGET_PAGE_BITS) | off_pgoff;
+
+            iter->map = dma_memory_map(iter->as, maddr, &mlen, iter->dir);
+            if (mlen != pgleft) {
+                dma_memory_unmap(iter->as, iter->map, mlen, iter->dir, 0);
+                return -EFAULT;
+            }
+        }
+
+        p = (void *)(((uintptr_t)iter->map & TARGET_PAGE_MASK) | off_pgoff);
+        if (iter->dir == DMA_DIRECTION_FROM_DEVICE) {
+            memcpy(p, buf, cplen);
+        } else {
+            memcpy(buf, p, cplen);
+        }
+
+        buf += cplen;
+        len -= cplen;
+        iter->off += cplen;
+        if (cplen == pgleft) {
+            uint32_t mlen = TARGET_PAGE_SIZE -
+                ((uintptr_t)iter->map & ~TARGET_PAGE_MASK);
+            dma_memory_unmap(iter->as, iter->map, mlen, iter->dir, mlen);
+            iter->map = NULL;
+        }
+    }
+
+    return ret;
+}
+
+static void gpadl_iter_done(GpadlIter *iter)
+{
+    if (iter->map) {
+        uint32_t map_pgoff = (uintptr_t)iter->map & ~TARGET_PAGE_MASK;
+        uint32_t off_pgoff = iter->off & ~TARGET_PAGE_MASK;
+        assert(map_pgoff <= off_pgoff);
+        dma_memory_unmap(iter->as, iter->map, TARGET_PAGE_SIZE - map_pgoff,
+                         iter->dir, off_pgoff - map_pgoff);
+    }
+}
+
+static void gpadl_iter_set(GpadlIter *iter, uint32_t new_off)
+{
+    if (iter->map) {
+        uint32_t map_pgoff = (uintptr_t)iter->map & ~TARGET_PAGE_MASK;
+        uint32_t off_pgoff = iter->off & ~TARGET_PAGE_MASK;
+        if ((iter->off & TARGET_PAGE_MASK) != (new_off & TARGET_PAGE_MASK) ||
+            (new_off & ~TARGET_PAGE_MASK) < map_pgoff) {
+            dma_memory_unmap(iter->as, iter->map, TARGET_PAGE_SIZE - map_pgoff,
+                             iter->dir, off_pgoff - map_pgoff);
+            iter->map = NULL;
+        }
+    }
+    iter->off = new_off;
+}
+
+ssize_t vmbus_iov_to_gpadl(VMBusChannel *chan, VMBusGpadl *gpadl, uint32_t off,
+                           const struct iovec *iov, size_t iov_cnt)
+{
+    GpadlIter iter;
+    size_t i;
+    ssize_t ret = 0;
+
+    gpadl_iter_init(&iter, gpadl, chan->dev->dma_as,
+                    DMA_DIRECTION_FROM_DEVICE, off);
+    for (i = 0; i < iov_cnt; i++) {
+        ret = gpadl_iter_rw(&iter, iov[i].iov_base, iov[i].iov_len);
+        if (ret < 0) {
+            goto out;
+        }
+    }
+out:
+    gpadl_iter_done(&iter);
+    return ret;
+}
+
+int vmbus_map_sgl(QEMUSGList *sgl, DMADirection dir, struct iovec *iov,
+                  unsigned iov_cnt, size_t len, size_t off)
+{
+    int ret_cnt = 0, ret;
+    unsigned i;
+    ScatterGatherEntry *sg = sgl->sg;
+
+    for (i = 0; i < sgl->nsg; i++) {
+        if (sg[i].len > off) {
+            break;
+        }
+        off -= sg[i].len;
+    }
+    for (; len && i < sgl->nsg; i++) {
+        dma_addr_t mlen = MIN(sg[i].len - off, len);
+        dma_addr_t addr = sg[i].base + off;
+        len -= mlen;
+        off = 0;
+
+        for (; mlen; ret_cnt++) {
+            dma_addr_t l = mlen;
+            dma_addr_t a = addr;
+
+            if (ret_cnt == iov_cnt) {
+                ret = -ENOBUFS;
+                goto err;
+            }
+
+            iov[ret_cnt].iov_base = dma_memory_map(sgl->as, a, &l, dir);
+            if (!l) {
+                ret = -EFAULT;
+                goto err;
+            }
+            iov[ret_cnt].iov_len = l;
+            addr += l;
+            mlen -= l;
+        }
+    }
+
+    return ret_cnt;
+err:
+    vmbus_unmap_sgl(sgl, dir, iov, ret_cnt, 0);
+    return ret;
+}
+
+void vmbus_unmap_sgl(QEMUSGList *sgl, DMADirection dir, struct iovec *iov,
+                     unsigned iov_cnt, size_t accessed)
+{
+    unsigned i;
+
+    for (i = 0; i < iov_cnt; i++) {
+        size_t acsd = MIN(accessed, iov[i].iov_len);
+        dma_memory_unmap(sgl->as, iov[i].iov_base, iov[i].iov_len, dir, acsd);
+        accessed -= acsd;
+    }
+}
+
+static int gpadl_pre_load(void *opaque)
+{
+    memset(opaque, 0, sizeof(VMBusGpadl));
+    return 0;
+}
+
+static const VMStateDescription vmstate_gpadl = {
+    .name = "vmbus/gpadl",
+    .version_id = 0,
+    .minimum_version_id = 0,
+    .pre_load = gpadl_pre_load,
+    .fields = (VMStateField[]) {
+        VMSTATE_UINT32(id, VMBusGpadl),
+        VMSTATE_UINT32(child_relid, VMBusGpadl),
+        VMSTATE_UINT32(num_gfns, VMBusGpadl),
+        VMSTATE_UINT32(seen_gfns, VMBusGpadl),
+        VMSTATE_VARRAY_UINT32_ALLOC(gfns, VMBusGpadl, num_gfns, 0,
+                                    vmstate_info_uint64, uint64_t),
+        VMSTATE_BOOL(alive, VMBusGpadl),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+static vmbus_ring_buffer *ringbuf_map(const VMBusRingBuf *ringbuf)
+{
+    vmbus_ring_buffer *rb;
+    dma_addr_t mlen = sizeof(*rb);
+
+    rb = dma_memory_map(ringbuf->as, ringbuf->rb_addr, &mlen,
+                        DMA_DIRECTION_FROM_DEVICE);
+    if (mlen != sizeof(*rb)) {
+        dma_memory_unmap(ringbuf->as, rb, mlen, DMA_DIRECTION_FROM_DEVICE, 0);
+        return NULL;
+    }
+    return rb;
+}
+
+static void ringbuf_unmap(const VMBusRingBuf *ringbuf, vmbus_ring_buffer *rb,
+                          bool dirty)
+{
+    dma_memory_unmap(ringbuf->as, rb, sizeof(*rb), 1, dirty ? sizeof(*rb) : 0);
+}
+
+static int ringbuf_init(VMBusRingBuf *ringbuf, VMBusChannel *chan,
+                        DMADirection dir)
+{
+    int ret = 0;
+    int off_pg, len_pg;
+    vmbus_ring_buffer *rb;
+    VMBusGpadl *gpadl = chan->gpadl;
+
+    if (dir == DMA_DIRECTION_FROM_DEVICE) {
+        off_pg = chan->rb_rcv_offset;
+        len_pg = gpadl->num_gfns - chan->rb_rcv_offset;
+    } else {
+        off_pg = 0;
+        len_pg = chan->rb_rcv_offset;
+    }
+
+    if (len_pg < 1) {
+        return -EINVAL;
+    }
+
+    ringbuf->gpadl = gpadl;
+    ringbuf->as = chan->dev->dma_as;
+    ringbuf->dir = dir;
+    ringbuf->rb_addr = gpadl->gfns[off_pg] << TARGET_PAGE_BITS;
+    ringbuf->base = (off_pg + 1) << TARGET_PAGE_BITS;
+    ringbuf->len = (len_pg - 1) << TARGET_PAGE_BITS;
+
+    rb = ringbuf_map(ringbuf);
+    if (!rb) {
+        return -EFAULT;
+    }
+
+    if (dir == DMA_DIRECTION_FROM_DEVICE) {
+        ringbuf->my_idx = rb->write_index;
+        rb->feature_bits |= VMBUS_RING_BUFFER_FEAT_PENDING_SZ;
+        ringbuf->pending_sz = rb->pending_send_sz;
+    } else {
+        ringbuf->my_idx = rb->read_index;
+    }
+    if (ringbuf->my_idx >= ringbuf->len) {
+        error_report("%s: inconsistent ring buffer: idx:%u len:%u", __func__,
+                     ringbuf->my_idx, ringbuf->len);
+        ret = -EIO;
+        goto out;
+    }
+
+out:
+    ringbuf_unmap(ringbuf, rb, true);
+    return ret;
+}
+
+typedef struct VMBusRingIter {
+    VMBusRingBuf *ringbuf;
+    vmbus_ring_buffer *rb;
+    GpadlIter gpiter;
+} VMBusRingIter;
+
+static int ring_iter_init(VMBusRingIter *iter, VMBusRingBuf *ringbuf)
+{
+    iter->ringbuf = ringbuf;
+    gpadl_iter_init(&iter->gpiter, ringbuf->gpadl, ringbuf->as, ringbuf->dir,
+                    ringbuf->base + ringbuf->my_idx);
+    iter->rb = ringbuf_map(ringbuf);
+    return iter->rb ? 0 : -EFAULT;
+}
+
+static uint32_t rb_avail(uint32_t my_idx, uint32_t other_idx, uint32_t len,
+                         bool is_write)
+{
+    uint32_t ret = other_idx + len - my_idx - is_write;
+    if (ret >= len) {
+        ret -= len;
+    }
+    return ret;
+}
+
+static bool ring_iter_rcv_update_idx(VMBusRingIter *iter)
+{
+    VMBusRingBuf *ringbuf = iter->ringbuf;
+    vmbus_ring_buffer *rb = iter->rb;
+    uint32_t old_idx = ringbuf->my_idx;
+
+    assert(ringbuf->dir == DMA_DIRECTION_TO_DEVICE);
+
+    ringbuf->my_idx = iter->gpiter.off - ringbuf->base;
+
+    /*
+     * make sure the data operation is finished before we update the index;
+     * pairs with (the guest-side equivalent of) the final smp_mb() in
+     * ringbuf_snd_request_room()
+     */
+    smp_mb();
+
+    rb->read_index = ringbuf->my_idx;
+    smp_mb();
+
+    if (rb->interrupt_mask) {
+        return false;
+    }
+
+    if (rb->feature_bits & VMBUS_RING_BUFFER_FEAT_PENDING_SZ) {
+        uint32_t other_idx;
+        uint32_t wanted = rb->pending_send_sz;
+
+        /* barrier-less shortcut */
+        if (!wanted) {
+            return false;
+        }
+
+        /* pairs with smp_mb() in ringbuf_snd_request_room() */
+        smp_rmb();
+        other_idx = rb->write_index;
+
+        /* other (write) side wasn't blocked on our (read) state */
+        if (rb_avail(other_idx, old_idx, ringbuf->len, true) >= wanted) {
+            return false;
+        }
+        /* there's not enough space for the other (write) side */
+        if (rb_avail(other_idx, ringbuf->my_idx, ringbuf->len, true) <
+            wanted) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+static bool ring_iter_snd_update_idx(VMBusRingIter *iter)
+{
+    VMBusRingBuf *ringbuf = iter->ringbuf;
+    vmbus_ring_buffer *rb = iter->rb;
+    uint32_t old_idx = ringbuf->my_idx;
+    uint32_t wlen;
+
+    assert(ringbuf->dir == DMA_DIRECTION_FROM_DEVICE);
+
+    ringbuf->my_idx = iter->gpiter.off - ringbuf->base;
+    wlen = rb_avail(old_idx, ringbuf->my_idx, ringbuf->len, false);
+
+    if (ringbuf->pending_sz) {
+        /* we didn't have enough room at ringbuf_snd_request_room() */
+        assert(wlen < ringbuf->pending_sz);
+        /* successful send reduces our needs; inform the other side */
+        ringbuf->pending_sz -= wlen;
+        rb->pending_send_sz = ringbuf->pending_sz;
+    }
+
+    /*
+     * make sure the data operation is finished before we update the index;
+     * pairs with (the guest-side equivalent of) the barrier in
+     * ring_iter_avail()
+     */
+    smp_mb();
+
+    rb->write_index = ringbuf->my_idx;
+    smp_mb();
+
+    if (rb->interrupt_mask) {
+        return false;
+    }
+
+    /*
+     * other (read) side hasn't caught up with our (write) previous state
+     * so it's not blocked
+     */
+    if (rb_avail(rb->read_index, ringbuf->my_idx, ringbuf->len, false) >
+        wlen) {
+        return false;
+    }
+    return true;
+}
+
+static void ring_iter_done(VMBusRingIter *iter, bool dirty)
+{
+    gpadl_iter_done(&iter->gpiter);
+    ringbuf_unmap(iter->ringbuf, iter->rb, dirty);
+}
+
+static uint32_t ring_iter_rcv_avail(VMBusRingIter *iter)
+{
+    uint32_t other_idx;
+    assert(iter->gpiter.dir == DMA_DIRECTION_TO_DEVICE);
+
+    other_idx = iter->rb->write_index;
+    /*
+     * pairs with (the guest-side equivalent of) the barrier at the
+     * beginning of ring_iter_snd_update_idx()
+     */
+    smp_mb();
+
+    return rb_avail(iter->gpiter.off - iter->ringbuf->base, other_idx,
+                    iter->ringbuf->len, false);
+}
+
+static int ring_iter_rw(VMBusRingIter *iter, void *buf, uint32_t len)
+{
+    int ret1 = 0, ret2 = 0;
+    uint32_t remain = iter->ringbuf->len + iter->ringbuf->base -
+        iter->gpiter.off;
+
+    if (len >= remain) {
+        ret1 = gpadl_iter_rw(&iter->gpiter, buf, remain);
+        if (ret1 < 0) {
+            return ret1;
+        }
+        assert(!iter->gpiter.map);
+        gpadl_iter_set(&iter->gpiter, iter->ringbuf->base);
+        buf += remain;
+        len -= remain;
+    }
+    ret2 = gpadl_iter_rw(&iter->gpiter, buf, len);
+    if (ret2 < 0) {
+        return ret2;
+    }
+    return ret1 + ret2;
+}
+
+static void ring_iter_set(VMBusRingIter *iter, uint32_t new_off)
+{
+    new_off += iter->ringbuf->my_idx;
+    if (new_off >= iter->ringbuf->len) {
+        new_off -= iter->ringbuf->len;
+    }
+    gpadl_iter_set(&iter->gpiter, iter->ringbuf->base + new_off);
+}
+
+static int ringbuf_snd_request_room(VMBusRingBuf *ringbuf, uint32_t needed)
+{
+    uint32_t avail;
+    bool dirty = false;
+    vmbus_ring_buffer *rb;
+
+    assert(ringbuf->dir == DMA_DIRECTION_FROM_DEVICE);
+
+    rb = ringbuf_map(ringbuf);
+    if (!rb) {
+        return -EFAULT;
+    }
+
+    avail = rb_avail(ringbuf->my_idx, rb->read_index, ringbuf->len, true);
+
+    if (needed <= avail) {
+        needed = 0;
+    }
+
+    if (needed != ringbuf->pending_sz) {
+        ringbuf->pending_sz = needed;
+        /* pairs with smp_rmb() in ring_iter_rcv_update_idx() */
+        smp_mb();
+        rb->pending_send_sz = needed;
+        dirty = true;
+    }
+    /*
+     * pairs with (the guest-side equivalent of) smp_mb() at the
+     * beginning of ring_iter_rcv_update_idx()
+     */
+    smp_mb();
+
+    ringbuf_unmap(ringbuf, rb, dirty);
+    return needed ? -ENOSPC : 0;
+}
+
+
+VMBusDevice *vmbus_channel_device(VMBusChannel *chan)
+{
+    return chan->dev;
+}
+
+VMBusChannel *vmbus_device_channel(VMBusDevice *dev, uint32_t chan_idx)
+{
+    if (chan_idx >= dev->num_channels) {
+        return NULL;
+    }
+    return &dev->channels[chan_idx];
+}
+
+uint32_t vmbus_channel_idx(VMBusChannel *chan)
+{
+    return chan - chan->dev->channels;
+}
+
+void vmbus_notify_channel(VMBusChannel *chan)
+{
+    event_notifier_set(&chan->notifier);
+}
+
+static bool channel_broken(VMBusChannel *chan)
+{
+    return !chan->gpadl;
+}
+
+static int signal_channel(VMBusChannel *chan)
+{
+    int res = 0;
+    unsigned long *int_map, mask;
+    unsigned idx;
+    hwaddr addr = chan->vmbus->int_page_gpa;
+    hwaddr len = TARGET_PAGE_SIZE / 2, dirty = 0;
+
+    trace_vmbus_signal_channel(chan->relid);
+
+    if (!addr) {
+        return hyperv_set_evt_flag(chan->notify_route, chan->relid);
+    }
+
+    int_map = cpu_physical_memory_map(addr, &len, 1);
+    if (len != TARGET_PAGE_SIZE / 2) {
+        res = -ENXIO;
+        goto unmap;
+    }
+
+    idx = BIT_WORD(chan->relid);
+    mask = BIT_MASK(chan->relid);
+    if ((atomic_fetch_or(&int_map[idx], mask) & mask) != mask) {
+        res = kvm_hv_sint_route_set_sint(chan->notify_route);
+        dirty = len;
+    }
+
+unmap:
+    cpu_physical_memory_unmap(int_map, len, 1, dirty);
+    return res;
+}
+
+int vmbus_channel_send(VMBusChannel *chan, uint16_t pkt_type,
+                       void *desc, uint32_t desclen,
+                       void *msg, uint32_t msglen,
+                       bool need_comp, uint64_t transaction_id)
+{
+    int ret = 0;
+    vmbus_packet_hdr hdr;
+    uint32_t totlen;
+    VMBusRingIter iter;
+
+    if (chan->state != VMCHAN_OPEN) {
+        return -EINVAL;
+    }
+
+    ret = ring_iter_init(&iter, &chan->ringbuf_snd);
+    if (ret) {
+        return ret;
+    }
+
+    hdr.type = pkt_type;
+    hdr.offset_qwords = sizeof(hdr) / sizeof(uint64_t) +
+        DIV_ROUND_UP(desclen, sizeof(uint64_t));
+    hdr.len_qwords = hdr.offset_qwords +
+        DIV_ROUND_UP(msglen, sizeof(uint64_t));
+    hdr.flags = need_comp ? VMBUS_PACKET_FLAG_REQUEST_COMPLETION : 0;
+    hdr.transaction_id = transaction_id;
+    totlen = (hdr.len_qwords + 1) * sizeof(uint64_t);
+
+    assert(totlen <= chan->snd_reserved);
+
+    ret = ring_iter_rw(&iter, &hdr, sizeof(hdr));
+    if (ret < 0) {
+        goto out;
+    }
+    if (desclen) {
+        assert(desc);
+        ret = ring_iter_rw(&iter, desc, desclen);
+        if (ret < 0) {
+            goto out;
+        }
+        ring_iter_set(&iter, hdr.offset_qwords * sizeof(uint64_t));
+    }
+    ret = ring_iter_rw(&iter, msg, msglen);
+    if (ret < 0) {
+        goto out;
+    }
+    ring_iter_set(&iter, totlen);
+
+    if (ring_iter_snd_update_idx(&iter)) {
+        signal_channel(chan);
+    }
+    chan->snd_reserved -= totlen;
+out:
+    ring_iter_done(&iter, ret >= 0);
+    return ret;
+}
+
+int vmbus_chan_send_completion(VMBusChanReq *req)
+{
+    assert(req->comp);
+    return vmbus_channel_send(req->chan, VMBUS_PACKET_COMP, NULL, 0, req->comp,
+                              req->msglen, false, req->transaction_id);
+}
+
+int vmbus_channel_reserve(VMBusChannel *chan,
+                          uint32_t desclen, uint32_t msglen)
+{
+    uint32_t needed = chan->snd_reserved +
+        sizeof(vmbus_packet_hdr) +
+        ROUND_UP(desclen, sizeof(uint64_t)) +
+        ROUND_UP(msglen, sizeof(uint64_t)) +
+        sizeof(uint64_t);
+
+    int ret = ringbuf_snd_request_room(&chan->ringbuf_snd, needed);
+
+    if (!ret) {
+        chan->snd_reserved = needed;
+    }
+    return ret;
+}
+
+static int sgl_from_gpa_ranges(VMBusRingIter *iter, uint32_t len,
+                               VMBusChanReq *req)
+{
+    int ret;
+    vmbus_pkt_gpa_direct hdr;
+    hwaddr curaddr = 0;
+    hwaddr curlen = 0;
+    int num;
+
+    if (len < sizeof(hdr)) {
+        return -EIO;
+    }
+    ret = ring_iter_rw(iter, &hdr, sizeof(hdr));
+    if (ret < 0) {
+        return ret;
+    }
+    len -= sizeof(hdr);
+
+    num = (len - hdr.rangecount * sizeof(vmbus_gpa_range)) / sizeof(uint64_t);
+    if (num < 0) {
+        return -EIO;
+    }
+    qemu_sglist_init(&req->sgl, DEVICE(req->chan->dev), num, iter->gpiter.as);
+
+    for (; hdr.rangecount; hdr.rangecount--) {
+        vmbus_gpa_range range;
+
+        if (len < sizeof(range)) {
+            goto eio;
+        }
+        ret = ring_iter_rw(iter, &range, sizeof(range));
+        if (ret < 0) {
+            goto err;
+        }
+        len -= sizeof(range);
+
+        if (range.byte_offset & TARGET_PAGE_MASK) {
+            goto eio;
+        }
+
+        for (; range.byte_count; range.byte_offset = 0) {
+            uint64_t paddr;
+            uint32_t plen = MIN(range.byte_count,
+                                TARGET_PAGE_SIZE - range.byte_offset);
+
+            if (len < sizeof(uint64_t)) {
+                goto eio;
+            }
+            ret = ring_iter_rw(iter, &paddr, sizeof(paddr));
+            if (ret < 0) {
+                goto err;
+            }
+            len -= sizeof(uint64_t);
+            paddr <<= TARGET_PAGE_BITS;
+            paddr |= range.byte_offset;
+            range.byte_count -= plen;
+
+            if (curaddr + curlen == paddr) {
+                /* consecutive fragments - join */
+                curlen += plen;
+            } else {
+                if (curlen) {
+                    qemu_sglist_add(&req->sgl, curaddr, curlen);
+                }
+
+                curaddr = paddr;
+                curlen = plen;
+            }
+        }
+    }
+
+    if (curlen) {
+        qemu_sglist_add(&req->sgl, curaddr, curlen);
+    }
+
+    return 0;
+eio:
+    ret = -EIO;
+err:
+    qemu_sglist_destroy(&req->sgl);
+    return ret;
+}
+
+static VMBusChanReq *vmbus_alloc_req(VMBusChannel *chan,
+                                     uint32_t size, uint16_t pkt_type,
+                                     uint32_t msglen, uint64_t transaction_id,
+                                     bool with_comp)
+{
+    VMBusChanReq *req;
+    uint32_t msgoff = QEMU_ALIGN_UP(size, __alignof__(*req->msg));
+    uint32_t compoff = QEMU_ALIGN_UP(msgoff + msglen, __alignof__(*req->comp));
+    uint32_t complen = with_comp ? msglen : 0;
+    uint32_t totlen = compoff + complen;
+
+    req = g_malloc0(totlen);
+    req->chan = chan;
+    req->pkt_type = pkt_type;
+    req->msg = (void *)req + msgoff;
+    req->msglen = msglen;
+    req->transaction_id = transaction_id;
+    req->comp = with_comp ? ((void *)req + compoff) : NULL;
+    return req;
+}
+
+void *vmbus_channel_recv(VMBusChannel *chan, uint32_t size)
+{
+    VMBusRingIter iter;
+    vmbus_packet_hdr hdr = {0};
+    VMBusChanReq *req = NULL;
+    uint32_t avail;
+    uint32_t pktlen, msglen, msgoff, desclen;
+    bool with_comp;
+
+    assert(size >= sizeof(*req));
+
+    if (chan->state != VMCHAN_OPEN) {
+        return NULL;
+    }
+
+    if (ring_iter_init(&iter, &chan->ringbuf_rcv)) {
+        return NULL;
+    }
+
+    avail = ring_iter_rcv_avail(&iter);
+    if (avail < sizeof(hdr)) {
+        goto err;
+    }
+
+    if (ring_iter_rw(&iter, &hdr, sizeof(hdr)) < 0) {
+        goto err;
+    }
+
+    pktlen = hdr.len_qwords * sizeof(uint64_t);
+    if (pktlen + sizeof(uint64_t) > avail) {
+        goto err;
+    }
+
+    msgoff = hdr.offset_qwords * sizeof(uint64_t);
+    if (msgoff > pktlen || msgoff < sizeof(hdr)) {
+        error_report("%s: malformed packet: %u %u", __func__, msgoff, pktlen);
+        goto err;
+    }
+
+    msglen = pktlen - msgoff;
+
+    with_comp = hdr.flags & VMBUS_PACKET_FLAG_REQUEST_COMPLETION;
+    if (with_comp && vmbus_channel_reserve(chan, 0, msglen)) {
+        goto err;
+    }
+
+    req = vmbus_alloc_req(chan, size, hdr.type, msglen, hdr.transaction_id,
+                          with_comp);
+
+    switch (hdr.type) {
+    case VMBUS_PACKET_DATA_USING_GPA_DIRECT:
+        desclen = msgoff - sizeof(hdr);
+        if (sgl_from_gpa_ranges(&iter, desclen, req) < 0) {
+            error_report("%s: failed to convert GPA ranges to SGL", __func__);
+            goto err;
+        }
+        break;
+    case VMBUS_PACKET_DATA_INBAND:
+    case VMBUS_PACKET_COMP:
+        break;
+    default:
+        error_report("%s: unexpected msg type: %x", __func__, hdr.type);
+        goto err;
+    }
+
+    ring_iter_set(&iter, msgoff);
+    if (ring_iter_rw(&iter, req->msg, msglen) < 0) {
+        goto err;
+    }
+    ring_iter_set(&iter, pktlen + sizeof(uint64_t));
+
+    if (ring_iter_rcv_update_idx(&iter)) {
+        signal_channel(chan);
+    }
+    ring_iter_done(&iter, true);
+    return req;
+err:
+    vmbus_release_req(req);
+    ring_iter_done(&iter, false);
+    return NULL;
+}
+
+void vmbus_release_req(void *req)
+{
+    VMBusChanReq *r = req;
+
+    if (!req) {
+        return;
+    }
+
+    if (r->sgl.dev) {
+        qemu_sglist_destroy(&r->sgl);
+    }
+    g_free(req);
+}
+
+static const VMStateDescription vmstate_sgent = {
+    .name = "vmbus/sgentry",
+    .version_id = 0,
+    .minimum_version_id = 0,
+    .fields = (VMStateField[]) {
+        VMSTATE_UINT64(base, ScatterGatherEntry),
+        VMSTATE_UINT64(len, ScatterGatherEntry),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+typedef struct VMBusChanReqSave {
+    uint16_t chan_idx;
+    uint16_t pkt_type;
+    uint32_t msglen;
+    void *msg;
+    uint64_t transaction_id;
+    bool with_comp;
+    uint32_t num;
+    ScatterGatherEntry *sgl;
+} VMBusChanReqSave;
+
+static const VMStateDescription vmstate_vmbus_chan_req = {
+    .name = "vmbus/vmbus_chan_req",
+    .version_id = 0,
+    .minimum_version_id = 0,
+    .fields = (VMStateField[]) {
+        VMSTATE_UINT16(chan_idx, VMBusChanReqSave),
+        VMSTATE_UINT16(pkt_type, VMBusChanReqSave),
+        VMSTATE_UINT32(msglen, VMBusChanReqSave),
+        VMSTATE_VBUFFER_ALLOC_UINT32(msg, VMBusChanReqSave, 0, NULL, msglen),
+        VMSTATE_UINT64(transaction_id, VMBusChanReqSave),
+        VMSTATE_BOOL(with_comp, VMBusChanReqSave),
+        VMSTATE_UINT32(num, VMBusChanReqSave),
+        VMSTATE_STRUCT_VARRAY_POINTER_UINT32(sgl, VMBusChanReqSave, num,
+                                             vmstate_sgent, ScatterGatherEntry),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+void vmbus_save_req(QEMUFile *f, VMBusChanReq *req)
+{
+    VMBusChanReqSave req_save;
+
+    req_save.chan_idx = req->chan->subchan_idx;
+    req_save.pkt_type = req->pkt_type;
+    req_save.msglen = req->msglen;
+    req_save.msg = req->msg;
+    req_save.transaction_id = req->transaction_id;
+    req_save.with_comp = !!req->comp;
+    req_save.num = req->sgl.nsg;
+    req_save.sgl = g_memdup(req->sgl.sg,
+                            req_save.num * sizeof(ScatterGatherEntry));
+
+    vmstate_save_state(f, &vmstate_vmbus_chan_req, &req_save, NULL);
+
+    g_free(req_save.sgl);
+}
+
+void *vmbus_load_req(QEMUFile *f, VMBusDevice *dev, uint32_t size)
+{
+    VMBusChanReqSave req_save;
+    VMBusChanReq *req = NULL;
+    VMBusChannel *chan = NULL;
+    uint32_t i;
+
+    vmstate_load_state(f, &vmstate_vmbus_chan_req, &req_save, 0);
+
+    if (req_save.chan_idx >= dev->num_channels) {
+        error_report("%s: %u(chan_idx) > %u(num_channels)", __func__,
+                     req_save.chan_idx, dev->num_channels);
+        goto out;
+    }
+    chan = &dev->channels[req_save.chan_idx];
+
+    if (vmbus_channel_reserve(chan, 0, req_save.msglen)) {
+        goto out;
+    }
+
+    req = vmbus_alloc_req(chan, size, req_save.pkt_type, req_save.msglen,
+                          req_save.transaction_id, req_save.with_comp);
+    if (req_save.msglen) {
+        memcpy(req->msg, req_save.msg, req_save.msglen);
+    }
+
+    for (i = 0; i < req_save.num; i++) {
+        qemu_sglist_add(&req->sgl, req_save.sgl[i].base, req_save.sgl[i].len);
+    }
+
+out:
+    if (req_save.msglen) {
+        g_free(req_save.msg);
+    }
+    if (req_save.num) {
+        g_free(req_save.sgl);
+    }
+    return req;
+}
+
+static void channel_event_cb(EventNotifier *e)
+{
+    VMBusChannel *chan = container_of(e, VMBusChannel, notifier);
+    if (event_notifier_test_and_clear(e)) {
+        chan->notify_cb(chan);
+    }
+}
+
+static int register_chan_ids(VMBusChannel *chan)
+{
+    int ret;
+
+    ret = hyperv_set_evt_notifier(chan->connid, &chan->notifier);
+    if (ret) {
+        return ret;
+    }
+
+    set_bit(chan->relid, chan->vmbus->chan_relid_bitmap);
+    set_bit(chan->connid, chan->vmbus->connection_id_bitmap);
+    return 0;
+}
+
+static void unregister_chan_ids(VMBusChannel *chan)
+{
+    clear_bit(chan->connid, chan->vmbus->connection_id_bitmap);
+    clear_bit(chan->relid, chan->vmbus->chan_relid_bitmap);
+    hyperv_set_evt_notifier(chan->connid, NULL);
+}
+
+static void init_channel(VMBus *vmbus, VMBusDevice *dev, VMBusDeviceClass *vdc,
+                         VMBusChannel *chan, uint16_t idx, Error **errp)
+{
+    int res;
+
+    chan->dev = dev;
+    chan->notify_cb = vdc->chan_notify_cb;
+    chan->subchan_idx = idx;
+    chan->vmbus = vmbus;
+
+    chan->relid = find_next_zero_bit(vmbus->chan_relid_bitmap,
+                                     VMBUS_CHAN_RELID_COUNT,
+                                     VMBUS_CHAN_FIRST_RELID);
+    if (chan->relid == VMBUS_CHAN_RELID_COUNT) {
+        error_setg(errp, "no spare relid");
+        return;
+    }
+
+    chan->connid = find_next_zero_bit(vmbus->connection_id_bitmap,
+                                      VMBUS_CHAN_CONNID_COUNT,
+                                      VMBUS_CHAN_FIRST_CONNID);
+    if (chan->connid == VMBUS_CHAN_CONNID_COUNT) {
+        error_setg(errp, "no spare connid");
+        return;
+    }
+
+    res = event_notifier_init(&chan->notifier, 0);
+    if (res) {
+        error_setg(errp, "event_notifier_init: %d", res);
+        return;
+    }
+
+    event_notifier_set_handler(&chan->notifier, channel_event_cb);
+
+    res = register_chan_ids(chan);
+    if (res) {
+        error_setg(errp, "register_chan_ids: %d", res);
+        event_notifier_cleanup(&chan->notifier);
+        return;
+    }
+}
+
+static void deinit_channel(VMBusChannel *chan)
+{
+    assert(chan->state == VMCHAN_INIT);
+    QTAILQ_REMOVE(&chan->vmbus->channel_list, chan, link);
+    unregister_chan_ids(chan);
+    event_notifier_cleanup(&chan->notifier);
+}
+
+static void create_channels(VMBus *vmbus, VMBusDevice *dev, Error **errp)
+{
+    uint16_t i;
+    VMBusDeviceClass *vdc = VMBUS_DEVICE_GET_CLASS(dev);
+    Error *err = NULL;
+
+    dev->num_channels = vdc->num_channels ? vdc->num_channels(dev) : 1;
+    if (dev->num_channels < 1) {
+        error_setg(&err, "invalid #channels: %u", dev->num_channels);
+        goto error_out;
+    }
+
+    dev->channels = g_new0(VMBusChannel, dev->num_channels);
+    for (i = 0; i < dev->num_channels; i++) {
+        init_channel(vmbus, dev, vdc, &dev->channels[i], i, &err);
+        if (err) {
+            goto err_init;
+        }
+
+        /*
+         * The guest drivers depend on the device subchannels (channels #1+) to
+         * be offered after the main channel (channel #0) of that device.  To
+         * ensure that, record the channels on the channel list in the order
+         * they appear within the device.
+         */
+        QTAILQ_INSERT_TAIL(&vmbus->channel_list, &dev->channels[i], link);
+    }
+
+    return;
+
+err_init:
+    while (i--) {
+        deinit_channel(&dev->channels[i]);
+    }
+error_out:
+    error_propagate(errp, err);
+}
+
+static void free_channels(VMBus *vmbus, VMBusDevice *dev)
+{
+    uint16_t i;
+    for (i = 0; i < dev->num_channels; i++) {
+        deinit_channel(&dev->channels[i]);
+    }
+    g_free(dev->channels);
+}
+
+static HvSintRoute *make_sint_route(VMBus *vmbus, uint32_t vp_index)
+{
+    VMBusChannel *chan;
+
+    if (vp_index == vmbus->target_vp) {
+        hyperv_sint_route_ref(vmbus->sint_route);
+        return vmbus->sint_route;
+    }
+
+    QTAILQ_FOREACH(chan, &vmbus->channel_list, link) {
+        if (chan->target_vp == vp_index && chan->notify_route) {
+            hyperv_sint_route_ref(chan->notify_route);
+            return chan->notify_route;
+        }
+    }
+
+    return hyperv_sint_route_new(vp_index, VMBUS_SINT, NULL, NULL);
+}
+
+static void open_channel(VMBusChannel *chan)
+{
+    VMBusDeviceClass *vdc = VMBUS_DEVICE_GET_CLASS(chan->dev);
+
+    chan->gpadl = vmbus_get_gpadl(chan, chan->rb_gpadl);
+    if (!chan->gpadl) {
+        return;
+    }
+
+    if (ringbuf_init(&chan->ringbuf_rcv, chan, DMA_DIRECTION_TO_DEVICE) ||
+        ringbuf_init(&chan->ringbuf_snd, chan, DMA_DIRECTION_FROM_DEVICE)) {
+        goto put_gpadl;
+    }
+
+    chan->notify_route = make_sint_route(chan->vmbus, chan->target_vp);
+    if (!chan->notify_route) {
+        goto put_gpadl;
+    }
+
+    if (vdc->open_channel && vdc->open_channel(chan->dev)) {
+        goto err_vdc_open;
+    }
+
+    return;
+
+err_vdc_open:
+    hyperv_sint_route_unref(chan->notify_route);
+put_gpadl:
+    vmbus_put_gpadl(chan->gpadl);
+    chan->gpadl = NULL;
+}
+
+static void close_channel(VMBusChannel *chan)
+{
+    VMBusDeviceClass *vdc = VMBUS_DEVICE_GET_CLASS(chan->dev);
+
+    if (chan->state != VMCHAN_OPEN) {
+        return;
+    }
+
+    if (vdc->close_channel) {
+        vdc->close_channel(chan->dev);
+    }
+
+    vmbus_put_gpadl(chan->gpadl);
+    chan->gpadl = NULL;
+    chan->state = VMCHAN_INIT;
+    chan->snd_reserved = 0;
+    hyperv_sint_route_unref(chan->notify_route);
+    chan->notify_route = NULL;
+}
+
+static int channel_post_load(void *opaque, int version_id)
+{
+    VMBusChannel *chan = opaque;
+
+    if (chan->state == VMCHAN_OPENING || chan->state == VMCHAN_OPEN) {
+        open_channel(chan);
+    }
+
+    /*
+     * if the channel was still transitioning we'll report failure via reply
+     * message, no need to error out now
+     */
+    if (chan->state == VMCHAN_OPEN && channel_broken(chan)) {
+        chan->state = VMCHAN_INIT;
+        return -1;
+    }
+
+    if (chan->state == VMCHAN_OPEN) {
+        /* resume processing on the guest side if it missed the notification */
+        kvm_hv_sint_route_set_sint(chan->notify_route);
+    }
+    return 0;
+}
+
+static const VMStateDescription vmstate_channel = {
+    .name = "vmbus/channel",
+    .version_id = 0,
+    .minimum_version_id = 0,
+    .post_load = channel_post_load,
+    .fields = (VMStateField[]) {
+        VMSTATE_UINT32(relid, VMBusChannel),
+        VMSTATE_UINT16(subchan_idx, VMBusChannel),
+        VMSTATE_UINT32(connid, VMBusChannel),
+        VMSTATE_UINT32(open_id, VMBusChannel),
+        VMSTATE_UINT32(target_vp, VMBusChannel),
+        VMSTATE_UINT32(rb_gpadl, VMBusChannel),
+        VMSTATE_UINT32(rb_rcv_offset, VMBusChannel),
+        VMSTATE_UINT32(offer_state, VMBusChannel),
+        VMSTATE_UINT32(state, VMBusChannel),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+static VMBusChannel *find_channel(VMBus *vmbus, uint32_t relid)
+{
+    VMBusChannel *chan;
+    QTAILQ_FOREACH(chan, &vmbus->channel_list, link) {
+        if (chan->relid == relid) {
+            return chan;
+        }
+    }
+    return NULL;
+}
+
+static int enqueue_incoming_message(VMBus *vmbus,
+                                    const struct hyperv_post_message_input *msg)
+{
+    uint8_t idx, prev_size;
+
+    qemu_mutex_lock(&vmbus->rx_queue_lock);
+
+    if (vmbus->rx_queue_size == VMBUS_RX_QUEUE_CAPACITY) {
+        qemu_mutex_unlock(&vmbus->rx_queue_lock);
+        return -ENOBUFS;
+    }
+
+    prev_size = vmbus->rx_queue_size;
+    idx = (vmbus->rx_queue_head + vmbus->rx_queue_size) %
+        VMBUS_RX_QUEUE_CAPACITY;
+    memcpy(&vmbus->rx_queue[idx], msg, sizeof(*msg));
+    vmbus->rx_queue_size++;
+
+    qemu_mutex_unlock(&vmbus->rx_queue_lock);
+
+    /* only need to resched if the queue was empty before */
+    if (!prev_size) {
+        vmbus_resched(vmbus);
+    }
+
+    return 0;
+}
+
+static uint64_t vmbus_recv_message(const struct hyperv_post_message_input *msg,
+                                   void *data)
+{
+    VMBus *vmbus = data;
+    struct vmbus_message_header *vmbus_msg;
+
+    if (msg->message_type != HV_MESSAGE_VMBUS) {
+        return HV_STATUS_INVALID_HYPERCALL_INPUT;
+    }
+
+    if (msg->payload_size < sizeof(struct vmbus_message_header)) {
+        return HV_STATUS_INVALID_HYPERCALL_INPUT;
+    }
+
+    vmbus_msg = (struct vmbus_message_header*)msg->payload;
+
+    trace_vmbus_recv_message(vmbus_msg->message_type, msg->payload_size);
+
+    if (vmbus_msg->message_type == VMBUS_MSG_INVALID ||
+        vmbus_msg->message_type >= VMBUS_MSG_COUNT) {
+        error_report("vmbus: unknown message type %#x",
+                     vmbus_msg->message_type);
+        return HV_STATUS_INVALID_HYPERCALL_INPUT;
+    }
+
+    if (enqueue_incoming_message(vmbus, msg)) {
+        return HV_STATUS_INSUFFICIENT_BUFFERS;
+    }
+    return HV_STATUS_SUCCESS;
+}
+
+static bool vmbus_initialized(VMBus *vmbus)
+{
+    return vmbus->version > 0 && vmbus->version <= VMBUS_VERSION_CURRENT;
+}
+
+static void vmbus_reset_all(VMBus *vmbus)
+{
+    qbus_reset_all(BUS(vmbus));
+}
+
+static void post_msg(VMBus *vmbus, void *msgdata, uint32_t msglen)
+{
+    int ret;
+    struct hyperv_message msg = {
+        .header.message_type = HV_MESSAGE_VMBUS,
+    };
+
+    assert(!vmbus->msg_in_progress);
+    assert(msglen <= sizeof(msg.payload));
+    assert(msglen >= sizeof(struct vmbus_message_header));
+
+    vmbus->msg_in_progress = true;
+
+    trace_vmbus_post_msg(((struct vmbus_message_header *)msgdata)->message_type,
+                         msglen);
+
+    memcpy(msg.payload, msgdata, msglen);
+    msg.header.payload_size = ROUND_UP(msglen, VMBUS_MESSAGE_SIZE_ALIGN);
+
+    ret = hyperv_post_msg(vmbus->sint_route, &msg);
+    if (ret == 0 || ret == -EAGAIN) {
+        return;
+    }
+
+    error_report("message delivery fatal failure: %d; aborting vmbus", ret);
+    vmbus_reset_all(vmbus);
+}
+
+static int vmbus_init(VMBus *vmbus)
+{
+    if (vmbus->target_vp != (uint32_t)-1) {
+        vmbus->sint_route = hyperv_sint_route_new(vmbus->target_vp, VMBUS_SINT,
+                                                  vmbus_msg_cb, vmbus);
+        if (!vmbus->sint_route) {
+            error_report("failed to set up SINT route");
+            return -ENOMEM;
+        }
+    }
+    return 0;
+}
+
+static void vmbus_deinit(VMBus *vmbus)
+{
+    while (!QTAILQ_EMPTY(&vmbus->gpadl_list)) {
+        free_gpadl(vmbus, QTAILQ_FIRST(&vmbus->gpadl_list));
+    }
+
+    hyperv_sint_route_unref(vmbus->sint_route);
+
+    vmbus->sint_route = NULL;
+    vmbus->int_page_gpa = 0;
+    vmbus->target_vp = (uint32_t)-1;
+    vmbus->version = 0;
+    vmbus->state = VMBUS_LISTEN;
+    vmbus->msg_in_progress = false;
+}
+
+static void handle_initiate_contact(VMBus *vmbus,
+                                    vmbus_message_initiate_contact *msg,
+                                    uint32_t msglen)
+{
+    if (msglen < sizeof(*msg)) {
+        return;
+    }
+
+    trace_vmbus_initiate_contact(msg->version_requested, msg->target_vcpu,
+            msg->monitor_page1, msg->monitor_page2, msg->interrupt_page);
+
+    /*
+     * Reset vmbus on INITIATE_CONTACT regardless of its previous state.
+     * Useful, in particular, with vmbus-aware BIOS which can't shut vmbus down
+     * before handing over to OS loader.
+     */
+    vmbus_reset_all(vmbus);
+
+    vmbus->target_vp = msg->target_vcpu;
+    vmbus->version = msg->version_requested;
+    if (vmbus->version < VMBUS_VERSION_WIN8) {
+        /* linux passes interrupt page even when it doesn't need it */
+        vmbus->int_page_gpa = msg->interrupt_page;
+    }
+    vmbus->state = VMBUS_HANDSHAKE;
+
+    if (vmbus_init(vmbus)) {
+        error_report("failed to init vmbus; aborting");
+        vmbus_deinit(vmbus);
+        return;
+    }
+}
+
+static void send_handshake(VMBus *vmbus)
+{
+    struct vmbus_message_version_response msg = {
+        .header.message_type = VMBUS_MSG_VERSION_RESPONSE,
+        .version_supported = vmbus_initialized(vmbus),
+    };
+
+    post_msg(vmbus, &msg, sizeof(msg));
+}
+
+static void complete_handshake(VMBus *vmbus)
+{
+    vmbus->state = VMBUS_LISTEN;
+}
+
+static void handle_request_offers(VMBus *vmbus, void *msgdata, uint32_t msglen)
+{
+    VMBusChannel *chan;
+
+    if (!vmbus_initialized(vmbus)) {
+        return;
+    }
+
+    QTAILQ_FOREACH(chan, &vmbus->channel_list, link) {
+        if (chan->offer_state == VMOFFER_INIT) {
+            chan->offer_state = VMOFFER_SENDING;
+            break;
+        }
+    }
+
+    vmbus->state = VMBUS_OFFER;
+}
+
+static void send_offer(VMBus *vmbus)
+{
+    VMBusChannel *chan;
+    struct vmbus_message_header alloffers_msg = {
+        .message_type = VMBUS_MSG_ALLOFFERS_DELIVERED,
+    };
+
+    QTAILQ_FOREACH(chan, &vmbus->channel_list, link) {
+        if (chan->offer_state == VMOFFER_SENDING) {
+            VMBusDeviceClass *vdc = VMBUS_DEVICE_GET_CLASS(chan->dev);
+            QemuUUID classid = vdc->classid;
+            QemuUUID instanceid = chan->dev->instanceid;
+            struct vmbus_message_offer_channel msg = {
+                .header.message_type = VMBUS_MSG_OFFERCHANNEL,
+                .child_relid = chan->relid,
+                .connection_id = chan->connid,
+                .channel_flags = vdc->channel_flags,
+                .mmio_size_mb = vdc->mmio_size_mb,
+                .sub_channel_index = vmbus_channel_idx(chan),
+                .interrupt_flags = VMBUS_OFFER_INTERRUPT_DEDICATED,
+            };
+
+            /* Hyper-V wants LE GUIDs */
+            qemu_uuid_bswap(&classid);
+            memcpy(msg.type_uuid, &classid, sizeof(classid));
+            qemu_uuid_bswap(&instanceid);
+            memcpy(msg.instance_uuid, &instanceid, sizeof(instanceid));
+
+            post_msg(vmbus, &msg, sizeof(msg));
+            return;
+        }
+    }
+
+    /* no more offers, send completion message */
+    post_msg(vmbus, &alloffers_msg, sizeof(alloffers_msg));
+}
+
+static void complete_offer(VMBus *vmbus)
+{
+    VMBusChannel *chan;
+
+    QTAILQ_FOREACH(chan, &vmbus->channel_list, link) {
+        if (chan->offer_state == VMOFFER_SENDING) {
+            chan->offer_state = VMOFFER_SENT;
+            chan = QTAILQ_NEXT(chan, link);
+            if (chan) {
+                chan->offer_state = VMOFFER_SENDING;
+            }
+            /* more offers or terminator, no state transition */
+            return;
+        }
+    }
+    /* no more offers, can listen again */
+    vmbus->state = VMBUS_LISTEN;
+}
+
+
+static void handle_gpadl_header(VMBus *vmbus, vmbus_message_gpadl_header *msg,
+                                uint32_t msglen)
+{
+    VMBusGpadl *gpadl;
+    uint32_t num_gfns_tot, num_gfns, i;
+
+    if (msglen < sizeof(*msg) || !vmbus_initialized(vmbus)) {
+        return;
+    }
+
+    if (msg->rangecount != 1 ||
+        (msg->range.byte_count & (TARGET_PAGE_SIZE - 1)) ||
+        find_gpadl(vmbus, msg->gpadl_id)) {
+        /* create a temporary broken GPADL to reply with failure */
+        num_gfns_tot = 0;
+    } else {
+        num_gfns_tot = msg->range.byte_count  >> TARGET_PAGE_BITS;
+    }
+
+    gpadl = create_gpadl(vmbus, msg->gpadl_id, msg->child_relid, num_gfns_tot);
+
+    num_gfns = (msglen - sizeof(*msg)) / sizeof(uint64_t);
+    if (num_gfns > num_gfns_tot) {
+        num_gfns = num_gfns_tot;
+    }
+
+    for (i = 0; i < num_gfns; i++) {
+        gpadl->gfns[gpadl->seen_gfns++] = msg->range.pfn_array[i];
+    }
+
+    if (gpadl_full(gpadl)) {
+        vmbus->state = VMBUS_CREATE_GPADL;
+    }
+}
+
+static void handle_gpadl_body(VMBus *vmbus, vmbus_message_gpadl_body *msg,
+                              uint32_t msglen)
+{
+    VMBusGpadl *gpadl;
+    uint32_t num_gfns_left, num_gfns, i;
+
+    if (msglen < sizeof(*msg) || !vmbus_initialized(vmbus)) {
+        return;
+    }
+
+    gpadl = find_gpadl(vmbus, msg->gpadl_id);
+    if (!gpadl) {
+        /* create a temporary broken GPADL to reply with failure */
+        gpadl = create_gpadl(vmbus, msg->gpadl_id, 0, 0);
+    }
+
+    num_gfns_left = gpadl->num_gfns - gpadl->seen_gfns;
+    num_gfns = (msglen - sizeof(*msg)) / sizeof(uint64_t);
+    assert(num_gfns_left);
+    if (num_gfns > num_gfns_left) {
+        num_gfns = num_gfns_left;
+    }
+
+    for (i = 0; i < num_gfns; i++) {
+        gpadl->gfns[gpadl->seen_gfns++] = msg->pfn_array[i];
+    }
+
+    if (gpadl_full(gpadl)) {
+        vmbus->state = VMBUS_CREATE_GPADL;
+    }
+}
+
+static void send_create_gpadl(VMBus *vmbus)
+{
+    VMBusGpadl *gpadl;
+
+    QTAILQ_FOREACH(gpadl, &vmbus->gpadl_list, link) {
+        if (gpadl_full(gpadl) && !gpadl->alive) {
+            struct vmbus_message_gpadl_created msg = {
+                .header.message_type = VMBUS_MSG_GPADL_CREATED,
+                .gpadl_id = gpadl->id,
+                .child_relid = gpadl->child_relid,
+                .status = gpadl_broken(gpadl),
+            };
+
+            post_msg(vmbus, &msg, sizeof(msg));
+            return;
+        }
+    }
+
+    assert(false);
+}
+
+static void complete_create_gpadl(VMBus *vmbus)
+{
+    VMBusGpadl *gpadl;
+
+    QTAILQ_FOREACH(gpadl, &vmbus->gpadl_list, link) {
+        if (gpadl_full(gpadl) && !gpadl->alive) {
+            if (gpadl_broken(gpadl)) {
+                free_gpadl(vmbus, gpadl);
+            } else {
+                gpadl->alive = true;
+            }
+
+            vmbus->state = VMBUS_LISTEN;
+            return;
+        }
+    }
+
+    assert(false);
+}
+
+static void handle_gpadl_teardown(VMBus *vmbus,
+                                  vmbus_message_gpadl_teardown *msg,
+                                  uint32_t msglen)
+{
+    VMBusGpadl *gpadl;
+
+    if (msglen < sizeof(*msg) || !vmbus_initialized(vmbus)) {
+        return;
+    }
+
+    gpadl = find_gpadl(vmbus, msg->gpadl_id);
+    if (!gpadl || gpadl->in_use) {
+        return;
+    }
+
+    gpadl->alive = false;
+    vmbus->state = VMBUS_TEARDOWN_GPADL;
+}
+
+static void send_teardown_gpadl(VMBus *vmbus)
+{
+    VMBusGpadl *gpadl;
+
+    QTAILQ_FOREACH(gpadl, &vmbus->gpadl_list, link) {
+        if (gpadl_full(gpadl) && !gpadl->alive) {
+            struct vmbus_message_gpadl_torndown msg = {
+                .header.message_type = VMBUS_MSG_GPADL_TORNDOWN,
+                .gpadl_id = gpadl->id,
+            };
+
+            post_msg(vmbus, &msg, sizeof(msg));
+            return;
+        }
+    }
+
+    assert(false);
+}
+
+static void complete_teardown_gpadl(VMBus *vmbus)
+{
+    VMBusGpadl *gpadl;
+
+    QTAILQ_FOREACH(gpadl, &vmbus->gpadl_list, link) {
+        if (gpadl_full(gpadl) && !gpadl->alive) {
+            free_gpadl(vmbus, gpadl);
+            vmbus->state = VMBUS_LISTEN;
+            return;
+        }
+    }
+
+    assert(false);
+}
+
+static void handle_open_channel(VMBus *vmbus, vmbus_message_open_channel *msg,
+                                uint32_t msglen)
+{
+    VMBusChannel *chan;
+
+    if (msglen < sizeof(*msg) || !vmbus_initialized(vmbus)) {
+        return;
+    }
+
+    chan = find_channel(vmbus, msg->child_relid);
+    if (!chan || chan->state != VMCHAN_INIT) {
+        /* FIXME: think of replying with an error */
+        return;
+    }
+
+    chan->state = VMCHAN_OPENING;
+    chan->rb_gpadl = msg->ring_buffer_gpadl_id;
+    chan->rb_rcv_offset = msg->ring_buffer_offset;
+    chan->target_vp = msg->target_vp;
+    chan->open_id = msg->open_id;
+
+    open_channel(chan);
+    vmbus->state = VMBUS_OPEN_CHANNEL;
+}
+
+static void send_open_channel(VMBus *vmbus)
+{
+    VMBusChannel *chan;
+
+    QTAILQ_FOREACH(chan, &vmbus->channel_list, link) {
+        if (chan->state == VMCHAN_OPENING) {
+            struct vmbus_message_open_result msg = {
+                .header.message_type = VMBUS_MSG_OPENCHANNEL_RESULT,
+                .child_relid = chan->relid,
+                .open_id = chan->open_id,
+                .status = channel_broken(chan),
+            };
+
+            post_msg(vmbus, &msg, sizeof(msg));
+            return;
+        }
+    }
+
+    assert(false);
+}
+
+static void complete_open_channel(VMBus *vmbus)
+{
+    VMBusChannel *chan;
+
+    QTAILQ_FOREACH(chan, &vmbus->channel_list, link) {
+        if (chan->state == VMCHAN_OPENING) {
+            chan->state = channel_broken(chan) ? VMCHAN_INIT : VMCHAN_OPEN;
+            vmbus->state = VMBUS_LISTEN;
+            return;
+        }
+    }
+
+    assert(false);
+}
+
+static void handle_close_channel(VMBus *vmbus, vmbus_message_close_channel *msg,
+                                 uint32_t msglen)
+{
+    VMBusChannel *chan;
+
+    if (msglen < sizeof(*msg) || !vmbus_initialized(vmbus)) {
+        return;
+    }
+
+    chan = find_channel(vmbus, msg->child_relid);
+    if (!chan) {
+        return;
+    }
+
+    close_channel(chan);
+}
+
+static void handle_unload(VMBus *vmbus, void *msg, uint32_t msglen)
+{
+    vmbus->state = VMBUS_UNLOAD;
+}
+
+static void send_unload(VMBus *vmbus)
+{
+    vmbus_message_header msg = {
+        .message_type = VMBUS_MSG_UNLOAD_RESPONSE,
+    };
+
+    qemu_mutex_lock(&vmbus->rx_queue_lock);
+    vmbus->rx_queue_size = 0;
+    qemu_mutex_unlock(&vmbus->rx_queue_lock);
+
+    post_msg(vmbus, &msg, sizeof(msg));
+    return;
+}
+
+static void complete_unload(VMBus *vmbus)
+{
+    vmbus_reset_all(vmbus);
+}
+
+static void process_incoming_message(VMBus *vmbus)
+{
+    struct hyperv_post_message_input *hv_msg;
+    struct vmbus_message_header *msg;
+    void *msgdata;
+    uint32_t msglen;
+
+    qemu_mutex_lock(&vmbus->rx_queue_lock);
+
+    if (!vmbus->rx_queue_size) {
+        goto unlock;
+    }
+
+    hv_msg = &vmbus->rx_queue[vmbus->rx_queue_head];
+    msglen =  hv_msg->payload_size;
+    if (msglen < sizeof(*msg)) {
+        goto out;
+    }
+    msgdata = hv_msg->payload;
+    msg = (struct vmbus_message_header*)msgdata;
+
+    trace_vmbus_process_incoming_message(msg->message_type);
+
+    switch (msg->message_type) {
+    case VMBUS_MSG_INITIATE_CONTACT:
+        handle_initiate_contact(vmbus, msgdata, msglen);
+        break;
+    case VMBUS_MSG_REQUESTOFFERS:
+        handle_request_offers(vmbus, msgdata, msglen);
+        break;
+    case VMBUS_MSG_GPADL_HEADER:
+        handle_gpadl_header(vmbus, msgdata, msglen);
+        break;
+    case VMBUS_MSG_GPADL_BODY:
+        handle_gpadl_body(vmbus, msgdata, msglen);
+        break;
+    case VMBUS_MSG_GPADL_TEARDOWN:
+        handle_gpadl_teardown(vmbus, msgdata, msglen);
+        break;
+    case VMBUS_MSG_OPENCHANNEL:
+        handle_open_channel(vmbus, msgdata, msglen);
+        break;
+    case VMBUS_MSG_CLOSECHANNEL:
+        handle_close_channel(vmbus, msgdata, msglen);
+        break;
+    case VMBUS_MSG_UNLOAD:
+        handle_unload(vmbus, msgdata, msglen);
+        break;
+    default:
+        error_report("unknown message type %#x", msg->message_type);
+        break;
+    }
+
+out:
+    vmbus->rx_queue_size--;
+    vmbus->rx_queue_head++;
+    vmbus->rx_queue_head %= VMBUS_RX_QUEUE_CAPACITY;
+
+    vmbus_resched(vmbus);
+unlock:
+    qemu_mutex_unlock(&vmbus->rx_queue_lock);
+}
+
+static void vmbus_run(void *opaque)
+{
+    VMBus *vmbus = opaque;
+
+    if (vmbus->msg_in_progress) {
+        return;
+    }
+
+    switch(vmbus->state) {
+    case VMBUS_LISTEN:
+        process_incoming_message(vmbus);
+        break;
+    case VMBUS_HANDSHAKE:
+        send_handshake(vmbus);
+        break;
+    case VMBUS_OFFER:
+        send_offer(vmbus);
+        break;
+    case VMBUS_CREATE_GPADL:
+        send_create_gpadl(vmbus);
+        break;
+    case VMBUS_TEARDOWN_GPADL:
+        send_teardown_gpadl(vmbus);
+        break;
+    case VMBUS_OPEN_CHANNEL:
+        send_open_channel(vmbus);
+        break;
+    case VMBUS_UNLOAD:
+        send_unload(vmbus);
+        break;
+    default:
+        assert(false);
+    };
+}
+
+static void vmbus_msg_cb(void *data, int status)
+{
+    VMBus *vmbus = data;
+
+    assert(vmbus->msg_in_progress);
+
+    trace_vmbus_post_reply_callback(status);
+
+    if (status == -EAGAIN) {
+        goto out;
+    }
+    if (status) {
+        error_report("message delivery fatal failure: %d; aborting vmbus",
+                     status);
+        vmbus_reset_all(vmbus);
+        return;
+    }
+
+    switch (vmbus->state) {
+    case VMBUS_HANDSHAKE:
+        complete_handshake(vmbus);
+        break;
+    case VMBUS_OFFER:
+        complete_offer(vmbus);
+        break;
+    case VMBUS_CREATE_GPADL:
+        complete_create_gpadl(vmbus);
+        break;
+    case VMBUS_TEARDOWN_GPADL:
+        complete_teardown_gpadl(vmbus);
+        break;
+    case VMBUS_OPEN_CHANNEL:
+        complete_open_channel(vmbus);
+        break;
+    case VMBUS_UNLOAD:
+        complete_unload(vmbus);
+        break;
+    default:
+        assert(false);
+    }
+
+out:
+    vmbus->msg_in_progress = false;
+    vmbus_resched(vmbus);
+}
+
+static void vmbus_resched(VMBus *vmbus)
+{
+    aio_bh_schedule_oneshot(qemu_get_aio_context(), vmbus_run, vmbus);
+}
+
+static void vmbus_signal_event(EventNotifier *e)
+{
+    VMBusChannel *chan;
+    VMBus *vmbus = container_of(e, VMBus, notifier);
+    unsigned long *int_map;
+    hwaddr addr, len;
+    bool is_dirty = false;
+
+    if (!event_notifier_test_and_clear(e)) {
+        return;
+    }
+
+    trace_vmbus_signal_event();
+
+    if (!vmbus->int_page_gpa) {
+        return;
+    }
+
+    addr = vmbus->int_page_gpa + TARGET_PAGE_SIZE / 2;
+    len = TARGET_PAGE_SIZE / 2;
+    int_map = cpu_physical_memory_map(addr, &len, 1);
+    if (len != TARGET_PAGE_SIZE / 2) {
+        goto unmap;
+    }
+
+    QTAILQ_FOREACH(chan, &vmbus->channel_list, link) {
+        if (bitmap_test_and_clear_atomic(int_map, chan->relid, 1)) {
+            event_notifier_set(&chan->notifier);
+            is_dirty = true;
+        }
+    }
+
+unmap:
+    cpu_physical_memory_unmap(int_map, len, 1, is_dirty);
+}
+
+static void vmbus_dev_realize(DeviceState *dev, Error **errp)
+{
+    VMBusDevice *vdev = VMBUS_DEVICE(dev);
+    VMBusDeviceClass *vdc = VMBUS_DEVICE_GET_CLASS(vdev);
+    VMBus *vmbus = VMBUS(qdev_get_parent_bus(dev));
+    BusChild *child;
+    Error *err = NULL;
+    char idstr[UUID_FMT_LEN + 1];
+
+    if (!qemu_uuid_is_null(&vdc->instanceid)) {
+        /* Class wants to only have a single instance with a fixed UUID */
+        vdev->instanceid = vdc->instanceid;
+    }
+    assert(!qemu_uuid_is_null(&vdev->instanceid));
+
+    /* Check for instance id collision for this class id */
+    QTAILQ_FOREACH(child, &BUS(vmbus)->children, sibling) {
+        VMBusDevice *child_dev = VMBUS_DEVICE(child->child);
+
+        if (child_dev == vdev) {
+            continue;
+        }
+
+        if (qemu_uuid_is_equal(&child_dev->instanceid, &vdev->instanceid)) {
+            qemu_uuid_unparse(&vdev->instanceid, idstr);
+            error_setg(&err, "duplicate vmbus device instance id %s", idstr);
+            goto error_out;
+        }
+    }
+
+    vdev->dma_as = &address_space_memory;
+
+    create_channels(vmbus, vdev, &err);
+    if (err) {
+        goto error_out;
+    }
+
+    if (vdc->vmdev_realize) {
+        vdc->vmdev_realize(vdev, &err);
+        if (err) {
+            goto err_vdc_realize;
+        }
+    }
+    return;
+
+err_vdc_realize:
+    free_channels(vmbus, vdev);
+error_out:
+    error_propagate(errp, err);
+}
+
+static void vmbus_dev_reset(DeviceState *dev)
+{
+    uint16_t i;
+    VMBusDevice *vdev = VMBUS_DEVICE(dev);
+    VMBusDeviceClass *vdc = VMBUS_DEVICE_GET_CLASS(vdev);
+
+    if (vdc->vmdev_reset) {
+        vdc->vmdev_reset(vdev);
+    }
+
+    if (vdev->channels) {
+        for (i = 0; i < vdev->num_channels; i++) {
+            VMBusChannel *chan = &vdev->channels[i];
+            if (chan->state == VMCHAN_OPEN) {
+                close_channel(chan);
+            }
+            chan->offer_state = VMOFFER_INIT;
+        }
+    }
+}
+
+static void vmbus_dev_unrealize(DeviceState *dev, Error **errp)
+{
+    VMBusDevice *vdev = VMBUS_DEVICE(dev);
+    VMBusDeviceClass *vdc = VMBUS_DEVICE_GET_CLASS(vdev);
+    VMBus *vmbus = VMBUS(qdev_get_parent_bus(dev));
+
+    if (vdc->vmdev_unrealize) {
+        vdc->vmdev_unrealize(vdev, errp);
+    }
+    free_channels(vmbus, vdev);
+}
+
+static void vmbus_dev_class_init(ObjectClass *klass, void *data)
+{
+    DeviceClass *kdev = DEVICE_CLASS(klass);
+    kdev->bus_type = TYPE_VMBUS;
+    kdev->realize = vmbus_dev_realize;
+    kdev->unrealize = vmbus_dev_unrealize;
+    kdev->reset = vmbus_dev_reset;
+}
+
+static int vmbus_dev_post_load(void *opaque, int version_id)
+{
+    int ret;
+    uint16_t i;
+    VMBusDevice *dev = opaque;
+
+    for (i = 0; i < dev->num_channels; i++) {
+        ret = register_chan_ids(&dev->channels[i]);
+        if (ret) {
+            goto err_reg;
+        }
+    }
+
+    return 0;
+
+err_reg:
+    while (i--) {
+        unregister_chan_ids(&dev->channels[i]);
+    }
+    return ret;
+}
+
+const VMStateDescription vmstate_vmbus_dev = {
+    .name = TYPE_VMBUS_DEVICE,
+    .version_id = 0,
+    .minimum_version_id = 0,
+    .post_load = vmbus_dev_post_load,
+    .fields = (VMStateField[]) {
+        VMSTATE_UINT8_ARRAY(instanceid.data, VMBusDevice, 16),
+        VMSTATE_UINT16(num_channels, VMBusDevice),
+        VMSTATE_STRUCT_VARRAY_POINTER_UINT16(channels, VMBusDevice, num_channels,
+                                             vmstate_channel, VMBusChannel),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+/* vmbus generic device base */
+static const TypeInfo vmbus_dev_type_info = {
+    .name = TYPE_VMBUS_DEVICE,
+    .parent = TYPE_DEVICE,
+    .abstract = true,
+    .instance_size = sizeof(VMBusDevice),
+    .class_size = sizeof(VMBusDeviceClass),
+    .class_init = vmbus_dev_class_init,
+};
+
+static void vmbus_realize(BusState *bus, Error **errp)
+{
+    int ret = 0;
+    Error *local_err = NULL;
+    VMBus *vmbus = VMBUS(bus);
+
+    qemu_mutex_init(&vmbus->rx_queue_lock);
+
+    QTAILQ_INIT(&vmbus->gpadl_list);
+    QTAILQ_INIT(&vmbus->channel_list);
+
+    ret = hyperv_set_msg_handler(VMBUS_MESSAGE_CONNECTION_ID,
+                                 vmbus_recv_message, vmbus);
+    if (ret != 0) {
+        error_setg(&local_err, "hyperv set message handler failed: %d", ret);
+        goto error_out;
+    }
+
+    ret = event_notifier_init(&vmbus->notifier, 0);
+    if (ret != 0) {
+        error_setg(&local_err, "event notifier failed to init with %d", ret);
+        goto remove_msg_handler;
+    }
+
+    event_notifier_set_handler(&vmbus->notifier, vmbus_signal_event);
+    ret = hyperv_set_evt_notifier(VMBUS_EVENT_CONNECTION_ID,
+                                  &vmbus->notifier);
+    if (ret != 0) {
+        error_setg(&local_err, "hyperv set event handler failed with %d", ret);
+        goto clear_event_notifier;
+    }
+
+    return;
+
+clear_event_notifier:
+    event_notifier_cleanup(&vmbus->notifier);
+remove_msg_handler:
+    hyperv_set_msg_handler(VMBUS_MESSAGE_CONNECTION_ID, NULL, NULL);
+error_out:
+    qemu_mutex_destroy(&vmbus->rx_queue_lock);
+    error_propagate(errp, local_err);
+}
+
+static void vmbus_unrealize(BusState *bus, Error **errp)
+{
+    VMBus *vmbus = VMBUS(bus);
+
+    hyperv_set_msg_handler(VMBUS_MESSAGE_CONNECTION_ID, NULL, NULL);
+    hyperv_set_evt_notifier(VMBUS_MESSAGE_CONNECTION_ID, NULL);
+    event_notifier_cleanup(&vmbus->notifier);
+
+    qemu_mutex_destroy(&vmbus->rx_queue_lock);
+}
+
+static void vmbus_reset(BusState *bus)
+{
+    vmbus_deinit(VMBUS(bus));
+}
+
+static char *vmbus_get_dev_path(DeviceState *dev)
+{
+    BusState *bus = qdev_get_parent_bus(dev);
+    return qdev_get_dev_path(bus->parent);
+}
+
+static char *vmbus_get_fw_dev_path(DeviceState *dev)
+{
+    VMBusDevice *vdev = VMBUS_DEVICE(dev);
+    char path[32 + 1 + UUID_FMT_LEN + 1];
+    int off;
+
+    off = snprintf(path, sizeof(path), "%s@", qdev_fw_name(dev));
+    if (sizeof(path) - off > UUID_FMT_LEN) {
+        qemu_uuid_unparse(&vdev->instanceid, path + off);
+    }
+    return g_strdup(path);
+}
+
+static void vmbus_class_init(ObjectClass *klass, void *data)
+{
+    BusClass *k = BUS_CLASS(klass);
+
+    k->get_dev_path = vmbus_get_dev_path;
+    k->get_fw_dev_path = vmbus_get_fw_dev_path;
+    k->realize = vmbus_realize;
+    k->unrealize = vmbus_unrealize;
+    k->reset = vmbus_reset;
+}
+
+static const TypeInfo vmbus_type_info = {
+    .name = TYPE_VMBUS,
+    .parent = TYPE_BUS,
+    .instance_size = sizeof(VMBus),
+    .class_init = vmbus_class_init,
+};
+
+typedef struct VMBusBridge {
+    SysBusDevice parent_obj;
+
+    VMBus bus;
+} VMBusBridge;
+
+#define VMBUS_BRIDGE(obj) OBJECT_CHECK(VMBusBridge, (obj), TYPE_VMBUS_BRIDGE)
+
+static void vmbus_bridge_realize(DeviceState *dev, Error **errp)
+{
+    VMBus *vmbus = &VMBUS_BRIDGE(dev)->bus;
+    qbus_create_inplace(vmbus, sizeof(VMBus), TYPE_VMBUS, dev, "vmbus");
+}
+
+static int vmbus_post_load(void *opaque, int version_id)
+{
+    int ret;
+    VMBusChannel *chan;
+    VMBus *vmbus = &VMBUS_BRIDGE(opaque)->bus;
+
+    QTAILQ_FOREACH(chan, &vmbus->channel_list, link) {
+        unregister_chan_ids(chan);
+    }
+
+    ret = vmbus_init(vmbus);
+    if (ret) {
+        return ret;
+    }
+
+    vmbus_resched(vmbus);
+    return 0;
+}
+
+static const VMStateDescription vmstate_post_message_input = {
+    .name = "vmbus/hyperv_post_message_input",
+    .version_id = 0,
+    .minimum_version_id = 0,
+    .fields = (VMStateField[]) {
+        VMSTATE_UINT32(connection_id, struct hyperv_post_message_input),
+        VMSTATE_UINT32(message_type, struct hyperv_post_message_input),
+        VMSTATE_UINT32(payload_size, struct hyperv_post_message_input),
+        VMSTATE_UINT8_ARRAY(payload, struct hyperv_post_message_input,
+                            HV_MESSAGE_PAYLOAD_SIZE),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+static bool vmbus_rx_queue_needed(void *opaque)
+{
+    VMBus *vmbus = &VMBUS_BRIDGE(opaque)->bus;
+    return vmbus->rx_queue_size;
+}
+
+static const VMStateDescription vmstate_rx_queue = {
+    .name = "vmbus/rx_queue",
+    .version_id = 0,
+    .minimum_version_id = 0,
+    .needed = vmbus_rx_queue_needed,
+    .fields = (VMStateField[]) {
+        VMSTATE_UINT8(bus.rx_queue_head, VMBusBridge),
+        VMSTATE_UINT8(bus.rx_queue_size, VMBusBridge),
+        VMSTATE_STRUCT_ARRAY(bus.rx_queue, VMBusBridge,
+                             VMBUS_RX_QUEUE_CAPACITY, 0,
+                             vmstate_post_message_input,
+                             struct hyperv_post_message_input),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+static const VMStateDescription vmstate_vmbus_bridge = {
+    .name = TYPE_VMBUS_BRIDGE,
+    .version_id = 0,
+    .minimum_version_id = 0,
+    .post_load = vmbus_post_load,
+    .fields = (VMStateField[]) {
+        VMSTATE_UINT32(bus.state, VMBusBridge),
+        VMSTATE_UINT32(bus.version, VMBusBridge),
+        VMSTATE_UINT32(bus.target_vp, VMBusBridge),
+        VMSTATE_UINT64(bus.int_page_gpa, VMBusBridge),
+        VMSTATE_QTAILQ_V(bus.gpadl_list, VMBusBridge, 0,
+                         vmstate_gpadl, VMBusGpadl, link),
+        VMSTATE_END_OF_LIST()
+    },
+    .subsections = (const VMStateDescription*[]) {
+        &vmstate_rx_queue,
+        NULL
+    }
+};
+
+static void vmbus_bridge_class_init(ObjectClass *klass, void *data)
+{
+    DeviceClass *k = DEVICE_CLASS(klass);
+    k->realize = vmbus_bridge_realize;
+    k->fw_name = "vmbus@0";
+    set_bit(DEVICE_CATEGORY_BRIDGE, k->categories);
+    k->vmsd = &vmstate_vmbus_bridge;
+    k->user_creatable = false;
+}
+
+static const TypeInfo vmbus_bridge_type_info = {
+    .name = TYPE_VMBUS_BRIDGE,
+    .parent = TYPE_SYS_BUS_DEVICE,
+    .instance_size = sizeof(VMBusBridge),
+    .class_init = vmbus_bridge_class_init,
+};
+
+VMBusBridge *vmbus_bridge;
+
+void vmbus_create(void)
+{
+    DeviceState *dev;
+
+    assert(!vmbus_exists());
+
+    if (!hyperv_synic_usable()) {
+        error_report("VMBus requires usable Hyper-V SynIC and VP_INDEX");
+        exit(1);
+    }
+
+    dev = qdev_create(NULL, TYPE_VMBUS_BRIDGE);
+    qdev_init_nofail(dev);
+    vmbus_bridge = VMBUS_BRIDGE(dev);
+}
+
+bool vmbus_exists(void)
+{
+    return vmbus_bridge;
+    // return qdev_find_recursive(sysbus_get_default(), TYPE_VMBUS_BRIDGE);
+}
+
+static void vmbus_register_types(void)
+{
+    type_register_static(&vmbus_bridge_type_info);
+    type_register_static(&vmbus_dev_type_info);
+    type_register_static(&vmbus_type_info);
+}
+
+type_init(vmbus_register_types)
diff --git a/hw/vmbus/Makefile.objs b/hw/vmbus/Makefile.objs
new file mode 100644
index 0000000000..3f0708588e
--- /dev/null
+++ b/hw/vmbus/Makefile.objs
@@ -0,0 +1 @@
+obj-y += vmbus.o
diff --git a/hw/vmbus/trace-events b/hw/vmbus/trace-events
new file mode 100644
index 0000000000..4e1c507cb8
--- /dev/null
+++ b/hw/vmbus/trace-events
@@ -0,0 +1,8 @@
+# vmbus
+vmbus_initiate_contact(uint32_t version, uint32_t vcpu, uint64_t monitor_page1, uint64_t monitor_page2, uint64_t interrupt_page) "version requested %d, target vcpu %d, monitor pages 0x%"PRIx64" 0x%"PRIx64", interrupt page 0x%"PRIx64""
+vmbus_recv_message(uint32_t type, uint32_t size) "recvd message type %d, size %d"
+vmbus_signal_event(void) "vmbus event signaled"
+vmbus_signal_channel(uint32_t relid) "signaling channel id %d"
+vmbus_post_msg(uint32_t type, uint32_t size) "posting message type %d, size %d"
+vmbus_post_reply_callback(int status) "staged message status %d"
+vmbus_process_incoming_message(uint32_t message_type) "processing incoming message %d"
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 21/34] vmbus: build configuration
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (19 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 20/34] vmbus: vmbus implementation Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 11:04   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 22/34] i386: Hyper-V VMBus ACPI DSDT entry Roman Kagan
                   ` (18 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

From: Evgeny Yakovlev <eyakovlev@virtuozzo.com>

Add option to configure and makefiles to enable building vmbus support
(default to "on" on Linux and "off" otherwise).

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 configure        | 11 +++++++++++
 hw/Makefile.objs |  1 +
 2 files changed, 12 insertions(+)

diff --git a/configure b/configure
index 302fdc92ff..5a0ca5dc4a 100755
--- a/configure
+++ b/configure
@@ -436,6 +436,7 @@ jemalloc="no"
 replication="yes"
 vxhs=""
 libxml2=""
+vmbus="no"
 
 supported_cpu="no"
 supported_os="no"
@@ -804,6 +805,7 @@ Linux)
   vhost_net="yes"
   vhost_scsi="yes"
   vhost_vsock="yes"
+  vmbus="yes"
   QEMU_INCLUDES="-I\$(SRC_PATH)/linux-headers -I$(pwd)/linux-headers $QEMU_INCLUDES"
   supported_os="yes"
 ;;
@@ -1341,6 +1343,10 @@ for opt do
   ;;
   --disable-git-update) git_update=no
   ;;
+  --disable-vmbus) vmbus="no"
+  ;;
+  --enable-vmbus) vmbus="yes"
+  ;;
   *)
       echo "ERROR: unknown option $opt"
       echo "Try '$0 --help' for more information"
@@ -1592,6 +1598,7 @@ disabled with --disable-FEATURE, default is enabled if available:
   crypto-afalg    Linux AF_ALG crypto backend driver
   vhost-user      vhost-user support
   capstone        capstone disassembler support
+  vmbus           Hyper-V VMBus devices support
 
 NOTE: The object files are built at the place where configure is launched
 EOF
@@ -5657,6 +5664,7 @@ echo "avx2 optimization $avx2_opt"
 echo "replication support $replication"
 echo "VxHS block device $vxhs"
 echo "capstone          $capstone"
+echo "vmbus support     $vmbus"
 
 if test "$sdl_too_old" = "yes"; then
 echo "-> Your SDL version is too old - please upgrade to have SDL support"
@@ -6347,6 +6355,9 @@ fi
 if test "$have_static_assert" = "yes" ; then
   echo "CONFIG_STATIC_ASSERT=y" >> $config_host_mak
 fi
+if test "$vmbus" = "yes" ; then
+  echo "CONFIG_VMBUS=y" >> $config_host_mak
+fi
 
 if test "$have_utmpx" = "yes" ; then
   echo "HAVE_UTMPX=y" >> $config_host_mak
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index cf4cb2010b..c12fc0cc22 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -34,6 +34,7 @@ devices-dirs-$(CONFIG_SOFTMMU) += watchdog/
 devices-dirs-$(CONFIG_SOFTMMU) += xen/
 devices-dirs-$(CONFIG_MEM_HOTPLUG) += mem/
 devices-dirs-$(CONFIG_SOFTMMU) += smbios/
+devices-dirs-$(CONFIG_VMBUS) += vmbus/
 devices-dirs-y += core/
 common-obj-y += $(devices-dirs-y)
 obj-y += $(devices-dirs-y)
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 22/34] i386: Hyper-V VMBus ACPI DSDT entry
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (20 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 21/34] vmbus: build configuration Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 11:05   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 23/34] i386: en/disable vmbus by a machine property Roman Kagan
                   ` (17 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

From: Andrey Smetanin <asmetanin@virtuozzo.com>

Guest OS uses ACPI to discover vmbus presence.  Add a corresponding
entry to DSDT in case vmbus has been enabled.

Experimentally Windows guests were found to require this entry to
include two IRQ resources, so this patch adds two semi-arbitrarily
chosen ones (7 and 13).  This results, in particular, in parallel port
conflicting with vmbus.

TODO: discover and use spare IRQs to avoid conflicts.

Signed-off-by: Evgeny Yakovlev <eyakovlev@virtuozzo.com>
Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 hw/i386/acpi-build.c | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index ed78c4ed9f..6f8cd3eb41 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -46,6 +46,7 @@
 #include "sysemu/tpm_backend.h"
 #include "hw/timer/mc146818rtc_regs.h"
 #include "sysemu/numa.h"
+#include "hw/vmbus/vmbus.h"
 
 /* Supported chipsets: */
 #include "hw/acpi/piix4.h"
@@ -1317,6 +1318,43 @@ static Aml *build_com_device_aml(uint8_t uid)
     return dev;
 }
 
+static Aml *build_vmbus_device_aml(void)
+{
+    Aml *dev;
+    Aml *method;
+    Aml *crs;
+
+    dev = aml_device("VMBS");
+    aml_append(dev, aml_name_decl("STA", aml_int(0xF)));
+    aml_append(dev, aml_name_decl("_HID", aml_string("VMBus")));
+    aml_append(dev, aml_name_decl("_UID", aml_int(0x0)));
+    aml_append(dev, aml_name_decl("_DDN", aml_string("VMBUS")));
+
+    method = aml_method("_DIS", 0, AML_NOTSERIALIZED);
+    aml_append(method, aml_store(aml_and(aml_name("STA"), aml_int(0xD), NULL),
+                                     aml_name("STA")));
+    aml_append(dev, method);
+
+    method = aml_method("_PS0", 0, AML_NOTSERIALIZED);
+    aml_append(method, aml_store(aml_or(aml_name("STA"), aml_int(0xF), NULL),
+                                     aml_name("STA")));
+    aml_append(dev, method);
+
+    method = aml_method("_STA", 0, AML_NOTSERIALIZED);
+    aml_append(method, aml_store(aml_name("STA"), aml_local(0)));
+    aml_append(method, aml_return(aml_local(0)));
+    aml_append(dev, method);
+
+    aml_append(dev, aml_name_decl("_PS3", aml_int(0x0)));
+
+    crs = aml_resource_template();
+    aml_append(crs, aml_irq_no_flags(7));
+    aml_append(crs, aml_irq_no_flags(13));
+    aml_append(dev, aml_name_decl("_CRS", crs));
+
+    return dev;
+}
+
 static void build_isa_devices_aml(Aml *table)
 {
     ISADevice *fdc = pc_find_fdc0();
@@ -1343,6 +1381,10 @@ static void build_isa_devices_aml(Aml *table)
         build_acpi_ipmi_devices(scope, BUS(obj));
     }
 
+    if (vmbus_exists()) {
+        aml_append(scope, build_vmbus_device_aml());
+    }
+
     aml_append(table, scope);
 }
 
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 23/34] i386: en/disable vmbus by a machine property
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (21 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 22/34] i386: Hyper-V VMBus ACPI DSDT entry Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 11:05   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 24/34] scsi: add Hyper-V/VMBus SCSI protocol definitions Roman Kagan
                   ` (16 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Hyper-V VMBus logically belongs to the machine, so make its presence be
controlled by a boolean property of the machine.

TODO: consider doing this through adding the vmbus-bridge device instead
Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 include/hw/i386/pc.h |  3 +++
 hw/i386/pc.c         | 34 ++++++++++++++++++++++++++++++++++
 hw/i386/pc_piix.c    |  5 +++++
 hw/i386/pc_q35.c     |  5 +++++
 util/qemu-config.c   |  4 ++++
 5 files changed, 51 insertions(+)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 744f6a20d2..62b67cd927 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -46,6 +46,7 @@ struct PCMachineState {
     uint64_t max_ram_below_4g;
     OnOffAuto vmport;
     OnOffAuto smm;
+    bool vmbus;
 
     AcpiNVDIMMState acpi_nvdimm_state;
 
@@ -80,6 +81,7 @@ struct PCMachineState {
 #define PC_MACHINE_SMBUS            "smbus"
 #define PC_MACHINE_SATA             "sata"
 #define PC_MACHINE_PIT              "pit"
+#define PC_MACHINE_VMBUS            "vmbus"
 
 /**
  * PCMachineClass:
@@ -209,6 +211,7 @@ void i8042_setup_a20_line(ISADevice *dev, qemu_irq a20_out);
 extern int fd_bootchk;
 
 bool pc_machine_is_smm_enabled(PCMachineState *pcms);
+bool pc_machine_is_vmbus_enabled(PCMachineState *pcms);
 void pc_register_ferr_irq(qemu_irq irq);
 void pc_acpi_smi_interrupt(void *opaque, int irq, int level);
 
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index ccc50baa85..d37072b575 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -2178,6 +2178,34 @@ static void pc_machine_set_smm(Object *obj, Visitor *v, const char *name,
     visit_type_OnOffAuto(v, name, &pcms->smm, errp);
 }
 
+bool pc_machine_is_vmbus_enabled(PCMachineState *pcms)
+{
+    if (!pcms->vmbus) {
+        return false;
+    }
+
+    if (!kvm_enabled()) {
+        error_report("VMBus requires KVM");
+        exit(1);
+    }
+
+    return true;
+}
+
+static bool pc_machine_get_vmbus(Object *obj, Error **errp)
+{
+    PCMachineState *pcms = PC_MACHINE(obj);
+
+    return pcms->vmbus;
+}
+
+static void pc_machine_set_vmbus(Object *obj, bool vmbus, Error **errp)
+{
+    PCMachineState *pcms = PC_MACHINE(obj);
+
+    pcms->vmbus = vmbus;
+}
+
 static bool pc_machine_get_nvdimm(Object *obj, Error **errp)
 {
     PCMachineState *pcms = PC_MACHINE(obj);
@@ -2413,6 +2441,12 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
 
     object_class_property_add_bool(oc, PC_MACHINE_PIT,
         pc_machine_get_pit, pc_machine_set_pit, &error_abort);
+
+    /* no vmbus by default */
+    object_class_property_add_bool(oc, PC_MACHINE_VMBUS,
+        pc_machine_get_vmbus, pc_machine_set_vmbus, &error_abort);
+    object_class_property_set_description(oc, PC_MACHINE_VMBUS,
+        "Enable Hyper-V VMBus", &error_abort);
 }
 
 static const TypeInfo pc_machine_info = {
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index a25619dfbf..4a3cb406d5 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -56,6 +56,7 @@
 #include "migration/misc.h"
 #include "kvm_i386.h"
 #include "sysemu/numa.h"
+#include "hw/vmbus/vmbus.h"
 
 #define MAX_IDE_BUS 2
 
@@ -302,6 +303,10 @@ static void pc_init1(MachineState *machine,
         nvdimm_init_acpi_state(&pcms->acpi_nvdimm_state, system_io,
                                pcms->fw_cfg, OBJECT(pcms));
     }
+
+    if (pc_machine_is_vmbus_enabled(pcms)) {
+        vmbus_create();
+    }
 }
 
 /* Looking for a pc_compat_2_4() function? It doesn't exist.
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index ed3a0b8ff7..9e5ce429b4 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -50,6 +50,7 @@
 #include "hw/usb.h"
 #include "qemu/error-report.h"
 #include "sysemu/numa.h"
+#include "hw/vmbus/vmbus.h"
 
 /* ICH9 AHCI has 6 ports */
 #define MAX_SATA_PORTS     6
@@ -279,6 +280,10 @@ static void pc_q35_init(MachineState *machine)
         nvdimm_init_acpi_state(&pcms->acpi_nvdimm_state, system_io,
                                pcms->fw_cfg, OBJECT(pcms));
     }
+
+    if (pc_machine_is_vmbus_enabled(pcms)) {
+        vmbus_create();
+    }
 }
 
 #define DEFINE_Q35_MACHINE(suffix, name, compatfn, optionfn) \
diff --git a/util/qemu-config.c b/util/qemu-config.c
index 029fec53a9..951a6360a0 100644
--- a/util/qemu-config.c
+++ b/util/qemu-config.c
@@ -234,6 +234,10 @@ static QemuOptsList machine_opts = {
             .help = "Up to 8 chars in set of [A-Za-z0-9. ](lower case chars"
                     " converted to upper case) to pass to machine"
                     " loader, boot manager, and guest kernel",
+        },{
+            .name = "vmbus",
+            .type = QEMU_OPT_BOOL,
+            .help = "enable Hyper-V VMBus",
         },
         { /* End of list */ }
     }
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 24/34] scsi: add Hyper-V/VMBus SCSI protocol definitions
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (22 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 23/34] i386: en/disable vmbus by a machine property Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 25/34] scsi: add Hyper-V/VMBus SCSI controller Roman Kagan
                   ` (15 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add a header with data structures and constants defining the protocol
between the guest and the hypervisor implementing the Hyper-V VMBus SCSI
controller.

Mostly taken from the corresponding definitions in the Linux kernel.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 hw/scsi/hvscsi-proto.h | 150 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 150 insertions(+)
 create mode 100644 hw/scsi/hvscsi-proto.h

diff --git a/hw/scsi/hvscsi-proto.h b/hw/scsi/hvscsi-proto.h
new file mode 100644
index 0000000000..9dd20c9bfa
--- /dev/null
+++ b/hw/scsi/hvscsi-proto.h
@@ -0,0 +1,150 @@
+/*
+ * Hyper-V storage device protocol definitions
+ *
+ * Copyright (c) 2009, Microsoft Corporation.
+ * Copyright (c) 2017-2018 Virtuozzo International GmbH.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#ifndef _HVSCSI_PROTO_H_
+#define _HVSCSI_PROTO_H_
+
+#define HV_STOR_PROTO_VERSION(MAJOR_, MINOR_) \
+    ((((MAJOR_) & 0xff) << 8) | (((MINOR_) & 0xff)))
+
+#define HV_STOR_PROTO_VERSION_WIN6       HV_STOR_PROTO_VERSION(2, 0)
+#define HV_STOR_PROTO_VERSION_WIN7       HV_STOR_PROTO_VERSION(4, 2)
+#define HV_STOR_PROTO_VERSION_WIN8       HV_STOR_PROTO_VERSION(5, 1)
+#define HV_STOR_PROTO_VERSION_WIN8_1     HV_STOR_PROTO_VERSION(6, 0)
+#define HV_STOR_PROTO_VERSION_WIN10      HV_STOR_PROTO_VERSION(6, 2)
+#define HV_STOR_PROTO_VERSION_CURRENT    HV_STOR_PROTO_VERSION_WIN8
+
+#define HV_STOR_OPERATION_COMPLETE_IO             1
+#define HV_STOR_OPERATION_REMOVE_DEVICE           2
+#define HV_STOR_OPERATION_EXECUTE_SRB             3
+#define HV_STOR_OPERATION_RESET_LUN               4
+#define HV_STOR_OPERATION_RESET_ADAPTER           5
+#define HV_STOR_OPERATION_RESET_BUS               6
+#define HV_STOR_OPERATION_BEGIN_INITIALIZATION    7
+#define HV_STOR_OPERATION_END_INITIALIZATION      8
+#define HV_STOR_OPERATION_QUERY_PROTOCOL_VERSION  9
+#define HV_STOR_OPERATION_QUERY_PROPERTIES        10
+#define HV_STOR_OPERATION_ENUMERATE_BUS           11
+#define HV_STOR_OPERATION_FCHBA_DATA              12
+#define HV_STOR_OPERATION_CREATE_SUB_CHANNELS     13
+
+#define HV_STOR_REQUEST_COMPLETION_FLAG           0x1
+
+#define HV_STOR_PROPERTIES_MULTI_CHANNEL_FLAG     0x1
+
+#define HV_SRB_MAX_CDB_SIZE                     16
+#define HV_SRB_SENSE_BUFFER_SIZE                20
+
+#define HV_SRB_REQUEST_TYPE_WRITE               0
+#define HV_SRB_REQUEST_TYPE_READ                1
+#define HV_SRB_REQUEST_TYPE_UNKNOWN             2
+
+#define HV_SRB_MAX_LUNS_PER_TARGET              255
+#define HV_SRB_MAX_TARGETS                      2
+#define HV_SRB_MAX_CHANNELS                     8
+
+#define HV_SRB_FLAGS_QUEUE_ACTION_ENABLE        0x00000002
+#define HV_SRB_FLAGS_DISABLE_DISCONNECT         0x00000004
+#define HV_SRB_FLAGS_DISABLE_SYNCH_TRANSFER     0x00000008
+#define HV_SRB_FLAGS_BYPASS_FROZEN_QUEUE        0x00000010
+#define HV_SRB_FLAGS_DISABLE_AUTOSENSE          0x00000020
+#define HV_SRB_FLAGS_DATA_IN                    0x00000040
+#define HV_SRB_FLAGS_DATA_OUT                   0x00000080
+#define HV_SRB_FLAGS_NO_DATA_TRANSFER           0x00000000
+#define HV_SRB_FLAGS_UNSPECIFIED_DIRECTION      (SRB_FLAGS_DATA_IN | SRB_FLAGS_DATA_OUT)
+#define HV_SRB_FLAGS_NO_QUEUE_FREEZE            0x00000100
+#define HV_SRB_FLAGS_ADAPTER_CACHE_ENABLE       0x00000200
+#define HV_SRB_FLAGS_FREE_SENSE_BUFFER          0x00000400
+#define HV_SRB_FLAGS_D3_PROCESSING              0x00000800
+#define HV_SRB_FLAGS_IS_ACTIVE                  0x00010000
+#define HV_SRB_FLAGS_ALLOCATED_FROM_ZONE        0x00020000
+#define HV_SRB_FLAGS_SGLIST_FROM_POOL           0x00040000
+#define HV_SRB_FLAGS_BYPASS_LOCKED_QUEUE        0x00080000
+#define HV_SRB_FLAGS_NO_KEEP_AWAKE              0x00100000
+#define HV_SRB_FLAGS_PORT_DRIVER_ALLOCSENSE     0x00200000
+#define HV_SRB_FLAGS_PORT_DRIVER_SENSEHASPORT   0x00400000
+#define HV_SRB_FLAGS_DONT_START_NEXT_PACKET     0x00800000
+#define HV_SRB_FLAGS_PORT_DRIVER_RESERVED       0x0F000000
+#define HV_SRB_FLAGS_CLASS_DRIVER_RESERVED      0xF0000000
+
+#define HV_SRB_STATUS_AUTOSENSE_VALID           0x80
+#define HV_SRB_STATUS_INVALID_LUN               0x20
+#define HV_SRB_STATUS_SUCCESS                   0x01
+#define HV_SRB_STATUS_ABORTED                   0x02
+#define HV_SRB_STATUS_ERROR                     0x04
+
+#define HV_STOR_PACKET_MAX_LENGTH sizeof(struct hv_stor_packet)
+#define HV_STOR_PACKET_MIN_LENGTH \
+    (sizeof(struct hv_stor_packet) - sizeof(struct hv_srb_win8_extentions))
+
+typedef struct hv_stor_properties {
+    uint32_t _reserved1;
+    uint16_t max_channel_count;
+    uint16_t _reserved2;
+    uint32_t flags;
+    uint32_t max_transfer_bytes;
+    uint32_t _reserved3[2];
+} hv_stor_properties;
+
+typedef struct hv_srb_win8_extentions {
+    uint16_t _reserved;
+    uint8_t  queue_tag;
+    uint8_t  queue_action;
+    uint32_t srb_flags;
+    uint32_t timeout;
+    uint32_t queue_sort;
+} hv_srb_win8_extentions;
+
+typedef struct hv_srb_packet {
+    uint16_t length;
+    uint8_t  srb_status;
+    uint8_t  scsi_status;
+
+    uint8_t  port;
+    uint8_t  channel;
+    uint8_t  target;
+    uint8_t  lun;
+
+    uint8_t  cdb_length;
+    uint8_t  sense_length;
+    uint8_t  data_in;
+    uint8_t  _reserved;
+
+    uint32_t transfer_length;
+
+    union {
+        uint8_t cdb[HV_SRB_MAX_CDB_SIZE];
+        uint8_t sense_data[HV_SRB_SENSE_BUFFER_SIZE];
+    };
+
+    hv_srb_win8_extentions win8_ext;
+} hv_srb_packet;
+
+typedef struct hv_stor_protocol_version {
+    uint16_t major_minor;
+    uint16_t revision;
+} hv_stor_protocol_version;
+
+typedef struct hv_stor_packet {
+    uint32_t operation;         /* HV_STOR_OPERATION_* */
+    uint32_t flags;             // HV_STOR_FLAG_* */
+    uint32_t status;
+
+    union {
+        hv_srb_packet srb;
+        hv_stor_properties properties;
+        hv_stor_protocol_version version;
+        uint16_t sub_channel_count;
+
+        uint8_t _reserved[0x34];
+    };
+} hv_stor_packet;
+
+#endif
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 25/34] scsi: add Hyper-V/VMBus SCSI controller
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (23 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 24/34] scsi: add Hyper-V/VMBus SCSI protocol definitions Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 11:11   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 26/34] hv-scsi: limit the number of requests per notification Roman Kagan
                   ` (14 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add an implementation of Hyper-V/VMBus SCSI controller.

Kudos to Evgeny Yakovlev (formerly eyakovlev@virtuozzo.com) for research
and prototyping.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 hw/scsi/hv-scsi.c     | 398 ++++++++++++++++++++++++++++++++++++++++++++++++++
 hw/scsi/Makefile.objs |   2 +
 hw/scsi/trace-events  |   6 +
 3 files changed, 406 insertions(+)
 create mode 100644 hw/scsi/hv-scsi.c

diff --git a/hw/scsi/hv-scsi.c b/hw/scsi/hv-scsi.c
new file mode 100644
index 0000000000..bbfc26bf0a
--- /dev/null
+++ b/hw/scsi/hv-scsi.c
@@ -0,0 +1,398 @@
+/*
+ * QEMU Hyper-V storage device support
+ *
+ * Copyright (c) 2017-2018 Virtuozzo International GmbH.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#include "qemu/osdep.h"
+#include "qemu/error-report.h"
+#include "qapi/error.h"
+#include "hw/vmbus/vmbus.h"
+#include "sysemu/block-backend.h"
+#include "sysemu/dma.h"
+#include "qemu/iov.h"
+#include "hw/scsi/scsi.h"
+#include "scsi/constants.h"
+#include "trace.h"
+#include "hvscsi-proto.h"
+
+#define TYPE_HV_SCSI "hv-scsi"
+#define HV_SCSI_GUID "ba6163d9-04a1-4d29-b605-72e2ffb1dc7f"
+#define HV_SCSI_MAX_TRANSFER_BYTES (IOV_MAX * TARGET_PAGE_SIZE)
+
+typedef struct HvScsi {
+    VMBusDevice parent;
+    uint16_t num_queues;
+    SCSIBus bus;
+    enum {
+        HV_SCSI_RESET,
+        HV_SCSI_INITIALIZING,
+        HV_SCSI_INITIALIZED,
+    } state;
+    uint8_t protocol_major;
+    uint8_t protocol_minor;
+} HvScsi;
+
+#define HV_SCSI(obj) OBJECT_CHECK(HvScsi, (obj), TYPE_HV_SCSI)
+
+typedef struct HvScsiReq
+{
+    VMBusChanReq vmreq;
+    HvScsi *s;
+    SCSIRequest *sreq;
+    hv_stor_packet *reply;
+} HvScsiReq;
+
+static void hv_scsi_init_req(HvScsi *s, HvScsiReq *req)
+{
+    VMBusChanReq *vmreq = &req->vmreq;
+
+    req->s = s;
+    if (vmreq->comp) {
+        req->reply = vmreq->comp;
+    }
+}
+
+static void hv_scsi_free_req(HvScsiReq *req)
+{
+    vmbus_release_req(req);
+}
+
+static void hv_scsi_save_request(QEMUFile *f, SCSIRequest *sreq)
+{
+    HvScsiReq *req = sreq->hba_private;
+
+    vmbus_save_req(f, &req->vmreq);
+}
+
+static void *hv_scsi_load_request(QEMUFile *f, SCSIRequest *sreq)
+{
+    HvScsiReq *req;
+    HvScsi *scsi = container_of(sreq->bus, HvScsi, bus);
+
+    req = vmbus_load_req(f, VMBUS_DEVICE(scsi), sizeof(*req));
+    if (!req) {
+        error_report("failed to load VMBus request from saved state");
+        return NULL;
+    }
+
+    hv_scsi_init_req(scsi, req);
+    scsi_req_ref(sreq);
+    req->sreq = sreq;
+    return req;
+}
+
+static int complete_io(HvScsiReq *req, uint32_t status)
+{
+    VMBusChanReq *vmreq = &req->vmreq;
+    int res = 0;
+
+    if (vmreq->comp) {
+        req->reply->operation = HV_STOR_OPERATION_COMPLETE_IO;
+        req->reply->flags = 0;
+        req->reply->status = status;
+        res = vmbus_chan_send_completion(vmreq);
+    }
+
+    if (req->sreq) {
+        scsi_req_unref(req->sreq);
+    }
+    hv_scsi_free_req(req);
+    return res;
+}
+
+static int hv_scsi_complete_req(HvScsiReq *req, uint8_t scsi_status,
+                                uint32_t srb_status, size_t resid)
+{
+    hv_srb_packet *srb = &req->reply->srb;
+
+    srb->scsi_status = scsi_status;
+    srb->srb_status = srb_status;
+
+    assert(resid <= srb->transfer_length);
+    srb->transfer_length -= resid;
+
+    return complete_io(req, 0);
+}
+
+static void hv_scsi_request_cancelled(SCSIRequest *r)
+{
+    HvScsiReq *req = r->hba_private;
+    hv_scsi_complete_req(req, GOOD, HV_SRB_STATUS_ABORTED, 0);
+}
+
+static QEMUSGList *hv_scsi_get_sg_list(SCSIRequest *r)
+{
+    HvScsiReq *req = r->hba_private;
+    return &req->vmreq.sgl;
+}
+
+static void hv_scsi_command_complete(SCSIRequest *r, uint32_t status,
+                                     size_t resid)
+{
+    HvScsiReq *req = r->hba_private;
+    hv_srb_packet *srb = &req->reply->srb;
+
+    trace_hvscsi_command_complete(r, status, resid);
+
+    srb->sense_length = scsi_req_get_sense(r, srb->sense_data,
+                                           sizeof(srb->sense_data));
+    hv_scsi_complete_req(req, status, HV_SRB_STATUS_SUCCESS, resid);
+}
+
+static struct SCSIBusInfo hv_scsi_info = {
+    .tcq = true,
+    .max_channel = HV_SRB_MAX_CHANNELS - 1,
+    .max_target = HV_SRB_MAX_TARGETS - 1,
+    .max_lun = HV_SRB_MAX_LUNS_PER_TARGET - 1,
+    .complete = hv_scsi_command_complete,
+    .cancel = hv_scsi_request_cancelled,
+    .get_sg_list = hv_scsi_get_sg_list,
+    .save_request = hv_scsi_save_request,
+    .load_request = hv_scsi_load_request,
+};
+
+static void handle_missing_target(HvScsiReq *req)
+{
+    /*
+     * SRB_STATUS_INVALID_LUN should be enough and it works for windows guests
+     * However linux stor_vsc driver ignores any scsi and srb status errors
+     * for all INQUIRY and MODE_SENSE commands.
+     * So, specifically for those linux clients we also have to fake
+     * an INVALID_LUN sense response.
+     */
+    size_t len = 0;
+    QEMUSGList *sgl = &req->vmreq.sgl;
+    hv_srb_packet *srb = &req->reply->srb;
+    struct iovec iov[4];
+    int iov_cnt;
+
+    iov_cnt = vmbus_map_sgl(sgl, DMA_DIRECTION_FROM_DEVICE, iov,
+                            ARRAY_SIZE(iov), srb->transfer_length, 0);
+
+    switch (srb->cdb[0]) {
+    case INQUIRY: {
+        /* Report invalid device type */
+        uint8_t data = 0x7F;
+        len = iov_from_buf(iov, iov_cnt, 0, &data, sizeof(data));
+        break;
+    }
+
+    case REPORT_LUNS: {
+        /* Report 0 luns */
+        uint32_t data = 0;
+        len = iov_from_buf(iov, iov_cnt, 0, &data, sizeof(data));
+        break;
+    }
+
+    default:
+        error_report("Don't know how to handle 0x%x for bad target",
+                               srb->cdb[0]);
+        break;
+    }
+
+    srb->sense_data[0] = 0x72;
+    srb->sense_data[1] = sense_code_LUN_NOT_SUPPORTED.key;
+    srb->sense_data[2] = sense_code_LUN_NOT_SUPPORTED.asc;
+    srb->sense_data[3] = sense_code_LUN_NOT_SUPPORTED.ascq;
+    srb->sense_length = 4;
+
+    iov_memset(iov, iov_cnt, len, 0, -1);
+    vmbus_unmap_sgl(sgl, DMA_DIRECTION_FROM_DEVICE, iov, iov_cnt, -1);
+
+    srb->scsi_status = CHECK_CONDITION;
+    srb->srb_status = HV_SRB_STATUS_INVALID_LUN |
+        HV_SRB_STATUS_AUTOSENSE_VALID;
+    complete_io(req, 0);
+}
+
+static void hv_scsi_execute_srb(HvScsiReq *req)
+{
+    SCSIRequest *sreq;
+    SCSIDevice *d;
+    VMBusChanReq *vmreq = &req->vmreq;
+    hv_stor_packet *storpkt = req->reply;
+    hv_srb_packet *srb = &storpkt->srb;
+
+    memcpy(storpkt, vmreq->msg, vmreq->msglen);
+
+    trace_hvscsi_srb_packet(srb->length, srb->target, srb->lun,
+            srb->cdb_length, srb->transfer_length, srb->data_in);
+
+    d = scsi_device_find(&req->s->bus, srb->channel, srb->target, srb->lun);
+    if (!d || (srb->lun && d->lun != srb->lun)) {
+        handle_missing_target(req);
+        return;
+    }
+
+    req->sreq = sreq = scsi_req_new(d, srb->channel, srb->lun, srb->cdb, req);
+    assert(sreq);
+
+    scsi_req_ref(sreq);
+    blk_io_plug(d->conf.blk);
+    if (scsi_req_enqueue(sreq)) {
+        scsi_req_continue(sreq);
+    }
+    blk_io_unplug(d->conf.blk);
+    scsi_req_unref(sreq);
+}
+
+static void hv_scsi_handle_packet(HvScsiReq *req)
+{
+    HvScsi *scsi = req->s;
+    struct hv_stor_packet *msg = req->vmreq.msg;
+    uint32_t status = 0;
+
+    trace_hvscsi_vstor_request(msg->operation, msg->flags);
+
+    switch (msg->operation) {
+    case HV_STOR_OPERATION_EXECUTE_SRB:
+        if (scsi->state != HV_SCSI_INITIALIZED) {
+            error_report("%s: EXECUTE_SRB while not initialized", __func__);
+            status = 1;
+            break;
+        }
+        hv_scsi_execute_srb(req);
+        return; /* SRB packets are completed asynchronously */
+
+    case HV_STOR_OPERATION_BEGIN_INITIALIZATION:
+        scsi->state = HV_SCSI_INITIALIZING;
+        break;
+
+    case HV_STOR_OPERATION_QUERY_PROTOCOL_VERSION:
+        scsi->protocol_major = msg->version.major_minor >> 8;
+        scsi->protocol_minor = msg->version.major_minor & 0xFF;
+        break;
+
+    case HV_STOR_OPERATION_QUERY_PROPERTIES:
+        req->reply->properties.max_channel_count = scsi->num_queues;
+        req->reply->properties.flags = HV_STOR_PROPERTIES_MULTI_CHANNEL_FLAG;
+        req->reply->properties.max_transfer_bytes = HV_SCSI_MAX_TRANSFER_BYTES;
+        break;
+
+    case HV_STOR_OPERATION_END_INITIALIZATION:
+        if (scsi->state != HV_SCSI_INITIALIZING) {
+            error_report("%s: END_INITIALIZATION srb while not initializing",
+                         __func__);
+            status = 1;
+            break;
+        }
+        scsi->state = HV_SCSI_INITIALIZED;
+        break;
+
+    default:
+        error_report("unknown vstor packet operation %d", msg->operation);
+        break;
+    }
+
+    complete_io(req, status);
+}
+
+static void hv_scsi_notify_cb(VMBusChannel *chan)
+{
+    HvScsi *scsi = HV_SCSI(vmbus_channel_device(chan));
+
+    for (;;) {
+        HvScsiReq *req = vmbus_channel_recv(chan, sizeof(*req));
+        if (!req) {
+            break;
+        }
+
+        hv_scsi_init_req(scsi, req);
+        hv_scsi_handle_packet(req);
+    }
+}
+
+static void hv_scsi_reset(HvScsi *scsi)
+{
+    qbus_reset_all(&scsi->bus.qbus);
+    scsi->state = HV_SCSI_RESET;
+    scsi->protocol_major = 0;
+    scsi->protocol_minor = 0;
+}
+
+static uint16_t hv_scsi_num_channels(VMBusDevice *dev)
+{
+    return HV_SCSI(dev)->num_queues;
+}
+
+static void hv_scsi_close_channel(VMBusDevice *dev)
+{
+    HvScsi *scsi = HV_SCSI(dev);
+    hv_scsi_reset(scsi);
+}
+
+static void hv_scsi_dev_realize(VMBusDevice *vdev, Error **errp)
+{
+    HvScsi *scsi = HV_SCSI(vdev);
+
+    scsi_bus_new(&scsi->bus, sizeof(scsi->bus), DEVICE(scsi),
+                 &hv_scsi_info, NULL);
+    return;
+}
+
+static void hv_scsi_dev_reset(VMBusDevice *vdev)
+{
+    HvScsi *scsi = HV_SCSI(vdev);
+    hv_scsi_reset(scsi);
+}
+
+static void hv_scsi_dev_unrealize(VMBusDevice *vdev, Error **errp)
+{
+    HvScsi *scsi = HV_SCSI(vdev);
+    hv_scsi_reset(scsi);
+}
+
+static const VMStateDescription vmstate_hv_scsi = {
+    .name = TYPE_HV_SCSI,
+    .version_id = 0,
+    .minimum_version_id = 0,
+    .fields = (VMStateField[]) {
+        VMSTATE_STRUCT(parent, HvScsi, 0, vmstate_vmbus_dev, VMBusDevice),
+        VMSTATE_UINT32(state, HvScsi),
+        VMSTATE_UINT8(protocol_major, HvScsi),
+        VMSTATE_UINT8(protocol_minor, HvScsi),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+static Property hv_scsi_properties[] = {
+    DEFINE_PROP_UUID("instanceid", HvScsi, parent.instanceid),
+    DEFINE_PROP_UINT16("num_queues", HvScsi, num_queues, 1),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
+static void hv_scsi_class_init(ObjectClass *klass, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(klass);
+    VMBusDeviceClass *vdc = VMBUS_DEVICE_CLASS(klass);
+
+    qemu_uuid_parse(HV_SCSI_GUID, &vdc->classid);
+    dc->props = hv_scsi_properties;
+    dc->fw_name = "scsi";
+    dc->vmsd = &vmstate_hv_scsi;
+    set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
+    vdc->vmdev_realize = hv_scsi_dev_realize;
+    vdc->vmdev_unrealize = hv_scsi_dev_unrealize;
+    vdc->vmdev_reset = hv_scsi_dev_reset;
+    vdc->num_channels = hv_scsi_num_channels;
+    vdc->close_channel = hv_scsi_close_channel;
+    vdc->chan_notify_cb = hv_scsi_notify_cb;
+}
+
+static const TypeInfo hv_scsi_type_info = {
+    .name = TYPE_HV_SCSI,
+    .parent = TYPE_VMBUS_DEVICE,
+    .instance_size = sizeof(HvScsi),
+    .class_init = hv_scsi_class_init,
+};
+
+static void hv_scsi_register_types(void)
+{
+    type_register_static(&hv_scsi_type_info);
+}
+
+type_init(hv_scsi_register_types)
diff --git a/hw/scsi/Makefile.objs b/hw/scsi/Makefile.objs
index b188f7242b..2630b3a756 100644
--- a/hw/scsi/Makefile.objs
+++ b/hw/scsi/Makefile.objs
@@ -13,3 +13,5 @@ obj-y += virtio-scsi.o virtio-scsi-dataplane.o
 obj-$(CONFIG_VHOST_SCSI) += vhost-scsi-common.o vhost-scsi.o
 obj-$(CONFIG_VHOST_USER_SCSI) += vhost-scsi-common.o vhost-user-scsi.o
 endif
+
+obj-$(CONFIG_VMBUS) += hv-scsi.o
diff --git a/hw/scsi/trace-events b/hw/scsi/trace-events
index 6e299d0338..eec9f2dfb0 100644
--- a/hw/scsi/trace-events
+++ b/hw/scsi/trace-events
@@ -229,3 +229,9 @@ spapr_vscsi_process_login(void) "Got login, sending response !"
 spapr_vscsi_queue_cmd_no_drive(uint64_t lun) "Command for lun 0x%08" PRIx64 " with no drive"
 spapr_vscsi_queue_cmd(uint32_t qtag, unsigned cdb, const char *cmd, int lun, int ret) "Queued command tag 0x%"PRIx32" CMD 0x%x=%s LUN %d ret: %d"
 spapr_vscsi_do_crq(unsigned c0, unsigned c1) "crq: %02x %02x ..."
+
+# hw/scsi/hv-scsi.c
+hvscsi_vstor_request(int operation, uint32_t flags) "vstor packet: operation %d, flags 0x%x"
+hvscsi_srb_packet(uint16_t length, uint8_t target_id, uint8_t lun, uint8_t cdb_length, uint32_t data_transfer_length, uint8_t data_in) "SRB packet: length %d, target %d, lun %d, cdb length %d, data transfer size %d, direction %d"
+hvscsi_command_complete(void *r, int status, size_t resid) "scsi command complete: request %p, status %d, resid %zu"
+hvscsi_missing_target(uint8_t target_id, uint8_t lun) "missing target %d, lun %d"
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 26/34] hv-scsi: limit the number of requests per notification
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (24 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 25/34] scsi: add Hyper-V/VMBus SCSI controller Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 27/34] tests: hv-scsi: add start-stop test Roman Kagan
                   ` (13 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

There's a vague feeling that, if there are too many requests in the
incoming ring buffer, processing and replying to them may usurp the
event loop (main thread) and thus induce lags, soft lockups, etc.

So ensure to yield the event loop at most every 1024 requests.

TODO: do something smarter than this
Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 hw/scsi/hv-scsi.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/hw/scsi/hv-scsi.c b/hw/scsi/hv-scsi.c
index bbfc26bf0a..aa055340ef 100644
--- a/hw/scsi/hv-scsi.c
+++ b/hw/scsi/hv-scsi.c
@@ -294,8 +294,9 @@ static void hv_scsi_handle_packet(HvScsiReq *req)
 static void hv_scsi_notify_cb(VMBusChannel *chan)
 {
     HvScsi *scsi = HV_SCSI(vmbus_channel_device(chan));
+    int i;
 
-    for (;;) {
+    for (i = 1024; i; i--) {
         HvScsiReq *req = vmbus_channel_recv(chan, sizeof(*req));
         if (!req) {
             break;
@@ -304,6 +305,10 @@ static void hv_scsi_notify_cb(VMBusChannel *chan)
         hv_scsi_init_req(scsi, req);
         hv_scsi_handle_packet(req);
     }
+
+    if (!i) {
+        vmbus_notify_channel(chan);
+    }
 }
 
 static void hv_scsi_reset(HvScsi *scsi)
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 27/34] tests: hv-scsi: add start-stop test
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (25 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 26/34] hv-scsi: limit the number of requests per notification Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 11:15   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 28/34] net: add RNDIS definitions Roman Kagan
                   ` (12 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

It's trivial and tests only a tiny fraction of the relevant code, but
it's better than nothing.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 tests/hv-scsi-test.c   | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/Makefile.include |  3 +++
 2 files changed, 60 insertions(+)
 create mode 100644 tests/hv-scsi-test.c

diff --git a/tests/hv-scsi-test.c b/tests/hv-scsi-test.c
new file mode 100644
index 0000000000..9bff0df09c
--- /dev/null
+++ b/tests/hv-scsi-test.c
@@ -0,0 +1,57 @@
+/*
+ * QTest testcase for Hyper-V/VMBus SCSI
+ *
+ * Copyright (c) 2018 Virtuozzo International GmbH.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#include <unistd.h>
+#include "qemu/osdep.h"
+#include "libqtest.h"
+#include "qemu/bswap.h"
+#include "libqos/libqos-pc.h"
+
+static QOSState *qhv_scsi_start(const char *extra_opts)
+{
+    const char *arch = qtest_get_arch();
+    const char *cmd = "-machine accel=kvm,vmbus "
+                      "-cpu kvm64,hv_synic,hv_vpindex "
+                      "-drive id=hd0,if=none,file=null-co://,format=raw "
+                      "-device hv-scsi,id=scsi0 "
+                      "-device scsi-hd,bus=scsi0.0,drive=hd0 %s";
+
+    if (strcmp(arch, "i386") && strcmp(arch, "x86_64")) {
+        g_printerr("Hyper-V / VMBus are only available on x86\n");
+        exit(EXIT_FAILURE);
+    }
+
+    if (access("/dev/kvm", R_OK | W_OK)) {
+        g_printerr("Hyper-V / VMBus can only be used with KVM\n");
+        exit(EXIT_FAILURE);
+    }
+
+    return qtest_pc_boot(cmd, extra_opts ? : "");
+}
+
+static void qhv_scsi_stop(QOSState *qs)
+{
+    qtest_shutdown(qs);
+}
+
+static void start_stop(void)
+{
+    QOSState *qs;
+
+    qs = qhv_scsi_start(NULL);
+    qhv_scsi_stop(qs);
+}
+
+int main(int argc, char **argv)
+{
+    g_test_init(&argc, &argv, NULL);
+    qtest_add_func("/hv-scsi/start-stop", start_stop);
+
+    return g_test_run();
+}
diff --git a/tests/Makefile.include b/tests/Makefile.include
index ca82e0c0cc..800f9cca92 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -281,6 +281,8 @@ gcov-files-i386-y += hw/usb/hcd-xhci.c
 check-qtest-i386-y += tests/cpu-plug-test$(EXESUF)
 check-qtest-i386-y += tests/q35-test$(EXESUF)
 check-qtest-i386-y += tests/vmgenid-test$(EXESUF)
+check-qtest-i386-y += tests/hv-scsi-test$(EXESUF)
+gcov-files-i386-y += hw/scsi/hv-scsi.c
 gcov-files-i386-y += hw/pci-host/q35.c
 check-qtest-i386-$(CONFIG_VHOST_USER_NET_TEST_i386) += tests/vhost-user-test$(EXESUF)
 ifeq ($(CONFIG_VHOST_USER_NET_TEST_i386),)
@@ -820,6 +822,7 @@ tests/test-arm-mptimer$(EXESUF): tests/test-arm-mptimer.o
 tests/test-qapi-util$(EXESUF): tests/test-qapi-util.o $(test-util-obj-y)
 tests/numa-test$(EXESUF): tests/numa-test.o
 tests/vmgenid-test$(EXESUF): tests/vmgenid-test.o tests/boot-sector.o tests/acpi-utils.o
+tests/hv-scsi-test$(EXESUF): tests/hv-scsi-test.o $(libqos-pc-obj-y)
 
 tests/migration/stress$(EXESUF): tests/migration/stress.o
 	$(call quiet-command, $(LINKPROG) -static -O3 $(PTHREAD_LIB) -o $@ $< ,"LINK","$(TARGET_DIR)$@")
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 28/34] net: add RNDIS definitions
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (26 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 27/34] tests: hv-scsi: add start-stop test Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 11:26   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 29/34] net: add Hyper-V/VMBus network protocol definitions Roman Kagan
                   ` (11 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add a header with constants used in Microsoft RNDIS protocol.

The header is taken unchanged from the Linux kernel.

TODO: reconcile with usb-net
Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 hw/net/rndis.h | 391 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 391 insertions(+)
 create mode 100644 hw/net/rndis.h

diff --git a/hw/net/rndis.h b/hw/net/rndis.h
new file mode 100644
index 0000000000..93c0a64aef
--- /dev/null
+++ b/hw/net/rndis.h
@@ -0,0 +1,391 @@
+/*
+ * Remote Network Driver Interface Specification (RNDIS)
+ * definitions of the magic numbers used by this protocol
+ */
+
+/* Remote NDIS Versions */
+#define RNDIS_MAJOR_VERSION		0x00000001
+#define RNDIS_MINOR_VERSION		0x00000000
+
+/* Device Flags */
+#define RNDIS_DF_CONNECTIONLESS		0x00000001U
+#define RNDIS_DF_CONNECTION_ORIENTED	0x00000002U
+#define RNDIS_DF_RAW_DATA		0x00000004U
+
+/*
+ * Codes for "msg_type" field of rndis messages;
+ * only the data channel uses packet messages (maybe batched);
+ * everything else goes on the control channel.
+ */
+#define RNDIS_MSG_COMPLETION	0x80000000
+#define RNDIS_MSG_PACKET	0x00000001	/* 1-N packets */
+#define RNDIS_MSG_INIT		0x00000002
+#define RNDIS_MSG_INIT_C	(RNDIS_MSG_INIT|RNDIS_MSG_COMPLETION)
+#define RNDIS_MSG_HALT		0x00000003
+#define RNDIS_MSG_QUERY		0x00000004
+#define RNDIS_MSG_QUERY_C	(RNDIS_MSG_QUERY|RNDIS_MSG_COMPLETION)
+#define RNDIS_MSG_SET		0x00000005
+#define RNDIS_MSG_SET_C		(RNDIS_MSG_SET|RNDIS_MSG_COMPLETION)
+#define RNDIS_MSG_RESET		0x00000006
+#define RNDIS_MSG_RESET_C	(RNDIS_MSG_RESET|RNDIS_MSG_COMPLETION)
+#define RNDIS_MSG_INDICATE	0x00000007
+#define RNDIS_MSG_KEEPALIVE	0x00000008
+#define RNDIS_MSG_KEEPALIVE_C	(RNDIS_MSG_KEEPALIVE|RNDIS_MSG_COMPLETION)
+/*
+ * Reserved message type for private communication between lower-layer host
+ * driver and remote device, if necessary.
+ */
+#define RNDIS_MSG_BUS		0xff000001
+
+/* codes for "status" field of completion messages */
+#define	RNDIS_STATUS_SUCCESS			0x00000000
+#define RNDIS_STATUS_PENDING			0x00000103
+
+/*  Status codes */
+#define RNDIS_STATUS_NOT_RECOGNIZED		0x00010001
+#define RNDIS_STATUS_NOT_COPIED			0x00010002
+#define RNDIS_STATUS_NOT_ACCEPTED		0x00010003
+#define RNDIS_STATUS_CALL_ACTIVE		0x00010007
+
+#define RNDIS_STATUS_ONLINE			0x40010003
+#define RNDIS_STATUS_RESET_START		0x40010004
+#define RNDIS_STATUS_RESET_END			0x40010005
+#define RNDIS_STATUS_RING_STATUS		0x40010006
+#define RNDIS_STATUS_CLOSED			0x40010007
+#define RNDIS_STATUS_WAN_LINE_UP		0x40010008
+#define RNDIS_STATUS_WAN_LINE_DOWN		0x40010009
+#define RNDIS_STATUS_WAN_FRAGMENT		0x4001000A
+#define	RNDIS_STATUS_MEDIA_CONNECT		0x4001000B
+#define	RNDIS_STATUS_MEDIA_DISCONNECT		0x4001000C
+#define RNDIS_STATUS_HARDWARE_LINE_UP		0x4001000D
+#define RNDIS_STATUS_HARDWARE_LINE_DOWN		0x4001000E
+#define RNDIS_STATUS_INTERFACE_UP		0x4001000F
+#define RNDIS_STATUS_INTERFACE_DOWN		0x40010010
+#define RNDIS_STATUS_MEDIA_BUSY			0x40010011
+#define	RNDIS_STATUS_MEDIA_SPECIFIC_INDICATION	0x40010012
+#define RNDIS_STATUS_WW_INDICATION		RDIA_SPECIFIC_INDICATION
+#define RNDIS_STATUS_LINK_SPEED_CHANGE		0x40010013L
+#define RNDIS_STATUS_NETWORK_CHANGE		0x40010018
+
+#define RNDIS_STATUS_NOT_RESETTABLE		0x80010001
+#define RNDIS_STATUS_SOFT_ERRORS		0x80010003
+#define RNDIS_STATUS_HARD_ERRORS		0x80010004
+#define RNDIS_STATUS_BUFFER_OVERFLOW		0x80000005
+
+#define	RNDIS_STATUS_FAILURE			0xC0000001
+#define RNDIS_STATUS_RESOURCES			0xC000009A
+#define	RNDIS_STATUS_NOT_SUPPORTED		0xc00000BB
+#define RNDIS_STATUS_CLOSING			0xC0010002
+#define RNDIS_STATUS_BAD_VERSION		0xC0010004
+#define RNDIS_STATUS_BAD_CHARACTERISTICS	0xC0010005
+#define RNDIS_STATUS_ADAPTER_NOT_FOUND		0xC0010006
+#define RNDIS_STATUS_OPEN_FAILED		0xC0010007
+#define RNDIS_STATUS_DEVICE_FAILED		0xC0010008
+#define RNDIS_STATUS_MULTICAST_FULL		0xC0010009
+#define RNDIS_STATUS_MULTICAST_EXISTS		0xC001000A
+#define RNDIS_STATUS_MULTICAST_NOT_FOUND	0xC001000B
+#define RNDIS_STATUS_REQUEST_ABORTED		0xC001000C
+#define RNDIS_STATUS_RESET_IN_PROGRESS		0xC001000D
+#define RNDIS_STATUS_CLOSING_INDICATING		0xC001000E
+#define RNDIS_STATUS_INVALID_PACKET		0xC001000F
+#define RNDIS_STATUS_OPEN_LIST_FULL		0xC0010010
+#define RNDIS_STATUS_ADAPTER_NOT_READY		0xC0010011
+#define RNDIS_STATUS_ADAPTER_NOT_OPEN		0xC0010012
+#define RNDIS_STATUS_NOT_INDICATING		0xC0010013
+#define RNDIS_STATUS_INVALID_LENGTH		0xC0010014
+#define	RNDIS_STATUS_INVALID_DATA		0xC0010015
+#define RNDIS_STATUS_BUFFER_TOO_SHORT		0xC0010016
+#define RNDIS_STATUS_INVALID_OID		0xC0010017
+#define RNDIS_STATUS_ADAPTER_REMOVED		0xC0010018
+#define RNDIS_STATUS_UNSUPPORTED_MEDIA		0xC0010019
+#define RNDIS_STATUS_GROUP_ADDRESS_IN_USE	0xC001001A
+#define RNDIS_STATUS_FILE_NOT_FOUND		0xC001001B
+#define RNDIS_STATUS_ERROR_READING_FILE		0xC001001C
+#define RNDIS_STATUS_ALREADY_MAPPED		0xC001001D
+#define RNDIS_STATUS_RESOURCE_CONFLICT		0xC001001E
+#define RNDIS_STATUS_NO_CABLE			0xC001001F
+
+#define RNDIS_STATUS_INVALID_SAP		0xC0010020
+#define RNDIS_STATUS_SAP_IN_USE			0xC0010021
+#define RNDIS_STATUS_INVALID_ADDRESS		0xC0010022
+#define RNDIS_STATUS_VC_NOT_ACTIVATED		0xC0010023
+#define RNDIS_STATUS_DEST_OUT_OF_ORDER		0xC0010024
+#define RNDIS_STATUS_VC_NOT_AVAILABLE		0xC0010025
+#define RNDIS_STATUS_CELLRATE_NOT_AVAILABLE	0xC0010026
+#define RNDIS_STATUS_INCOMPATABLE_QOS		0xC0010027
+#define RNDIS_STATUS_AAL_PARAMS_UNSUPPORTED	0xC0010028
+#define RNDIS_STATUS_NO_ROUTE_TO_DESTINATION	0xC0010029
+
+#define RNDIS_STATUS_TOKEN_RING_OPEN_ERROR	0xC0011000
+
+/* codes for RNDIS_OID_GEN_PHYSICAL_MEDIUM */
+#define	RNDIS_PHYSICAL_MEDIUM_UNSPECIFIED	0x00000000
+#define	RNDIS_PHYSICAL_MEDIUM_WIRELESS_LAN	0x00000001
+#define	RNDIS_PHYSICAL_MEDIUM_CABLE_MODEM	0x00000002
+#define	RNDIS_PHYSICAL_MEDIUM_PHONE_LINE	0x00000003
+#define	RNDIS_PHYSICAL_MEDIUM_POWER_LINE	0x00000004
+#define	RNDIS_PHYSICAL_MEDIUM_DSL		0x00000005
+#define	RNDIS_PHYSICAL_MEDIUM_FIBRE_CHANNEL	0x00000006
+#define	RNDIS_PHYSICAL_MEDIUM_1394		0x00000007
+#define	RNDIS_PHYSICAL_MEDIUM_WIRELESS_WAN	0x00000008
+#define	RNDIS_PHYSICAL_MEDIUM_MAX		0x00000009
+
+/*  Remote NDIS medium types. */
+#define RNDIS_MEDIUM_UNSPECIFIED		0x00000000
+#define RNDIS_MEDIUM_802_3			0x00000000
+#define RNDIS_MEDIUM_802_5			0x00000001
+#define RNDIS_MEDIUM_FDDI			0x00000002
+#define RNDIS_MEDIUM_WAN			0x00000003
+#define RNDIS_MEDIUM_LOCAL_TALK			0x00000004
+#define RNDIS_MEDIUM_ARCNET_RAW			0x00000006
+#define RNDIS_MEDIUM_ARCNET_878_2		0x00000007
+#define RNDIS_MEDIUM_ATM			0x00000008
+#define RNDIS_MEDIUM_WIRELESS_LAN		0x00000009
+#define RNDIS_MEDIUM_IRDA			0x0000000A
+#define RNDIS_MEDIUM_BPC			0x0000000B
+#define RNDIS_MEDIUM_CO_WAN			0x0000000C
+#define RNDIS_MEDIUM_1394			0x0000000D
+/* Not a real medium, defined as an upper-bound */
+#define RNDIS_MEDIUM_MAX			0x0000000E
+
+/* Remote NDIS medium connection states. */
+#define RNDIS_MEDIA_STATE_CONNECTED		0x00000000
+#define RNDIS_MEDIA_STATE_DISCONNECTED		0x00000001
+
+/* packet filter bits used by RNDIS_OID_GEN_CURRENT_PACKET_FILTER */
+#define RNDIS_PACKET_TYPE_DIRECTED		0x00000001
+#define RNDIS_PACKET_TYPE_MULTICAST		0x00000002
+#define RNDIS_PACKET_TYPE_ALL_MULTICAST		0x00000004
+#define RNDIS_PACKET_TYPE_BROADCAST		0x00000008
+#define RNDIS_PACKET_TYPE_SOURCE_ROUTING	0x00000010
+#define RNDIS_PACKET_TYPE_PROMISCUOUS		0x00000020
+#define RNDIS_PACKET_TYPE_SMT			0x00000040
+#define RNDIS_PACKET_TYPE_ALL_LOCAL		0x00000080
+#define RNDIS_PACKET_TYPE_GROUP			0x00001000
+#define RNDIS_PACKET_TYPE_ALL_FUNCTIONAL	0x00002000
+#define RNDIS_PACKET_TYPE_FUNCTIONAL		0x00004000
+#define RNDIS_PACKET_TYPE_MAC_FRAME		0x00008000
+
+/* RNDIS_OID_GEN_MINIPORT_INFO constants */
+#define RNDIS_MINIPORT_BUS_MASTER			0x00000001
+#define RNDIS_MINIPORT_WDM_DRIVER			0x00000002
+#define RNDIS_MINIPORT_SG_LIST				0x00000004
+#define RNDIS_MINIPORT_SUPPORTS_MEDIA_QUERY		0x00000008
+#define RNDIS_MINIPORT_INDICATES_PACKETS		0x00000010
+#define RNDIS_MINIPORT_IGNORE_PACKET_QUEUE		0x00000020
+#define RNDIS_MINIPORT_IGNORE_REQUEST_QUEUE		0x00000040
+#define RNDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS		0x00000080
+#define RNDIS_MINIPORT_INTERMEDIATE_DRIVER		0x00000100
+#define RNDIS_MINIPORT_IS_NDIS_5			0x00000200
+#define RNDIS_MINIPORT_IS_CO				0x00000400
+#define RNDIS_MINIPORT_DESERIALIZE			0x00000800
+#define RNDIS_MINIPORT_REQUIRES_MEDIA_POLLING		0x00001000
+#define RNDIS_MINIPORT_SUPPORTS_MEDIA_SENSE		0x00002000
+#define RNDIS_MINIPORT_NETBOOT_CARD			0x00004000
+#define RNDIS_MINIPORT_PM_SUPPORTED			0x00008000
+#define RNDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE	0x00010000
+#define RNDIS_MINIPORT_USES_SAFE_BUFFER_APIS		0x00020000
+#define RNDIS_MINIPORT_HIDDEN				0x00040000
+#define RNDIS_MINIPORT_SWENUM				0x00080000
+#define RNDIS_MINIPORT_SURPRISE_REMOVE_OK		0x00100000
+#define RNDIS_MINIPORT_NO_HALT_ON_SUSPEND		0x00200000
+#define RNDIS_MINIPORT_HARDWARE_DEVICE			0x00400000
+#define RNDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS	0x00800000
+#define RNDIS_MINIPORT_64BITS_DMA			0x01000000
+
+#define RNDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA		0x00000001
+#define RNDIS_MAC_OPTION_RECEIVE_SERIALIZED		0x00000002
+#define RNDIS_MAC_OPTION_TRANSFERS_NOT_PEND		0x00000004
+#define RNDIS_MAC_OPTION_NO_LOOPBACK			0x00000008
+#define RNDIS_MAC_OPTION_FULL_DUPLEX			0x00000010
+#define RNDIS_MAC_OPTION_EOTX_INDICATION		0x00000020
+#define RNDIS_MAC_OPTION_8021P_PRIORITY			0x00000040
+#define RNDIS_MAC_OPTION_RESERVED			0x80000000
+
+/* Object Identifiers used by NdisRequest Query/Set Information */
+/* General (Required) Objects */
+#define RNDIS_OID_GEN_SUPPORTED_LIST		0x00010101
+#define RNDIS_OID_GEN_HARDWARE_STATUS		0x00010102
+#define RNDIS_OID_GEN_MEDIA_SUPPORTED		0x00010103
+#define RNDIS_OID_GEN_MEDIA_IN_USE		0x00010104
+#define RNDIS_OID_GEN_MAXIMUM_LOOKAHEAD		0x00010105
+#define RNDIS_OID_GEN_MAXIMUM_FRAME_SIZE	0x00010106
+#define RNDIS_OID_GEN_LINK_SPEED		0x00010107
+#define RNDIS_OID_GEN_TRANSMIT_BUFFER_SPACE	0x00010108
+#define RNDIS_OID_GEN_RECEIVE_BUFFER_SPACE	0x00010109
+#define RNDIS_OID_GEN_TRANSMIT_BLOCK_SIZE	0x0001010A
+#define RNDIS_OID_GEN_RECEIVE_BLOCK_SIZE	0x0001010B
+#define RNDIS_OID_GEN_VENDOR_ID			0x0001010C
+#define RNDIS_OID_GEN_VENDOR_DESCRIPTION	0x0001010D
+#define RNDIS_OID_GEN_CURRENT_PACKET_FILTER	0x0001010E
+#define RNDIS_OID_GEN_CURRENT_LOOKAHEAD		0x0001010F
+#define RNDIS_OID_GEN_DRIVER_VERSION		0x00010110
+#define RNDIS_OID_GEN_MAXIMUM_TOTAL_SIZE	0x00010111
+#define RNDIS_OID_GEN_PROTOCOL_OPTIONS		0x00010112
+#define RNDIS_OID_GEN_MAC_OPTIONS		0x00010113
+#define RNDIS_OID_GEN_MEDIA_CONNECT_STATUS	0x00010114
+#define RNDIS_OID_GEN_MAXIMUM_SEND_PACKETS	0x00010115
+#define RNDIS_OID_GEN_VENDOR_DRIVER_VERSION	0x00010116
+#define RNDIS_OID_GEN_SUPPORTED_GUIDS		0x00010117
+#define RNDIS_OID_GEN_NETWORK_LAYER_ADDRESSES	0x00010118
+#define RNDIS_OID_GEN_TRANSPORT_HEADER_OFFSET	0x00010119
+#define RNDIS_OID_GEN_PHYSICAL_MEDIUM		0x00010202
+#define RNDIS_OID_GEN_MACHINE_NAME		0x0001021A
+#define RNDIS_OID_GEN_RNDIS_CONFIG_PARAMETER	0x0001021B
+#define RNDIS_OID_GEN_VLAN_ID			0x0001021C
+
+/* Optional OIDs */
+#define RNDIS_OID_GEN_MEDIA_CAPABILITIES	0x00010201
+
+/* Required statistics OIDs */
+#define RNDIS_OID_GEN_XMIT_OK			0x00020101
+#define RNDIS_OID_GEN_RCV_OK			0x00020102
+#define RNDIS_OID_GEN_XMIT_ERROR		0x00020103
+#define RNDIS_OID_GEN_RCV_ERROR			0x00020104
+#define RNDIS_OID_GEN_RCV_NO_BUFFER		0x00020105
+
+/* Optional statistics OIDs */
+#define RNDIS_OID_GEN_DIRECTED_BYTES_XMIT	0x00020201
+#define RNDIS_OID_GEN_DIRECTED_FRAMES_XMIT	0x00020202
+#define RNDIS_OID_GEN_MULTICAST_BYTES_XMIT	0x00020203
+#define RNDIS_OID_GEN_MULTICAST_FRAMES_XMIT	0x00020204
+#define RNDIS_OID_GEN_BROADCAST_BYTES_XMIT	0x00020205
+#define RNDIS_OID_GEN_BROADCAST_FRAMES_XMIT	0x00020206
+#define RNDIS_OID_GEN_DIRECTED_BYTES_RCV	0x00020207
+#define RNDIS_OID_GEN_DIRECTED_FRAMES_RCV	0x00020208
+#define RNDIS_OID_GEN_MULTICAST_BYTES_RCV	0x00020209
+#define RNDIS_OID_GEN_MULTICAST_FRAMES_RCV	0x0002020A
+#define RNDIS_OID_GEN_BROADCAST_BYTES_RCV	0x0002020B
+#define RNDIS_OID_GEN_BROADCAST_FRAMES_RCV	0x0002020C
+
+#define RNDIS_OID_GEN_RCV_CRC_ERROR		0x0002020D
+#define RNDIS_OID_GEN_TRANSMIT_QUEUE_LENGTH	0x0002020E
+
+#define RNDIS_OID_GEN_GET_TIME_CAPS		0x0002020F
+#define RNDIS_OID_GEN_GET_NETCARD_TIME		0x00020210
+
+#define RNDIS_OID_GEN_NETCARD_LOAD		0x00020211
+#define RNDIS_OID_GEN_DEVICE_PROFILE		0x00020212
+#define RNDIS_OID_GEN_INIT_TIME_MS		0x00020213
+#define RNDIS_OID_GEN_RESET_COUNTS		0x00020214
+#define RNDIS_OID_GEN_MEDIA_SENSE_COUNTS	0x00020215
+#define RNDIS_OID_GEN_FRIENDLY_NAME		0x00020216
+#define RNDIS_OID_GEN_MINIPORT_INFO		0x00020217
+#define RNDIS_OID_GEN_RESET_VERIFY_PARAMETERS	0x00020218
+
+/* These are connection-oriented general OIDs. */
+/* These replace the above OIDs for connection-oriented media. */
+#define RNDIS_OID_GEN_CO_SUPPORTED_LIST		0x00010101
+#define RNDIS_OID_GEN_CO_HARDWARE_STATUS	0x00010102
+#define RNDIS_OID_GEN_CO_MEDIA_SUPPORTED	0x00010103
+#define RNDIS_OID_GEN_CO_MEDIA_IN_USE		0x00010104
+#define RNDIS_OID_GEN_CO_LINK_SPEED		0x00010105
+#define RNDIS_OID_GEN_CO_VENDOR_ID		0x00010106
+#define RNDIS_OID_GEN_CO_VENDOR_DESCRIPTION	0x00010107
+#define RNDIS_OID_GEN_CO_DRIVER_VERSION		0x00010108
+#define RNDIS_OID_GEN_CO_PROTOCOL_OPTIONS	0x00010109
+#define RNDIS_OID_GEN_CO_MAC_OPTIONS		0x0001010A
+#define RNDIS_OID_GEN_CO_MEDIA_CONNECT_STATUS	0x0001010B
+#define RNDIS_OID_GEN_CO_VENDOR_DRIVER_VERSION	0x0001010C
+#define RNDIS_OID_GEN_CO_MINIMUM_LINK_SPEED	0x0001010D
+
+#define RNDIS_OID_GEN_CO_GET_TIME_CAPS		0x00010201
+#define RNDIS_OID_GEN_CO_GET_NETCARD_TIME	0x00010202
+
+/* These are connection-oriented statistics OIDs. */
+#define RNDIS_OID_GEN_CO_XMIT_PDUS_OK		0x00020101
+#define RNDIS_OID_GEN_CO_RCV_PDUS_OK		0x00020102
+#define RNDIS_OID_GEN_CO_XMIT_PDUS_ERROR	0x00020103
+#define RNDIS_OID_GEN_CO_RCV_PDUS_ERROR		0x00020104
+#define RNDIS_OID_GEN_CO_RCV_PDUS_NO_BUFFER	0x00020105
+
+
+#define RNDIS_OID_GEN_CO_RCV_CRC_ERROR		0x00020201
+#define RNDIS_OID_GEN_CO_TRANSMIT_QUEUE_LENGTH	0x00020202
+#define RNDIS_OID_GEN_CO_BYTES_XMIT		0x00020203
+#define RNDIS_OID_GEN_CO_BYTES_RCV		0x00020204
+#define RNDIS_OID_GEN_CO_BYTES_XMIT_OUTSTANDING	0x00020205
+#define RNDIS_OID_GEN_CO_NETCARD_LOAD		0x00020206
+
+/* These are objects for Connection-oriented media call-managers. */
+#define RNDIS_OID_CO_ADD_PVC			0xFF000001
+#define RNDIS_OID_CO_DELETE_PVC			0xFF000002
+#define RNDIS_OID_CO_GET_CALL_INFORMATION	0xFF000003
+#define RNDIS_OID_CO_ADD_ADDRESS		0xFF000004
+#define RNDIS_OID_CO_DELETE_ADDRESS		0xFF000005
+#define RNDIS_OID_CO_GET_ADDRESSES		0xFF000006
+#define RNDIS_OID_CO_ADDRESS_CHANGE		0xFF000007
+#define RNDIS_OID_CO_SIGNALING_ENABLED		0xFF000008
+#define RNDIS_OID_CO_SIGNALING_DISABLED		0xFF000009
+
+/* 802.3 Objects (Ethernet) */
+#define RNDIS_OID_802_3_PERMANENT_ADDRESS	0x01010101
+#define RNDIS_OID_802_3_CURRENT_ADDRESS		0x01010102
+#define RNDIS_OID_802_3_MULTICAST_LIST		0x01010103
+#define RNDIS_OID_802_3_MAXIMUM_LIST_SIZE	0x01010104
+#define RNDIS_OID_802_3_MAC_OPTIONS		0x01010105
+
+#define RNDIS_802_3_MAC_OPTION_PRIORITY		0x00000001
+
+#define RNDIS_OID_802_3_RCV_ERROR_ALIGNMENT	0x01020101
+#define RNDIS_OID_802_3_XMIT_ONE_COLLISION	0x01020102
+#define RNDIS_OID_802_3_XMIT_MORE_COLLISIONS	0x01020103
+
+#define RNDIS_OID_802_3_XMIT_DEFERRED		0x01020201
+#define RNDIS_OID_802_3_XMIT_MAX_COLLISIONS	0x01020202
+#define RNDIS_OID_802_3_RCV_OVERRUN		0x01020203
+#define RNDIS_OID_802_3_XMIT_UNDERRUN		0x01020204
+#define RNDIS_OID_802_3_XMIT_HEARTBEAT_FAILURE	0x01020205
+#define RNDIS_OID_802_3_XMIT_TIMES_CRS_LOST	0x01020206
+#define RNDIS_OID_802_3_XMIT_LATE_COLLISIONS	0x01020207
+
+#define RNDIS_OID_802_11_BSSID				0x0d010101
+#define RNDIS_OID_802_11_SSID				0x0d010102
+#define RNDIS_OID_802_11_INFRASTRUCTURE_MODE		0x0d010108
+#define RNDIS_OID_802_11_ADD_WEP			0x0d010113
+#define RNDIS_OID_802_11_REMOVE_WEP			0x0d010114
+#define RNDIS_OID_802_11_DISASSOCIATE			0x0d010115
+#define RNDIS_OID_802_11_AUTHENTICATION_MODE		0x0d010118
+#define RNDIS_OID_802_11_PRIVACY_FILTER			0x0d010119
+#define RNDIS_OID_802_11_BSSID_LIST_SCAN		0x0d01011a
+#define RNDIS_OID_802_11_ENCRYPTION_STATUS		0x0d01011b
+#define RNDIS_OID_802_11_ADD_KEY			0x0d01011d
+#define RNDIS_OID_802_11_REMOVE_KEY			0x0d01011e
+#define RNDIS_OID_802_11_ASSOCIATION_INFORMATION	0x0d01011f
+#define RNDIS_OID_802_11_CAPABILITY			0x0d010122
+#define RNDIS_OID_802_11_PMKID				0x0d010123
+#define RNDIS_OID_802_11_NETWORK_TYPES_SUPPORTED	0x0d010203
+#define RNDIS_OID_802_11_NETWORK_TYPE_IN_USE		0x0d010204
+#define RNDIS_OID_802_11_TX_POWER_LEVEL			0x0d010205
+#define RNDIS_OID_802_11_RSSI				0x0d010206
+#define RNDIS_OID_802_11_RSSI_TRIGGER			0x0d010207
+#define RNDIS_OID_802_11_FRAGMENTATION_THRESHOLD	0x0d010209
+#define RNDIS_OID_802_11_RTS_THRESHOLD			0x0d01020a
+#define RNDIS_OID_802_11_SUPPORTED_RATES		0x0d01020e
+#define RNDIS_OID_802_11_CONFIGURATION			0x0d010211
+#define RNDIS_OID_802_11_POWER_MODE			0x0d010216
+#define RNDIS_OID_802_11_BSSID_LIST			0x0d010217
+
+/* Plug and Play capabilities */
+#define RNDIS_OID_PNP_CAPABILITIES		0xFD010100
+#define RNDIS_OID_PNP_SET_POWER			0xFD010101
+#define RNDIS_OID_PNP_QUERY_POWER		0xFD010102
+#define RNDIS_OID_PNP_ADD_WAKE_UP_PATTERN	0xFD010103
+#define RNDIS_OID_PNP_REMOVE_WAKE_UP_PATTERN	0xFD010104
+#define RNDIS_OID_PNP_ENABLE_WAKE_UP		0xFD010106
+
+/* RNDIS_PNP_CAPABILITIES.Flags constants */
+#define RNDIS_DEVICE_WAKE_UP_ENABLE			0x00000001
+#define RNDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE	0x00000002
+#define RNDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE	0x00000004
+
+#define REMOTE_CONDIS_MP_CREATE_VC_MSG		0x00008001
+#define REMOTE_CONDIS_MP_DELETE_VC_MSG		0x00008002
+#define REMOTE_CONDIS_MP_ACTIVATE_VC_MSG	0x00008005
+#define REMOTE_CONDIS_MP_DEACTIVATE_VC_MSG	0x00008006
+#define REMOTE_CONDIS_INDICATE_STATUS_MSG	0x00008007
+
+#define REMOTE_CONDIS_MP_CREATE_VC_CMPLT	0x80008001
+#define REMOTE_CONDIS_MP_DELETE_VC_CMPLT	0x80008002
+#define REMOTE_CONDIS_MP_ACTIVATE_VC_CMPLT	0x80008005
+#define REMOTE_CONDIS_MP_DEACTIVATE_VC_CMPLT	0x80008006
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 29/34] net: add Hyper-V/VMBus network protocol definitions
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (27 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 28/34] net: add RNDIS definitions Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 12:00   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 30/34] net: add Hyper-V/VMBus net adapter Roman Kagan
                   ` (10 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add a header with data structures and constants defining the protocol
for communication between the guest and the hypervisor implementing the
Hyper-V/VMBus network adapter.

Mostly taken from the corresponding definitions in the Linux kernel.

TODO: move RNDIS stuff to rndis.h
Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 hw/net/hvnet-proto.h | 1161 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 1161 insertions(+)
 create mode 100644 hw/net/hvnet-proto.h

diff --git a/hw/net/hvnet-proto.h b/hw/net/hvnet-proto.h
new file mode 100644
index 0000000000..1582c7e5a2
--- /dev/null
+++ b/hw/net/hvnet-proto.h
@@ -0,0 +1,1161 @@
+/*
+ * Hyper-V network device protocol definitions
+ *
+ * Copyright (c) 2011, Microsoft Corporation.
+ * Copyright (c) 2018 Virtuozzo International GmbH.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#ifndef _HVNET_PROTO_H_
+#define _HVNET_PROTO_H_
+
+/****
+ * c&p from linux drivers/net/hyperv/hyperv_net.h
+ ****/
+
+/* RSS related */
+#define OID_GEN_RECEIVE_SCALE_CAPABILITIES 0x00010203  /* query only */
+#define OID_GEN_RECEIVE_SCALE_PARAMETERS 0x00010204  /* query and set */
+
+#define NDIS_OBJECT_TYPE_RSS_CAPABILITIES 0x88
+#define NDIS_OBJECT_TYPE_RSS_PARAMETERS 0x89
+#define NDIS_OBJECT_TYPE_OFFLOAD	0xa7
+
+#define NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2 2
+#define NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_2 2
+
+struct ndis_obj_header {
+    uint8_t type;
+    uint8_t rev;
+    uint16_t size;
+} QEMU_PACKED;
+
+/* ndis_recv_scale_cap/cap_flag */
+#define NDIS_RSS_CAPS_MESSAGE_SIGNALED_INTERRUPTS 0x01000000
+#define NDIS_RSS_CAPS_CLASSIFICATION_AT_ISR       0x02000000
+#define NDIS_RSS_CAPS_CLASSIFICATION_AT_DPC       0x04000000
+#define NDIS_RSS_CAPS_USING_MSI_X                 0x08000000
+#define NDIS_RSS_CAPS_RSS_AVAILABLE_ON_PORTS      0x10000000
+#define NDIS_RSS_CAPS_SUPPORTS_MSI_X              0x20000000
+#define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV4          0x00000100
+#define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV6          0x00000200
+#define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV6_EX       0x00000400
+
+struct ndis_recv_scale_cap { /* NDIS_RECEIVE_SCALE_CAPABILITIES */
+    struct ndis_obj_header hdr;
+    uint32_t cap_flag;
+    uint32_t num_int_msg;
+    uint32_t num_recv_que;
+    uint16_t num_indirect_tabent;
+} QEMU_PACKED;
+
+
+/* ndis_recv_scale_param flags */
+#define NDIS_RSS_PARAM_FLAG_BASE_CPU_UNCHANGED     0x0001
+#define NDIS_RSS_PARAM_FLAG_HASH_INFO_UNCHANGED    0x0002
+#define NDIS_RSS_PARAM_FLAG_ITABLE_UNCHANGED       0x0004
+#define NDIS_RSS_PARAM_FLAG_HASH_KEY_UNCHANGED     0x0008
+#define NDIS_RSS_PARAM_FLAG_DISABLE_RSS            0x0010
+
+/* Hash info bits */
+#define NDIS_HASH_FUNC_TOEPLITZ 0x00000001
+#define NDIS_HASH_IPV4          0x00000100
+#define NDIS_HASH_TCP_IPV4      0x00000200
+#define NDIS_HASH_IPV6          0x00000400
+#define NDIS_HASH_IPV6_EX       0x00000800
+#define NDIS_HASH_TCP_IPV6      0x00001000
+#define NDIS_HASH_TCP_IPV6_EX   0x00002000
+
+#define NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_2 (128 * 4)
+#define NDIS_RSS_HASH_SECRET_KEY_MAX_SIZE_REVISION_2   40
+
+#define ITAB_NUM 128
+
+struct ndis_recv_scale_param { /* NDIS_RECEIVE_SCALE_PARAMETERS */
+    struct ndis_obj_header hdr;
+
+    /* Qualifies the rest of the information */
+    uint16_t flag;
+
+    /* The base CPU number to do receive processing. not used */
+    uint16_t base_cpu_number;
+
+    /* This describes the hash function and type being enabled */
+    uint32_t hashinfo;
+
+    /* The size of indirection table array */
+    uint16_t indirect_tabsize;
+
+    /* The offset of the indirection table from the beginning of this
+     * structure
+     */
+    uint32_t indirect_taboffset;
+
+    /* The size of the hash secret key */
+    uint16_t hashkey_size;
+
+    /* The offset of the secret key from the beginning of this structure */
+    uint32_t kashkey_offset;
+
+    uint32_t processor_masks_offset;
+    uint32_t num_processor_masks;
+    uint32_t processor_masks_entry_size;
+};
+
+/* Fwd declaration */
+struct ndis_tcp_ip_checksum_info;
+struct ndis_pkt_8021q_info;
+
+/*
+ * Represent netvsc packet which contains 1 RNDIS and 1 ethernet frame
+ * within the RNDIS
+ *
+ * The size of this structure is less than 48 bytes and we can now
+ * place this structure in the skb->cb field.
+ */
+struct hv_netvsc_packet {
+    /* Bookkeeping stuff */
+    uint8_t cp_partial; /* partial copy into send buffer */
+
+    uint8_t rmsg_size; /* RNDIS header and PPI size */
+    uint8_t rmsg_pgcnt; /* page count of RNDIS header and PPI */
+    uint8_t page_buf_cnt;
+
+    uint16_t q_idx;
+    uint16_t total_packets;
+
+    uint32_t total_bytes;
+    uint32_t send_buf_index;
+    uint32_t total_data_buflen;
+};
+
+enum rndis_device_state {
+    RNDIS_DEV_UNINITIALIZED = 0,
+    RNDIS_DEV_INITIALIZING,
+    RNDIS_DEV_INITIALIZED,
+    RNDIS_DEV_DATAINITIALIZED,
+};
+
+#define NETVSC_HASH_KEYLEN 40
+
+#define NVSP_INVALID_PROTOCOL_VERSION	((uint32_t)0xFFFFFFFF)
+
+#define NVSP_PROTOCOL_VERSION_1		2
+#define NVSP_PROTOCOL_VERSION_2		0x30002
+#define NVSP_PROTOCOL_VERSION_4		0x40000
+#define NVSP_PROTOCOL_VERSION_5		0x50000
+
+enum {
+    NVSP_MSG_TYPE_NONE = 0,
+
+    /* Init Messages */
+    NVSP_MSG_TYPE_INIT			= 1,
+    NVSP_MSG_TYPE_INIT_COMPLETE		= 2,
+
+    NVSP_VERSION_MSG_START			= 100,
+
+    /* Version 1 Messages */
+    NVSP_MSG1_TYPE_SEND_NDIS_VER		= NVSP_VERSION_MSG_START,
+
+    NVSP_MSG1_TYPE_SEND_RECV_BUF,
+    NVSP_MSG1_TYPE_SEND_RECV_BUF_COMPLETE,
+    NVSP_MSG1_TYPE_REVOKE_RECV_BUF,
+
+    NVSP_MSG1_TYPE_SEND_SEND_BUF,
+    NVSP_MSG1_TYPE_SEND_SEND_BUF_COMPLETE,
+    NVSP_MSG1_TYPE_REVOKE_SEND_BUF,
+
+    NVSP_MSG1_TYPE_SEND_RNDIS_PKT,
+    NVSP_MSG1_TYPE_SEND_RNDIS_PKT_COMPLETE,
+
+    /* Version 2 messages */
+    NVSP_MSG2_TYPE_SEND_CHIMNEY_DELEGATED_BUF,
+    NVSP_MSG2_TYPE_SEND_CHIMNEY_DELEGATED_BUF_COMP,
+    NVSP_MSG2_TYPE_REVOKE_CHIMNEY_DELEGATED_BUF,
+
+    NVSP_MSG2_TYPE_RESUME_CHIMNEY_RX_INDICATION,
+
+    NVSP_MSG2_TYPE_TERMINATE_CHIMNEY,
+    NVSP_MSG2_TYPE_TERMINATE_CHIMNEY_COMP,
+
+    NVSP_MSG2_TYPE_INDICATE_CHIMNEY_EVENT,
+
+    NVSP_MSG2_TYPE_SEND_CHIMNEY_PKT,
+    NVSP_MSG2_TYPE_SEND_CHIMNEY_PKT_COMP,
+
+    NVSP_MSG2_TYPE_POST_CHIMNEY_RECV_REQ,
+    NVSP_MSG2_TYPE_POST_CHIMNEY_RECV_REQ_COMP,
+
+    NVSP_MSG2_TYPE_ALLOC_RXBUF,
+    NVSP_MSG2_TYPE_ALLOC_RXBUF_COMP,
+
+    NVSP_MSG2_TYPE_FREE_RXBUF,
+
+    NVSP_MSG2_TYPE_SEND_VMQ_RNDIS_PKT,
+    NVSP_MSG2_TYPE_SEND_VMQ_RNDIS_PKT_COMP,
+
+    NVSP_MSG2_TYPE_SEND_NDIS_CONFIG,
+
+    NVSP_MSG2_TYPE_ALLOC_CHIMNEY_HANDLE,
+    NVSP_MSG2_TYPE_ALLOC_CHIMNEY_HANDLE_COMP,
+
+    NVSP_MSG2_MAX = NVSP_MSG2_TYPE_ALLOC_CHIMNEY_HANDLE_COMP,
+
+    /* Version 4 messages */
+    NVSP_MSG4_TYPE_SEND_VF_ASSOCIATION,
+    NVSP_MSG4_TYPE_SWITCH_DATA_PATH,
+    NVSP_MSG4_TYPE_UPLINK_CONNECT_STATE_DEPRECATED,
+
+    NVSP_MSG4_MAX = NVSP_MSG4_TYPE_UPLINK_CONNECT_STATE_DEPRECATED,
+
+    /* Version 5 messages */
+    NVSP_MSG5_TYPE_OID_QUERY_EX,
+    NVSP_MSG5_TYPE_OID_QUERY_EX_COMP,
+    NVSP_MSG5_TYPE_SUBCHANNEL,
+    NVSP_MSG5_TYPE_SEND_INDIRECTION_TABLE,
+
+    NVSP_MSG5_MAX = NVSP_MSG5_TYPE_SEND_INDIRECTION_TABLE,
+};
+
+enum {
+    NVSP_STAT_NONE = 0,
+    NVSP_STAT_SUCCESS,
+    NVSP_STAT_FAIL,
+    NVSP_STAT_PROTOCOL_TOO_NEW,
+    NVSP_STAT_PROTOCOL_TOO_OLD,
+    NVSP_STAT_INVALID_RNDIS_PKT,
+    NVSP_STAT_BUSY,
+    NVSP_STAT_PROTOCOL_UNSUPPORTED,
+    NVSP_STAT_MAX,
+};
+
+struct nvsp_msg_header {
+    uint32_t msg_type;
+};
+
+/* Init Messages */
+
+/*
+ * This message is used by the VSC to initialize the channel after the channels
+ * has been opened. This message should never include anything other then
+ * versioning (i.e. this message will be the same for ever).
+ */
+struct nvsp_msg_init {
+    uint32_t min_protocol_ver;
+    uint32_t max_protocol_ver;
+} QEMU_PACKED;
+
+/*
+ * This message is used by the VSP to complete the initialization of the
+ * channel. This message should never include anything other then versioning
+ * (i.e. this message will be the same for ever).
+ */
+struct nvsp_msg_init_complete {
+    uint32_t negotiated_protocol_ver;
+    uint32_t max_mdl_chain_len;
+    uint32_t status;
+};
+
+/* Version 1 Messages */
+
+/*
+ * This message is used by the VSC to send the NDIS version to the VSP. The VSP
+ * can use this information when handling OIDs sent by the VSC.
+ */
+struct nvsp1_msg_ndis_ver {
+    uint32_t ndis_major_ver;
+    uint32_t ndis_minor_ver;
+} QEMU_PACKED;
+
+/*
+ * This message is used by the VSC to send a receive buffer to the VSP. The VSP
+ * can then use the receive buffer to send data to the VSC.
+ */
+struct nvsp1_msg_rcvbuf {
+    uint32_t gpadl_handle;
+    uint16_t id;
+} QEMU_PACKED;
+
+struct nvsp1_rcvbuf_section {
+    uint32_t offset;
+    uint32_t sub_alloc_size;
+    uint32_t num_sub_allocs;
+    uint32_t end_offset;
+} QEMU_PACKED;
+
+/*
+ * This message is used by the VSP to acknowledge a receive buffer send by the
+ * VSC. This message must be sent by the VSP before the VSP uses the receive
+ * buffer.
+ */
+struct nvsp1_msg_rcvbuf_complete {
+    uint32_t status;
+    uint32_t num_sections;
+
+    /*
+     * The receive buffer is split into two parts, a large suballocation
+     * section and a small suballocation section. These sections are then
+     * suballocated by a certain size.
+     */
+
+    /*
+     * For example, the following break up of the receive buffer has 6
+     * large suballocations and 10 small suballocations.
+     */
+
+    /*
+     * |            Large Section          |  |   Small Section   |
+     * ------------------------------------------------------------
+     * |     |     |     |     |     |     |  | | | | | | | | | | |
+     * |                                      |
+     *  LargeOffset                            SmallOffset
+     */
+
+    struct nvsp1_rcvbuf_section sections[1];
+} QEMU_PACKED;
+
+/*
+ * This message is sent by the VSC to revoke the receive buffer.  After the VSP
+ * completes this transaction, the vsp should never use the receive buffer
+ * again.
+ */
+struct nvsp1_msg_revoke_rcvbuf {
+    uint16_t id;
+};
+
+/*
+ * This message is used by the VSC to send a send buffer to the VSP. The VSC
+ * can then use the send buffer to send data to the VSP.
+ */
+struct nvsp1_msg_sndbuf {
+    uint32_t gpadl_handle;
+    uint16_t id;
+} QEMU_PACKED;
+
+/*
+ * This message is used by the VSP to acknowledge a send buffer sent by the
+ * VSC. This message must be sent by the VSP before the VSP uses the sent
+ * buffer.
+ */
+struct nvsp1_msg_sndbuf_complete {
+    uint32_t status;
+
+    /*
+     * The VSC gets to choose the size of the send buffer and the VSP gets
+     * to choose the sections size of the buffer.  This was done to enable
+     * dynamic reconfigurations when the cost of GPA-direct buffers
+     * decreases.
+     */
+    uint32_t section_size;
+} QEMU_PACKED;
+
+/*
+ * This message is sent by the VSC to revoke the send buffer.  After the VSP
+ * completes this transaction, the vsp should never use the send buffer again.
+ */
+struct nvsp1_msg_revoke_sndbuf {
+    uint16_t id;
+};
+
+/*
+ * This message is used by both the VSP and the VSC to send a RNDIS message to
+ * the opposite channel endpoint.
+ */
+struct nvsp1_msg_rndis_pkt {
+    /*
+     * This field is specified by RNDIS. They assume there's two different
+     * channels of communication. However, the Network VSP only has one.
+     * Therefore, the channel travels with the RNDIS packet.
+     */
+    uint32_t channel_type;
+
+    /*
+     * This field is used to send part or all of the data through a send
+     * buffer. This values specifies an index into the send buffer. If the
+     * index is 0xFFFFFFFF, then the send buffer is not being used and all
+     * of the data was sent through other VMBus mechanisms.
+     */
+    uint32_t send_buf_section_index;
+    uint32_t send_buf_section_size;
+} QEMU_PACKED;
+
+/*
+ * This message is used by both the VSP and the VSC to complete a RNDIS message
+ * to the opposite channel endpoint. At this point, the initiator of this
+ * message cannot use any resources associated with the original RNDIS packet.
+ */
+struct nvsp1_msg_rndis_pkt_complete {
+    uint32_t status;
+};
+
+/*
+ * Network VSP protocol version 2 messages:
+ */
+struct nvsp2_vsc_capability {
+    union {
+        uint64_t data;
+        struct {
+            uint64_t vmq:1;
+            uint64_t chimney:1;
+            uint64_t sriov:1;
+            uint64_t ieee8021q:1;
+            uint64_t correlation_id:1;
+            uint64_t teaming:1;
+        };
+    };
+} QEMU_PACKED;
+
+struct nvsp2_send_ndis_config {
+    uint32_t mtu;
+    uint32_t reserved;
+    struct nvsp2_vsc_capability capability;
+} QEMU_PACKED;
+
+/* Allocate receive buffer */
+struct nvsp2_alloc_rxbuf {
+    /* Allocation ID to match the allocation request and response */
+    uint32_t alloc_id;
+
+    /* Length of the VM shared memory receive buffer that needs to
+     * be allocated
+     */
+    uint32_t len;
+} QEMU_PACKED;
+
+/* Allocate receive buffer complete */
+struct nvsp2_alloc_rxbuf_comp {
+    /* The NDIS_STATUS code for buffer allocation */
+    uint32_t status;
+
+    uint32_t alloc_id;
+
+    /* GPADL handle for the allocated receive buffer */
+    uint32_t gpadl_handle;
+
+    /* Receive buffer ID */
+    uint64_t recv_buf_id;
+} QEMU_PACKED;
+
+struct nvsp2_free_rxbuf {
+    uint64_t recv_buf_id;
+} QEMU_PACKED;
+
+struct nvsp4_send_vf_association {
+    /* 1: allocated, serial number is valid. 0: not allocated */
+    uint32_t allocated;
+
+    /* Serial number of the VF to team with */
+    uint32_t serial;
+} QEMU_PACKED;
+
+enum nvsp_vm_datapath {
+    NVSP_DATAPATH_SYNTHETIC = 0,
+    NVSP_DATAPATH_VF,
+    NVSP_DATAPATH_MAX
+};
+
+struct nvsp4_sw_datapath {
+    uint32_t active_datapath; /* active data path in VM */
+} QEMU_PACKED;
+
+enum nvsp_subchannel_operation {
+    NVSP_SUBCHANNEL_NONE = 0,
+    NVSP_SUBCHANNEL_ALLOCATE,
+    NVSP_SUBCHANNEL_MAX
+};
+
+struct nvsp5_subchannel_request {
+    uint32_t op;
+    uint32_t num_subchannels;
+} QEMU_PACKED;
+
+struct nvsp5_subchannel_complete {
+    uint32_t status;
+    uint32_t num_subchannels; /* Actual number of subchannels allocated */
+} QEMU_PACKED;
+
+struct nvsp5_send_indirect_table {
+    /* The number of entries in the send indirection table */
+    uint32_t count;
+
+    /* The offset of the send indirection table from top of this struct.
+     * The send indirection table tells which channel to put the send
+     * traffic on. Each entry is a channel number.
+     */
+    uint32_t offset;
+} QEMU_PACKED;
+
+union nvsp_all_messages {
+    struct nvsp_msg_init init;
+    struct nvsp_msg_init_complete init_complete;
+
+    struct nvsp1_msg_ndis_ver send_ndis_ver;
+    struct nvsp1_msg_rcvbuf send_recv_buf;
+    struct nvsp1_msg_rcvbuf_complete send_recv_buf_complete;
+    struct nvsp1_msg_revoke_rcvbuf revoke_recv_buf;
+    struct nvsp1_msg_sndbuf send_send_buf;
+    struct nvsp1_msg_sndbuf_complete send_send_buf_complete;
+    struct nvsp1_msg_revoke_sndbuf revoke_send_buf;
+    struct nvsp1_msg_rndis_pkt send_rndis_pkt;
+    struct nvsp1_msg_rndis_pkt_complete send_rndis_pkt_complete;
+
+    struct nvsp2_send_ndis_config send_ndis_config;
+    struct nvsp2_alloc_rxbuf alloc_rxbuf;
+    struct nvsp2_alloc_rxbuf_comp alloc_rxbuf_comp;
+    struct nvsp2_free_rxbuf free_rxbuf;
+
+    struct nvsp4_send_vf_association vf_assoc;
+    struct nvsp4_sw_datapath active_dp;
+
+    struct nvsp5_subchannel_request subchn_req;
+    struct nvsp5_subchannel_complete subchn_comp;
+    struct nvsp5_send_indirect_table send_table;
+} QEMU_PACKED;
+
+/* ALL Messages */
+struct nvsp_msg {
+    struct nvsp_msg_header hdr;
+    union nvsp_all_messages msg;
+} QEMU_PACKED;
+
+
+#define NETVSC_MTU 65535
+#define NETVSC_MTU_MIN ETH_MIN_MTU
+
+#define NETVSC_RECEIVE_BUFFER_SIZE		(1024*1024*16)	/* 16MB */
+#define NETVSC_RECEIVE_BUFFER_SIZE_LEGACY	(1024*1024*15)  /* 15MB */
+#define NETVSC_SEND_BUFFER_SIZE			(1024 * 1024 * 15)   /* 15MB */
+#define NETVSC_INVALID_INDEX			-1
+
+
+#define NETVSC_RECEIVE_BUFFER_ID		0xcafe
+#define NETVSC_SEND_BUFFER_ID			0
+
+#define NETVSC_PACKET_SIZE                      4096
+
+#define VRSS_SEND_TAB_SIZE 16  /* must be power of 2 */
+#define VRSS_CHANNEL_MAX 64
+#define VRSS_CHANNEL_DEFAULT 8
+
+#define RNDIS_MAX_PKT_DEFAULT 8
+#define RNDIS_PKT_ALIGN_DEFAULT 8
+
+/* Netvsc Receive Slots Max */
+#define NETVSC_RECVSLOT_MAX (NETVSC_RECEIVE_BUFFER_SIZE / ETH_DATA_LEN + 1)
+
+/* NdisInitialize message */
+struct rndis_initialize_request {
+    uint32_t req_id;
+    uint32_t major_ver;
+    uint32_t minor_ver;
+    uint32_t max_xfer_size;
+};
+
+/* Response to NdisInitialize */
+struct rndis_initialize_complete {
+    uint32_t req_id;
+    uint32_t status;
+    uint32_t major_ver;
+    uint32_t minor_ver;
+    uint32_t dev_flags;
+    uint32_t medium;
+    uint32_t max_pkt_per_msg;
+    uint32_t max_xfer_size;
+    uint32_t pkt_alignment_factor;
+    uint32_t af_list_offset;
+    uint32_t af_list_size;
+};
+
+/* Call manager devices only: Information about an address family */
+/* supported by the device is appended to the response to NdisInitialize. */
+struct rndis_co_address_family {
+    uint32_t address_family;
+    uint32_t major_ver;
+    uint32_t minor_ver;
+};
+
+/* NdisHalt message */
+struct rndis_halt_request {
+    uint32_t req_id;
+};
+
+/* NdisQueryRequest message */
+struct rndis_query_request {
+    uint32_t req_id;
+    uint32_t oid;
+    uint32_t info_buflen;
+    uint32_t info_buf_offset;
+    uint32_t dev_vc_handle;
+};
+
+/* Response to NdisQueryRequest */
+struct rndis_query_complete {
+    uint32_t req_id;
+    uint32_t status;
+    uint32_t info_buflen;
+    uint32_t info_buf_offset;
+};
+
+/* NdisSetRequest message */
+struct rndis_set_request {
+    uint32_t req_id;
+    uint32_t oid;
+    uint32_t info_buflen;
+    uint32_t info_buf_offset;
+    uint32_t dev_vc_handle;
+};
+
+/* Response to NdisSetRequest */
+struct rndis_set_complete {
+    uint32_t req_id;
+    uint32_t status;
+};
+
+/* NdisReset message */
+struct rndis_reset_request {
+    uint32_t reserved;
+};
+
+/* Response to NdisReset */
+struct rndis_reset_complete {
+    uint32_t status;
+    uint32_t addressing_reset;
+};
+
+/* NdisMIndicateStatus message */
+struct rndis_indicate_status {
+    uint32_t status;
+    uint32_t status_buflen;
+    uint32_t status_buf_offset;
+};
+
+/* Diagnostic information passed as the status buffer in */
+/* struct rndis_indicate_status messages signifying error conditions. */
+struct rndis_diagnostic_info {
+    uint32_t diag_status;
+    uint32_t error_offset;
+};
+
+/* NdisKeepAlive message */
+struct rndis_keepalive_request {
+    uint32_t req_id;
+};
+
+/* Response to NdisKeepAlive */
+struct rndis_keepalive_complete {
+    uint32_t req_id;
+    uint32_t status;
+};
+
+/*
+ * Data message. All Offset fields contain byte offsets from the beginning of
+ * struct rndis_packet. All Length fields are in bytes.  VcHandle is set
+ * to 0 for connectionless data, otherwise it contains the VC handle.
+ */
+struct rndis_packet {
+    uint32_t data_offset;
+    uint32_t data_len;
+    uint32_t oob_data_offset;
+    uint32_t oob_data_len;
+    uint32_t num_oob_data_elements;
+    uint32_t per_pkt_info_offset;
+    uint32_t per_pkt_info_len;
+    uint32_t vc_handle;
+    uint32_t reserved;
+};
+
+/* Optional Out of Band data associated with a Data message. */
+struct rndis_oobd {
+    uint32_t size;
+    uint32_t type;
+    uint32_t class_info_offset;
+};
+
+/* Packet extension field contents associated with a Data message. */
+struct rndis_per_packet_info {
+    uint32_t size;
+    uint32_t type;
+    uint32_t ppi_offset;
+};
+
+enum ndis_per_pkt_info_type {
+    TCPIP_CHKSUM_PKTINFO,
+    IPSEC_PKTINFO,
+    TCP_LARGESEND_PKTINFO,
+    CLASSIFICATION_HANDLE_PKTINFO,
+    NDIS_RESERVED,
+    SG_LIST_PKTINFO,
+    IEEE_8021Q_INFO,
+    ORIGINAL_PKTINFO,
+    PACKET_CANCEL_ID,
+    NBL_HASH_VALUE = PACKET_CANCEL_ID,
+    ORIGINAL_NET_BUFLIST,
+    CACHED_NET_BUFLIST,
+    SHORT_PKT_PADINFO,
+    MAX_PER_PKT_INFO
+};
+
+struct ndis_pkt_8021q_info {
+    union {
+        struct {
+            uint32_t pri:3; /* User Priority */
+            uint32_t cfi:1; /* Canonical Format ID */
+            uint32_t vlanid:12; /* VLAN ID */
+            uint32_t reserved:16;
+        };
+        uint32_t value;
+    };
+};
+
+struct ndis_object_header {
+    uint8_t type;
+    uint8_t revision;
+    uint16_t size;
+};
+
+#define NDIS_OBJECT_TYPE_DEFAULT	0x80
+#define NDIS_OFFLOAD_PARAMETERS_REVISION_3 3
+#define NDIS_OFFLOAD_PARAMETERS_REVISION_2 2
+#define NDIS_OFFLOAD_PARAMETERS_REVISION_1 1
+
+#define NDIS_OFFLOAD_PARAMETERS_NO_CHANGE 0
+#define NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED 1
+#define NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED  2
+#define NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED  2
+#define NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED 1
+#define NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED 2
+#define NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED 1
+#define NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED 2
+#define NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED 3
+#define NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED 4
+
+#define NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE	1
+#define NDIS_TCP_LARGE_SEND_OFFLOAD_IPV4	0
+#define NDIS_TCP_LARGE_SEND_OFFLOAD_IPV6	1
+
+#define VERSION_4_OFFLOAD_SIZE			22
+/*
+ * New offload OIDs for NDIS 6
+ */
+#define OID_TCP_OFFLOAD_CURRENT_CONFIG 0xFC01020B /* query only */
+#define OID_TCP_OFFLOAD_PARAMETERS 0xFC01020C		/* set only */
+#define OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES 0xFC01020D/* query only */
+#define OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG 0xFC01020E /* query only */
+#define OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES 0xFC01020F /* query */
+#define OID_OFFLOAD_ENCAPSULATION 0x0101010A /* set/query */
+
+/*
+ * OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES
+ * ndis_type: NDIS_OBJTYPE_OFFLOAD
+ */
+
+#define	NDIS_OFFLOAD_ENCAP_NONE		0x0000
+#define	NDIS_OFFLOAD_ENCAP_NULL		0x0001
+#define	NDIS_OFFLOAD_ENCAP_8023		0x0002
+#define	NDIS_OFFLOAD_ENCAP_8023PQ	0x0004
+#define	NDIS_OFFLOAD_ENCAP_8023PQ_OOB	0x0008
+#define	NDIS_OFFLOAD_ENCAP_RFC1483	0x0010
+
+struct ndis_csum_offload {
+    uint32_t	ip4_txenc;
+    uint32_t	ip4_txcsum;
+#define	NDIS_TXCSUM_CAP_IP4OPT		0x001
+#define	NDIS_TXCSUM_CAP_TCP4OPT		0x004
+#define	NDIS_TXCSUM_CAP_TCP4		0x010
+#define	NDIS_TXCSUM_CAP_UDP4		0x040
+#define	NDIS_TXCSUM_CAP_IP4		0x100
+
+#define NDIS_TXCSUM_ALL_TCP4	(NDIS_TXCSUM_CAP_TCP4 | NDIS_TXCSUM_CAP_TCP4OPT)
+
+    uint32_t	ip4_rxenc;
+    uint32_t	ip4_rxcsum;
+#define	NDIS_RXCSUM_CAP_IP4OPT		0x001
+#define	NDIS_RXCSUM_CAP_TCP4OPT		0x004
+#define	NDIS_RXCSUM_CAP_TCP4		0x010
+#define	NDIS_RXCSUM_CAP_UDP4		0x040
+#define	NDIS_RXCSUM_CAP_IP4		0x100
+    uint32_t	ip6_txenc;
+    uint32_t	ip6_txcsum;
+#define	NDIS_TXCSUM_CAP_IP6EXT		0x001
+#define	NDIS_TXCSUM_CAP_TCP6OPT		0x004
+#define	NDIS_TXCSUM_CAP_TCP6		0x010
+#define	NDIS_TXCSUM_CAP_UDP6		0x040
+    uint32_t	ip6_rxenc;
+    uint32_t	ip6_rxcsum;
+#define	NDIS_RXCSUM_CAP_IP6EXT		0x001
+#define	NDIS_RXCSUM_CAP_TCP6OPT		0x004
+#define	NDIS_RXCSUM_CAP_TCP6		0x010
+#define	NDIS_RXCSUM_CAP_UDP6		0x040
+
+#define NDIS_TXCSUM_ALL_TCP6	(NDIS_TXCSUM_CAP_TCP6 |		\
+                                 NDIS_TXCSUM_CAP_TCP6OPT |	\
+                                 NDIS_TXCSUM_CAP_IP6EXT)
+};
+
+struct ndis_lsov1_offload {
+    uint32_t	encap;
+    uint32_t	maxsize;
+    uint32_t	minsegs;
+    uint32_t	opts;
+};
+
+struct ndis_ipsecv1_offload {
+    uint32_t	encap;
+    uint32_t	ah_esp;
+    uint32_t	xport_tun;
+    uint32_t	ip4_opts;
+    uint32_t	flags;
+    uint32_t	ip4_ah;
+    uint32_t	ip4_esp;
+};
+
+struct ndis_lsov2_offload {
+    uint32_t	ip4_encap;
+    uint32_t	ip4_maxsz;
+    uint32_t	ip4_minsg;
+    uint32_t	ip6_encap;
+    uint32_t	ip6_maxsz;
+    uint32_t	ip6_minsg;
+    uint32_t	ip6_opts;
+#define	NDIS_LSOV2_CAP_IP6EXT		0x001
+#define	NDIS_LSOV2_CAP_TCP6OPT		0x004
+
+#define NDIS_LSOV2_CAP_IP6		(NDIS_LSOV2_CAP_IP6EXT | \
+                                         NDIS_LSOV2_CAP_TCP6OPT)
+};
+
+struct ndis_ipsecv2_offload {
+    uint32_t	encap;
+    uint16_t	ip6;
+    uint16_t	ip4opt;
+    uint16_t	ip6ext;
+    uint16_t	ah;
+    uint16_t	esp;
+    uint16_t	ah_esp;
+    uint16_t	xport;
+    uint16_t	tun;
+    uint16_t	xport_tun;
+    uint16_t	lso;
+    uint16_t	extseq;
+    uint32_t	udp_esp;
+    uint32_t	auth;
+    uint32_t	crypto;
+    uint32_t	sa_caps;
+};
+
+struct ndis_rsc_offload {
+    uint16_t	ip4;
+    uint16_t	ip6;
+};
+
+struct ndis_encap_offload {
+    uint32_t	flags;
+    uint32_t	maxhdr;
+};
+
+struct ndis_offload {
+    struct ndis_object_header	header;
+    struct ndis_csum_offload	csum;
+    struct ndis_lsov1_offload	lsov1;
+    struct ndis_ipsecv1_offload	ipsecv1;
+    struct ndis_lsov2_offload	lsov2;
+    uint32_t				flags;
+    /* NDIS >= 6.1 */
+    struct ndis_ipsecv2_offload	ipsecv2;
+    /* NDIS >= 6.30 */
+    struct ndis_rsc_offload		rsc;
+    struct ndis_encap_offload	encap_gre;
+};
+
+#define	NDIS_OFFLOAD_SIZE		sizeof(struct ndis_offload)
+#define	NDIS_OFFLOAD_SIZE_6_0		offsetof(struct ndis_offload, ipsecv2)
+#define	NDIS_OFFLOAD_SIZE_6_1		offsetof(struct ndis_offload, rsc)
+
+struct ndis_offload_params {
+    struct ndis_object_header header;
+    uint8_t ip_v4_csum;
+    uint8_t tcp_ip_v4_csum;
+    uint8_t udp_ip_v4_csum;
+    uint8_t tcp_ip_v6_csum;
+    uint8_t udp_ip_v6_csum;
+    uint8_t lso_v1;
+    uint8_t ip_sec_v1;
+    uint8_t lso_v2_ipv4;
+    uint8_t lso_v2_ipv6;
+    uint8_t tcp_connection_ip_v4;
+    uint8_t tcp_connection_ip_v6;
+    uint32_t flags;
+    uint8_t ip_sec_v2;
+    uint8_t ip_sec_v2_ip_v4;
+    struct {
+        uint8_t rsc_ip_v4;
+        uint8_t rsc_ip_v6;
+    };
+    struct {
+        uint8_t encapsulated_packet_task_offload;
+        uint8_t encapsulation_types;
+    };
+};
+
+struct ndis_tcp_ip_checksum_info {
+    union {
+        struct {
+            uint32_t is_ipv4:1;
+            uint32_t is_ipv6:1;
+            uint32_t tcp_checksum:1;
+            uint32_t udp_checksum:1;
+            uint32_t ip_header_checksum:1;
+            uint32_t reserved:11;
+            uint32_t tcp_header_offset:10;
+        } transmit;
+        struct {
+            uint32_t tcp_checksum_failed:1;
+            uint32_t udp_checksum_failed:1;
+            uint32_t ip_checksum_failed:1;
+            uint32_t tcp_checksum_succeeded:1;
+            uint32_t udp_checksum_succeeded:1;
+            uint32_t ip_checksum_succeeded:1;
+            uint32_t loopback:1;
+            uint32_t tcp_checksum_value_invalid:1;
+            uint32_t ip_checksum_value_invalid:1;
+        } receive;
+        uint32_t  value;
+    };
+};
+
+struct ndis_tcp_lso_info {
+    union {
+        struct {
+            uint32_t unused:30;
+            uint32_t type:1;
+            uint32_t reserved2:1;
+        } transmit;
+        struct {
+            uint32_t mss:20;
+            uint32_t tcp_header_offset:10;
+            uint32_t type:1;
+            uint32_t reserved2:1;
+        } lso_v1_transmit;
+        struct {
+            uint32_t tcp_payload:30;
+            uint32_t type:1;
+            uint32_t reserved2:1;
+        } lso_v1_transmit_complete;
+        struct {
+            uint32_t mss:20;
+            uint32_t tcp_header_offset:10;
+            uint32_t type:1;
+            uint32_t ip_version:1;
+        } lso_v2_transmit;
+        struct {
+            uint32_t reserved:30;
+            uint32_t type:1;
+            uint32_t reserved2:1;
+        } lso_v2_transmit_complete;
+        uint32_t  value;
+    };
+};
+
+#define NDIS_VLAN_PPI_SIZE (sizeof(struct rndis_per_packet_info) + \
+                            sizeof(struct ndis_pkt_8021q_info))
+
+#define NDIS_CSUM_PPI_SIZE (sizeof(struct rndis_per_packet_info) + \
+                            sizeof(struct ndis_tcp_ip_checksum_info))
+
+#define NDIS_LSO_PPI_SIZE (sizeof(struct rndis_per_packet_info) + \
+                           sizeof(struct ndis_tcp_lso_info))
+
+#define NDIS_HASH_PPI_SIZE (sizeof(struct rndis_per_packet_info) + \
+                            sizeof(uint32_t))
+
+/* Total size of all PPI data */
+#define NDIS_ALL_PPI_SIZE (NDIS_VLAN_PPI_SIZE + NDIS_CSUM_PPI_SIZE + \
+                           NDIS_LSO_PPI_SIZE + NDIS_HASH_PPI_SIZE)
+
+/* Format of Information buffer passed in a SetRequest for the OID */
+/* OID_GEN_RNDIS_CONFIG_PARAMETER. */
+struct rndis_config_parameter_info {
+    uint32_t parameter_name_offset;
+    uint32_t parameter_name_length;
+    uint32_t parameter_type;
+    uint32_t parameter_value_offset;
+    uint32_t parameter_value_length;
+};
+
+/* Values for ParameterType in struct rndis_config_parameter_info */
+#define RNDIS_CONFIG_PARAM_TYPE_INTEGER     0
+#define RNDIS_CONFIG_PARAM_TYPE_STRING      2
+
+/* CONDIS Miniport messages for connection oriented devices */
+/* that do not implement a call manager. */
+
+/* CoNdisMiniportCreateVc message */
+struct rcondis_mp_create_vc {
+    uint32_t req_id;
+    uint32_t ndis_vc_handle;
+};
+
+/* Response to CoNdisMiniportCreateVc */
+struct rcondis_mp_create_vc_complete {
+    uint32_t req_id;
+    uint32_t dev_vc_handle;
+    uint32_t status;
+};
+
+/* CoNdisMiniportDeleteVc message */
+struct rcondis_mp_delete_vc {
+    uint32_t req_id;
+    uint32_t dev_vc_handle;
+};
+
+/* Response to CoNdisMiniportDeleteVc */
+struct rcondis_mp_delete_vc_complete {
+    uint32_t req_id;
+    uint32_t status;
+};
+
+/* CoNdisMiniportQueryRequest message */
+struct rcondis_mp_query_request {
+    uint32_t req_id;
+    uint32_t request_type;
+    uint32_t oid;
+    uint32_t dev_vc_handle;
+    uint32_t info_buflen;
+    uint32_t info_buf_offset;
+};
+
+/* CoNdisMiniportSetRequest message */
+struct rcondis_mp_set_request {
+    uint32_t req_id;
+    uint32_t request_type;
+    uint32_t oid;
+    uint32_t dev_vc_handle;
+    uint32_t info_buflen;
+    uint32_t info_buf_offset;
+};
+
+/* CoNdisIndicateStatus message */
+struct rcondis_indicate_status {
+    uint32_t ndis_vc_handle;
+    uint32_t status;
+    uint32_t status_buflen;
+    uint32_t status_buf_offset;
+};
+
+/* CONDIS Call/VC parameters */
+struct rcondis_specific_parameters {
+    uint32_t parameter_type;
+    uint32_t parameter_length;
+    uint32_t parameter_lffset;
+};
+
+struct rcondis_media_parameters {
+    uint32_t flags;
+    uint32_t reserved1;
+    uint32_t reserved2;
+    struct rcondis_specific_parameters media_specific;
+};
+
+struct rndis_flowspec {
+    uint32_t token_rate;
+    uint32_t token_bucket_size;
+    uint32_t peak_bandwidth;
+    uint32_t latency;
+    uint32_t delay_variation;
+    uint32_t service_type;
+    uint32_t max_sdu_size;
+    uint32_t minimum_policed_size;
+};
+
+struct rcondis_call_manager_parameters {
+    struct rndis_flowspec transmit;
+    struct rndis_flowspec receive;
+    struct rcondis_specific_parameters call_mgr_specific;
+};
+
+/* CoNdisMiniportActivateVc message */
+struct rcondis_mp_activate_vc_request {
+    uint32_t req_id;
+    uint32_t flags;
+    uint32_t dev_vc_handle;
+    uint32_t media_params_offset;
+    uint32_t media_params_length;
+    uint32_t call_mgr_params_offset;
+    uint32_t call_mgr_params_length;
+};
+
+/* Response to CoNdisMiniportActivateVc */
+struct rcondis_mp_activate_vc_complete {
+    uint32_t req_id;
+    uint32_t status;
+};
+
+/* CoNdisMiniportDeactivateVc message */
+struct rcondis_mp_deactivate_vc_request {
+    uint32_t req_id;
+    uint32_t flags;
+    uint32_t dev_vc_handle;
+};
+
+/* Response to CoNdisMiniportDeactivateVc */
+struct rcondis_mp_deactivate_vc_complete {
+    uint32_t req_id;
+    uint32_t status;
+};
+
+
+/* union with all of the RNDIS messages */
+union rndis_message_container {
+    struct rndis_packet pkt;
+    struct rndis_initialize_request init_req;
+    struct rndis_halt_request halt_req;
+    struct rndis_query_request query_req;
+    struct rndis_set_request set_req;
+    struct rndis_reset_request reset_req;
+    struct rndis_keepalive_request keep_alive_req;
+    struct rndis_indicate_status indicate_status;
+    struct rndis_initialize_complete init_complete;
+    struct rndis_query_complete query_complete;
+    struct rndis_set_complete set_complete;
+    struct rndis_reset_complete reset_complete;
+    struct rndis_keepalive_complete keep_alive_complete;
+    struct rcondis_mp_create_vc co_miniport_create_vc;
+    struct rcondis_mp_delete_vc co_miniport_delete_vc;
+    struct rcondis_indicate_status co_indicate_status;
+    struct rcondis_mp_activate_vc_request co_miniport_activate_vc;
+    struct rcondis_mp_deactivate_vc_request co_miniport_deactivate_vc;
+    struct rcondis_mp_create_vc_complete co_miniport_create_vc_complete;
+    struct rcondis_mp_delete_vc_complete co_miniport_delete_vc_complete;
+    struct rcondis_mp_activate_vc_complete co_miniport_activate_vc_complete;
+    struct rcondis_mp_deactivate_vc_complete
+        co_miniport_deactivate_vc_complete;
+};
+
+/* Remote NDIS message format */
+struct rndis_msg_hdr {
+    uint32_t msg_type;
+    uint32_t msg_len;
+};
+
+#define NDIS_PACKET_TYPE_DIRECTED	0x00000001
+#define NDIS_PACKET_TYPE_MULTICAST	0x00000002
+#define NDIS_PACKET_TYPE_ALL_MULTICAST	0x00000004
+#define NDIS_PACKET_TYPE_BROADCAST	0x00000008
+#define NDIS_PACKET_TYPE_SOURCE_ROUTING	0x00000010
+#define NDIS_PACKET_TYPE_PROMISCUOUS	0x00000020
+#define NDIS_PACKET_TYPE_SMT		0x00000040
+#define NDIS_PACKET_TYPE_ALL_LOCAL	0x00000080
+#define NDIS_PACKET_TYPE_GROUP		0x00000100
+#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL	0x00000200
+#define NDIS_PACKET_TYPE_FUNCTIONAL	0x00000400
+#define NDIS_PACKET_TYPE_MAC_FRAME	0x00000800
+
+#define TRANSPORT_INFO_NOT_IP   0
+#define TRANSPORT_INFO_IPV4_TCP 0x01
+#define TRANSPORT_INFO_IPV4_UDP 0x02
+#define TRANSPORT_INFO_IPV6_TCP 0x10
+#define TRANSPORT_INFO_IPV6_UDP 0x20
+
+#endif
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 30/34] net: add Hyper-V/VMBus net adapter
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (28 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 29/34] net: add Hyper-V/VMBus network protocol definitions Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 31/34] hv-net: add .bootindex support Roman Kagan
                   ` (9 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

TODO:
 - add MAC filtering
 - add offloads
 - perf tuning
Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 hw/net/hv-net.c      | 1440 ++++++++++++++++++++++++++++++++++++++++++++++++++
 hw/net/Makefile.objs |    2 +
 2 files changed, 1442 insertions(+)
 create mode 100644 hw/net/hv-net.c

diff --git a/hw/net/hv-net.c b/hw/net/hv-net.c
new file mode 100644
index 0000000000..614922c0fb
--- /dev/null
+++ b/hw/net/hv-net.c
@@ -0,0 +1,1440 @@
+/*
+ * QEMU Hyper-V network device support
+ *
+ * Copyright (c) 2018 Virtuozzo International GmbH.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#include "qemu/osdep.h"
+#include "qemu/error-report.h"
+#include "qemu/iov.h"
+#include "hw/vmbus/vmbus.h"
+#include "net/net.h"
+#include "rndis.h"
+#include "hvnet-proto.h"
+
+#define TYPE_HV_NET "hv-net"
+#define HV_NET_GUID "f8615163-df3e-46c5-913f-f2d2f965ed0e"
+
+/* FIXME: generalize to vmbus.c? */
+typedef struct HvNetRcvPkt {
+    QTAILQ_ENTRY(HvNetRcvPkt) link;
+    uint32_t off;
+    uint32_t len;
+} HvNetRcvPkt;
+
+typedef enum HvNetState {
+    HV_NET_RESET,
+    HV_NET_INITIALIZING,
+    HV_NET_INITIALIZED,
+} HvNetState;
+
+typedef struct HvNet {
+    VMBusDevice parent;
+
+    NICConf conf;
+    NICState *nic;
+
+    HvNetState state;
+
+    uint16_t sndbuf_id;
+    uint32_t sndbuf_gpadl_id;
+    VMBusGpadl *sndbuf_gpadl;
+
+    uint16_t rcvbuf_id;
+    uint32_t rcvbuf_gpadl_id;
+    VMBusGpadl *rcvbuf_gpadl;
+    int32_t rcvbuf_slot_num;    /* int32_t for VMSTATE_STRUCT_VARRAY_ALLOC */
+    uint16_t rcvbuf_slot_len;
+    unsigned long *rcvbuf_slot_map;
+    HvNetRcvPkt *rcvpkts;
+    QTAILQ_HEAD(, HvNetRcvPkt) rcvpkts_free;
+
+    struct {} reset_start;
+
+    uint32_t protocol_ver;
+    uint32_t ndis_maj_ver;
+    uint32_t ndis_min_ver;
+    uint32_t rndis_ctl;
+    uint32_t rndis_req_id;
+    uint32_t rndis_maj;
+    uint32_t rndis_min;
+    uint32_t max_xfer_size;
+    uint32_t rndis_query_oid;
+#define RNDIS_QUERY_INFO_LEN 32
+    uint64_t rndis_query_info[RNDIS_QUERY_INFO_LEN];
+    uint32_t rndis_query_info_len;
+    uint32_t rndis_set_status;
+    uint32_t rndis_packet_filter;
+
+    bool link_down;
+
+    uint32_t rx_pkts;
+    uint32_t tx_pkts;
+} HvNet;
+
+#define HV_NET(obj) OBJECT_CHECK(HvNet, (obj), TYPE_HV_NET)
+
+typedef struct HvNetReq
+{
+    VMBusChanReq vmreq;
+    HvNet *net;
+    unsigned iov_cnt;
+    struct iovec iov[64];
+} HvNetReq;
+
+static int hv_net_init_req(HvNet *net, HvNetReq *req)
+{
+    int ret;
+    QEMUSGList *sgl = &req->vmreq.sgl;
+
+    req->net = net;
+
+    if (!sgl->dev) {
+        return 0;
+    }
+
+    ret = vmbus_map_sgl(sgl, DMA_DIRECTION_TO_DEVICE, req->iov,
+                        ARRAY_SIZE(req->iov), -1, 0);
+    if (ret >= 0) {
+        req->iov_cnt = ret;
+    } else {
+        error_report("%s: failed to map SGL: %d", __func__, ret);
+    }
+    return ret;
+}
+
+static void hv_net_free_req(HvNetReq *req)
+{
+    vmbus_unmap_sgl(&req->vmreq.sgl, DMA_DIRECTION_TO_DEVICE, req->iov,
+                    req->iov_cnt, 0);
+    vmbus_release_req(req);
+}
+
+static int complete_req(HvNetReq *req)
+{
+    int ret = 0;
+#if 0
+    VMBusChanReq *vmreq = &req->vmreq;
+    struct nvsp_msg_header *nhdr = vmreq->msg;
+
+    error_report("%s >>>> msg: %x %lx", __func__,
+                 vmreq->msglen ? nhdr->msg_type : -1, vmreq->transaction_id);
+#endif
+    if (req->vmreq.comp) {
+        ret = vmbus_chan_send_completion(&req->vmreq);
+    }
+
+    hv_net_free_req(req);
+    return ret;
+}
+
+static HvNetRcvPkt *get_rcv_pkt(HvNet *net, size_t len)
+{
+    uint32_t nr, start;
+    HvNetRcvPkt *pkt;
+
+    if (!len) {
+        return NULL;
+    }
+
+    nr = DIV_ROUND_UP(len, net->rcvbuf_slot_len);
+    start = bitmap_find_next_zero_area(net->rcvbuf_slot_map,
+                                       net->rcvbuf_slot_num, 0, nr, 0);
+    if (start >= net->rcvbuf_slot_num) {
+        return NULL;
+    }
+
+    bitmap_set(net->rcvbuf_slot_map, start, nr);
+    pkt = QTAILQ_FIRST(&net->rcvpkts_free);
+    assert(pkt);
+    QTAILQ_REMOVE(&net->rcvpkts_free, pkt, link);
+    pkt->off = start * net->rcvbuf_slot_len;
+    pkt->len = len;
+    return pkt;
+}
+
+static void put_rcv_pkt(HvNet *net, HvNetRcvPkt *pkt)
+{
+    uint32_t nr, start;
+
+    start = pkt->off / net->rcvbuf_slot_len;
+    nr = DIV_ROUND_UP(pkt->len, net->rcvbuf_slot_len);
+    bitmap_clear(net->rcvbuf_slot_map, start, nr);
+    QTAILQ_INSERT_TAIL(&net->rcvpkts_free, pkt, link);
+    pkt->len = 0;
+}
+
+static void put_rcv_pkt_by_tr_id(HvNet *net, uint64_t tr_id)
+{
+    /* transaction id comes from the guest and can't be trusted blindly */
+    HvNetRcvPkt *pkt;
+
+    if (tr_id >= net->rcvbuf_slot_num) {
+        return;
+    }
+    pkt = &net->rcvpkts[tr_id];
+    if (!pkt->len) {
+        return;
+    }
+    put_rcv_pkt(net, pkt);
+}
+
+static void create_rcvbuf(HvNet *net)
+{
+    uint32_t gpadl_len;
+    int i;
+
+    gpadl_len = vmbus_gpadl_len(net->rcvbuf_gpadl);
+    net->rcvbuf_slot_num = gpadl_len / net->rcvbuf_slot_len;
+    net->rcvbuf_slot_map = bitmap_new(net->rcvbuf_slot_num);
+    net->rcvpkts = g_new0(HvNetRcvPkt, net->rcvbuf_slot_num);
+    QTAILQ_INIT(&net->rcvpkts_free);
+    for (i = 0; i < net->rcvbuf_slot_num; i++) {
+        QTAILQ_INSERT_TAIL(&net->rcvpkts_free, &net->rcvpkts[i], link);
+    }
+}
+
+static void destroy_rcvbuf(HvNet *net)
+{
+    int i;
+
+    if (!net->rcvbuf_gpadl) {
+        return;
+    }
+
+    for (i = 0; i < net->rcvbuf_slot_num; i++) {
+        if (!QTAILQ_IN_USE(&net->rcvpkts[i], link)) {
+            put_rcv_pkt(net, &net->rcvpkts[i]);
+        }
+    }
+
+    assert(bitmap_empty(net->rcvbuf_slot_map, net->rcvbuf_slot_num));
+    g_free(net->rcvbuf_slot_map);
+    g_free(net->rcvpkts);
+
+    vmbus_put_gpadl(net->rcvbuf_gpadl);
+    net->rcvbuf_gpadl = NULL;
+}
+
+static void destroy_sndbuf(HvNet *net)
+{
+    if (!net->sndbuf_gpadl) {
+        return;
+    }
+
+    vmbus_put_gpadl(net->sndbuf_gpadl);
+    net->sndbuf_gpadl = NULL;
+}
+
+static void handle_init(HvNetReq *req, struct nvsp_msg_init *msg_in,
+                        uint32_t len, struct nvsp_msg_header *hdr_out)
+{
+    struct nvsp_msg_init_complete *msg_out;
+
+    if (len < sizeof(*msg_in) || len < sizeof(*msg_out)) {
+        return;
+    }
+    if (!hdr_out) {
+        return;
+    }
+
+    hdr_out->msg_type = NVSP_MSG_TYPE_INIT_COMPLETE;
+    msg_out = (struct nvsp_msg_init_complete *)(hdr_out + 1);
+
+    if (msg_in->min_protocol_ver > msg_in->max_protocol_ver ||
+        msg_in->min_protocol_ver > NVSP_PROTOCOL_VERSION_5 ||
+        msg_in->max_protocol_ver < NVSP_PROTOCOL_VERSION_1) {
+        msg_out->status = NVSP_STAT_FAIL;
+        return;
+    }
+
+    req->net->protocol_ver = msg_out->negotiated_protocol_ver =
+        msg_in->max_protocol_ver;
+    msg_out->status = NVSP_STAT_SUCCESS;
+}
+
+static void handle_ndis_ver(HvNetReq *req, struct nvsp1_msg_ndis_ver *msg_in,
+                            uint32_t len)
+{
+    if (len < sizeof(*msg_in)) {
+        return;
+    }
+
+    req->net->ndis_maj_ver = msg_in->ndis_major_ver;
+    req->net->ndis_min_ver = msg_in->ndis_minor_ver;
+}
+
+static void handle_rcv_buf(HvNetReq *req, struct nvsp1_msg_rcvbuf *msg_in,
+                           uint32_t len, struct nvsp_msg_header *hdr_out)
+{
+    HvNet *net = req->net;
+    struct nvsp1_msg_rcvbuf_complete *msg_out;
+
+    if (len < sizeof(*msg_in) || len < sizeof(*msg_out)) {
+        error_report("%s: bogus msg_size: %u", __func__, len);
+        return;
+    }
+    if (!hdr_out) {
+        error_report("%s: no reply msg", __func__);
+        return;
+    }
+
+    hdr_out->msg_type = NVSP_MSG1_TYPE_SEND_RECV_BUF_COMPLETE;
+    msg_out = (struct nvsp1_msg_rcvbuf_complete *)(hdr_out + 1);
+
+    net->rcvbuf_gpadl_id = msg_in->gpadl_handle;
+    net->rcvbuf_id = msg_in->id;
+    net->rcvbuf_gpadl = vmbus_get_gpadl(req->vmreq.chan, net->rcvbuf_gpadl_id);
+    if (!net->rcvbuf_gpadl) {
+        msg_out->status = NVSP_STAT_FAIL;
+        error_report("%s: failed to get gpadl %u", __func__, net->rcvbuf_gpadl_id);
+        return;
+    }
+
+    create_rcvbuf(net);
+
+    msg_out->status = NVSP_STAT_SUCCESS;
+    msg_out->num_sections = 1;
+    msg_out->sections[0].offset = 0;
+    msg_out->sections[0].sub_alloc_size = net->rcvbuf_slot_len;
+    msg_out->sections[0].num_sub_allocs = net->rcvbuf_slot_num;
+    msg_out->sections[0].end_offset = net->rcvbuf_slot_len *
+        net->rcvbuf_slot_num;
+}
+
+static void handle_revoke_rcv_buf(HvNetReq *req,
+                                  struct nvsp1_msg_revoke_rcvbuf *msg_in,
+                                  uint32_t len)
+{
+    if (len < sizeof(*msg_in)) {
+        return;
+    }
+
+    destroy_rcvbuf(req->net);
+}
+
+static void handle_snd_buf(HvNetReq *req, struct nvsp1_msg_sndbuf *msg_in,
+                           uint32_t len, struct nvsp_msg_header *hdr_out)
+{
+    HvNet *net = req->net;
+    struct nvsp1_msg_sndbuf_complete *msg_out;
+
+    if (len < sizeof(*msg_in) || len < sizeof(*msg_out)) {
+        return;
+    }
+    if (!hdr_out) {
+        return;
+    }
+
+    hdr_out->msg_type = NVSP_MSG1_TYPE_SEND_SEND_BUF_COMPLETE;
+    msg_out = (struct nvsp1_msg_sndbuf_complete *)(hdr_out + 1);
+
+    net->sndbuf_gpadl_id = msg_in->gpadl_handle;
+    net->sndbuf_id = msg_in->id;
+    net->sndbuf_gpadl = vmbus_get_gpadl(req->vmreq.chan, net->sndbuf_gpadl_id);
+    if (!net->sndbuf_gpadl) {
+        msg_out->status = NVSP_STAT_FAIL;
+        return;
+    }
+
+    msg_out->status = NVSP_STAT_SUCCESS;
+    /* FIXME: effectively prohibit guest from using send buffer for now */
+    msg_out->section_size = 1; //vmbus_gpadl_len(net->sndbuf_gpadl);
+}
+
+static void handle_revoke_snd_buf(HvNetReq *req,
+                                  struct nvsp1_msg_revoke_sndbuf *msg_in,
+                                  uint32_t len)
+{
+    if (len < sizeof(*msg_in)) {
+        return;
+    }
+
+    destroy_sndbuf(req->net);
+}
+
+static uint32_t handle_rndis_data(HvNetReq *req, struct rndis_msg_hdr *hdr)
+{
+    ssize_t ret;
+    HvNet *net = req->net;
+    uint32_t chan_idx = vmbus_channel_idx(req->vmreq.chan);
+    struct iovec *iov = req->iov;
+    uint32_t num = req->iov_cnt, i;
+    uint32_t doff, dlen;
+    uint32_t plen = hdr->msg_len - sizeof(*hdr);
+    struct rndis_packet pkt;
+
+    if (hdr->msg_type != RNDIS_MSG_PACKET) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+
+    if (plen < sizeof(pkt)) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+
+    if (iov_to_buf(iov, num, sizeof(*hdr), &pkt, sizeof(pkt)) != sizeof(pkt)) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+
+    doff = sizeof(*hdr) + pkt.data_offset;
+    dlen = pkt.data_len;
+    if (doff + dlen > hdr->msg_len) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+#if 0
+    error_report("%s: doff:%u dlen:%u", __func__, doff, dlen);
+#endif
+#if 0
+    iov_hexdump(iov, num, stderr, "original pkt", -1);
+#endif
+
+    /* patch iovec to contain only data */
+    for (; num; iov++, num--) {
+        if (iov->iov_len > doff) {
+            iov->iov_len -= doff;
+            iov->iov_base += doff;
+            break;
+        }
+        doff -= iov->iov_len;
+    }
+    for (i = 0; i < num; i++) {
+        if (iov[i].iov_len >= dlen) {
+            iov[i].iov_len = dlen;
+            break;
+        }
+        dlen -= iov[i].iov_len;
+    }
+    i = num;
+#if 0
+    iov_hexdump(iov, i, stderr, "sent pkt", -1);
+#endif
+
+    ret = qemu_sendv_packet(qemu_get_subqueue(net->nic, chan_idx), iov, i);
+    if (ret == 0) {
+        return NVSP_STAT_BUSY;
+    }
+    if (ret < 0) {
+        return NVSP_STAT_FAIL;
+    }
+    net->tx_pkts++;
+    return NVSP_STAT_SUCCESS;
+}
+
+static ssize_t receive_iov(HvNet *net, VMBusChannel *chan, bool is_ctrl,
+                           const struct iovec *iov, int iovcnt)
+{
+    size_t len = iov_size(iov, iovcnt);
+    HvNetRcvPkt *pkt;
+    struct {
+        vmbus_pkt_xferpg hdr;
+        vmbus_xferpg_range range;
+    } desc;
+    struct nvsp_msg msg;
+
+    if (!net->rcvbuf_gpadl) {
+        return 0;
+    }
+    if (!len) {
+        return 0;
+    }
+
+    pkt = get_rcv_pkt(net, len);
+    if (!pkt) {
+        return 0;
+    }
+
+    if (vmbus_channel_reserve(chan, sizeof(desc), sizeof(msg))) {
+        goto err_reserve;
+    }
+
+    desc.hdr.buffer_id = net->rcvbuf_id;
+    // desc.hdr.sender_owns_set = ?;
+    desc.hdr.rangecount = 1;
+    desc.range.byte_count = pkt->len;
+    desc.range.byte_offset = pkt->off;
+    msg.hdr.msg_type = NVSP_MSG1_TYPE_SEND_RNDIS_PKT;
+    msg.msg.send_rndis_pkt.channel_type = is_ctrl;
+    msg.msg.send_rndis_pkt.send_buf_section_index = 0;
+    msg.msg.send_rndis_pkt.send_buf_section_size = net->rcvbuf_slot_len *
+        net->rcvbuf_slot_num;
+
+#if 0
+    iov_hexdump(iov, iovcnt, stderr, __func__, -1);
+#endif
+
+    vmbus_iov_to_gpadl(chan, net->rcvbuf_gpadl, pkt->off, iov, iovcnt);
+
+    vmbus_channel_send(chan, VMBUS_PACKET_DATA_USING_XFER_PAGES,
+                       &desc, sizeof(desc),
+                       &msg, sizeof(msg), true, pkt - net->rcvpkts);
+    return len;
+
+err_reserve:
+    put_rcv_pkt(net, pkt);
+    return 0;
+}
+
+static uint32_t send_rndis_init(HvNet *net,
+                                struct rndis_initialize_complete *msg,
+                                uint32_t len)
+{
+    int i;
+
+    assert(len >= sizeof(*msg));
+    msg->req_id = net->rndis_req_id;
+    msg->status = RNDIS_STATUS_SUCCESS;
+    msg->major_ver = net->rndis_maj;
+    msg->minor_ver = net->rndis_min;
+    msg->dev_flags = 1;
+    msg->medium = RNDIS_MEDIUM_802_3;
+    msg->max_pkt_per_msg = 8;
+    msg->max_xfer_size = net->rcvbuf_slot_len * net->rcvbuf_slot_num;
+    msg->pkt_alignment_factor = 0;
+    msg->af_list_offset = 0;
+    msg->af_list_size = 0;
+    net->state = HV_NET_INITIALIZED;
+
+    for (i = 0; i < net->conf.peers.queues; i++) {
+        qemu_flush_queued_packets(qemu_get_subqueue(net->nic, i));
+    }
+
+    return sizeof(*msg);
+}
+
+static uint32_t query_hwstatus(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    *ret = 0;
+    return sizeof(*ret);
+}
+
+static uint32_t query_media(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    *ret = RNDIS_MEDIUM_802_3;
+    return sizeof(*ret);
+}
+
+static uint32_t query_mtu(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    /* FIXME: is this available anywhere generically? */
+    *ret = 1500;
+    return sizeof(*ret);
+}
+
+static uint32_t query_max_tot(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    /* FIXME: is this available anywhere generically? */
+    *ret = 1540;
+    return sizeof(*ret);
+}
+
+static uint32_t query_speed(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    if (net->link_down) {
+        *ret = 0;
+    } else {
+        /* FIXME: is this available anywhere generically? */
+        *ret = 100000000;       /* in 100bps units */
+    }
+    return sizeof(*ret);
+}
+
+static uint32_t query_link_status(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    *ret = net->link_down ? RNDIS_MEDIA_STATE_DISCONNECTED :
+        RNDIS_MEDIA_STATE_CONNECTED;
+    return sizeof(*ret);
+}
+
+static uint32_t query_drv_ver(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    /* FIXME: what's this? */
+    *ret = 1;
+    return sizeof(*ret);
+}
+
+static uint32_t query_mac(HvNet *net, void *info, uint32_t len)
+{
+    uint8_t *ret = info;
+    assert(len >= sizeof(net->conf.macaddr));
+    memcpy(ret, &net->conf.macaddr, sizeof(net->conf.macaddr));
+    return sizeof(net->conf.macaddr);
+}
+
+static uint32_t query_maclist(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    /* FIXME: support multicast */
+    *ret = 0;
+    return sizeof(*ret);
+}
+
+static uint32_t query_offload_hw(HvNet *net, void *info, uint32_t len)
+{
+    struct ndis_offload *ret = info;
+    assert(len >= sizeof(*ret));
+    *ret = (struct ndis_offload) {
+        .header = {
+            .type = NDIS_OBJECT_TYPE_OFFLOAD,
+            .revision = NDIS_OFFLOAD_PARAMETERS_REVISION_1,
+            .size = NDIS_OFFLOAD_SIZE_6_0,
+        },
+    };
+    return ret->header.size;
+}
+
+static uint32_t query_xmit_ok(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    *ret = net->tx_pkts;
+    return sizeof(*ret);
+}
+
+static uint32_t query_rcv_ok(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    *ret = net->rx_pkts;
+    return sizeof(*ret);
+}
+
+static uint32_t query_xmit_err(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    *ret = 0;
+    return sizeof(*ret);
+}
+
+static uint32_t query_rcv_err(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    *ret = 0;
+    return sizeof(*ret);
+}
+
+static uint32_t query_rcv_nobuff(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *ret = info;
+    assert(len >= sizeof(*ret));
+    *ret = 0;
+    return sizeof(*ret);
+}
+
+static uint32_t set_packet_filter(HvNet *net, void *info, uint32_t len)
+{
+    uint32_t *val = info;
+    if (len < sizeof(*val)) {
+        return RNDIS_STATUS_INVALID_LENGTH;
+    }
+    /* FIXME: support rx filter */
+    if (*val != RNDIS_PACKET_TYPE_PROMISCUOUS &&
+        *val != (RNDIS_PACKET_TYPE_DIRECTED | RNDIS_PACKET_TYPE_ALL_MULTICAST |
+                 RNDIS_PACKET_TYPE_BROADCAST)) {
+        error_report("%s: %x unsupported", __func__, *val);
+        // return RNDIS_STATUS_NOT_SUPPORTED;
+    }
+    error_report("%s: %x", __func__, *val);
+    net->rndis_packet_filter = *val;
+    return RNDIS_STATUS_SUCCESS;
+}
+
+#if 0
+static uint32_t set_net_addr(HvNet *net, void *info, uint32_t len)
+{
+    qemu_hexdump(info, stderr, __func__, len);
+    return RNDIS_STATUS_SUCCESS;
+}
+#endif
+
+static uint32_t set_machine_name(HvNet *net, void *info, uint32_t len)
+{
+    char *n;
+    n = g_utf16_to_utf8(info, len / 2, NULL, NULL, NULL);
+    error_report("%s: \"%s\"", __func__, n);
+    g_free(n);
+    return RNDIS_STATUS_SUCCESS;
+}
+
+static uint32_t set_conf_param(HvNet *net, void *info, uint32_t len)
+{
+    struct rndis_config_parameter_info *val = info;
+    char *n;
+    if (len < sizeof(*val)) {
+        return RNDIS_STATUS_INVALID_LENGTH;
+    }
+    if (val->parameter_name_offset + val->parameter_name_length > len ||
+        val->parameter_value_offset + val->parameter_value_length > len ||
+        (val->parameter_type == 0 &&
+         val->parameter_value_length != sizeof(uint32_t))) {
+        error_report("%s: malformed config parameter", __func__);
+        return RNDIS_STATUS_INVALID_LENGTH;
+    }
+
+    n = g_utf16_to_utf8(info + val->parameter_name_offset,
+                        val->parameter_name_length / 2, NULL, NULL, NULL);
+    if (val->parameter_type == 2) {
+        char *v = g_utf16_to_utf8(info + val->parameter_value_offset,
+                                  val->parameter_value_length / 2,
+                                  NULL, NULL, NULL);
+        error_report("%s: \"%s\" = \"%s\"", __func__, n, v);
+        g_free(v);
+    } else {
+        uint32_t v = *(uint32_t *)(info + val->parameter_value_offset);
+        error_report("%s: \"%s\" = %u", __func__, n, v);
+    }
+    g_free(n);
+    return RNDIS_STATUS_SUCCESS;
+}
+static uint32_t set_offload(HvNet *net, void *info, uint32_t len)
+{
+    /* FIXME */
+    return RNDIS_STATUS_SUCCESS;
+}
+
+static uint32_t query_oids(HvNet *net, void *info, uint32_t len);
+
+static const struct {
+    uint32_t oid;
+    uint32_t (*query)(HvNet *net, void *info, uint32_t len);
+    uint32_t (*set)(HvNet *net, void *info, uint32_t len);
+} rndis_oid_handlers[] = {
+    {.oid = RNDIS_OID_GEN_SUPPORTED_LIST, .query = query_oids},
+    {.oid = RNDIS_OID_GEN_HARDWARE_STATUS, .query = query_hwstatus},
+    {.oid = RNDIS_OID_GEN_MEDIA_SUPPORTED, .query = query_media},
+    {.oid = RNDIS_OID_GEN_MEDIA_IN_USE, .query = query_media},
+    // {.oid = RNDIS_OID_GEN_MAXIMUM_LOOKAHEAD},
+    {.oid = RNDIS_OID_GEN_MAXIMUM_FRAME_SIZE, .query = query_mtu},
+    {.oid = RNDIS_OID_GEN_LINK_SPEED, .query = query_speed},
+    {.oid = RNDIS_OID_GEN_TRANSMIT_BUFFER_SPACE},
+    {.oid = RNDIS_OID_GEN_RECEIVE_BUFFER_SPACE},
+    {.oid = RNDIS_OID_GEN_TRANSMIT_BLOCK_SIZE},
+    {.oid = RNDIS_OID_GEN_RECEIVE_BLOCK_SIZE},
+    {.oid = RNDIS_OID_GEN_VENDOR_ID},
+    {.oid = RNDIS_OID_GEN_VENDOR_DESCRIPTION},
+    {.oid = RNDIS_OID_GEN_CURRENT_PACKET_FILTER, .set = set_packet_filter},
+    {.oid = RNDIS_OID_GEN_CURRENT_LOOKAHEAD},
+    {.oid = RNDIS_OID_GEN_DRIVER_VERSION},
+    {.oid = RNDIS_OID_GEN_MAXIMUM_TOTAL_SIZE, .query = query_max_tot},
+    {.oid = RNDIS_OID_GEN_PROTOCOL_OPTIONS},
+    {.oid = RNDIS_OID_GEN_MAC_OPTIONS},
+    {.oid = RNDIS_OID_GEN_MEDIA_CONNECT_STATUS, .query = query_link_status},
+    {.oid = RNDIS_OID_GEN_MAXIMUM_SEND_PACKETS},
+    {.oid = RNDIS_OID_GEN_VENDOR_DRIVER_VERSION, .query = query_drv_ver},
+    // {.oid = RNDIS_OID_GEN_SUPPORTED_GUIDS},
+    // {.oid = RNDIS_OID_GEN_NETWORK_LAYER_ADDRESSES, .set = set_net_addr},
+    {.oid = RNDIS_OID_GEN_TRANSPORT_HEADER_OFFSET},
+    {.oid = RNDIS_OID_GEN_PHYSICAL_MEDIUM, .query = query_media},
+    {.oid = RNDIS_OID_GEN_MACHINE_NAME, .set = set_machine_name},
+    {.oid = RNDIS_OID_GEN_RNDIS_CONFIG_PARAMETER, .set = set_conf_param},
+    {.oid = RNDIS_OID_GEN_VLAN_ID},
+    {.oid = RNDIS_OID_802_3_PERMANENT_ADDRESS, .query = query_mac},
+    {.oid = RNDIS_OID_802_3_CURRENT_ADDRESS, .query = query_mac},
+    {.oid = RNDIS_OID_802_3_MAXIMUM_LIST_SIZE, .query = query_maclist},
+    {.oid = OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES, .query = query_offload_hw},
+    {.oid = OID_TCP_OFFLOAD_PARAMETERS, .set = set_offload},
+    {.oid = RNDIS_OID_GEN_XMIT_OK, .query = query_xmit_ok},
+    {.oid = RNDIS_OID_GEN_RCV_OK, .query = query_rcv_ok},
+    {.oid = RNDIS_OID_GEN_XMIT_ERROR, .query = query_xmit_err},
+    {.oid = RNDIS_OID_GEN_RCV_ERROR, .query = query_rcv_err},
+    {.oid = RNDIS_OID_GEN_RCV_NO_BUFFER, .query = query_rcv_nobuff},
+};
+
+static uint32_t query_oids(HvNet *net, void *info, uint32_t len)
+{
+    int i;
+    uint32_t *ret = info;
+    assert(len >= ARRAY_SIZE(rndis_oid_handlers) * sizeof(uint32_t));
+    for (i = 0; i < ARRAY_SIZE(rndis_oid_handlers); i++) {
+        ret[i] = rndis_oid_handlers[i].oid;
+    }
+    return i * sizeof(uint32_t);
+}
+
+static uint32_t send_rndis_query(HvNet *net, struct rndis_query_complete *msg,
+                                 uint32_t len)
+{
+    int i;
+    void *info;
+    assert(len >= sizeof(*msg));
+
+    msg->req_id = net->rndis_req_id;
+    msg->info_buf_offset = sizeof(*msg);
+    msg->info_buflen = 0;
+    msg->status = RNDIS_STATUS_SUCCESS;
+    info = msg + 1;
+    len -= sizeof(*msg);
+
+    for (i = 0; i < ARRAY_SIZE(rndis_oid_handlers); i++) {
+        if (rndis_oid_handlers[i].oid == net->rndis_query_oid) {
+            if (rndis_oid_handlers[i].query) {
+                msg->info_buflen = rndis_oid_handlers[i].query(net, info, len);
+                goto out;
+            }
+            break;
+        }
+    }
+
+    error_report("%s: +++++++++ unknown query: %#x", __func__, net->rndis_query_oid);
+    msg->status = RNDIS_STATUS_NOT_RECOGNIZED;
+out:
+#if 0
+    error_report("%s: +++++++++ query complete: %#x %u", __func__,
+                 net->rndis_query_oid, msg->info_buflen);
+#endif
+    return msg->info_buf_offset + msg->info_buflen;
+}
+
+static uint32_t send_rndis_set(HvNet *net, struct rndis_set_complete *msg,
+                               uint32_t len)
+{
+    assert(len >= sizeof(*msg));
+    msg->req_id = net->rndis_req_id;
+    msg->status = net->rndis_set_status;
+    return sizeof(*msg);
+}
+
+static uint32_t send_rndis_keepalive(HvNet *net,
+                                     struct rndis_keepalive_complete *msg,
+                                     uint32_t len)
+{
+    assert(len >= sizeof(*msg));
+    msg->req_id = net->rndis_req_id;
+    msg->status = RNDIS_STATUS_SUCCESS;
+#if 0
+    error_report("%s: %u", __func__, msg->req_id);
+#endif
+    return sizeof(*msg);
+}
+
+static bool send_rndis_ctrl(HvNet *net, VMBusChannel *chan)
+{
+    struct rndis_msg_hdr hdr;
+    struct iovec iov[2];
+    uint32_t len = 0;
+    uint64_t msgbuf[32];
+    void *msg = msgbuf;
+
+#if 0
+    error_report("%s >>>>: %x", __func__, net->rndis_ctl);
+#endif
+
+    memset(msgbuf, 0, sizeof(msgbuf));
+
+    switch (net->rndis_ctl) {
+    case 0:
+        return true;
+    case RNDIS_MSG_INIT_C:
+        len = send_rndis_init(net, msg, sizeof(msgbuf));
+        break;
+    case RNDIS_MSG_QUERY_C:
+        len = send_rndis_query(net, msg, sizeof(msgbuf));
+        break;
+    case RNDIS_MSG_SET_C:
+        len = send_rndis_set(net, msg, sizeof(msgbuf));
+        break;
+    case RNDIS_MSG_RESET_C:
+        error_report("%s: RESET unsupported", __func__);
+        break;
+    case RNDIS_MSG_KEEPALIVE_C:
+        len = send_rndis_keepalive(net, msg, sizeof(msgbuf));
+        break;
+    default:
+        error_report("%s: +++++ unrecognized rndis ctrl: %#x", __func__, net->rndis_ctl);
+    }
+
+    hdr.msg_type = net->rndis_ctl;
+    hdr.msg_len = sizeof(hdr) + len;
+    iov[0].iov_base = &hdr;
+    iov[0].iov_len = sizeof(hdr);
+    iov[1].iov_base = msg;
+    iov[1].iov_len = len;
+    if (receive_iov(net, chan, true, iov, 2) == hdr.msg_len) {
+        /* message sent to guest, clear pending rndis response */
+        net->rndis_ctl = 0;
+    }
+    return !net->rndis_ctl;
+}
+
+static uint32_t handle_rndis_init(HvNet *net,
+                                  struct rndis_initialize_request *msg,
+                                  uint32_t len)
+{
+    if (net->state != HV_NET_RESET) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+    if (len != sizeof(*msg)) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+    net->rndis_req_id = msg->req_id;
+    net->rndis_maj = msg->major_ver;
+    net->rndis_min = msg->minor_ver;
+    return NVSP_STAT_SUCCESS;
+}
+
+static uint32_t handle_rndis_query(HvNet *net, struct rndis_query_request *msg,
+                                   uint32_t len)
+{
+    if (net->state != HV_NET_INITIALIZED) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+    if (len < sizeof(*msg)) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+    if (msg->info_buflen > sizeof(net->rndis_query_info)) {
+        error_report("%s: too big RNDIS query info: %u", __func__, msg->info_buflen);
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+    if (msg->info_buf_offset + msg->info_buflen > len) {
+        error_report("%s: malformed RNDIS query: %u + %u > %u", __func__,
+                     msg->info_buf_offset, msg->info_buflen, len);
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+
+    net->rndis_req_id = msg->req_id;
+    net->rndis_query_oid = msg->oid;
+    memcpy(net->rndis_query_info, (void *)msg + msg->info_buf_offset,
+           msg->info_buflen);
+    /* msg->dev_vc_handle */
+    return NVSP_STAT_SUCCESS;
+}
+
+static uint32_t handle_rndis_set(HvNet *net, struct rndis_set_request *msg,
+                                 uint32_t len)
+{
+    int i;
+    void *info;
+
+    if (net->state != HV_NET_INITIALIZED) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+    if (len < sizeof(*msg)) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+    if (msg->info_buf_offset + msg->info_buflen > len) {
+        error_report("%s: malformed RNDIS set: %u + %u > %u", __func__,
+                     msg->info_buf_offset, msg->info_buflen, len);
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+
+    net->rndis_req_id = msg->req_id;
+    info = (void *)msg + msg->info_buf_offset;
+
+    for (i = 0; i < ARRAY_SIZE(rndis_oid_handlers); i++) {
+        if (rndis_oid_handlers[i].oid == msg->oid) {
+            if (rndis_oid_handlers[i].set) {
+                net->rndis_set_status =
+                    rndis_oid_handlers[i].set(net, info, msg->info_buflen);
+                return NVSP_STAT_SUCCESS;
+            }
+            break;
+        }
+    }
+
+    error_report("%s: +++++ unknown set: %#x", __func__, msg->oid);
+    net->rndis_set_status = RNDIS_STATUS_NOT_RECOGNIZED;
+    return NVSP_STAT_SUCCESS;
+}
+
+static uint32_t handle_rndis_keepalive(HvNet *net,
+                                       struct rndis_keepalive_request *msg,
+                                       uint32_t len)
+{
+    if (net->state != HV_NET_INITIALIZED) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+    if (len < sizeof(*msg)) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+
+#if 0
+    error_report("%s: %u", __func__, msg->req_id);
+#endif
+    net->rndis_req_id = msg->req_id;
+    return NVSP_STAT_SUCCESS;
+}
+
+static uint32_t handle_rndis_ctrl(HvNetReq *req, struct rndis_msg_hdr *hdr)
+{
+    HvNet *net = req->net;
+    uint32_t len = hdr->msg_len - sizeof(*hdr);
+    uint64_t msgbuf[32];
+    void *msg = msgbuf;
+    uint32_t ret;
+
+#if 0
+    error_report("%s >>>>", __func__);
+#endif
+
+    if (!net->rcvbuf_gpadl) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+
+    if (len > sizeof(msgbuf)) {
+        error_report("%s: msgbuf too small: %u", __func__, len);
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+
+    if (iov_to_buf(req->iov, req->iov_cnt, sizeof(*hdr), msg, len) != len) {
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+
+    switch(hdr->msg_type) {
+    case RNDIS_MSG_INIT:
+        ret = handle_rndis_init(net, msg, len);
+        break;
+    case RNDIS_MSG_QUERY:
+        ret = handle_rndis_query(net, msg, len);
+        break;
+    case RNDIS_MSG_SET:
+        ret = handle_rndis_set(net, msg, len);
+        break;
+    case RNDIS_MSG_HALT:
+        error_report("%s: HALT unsupported", __func__);
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    case RNDIS_MSG_RESET:
+        error_report("%s: RESET unsupported", __func__);
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    case RNDIS_MSG_KEEPALIVE:
+        ret = handle_rndis_keepalive(net, msg, len);
+        break;
+    default:
+        error_report("%s: +++++ unrecognised rndis msg: %#x", __func__,
+                     hdr->msg_type);
+        return NVSP_STAT_INVALID_RNDIS_PKT;
+    }
+
+    if (ret == NVSP_STAT_SUCCESS) {
+        net->rndis_ctl = hdr->msg_type | RNDIS_MSG_COMPLETION;
+    }
+    return ret;
+}
+
+static void handle_rndis_pkt(HvNetReq *req, struct nvsp1_msg_rndis_pkt *msg_in,
+                             uint32_t len, struct nvsp_msg_header *hdr_out)
+{
+    struct nvsp1_msg_rndis_pkt_complete *msg_out;
+    struct rndis_msg_hdr rhdr;
+
+#if 0
+    error_report("%s >>>> iov:%p num:%u secidx:%u secsz:%u", __func__, vmreq->iov, vmreq->num, msg_in->send_buf_section_index, msg_in->send_buf_section_size);
+#endif
+
+    if (len < sizeof(*msg_in) || len < sizeof(*msg_out)) {
+        return;
+    }
+    if (!hdr_out) {
+        return;
+    }
+
+    hdr_out->msg_type = NVSP_MSG1_TYPE_SEND_RNDIS_PKT_COMPLETE;
+    msg_out = (struct nvsp1_msg_rndis_pkt_complete *)(hdr_out + 1);
+    msg_out->status = NVSP_STAT_INVALID_RNDIS_PKT;
+
+    /* FIXME: support send buffer - is it worth while? */
+    if (msg_in->send_buf_section_index != NETVSC_INVALID_INDEX) {
+        return;
+    }
+
+    if (iov_to_buf(req->iov, req->iov_cnt, 0, &rhdr, sizeof(rhdr)) !=
+        sizeof(rhdr)) {
+        return;
+    }
+
+    if (rhdr.msg_len < sizeof(rhdr)) {
+        return;
+    }
+
+    switch (msg_in->channel_type) {
+    case 0:
+        msg_out->status = handle_rndis_data(req, &rhdr);
+        break;
+    case 1:
+        msg_out->status = handle_rndis_ctrl(req, &rhdr);
+        break;
+    default:
+        error_report("%s: unexpected RNDIS packet channel: %u", __func__, msg_in->channel_type);
+    }
+}
+
+static void hv_net_handle_req(HvNetReq *req)
+{
+    VMBusChanReq *vmreq = &req->vmreq;
+    void *msg = vmreq->msg;
+    void *reply = vmreq->comp;
+    uint32_t len = vmreq->msglen;
+    struct nvsp_msg_header *nhdr = msg;
+
+#if 0
+    error_report("%s >>>>", __func__);
+#endif
+
+    if (vmreq->pkt_type == VMBUS_PACKET_COMP) {
+        put_rcv_pkt_by_tr_id(req->net, vmreq->transaction_id);
+        goto complete;
+    }
+
+    if (len < sizeof(*nhdr)) {
+        goto complete;
+    }
+    len -= sizeof(*nhdr);
+    msg += sizeof(*nhdr);
+
+#if 0
+    error_report("%s >>>> msg: %u", __func__, nhdr->msg_type);
+#endif
+    switch (nhdr->msg_type) {
+    case NVSP_MSG_TYPE_INIT:
+        handle_init(req, msg, len, reply);
+        break;
+    case NVSP_MSG1_TYPE_SEND_NDIS_VER:
+        handle_ndis_ver(req, msg, len);
+        break;
+    case NVSP_MSG1_TYPE_SEND_RECV_BUF:
+        handle_rcv_buf(req, msg, len, reply);
+        break;
+    case NVSP_MSG1_TYPE_REVOKE_RECV_BUF:
+        handle_revoke_rcv_buf(req, msg, len);
+        break;
+    case NVSP_MSG1_TYPE_SEND_SEND_BUF:
+        handle_snd_buf(req, msg, len, reply);
+        break;
+    case NVSP_MSG1_TYPE_REVOKE_SEND_BUF:
+        handle_revoke_snd_buf(req, msg, len);
+        break;
+    case NVSP_MSG1_TYPE_SEND_RNDIS_PKT:
+        handle_rndis_pkt(req, msg, len, reply);
+        break;
+    case NVSP_MSG2_TYPE_SEND_NDIS_CONFIG:
+        break;
+    default:
+        error_report("%s: unexpected message type: %u", __func__,
+                     nhdr->msg_type);
+        break;
+    }
+
+complete:
+    complete_req(req);
+}
+
+static bool send_link_status(HvNet *net, VMBusChannel *chan)
+{
+    NetClientState *nc = net->nic->ncs;
+    struct rndis_msg_hdr hdr;
+    struct rndis_indicate_status msg = {0};
+    struct iovec iov[2];
+
+#if 0
+    error_report("%s >>>>", __func__);
+#endif
+
+    if (net->state != HV_NET_INITIALIZED) {
+        return true;
+    }
+    if (net->link_down == nc->link_down) {
+        return true;
+    }
+
+    msg.status = nc->link_down ?  RNDIS_STATUS_MEDIA_DISCONNECT :
+        RNDIS_STATUS_MEDIA_CONNECT;
+    hdr.msg_type = RNDIS_MSG_INDICATE;
+    hdr.msg_len = sizeof(hdr) + sizeof(msg);
+    iov[0].iov_base = &hdr;
+    iov[0].iov_len = sizeof(hdr);
+    iov[1].iov_base = &msg;
+    iov[1].iov_len = sizeof(msg);
+    if (receive_iov(net, chan, true, iov, 2) == hdr.msg_len) {
+        /* message sent to guest, clear pending status update */
+        net->link_down = nc->link_down;
+    }
+
+    return net->link_down == nc->link_down;
+}
+
+static void hv_net_notify_cb(VMBusChannel *chan)
+{
+    HvNet *net = HV_NET(vmbus_channel_device(chan));
+
+    for (;;) {
+        HvNetReq *req;
+
+        if (!send_rndis_ctrl(net, chan)) {
+            return;
+        }
+
+        if (!send_link_status(net, chan)) {
+            return;
+        }
+
+        req = vmbus_channel_recv(chan, sizeof(*req));
+        if (!req) {
+            return;
+        }
+
+        if (hv_net_init_req(net, req) < 0) {
+            vmbus_release_req(req);
+            return;
+        }
+        hv_net_handle_req(req);
+    }
+}
+
+static int hv_net_can_receive(NetClientState *nc)
+{
+    HvNet *n = qemu_get_nic_opaque(nc);
+    return n->state == HV_NET_INITIALIZED && n->rcvbuf_gpadl;
+}
+
+static ssize_t hv_net_receive(NetClientState *nc,
+                              const struct iovec *iov, int iovcnt)
+{
+    HvNet *n = qemu_get_nic_opaque(nc);
+    VMBusChannel *chan = vmbus_device_channel(VMBUS_DEVICE(n),
+                                              nc->queue_index);
+    struct rndis_packet pkt = {
+	.data_offset = sizeof(pkt),
+	.data_len = iov_size(iov, iovcnt),
+    };
+    struct rndis_msg_hdr hdr = {
+        .msg_type = RNDIS_MSG_PACKET,
+	.msg_len = sizeof(hdr) + pkt.data_offset + pkt.data_len,
+    };
+    struct iovec rndis_iov[64];
+    unsigned hiovcnt, piovcnt;
+
+    rndis_iov[0].iov_base = &hdr;
+    rndis_iov[0].iov_len = sizeof(hdr);
+    rndis_iov[1].iov_base = &pkt;
+    rndis_iov[1].iov_len = sizeof(pkt);
+    hiovcnt = 2;
+
+    piovcnt = iov_copy(rndis_iov + hiovcnt, ARRAY_SIZE(rndis_iov) - hiovcnt,
+                       iov, iovcnt, 0, -1);
+    if (piovcnt != iovcnt) {
+        error_report("%s: packet too big: %u", __func__, iovcnt);
+    }
+
+    n->rx_pkts++;
+    return receive_iov(n, chan, false, rndis_iov, hiovcnt + piovcnt);
+}
+
+static void hv_net_set_link_status(NetClientState *nc)
+{
+    HvNet *n = qemu_get_nic_opaque(nc);
+    VMBusChannel *chan = vmbus_device_channel(VMBUS_DEVICE(n),
+                                              nc->queue_index);
+    if (n->link_down != nc->link_down) {
+        vmbus_notify_channel(chan);
+    }
+}
+
+static NetClientInfo hv_net_info = {
+    .type = NET_CLIENT_DRIVER_NIC,
+    .size = sizeof(NICState),
+    .can_receive = hv_net_can_receive,
+    .receive_iov = hv_net_receive,
+    .link_status_changed = hv_net_set_link_status,
+#if 0
+    .query_rx_filter = hv_net_query_rxfilter,
+#endif
+};
+
+static void hv_net_dev_realize(VMBusDevice *vdev, Error **errp)
+{
+    HvNet *net = HV_NET(vdev);
+
+    net->nic = qemu_new_nic(&hv_net_info, &net->conf,
+                            object_get_typename(OBJECT(net)),
+                            DEVICE(net)->id, net);
+    return;
+}
+
+static void hv_net_reset(HvNet *net)
+{
+    destroy_rcvbuf(net);
+    destroy_sndbuf(net);
+    net->state = HV_NET_RESET;
+
+    memset(&net->reset_start, 0, sizeof(HvNet) - offsetof(HvNet, reset_start));
+}
+
+static void hv_net_dev_reset(VMBusDevice *vdev)
+{
+    HvNet *net = HV_NET(vdev);
+    hv_net_reset(net);
+}
+
+static uint16_t hv_net_num_channels(VMBusDevice *dev)
+{
+    return HV_NET(dev)->conf.peers.queues;
+}
+
+static void hv_net_close_channel(VMBusDevice *vdev)
+{
+    HvNet *net = HV_NET(vdev);
+    hv_net_reset(net);
+}
+
+static void hv_net_dev_unrealize(VMBusDevice *vdev, Error **errp)
+{
+    HvNet *net = HV_NET(vdev);
+    hv_net_reset(net);
+    qemu_del_nic(net->nic);
+}
+
+static int hv_net_dev_post_load(void *opaque, int version_id)
+{
+    HvNet *net = opaque;
+    VMBusDevice *vdev = VMBUS_DEVICE(net);
+    VMBusChannel *chan = vdev->channels;        /* channel #0 is ok */
+
+    if (net->rcvbuf_gpadl_id) {
+        uint32_t gpadl_len;
+        int i;
+
+        net->rcvbuf_gpadl = vmbus_get_gpadl(chan, net->rcvbuf_gpadl_id);
+        if (!net->rcvbuf_gpadl) {
+            error_report("%s: rcv gpadl %u not found", __func__,
+                         net->rcvbuf_gpadl_id);
+            return -1;
+        }
+
+        gpadl_len = vmbus_gpadl_len(net->rcvbuf_gpadl);
+        if (net->rcvbuf_slot_num != gpadl_len / net->rcvbuf_slot_len) {
+            error_report("%s: rcv gpadl %u: unexpected length %u != %u / %u",
+                         __func__, net->rcvbuf_gpadl_id, net->rcvbuf_slot_num,
+                         gpadl_len, net->rcvbuf_slot_len);
+            return -1;
+        }
+        net->rcvbuf_slot_map = bitmap_new(net->rcvbuf_slot_num);
+        QTAILQ_INIT(&net->rcvpkts_free);
+        for (i = 0; i < net->rcvbuf_slot_num; i++) {
+            HvNetRcvPkt *pkt = &net->rcvpkts[i];
+            if (!pkt->len) {
+                QTAILQ_INSERT_TAIL(&net->rcvpkts_free, pkt, link);
+            } else {
+                uint32_t start = pkt->off / net->rcvbuf_slot_len;
+                uint32_t nr = DIV_ROUND_UP(pkt->len, net->rcvbuf_slot_len);
+                bitmap_set(net->rcvbuf_slot_map, start, nr);
+            }
+        }
+    }
+
+    if (net->sndbuf_gpadl_id) {
+        net->sndbuf_gpadl = vmbus_get_gpadl(chan, net->sndbuf_gpadl_id);
+        if (!net->sndbuf_gpadl) {
+            error_report("%s: snd gpadl %u not found", __func__,
+                         net->rcvbuf_gpadl_id);
+            return -1;
+        }
+    }
+
+    return 0;
+}
+
+static const VMStateDescription vmstate_hv_net_rcvpkt = {
+    .name = TYPE_HV_NET "/rcvpkt",
+    .version_id = 0,
+    .minimum_version_id = 0,
+    .fields = (VMStateField[]) {
+        VMSTATE_UINT32(off, HvNetRcvPkt),
+        VMSTATE_UINT32(len, HvNetRcvPkt),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+static const VMStateDescription vmstate_hv_net = {
+    .name = TYPE_HV_NET,
+    .version_id = 0,
+    .minimum_version_id = 0,
+    .post_load = hv_net_dev_post_load,
+    .fields = (VMStateField[]) {
+        VMSTATE_STRUCT(parent, HvNet, 0, vmstate_vmbus_dev, VMBusDevice),
+        VMSTATE_UINT32(state, HvNet),
+        VMSTATE_UINT16(sndbuf_id, HvNet),
+        VMSTATE_UINT32(sndbuf_gpadl_id, HvNet),
+        VMSTATE_UINT16(rcvbuf_id, HvNet),
+        VMSTATE_UINT32(rcvbuf_gpadl_id, HvNet),
+        VMSTATE_INT32(rcvbuf_slot_num, HvNet),
+        VMSTATE_UINT16(rcvbuf_slot_len, HvNet),
+        VMSTATE_STRUCT_VARRAY_ALLOC(rcvpkts, HvNet, rcvbuf_slot_num, 0,
+                                    vmstate_hv_net_rcvpkt, HvNetRcvPkt),
+        VMSTATE_UINT32(protocol_ver, HvNet),
+        VMSTATE_UINT32(ndis_maj_ver, HvNet),
+        VMSTATE_UINT32(ndis_min_ver, HvNet),
+        VMSTATE_UINT32(rndis_ctl, HvNet),
+        VMSTATE_UINT32(rndis_req_id, HvNet),
+        VMSTATE_UINT32(rndis_maj, HvNet),
+        VMSTATE_UINT32(rndis_min, HvNet),
+        VMSTATE_UINT32(max_xfer_size, HvNet),
+        VMSTATE_UINT32(rndis_query_oid, HvNet),
+        VMSTATE_UINT64_ARRAY(rndis_query_info, HvNet, RNDIS_QUERY_INFO_LEN),
+        VMSTATE_UINT32(rndis_query_info_len, HvNet),
+        VMSTATE_UINT32(rndis_set_status, HvNet),
+        VMSTATE_UINT32(rndis_packet_filter, HvNet),
+        VMSTATE_BOOL(link_down, HvNet),
+        VMSTATE_UINT32(rx_pkts, HvNet),
+        VMSTATE_UINT32(tx_pkts, HvNet),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+static Property hv_net_properties[] = {
+    DEFINE_PROP_UUID("instanceid", HvNet, parent.instanceid),
+    DEFINE_NIC_PROPERTIES(HvNet, conf),
+    DEFINE_PROP_UINT16("rcvbuf-slot-len", HvNet, rcvbuf_slot_len, 0x6c0),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
+static void hv_net_class_init(ObjectClass *klass, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(klass);
+    VMBusDeviceClass *vdc = VMBUS_DEVICE_CLASS(klass);
+
+    qemu_uuid_parse(HV_NET_GUID, &vdc->classid);
+    dc->props = hv_net_properties;
+    dc->fw_name = "ethernet";
+    dc->vmsd = &vmstate_hv_net;
+    set_bit(DEVICE_CATEGORY_NETWORK, dc->categories);
+    vdc->channel_flags = VMBUS_CHANNEL_SERVER_SUPPORTS_TRANSFER_PAGES |
+        VMBUS_CHANNEL_SERVER_SUPPORTS_GPADLS;
+    vdc->vmdev_realize = hv_net_dev_realize;
+    vdc->vmdev_unrealize = hv_net_dev_unrealize;
+    vdc->vmdev_reset = hv_net_dev_reset;
+    vdc->num_channels = hv_net_num_channels;
+    vdc->close_channel = hv_net_close_channel;
+    vdc->chan_notify_cb = hv_net_notify_cb;
+}
+
+static const TypeInfo hv_net_type_info = {
+    .name = TYPE_HV_NET,
+    .parent = TYPE_VMBUS_DEVICE,
+    .instance_size = sizeof(HvNet),
+    .class_init = hv_net_class_init,
+};
+
+static void hv_net_register_types(void)
+{
+    type_register_static(&hv_net_type_info);
+}
+
+type_init(hv_net_register_types)
diff --git a/hw/net/Makefile.objs b/hw/net/Makefile.objs
index 4171af0b5d..9ccf8348fb 100644
--- a/hw/net/Makefile.objs
+++ b/hw/net/Makefile.objs
@@ -46,3 +46,5 @@ common-obj-$(CONFIG_ROCKER) += rocker/rocker.o rocker/rocker_fp.o \
                                rocker/rocker_desc.o rocker/rocker_world.o \
                                rocker/rocker_of_dpa.o
 obj-$(call lnot,$(CONFIG_ROCKER)) += rocker/qmp-norocker.o
+
+obj-$(CONFIG_VMBUS) += hv-net.o
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 31/34] hv-net: add .bootindex support
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (29 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 30/34] net: add Hyper-V/VMBus net adapter Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 32/34] loader: allow arbitrary basename for fw_cfg file roms Roman Kagan
                   ` (8 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Add support for .bootindex property in hv-net.

This results in a corresponding entry appearing in fw_cfg "bootorder".

In order to actually boot off a hv-net device (via PXE) the firmware
needs also a driver for it (either built-in or supplied via ROM).

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 hw/net/hv-net.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/hw/net/hv-net.c b/hw/net/hv-net.c
index 614922c0fb..3d719458ea 100644
--- a/hw/net/hv-net.c
+++ b/hw/net/hv-net.c
@@ -1425,11 +1425,20 @@ static void hv_net_class_init(ObjectClass *klass, void *data)
     vdc->chan_notify_cb = hv_net_notify_cb;
 }
 
+static void hv_net_instance_init(Object *obj)
+{
+    HvNet *s = HV_NET(obj);
+    device_add_bootindex_property(obj, &s->conf.bootindex,
+                                  "bootindex", "/ethernet-phy@0",
+                                  DEVICE(obj), NULL);
+}
+
 static const TypeInfo hv_net_type_info = {
     .name = TYPE_HV_NET,
     .parent = TYPE_VMBUS_DEVICE,
     .instance_size = sizeof(HvNet),
     .class_init = hv_net_class_init,
+    .instance_init = hv_net_instance_init,
 };
 
 static void hv_net_register_types(void)
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 32/34] loader: allow arbitrary basename for fw_cfg file roms
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (30 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 31/34] hv-net: add .bootindex support Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 11:22   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 33/34] vmbus: add support for rom files Roman Kagan
                   ` (7 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

rom_add_file assumes that the basename of the file roms in fw_cfg should
be the same as the original basename of the rom file on the filesystem.

However, this is not always convenient: the rom basename may bear
certain meaning in the guest firmware context, e.g. contain device ids,
while the the filename on the host filesystem may be something more
human-readable.

[In particular, this is how I'm planning to supply roms for Hyper-V
VMBus devices, which don't have a spec-defined way of doing this.]

To cater to such usecases, interpret the corresponding argument of
rom_add_file as a path which, if ends with a slash, is interpreted as a
"directory" to which the basename of the rom file is appended; otherwise
this argument is treated as a full fw_cfg path.

TODO: it may be a better idea to use separate arguments for "directory"
and "filename" instead of interpreting the trailing dash.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 include/hw/loader.h |  2 +-
 hw/core/loader.c    | 43 +++++++++++++++++++++----------------------
 2 files changed, 22 insertions(+), 23 deletions(-)

diff --git a/include/hw/loader.h b/include/hw/loader.h
index 355fe0f5a2..a309662fa8 100644
--- a/include/hw/loader.h
+++ b/include/hw/loader.h
@@ -186,7 +186,7 @@ void pstrcpy_targphys(const char *name,
 extern bool option_rom_has_mr;
 extern bool rom_file_has_mr;
 
-int rom_add_file(const char *file, const char *fw_dir,
+int rom_add_file(const char *file, const char *fw_path,
                  hwaddr addr, int32_t bootindex,
                  bool option_rom, MemoryRegion *mr, AddressSpace *as);
 MemoryRegion *rom_add_blob(const char *name, const void *blob, size_t len,
diff --git a/hw/core/loader.c b/hw/core/loader.c
index 91669d65aa..436154de48 100644
--- a/hw/core/loader.c
+++ b/hw/core/loader.c
@@ -817,7 +817,6 @@ struct Rom {
     MemoryRegion *mr;
     AddressSpace *as;
     int isrom;
-    char *fw_dir;
     char *fw_file;
 
     hwaddr addr;
@@ -882,7 +881,7 @@ static void *rom_set_mr(Rom *rom, Object *owner, const char *name, bool ro)
     return data;
 }
 
-int rom_add_file(const char *file, const char *fw_dir,
+int rom_add_file(const char *file, const char *fw_path,
                  hwaddr addr, int32_t bootindex,
                  bool option_rom, MemoryRegion *mr,
                  AddressSpace *as)
@@ -914,10 +913,6 @@ int rom_add_file(const char *file, const char *fw_dir,
         goto err;
     }
 
-    if (fw_dir) {
-        rom->fw_dir  = g_strdup(fw_dir);
-        rom->fw_file = g_strdup(file);
-    }
     rom->addr     = addr;
     rom->romsize  = lseek(fd, 0, SEEK_END);
     if (rom->romsize == -1) {
@@ -937,20 +932,26 @@ int rom_add_file(const char *file, const char *fw_dir,
     }
     close(fd);
     rom_insert(rom);
-    if (rom->fw_file && fw_cfg) {
+    if (fw_path && fw_cfg) {
         const char *basename;
-        char fw_file_name[FW_CFG_MAX_FILE_PATH];
         void *data;
 
-        basename = strrchr(rom->fw_file, '/');
-        if (basename) {
-            basename++;
+        basename = strrchr(fw_path, '/');
+        if (basename && basename[1] == '\0') {
+            /* given path terminates with '/', append basename(file) */
+            basename = strrchr(file, '/');
+            if (basename) {
+                basename++;
+            } else {
+                basename = file;
+            }
+
+            rom->fw_file = g_strdup_printf("%s%s", fw_path, basename);
         } else {
-            basename = rom->fw_file;
+            rom->fw_file = g_strdup(fw_path);
         }
-        snprintf(fw_file_name, sizeof(fw_file_name), "%s/%s", rom->fw_dir,
-                 basename);
-        snprintf(devpath, sizeof(devpath), "/rom@%s", fw_file_name);
+
+        snprintf(devpath, sizeof(devpath), "/rom@%s", rom->fw_file);
 
         if ((!option_rom || mc->option_rom_has_mr) && mc->rom_file_has_mr) {
             data = rom_set_mr(rom, OBJECT(fw_cfg), devpath, true);
@@ -958,7 +959,7 @@ int rom_add_file(const char *file, const char *fw_dir,
             data = rom->data;
         }
 
-        fw_cfg_add_file(fw_cfg, fw_file_name, data, rom->romsize);
+        fw_cfg_add_file(fw_cfg, rom->fw_file, data, rom->romsize);
     } else {
         if (mr) {
             rom->mr = mr;
@@ -978,8 +979,7 @@ err:
     g_free(rom->data);
     g_free(rom->path);
     g_free(rom->name);
-    if (fw_dir) {
-        g_free(rom->fw_dir);
+    if (fw_path) {
         g_free(rom->fw_file);
     }
     g_free(rom);
@@ -1052,12 +1052,12 @@ int rom_add_elf_program(const char *name, void *data, size_t datasize,
 
 int rom_add_vga(const char *file)
 {
-    return rom_add_file(file, "vgaroms", 0, -1, true, NULL, NULL);
+    return rom_add_file(file, "vgaroms/", 0, -1, true, NULL, NULL);
 }
 
 int rom_add_option(const char *file, int32_t bootindex)
 {
-    return rom_add_file(file, "genroms", 0, bootindex, true, NULL, NULL);
+    return rom_add_file(file, "genroms/", 0, bootindex, true, NULL, NULL);
 }
 
 static void rom_reset(void *unused)
@@ -1255,9 +1255,8 @@ void hmp_info_roms(Monitor *mon, const QDict *qdict)
                            rom->isrom ? "rom" : "ram",
                            rom->name);
         } else {
-            monitor_printf(mon, "fw=%s/%s"
+            monitor_printf(mon, "fw=%s"
                            " size=0x%06zx name=\"%s\"\n",
-                           rom->fw_dir,
                            rom->fw_file,
                            rom->romsize,
                            rom->name);
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 33/34] vmbus: add support for rom files
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (31 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 32/34] loader: allow arbitrary basename for fw_cfg file roms Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-07 11:18   ` Paolo Bonzini
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 34/34] hv-net: define default rom file name Roman Kagan
                   ` (6 subsequent siblings)
  39 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

In order to leverage third-party drivers for VMBus devices in firmware
(in particular, there's a case with iPXE driver for hv-net in SeaBIOS
and OVMF), introduce an infrastructure to supply such drivers as option
ROMs.

To make it easy for the firmware to locate such ROMs, they are stored in
fw_cfg with names "vmbus/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.rom" for
default class ROMs (where xxx... is the class GUID) and
"vmbus/dev/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy.rom" for per-device
(i.e. specified via .romfile property) ROMs (where yyy... is the device
instance GUID).

The format and the calling convention for the ROMs is out of scope for
this patch: QEMU doesn't try to interpret them.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 include/hw/vmbus/vmbus.h |  3 +++
 hw/vmbus/vmbus.c         | 39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+)

diff --git a/include/hw/vmbus/vmbus.h b/include/hw/vmbus/vmbus.h
index cdb5180796..847edc08d7 100644
--- a/include/hw/vmbus/vmbus.h
+++ b/include/hw/vmbus/vmbus.h
@@ -49,6 +49,8 @@ typedef struct VMBusDeviceClass {
     int (*open_channel) (VMBusDevice *vdev);
     void (*close_channel) (VMBusDevice *vdev);
     VMBusChannelNotifyCb chan_notify_cb;
+
+    const char *romfile;
 } VMBusDeviceClass;
 
 typedef struct VMBusDevice {
@@ -57,6 +59,7 @@ typedef struct VMBusDevice {
     uint16_t num_channels;
     VMBusChannel *channels;
     AddressSpace *dma_as;
+    char *romfile;
 } VMBusDevice;
 
 extern const VMStateDescription vmstate_vmbus_dev;
diff --git a/hw/vmbus/vmbus.c b/hw/vmbus/vmbus.c
index 42d12dfdf6..c2aec004e7 100644
--- a/hw/vmbus/vmbus.c
+++ b/hw/vmbus/vmbus.c
@@ -12,6 +12,7 @@
 #include "qapi/error.h"
 #include "hw/vmbus/vmbus.h"
 #include "hw/sysbus.h"
+#include "hw/loader.h"
 #include "trace.h"
 
 #define TYPE_VMBUS "vmbus"
@@ -2061,6 +2062,36 @@ unmap:
     cpu_physical_memory_unmap(int_map, len, 1, is_dirty);
 }
 
+static void vmbus_install_rom(VMBusDevice *vdev)
+{
+    VMBusDeviceClass *vdc = VMBUS_DEVICE_GET_CLASS(vdev);
+    VMBus *vmbus = VMBUS(qdev_get_parent_bus(DEVICE(vdev)));
+    BusChild *child;
+    char uuid[UUID_FMT_LEN + 1];
+    char romname[10 + UUID_FMT_LEN + 4 + 1];
+
+    if (vdev->romfile) {
+        /* device-specific rom */
+        qemu_uuid_unparse(&vdc->instanceid, uuid);
+        snprintf(romname, sizeof(romname), "vmbus/dev/%s.rom", uuid);
+        rom_add_file(vdev->romfile, romname, 0, -1, true, NULL, NULL);
+    } else if (vdc->romfile) {
+        /* class-wide rom */
+        QTAILQ_FOREACH(child, &BUS(vmbus)->children, sibling) {
+            VMBusDevice *chlddev = VMBUS_DEVICE(child->child);
+
+            /* another device of the same class has already installed it */
+            if (chlddev != vdev && !chlddev->romfile &&
+                VMBUS_DEVICE_GET_CLASS(chlddev) == vdc) {
+                return;
+            }
+        }
+        qemu_uuid_unparse(&vdc->classid, uuid);
+        snprintf(romname, sizeof(romname), "vmbus/%s.rom", uuid);
+        rom_add_file(vdc->romfile, romname, 0, -1, true, NULL, NULL);
+    }
+}
+
 static void vmbus_dev_realize(DeviceState *dev, Error **errp)
 {
     VMBusDevice *vdev = VMBUS_DEVICE(dev);
@@ -2098,6 +2129,8 @@ static void vmbus_dev_realize(DeviceState *dev, Error **errp)
         goto error_out;
     }
 
+    vmbus_install_rom(vdev);
+
     if (vdc->vmdev_realize) {
         vdc->vmdev_realize(vdev, &err);
         if (err) {
@@ -2145,6 +2178,11 @@ static void vmbus_dev_unrealize(DeviceState *dev, Error **errp)
     free_channels(vmbus, vdev);
 }
 
+static Property vmbus_dev_props[] = {
+    DEFINE_PROP_STRING("romfile", VMBusDevice, romfile),
+    DEFINE_PROP_END_OF_LIST()
+};
+
 static void vmbus_dev_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *kdev = DEVICE_CLASS(klass);
@@ -2152,6 +2190,7 @@ static void vmbus_dev_class_init(ObjectClass *klass, void *data)
     kdev->realize = vmbus_dev_realize;
     kdev->unrealize = vmbus_dev_unrealize;
     kdev->reset = vmbus_dev_reset;
+    kdev->props = vmbus_dev_props;
 }
 
 static int vmbus_dev_post_load(void *opaque, int version_id)
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* [Qemu-devel] [RFC PATCH 34/34] hv-net: define default rom file name
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (32 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 33/34] vmbus: add support for rom files Roman Kagan
@ 2018-02-06 20:30 ` Roman Kagan
  2018-02-06 21:40 ` [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus no-reply
                   ` (5 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-06 20:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Denis V. Lunev, Jan Dakinevich,
	Konrad Rzeszutek Wilk, Vitaly Kuznetsov, Cathy Avery, Ben Warren,
	si-wei liu, Marcos E. Matsunaga, Krish Sadhukhan,
	Vadim Rozenfeld

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
---
 hw/net/hv-net.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/net/hv-net.c b/hw/net/hv-net.c
index 3d719458ea..b44ab20b0f 100644
--- a/hw/net/hv-net.c
+++ b/hw/net/hv-net.c
@@ -1423,6 +1423,7 @@ static void hv_net_class_init(ObjectClass *klass, void *data)
     vdc->num_channels = hv_net_num_channels;
     vdc->close_channel = hv_net_close_channel;
     vdc->chan_notify_cb = hv_net_notify_cb;
+    vdc->romfile = "efi-hyperv.rom";
 }
 
 static void hv_net_instance_init(Object *obj)
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (33 preceding siblings ...)
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 34/34] hv-net: define default rom file name Roman Kagan
@ 2018-02-06 21:40 ` no-reply
  2018-02-06 21:55 ` no-reply
                   ` (4 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: no-reply @ 2018-02-06 21:40 UTC (permalink / raw)
  To: rkagan
  Cc: famz, qemu-devel, ben, konrad.wilk, krish.sadhukhan,
	Marcos.Matsunaga, jan.dakinevich, vrozenfe, den, si-wei.liu,
	pbonzini, vkuznets, cavery

Hi,

This series failed build test on s390x host. Please find the details below.

Type: series
Message-id: 20180206203048.11096-1-rkagan@virtuozzo.com
Subject: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
set -e
echo "=== ENV ==="
env
echo "=== PACKAGES ==="
rpm -qa
echo "=== TEST BEGIN ==="
CC=$HOME/bin/cc
INSTALL=$PWD/install
BUILD=$PWD/build
echo -n "Using CC: "
realpath $CC
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --cc=$CC --prefix=$INSTALL
make -j4
# XXX: we need reliable clean up
# make check -j4 V=1
make install
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]               patchew/20180206203048.11096-1-rkagan@virtuozzo.com -> patchew/20180206203048.11096-1-rkagan@virtuozzo.com
Switched to a new branch 'test'
98adc64f2b hv-net: define default rom file name
32dd25dfe6 vmbus: add support for rom files
983ba13ed2 loader: allow arbitrary basename for fw_cfg file roms
3e4e616672 hv-net: add .bootindex support
9b49f45b61 net: add Hyper-V/VMBus net adapter
8b3b6a7831 net: add Hyper-V/VMBus network protocol definitions
932a14d315 net: add RNDIS definitions
58ff5f3675 tests: hv-scsi: add start-stop test
f81c7ad4b7 hv-scsi: limit the number of requests per notification
62d0ac72b5 scsi: add Hyper-V/VMBus SCSI controller
438b47b468 scsi: add Hyper-V/VMBus SCSI protocol definitions
4baa88ac14 i386: en/disable vmbus by a machine property
7e9adc9af7 i386: Hyper-V VMBus ACPI DSDT entry
1c19b65fab vmbus: build configuration
4471f1afca vmbus: vmbus implementation
6aff6ba275 vmbus: add vmbus protocol definitions
601a95fc0a hyperv: add support for KVM_HYPERV_EVENTFD
9ec270a97e import HYPERV_EVENTFD stuff from kernel
cbfeb5e77c hyperv: update copyright notices
77d9e62db5 hyperv_testdev: add SynIC message and event testmodes
6bf86c8237 hyperv: process POST_MESSAGE hypercall
52d482a30c hyperv: process SIGNAL_EVENT hypercall
be4ed13446 hyperv: add synic event flag signaling
58a94ec55e hyperv: add synic message delivery
921fcaab97 hyperv: make overlay pages for SynIC
8540e6cff0 hyperv: block SynIC use in QEMU in incompatible configurations
0a8a729b0b hyperv: qom-ify SynIC
1f9fba8cb0 hyperv: make HvSintRoute reference-counted
4d649ce401 hyperv: address HvSintRoute by X86CPU pointer
96cc3d2e21 hyperv: allow passing arbitrary data to sint ack callback
93ceab6b34 hyperv: synic: only setup ack notifier if there's a callback
fa7482c5ff hyperv: cosmetic: g_malloc -> g_new
63d46e7b96 hyperv_testdev: refactor for readability
ff514f8890 hyperv: ensure VP index equal to QEMU cpu_index

=== OUTPUT BEGIN ===
=== ENV ===
LANG=en_US.UTF-8
XDG_SESSION_ID=44009
USER=fam
PWD=/var/tmp/patchew-tester-tmp-bqc9j8f2/src
HOME=/home/fam
SHELL=/bin/sh
SHLVL=2
PATCHEW=/home/fam/patchew/patchew-cli -s http://patchew.org --nodebug
LOGNAME=fam
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1012/bus
XDG_RUNTIME_DIR=/run/user/1012
PATH=/usr/bin:/bin
_=/usr/bin/env
=== PACKAGES ===
gpg-pubkey-873529b8-54e386ff
glibc-debuginfo-common-2.24-10.fc25.s390x
fedora-release-26-1.noarch
dejavu-sans-mono-fonts-2.35-4.fc26.noarch
xemacs-filesystem-21.5.34-22.20170124hgf412e9f093d4.fc26.noarch
bash-4.4.12-7.fc26.s390x
freetype-2.7.1-9.fc26.s390x
libSM-1.2.2-5.fc26.s390x
libmpc-1.0.2-6.fc26.s390x
libaio-0.3.110-7.fc26.s390x
libverto-0.2.6-7.fc26.s390x
perl-Scalar-List-Utils-1.48-1.fc26.s390x
iptables-libs-1.6.1-2.fc26.s390x
perl-threads-shared-1.57-1.fc26.s390x
p11-kit-trust-0.23.9-2.fc26.s390x
tcl-8.6.6-2.fc26.s390x
libxshmfence-1.2-4.fc26.s390x
expect-5.45-23.fc26.s390x
perl-Thread-Queue-3.12-1.fc26.noarch
perl-encoding-2.19-6.fc26.s390x
keyutils-1.5.10-1.fc26.s390x
gmp-devel-6.1.2-4.fc26.s390x
enchant-1.6.0-16.fc26.s390x
net-snmp-libs-5.7.3-17.fc26.s390x
python-gobject-base-3.24.1-1.fc26.s390x
python3-distro-1.0.3-1.fc26.noarch
python3-enchant-1.6.10-1.fc26.noarch
python-lockfile-0.11.0-6.fc26.noarch
python2-pyparsing-2.1.10-3.fc26.noarch
python2-lxml-4.1.1-1.fc26.s390x
librados2-10.2.7-2.fc26.s390x
trousers-lib-0.3.13-7.fc26.s390x
libpaper-1.1.24-14.fc26.s390x
libdatrie-0.2.9-4.fc26.s390x
libsoup-2.58.2-1.fc26.s390x
passwd-0.79-9.fc26.s390x
bind99-libs-9.9.10-3.P3.fc26.s390x
python3-rpm-4.13.0.2-1.fc26.s390x
mock-core-configs-27.4-1.fc26.noarch
systemd-233-7.fc26.s390x
virglrenderer-0.6.0-1.20170210git76b3da97b.fc26.s390x
s390utils-ziomon-1.36.1-3.fc26.s390x
s390utils-osasnmpd-1.36.1-3.fc26.s390x
libXrandr-1.5.1-2.fc26.s390x
libglvnd-glx-1.0.0-1.fc26.s390x
texlive-ifxetex-svn19685.0.5-33.fc26.2.noarch
texlive-psnfss-svn33946.9.2a-33.fc26.2.noarch
texlive-dvipdfmx-def-svn40328-33.fc26.2.noarch
texlive-natbib-svn20668.8.31b-33.fc26.2.noarch
texlive-xdvi-bin-svn40750-33.20160520.fc26.2.s390x
texlive-cm-svn32865.0-33.fc26.2.noarch
texlive-beton-svn15878.0-33.fc26.2.noarch
texlive-fpl-svn15878.1.002-33.fc26.2.noarch
texlive-mflogo-svn38628-33.fc26.2.noarch
texlive-texlive-docindex-svn41430-33.fc26.2.noarch
texlive-luaotfload-bin-svn34647.0-33.20160520.fc26.2.noarch
texlive-koma-script-svn41508-33.fc26.2.noarch
texlive-pst-tree-svn24142.1.12-33.fc26.2.noarch
texlive-breqn-svn38099.0.98d-33.fc26.2.noarch
texlive-xetex-svn41438-33.fc26.2.noarch
gstreamer1-plugins-bad-free-1.12.3-1.fc26.s390x
xorg-x11-font-utils-7.5-33.fc26.s390x
ghostscript-fonts-5.50-36.fc26.noarch
libXext-devel-1.3.3-5.fc26.s390x
libusbx-devel-1.0.21-2.fc26.s390x
libglvnd-devel-1.0.0-1.fc26.s390x
emacs-25.3-3.fc26.s390x
alsa-lib-devel-1.1.4.1-1.fc26.s390x
kbd-2.0.4-2.fc26.s390x
dconf-0.26.0-2.fc26.s390x
ccache-3.3.4-1.fc26.s390x
glibc-static-2.25-12.fc26.s390x
mc-4.8.19-5.fc26.s390x
doxygen-1.8.13-9.fc26.s390x
dpkg-1.18.24-1.fc26.s390x
libtdb-1.3.13-1.fc26.s390x
python2-pynacl-1.1.1-1.fc26.s390x
nss-sysinit-3.34.0-1.0.fc26.s390x
kernel-4.13.16-202.fc26.s390x
perl-Filter-1.58-1.fc26.s390x
python2-pip-9.0.1-11.fc26.noarch
dnf-2.7.5-2.fc26.noarch
pcre2-utf16-10.23-11.fc26.s390x
glusterfs-devel-3.10.8-1.fc26.s390x
sssd-common-1.16.0-4.fc26.s390x
python2-sssdconfig-1.16.0-4.fc26.noarch
acpica-tools-20171110-1.fc26.s390x
glibc-debuginfo-2.24-10.fc25.s390x
fedora-repos-26-1.noarch
dejavu-fonts-common-2.35-4.fc26.noarch
bind99-license-9.9.10-3.P3.fc26.noarch
ncurses-libs-6.0-8.20170212.fc26.s390x
libpng-1.6.28-2.fc26.s390x
libICE-1.0.9-9.fc26.s390x
kmod-24-1.fc26.s390x
libseccomp-2.3.2-1.fc26.s390x
perl-Text-ParseWords-3.30-366.fc26.noarch
libtool-ltdl-2.4.6-17.fc26.s390x
perl-threads-2.16-1.fc26.s390x
libselinux-utils-2.6-7.fc26.s390x
userspace-rcu-0.9.3-2.fc26.s390x
libXfont-1.5.2-5.fc26.s390x
perl-Class-Inspector-1.31-3.fc26.noarch
perl-open-1.10-395.fc26.noarch
keyutils-libs-devel-1.5.10-1.fc26.s390x
isl-0.16.1-1.fc26.s390x
libsecret-0.18.5-3.fc26.s390x
compat-openssl10-1.0.2m-1.fc26.s390x
python3-iniparse-0.4-24.fc26.noarch
python3-dateutil-2.6.0-3.fc26.noarch
python3-firewall-0.4.4.5-1.fc26.noarch
python-enum34-1.1.6-1.fc26.noarch
python2-pygments-2.2.0-7.fc26.noarch
python2-dockerfile-parse-0.0.7-1.fc26.noarch
perl-Net-SSLeay-1.81-1.fc26.s390x
hostname-3.18-2.fc26.s390x
libtirpc-1.0.2-0.fc26.s390x
rpm-build-libs-4.13.0.2-1.fc26.s390x
libutempter-1.1.6-9.fc26.s390x
systemd-pam-233-7.fc26.s390x
pcre-utf16-8.41-3.fc26.s390x
libXinerama-1.1.3-7.fc26.s390x
mesa-libGL-17.2.4-2.fc26.s390x
texlive-amsfonts-svn29208.3.04-33.fc26.2.noarch
texlive-caption-svn41409-33.fc26.2.noarch
texlive-enumitem-svn24146.3.5.2-33.fc26.2.noarch
texlive-pdftex-def-svn22653.0.06d-33.fc26.2.noarch
texlive-xdvi-svn40768-33.fc26.2.noarch
texlive-courier-svn35058.0-33.fc26.2.noarch
texlive-charter-svn15878.0-33.fc26.2.noarch
texlive-graphics-def-svn41879-33.fc26.2.noarch
texlive-mfnfss-svn19410.0-33.fc26.2.noarch
texlive-texlive-en-svn41185-33.fc26.2.noarch
texlive-ifplatform-svn21156.0.4-33.fc26.2.noarch
texlive-ms-svn29849.0-33.fc26.2.noarch
texlive-pst-tools-svn34067.0.05-33.fc26.2.noarch
texlive-powerdot-svn38984-33.fc26.2.noarch
texlive-xetexconfig-svn41133-33.fc26.2.noarch
libvdpau-1.1.1-4.fc26.s390x
zlib-devel-1.2.11-2.fc26.s390x
gdk-pixbuf2-devel-2.36.9-1.fc26.s390x
libX11-devel-1.6.5-2.fc26.s390x
libtasn1-devel-4.12-1.fc26.s390x
libglvnd-core-devel-1.0.0-1.fc26.s390x
SDL2-devel-2.0.7-2.fc26.s390x
webkitgtk3-2.4.11-5.fc26.s390x
grubby-8.40-4.fc26.s390x
uboot-tools-2017.05-4.fc26.s390x
cracklib-dicts-2.9.6-5.fc26.s390x
texinfo-6.3-3.fc26.s390x
time-1.7-52.fc26.s390x
python2-deltarpm-3.6-19.fc26.s390x
nss-3.34.0-1.0.fc26.s390x
webkitgtk4-2.18.3-1.fc26.s390x
net-tools-2.0-0.43.20160912git.fc26.s390x
python2-setuptools-37.0.0-1.fc26.noarch
python2-dnf-2.7.5-2.fc26.noarch
pcre2-10.23-11.fc26.s390x
groff-base-1.22.3-10.fc26.s390x
python2-devel-2.7.14-4.fc26.s390x
python2-GitPython-2.1.7-2.fc26.noarch
boost-iostreams-1.63.0-10.fc26.s390x
gpg-pubkey-efe550f5-5220ba41
gpg-pubkey-81b46521-55b3ca9a
filesystem-3.2-40.fc26.s390x
basesystem-11-3.fc26.noarch
js-jquery-3.2.1-1.fc26.noarch
pcre-8.41-3.fc26.s390x
elfutils-libelf-0.169-1.fc26.s390x
libidn-1.33-2.fc26.s390x
libogg-1.3.2-6.fc26.s390x
slang-2.3.1a-2.fc26.s390x
apr-1.6.3-1.fc26.s390x
libxkbcommon-0.7.1-3.fc26.s390x
perl-IO-1.36-395.fc26.s390x
libvorbis-1.3.5-2.fc26.s390x
less-487-3.fc26.s390x
lttng-ust-2.9.0-2.fc26.s390x
OpenEXR-libs-2.2.0-6.fc26.s390x
ipset-libs-6.29-3.fc26.s390x
perl-XML-XPath-1.42-1.fc26.noarch
lua-filesystem-1.6.3-3.fc24.s390x
sqlite-3.20.1-1.fc26.s390x
gstreamer1-1.12.3-1.fc26.s390x
libpwquality-1.3.0-8.fc26.s390x
gettext-libs-0.19.8.1-9.fc26.s390x
python3-chardet-2.3.0-3.fc26.noarch
python3-slip-dbus-0.6.4-6.fc26.noarch
python-chardet-2.3.0-3.fc26.noarch
python2-pyasn1-0.2.3-1.fc26.noarch
python-slip-dbus-0.6.4-6.fc26.noarch
libarchive-3.2.2-4.fc26.s390x
libbabeltrace-1.5.2-2.fc26.s390x
cdparanoia-libs-10.2-22.fc26.s390x
krb5-workstation-1.15.2-4.fc26.s390x
python3-requests-kerberos-0.10.0-4.fc26.noarch
gpgme-1.8.0-12.fc26.s390x
python2-gpg-1.8.0-12.fc26.s390x
shadow-utils-4.3.1-3.fc26.s390x
cryptsetup-libs-1.7.5-1.fc26.s390x
kpartx-0.4.9-88.fc26.s390x
net-snmp-agent-libs-5.7.3-17.fc26.s390x
libXi-1.7.9-2.fc26.s390x
texlive-tetex-svn41059-33.fc26.2.noarch
texlive-tools-svn40934-33.fc26.2.noarch
texlive-bibtex-bin-svn40473-33.20160520.fc26.2.s390x
texlive-mfware-bin-svn40473-33.20160520.fc26.2.s390x
texlive-underscore-svn18261.0-33.fc26.2.noarch
texlive-avantgar-svn31835.0-33.fc26.2.noarch
texlive-anysize-svn15878.0-33.fc26.2.noarch
texlive-lineno-svn21442.4.41-33.fc26.2.noarch
texlive-mathpazo-svn15878.1.003-33.fc26.2.noarch
texlive-soul-svn15878.2.4-33.fc26.2.noarch
texlive-luatexbase-svn38550-33.fc26.2.noarch
texlive-listings-svn37534.1.6-33.fc26.2.noarch
texlive-pstricks-svn41321-33.fc26.2.noarch
texlive-metalogo-svn18611.0.12-33.fc26.2.noarch
texlive-dvipdfmx-svn41149-33.fc26.2.noarch
kbd-legacy-2.0.4-2.fc26.noarch
nspr-devel-4.17.0-1.fc26.s390x
ghostscript-x11-9.20-10.fc26.s390x
libXrender-devel-0.9.10-2.fc26.s390x
libxkbcommon-devel-0.7.1-3.fc26.s390x
mesa-libGL-devel-17.2.4-2.fc26.s390x
sqlite-devel-3.20.1-1.fc26.s390x
usbredir-devel-0.7.1-3.fc26.s390x
libcap-devel-2.25-5.fc26.s390x
brlapi-devel-0.6.6-5.fc26.s390x
fedora-upgrade-27.1-1.fc26.noarch
python3-pygpgme-0.3-22.fc26.s390x
pinentry-0.9.7-3.fc26.s390x
perl-Test-Harness-3.39-1.fc26.noarch
qemu-sanity-check-nodeps-1.1.5-6.fc26.s390x
libldb-1.1.29-5.fc26.s390x
python-libxml2-2.9.4-2.fc26.s390x
nss-util-devel-3.34.0-1.0.fc26.s390x
vim-filesystem-8.0.1360-1.fc26.s390x
webkitgtk4-plugin-process-gtk2-2.18.3-1.fc26.s390x
python2-2.7.14-4.fc26.s390x
libwayland-cursor-1.13.0-3.fc26.s390x
mariadb-config-10.1.29-1.fc26.s390x
gdb-headless-8.0.1-33.fc26.s390x
pulseaudio-libs-devel-11.1-7.fc26.s390x
curl-7.53.1-13.fc26.s390x
json-c-0.12.1-5.fc26.s390x
gpg-pubkey-34ec9cba-54e38751
gpg-pubkey-030d5aed-55b577f0
setup-2.10.5-2.fc26.noarch
lato-fonts-2.015-3.fc26.noarch
web-assets-filesystem-5-5.fc26.noarch
libsepol-2.6-2.fc26.s390x
libcap-2.25-5.fc26.s390x
tcp_wrappers-libs-7.6-85.fc26.s390x
libnl3-3.3.0-1.fc26.s390x
pixman-0.34.0-3.fc26.s390x
lzo-2.08-9.fc26.s390x
perl-5.24.3-395.fc26.s390x
libnl3-cli-3.3.0-1.fc26.s390x
gpm-libs-1.20.7-10.fc26.s390x
libgo-7.2.1-2.fc26.s390x
iso-codes-3.74-2.fc26.noarch
ipset-6.29-3.fc26.s390x
lua-term-0.07-1.fc25.s390x
libdb-utils-5.3.28-24.fc26.s390x
system-python-libs-3.6.3-2.fc26.s390x
dbus-glib-0.108-2.fc26.s390x
pam-1.3.0-2.fc26.s390x
avahi-glib-0.6.32-7.fc26.s390x
python2-dateutil-2.6.0-3.fc26.noarch
python3-asn1crypto-0.23.0-1.fc26.noarch
python3-slip-0.6.4-6.fc26.noarch
python-backports-ssl_match_hostname-3.5.0.1-4.fc26.noarch
python2-pyOpenSSL-16.2.0-6.fc26.noarch
python-slip-0.6.4-6.fc26.noarch
nss-pem-1.0.3-3.fc26.s390x
fipscheck-1.5.0-1.fc26.s390x
elfutils-0.169-1.fc26.s390x
cyrus-sasl-lib-2.1.26-32.fc26.s390x
libkadm5-1.15.2-4.fc26.s390x
python3-kerberos-1.2.5-3.fc26.s390x
rpmconf-1.0.19-1.fc26.noarch
libsemanage-2.6-4.fc26.s390x
device-mapper-libs-1.02.137-6.fc26.s390x
yum-3.4.3-512.fc26.noarch
device-mapper-multipath-0.4.9-88.fc26.s390x
net-snmp-5.7.3-17.fc26.s390x
libXtst-1.2.3-2.fc26.s390x
libXxf86vm-1.1.4-4.fc26.s390x
texlive-amsmath-svn41561-33.fc26.2.noarch
texlive-xkeyval-svn35741.2.7a-33.fc26.2.noarch
texlive-bibtex-svn40768-33.fc26.2.noarch
texlive-mfware-svn40768-33.fc26.2.noarch
texlive-wasy-svn35831.0-33.fc26.2.noarch
texlive-bookman-svn31835.0-33.fc26.2.noarch
texlive-babel-english-svn30264.3.3p-33.fc26.2.noarch
texlive-fix2col-svn38770-33.fc26.2.noarch
texlive-mdwtools-svn15878.1.05.4-33.fc26.2.noarch
texlive-tex-gyre-math-svn41264-33.fc26.2.noarch
texlive-luaotfload-svn40902-33.fc26.2.noarch
texlive-showexpl-svn32737.v0.3l-33.fc26.2.noarch
texlive-pstricks-add-svn40744-33.fc26.2.noarch
texlive-l3experimental-svn41163-33.fc26.2.noarch
texlive-xetex-bin-svn41091-33.20160520.fc26.2.s390x
kbd-misc-2.0.4-2.fc26.noarch
libpng-devel-1.6.28-2.fc26.s390x
ghostscript-core-9.20-10.fc26.s390x
libXfixes-devel-5.0.3-2.fc26.s390x
libverto-devel-0.2.6-7.fc26.s390x
mesa-libEGL-devel-17.2.4-2.fc26.s390x
popt-devel-1.16-12.fc26.s390x
readline-devel-7.0-5.fc26.s390x
cyrus-sasl-devel-2.1.26-32.fc26.s390x
sendmail-8.15.2-19.fc26.s390x
systemd-bootchart-231-3.fc26.s390x
perl-IO-Socket-SSL-2.049-1.fc26.noarch
python2-enchant-1.6.10-1.fc26.noarch
perl-generators-1.10-2.fc26.noarch
createrepo-0.10.3-11.fc26.noarch
webkitgtk4-jsc-2.18.3-1.fc26.s390x
vim-common-8.0.1360-1.fc26.s390x
nss-tools-3.34.0-1.0.fc26.s390x
glusterfs-api-3.10.8-1.fc26.s390x
pulseaudio-libs-glib2-11.1-7.fc26.s390x
mariadb-common-10.1.29-1.fc26.s390x
dhcp-libs-4.3.5-10.fc26.s390x
pcre2-devel-10.23-11.fc26.s390x
libtiff-4.0.9-1.fc26.s390x
kernel-headers-4.14.8-200.fc26.s390x
fontpackages-filesystem-1.44-18.fc26.noarch
vte-profile-0.48.4-1.fc26.s390x
texlive-kpathsea-doc-svn41139-33.fc26.2.noarch
zlib-1.2.11-2.fc26.s390x
readline-7.0-5.fc26.s390x
libattr-2.4.47-18.fc26.s390x
libgomp-7.2.1-2.fc26.s390x
libglvnd-1.0.0-1.fc26.s390x
lz4-libs-1.8.0-1.fc26.s390x
libcrypt-nss-2.25-12.fc26.s390x
jansson-2.10-2.fc26.s390x
perl-File-Path-2.12-367.fc26.noarch
perl-Unicode-EastAsianWidth-1.33-9.fc26.noarch
hunspell-1.5.4-2.fc26.s390x
libasyncns-0.8-11.fc26.s390x
libnetfilter_conntrack-1.0.6-2.fc26.s390x
perl-Storable-2.56-368.fc26.s390x
autoconf-2.69-24.fc26.noarch
device-mapper-persistent-data-0.6.3-5.fc26.s390x
quota-4.03-9.fc26.s390x
crypto-policies-20170606-1.git7c32281.fc26.noarch
glib2-2.52.3-2.fc26.s390x
python2-idna-2.5-1.fc26.noarch
python2-libcomps-0.1.8-3.fc26.s390x
gsettings-desktop-schemas-3.24.1-1.fc26.s390x
javapackages-tools-4.7.0-17.fc26.noarch
libselinux-python3-2.6-7.fc26.s390x
python-backports-1.0-9.fc26.s390x
python2-cryptography-2.0.2-2.fc26.s390x
libselinux-python-2.6-7.fc26.s390x
Lmod-7.5.3-1.fc26.s390x
fipscheck-lib-1.5.0-1.fc26.s390x
elfutils-libs-0.169-1.fc26.s390x
krb5-libs-1.15.2-4.fc26.s390x
libuser-0.62-6.fc26.s390x
python2-requests-kerberos-0.10.0-4.fc26.noarch
npth-1.5-1.fc26.s390x
packagedb-cli-2.14.1-2.fc26.noarch
ustr-1.0.4-22.fc26.s390x
device-mapper-1.02.137-6.fc26.s390x
polkit-pkla-compat-0.1-8.fc26.s390x
fakeroot-1.22-1.fc26.s390x
libXmu-1.1.2-5.fc26.s390x
cairo-gobject-1.14.10-1.fc26.s390x
texlive-booktabs-svn40846-33.fc26.2.noarch
texlive-dvips-bin-svn40987-33.20160520.fc26.2.s390x
texlive-float-svn15878.1.3d-33.fc26.2.noarch
texlive-tex-svn40793-33.fc26.2.noarch
texlive-fancyref-svn15878.0.9c-33.fc26.2.noarch
texlive-manfnt-font-svn35799.0-33.fc26.2.noarch
texlive-cmap-svn41168-33.fc26.2.noarch
texlive-hyph-utf8-svn41189-33.fc26.2.noarch
texlive-paralist-svn39247-33.fc26.2.noarch
texlive-trimspaces-svn15878.1.1-33.fc26.2.noarch
texlive-tipa-svn29349.1.3-33.fc26.2.noarch
texlive-l3packages-svn41246-33.fc26.2.noarch
texlive-pst-pdf-svn31660.1.1v-33.fc26.2.noarch
texlive-tex-gyre-svn18651.2.004-33.fc26.2.noarch
texlive-beamer-svn36461.3.36-33.fc26.2.noarch
gd-2.2.5-1.fc26.s390x
elfutils-libelf-devel-0.169-1.fc26.s390x
gc-devel-7.6.0-2.fc26.s390x
libXft-devel-2.3.2-5.fc26.s390x
krb5-devel-1.15.2-4.fc26.s390x
rpm-devel-4.13.0.2-1.fc26.s390x
pcre-static-8.41-3.fc26.s390x
bluez-libs-devel-5.46-6.fc26.s390x
systemtap-3.2-2.fc26.s390x
trousers-0.3.13-7.fc26.s390x
iproute-tc-4.11.0-1.fc26.s390x
python2-sphinx-1.5.5-1.fc26.noarch
libgnome-keyring-3.12.0-8.fc26.s390x
perl-File-ShareDir-1.102-8.fc26.noarch
python2-paramiko-2.2.1-1.fc26.noarch
python2-openidc-client-0.4.0-1.20171113git54dee6e.fc26.noarch
openssh-server-7.5p1-4.fc26.s390x
pulseaudio-libs-11.1-7.fc26.s390x
python2-bodhi-2.12.2-3.fc26.noarch
lua-libs-5.3.4-7.fc26.s390x
dhcp-common-4.3.5-10.fc26.noarch
python3-pip-9.0.1-11.fc26.noarch
python3-sssdconfig-1.16.0-4.fc26.noarch
gpg-pubkey-95a43f54-5284415a
gpg-pubkey-fdb19c98-56fd6333
gpg-pubkey-64dab85d-57d33e22
tzdata-2017c-1.fc26.noarch
firewalld-filesystem-0.4.4.5-1.fc26.noarch
xkeyboard-config-2.21-3.fc26.noarch
texlive-texlive-common-doc-svn40682-33.fc26.2.noarch
ncurses-base-6.0-8.20170212.fc26.noarch
libselinux-2.6-7.fc26.s390x
bzip2-libs-1.0.6-22.fc26.s390x
libdb-5.3.28-24.fc26.s390x
mpfr-3.1.5-3.fc26.s390x
file-libs-5.30-11.fc26.s390x
libunistring-0.9.7-1.fc26.s390x
libxslt-1.1.29-1.fc26.s390x
libtasn1-4.12-1.fc26.s390x
gdbm-1.13-1.fc26.s390x
libepoxy-1.4.3-1.fc26.s390x
libpsl-0.18.0-1.fc26.s390x
perl-Carp-1.40-366.fc26.noarch
e2fsprogs-libs-1.43.4-2.fc26.s390x
libmnl-1.0.4-2.fc26.s390x
openjpeg2-2.2.0-3.fc26.s390x
perl-PathTools-3.63-367.fc26.s390x
perl-File-Temp-0.230.400-2.fc26.noarch
perl-XML-Parser-2.44-6.fc26.s390x
libss-1.43.4-2.fc26.s390x
ilmbase-2.2.0-8.fc26.s390x
fuse-libs-2.9.7-2.fc26.s390x
libdaemon-0.14-11.fc26.s390x
libbasicobjects-0.1.1-34.fc26.s390x
iptables-1.6.1-2.fc26.s390x
perl-TermReadKey-2.37-2.fc26.s390x
perl-Term-ANSIColor-4.06-2.fc26.noarch
perl-libintl-perl-1.26-2.fc26.s390x
usbredir-0.7.1-3.fc26.s390x
fftw-libs-double-3.3.5-4.fc26.s390x
rsync-3.1.2-5.fc26.s390x
libiscsi-1.15.0-3.fc26.s390x
ttmkfdir-3.0.9-49.fc26.s390x
texlive-base-2016-33.20160520.fc26.1.noarch
python2-six-1.10.0-9.fc26.noarch
atk-2.24.0-1.fc26.s390x
python2-kitchen-1.2.4-6.fc26.noarch
guile-2.0.14-1.fc26.s390x
desktop-file-utils-0.23-3.fc26.s390x
pyxattr-0.5.3-10.fc26.s390x
shared-mime-info-1.8-2.fc26.s390x
libyaml-0.1.7-2.fc26.s390x
python3-PyYAML-3.12-3.fc26.s390x
openssh-7.5p1-4.fc26.s390x
kernel-core-4.13.16-202.fc26.s390x
perl-Git-2.13.6-2.fc26.noarch
python3-dnf-plugins-extras-common-2.0.4-1.fc26.noarch
openssl-1.1.0g-1.fc26.s390x
gawk-4.1.4-6.fc26.s390x
gnutls-3.5.16-4.fc26.s390x
openldap-2.4.45-2.fc26.s390x
bind-license-9.11.1-4.P3.fc26.noarch
python2-gluster-3.10.8-1.fc26.s390x
selinux-policy-3.13.1-260.17.fc26.noarch
linux-firmware-20171215-81.git2451bb22.fc26.noarch
libpkgconf-1.3.12-1.fc26.s390x
NetworkManager-libnm-1.8.2-4.fc26.s390x
gnutls-devel-3.5.16-4.fc26.s390x
mariadb-libs-10.1.29-1.fc26.s390x
python2-urllib3-1.20-2.fc26.noarch
sssd-nfs-idmap-1.16.0-4.fc26.s390x
libsss_sudo-1.16.0-4.fc26.s390x
libgudev-232-1.fc26.s390x
python3-libs-3.6.3-2.fc26.s390x
python3-javapackages-4.7.0-17.fc26.noarch
python3-ply-3.9-3.fc26.noarch
python3-systemd-234-1.fc26.s390x
python3-requests-2.13.0-1.fc26.noarch
blktrace-1.1.0-4.fc26.s390x
python2-asn1crypto-0.23.0-1.fc26.noarch
python2-cffi-1.9.1-2.fc26.s390x
python2-sphinx_rtd_theme-0.2.4-1.fc26.noarch
lua-json-1.3.2-7.fc26.noarch
libcephfs1-10.2.7-2.fc26.s390x
glib-networking-2.50.0-2.fc26.s390x
elfutils-default-yama-scope-0.169-1.fc26.noarch
GeoIP-GeoLite-data-2017.10-1.fc26.noarch
libedit-3.1-17.20160618cvs.fc26.s390x
libverto-libev-0.2.6-7.fc26.s390x
libserf-1.3.9-3.fc26.s390x
createrepo_c-0.10.0-9.fc26.s390x
python2-kerberos-1.2.5-3.fc26.s390x
libsrtp-1.5.4-4.fc26.s390x
lzo-minilzo-2.08-9.fc26.s390x
librepo-1.8.0-1.fc26.s390x
koji-1.14.0-1.fc26.noarch
sg3_utils-1.42-1.fc26.s390x
libobjc-7.2.1-2.fc26.s390x
policycoreutils-2.6-6.fc26.s390x
libdrm-2.4.88-1.fc26.s390x
kernel-core-4.13.13-200.fc26.s390x
systemtap-client-3.2-2.fc26.s390x
lvm2-2.02.168-6.fc26.s390x
device-mapper-multipath-libs-0.4.9-88.fc26.s390x
libfdt-1.4.5-1.fc26.s390x
s390utils-cmsfs-1.36.1-3.fc26.s390x
libXdamage-1.1.4-9.fc26.s390x
libXaw-1.0.13-5.fc26.s390x
brltty-5.5-5.fc26.s390x
librsvg2-2.40.18-1.fc26.s390x
texlive-tetex-bin-svn36770.0-33.20160520.fc26.2.noarch
texlive-etex-pkg-svn39355-33.fc26.2.noarch
texlive-graphics-svn41015-33.fc26.2.noarch
texlive-dvips-svn41149-33.fc26.2.noarch
texlive-zapfding-svn31835.0-33.fc26.2.noarch
texlive-footmisc-svn23330.5.5b-33.fc26.2.noarch
texlive-makeindex-svn40768-33.fc26.2.noarch
texlive-pst-ovl-svn40873-33.fc26.2.noarch
texlive-texlive-scripts-svn41433-33.fc26.2.noarch
texlive-ltabptch-svn17533.1.74d-33.fc26.2.noarch
texlive-euro-svn22191.1.1-33.fc26.2.noarch
texlive-mflogo-font-svn36898.1.002-33.fc26.2.noarch
texlive-zapfchan-svn31835.0-33.fc26.2.noarch
texlive-cmextra-svn32831.0-33.fc26.2.noarch
texlive-finstrut-svn21719.0.5-33.fc26.2.noarch
texlive-hyphen-base-svn41138-33.fc26.2.noarch
texlive-marginnote-svn41382-33.fc26.2.noarch
texlive-parallel-svn15878.0-33.fc26.2.noarch
texlive-sepnum-svn20186.2.0-33.fc26.2.noarch
texlive-environ-svn33821.0.3-33.fc26.2.noarch
texlive-type1cm-svn21820.0-33.fc26.2.noarch
texlive-xunicode-svn30466.0.981-33.fc26.2.noarch
texlive-attachfile-svn38830-33.fc26.2.noarch
texlive-fontspec-svn41262-33.fc26.2.noarch
texlive-fancyvrb-svn18492.2.8-33.fc26.2.noarch
texlive-pst-pdf-bin-svn7838.0-33.20160520.fc26.2.noarch
texlive-xcolor-svn41044-33.fc26.2.noarch
texlive-pdfpages-svn40638-33.fc26.2.noarch
texlive-sansmathaccent-svn30187.0-33.fc26.2.noarch
texlive-ucs-svn35853.2.2-33.fc26.2.noarch
texlive-dvipdfmx-bin-svn40273-33.20160520.fc26.2.s390x
libotf-0.9.13-8.fc26.s390x
go-srpm-macros-2-8.fc26.noarch
pcre-devel-8.41-3.fc26.s390x
mesa-libwayland-egl-devel-17.2.4-2.fc26.s390x
ghostscript-9.20-10.fc26.s390x
libcephfs_jni-devel-10.2.7-2.fc26.s390x
libXdamage-devel-1.1.4-9.fc26.s390x
freetype-devel-2.7.1-9.fc26.s390x
ncurses-devel-6.0-8.20170212.fc26.s390x
fontconfig-devel-2.12.6-4.fc26.s390x
cairo-devel-1.14.10-1.fc26.s390x
libselinux-devel-2.6-7.fc26.s390x
guile-devel-2.0.14-1.fc26.s390x
libcap-ng-devel-0.7.8-3.fc26.s390x
bash-completion-2.6-1.fc26.noarch
libXevie-1.0.3-12.fc26.s390x
kernel-4.13.13-200.fc26.s390x
audit-2.8.1-1.fc26.s390x
gcc-objc-7.2.1-2.fc26.s390x
gcc-go-7.2.1-2.fc26.s390x
python-firewall-0.4.4.5-1.fc26.noarch
python3-html5lib-0.999-13.fc26.noarch
python2-simplejson-3.10.0-3.fc26.s390x
flex-2.6.1-3.fc26.s390x
telnet-0.17-69.fc26.s390x
gpg-pubkey-8e1431d5-53bcbac7
emacs-filesystem-25.3-3.fc26.noarch
fontawesome-fonts-4.7.0-2.fc26.noarch
fontawesome-fonts-web-4.7.0-2.fc26.noarch
tzdata-java-2017c-1.fc26.noarch
rpmconf-base-1.0.19-1.fc26.noarch
glibc-2.25-12.fc26.s390x
info-6.3-3.fc26.s390x
sqlite-libs-3.20.1-1.fc26.s390x
texlive-lib-2016-33.20160520.fc26.1.s390x
sed-4.4-1.fc26.s390x
libicu-57.1-7.fc26.s390x
libcap-ng-0.7.8-3.fc26.s390x
nettle-3.3-2.fc26.s390x
libidn2-2.0.4-1.fc26.s390x
lcms2-2.8-3.fc26.s390x
dbus-libs-1.11.18-1.fc26.s390x
perl-Exporter-5.72-367.fc26.noarch
unzip-6.0-34.fc26.s390x
iproute-4.11.0-1.fc26.s390x
zip-3.0-18.fc26.s390x
perl-constant-1.33-368.fc26.noarch
perl-MIME-Base64-3.15-366.fc26.s390x
lua-posix-33.3.1-4.fc26.s390x
bzip2-1.0.6-22.fc26.s390x
libstdc++-devel-7.2.1-2.fc26.s390x
hyphen-2.8.8-6.fc26.s390x
libdvdread-5.0.3-4.fc26.s390x
libcollection-0.7.0-34.fc26.s390x
libdvdnav-5.0.3-5.fc26.s390x
perl-version-0.99.18-1.fc26.s390x
perl-Encode-2.88-6.fc26.s390x
automake-1.15-9.fc26.noarch
plymouth-core-libs-0.9.3-0.7.20160620git0e65b86c.fc26.s390x
hesiod-3.2.1-7.fc26.s390x
jasper-libs-2.0.14-1.fc26.s390x
mozjs17-17.0.0-18.fc26.s390x
fontconfig-2.12.6-4.fc26.s390x
harfbuzz-1.4.4-1.fc26.s390x
alsa-lib-1.1.4.1-1.fc26.s390x
make-4.2.1-2.fc26.s390x
gobject-introspection-1.52.1-1.fc26.s390x
hicolor-icon-theme-0.15-5.fc26.noarch
gdk-pixbuf2-2.36.9-1.fc26.s390x
libgusb-0.2.11-1.fc26.s390x
libtalloc-2.1.10-2.fc26.s390x
libdhash-0.5.0-34.fc26.s390x
python2-bcrypt-3.1.4-2.fc26.s390x
PyYAML-3.12-3.fc26.s390x
nss-softokn-freebl-3.34.0-1.0.fc26.s390x
kernel-modules-4.13.16-202.fc26.s390x
git-2.13.6-2.fc26.s390x
gnupg2-smime-2.2.3-1.fc26.s390x
openssl-devel-1.1.0g-1.fc26.s390x
python2-dnf-plugins-extras-common-2.0.4-1.fc26.noarch
copy-jdk-configs-3.3-2.fc26.noarch
glusterfs-client-xlators-3.10.8-1.fc26.s390x
libcurl-7.53.1-13.fc26.s390x
bind-libs-lite-9.11.1-4.P3.fc26.s390x
glusterfs-extra-xlators-3.10.8-1.fc26.s390x
python3-setuptools-37.0.0-1.fc26.noarch
kernel-core-4.14.8-200.fc26.s390x
pkgconf-1.3.12-1.fc26.s390x
NetworkManager-1.8.2-4.fc26.s390x
libjpeg-turbo-devel-1.5.3-1.fc26.s390x
lua-5.3.4-7.fc26.s390x
boost-thread-1.63.0-10.fc26.s390x
wget-1.19.2-2.fc26.s390x
libwebp-0.6.1-1.fc26.s390x
kernel-devel-4.14.8-200.fc26.s390x
python3-lxml-4.1.1-1.fc26.s390x
python3-ordered-set-2.0.0-6.fc26.noarch
python3-rpmconf-1.0.19-1.fc26.noarch
python-offtrac-0.1.0-9.fc26.noarch
python2-pycparser-2.14-10.fc26.noarch
python2-sphinx-theme-alabaster-0.7.9-3.fc26.noarch
python2-pysocks-1.6.7-1.fc26.noarch
lua-lpeg-1.0.1-2.fc26.s390x
poppler-0.52.0-10.fc26.s390x
libproxy-0.4.15-2.fc26.s390x
crontabs-1.11-14.20150630git.fc26.noarch
java-1.8.0-openjdk-headless-1.8.0.151-1.b12.fc26.s390x
libev-4.24-2.fc26.s390x
libsigsegv-2.11-1.fc26.s390x
fedora-cert-0.6.0.1-2.fc26.noarch
drpm-0.3.0-6.fc26.s390x
createrepo_c-libs-0.10.0-9.fc26.s390x
python2-cccolutils-1.5-3.fc26.s390x
m17n-lib-1.7.0-6.fc26.s390x
lsscsi-0.28-4.fc26.s390x
python2-koji-1.14.0-1.fc26.noarch
python3-koji-1.14.0-1.fc26.noarch
python3-gpg-1.8.0-12.fc26.s390x
sg3_utils-libs-1.42-1.fc26.s390x
SDL2-2.0.7-2.fc26.s390x
util-linux-2.30.2-1.fc26.s390x
rpcbind-0.2.4-8.rc2.fc26.s390x
s390utils-mon_statd-1.36.1-3.fc26.s390x
GConf2-3.2.6-17.fc26.s390x
systemd-container-233-7.fc26.s390x
usermode-1.111-9.fc26.s390x
pcre-utf32-8.41-3.fc26.s390x
libXt-1.1.5-4.fc26.s390x
libXpm-3.5.12-2.fc26.s390x
at-spi2-core-2.24.1-1.fc26.s390x
cairo-1.14.10-1.fc26.s390x
texlive-kpathsea-bin-svn40473-33.20160520.fc26.2.s390x
texlive-ifluatex-svn41346-33.fc26.2.noarch
texlive-babel-svn40706-33.fc26.2.noarch
texlive-colortbl-svn29803.v1.0a-33.fc26.2.noarch
texlive-marvosym-svn29349.2.2a-33.fc26.2.noarch
texlive-euler-svn17261.2.5-33.fc26.2.noarch
texlive-latexconfig-svn40274-33.fc26.2.noarch
texlive-plain-svn40274-33.fc26.2.noarch
texlive-texconfig-bin-svn29741.0-33.20160520.fc26.2.noarch
giflib-4.1.6-16.fc26.s390x
texlive-microtype-svn41127-33.fc26.2.noarch
texlive-eurosym-svn17265.1.4_subrfix-33.fc26.2.noarch
texlive-symbol-svn31835.0-33.fc26.2.noarch
texlive-chngcntr-svn17157.1.0a-33.fc26.2.noarch
texlive-euenc-svn19795.0.1h-33.fc26.2.noarch
texlive-luatex-svn40963-33.fc26.2.noarch
texlive-knuth-local-svn38627-33.fc26.2.noarch
texlive-mparhack-svn15878.1.4-33.fc26.2.noarch
texlive-rcs-svn15878.0-33.fc26.2.noarch
texlive-texlive-msg-translations-svn41431-33.fc26.2.noarch
texlive-updmap-map-svn41159-33.fc26.2.noarch
texlive-geometry-svn19716.5.6-33.fc26.2.noarch
texlive-memoir-svn41203-33.fc26.2.noarch
texlive-l3kernel-svn41246-33.fc26.2.noarch
texlive-pst-eps-svn15878.1.0-33.fc26.2.noarch
texlive-pst-text-svn15878.1.00-33.fc26.2.noarch
texlive-amscls-svn36804.0-33.fc26.2.noarch
texlive-pst-slpe-svn24391.1.31-33.fc26.2.noarch
texlive-extsizes-svn17263.1.4a-33.fc26.2.noarch
texlive-xetex-def-svn40327-33.fc26.2.noarch
texlive-collection-latex-svn41011-33.20160520.fc26.2.noarch
gstreamer1-plugins-base-1.12.3-1.fc26.s390x
fpc-srpm-macros-1.1-2.fc26.noarch
xorg-x11-proto-devel-7.7-22.fc26.noarch
urw-fonts-2.4-23.fc26.noarch
atk-devel-2.24.0-1.fc26.s390x
ImageMagick-libs-6.9.9.22-1.fc26.s390x
libxcb-devel-1.12-3.fc26.s390x
libXrandr-devel-1.5.1-2.fc26.s390x
libcom_err-devel-1.43.4-2.fc26.s390x
dbus-devel-1.11.18-1.fc26.s390x
libepoxy-devel-1.4.3-1.fc26.s390x
libicu-devel-57.1-7.fc26.s390x
p11-kit-devel-0.23.9-2.fc26.s390x
rpm-build-4.13.0.2-1.fc26.s390x
libssh2-devel-1.8.0-5.fc26.s390x
graphviz-2.40.1-4.fc26.s390x
zlib-static-1.2.11-2.fc26.s390x
mesa-libgbm-devel-17.2.4-2.fc26.s390x
dracut-config-rescue-046-3.1.fc26.s390x
screen-4.6.2-1.fc26.s390x
python-osbs-client-0.39.1-1.fc26.noarch
gcc-gdb-plugin-7.2.1-2.fc26.s390x
pyparsing-2.1.10-3.fc26.noarch
python3-pyasn1-0.2.3-1.fc26.noarch
python2-html5lib-0.999-13.fc26.noarch
teamd-1.27-1.fc26.s390x
hardlink-1.3-1.fc26.s390x
chrpath-0.16-4.fc26.s390x
libgcc-7.2.1-2.fc26.s390x
python-rpm-macros-3-20.fc26.noarch
texlive-pdftex-doc-svn41149-33.fc26.2.noarch
glibc-common-2.25-12.fc26.s390x
libstdc++-7.2.1-2.fc26.s390x
nspr-4.17.0-1.fc26.s390x
grep-3.1-1.fc26.s390x
libgcrypt-1.7.9-1.fc26.s390x
libacl-2.2.52-15.fc26.s390x
cpio-2.12-4.fc26.s390x
libatomic_ops-7.4.4-2.fc26.s390x
p11-kit-0.23.9-2.fc26.s390x
gc-7.6.0-2.fc26.s390x
psmisc-22.21-9.fc26.s390x
systemd-libs-233-7.fc26.s390x
xz-5.2.3-2.fc26.s390x
perl-libs-5.24.3-395.fc26.s390x
kmod-libs-24-1.fc26.s390x
libpcap-1.8.1-3.fc26.s390x
perl-macros-5.24.3-395.fc26.s390x
perl-parent-0.236-2.fc26.noarch
perl-Text-Unidecode-1.30-2.fc26.noarch
newt-0.52.20-1.fc26.s390x
libcomps-0.1.8-3.fc26.s390x
libfontenc-1.1.3-4.fc26.s390x
ipcalc-0.2.0-1.fc26.s390x
libnfnetlink-1.0.1-9.fc26.s390x
libref_array-0.1.5-34.fc26.s390x
perl-Term-Cap-1.17-366.fc26.noarch
perl-Digest-1.17-367.fc26.noarch
perl-SelfLoader-1.23-395.fc26.noarch
perl-Pod-Simple-3.35-2.fc26.noarch
perl-URI-1.71-6.fc26.noarch
cpp-7.2.1-2.fc26.s390x
attr-2.4.47-18.fc26.s390x
gmp-c++-6.1.2-4.fc26.s390x
xapian-core-libs-1.4.4-1.fc26.s390x
system-python-3.6.3-2.fc26.s390x
harfbuzz-icu-1.4.4-1.fc26.s390x
libtevent-0.9.34-1.fc26.s390x
http-parser-2.7.1-5.fc26.s390x
libsodium-1.0.14-1.fc26.s390x
python-gssapi-1.2.0-5.fc26.s390x
nss-softokn-3.34.0-1.0.fc26.s390x
gnupg2-2.2.3-1.fc26.s390x
nss-devel-3.34.0-1.0.fc26.s390x
vim-minimal-8.0.1360-1.fc26.s390x
perl-libnet-3.11-1.fc26.noarch
kernel-devel-4.13.16-202.fc26.s390x
python2-libs-2.7.14-4.fc26.s390x
libwayland-client-1.13.0-3.fc26.s390x
python3-dnf-2.7.5-2.fc26.noarch
glusterfs-fuse-3.10.8-1.fc26.s390x
pcre2-utf32-10.23-11.fc26.s390x
kernel-modules-4.14.8-200.fc26.s390x
pkgconf-pkg-config-1.3.12-1.fc26.s390x
NetworkManager-ppp-1.8.2-4.fc26.s390x
wayland-devel-1.13.0-3.fc26.s390x
kernel-4.14.8-200.fc26.s390x
boost-random-1.63.0-10.fc26.s390x
libmicrohttpd-0.9.58-1.fc26.s390x
mailx-12.5-24.fc26.s390x
NetworkManager-glib-1.8.2-4.fc26.s390x
libcroco-0.6.12-1.fc26.s390x
libssh2-1.8.0-5.fc26.s390x
json-glib-1.2.6-1.fc26.s390x
libevent-2.0.22-3.fc26.s390x
gdk-pixbuf2-modules-2.36.9-1.fc26.s390x
colord-libs-1.3.5-1.fc26.s390x
python3-magic-5.30-11.fc26.noarch
python3-gobject-base-3.24.1-1.fc26.s390x
python3-pyroute2-0.4.13-1.fc26.noarch
python3-pysocks-1.6.7-1.fc26.noarch
python2-click-6.7-3.fc26.noarch
python-munch-2.1.0-2.fc26.noarch
python2-ply-3.9-3.fc26.noarch
python2-snowballstemmer-1.2.1-3.fc26.noarch
python-magic-5.30-11.fc26.noarch
python-beautifulsoup4-4.6.0-1.fc26.noarch
python2-gitdb-2.0.3-1.fc26.noarch
librados-devel-10.2.7-2.fc26.s390x
libcacard-2.5.3-1.fc26.s390x
libmodman-2.0.1-13.fc26.s390x
zziplib-0.13.62-8.fc26.s390x
lksctp-tools-1.0.16-6.fc26.s390x
procmail-3.22-44.fc26.s390x
libthai-0.1.25-2.fc26.s390x
libpipeline-1.4.1-3.fc26.s390x
python2-pycurl-7.43.0-8.fc26.s390x
deltarpm-3.6-19.fc26.s390x
subversion-libs-1.9.7-1.fc26.s390x
python-krbV-1.0.90-13.fc26.s390x
m17n-db-1.7.0-8.fc26.noarch
linux-atm-libs-2.5.1-17.fc26.s390x
python2-rpm-4.13.0.2-1.fc26.s390x
python2-librepo-1.8.0-1.fc26.s390x
python2-dnf-plugins-core-2.1.5-1.fc26.noarch
qrencode-libs-3.4.4-1.fc26.s390x
s390utils-iucvterm-1.36.1-3.fc26.s390x
libsmartcols-2.30.2-1.fc26.s390x
dbus-1.11.18-1.fc26.s390x
systemd-udev-233-7.fc26.s390x
device-mapper-event-1.02.137-6.fc26.s390x
polkit-0.113-8.fc26.s390x
mock-1.4.7-2.fc26.noarch
libwmf-lite-0.2.8.4-53.fc26.s390x
libXcomposite-0.4.4-9.fc26.s390x
libXcursor-1.1.14-8.fc26.s390x
at-spi2-atk-2.24.1-1.fc26.s390x
pango-1.40.12-1.fc26.s390x
texlive-metafont-bin-svn40987-33.20160520.fc26.2.s390x
texlive-url-svn32528.3.4-33.fc26.2.noarch
texlive-fp-svn15878.0-33.fc26.2.noarch
texlive-latex-fonts-svn28888.0-33.fc26.2.noarch
texlive-mptopdf-bin-svn18674.0-33.20160520.fc26.2.noarch
texlive-fancybox-svn18304.1.4-33.fc26.2.noarch
texlive-lua-alt-getopt-svn29349.0.7.0-33.fc26.2.noarch
texlive-tex-bin-svn40987-33.20160520.fc26.2.s390x
texlive-texconfig-svn40768-33.fc26.2.noarch
texlive-wasy2-ps-svn35830.0-33.fc26.2.noarch
texlive-psfrag-svn15878.3.04-33.fc26.2.noarch
texlive-helvetic-svn31835.0-33.fc26.2.noarch
texlive-times-svn35058.0-33.fc26.2.noarch
texlive-cite-svn36428.5.5-33.fc26.2.noarch
texlive-fancyhdr-svn15878.3.1-33.fc26.2.noarch
texlive-luatex-bin-svn41091-33.20160520.fc26.2.s390x
texlive-lm-math-svn36915.1.959-33.fc26.2.noarch
texlive-ntgclass-svn15878.2.1a-33.fc26.2.noarch
texlive-sansmath-svn17997.1.1-33.fc26.2.noarch
texlive-textcase-svn15878.0-33.fc26.2.noarch
texlive-unicode-data-svn39808-33.fc26.2.noarch
texlive-breakurl-svn29901.1.40-33.fc26.2.noarch
texlive-latex-svn40218-33.fc26.2.noarch
texlive-lualatex-math-svn40621-33.fc26.2.noarch
texlive-pst-coil-svn37377.1.07-33.fc26.2.noarch
texlive-pst-plot-svn41242-33.fc26.2.noarch
texlive-unicode-math-svn38462-33.fc26.2.noarch
texlive-pst-blur-svn15878.2.0-33.fc26.2.noarch
texlive-cm-super-svn15878.0-33.fc26.2.noarch
texlive-wasysym-svn15878.2.0-33.fc26.2.noarch
texlive-collection-fontsrecommended-svn35830.0-33.20160520.fc26.2.noarch
libXv-1.0.11-2.fc26.s390x
ghc-srpm-macros-1.4.2-5.fc26.noarch
latex2html-2017.2-2.fc26.noarch
libXau-devel-1.0.8-7.fc26.s390x
libXcursor-devel-1.1.14-8.fc26.s390x
graphite2-devel-1.3.10-1.fc26.s390x
pixman-devel-0.34.0-3.fc26.s390x
wayland-protocols-devel-1.9-1.fc26.noarch
mesa-libGLES-devel-17.2.4-2.fc26.s390x
redhat-rpm-config-63-1.fc26.noarch
vte291-devel-0.48.4-1.fc26.s390x
ceph-devel-compat-10.2.7-2.fc26.s390x
lzo-devel-2.08-9.fc26.s390x
libiscsi-devel-1.15.0-3.fc26.s390x
libfdt-devel-1.4.5-1.fc26.s390x
dnsmasq-2.76-5.fc26.s390x
avahi-autoipd-0.6.32-7.fc26.s390x
rpm-plugin-systemd-inhibit-4.13.0.2-1.fc26.s390x
gcc-c++-7.2.1-2.fc26.s390x
python2-ndg_httpsclient-0.4.0-7.fc26.noarch
gettext-0.19.8.1-9.fc26.s390x
btrfs-progs-4.9.1-2.fc26.s390x
fedora-logos-26.0.1-1.fc26.s390x
dejagnu-1.6-2.fc26.noarch
libaio-devel-0.3.110-7.fc26.s390x
dos2unix-7.3.4-2.fc26.s390x
distribution-gpg-keys-1.15-1.fc26.noarch
python-sphinx-locale-1.5.5-1.fc26.noarch
python2-rpm-macros-3-20.fc26.noarch
libxml2-2.9.4-2.fc26.s390x
popt-1.16-12.fc26.s390x
tar-1.29-5.fc26.s390x
avahi-libs-0.6.32-7.fc26.s390x
m4-1.4.18-3.fc26.s390x
perl-Socket-2.024-2.fc26.s390x
perl-Time-Local-1.250-2.fc26.noarch
libmetalink-0.1.3-2.fc26.s390x
jbigkit-libs-2.1-6.fc26.s390x
netpbm-10.80.00-2.fc26.s390x
perl-Digest-MD5-2.55-3.fc26.s390x
perl-Getopt-Long-2.49.1-2.fc26.noarch
libglvnd-opengl-1.0.0-1.fc26.s390x
libattr-devel-2.4.47-18.fc26.s390x
teckit-2.5.1-16.fc26.s390x
python3-six-1.10.0-9.fc26.noarch
python3-libcomps-0.1.8-3.fc26.s390x
gtk-update-icon-cache-3.22.21-2.fc26.s390x
python3-3.6.3-2.fc26.s390x
python3-pyparsing-2.1.10-3.fc26.noarch
python2-markupsafe-0.23-13.fc26.s390x
python2-mock-2.0.0-4.fc26.noarch
python2-yubico-1.3.2-7.fc26.noarch
python2-smmap-2.0.3-1.fc26.noarch
librbd-devel-10.2.7-2.fc26.s390x
pigz-2.3.4-2.fc26.s390x
gcc-7.2.1-2.fc26.s390x
libnghttp2-1.21.1-1.fc26.s390x
cups-libs-2.2.2-7.fc26.s390x
libnfsidmap-0.27-1.fc26.s390x
ykpers-1.18.0-2.fc26.s390x
python3-librepo-1.8.0-1.fc26.s390x
systemtap-runtime-3.2-2.fc26.s390x
geoclue2-2.4.5-4.fc26.s390x
initscripts-9.72-1.fc26.s390x
plymouth-0.9.3-0.7.20160620git0e65b86c.fc26.s390x
ebtables-2.0.10-22.fc26.s390x
gssproxy-0.7.0-9.fc26.s390x
libXext-1.3.3-5.fc26.s390x
mesa-libEGL-17.2.4-2.fc26.s390x
texlive-texlive.infra-bin-svn40312-33.20160520.fc26.2.s390x
texlive-thumbpdf-svn34621.3.16-33.fc26.2.noarch
texlive-carlisle-svn18258.0-33.fc26.2.noarch
texlive-gsftopk-svn40768-33.fc26.2.noarch
texlive-pdftex-svn41149-33.fc26.2.noarch
texlive-crop-svn15878.1.5-33.fc26.2.noarch
texlive-pxfonts-svn15878.0-33.fc26.2.noarch
texlive-enctex-svn34957.0-33.fc26.2.noarch
texlive-kastrup-svn15878.0-33.fc26.2.noarch
texlive-pspicture-svn15878.0-33.fc26.2.noarch
texlive-varwidth-svn24104.0.92-33.fc26.2.noarch
texlive-currfile-svn40725-33.fc26.2.noarch
texlive-pst-grad-svn15878.1.06-33.fc26.2.noarch
texlive-latex-bin-svn41438-33.fc26.2.noarch
texlive-ltxmisc-svn21927.0-33.fc26.2.noarch
lasi-1.1.2-7.fc26.s390x
adwaita-icon-theme-3.24.0-2.fc26.noarch
xz-devel-5.2.3-2.fc26.s390x
xorg-x11-fonts-Type1-7.5-17.fc26.noarch
libXi-devel-1.7.9-2.fc26.s390x
at-spi2-atk-devel-2.24.1-1.fc26.s390x
pango-devel-1.40.12-1.fc26.s390x
libcacard-devel-2.5.3-1.fc26.s390x
libseccomp-devel-2.3.2-1.fc26.s390x
subversion-1.9.7-1.fc26.s390x
sudo-1.8.21p2-1.fc26.s390x
pykickstart-2.35-2.fc26.noarch
e2fsprogs-1.43.4-2.fc26.s390x
libstdc++-static-7.2.1-2.fc26.s390x
libbsd-0.8.3-3.fc26.s390x
c-ares-1.13.0-1.fc26.s390x
python2-pyxdg-0.25-12.fc26.noarch
nss-softokn-freebl-devel-3.34.0-1.0.fc26.s390x
python2-rpkg-1.51-2.fc26.noarch
strace-4.20-1.fc26.s390x
valgrind-3.13.0-12.fc26.s390x
libsss_idmap-1.16.0-4.fc26.s390x
gnutls-c++-3.5.16-4.fc26.s390x
libwayland-server-1.13.0-3.fc26.s390x
dhcp-client-4.3.5-10.fc26.s390x
bind-libs-9.11.1-4.P3.fc26.s390x
man-pages-4.09-4.fc26.noarch
gpg-pubkey-a29cb19c-53bcbba6
quota-nls-4.03-9.fc26.noarch
qt5-srpm-macros-5.8.0-2.fc26.noarch
xz-libs-5.2.3-2.fc26.s390x
gmp-6.1.2-4.fc26.s390x
audit-libs-2.8.1-1.fc26.s390x
file-5.30-11.fc26.s390x
libusbx-1.0.21-2.fc26.s390x
binutils-2.27-28.fc26.s390x
perl-Errno-1.25-395.fc26.s390x
perl-HTTP-Tiny-0.070-2.fc26.noarch
xml-common-0.6.3-45.fc26.noarch
opus-1.2.1-1.fc26.s390x
kernel-devel-4.13.13-200.fc26.s390x
perl-podlators-4.09-2.fc26.noarch
flac-libs-1.3.2-2.fc26.s390x
libacl-devel-2.2.52-15.fc26.s390x
coreutils-common-8.27-7.fc26.s390x
cracklib-2.9.6-5.fc26.s390x
pyliblzma-0.5.3-17.fc26.s390x
libnotify-0.7.7-2.fc26.s390x
python3-idna-2.5-1.fc26.noarch
python3-pyOpenSSL-16.2.0-6.fc26.noarch
python2-pbr-1.10.0-4.fc26.noarch
pyusb-1.0.0-4.fc26.noarch
python2-fedora-0.9.0-6.fc26.noarch
librbd1-10.2.7-2.fc26.s390x
pcre-cpp-8.41-3.fc26.s390x
glibc-devel-2.25-12.fc26.s390x
libnfs-1.9.8-3.fc26.s390x
libsolv-0.6.30-2.fc26.s390x
python3-pycurl-7.43.0-8.fc26.s390x
libyubikey-1.13-3.fc26.s390x
rpmlint-1.10-5.fc26.noarch
python2-pygpgme-0.3-22.fc26.s390x
s390utils-base-1.36.1-3.fc26.s390x
ppp-2.4.7-11.fc26.s390x
s390utils-cpuplugd-1.36.1-3.fc26.s390x
nfs-utils-2.1.1-6.rc6.fc26.s390x
libXrender-0.9.10-2.fc26.s390x
libglvnd-gles-1.0.0-1.fc26.s390x
texlive-texlive.infra-svn41280-33.fc26.2.noarch
texlive-lm-svn28119.2.004-33.fc26.2.noarch
texlive-babelbib-svn25245.1.31-33.fc26.2.noarch
texlive-index-svn24099.4.1beta-33.fc26.2.noarch
texlive-pdftex-bin-svn40987-33.20160520.fc26.2.s390x
texlive-csquotes-svn39538-33.fc26.2.noarch
texlive-rsfs-svn15878.0-33.fc26.2.noarch
texlive-etex-svn37057.0-33.fc26.2.noarch
texlive-knuth-lib-svn35820.0-33.fc26.2.noarch
texlive-pst-math-svn34786.0.63-33.fc26.2.noarch
texlive-utopia-svn15878.0-33.fc26.2.noarch
texlive-eso-pic-svn37925.2.0g-33.fc26.2.noarch
texlive-pst-fill-svn15878.1.01-33.fc26.2.noarch
texlive-latex-bin-bin-svn14050.0-33.20160520.fc26.2.noarch
texlive-jknapltx-svn19440.0-33.fc26.2.noarch
texlive-collection-latexrecommended-svn35765.0-33.20160520.fc26.2.noarch
adwaita-cursor-theme-3.24.0-2.fc26.noarch
xorg-x11-fonts-ISO8859-1-100dpi-7.5-17.fc26.noarch
libXcomposite-devel-0.4.4-9.fc26.s390x
at-spi2-core-devel-2.24.1-1.fc26.s390x
harfbuzz-devel-1.4.4-1.fc26.s390x
rpmdevtools-8.10-2.fc26.noarch
texi2html-5.0-5.fc26.noarch
libnfs-devel-1.9.8-3.fc26.s390x
firewalld-0.4.4.5-1.fc26.noarch
wpa_supplicant-2.6-12.fc26.s390x
systemtap-sdt-devel-3.2-2.fc26.s390x
newt-python-0.52.20-1.fc26.s390x
perl-Mozilla-CA-20160104-4.fc26.noarch
pth-2.0.7-28.fc26.s390x
python3-pyxdg-0.25-12.fc26.noarch
nss-softokn-devel-3.34.0-1.0.fc26.s390x
fedpkg-1.30-4.fc26.noarch
timedatex-0.4-3.fc26.s390x
libjpeg-turbo-1.5.3-1.fc26.s390x
glusterfs-cli-3.10.8-1.fc26.s390x
libsss_nss_idmap-1.16.0-4.fc26.s390x
gdb-8.0.1-33.fc26.s390x
dnf-yum-2.7.5-2.fc26.noarch
perl-Data-Dumper-2.161-3.fc26.s390x
python-async-0.6.1-9.fc22.s390x
poppler-data-0.4.7-7.fc26.noarch
ocaml-srpm-macros-4-2.fc26.noarch
libuuid-2.30.2-1.fc26.s390x
libgpg-error-1.25-2.fc26.s390x
libassuan-2.4.3-2.fc26.s390x
graphite2-1.3.10-1.fc26.s390x
perl-Text-Tabs+Wrap-2013.0523-366.fc26.noarch
perl-Error-0.17024-8.fc26.noarch
which-2.21-2.fc26.s390x
libXau-1.0.8-7.fc26.s390x
orc-0.4.27-1.fc26.s390x
perl-Pod-Perldoc-3.28-1.fc26.noarch
libsndfile-1.0.28-6.fc26.s390x
patch-2.7.5-4.fc26.s390x
gzip-1.8-2.fc26.s390x
python-ipaddress-1.0.16-4.fc26.noarch
yum-metadata-parser-1.1.4-18.fc26.s390x
python3-dbus-1.2.4-6.fc26.s390x
python3-cryptography-2.0.2-2.fc26.s390x
python3-kickstart-2.35-2.fc26.noarch
python2-imagesize-0.7.1-5.fc26.noarch
python2-jinja2-2.9.6-1.fc26.noarch
libradosstriper-devel-10.2.7-2.fc26.s390x
soundtouch-1.9.2-4.fc26.s390x
glibc-headers-2.25-12.fc26.s390x
libndp-1.6-2.fc26.s390x
rpm-4.13.0.2-1.fc26.s390x
rest-0.8.0-2.fc26.s390x
libvisual-0.4.0-21.fc26.s390x
python2-hawkey-0.11.1-1.fc26.s390x
dnf-plugins-core-2.1.5-1.fc26.noarch
fakeroot-libs-1.22-1.fc26.s390x
device-mapper-event-libs-1.02.137-6.fc26.s390x
cyrus-sasl-2.1.26-32.fc26.s390x
kernel-modules-4.13.13-200.fc26.s390x
cronie-anacron-1.5.1-5.fc26.s390x
libpath_utils-0.2.1-34.fc26.s390x
libX11-common-1.6.5-2.fc26.noarch
libXft-2.3.2-5.fc26.s390x
gtk2-2.24.31-4.fc26.s390x
texlive-etoolbox-svn38031.2.2a-33.fc26.2.noarch
texlive-multido-svn18302.1.42-33.fc26.2.noarch
texlive-glyphlist-svn28576.0-33.fc26.2.noarch
texlive-setspace-svn24881.6.7a-33.fc26.2.noarch
texlive-mathtools-svn38833-33.fc26.2.noarch
texlive-ncntrsbk-svn31835.0-33.fc26.2.noarch
texlive-dvisvgm-def-svn41011-33.fc26.2.noarch
texlive-ifetex-svn24853.1.2-33.fc26.2.noarch
texlive-parskip-svn19963.2.0-33.fc26.2.noarch
texlive-bera-svn20031.0-33.fc26.2.noarch
texlive-pgf-svn40966-33.fc26.2.noarch
texlive-auto-pst-pdf-svn23723.0.6-33.fc26.2.noarch
texlive-ctable-svn38672-33.fc26.2.noarch
texlive-typehtml-svn17134.0-33.fc26.2.noarch
mesa-libGLES-17.2.4-2.fc26.s390x
vte291-0.48.4-1.fc26.s390x
libdrm-devel-2.4.88-1.fc26.s390x
libcephfs_jni1-10.2.7-2.fc26.s390x
bzip2-devel-1.0.6-22.fc26.s390x
expat-devel-2.2.4-1.fc26.s390x
libsepol-devel-2.6-2.fc26.s390x
glib2-static-2.52.3-2.fc26.s390x
virglrenderer-devel-0.6.0-1.20170210git76b3da97b.fc26.s390x
yum-utils-1.1.31-512.fc26.noarch
parted-3.2-24.fc26.s390x
python3-beautifulsoup4-4.6.0-1.fc26.noarch
python-bunch-1.0.1-10.fc26.noarch
perl-Time-HiRes-1.9746-1.fc26.s390x
lz4-1.8.0-1.fc26.s390x
nss-util-3.34.0-1.0.fc26.s390x
openssh-clients-7.5p1-4.fc26.s390x
chrony-3.2-1.fc26.s390x
dnf-conf-2.7.5-2.fc26.noarch
glusterfs-server-3.10.8-1.fc26.s390x
sssd-client-1.16.0-4.fc26.s390x
man-db-2.7.6.1-8.fc26.s390x
bodhi-client-2.12.2-3.fc26.noarch
perl-Module-CoreList-5.20171120-1.fc26.noarch
hawkey-0.6.4-3.fc25.s390x
python-srpm-macros-3-20.fc26.noarch
perl-srpm-macros-1-21.fc26.noarch
expat-2.2.4-1.fc26.s390x
chkconfig-1.10-1.fc26.s390x
findutils-4.6.0-12.fc26.s390x
mesa-libwayland-egl-17.2.4-2.fc26.s390x
procps-ng-3.3.10-13.fc26.s390x
mesa-libglapi-17.2.4-2.fc26.s390x
perl-Unicode-Normalize-1.25-366.fc26.s390x
perl-IO-Socket-IP-0.39-1.fc26.noarch
hunspell-en-US-0.20140811.1-6.fc26.noarch
libxcb-1.12-3.fc26.s390x
libgo-devel-7.2.1-2.fc26.s390x
perl-Pod-Escapes-1.07-366.fc26.noarch
perl-Pod-Usage-1.69-2.fc26.noarch
libtheora-1.1.1-15.fc26.s390x
tcp_wrappers-7.6-85.fc26.s390x
coreutils-8.27-7.fc26.s390x
libmount-2.30.2-1.fc26.s390x
python2-iniparse-0.4-24.fc26.noarch
python2-decorator-4.0.11-2.fc26.noarch
ModemManager-glib-1.6.10-1.fc26.s390x
python3-decorator-4.0.11-2.fc26.noarch
python3-cffi-1.9.1-2.fc26.s390x
python-bugzilla-cli-2.1.0-1.fc26.noarch
python2-funcsigs-1.0.2-5.fc26.noarch
python2-babel-2.3.4-5.fc26.noarch
python-bugzilla-2.1.0-1.fc26.noarch
libradosstriper1-10.2.7-2.fc26.s390x
snappy-1.1.4-3.fc26.s390x
dtc-1.4.5-1.fc26.s390x
libmpcdec-1.2.6-17.fc26.s390x
rpm-libs-4.13.0.2-1.fc26.s390x
python-urlgrabber-3.10.1-11.fc26.noarch
sysfsutils-2.1.0-20.fc26.s390x
python3-hawkey-0.11.1-1.fc26.s390x
python3-dnf-plugins-core-2.1.5-1.fc26.noarch
ethtool-4.13-1.fc26.s390x
iputils-20161105-5.fc26.s390x
plymouth-scripts-0.9.3-0.7.20160620git0e65b86c.fc26.s390x
cronie-1.5.1-5.fc26.s390x
libini_config-1.3.1-34.fc26.s390x
libX11-1.6.5-2.fc26.s390x
libglvnd-egl-1.0.0-1.fc26.s390x
texlive-kpathsea-svn41139-33.fc26.2.noarch
texlive-thumbpdf-bin-svn6898.0-33.20160520.fc26.2.noarch
texlive-subfig-svn15878.1.3-33.fc26.2.noarch
texlive-gsftopk-bin-svn40473-33.20160520.fc26.2.s390x
texlive-tex-ini-files-svn40533-33.fc26.2.noarch
texlive-qstest-svn15878.0-33.fc26.2.noarch
texlive-palatino-svn31835.0-33.fc26.2.noarch
texlive-ec-svn25033.1.0-33.fc26.2.noarch
texlive-iftex-svn29654.0.2-33.fc26.2.noarch
texlive-pslatex-svn16416.0-33.fc26.2.noarch
texlive-algorithms-svn38085.0.1-33.fc26.2.noarch
texlive-filehook-svn24280.0.5d-33.fc26.2.noarch
texlive-pst-node-svn40743-33.fc26.2.noarch
texlive-rotating-svn16832.2.16b-33.fc26.2.noarch
texlive-seminar-svn34011.1.62-33.fc26.2.noarch
gtk3-3.22.21-2.fc26.s390x
libuuid-devel-2.30.2-1.fc26.s390x
java-1.8.0-openjdk-1.8.0.151-1.b12.fc26.s390x
libXinerama-devel-1.1.3-7.fc26.s390x
emacs-common-25.3-3.fc26.s390x
gtk3-devel-3.22.21-2.fc26.s390x
fedora-packager-0.6.0.1-2.fc26.noarch
libxml2-devel-2.9.4-2.fc26.s390x
snappy-devel-1.1.4-3.fc26.s390x
python2-dnf-plugin-migrate-2.1.5-1.fc26.noarch
authconfig-7.0.1-2.fc26.s390x
newt-python3-0.52.20-1.fc26.s390x
python-decoratortools-1.8-13.fc26.noarch
python-systemd-doc-234-1.fc26.s390x
openssl-libs-1.1.0g-1.fc26.s390x
git-core-2.13.6-2.fc26.s390x
python3-dnf-plugin-system-upgrade-2.0.4-1.fc26.noarch
glusterfs-libs-3.10.8-1.fc26.s390x
ca-certificates-2017.2.20-1.0.fc26.noarch
unbound-libs-1.6.7-1.fc26.s390x
libsss_certmap-1.16.0-4.fc26.s390x
glusterfs-api-devel-3.10.8-1.fc26.s390x
selinux-policy-targeted-3.13.1-260.17.fc26.noarch
publicsuffix-list-dafsa-20171028-1.fc26.noarch
gpg-pubkey-a0a7badb-52844296
gpg-pubkey-e372e838-56fd7943
gpg-pubkey-3b921d09-57a87096
google-roboto-slab-fonts-1.100263-0.5.20150923git.fc26.noarch
libreport-filesystem-2.9.1-3.fc26.s390x
glibc-all-langpacks-2.25-12.fc26.s390x
libcom_err-1.43.4-2.fc26.s390x
libffi-3.1-12.fc26.s390x
keyutils-libs-1.5.10-1.fc26.s390x
diffutils-3.5-3.fc26.s390x
apr-util-1.5.4-6.fc26.s390x
bluez-libs-5.46-6.fc26.s390x
libksba-1.3.5-3.fc26.s390x
ncurses-6.0-8.20170212.fc26.s390x
gsm-1.0.17-1.fc26.s390x
libteam-1.27-1.fc26.s390x
perl-Fedora-VSP-0.001-5.fc26.noarch
libusb-0.1.5-8.fc26.s390x
acl-2.2.52-15.fc26.s390x
dwz-0.12-3.fc26.s390x
libblkid-2.30.2-1.fc26.s390x
polkit-libs-0.113-8.fc26.s390x
dbus-python-1.2.4-6.fc26.s390x
gts-0.7.6-30.20121130.fc26.s390x
libfdisk-2.30.2-1.fc26.s390x
python3-pycparser-2.14-10.fc26.noarch
python3-bugzilla-2.1.0-1.fc26.noarch
python2-docutils-0.13.1-4.fc26.noarch
pytz-2016.10-4.fc26.noarch
python2-requests-2.13.0-1.fc26.noarch
libcephfs-devel-10.2.7-2.fc26.s390x
ncurses-c++-libs-6.0-8.20170212.fc26.s390x
GeoIP-1.6.11-1.fc26.s390x
liblockfile-1.09-5.fc26.s390x
rpm-plugin-selinux-4.13.0.2-1.fc26.s390x
systemtap-devel-3.2-2.fc26.s390x
libsysfs-2.1.0-20.fc26.s390x
libdnf-0.11.1-1.fc26.s390x
libgfortran-7.2.1-2.fc26.s390x
mesa-libgbm-17.2.4-2.fc26.s390x
dracut-046-3.1.fc26.s390x
lvm2-libs-2.02.168-6.fc26.s390x
libXfixes-5.0.3-2.fc26.s390x
brlapi-0.6.6-5.fc26.s390x
texlive-metafont-svn40793-33.fc26.2.noarch
texlive-graphics-cfg-svn40269-33.fc26.2.noarch
texlive-mptopdf-svn41282-33.fc26.2.noarch
texlive-makeindex-bin-svn40473-33.20160520.fc26.2.s390x
texlive-texlive-scripts-bin-svn29741.0-33.20160520.fc26.2.noarch
texlive-sauerj-svn15878.0-33.fc26.2.noarch
texlive-txfonts-svn15878.0-33.fc26.2.noarch
texlive-filecontents-svn24250.1.3-33.fc26.2.noarch
texlive-lualibs-svn40370-33.fc26.2.noarch
texlive-section-svn20180.0-33.fc26.2.noarch
texlive-ucharcat-svn38907-33.fc26.2.noarch
texlive-hyperref-svn41396-33.fc26.2.noarch
texlive-pst-3d-svn17257.1.10-33.fc26.2.noarch
texlive-oberdiek-svn41346-33.fc26.2.noarch
texlive-ae-svn15878.1.4-33.fc26.2.noarch
texlive-collection-basic-svn41149-33.20160520.fc26.2.noarch
gnat-srpm-macros-4-2.fc26.noarch
glib2-devel-2.52.3-2.fc26.s390x
netpbm-progs-10.80.00-2.fc26.s390x
libXxf86vm-devel-1.1.4-4.fc26.s390x
nettle-devel-3.3-2.fc26.s390x
cairo-gobject-devel-1.14.10-1.fc26.s390x
fedora-rpm-macros-26-2.fc26.noarch
elfutils-devel-0.169-1.fc26.s390x
libidn-devel-1.33-2.fc26.s390x
s390utils-1.36.1-3.fc26.s390x
gcc-gfortran-7.2.1-2.fc26.s390x
libtool-2.4.6-17.fc26.s390x
python3-cssselect-0.9.2-4.fc26.noarch
python2-cssselect-0.9.2-4.fc26.noarch
bison-3.0.4-6.fc26.s390x
rootfiles-8.1-20.fc26.noarch
git-core-doc-2.13.6-2.fc26.s390x
vim-enhanced-8.0.1360-1.fc26.s390x
glusterfs-3.10.8-1.fc26.s390x
boost-system-1.63.0-10.fc26.s390x
gnutls-dane-3.5.16-4.fc26.s390x
pkgconf-m4-1.3.12-1.fc26.noarch
libcurl-devel-7.53.1-13.fc26.s390x
python3-urllib3-1.20-2.fc26.noarch
libsss_autofs-1.16.0-4.fc26.s390x
=== TEST BEGIN ===
Using CC: /home/fam/bin/cc
Install prefix    /var/tmp/patchew-tester-tmp-bqc9j8f2/src/install
BIOS directory    /var/tmp/patchew-tester-tmp-bqc9j8f2/src/install/share/qemu
firmware path     /var/tmp/patchew-tester-tmp-bqc9j8f2/src/install/share/qemu-firmware
binary directory  /var/tmp/patchew-tester-tmp-bqc9j8f2/src/install/bin
library directory /var/tmp/patchew-tester-tmp-bqc9j8f2/src/install/lib
module directory  /var/tmp/patchew-tester-tmp-bqc9j8f2/src/install/lib/qemu
libexec directory /var/tmp/patchew-tester-tmp-bqc9j8f2/src/install/libexec
include directory /var/tmp/patchew-tester-tmp-bqc9j8f2/src/install/include
config directory  /var/tmp/patchew-tester-tmp-bqc9j8f2/src/install/etc
local state directory   /var/tmp/patchew-tester-tmp-bqc9j8f2/src/install/var
Manual directory  /var/tmp/patchew-tester-tmp-bqc9j8f2/src/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /var/tmp/patchew-tester-tmp-bqc9j8f2/src
GIT binary        git
GIT submodules    ui/keycodemapdb capstone
C compiler        /home/fam/bin/cc
Host C compiler   cc
C++ compiler      c++
Objective-C compiler /home/fam/bin/cc
ARFLAGS           rv
CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS       -I/usr/include/pixman-1   -Werror -DHAS_LIBSSH2_SFTP_FSYNC -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -DNCURSES_WIDECHAR -D_GNU_SOURCE -D_DEFAULT_SOURCE  -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv  -Wexpansion-to-defined -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/include/p11-kit-1     -I/usr/include/libpng16  -I/usr/include/libdrm   -I$(SRC_PATH)/capstone/include
LDFLAGS           -Wl,--warn-common -m64 -g 
make              make
install           install
python            python -B
smbd              /usr/sbin/smbd
module support    no
host CPU          s390x
host big endian   yes
target list       aarch64-softmmu alpha-softmmu arm-softmmu cris-softmmu hppa-softmmu i386-softmmu lm32-softmmu m68k-softmmu microblazeel-softmmu microblaze-softmmu mips64el-softmmu mips64-softmmu mipsel-softmmu mips-softmmu moxie-softmmu nios2-softmmu or1k-softmmu ppc64-softmmu ppcemb-softmmu ppc-softmmu s390x-softmmu sh4eb-softmmu sh4-softmmu sparc64-softmmu sparc-softmmu tricore-softmmu unicore32-softmmu x86_64-softmmu xtensaeb-softmmu xtensa-softmmu aarch64_be-linux-user aarch64-linux-user alpha-linux-user armeb-linux-user arm-linux-user cris-linux-user hppa-linux-user i386-linux-user m68k-linux-user microblazeel-linux-user microblaze-linux-user mips64el-linux-user mips64-linux-user mipsel-linux-user mips-linux-user mipsn32el-linux-user mipsn32-linux-user nios2-linux-user or1k-linux-user ppc64abi32-linux-user ppc64le-linux-user ppc64-linux-user ppc-linux-user s390x-linux-user sh4eb-linux-user sh4-linux-user sparc32plus-linux-user sparc64-linux-user sparc-linux-user tilegx-linux-user x86_64-linux-user
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
SDL support       yes (2.0.7)
GTK support       yes (3.22.21)
GTK GL support    yes
VTE support       yes (0.48.4)
TLS priority      NORMAL
GNUTLS support    yes
GNUTLS rnd        yes
libgcrypt         no
libgcrypt kdf     no
nettle            yes (3.3)
nettle kdf        yes
libtasn1          yes
curses support    yes
virgl support     yes
curl support      yes
mingw32 support   no
Audio drivers     oss
Block whitelist (rw) 
Block whitelist (ro) 
VirtFS support    yes
Multipath support no
VNC support       yes
VNC SASL support  yes
VNC JPEG support  yes
VNC PNG support   yes
xen support       no
brlapi support    yes
bluez  support    yes
Documentation     yes
PIE               no
vde support       no
netmap support    no
Linux AIO support yes
ATTR/XATTR support yes
Install blobs     yes
KVM support       yes
HAX support       no
HVF support       no
TCG support       yes
TCG debug enabled no
TCG interpreter   no
malloc trim support yes
RDMA support      no
fdt support       yes
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
libcap-ng support yes
vhost-net support yes
vhost-scsi support yes
vhost-vsock support yes
vhost-user support yes
Trace backends    log
spice support     no 
rbd support       yes
xfsctl support    no
smartcard support yes
libusb            yes
usb net redir     yes
OpenGL support    yes
OpenGL dmabufs    yes
libiscsi support  yes
libnfs support    yes
build guest agent yes
QGA VSS support   no
QGA w32 disk info no
QGA MSI support   no
seccomp support   yes
coroutine backend ucontext
coroutine pool    yes
debug stack usage no
crypto afalg      no
GlusterFS support yes
gcov              gcov
gcov enabled      no
TPM support       yes
libssh2 support   yes
TPM passthrough   no
TPM emulator      yes
QOM debugging     yes
Live block migration yes
lzo support       yes
snappy support    yes
bzip2 support     yes
NUMA host support no
libxml2           yes
tcmalloc support  no
jemalloc support  no
avx2 optimization no
replication support yes
VxHS block device no
capstone          git
vmbus support     yes
  GEN     aarch64-softmmu/config-devices.mak.tmp
  GEN     alpha-softmmu/config-devices.mak.tmp
  GEN     arm-softmmu/config-devices.mak.tmp
  GEN     cris-softmmu/config-devices.mak.tmp
  GEN     cris-softmmu/config-devices.mak
  GEN     hppa-softmmu/config-devices.mak.tmp
  GEN     alpha-softmmu/config-devices.mak
  GEN     arm-softmmu/config-devices.mak
  GEN     aarch64-softmmu/config-devices.mak
  GEN     i386-softmmu/config-devices.mak.tmp
  GEN     lm32-softmmu/config-devices.mak.tmp
  GEN     m68k-softmmu/config-devices.mak.tmp
  GEN     hppa-softmmu/config-devices.mak
  GEN     microblazeel-softmmu/config-devices.mak.tmp
  GEN     m68k-softmmu/config-devices.mak
  GEN     lm32-softmmu/config-devices.mak
  GEN     microblaze-softmmu/config-devices.mak.tmp
  GEN     i386-softmmu/config-devices.mak
  GEN     mips64el-softmmu/config-devices.mak.tmp
  GEN     mips64-softmmu/config-devices.mak.tmp
  GEN     microblaze-softmmu/config-devices.mak
  GEN     microblazeel-softmmu/config-devices.mak
  GEN     mipsel-softmmu/config-devices.mak.tmp
  GEN     mips-softmmu/config-devices.mak.tmp
  GEN     mips64el-softmmu/config-devices.mak
  GEN     mips64-softmmu/config-devices.mak
  GEN     moxie-softmmu/config-devices.mak.tmp
  GEN     nios2-softmmu/config-devices.mak.tmp
  GEN     nios2-softmmu/config-devices.mak
  GEN     or1k-softmmu/config-devices.mak.tmp
  GEN     mipsel-softmmu/config-devices.mak
  GEN     mips-softmmu/config-devices.mak
  GEN     moxie-softmmu/config-devices.mak
  GEN     ppc64-softmmu/config-devices.mak.tmp
  GEN     ppcemb-softmmu/config-devices.mak.tmp
  GEN     ppc-softmmu/config-devices.mak.tmp
  GEN     or1k-softmmu/config-devices.mak
  GEN     s390x-softmmu/config-devices.mak.tmp
  GEN     ppc64-softmmu/config-devices.mak
  GEN     sh4eb-softmmu/config-devices.mak.tmp
  GEN     ppc-softmmu/config-devices.mak
  GEN     ppcemb-softmmu/config-devices.mak
  GEN     s390x-softmmu/config-devices.mak
  GEN     sh4-softmmu/config-devices.mak.tmp
  GEN     sparc64-softmmu/config-devices.mak.tmp
  GEN     sparc-softmmu/config-devices.mak.tmp
  GEN     sh4eb-softmmu/config-devices.mak
  GEN     sparc-softmmu/config-devices.mak
  GEN     sparc64-softmmu/config-devices.mak
  GEN     tricore-softmmu/config-devices.mak.tmp
  GEN     unicore32-softmmu/config-devices.mak.tmp
  GEN     x86_64-softmmu/config-devices.mak.tmp
  GEN     sh4-softmmu/config-devices.mak
  GEN     xtensaeb-softmmu/config-devices.mak.tmp
  GEN     unicore32-softmmu/config-devices.mak
  GEN     tricore-softmmu/config-devices.mak
  GEN     xtensa-softmmu/config-devices.mak.tmp
  GEN     aarch64_be-linux-user/config-devices.mak.tmp
  GEN     x86_64-softmmu/config-devices.mak
  GEN     aarch64-linux-user/config-devices.mak.tmp
  GEN     xtensaeb-softmmu/config-devices.mak
  GEN     xtensa-softmmu/config-devices.mak
  GEN     alpha-linux-user/config-devices.mak.tmp
  GEN     aarch64_be-linux-user/config-devices.mak
  GEN     armeb-linux-user/config-devices.mak.tmp
  GEN     aarch64-linux-user/config-devices.mak
  GEN     arm-linux-user/config-devices.mak.tmp
  GEN     cris-linux-user/config-devices.mak.tmp
  GEN     alpha-linux-user/config-devices.mak
  GEN     hppa-linux-user/config-devices.mak.tmp
  GEN     armeb-linux-user/config-devices.mak
  GEN     arm-linux-user/config-devices.mak
  GEN     i386-linux-user/config-devices.mak.tmp
  GEN     cris-linux-user/config-devices.mak
  GEN     m68k-linux-user/config-devices.mak.tmp
  GEN     hppa-linux-user/config-devices.mak
  GEN     microblazeel-linux-user/config-devices.mak.tmp
  GEN     microblaze-linux-user/config-devices.mak.tmp
  GEN     i386-linux-user/config-devices.mak
  GEN     m68k-linux-user/config-devices.mak
  GEN     mips64el-linux-user/config-devices.mak.tmp
  GEN     microblazeel-linux-user/config-devices.mak
  GEN     mips64-linux-user/config-devices.mak.tmp
  GEN     microblaze-linux-user/config-devices.mak
  GEN     mipsel-linux-user/config-devices.mak.tmp
  GEN     mips-linux-user/config-devices.mak.tmp
  GEN     mips64el-linux-user/config-devices.mak
  GEN     mips64-linux-user/config-devices.mak
  GEN     mipsn32el-linux-user/config-devices.mak.tmp
  GEN     mips-linux-user/config-devices.mak
  GEN     mipsel-linux-user/config-devices.mak
  GEN     mipsn32-linux-user/config-devices.mak.tmp
  GEN     nios2-linux-user/config-devices.mak.tmp
  GEN     or1k-linux-user/config-devices.mak.tmp
  GEN     mipsn32-linux-user/config-devices.mak
  GEN     nios2-linux-user/config-devices.mak
  GEN     mipsn32el-linux-user/config-devices.mak
  GEN     ppc64abi32-linux-user/config-devices.mak.tmp
  GEN     or1k-linux-user/config-devices.mak
  GEN     ppc64-linux-user/config-devices.mak.tmp
  GEN     ppc64le-linux-user/config-devices.mak.tmp
  GEN     ppc64-linux-user/config-devices.mak
  GEN     ppc64le-linux-user/config-devices.mak
  GEN     ppc-linux-user/config-devices.mak.tmp
  GEN     ppc64abi32-linux-user/config-devices.mak
  GEN     s390x-linux-user/config-devices.mak.tmp
  GEN     sh4eb-linux-user/config-devices.mak.tmp
  GEN     sh4-linux-user/config-devices.mak.tmp
  GEN     s390x-linux-user/config-devices.mak
  GEN     ppc-linux-user/config-devices.mak
  GEN     sh4eb-linux-user/config-devices.mak
  GEN     sparc32plus-linux-user/config-devices.mak.tmp
  GEN     sparc64-linux-user/config-devices.mak.tmp
  GEN     sparc-linux-user/config-devices.mak.tmp
  GEN     sh4-linux-user/config-devices.mak
  GEN     tilegx-linux-user/config-devices.mak.tmp
  GEN     sparc64-linux-user/config-devices.mak
  GEN     sparc32plus-linux-user/config-devices.mak
  GEN     sparc-linux-user/config-devices.mak
  GEN     x86_64-linux-user/config-devices.mak.tmp
  GEN     tilegx-linux-user/config-devices.mak
  GEN     config-host.h
  GEN     x86_64-linux-user/config-devices.mak
  GIT     ui/keycodemapdb capstone
  GEN     qemu-options.def
  GEN     qmp-commands.h
  GEN     qapi-types.h
  GEN     qapi-visit.h
  GEN     qapi-event.h
  GEN     qmp-marshal.c
  GEN     qapi-types.c
  GEN     qapi-visit.c
  GEN     qapi-event.c
  GEN     qmp-introspect.h
  GEN     qmp-introspect.c
  GEN     trace/generated-tcg-tracers.h
  GEN     trace/generated-helpers-wrappers.h
  GEN     trace/generated-helpers.h
  GEN     trace/generated-helpers.c
  GEN     module_block.h
  GEN     tests/test-qapi-types.h
  GEN     tests/test-qapi-visit.h
Submodule 'capstone' (git://git.qemu.org/capstone.git) registered for path 'capstone'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb'
  GEN     tests/test-qmp-commands.h
  GEN     tests/test-qapi-event.h
Cloning into '/var/tmp/patchew-tester-tmp-bqc9j8f2/src/capstone'...
  GEN     tests/test-qmp-introspect.h
  GEN     trace-root.h
  GEN     util/trace.h
  GEN     crypto/trace.h
  GEN     io/trace.h
  GEN     migration/trace.h
  GEN     block/trace.h
  GEN     chardev/trace.h
  GEN     hw/block/trace.h
  GEN     hw/block/dataplane/trace.h
  GEN     hw/char/trace.h
  GEN     hw/intc/trace.h
  GEN     hw/net/trace.h
  GEN     hw/virtio/trace.h
  GEN     hw/audio/trace.h
  GEN     hw/misc/trace.h
  GEN     hw/usb/trace.h
  GEN     hw/scsi/trace.h
  GEN     hw/nvram/trace.h
  GEN     hw/display/trace.h
  GEN     hw/input/trace.h
  GEN     hw/timer/trace.h
  GEN     hw/dma/trace.h
  GEN     hw/sparc/trace.h
  GEN     hw/sparc64/trace.h
  GEN     hw/sd/trace.h
  GEN     hw/isa/trace.h
  GEN     hw/mem/trace.h
  GEN     hw/i386/trace.h
  GEN     hw/i386/xen/trace.h
  GEN     hw/9pfs/trace.h
  GEN     hw/ppc/trace.h
  GEN     hw/pci/trace.h
  GEN     hw/pci-host/trace.h
  GEN     hw/s390x/trace.h
  GEN     hw/vfio/trace.h
  GEN     hw/acpi/trace.h
  GEN     hw/arm/trace.h
  GEN     hw/alpha/trace.h
  GEN     hw/hppa/trace.h
  GEN     hw/xen/trace.h
  GEN     hw/ide/trace.h
  GEN     hw/vmbus/trace.h
  GEN     ui/trace.h
  GEN     audio/trace.h
  GEN     net/trace.h
  GEN     target/arm/trace.h
  GEN     target/i386/trace.h
  GEN     target/mips/trace.h
  GEN     target/sparc/trace.h
  GEN     target/s390x/trace.h
  GEN     target/ppc/trace.h
  GEN     qom/trace.h
  GEN     linux-user/trace.h
  GEN     qapi/trace.h
  GEN     accel/tcg/trace.h
  GEN     accel/kvm/trace.h
  GEN     nbd/trace.h
  GEN     scsi/trace.h
  GEN     trace-root.c
  GEN     util/trace.c
  GEN     crypto/trace.c
  GEN     io/trace.c
  GEN     migration/trace.c
  GEN     block/trace.c
  GEN     chardev/trace.c
  GEN     hw/block/trace.c
  GEN     hw/block/dataplane/trace.c
  GEN     hw/char/trace.c
  GEN     hw/intc/trace.c
  GEN     hw/net/trace.c
  GEN     hw/virtio/trace.c
  GEN     hw/audio/trace.c
  GEN     hw/misc/trace.c
  GEN     hw/usb/trace.c
  GEN     hw/scsi/trace.c
  GEN     hw/nvram/trace.c
  GEN     hw/display/trace.c
  GEN     hw/input/trace.c
  GEN     hw/timer/trace.c
  GEN     hw/dma/trace.c
  GEN     hw/sparc/trace.c
  GEN     hw/sparc64/trace.c
  GEN     hw/sd/trace.c
  GEN     hw/isa/trace.c
  GEN     hw/mem/trace.c
  GEN     hw/i386/trace.c
  GEN     hw/i386/xen/trace.c
  GEN     hw/9pfs/trace.c
  GEN     hw/ppc/trace.c
  GEN     hw/pci/trace.c
  GEN     hw/pci-host/trace.c
  GEN     hw/s390x/trace.c
  GEN     hw/vfio/trace.c
  GEN     hw/acpi/trace.c
  GEN     hw/arm/trace.c
  GEN     hw/alpha/trace.c
  GEN     hw/hppa/trace.c
  GEN     hw/xen/trace.c
  GEN     hw/ide/trace.c
  GEN     hw/vmbus/trace.c
  GEN     ui/trace.c
  GEN     audio/trace.c
  GEN     net/trace.c
  GEN     target/arm/trace.c
  GEN     target/i386/trace.c
  GEN     target/mips/trace.c
  GEN     target/sparc/trace.c
  GEN     target/s390x/trace.c
  GEN     target/ppc/trace.c
  GEN     qom/trace.c
  GEN     linux-user/trace.c
  GEN     qapi/trace.c
  GEN     accel/tcg/trace.c
  GEN     accel/kvm/trace.c
  GEN     nbd/trace.c
  GEN     scsi/trace.c
  GEN     config-all-devices.mak
Cloning into '/var/tmp/patchew-tester-tmp-bqc9j8f2/src/ui/keycodemapdb'...
  GEN     ui/input-keymap-atset1-to-qcode.c
  GEN     ui/input-keymap-linux-to-qcode.c
  GEN     ui/input-keymap-qcode-to-atset1.c
  CC      cs.o
  GEN     ui/input-keymap-qcode-to-atset2.c
  GEN     ui/input-keymap-qcode-to-atset3.c
  GEN     ui/input-keymap-qcode-to-linux.c
  GEN     ui/input-keymap-qcode-to-qnum.c
  GEN     ui/input-keymap-qcode-to-sun.c
  GEN     ui/input-keymap-qnum-to-qcode.c
  GEN     ui/input-keymap-usb-to-qcode.c
  GEN     ui/input-keymap-win32-to-qcode.c
  GEN     ui/input-keymap-x11-to-qcode.c
  GEN     ui/input-keymap-xorgevdev-to-qcode.c
  GEN     ui/input-keymap-xorgkbd-to-qcode.c
  GEN     ui/input-keymap-xorgxquartz-to-qcode.c
  CC      utils.o
  GEN     ui/input-keymap-xorgxwin-to-qcode.c
  CC      SStream.o
  CC      MCInstrDesc.o
  CC      MCRegisterInfo.o
  CC      arch/ARM/ARMDisassembler.o
  CC      arch/ARM/ARMInstPrinter.o
  CC      arch/ARM/ARMMapping.o
  CC      arch/ARM/ARMModule.o
  CC      arch/AArch64/AArch64BaseInfo.o
  CC      arch/AArch64/AArch64Disassembler.o
  CC      arch/AArch64/AArch64InstPrinter.o
  CC      arch/AArch64/AArch64Mapping.o
  CC      arch/AArch64/AArch64Module.o
  CC      arch/Mips/MipsDisassembler.o
  CC      arch/Mips/MipsInstPrinter.o
  CC      arch/Mips/MipsMapping.o
  CC      arch/Mips/MipsModule.o
  CC      arch/PowerPC/PPCDisassembler.o
  CC      arch/PowerPC/PPCInstPrinter.o
  CC      arch/PowerPC/PPCMapping.o
  CC      arch/PowerPC/PPCModule.o
  CC      arch/Sparc/SparcDisassembler.o
  CC      arch/Sparc/SparcInstPrinter.o
  CC      arch/Sparc/SparcMapping.o
  CC      arch/Sparc/SparcModule.o
  CC      arch/SystemZ/SystemZDisassembler.o
  CC      arch/SystemZ/SystemZInstPrinter.o
  CC      arch/SystemZ/SystemZMapping.o
  CC      arch/SystemZ/SystemZModule.o
  CC      arch/SystemZ/SystemZMCTargetDesc.o
  CC      arch/X86/X86DisassemblerDecoder.o
  CC      arch/X86/X86Disassembler.o
  CC      arch/X86/X86IntelInstPrinter.o
  CC      arch/X86/X86ATTInstPrinter.o
  CC      arch/X86/X86Mapping.o
  CC      arch/X86/X86Module.o
  CC      arch/XCore/XCoreDisassembler.o
  CC      arch/XCore/XCoreInstPrinter.o
  CC      arch/XCore/XCoreMapping.o
  CC      arch/XCore/XCoreModule.o
  CC      MCInst.o
  AR      libcapstone.a
ar: creating /var/tmp/patchew-tester-tmp-bqc9j8f2/src/build/capstone/libcapstone.a
  CC      tests/qemu-iotests/socket_scm_helper.o
  GEN     docs/version.texi
  GEN     qemu-options.texi
  GEN     qemu-monitor.texi
  GEN     qemu-img-cmds.texi
  GEN     qemu-monitor-info.texi
  GEN     qemu-nbd.8
  GEN     qemu-ga.8
  GEN     docs/interop/qemu-qmp-qapi.texi
  GEN     docs/interop/qemu-ga-qapi.texi
  GEN     docs/qemu-block-drivers.7
  GEN     fsdev/virtfs-proxy-helper.1
  GEN     qga/qapi-generated/qga-qapi-types.h
  GEN     qga/qapi-generated/qga-qapi-visit.h
  GEN     qga/qapi-generated/qga-qmp-commands.h
  GEN     qga/qapi-generated/qga-qapi-types.c
  GEN     qga/qapi-generated/qga-qapi-visit.c
  GEN     qga/qapi-generated/qga-qmp-marshal.c
  CC      qmp-introspect.o
  CC      qapi-types.o
  CC      qapi-visit.o
  CC      qapi-event.o
  CC      qapi/qapi-visit-core.o
  CC      qapi/qapi-dealloc-visitor.o
  CC      qapi/qobject-input-visitor.o
  CC      qapi/qobject-output-visitor.o
  CC      qapi/qmp-registry.o
  CC      qapi/qmp-dispatch.o
  CC      qapi/string-input-visitor.o
  CC      qapi/string-output-visitor.o
  CC      qapi/opts-visitor.o
  CC      qapi/qapi-clone-visitor.o
  CC      qapi/qmp-event.o
  CC      qapi/qapi-util.o
  CC      qobject/qnull.o
  CC      qobject/qnum.o
  CC      qobject/qstring.o
  CC      qobject/qdict.o
  CC      qobject/qlist.o
  CC      qobject/qbool.o
  CC      qobject/qlit.o
  CC      qobject/qjson.o
  CC      qobject/qobject.o
  CC      qobject/json-lexer.o
  CC      qobject/json-streamer.o
  CC      qobject/json-parser.o
  CC      trace/control.o
  CC      trace/qmp.o
  CC      util/osdep.o
  CC      util/cutils.o
  CC      util/unicode.o
  CC      util/qemu-timer-common.o
  CC      util/bufferiszero.o
  CC      util/lockcnt.o
  CC      util/aiocb.o
  CC      util/async.o
  CC      util/thread-pool.o
  CC      util/qemu-timer.o
  CC      util/main-loop.o
  CC      util/iohandler.o
  CC      util/aio-posix.o
  CC      util/compatfd.o
  CC      util/event_notifier-posix.o
  CC      util/mmap-alloc.o
  CC      util/oslib-posix.o
  CC      util/qemu-openpty.o
  CC      util/qemu-thread-posix.o
  CC      util/memfd.o
  CC      util/envlist.o
  CC      util/path.o
  CC      util/module.o
  CC      util/host-utils.o
  CC      util/bitmap.o
  CC      util/bitops.o
  CC      util/hbitmap.o
  CC      util/fifo8.o
  CC      util/acl.o
  CC      util/cacheinfo.o
  CC      util/error.o
  CC      util/qemu-error.o
  CC      util/id.o
  CC      util/iov.o
  CC      util/qemu-config.o
  CC      util/qemu-sockets.o
  CC      util/uri.o
  CC      util/notify.o
  CC      util/qemu-option.o
  CC      util/qemu-progress.o
  CC      util/keyval.o
  CC      util/hexdump.o
  CC      util/crc32c.o
  CC      util/uuid.o
  CC      util/throttle.o
  CC      util/getauxval.o
  CC      util/readline.o
  CC      util/rcu.o
  CC      util/qemu-coroutine.o
  CC      util/qemu-coroutine-lock.o
  CC      util/qemu-coroutine-io.o
  CC      util/qemu-coroutine-sleep.o
  CC      util/coroutine-ucontext.o
  CC      util/buffer.o
  CC      util/timed-average.o
  CC      util/base64.o
  CC      util/log.o
  CC      util/pagesize.o
  CC      util/qdist.o
  CC      util/qht.o
  CC      util/range.o
  CC      util/stats64.o
  CC      util/systemd.o
  CC      trace-root.o
  CC      util/trace.o
  CC      crypto/trace.o
  CC      io/trace.o
  CC      migration/trace.o
  CC      block/trace.o
  CC      chardev/trace.o
  CC      hw/block/trace.o
  CC      hw/block/dataplane/trace.o
  CC      hw/char/trace.o
  CC      hw/intc/trace.o
  CC      hw/net/trace.o
  CC      hw/virtio/trace.o
  CC      hw/audio/trace.o
  CC      hw/misc/trace.o
  CC      hw/usb/trace.o
  CC      hw/scsi/trace.o
  CC      hw/nvram/trace.o
  CC      hw/display/trace.o
  CC      hw/input/trace.o
  CC      hw/timer/trace.o
  CC      hw/dma/trace.o
  CC      hw/sparc/trace.o
  CC      hw/sparc64/trace.o
  CC      hw/sd/trace.o
  CC      hw/isa/trace.o
  CC      hw/mem/trace.o
  CC      hw/i386/trace.o
  CC      hw/i386/xen/trace.o
  CC      hw/9pfs/trace.o
  CC      hw/ppc/trace.o
  CC      hw/pci/trace.o
  CC      hw/pci-host/trace.o
  CC      hw/s390x/trace.o
  CC      hw/vfio/trace.o
  CC      hw/acpi/trace.o
  CC      hw/arm/trace.o
  CC      hw/alpha/trace.o
  CC      hw/hppa/trace.o
  CC      hw/xen/trace.o
  CC      hw/ide/trace.o
  CC      hw/vmbus/trace.o
  CC      ui/trace.o
  CC      audio/trace.o
  CC      net/trace.o
  CC      target/arm/trace.o
  CC      target/i386/trace.o
  CC      target/mips/trace.o
  CC      target/sparc/trace.o
  CC      target/s390x/trace.o
  CC      target/ppc/trace.o
  CC      qom/trace.o
  CC      linux-user/trace.o
  CC      qapi/trace.o
  CC      accel/tcg/trace.o
  CC      accel/kvm/trace.o
  CC      nbd/trace.o
  CC      scsi/trace.o
  CC      crypto/pbkdf-stub.o
  CC      stubs/arch-query-cpu-def.o
  CC      stubs/arch-query-cpu-model-expansion.o
  CC      stubs/arch-query-cpu-model-comparison.o
  CC      stubs/arch-query-cpu-model-baseline.o
  CC      stubs/bdrv-next-monitor-owned.o
  CC      stubs/blk-commit-all.o
  CC      stubs/blockdev-close-all-bdrv-states.o
  CC      stubs/clock-warp.o
  CC      stubs/cpu-get-clock.o
  CC      stubs/cpu-get-icount.o
  CC      stubs/dump.o
  CC      stubs/error-printf.o
  CC      stubs/fdset.o
  CC      stubs/gdbstub.o
  CC      stubs/get-vm-name.o
  CC      stubs/iothread.o
  CC      stubs/iothread-lock.o
  CC      stubs/is-daemonized.o
  CC      stubs/linux-aio.o
  CC      stubs/machine-init-done.o
  CC      stubs/migr-blocker.o
  CC      stubs/change-state-handler.o
  CC      stubs/monitor.o
  CC      stubs/notify-event.o
  CC      stubs/qtest.o
  CC      stubs/replay.o
  CC      stubs/runstate-check.o
  CC      stubs/set-fd-handler.o
  CC      stubs/slirp.o
  CC      stubs/sysbus.o
  CC      stubs/tpm.o
  CC      stubs/trace-control.o
  CC      stubs/uuid.o
  CC      stubs/vm-stop.o
  CC      stubs/vmstate.o
  CC      stubs/qmp_pc_dimm.o
  CC      stubs/target-monitor-defs.o
  CC      stubs/target-get-monitor-def.o
  CC      stubs/pc_madt_cpu_entry.o
  CC      stubs/vmgenid.o
  CC      stubs/xen-common.o
  CC      stubs/xen-hvm.o
  CC      stubs/pci-host-piix.o
  CC      qemu-keymap.o
  CC      ui/input-keymap.o
  CC      contrib/ivshmem-client/ivshmem-client.o
  CC      contrib/ivshmem-client/main.o
  CC      contrib/ivshmem-server/ivshmem-server.o
  CC      contrib/ivshmem-server/main.o
  CC      qemu-nbd.o
  CC      block.o
  CC      blockjob.o
  CC      qemu-io-cmds.o
  CC      replication.o
  CC      block/raw-format.o
  CC      block/qcow.o
  CC      block/vdi.o
  CC      block/vmdk.o
  CC      block/cloop.o
  CC      block/bochs.o
  CC      block/vpc.o
  CC      block/vvfat.o
  CC      block/dmg.o
  CC      block/qcow2.o
  CC      block/qcow2-refcount.o
  CC      block/qcow2-cluster.o
  CC      block/qcow2-snapshot.o
  CC      block/qcow2-cache.o
  CC      block/qcow2-bitmap.o
  CC      block/qed.o
  CC      block/qed-l2-cache.o
  CC      block/qed-table.o
  CC      block/qed-cluster.o
  CC      block/qed-check.o
  CC      block/vhdx.o
  CC      block/vhdx-endian.o
  CC      block/vhdx-log.o
  CC      block/quorum.o
  CC      block/parallels.o
  CC      block/blkdebug.o
  CC      block/blkverify.o
  CC      block/blkreplay.o
  CC      block/block-backend.o
  CC      block/snapshot.o
  CC      block/qapi.o
  CC      block/file-posix.o
  CC      block/linux-aio.o
  CC      block/null.o
  CC      block/mirror.o
  CC      block/commit.o
  CC      block/io.o
  CC      block/throttle-groups.o
  CC      block/nbd.o
  CC      block/nbd-client.o
  CC      block/sheepdog.o
  CC      block/iscsi-opts.o
  CC      block/accounting.o
  CC      block/dirty-bitmap.o
  CC      block/write-threshold.o
  CC      block/backup.o
  CC      block/replication.o
  CC      block/throttle.o
  CC      block/crypto.o
  CC      nbd/server.o
  CC      nbd/client.o
  CC      nbd/common.o
  CC      scsi/utils.o
  CC      scsi/pr-manager.o
  CC      scsi/pr-manager-helper.o
  CC      block/iscsi.o
  CC      block/nfs.o
  CC      block/curl.o
  CC      block/rbd.o
  CC      block/gluster.o
  CC      block/ssh.o
  CC      block/dmg-bz2.o
  CC      crypto/init.o
  CC      crypto/hash.o
  CC      crypto/hash-nettle.o
  CC      crypto/hmac.o
  CC      crypto/hmac-nettle.o
  CC      crypto/aes.o
  CC      crypto/desrfb.o
  CC      crypto/cipher.o
  CC      crypto/tlscreds.o
  CC      crypto/tlscredsanon.o
  CC      crypto/tlscredsx509.o
  CC      crypto/tlssession.o
  CC      crypto/secret.o
  CC      crypto/random-gnutls.o
  CC      crypto/pbkdf.o
  CC      crypto/pbkdf-nettle.o
  CC      crypto/ivgen.o
  CC      crypto/ivgen-essiv.o
  CC      crypto/ivgen-plain.o
  CC      crypto/ivgen-plain64.o
  CC      crypto/afsplit.o
  CC      crypto/xts.o
  CC      crypto/block.o
  CC      crypto/block-qcow.o
  CC      crypto/block-luks.o
  CC      io/channel.o
  CC      io/channel-buffer.o
  CC      io/channel-command.o
  CC      io/channel-file.o
  CC      io/channel-socket.o
  CC      io/channel-tls.o
  CC      io/channel-watch.o
  CC      io/channel-websock.o
  CC      io/channel-util.o
  CC      io/dns-resolver.o
  CC      io/net-listener.o
  CC      io/task.o
  CC      qom/object.o
  CC      qom/container.o
  CC      qom/qom-qobject.o
  CC      qom/object_interfaces.o
  GEN     qemu-img-cmds.h
  CC      qemu-io.o
  CC      fsdev/virtfs-proxy-helper.o
  CC      fsdev/9p-marshal.o
  CC      fsdev/9p-iov-marshal.o
  CC      scsi/qemu-pr-helper.o
  CC      qemu-bridge-helper.o
  CC      blockdev.o
  CC      blockdev-nbd.o
  CC      bootdevice.o
  CC      iothread.o
  CC      qdev-monitor.o
  CC      device-hotplug.o
  CC      os-posix.o
  CC      bt-host.o
  CC      bt-vhci.o
  CC      dma-helpers.o
  CC      vl.o
  CC      tpm.o
  CC      qemu-seccomp.o
  CC      device_tree.o
  CC      qmp-marshal.o
  CC      qmp.o
  CC      hmp.o
  CC      cpus-common.o
  CC      audio/audio.o
  CC      audio/noaudio.o
  CC      audio/wavaudio.o
  CC      audio/mixeng.o
  CC      audio/sdlaudio.o
  CC      audio/ossaudio.o
  CC      audio/wavcapture.o
  CC      backends/rng.o
  CC      backends/rng-egd.o
  CC      backends/rng-random.o
  CC      backends/tpm.o
  CC      backends/hostmem.o
  CC      backends/hostmem-ram.o
  CC      backends/hostmem-file.o
  CC      backends/cryptodev.o
  CC      backends/cryptodev-builtin.o
  CC      block/stream.o
  CC      chardev/msmouse.o
  CC      chardev/wctablet.o
  CC      chardev/testdev.o
  CC      chardev/baum.o
  CC      disas/alpha.o
  CC      disas/arm.o
  CXX     disas/arm-a64.o
  CC      disas/cris.o
  CC      disas/hppa.o
  CC      disas/i386.o
  CC      disas/m68k.o
  CC      disas/microblaze.o
  CC      disas/mips.o
  CC      disas/nios2.o
  CC      disas/moxie.o
  CC      disas/ppc.o
  CC      disas/s390.o
  CC      disas/sh4.o
  CC      disas/sparc.o
  CC      disas/lm32.o
  CC      disas/xtensa.o
  CXX     disas/libvixl/vixl/utils.o
  CXX     disas/libvixl/vixl/compiler-intrinsics.o
  CXX     disas/libvixl/vixl/a64/instructions-a64.o
  CXX     disas/libvixl/vixl/a64/decoder-a64.o
  CXX     disas/libvixl/vixl/a64/disasm-a64.o
  CC      fsdev/qemu-fsdev.o
  CC      fsdev/qemu-fsdev-opts.o
  CC      fsdev/qemu-fsdev-throttle.o
  CC      fsdev/qemu-fsdev-dummy.o
  CC      hw/9pfs/9p.o
  CC      hw/9pfs/9p-util.o
  CC      hw/9pfs/9p-local.o
  CC      hw/9pfs/9p-xattr.o
  CC      hw/9pfs/9p-xattr-user.o
  CC      hw/9pfs/9p-posix-acl.o
  CC      hw/9pfs/coth.o
  CC      hw/9pfs/cofs.o
  CC      hw/9pfs/codir.o
  CC      hw/9pfs/cofile.o
  CC      hw/9pfs/coxattr.o
  CC      hw/9pfs/9p-synth.o
  CC      hw/9pfs/9p-handle.o
  CC      hw/9pfs/9p-proxy.o
  CC      hw/acpi/core.o
  CC      hw/acpi/piix4.o
  CC      hw/acpi/pcihp.o
  CC      hw/acpi/ich9.o
  CC      hw/acpi/tco.o
  CC      hw/acpi/cpu_hotplug.o
  CC      hw/acpi/memory_hotplug.o
  CC      hw/acpi/cpu.o
  CC      hw/acpi/nvdimm.o
  CC      hw/acpi/vmgenid.o
  CC      hw/acpi/acpi_interface.o
  CC      hw/acpi/bios-linker-loader.o
  CC      hw/acpi/aml-build.o
  CC      hw/acpi/ipmi.o
  CC      hw/acpi/acpi-stub.o
  CC      hw/acpi/ipmi-stub.o
  CC      hw/audio/sb16.o
  CC      hw/audio/es1370.o
  CC      hw/audio/ac97.o
  CC      hw/audio/fmopl.o
  CC      hw/audio/adlib.o
  CC      hw/audio/gus.o
  CC      hw/audio/gusemu_hal.o
  CC      hw/audio/gusemu_mixer.o
  CC      hw/audio/cs4231a.o
  CC      hw/audio/intel-hda.o
  CC      hw/audio/hda-codec.o
  CC      hw/audio/pcspk.o
  CC      hw/audio/wm8750.o
  CC      hw/audio/pl041.o
  CC      hw/audio/lm4549.o
  CC      hw/audio/cs4231.o
  CC      hw/audio/marvell_88w8618.o
  CC      hw/audio/milkymist-ac97.o
  CC      hw/audio/soundhw.o
  CC      hw/block/block.o
  CC      hw/block/cdrom.o
  CC      hw/block/hd-geometry.o
  CC      hw/block/fdc.o
  CC      hw/block/m25p80.o
  CC      hw/block/nand.o
  CC      hw/block/pflash_cfi01.o
  CC      hw/block/pflash_cfi02.o
  CC      hw/block/ecc.o
  CC      hw/block/onenand.o
  CC      hw/block/nvme.o
  CC      hw/bt/core.o
  CC      hw/bt/l2cap.o
  CC      hw/bt/sdp.o
  CC      hw/bt/hci.o
  CC      hw/bt/hid.o
  CC      hw/bt/hci-csr.o
  CC      hw/char/ipoctal232.o
  CC      hw/char/escc.o
  CC      hw/char/parallel.o
  CC      hw/char/pl011.o
  CC      hw/char/serial.o
  CC      hw/char/serial-isa.o
  CC      hw/char/serial-pci.o
  CC      hw/char/virtio-console.o
  CC      hw/char/xilinx_uartlite.o
  CC      hw/char/cadence_uart.o
  CC      hw/char/cmsdk-apb-uart.o
  CC      hw/char/etraxfs_ser.o
  CC      hw/char/debugcon.o
  CC      hw/char/grlib_apbuart.o
  CC      hw/char/imx_serial.o
  CC      hw/char/lm32_juart.o
  CC      hw/char/lm32_uart.o
  CC      hw/char/milkymist-uart.o
  CC      hw/char/sclpconsole.o
  CC      hw/char/sclpconsole-lm.o
  CC      hw/core/qdev.o
  CC      hw/core/qdev-properties.o
  CC      hw/core/bus.o
  CC      hw/core/reset.o
  CC      hw/core/qdev-fw.o
  CC      hw/core/fw-path-provider.o
  CC      hw/core/irq.o
  CC      hw/core/hotplug.o
  CC      hw/core/nmi.o
  CC      hw/core/empty_slot.o
  CC      hw/core/stream.o
  CC      hw/core/ptimer.o
  CC      hw/core/sysbus.o
  CC      hw/core/machine.o
  CC      hw/core/loader.o
  CC      hw/core/loader-fit.o
  CC      hw/core/qdev-properties-system.o
  CC      hw/core/register.o
  CC      hw/core/or-irq.o
  CC      hw/core/platform-bus.o
  CC      hw/cpu/core.o
  CC      hw/display/ads7846.o
  CC      hw/display/cirrus_vga.o
  CC      hw/display/g364fb.o
  CC      hw/display/jazz_led.o
  CC      hw/display/pl110.o
  CC      hw/display/ssd0303.o
  CC      hw/display/ssd0323.o
  CC      hw/display/vga-pci.o
  CC      hw/display/vga-isa.o
  CC      hw/display/vga-isa-mm.o
  CC      hw/display/vmware_vga.o
  CC      hw/display/blizzard.o
  CC      hw/display/exynos4210_fimd.o
  CC      hw/display/framebuffer.o
  CC      hw/display/milkymist-vgafb.o
  CC      hw/display/tc6393xb.o
  CC      hw/display/milkymist-tmu2.o
  CC      hw/dma/puv3_dma.o
  CC      hw/dma/rc4030.o
  CC      hw/dma/pl080.o
  CC      hw/dma/pl330.o
  CC      hw/dma/i82374.o
  CC      hw/dma/i8257.o
  CC      hw/dma/xilinx_axidma.o
  CC      hw/dma/xlnx-zynq-devcfg.o
  CC      hw/dma/etraxfs_dma.o
  CC      hw/dma/sparc32_dma.o
  CC      hw/gpio/max7310.o
  CC      hw/gpio/pl061.o
  CC      hw/gpio/puv3_gpio.o
  CC      hw/gpio/zaurus.o
  CC      hw/gpio/mpc8xxx.o
  CC      hw/gpio/gpio_key.o
  CC      hw/i2c/core.o
  CC      hw/i2c/smbus.o
  CC      hw/i2c/smbus_eeprom.o
  CC      hw/i2c/i2c-ddc.o
  CC      hw/i2c/versatile_i2c.o
  CC      hw/i2c/smbus_ich9.o
  CC      hw/i2c/pm_smbus.o
  CC      hw/i2c/bitbang_i2c.o
  CC      hw/i2c/exynos4210_i2c.o
  CC      hw/i2c/imx_i2c.o
  CC      hw/i2c/aspeed_i2c.o
  CC      hw/ide/core.o
  CC      hw/ide/atapi.o
  CC      hw/ide/qdev.o
  CC      hw/ide/pci.o
  CC      hw/ide/isa.o
  CC      hw/ide/piix.o
  CC      hw/ide/cmd646.o
  CC      hw/ide/macio.o
  CC      hw/ide/mmio.o
  CC      hw/ide/via.o
  CC      hw/ide/microdrive.o
  CC      hw/ide/ahci.o
  CC      hw/ide/ich.o
  CC      hw/ide/ahci-allwinner.o
  CC      hw/ide/sii3112.o
  CC      hw/input/adb.o
  CC      hw/input/adb-mouse.o
  CC      hw/input/adb-kbd.o
  CC      hw/input/hid.o
  CC      hw/input/lm832x.o
  CC      hw/input/pckbd.o
  CC      hw/input/pl050.o
  CC      hw/input/ps2.o
  CC      hw/input/stellaris_input.o
  CC      hw/input/tsc2005.o
  CC      hw/input/virtio-input.o
  CC      hw/input/virtio-input-hid.o
  CC      hw/input/virtio-input-host.o
  CC      hw/intc/heathrow_pic.o
  CC      hw/intc/i8259_common.o
  CC      hw/intc/i8259.o
  CC      hw/intc/pl190.o
  CC      hw/intc/puv3_intc.o
  CC      hw/intc/xilinx_intc.o
  CC      hw/intc/xlnx-pmu-iomod-intc.o
  CC      hw/intc/xlnx-zynqmp-ipi.o
  CC      hw/intc/etraxfs_pic.o
  CC      hw/intc/imx_avic.o
  CC      hw/intc/lm32_pic.o
  CC      hw/intc/realview_gic.o
  CC      hw/intc/slavio_intctl.o
  CC      hw/intc/ioapic_common.o
  CC      hw/intc/arm_gic_common.o
  CC      hw/intc/arm_gic.o
  CC      hw/intc/arm_gicv2m.o
  CC      hw/intc/arm_gicv3_common.o
  CC      hw/intc/arm_gicv3.o
  CC      hw/intc/arm_gicv3_dist.o
  CC      hw/intc/arm_gicv3_redist.o
  CC      hw/intc/arm_gicv3_its_common.o
  CC      hw/intc/openpic.o
  CC      hw/intc/intc.o
  CC      hw/ipack/ipack.o
  CC      hw/ipack/tpci200.o
  CC      hw/ipmi/ipmi.o
  CC      hw/ipmi/ipmi_bmc_sim.o
  CC      hw/ipmi/ipmi_bmc_extern.o
  CC      hw/ipmi/isa_ipmi_kcs.o
  CC      hw/ipmi/isa_ipmi_bt.o
  CC      hw/isa/isa-bus.o
  CC      hw/isa/apm.o
  CC      hw/isa/i82378.o
  CC      hw/isa/pc87312.o
  CC      hw/isa/piix4.o
  CC      hw/isa/vt82c686.o
  CC      hw/mem/pc-dimm.o
  CC      hw/mem/nvdimm.o
  CC      hw/misc/applesmc.o
  CC      hw/misc/max111x.o
  CC      hw/misc/tmp105.o
  CC      hw/misc/tmp421.o
  CC      hw/misc/debugexit.o
  CC      hw/misc/sga.o
  CC      hw/misc/pc-testdev.o
  CC      hw/misc/pci-testdev.o
  CC      hw/misc/edu.o
  CC      hw/misc/unimp.o
  CC      hw/misc/vmcoreinfo.o
  CC      hw/misc/arm_l2x0.o
  CC      hw/misc/arm_integrator_debug.o
  CC      hw/misc/a9scu.o
  CC      hw/misc/arm11scu.o
  CC      hw/misc/puv3_pm.o
  CC      hw/misc/macio/macio.o
  CC      hw/misc/macio/cuda.o
  CC      hw/misc/macio/mac_dbdma.o
  CC      hw/net/dp8393x.o
  CC      hw/net/ne2000.o
  CC      hw/net/eepro100.o
  CC      hw/net/pcnet-pci.o
  CC      hw/net/pcnet.o
  CC      hw/net/e1000.o
  CC      hw/net/e1000x_common.o
  CC      hw/net/net_tx_pkt.o
  CC      hw/net/net_rx_pkt.o
  CC      hw/net/e1000e.o
  CC      hw/net/e1000e_core.o
  CC      hw/net/rtl8139.o
  CC      hw/net/vmxnet3.o
  CC      hw/net/smc91c111.o
  CC      hw/net/lan9118.o
  CC      hw/net/ne2000-isa.o
  CC      hw/net/opencores_eth.o
  CC      hw/net/xgmac.o
  CC      hw/net/mipsnet.o
  CC      hw/net/xilinx_axienet.o
  CC      hw/net/allwinner_emac.o
  CC      hw/net/imx_fec.o
  CC      hw/net/cadence_gem.o
  CC      hw/net/stellaris_enet.o
  CC      hw/net/lance.o
  CC      hw/net/sunhme.o
  CC      hw/net/ftgmac100.o
  CC      hw/net/sungem.o
  CC      hw/net/rocker/rocker.o
  CC      hw/net/rocker/rocker_fp.o
  CC      hw/net/rocker/rocker_desc.o
  CC      hw/net/rocker/rocker_world.o
  CC      hw/net/rocker/rocker_of_dpa.o
  CC      hw/nvram/ds1225y.o
  CC      hw/nvram/eeprom93xx.o
  CC      hw/nvram/eeprom_at24c.o
  CC      hw/nvram/fw_cfg.o
  CC      hw/nvram/chrp_nvram.o
  CC      hw/nvram/mac_nvram.o
  CC      hw/pci-bridge/pci_bridge_dev.o
  CC      hw/pci-bridge/pcie_root_port.o
  CC      hw/pci-bridge/gen_pcie_root_port.o
  CC      hw/pci-bridge/pcie_pci_bridge.o
  CC      hw/pci-bridge/pci_expander_bridge.o
  CC      hw/pci-bridge/xio3130_upstream.o
  CC      hw/pci-bridge/xio3130_downstream.o
  CC      hw/pci-bridge/ioh3420.o
  CC      hw/pci-bridge/i82801b11.o
  CC      hw/pci-bridge/dec.o
  CC      hw/pci-bridge/simba.o
  CC      hw/pci-host/pam.o
  CC      hw/pci-host/prep.o
  CC      hw/pci-host/grackle.o
  CC      hw/pci-host/uninorth.o
  CC      hw/pci-host/ppce500.o
  CC      hw/pci-host/versatile.o
  CC      hw/pci-host/sabre.o
  CC      hw/pci-host/bonito.o
  CC      hw/pci-host/piix.o
  CC      hw/pci-host/q35.o
  CC      hw/pci-host/gpex.o
  CC      hw/pci-host/xilinx-pcie.o
  CC      hw/pci/pci.o
  CC      hw/pci/pci_bridge.o
  CC      hw/pci/msix.o
  CC      hw/pci/msi.o
  CC      hw/pci/shpc.o
  CC      hw/pci/slotid_cap.o
  CC      hw/pci/pci_host.o
  CC      hw/pci/pcie_host.o
  CC      hw/pci/pcie.o
  CC      hw/pci/pcie_aer.o
  CC      hw/pci/pcie_port.o
  CC      hw/pci/pci-stub.o
  CC      hw/pcmcia/pcmcia.o
  CC      hw/scsi/scsi-disk.o
  CC      hw/scsi/scsi-generic.o
  CC      hw/scsi/scsi-bus.o
  CC      hw/scsi/lsi53c895a.o
  CC      hw/scsi/mptsas.o
  CC      hw/scsi/mptconfig.o
  CC      hw/scsi/mptendian.o
  CC      hw/scsi/megasas.o
  CC      hw/scsi/vmw_pvscsi.o
  CC      hw/scsi/esp.o
  CC      hw/scsi/esp-pci.o
  CC      hw/sd/pl181.o
  CC      hw/sd/ssi-sd.o
  CC      hw/sd/sd.o
  CC      hw/sd/core.o
  CC      hw/sd/sdhci.o
  CC      hw/smbios/smbios.o
  CC      hw/smbios/smbios_type_38.o
  CC      hw/smbios/smbios-stub.o
  CC      hw/smbios/smbios_type_38-stub.o
  CC      hw/ssi/pl022.o
  CC      hw/ssi/ssi.o
  CC      hw/ssi/xilinx_spi.o
  CC      hw/ssi/xilinx_spips.o
  CC      hw/ssi/aspeed_smc.o
  CC      hw/ssi/stm32f2xx_spi.o
  CC      hw/ssi/mss-spi.o
  CC      hw/timer/arm_timer.o
  CC      hw/timer/arm_mptimer.o
  CC      hw/timer/armv7m_systick.o
  CC      hw/timer/a9gtimer.o
  CC      hw/timer/cadence_ttc.o
  CC      hw/timer/ds1338.o
  CC      hw/timer/hpet.o
  CC      hw/timer/i8254_common.o
  CC      hw/timer/i8254.o
  CC      hw/timer/m48t59.o
  CC      hw/timer/m48t59-isa.o
  CC      hw/timer/pl031.o
  CC      hw/timer/puv3_ost.o
  CC      hw/timer/twl92230.o
  CC      hw/timer/xilinx_timer.o
  CC      hw/timer/slavio_timer.o
  CC      hw/timer/etraxfs_timer.o
  CC      hw/timer/grlib_gptimer.o
  CC      hw/timer/imx_epit.o
  CC      hw/timer/imx_gpt.o
  CC      hw/timer/lm32_timer.o
  CC      hw/timer/milkymist-sysctl.o
  CC      hw/timer/stm32f2xx_timer.o
  CC      hw/timer/aspeed_timer.o
  CC      hw/timer/sun4v-rtc.o
  CC      hw/timer/cmsdk-apb-timer.o
  CC      hw/timer/mss-timer.o
  CC      hw/tpm/tpm_util.o
  CC      hw/tpm/tpm_tis.o
  CC      hw/tpm/tpm_crb.o
  CC      hw/tpm/tpm_emulator.o
  CC      hw/usb/core.o
  CC      hw/usb/combined-packet.o
  CC      hw/usb/bus.o
  CC      hw/usb/libhw.o
  CC      hw/usb/desc.o
  CC      hw/usb/desc-msos.o
  CC      hw/usb/hcd-uhci.o
  CC      hw/usb/hcd-ohci.o
  CC      hw/usb/hcd-ehci.o
  CC      hw/usb/hcd-ehci-pci.o
  CC      hw/usb/hcd-ehci-sysbus.o
  CC      hw/usb/hcd-xhci.o
  CC      hw/usb/hcd-xhci-nec.o
  CC      hw/usb/hcd-musb.o
  CC      hw/usb/dev-hub.o
  CC      hw/usb/dev-hid.o
  CC      hw/usb/dev-wacom.o
  CC      hw/usb/dev-storage.o
  CC      hw/usb/dev-uas.o
  CC      hw/usb/dev-audio.o
  CC      hw/usb/dev-serial.o
  CC      hw/usb/dev-network.o
  CC      hw/usb/dev-bluetooth.o
  CC      hw/usb/dev-smartcard-reader.o
  CC      hw/usb/ccid-card-passthru.o
  CC      hw/usb/ccid-card-emulated.o
  CC      hw/usb/dev-mtp.o
  CC      hw/usb/redirect.o
  CC      hw/usb/quirks.o
  CC      hw/usb/host-libusb.o
  CC      hw/usb/host-stub.o
  CC      hw/virtio/virtio-rng.o
  CC      hw/virtio/virtio-pci.o
  CC      hw/virtio/virtio-bus.o
  CC      hw/virtio/virtio-mmio.o
  CC      hw/virtio/vhost-stub.o
  CC      hw/watchdog/watchdog.o
  CC      hw/watchdog/wdt_i6300esb.o
  CC      hw/watchdog/wdt_ib700.o
  CC      hw/watchdog/wdt_diag288.o
  CC      hw/watchdog/wdt_aspeed.o
  CC      migration/migration.o
  CC      migration/socket.o
  CC      migration/fd.o
  CC      migration/exec.o
  CC      migration/tls.o
  CC      migration/channel.o
  CC      migration/savevm.o
  CC      migration/colo-comm.o
  CC      migration/colo.o
  CC      migration/colo-failover.o
  CC      migration/vmstate.o
  CC      migration/vmstate-types.o
  CC      migration/page_cache.o
  CC      migration/qemu-file.o
  CC      migration/global_state.o
  CC      migration/qemu-file-channel.o
  CC      migration/xbzrle.o
  CC      migration/postcopy-ram.o
  CC      migration/qjson.o
  CC      migration/block.o
  CC      net/net.o
  CC      net/queue.o
  CC      net/checksum.o
  CC      net/util.o
  CC      net/hub.o
  CC      net/socket.o
  CC      net/dump.o
  CC      net/eth.o
  CC      net/l2tpv3.o
  CC      net/vhost-user.o
  CC      net/slirp.o
  CC      net/filter.o
  CC      net/filter-buffer.o
  CC      net/filter-mirror.o
  CC      net/colo-compare.o
  CC      net/colo.o
  CC      net/filter-rewriter.o
  CC      net/filter-replay.o
  CC      net/tap.o
  CC      net/tap-linux.o
  CC      qom/cpu.o
  CC      replay/replay.o
  CC      replay/replay-internal.o
  CC      replay/replay-events.o
  CC      replay/replay-time.o
  CC      replay/replay-input.o
  CC      replay/replay-char.o
  CC      replay/replay-snapshot.o
  CC      replay/replay-net.o
  CC      replay/replay-audio.o
  CC      slirp/cksum.o
  CC      slirp/if.o
  CC      slirp/ip_icmp.o
  CC      slirp/ip6_icmp.o
  CC      slirp/ip6_input.o
  CC      slirp/ip6_output.o
  CC      slirp/ip_input.o
  CC      slirp/ip_output.o
  CC      slirp/dnssearch.o
  CC      slirp/dhcpv6.o
  CC      slirp/slirp.o
  CC      slirp/mbuf.o
  CC      slirp/misc.o
  CC      slirp/sbuf.o
  CC      slirp/socket.o
  CC      slirp/tcp_input.o
  CC      slirp/tcp_output.o
  CC      slirp/tcp_subr.o
  CC      slirp/tcp_timer.o
  CC      slirp/udp.o
  CC      slirp/udp6.o
  CC      slirp/bootp.o
  CC      slirp/tftp.o
  CC      slirp/arp_table.o
  CC      slirp/ndp_table.o
  CC      slirp/ncsi.o
  CC      ui/keymaps.o
  CC      ui/console.o
  CC      ui/cursor.o
  CC      ui/qemu-pixman.o
  CC      ui/input.o
  CC      ui/input-legacy.o
  CC      ui/input-linux.o
  CC      ui/sdl2.o
  CC      ui/sdl2-input.o
  CC      ui/sdl2-2d.o
  CC      ui/sdl2-gl.o
  CC      ui/curses.o
  CC      ui/vnc.o
  CC      ui/vnc-enc-zlib.o
  CC      ui/vnc-enc-hextile.o
  CC      ui/vnc-enc-tight.o
  CC      ui/vnc-palette.o
  CC      ui/vnc-enc-zrle.o
  CC      ui/vnc-auth-vencrypt.o
  CC      ui/vnc-auth-sasl.o
  CC      ui/vnc-ws.o
  CC      ui/vnc-jobs.o
  CC      ui/gtk.o
  CC      ui/x_keymap.o
  VERT    ui/shader/texture-blit-vert.h
  VERT    ui/shader/texture-blit-flip-vert.h
  FRAG    ui/shader/texture-blit-frag.h
  CC      ui/console-gl.o
  CC      ui/egl-helpers.o
  CC      ui/egl-context.o
  CC      ui/egl-headless.o
  CC      ui/gtk-gl-area.o
  CC      chardev/char.o
  CC      chardev/char-fd.o
  CC      chardev/char-fe.o
  CC      chardev/char-file.o
  CC      chardev/char-io.o
  CC      chardev/char-mux.o
  CC      chardev/char-null.o
  CC      chardev/char-parallel.o
  CC      chardev/char-pipe.o
  CC      chardev/char-pty.o
  CC      chardev/char-ringbuf.o
  CC      chardev/char-serial.o
  CC      chardev/char-socket.o
  CC      chardev/char-stdio.o
  CC      chardev/char-udp.o
  CCAS    s390-ccw/start.o
  LINK    tests/qemu-iotests/socket_scm_helper
  GEN     qemu-doc.html
  GEN     qemu-doc.txt
  CC      s390-ccw/main.o
  GEN     qemu.1
  CC      s390-ccw/bootmap.o
  GEN     qemu-img.1
  GEN     docs/interop/qemu-qmp-ref.html
  CC      s390-ccw/sclp.o
  CC      s390-ccw/virtio.o
  CC      s390-ccw/virtio-scsi.o
  CC      s390-ccw/virtio-blkdev.o
  GEN     docs/interop/qemu-qmp-ref.txt
  GEN     docs/interop/qemu-qmp-ref.7
  GEN     docs/interop/qemu-ga-ref.html
  GEN     docs/interop/qemu-ga-ref.txt
  GEN     docs/interop/qemu-ga-ref.7
  CC      qga/commands.o
  CC      qga/guest-agent-command-state.o
  CC      qga/main.o
  CC      qga/commands-posix.o
  CC      qga/channel-posix.o
  CC      qga/qapi-generated/qga-qapi-types.o
  CC      qga/qapi-generated/qga-qapi-visit.o
  CC      qga/qapi-generated/qga-qmp-marshal.o
  AR      libqemuutil.a
  CC      qemu-img.o
  LINK    qemu-io
  LINK    fsdev/virtfs-proxy-helper
s390-netboot.img not built since roms/SLOF/ is not available.
  LINK    scsi/qemu-pr-helper
  BUILD   s390-ccw/s390-ccw.elf
  LINK    qemu-bridge-helper
  CC      ui/shader.o
  STRIP   s390-ccw/s390-ccw.img
  LINK    qemu-ga
  LINK    qemu-keymap
  LINK    ivshmem-client
  LINK    ivshmem-server
  LINK    qemu-nbd
  LINK    qemu-img
  GEN     arm-softmmu/hmp-commands.h
  GEN     aarch64-softmmu/hmp-commands.h
  GEN     alpha-softmmu/hmp-commands.h
  GEN     arm-softmmu/hmp-commands-info.h
  GEN     aarch64-softmmu/hmp-commands-info.h
  GEN     arm-softmmu/config-target.h
  GEN     aarch64-softmmu/config-target.h
  GEN     alpha-softmmu/hmp-commands-info.h
  GEN     alpha-softmmu/config-target.h
  CC      aarch64-softmmu/exec.o
  CC      alpha-softmmu/exec.o
  GEN     cris-softmmu/hmp-commands.h
  CC      arm-softmmu/exec.o
  GEN     cris-softmmu/hmp-commands-info.h
  GEN     cris-softmmu/config-target.h
  CC      cris-softmmu/exec.o
  CC      aarch64-softmmu/tcg/tcg.o
  CC      alpha-softmmu/tcg/tcg.o
  CC      arm-softmmu/tcg/tcg.o
  CC      cris-softmmu/tcg/tcg.o
  CC      alpha-softmmu/tcg/tcg-op.o
  CC      aarch64-softmmu/tcg/tcg-op.o
  CC      arm-softmmu/tcg/tcg-op.o
  CC      cris-softmmu/tcg/tcg-op.o
  CC      alpha-softmmu/tcg/optimize.o
  CC      arm-softmmu/tcg/optimize.o
  CC      aarch64-softmmu/tcg/optimize.o
  CC      alpha-softmmu/tcg/tcg-common.o
  CC      alpha-softmmu/fpu/softfloat.o
  CC      cris-softmmu/tcg/optimize.o
  CC      arm-softmmu/tcg/tcg-common.o
  CC      aarch64-softmmu/tcg/tcg-common.o
  CC      cris-softmmu/tcg/tcg-common.o
  CC      arm-softmmu/fpu/softfloat.o
  CC      aarch64-softmmu/fpu/softfloat.o
  CC      cris-softmmu/fpu/softfloat.o
  CC      alpha-softmmu/disas.o
  CC      aarch64-softmmu/disas.o
  CC      arm-softmmu/disas.o
  CC      alpha-softmmu/arch_init.o
  GEN     aarch64-softmmu/gdbstub-xml.c
  CC      cris-softmmu/disas.o
  GEN     arm-softmmu/gdbstub-xml.c
  CC      aarch64-softmmu/arch_init.o
  CC      arm-softmmu/arch_init.o
  CC      alpha-softmmu/cpus.o
  CC      cris-softmmu/arch_init.o
  CC      aarch64-softmmu/cpus.o
  CC      arm-softmmu/cpus.o
  CC      alpha-softmmu/monitor.o
  CC      cris-softmmu/cpus.o
  CC      aarch64-softmmu/monitor.o
  CC      arm-softmmu/monitor.o
  CC      cris-softmmu/monitor.o
  CC      alpha-softmmu/gdbstub.o
  CC      arm-softmmu/gdbstub.o
  CC      aarch64-softmmu/gdbstub.o
  CC      arm-softmmu/balloon.o
  CC      alpha-softmmu/balloon.o
  CC      aarch64-softmmu/balloon.o
  CC      arm-softmmu/ioport.o
  CC      cris-softmmu/gdbstub.o
  CC      aarch64-softmmu/ioport.o
  CC      alpha-softmmu/ioport.o
  CC      arm-softmmu/numa.o
  CC      alpha-softmmu/numa.o
  CC      aarch64-softmmu/numa.o
  CC      arm-softmmu/qtest.o
  CC      cris-softmmu/balloon.o
  CC      cris-softmmu/ioport.o
  CC      alpha-softmmu/qtest.o
  CC      aarch64-softmmu/qtest.o
  CC      arm-softmmu/memory.o
  CC      aarch64-softmmu/memory.o
  CC      alpha-softmmu/memory.o
  CC      cris-softmmu/numa.o
  CC      cris-softmmu/qtest.o
  CC      arm-softmmu/memory_mapping.o
  CC      cris-softmmu/memory.o
  CC      aarch64-softmmu/memory_mapping.o
  CC      alpha-softmmu/memory_mapping.o
  CC      arm-softmmu/dump.o
  CC      alpha-softmmu/dump.o
  CC      aarch64-softmmu/dump.o
  CC      arm-softmmu/migration/ram.o
  CC      aarch64-softmmu/migration/ram.o
  CC      alpha-softmmu/migration/ram.o
  CC      cris-softmmu/memory_mapping.o
  CC      arm-softmmu/accel/accel.o
  CC      cris-softmmu/dump.o
  CC      arm-softmmu/accel/stubs/hax-stub.o
  CC      aarch64-softmmu/accel/accel.o
  CC      alpha-softmmu/accel/accel.o
  CC      arm-softmmu/accel/stubs/hvf-stub.o
  CC      aarch64-softmmu/accel/stubs/hax-stub.o
  CC      alpha-softmmu/accel/stubs/hax-stub.o
  CC      arm-softmmu/accel/stubs/kvm-stub.o
  CC      aarch64-softmmu/accel/stubs/hvf-stub.o
  CC      cris-softmmu/migration/ram.o
  CC      alpha-softmmu/accel/stubs/hvf-stub.o
  CC      arm-softmmu/accel/tcg/tcg-all.o
  CC      alpha-softmmu/accel/stubs/kvm-stub.o
  CC      arm-softmmu/accel/tcg/cputlb.o
  CC      aarch64-softmmu/accel/stubs/kvm-stub.o
  CC      alpha-softmmu/accel/tcg/tcg-all.o
  CC      aarch64-softmmu/accel/tcg/tcg-all.o
  CC      alpha-softmmu/accel/tcg/cputlb.o
  CC      cris-softmmu/accel/accel.o
  CC      aarch64-softmmu/accel/tcg/cputlb.o
  CC      cris-softmmu/accel/stubs/hax-stub.o
  CC      cris-softmmu/accel/stubs/hvf-stub.o
  CC      arm-softmmu/accel/tcg/tcg-runtime.o
  CC      cris-softmmu/accel/stubs/kvm-stub.o
  CC      arm-softmmu/accel/tcg/cpu-exec.o
  CC      alpha-softmmu/accel/tcg/tcg-runtime.o
  CC      cris-softmmu/accel/tcg/tcg-all.o
  CC      aarch64-softmmu/accel/tcg/tcg-runtime.o
  CC      alpha-softmmu/accel/tcg/cpu-exec.o
  CC      cris-softmmu/accel/tcg/cputlb.o
  CC      arm-softmmu/accel/tcg/cpu-exec-common.o
  CC      aarch64-softmmu/accel/tcg/cpu-exec.o
  CC      arm-softmmu/accel/tcg/translate-all.o
  CC      alpha-softmmu/accel/tcg/cpu-exec-common.o
  CC      aarch64-softmmu/accel/tcg/cpu-exec-common.o
  CC      alpha-softmmu/accel/tcg/translate-all.o
  CC      arm-softmmu/accel/tcg/translator.o
  CC      aarch64-softmmu/accel/tcg/translate-all.o
  CC      arm-softmmu/hw/9pfs/virtio-9p-device.o
  CC      alpha-softmmu/accel/tcg/translator.o
  CC      cris-softmmu/accel/tcg/tcg-runtime.o
  CC      aarch64-softmmu/accel/tcg/translator.o
  CC      arm-softmmu/hw/adc/stm32f2xx_adc.o
  CC      alpha-softmmu/hw/9pfs/virtio-9p-device.o
  CC      arm-softmmu/hw/block/virtio-blk.o
  CC      cris-softmmu/accel/tcg/cpu-exec.o
  CC      alpha-softmmu/hw/block/virtio-blk.o
  CC      aarch64-softmmu/hw/9pfs/virtio-9p-device.o
  CC      arm-softmmu/hw/block/vhost-user-blk.o
  CC      cris-softmmu/accel/tcg/cpu-exec-common.o
  CC      aarch64-softmmu/hw/adc/stm32f2xx_adc.o
  CC      alpha-softmmu/hw/block/vhost-user-blk.o
  CC      arm-softmmu/hw/block/dataplane/virtio-blk.o
  CC      aarch64-softmmu/hw/block/virtio-blk.o
  CC      cris-softmmu/accel/tcg/translate-all.o
  CC      alpha-softmmu/hw/block/dataplane/virtio-blk.o
  CC      arm-softmmu/hw/char/exynos4210_uart.o
  CC      aarch64-softmmu/hw/block/vhost-user-blk.o
  CC      arm-softmmu/hw/char/omap_uart.o
  CC      cris-softmmu/accel/tcg/translator.o
  CC      alpha-softmmu/hw/char/virtio-serial-bus.o
  CC      aarch64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      arm-softmmu/hw/char/digic-uart.o
  CC      cris-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/char/exynos4210_uart.o
  CC      arm-softmmu/hw/char/stm32f2xx_usart.o
  CC      arm-softmmu/hw/char/bcm2835_aux.o
  CC      cris-softmmu/hw/core/null-machine.o
  CC      alpha-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/char/omap_uart.o
  CC      cris-softmmu/hw/misc/mmio_interface.o
  CC      arm-softmmu/hw/char/virtio-serial-bus.o
  CC      alpha-softmmu/hw/core/null-machine.o
  CC      aarch64-softmmu/hw/char/digic-uart.o
  CC      cris-softmmu/hw/net/etraxfs_eth.o
  CC      alpha-softmmu/hw/display/vga.o
  CC      aarch64-softmmu/hw/char/stm32f2xx_usart.o
  CC      cris-softmmu/hw/net/vhost_net.o
  CC      arm-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/char/bcm2835_aux.o
  CC      cris-softmmu/hw/net/rocker/qmp-norocker.o
  CC      arm-softmmu/hw/core/null-machine.o
  CC      aarch64-softmmu/hw/char/virtio-serial-bus.o
  CC      arm-softmmu/hw/cpu/arm11mpcore.o
  CC      cris-softmmu/hw/net/hv-net.o
  CC      alpha-softmmu/hw/display/virtio-gpu.o
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:29:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUCRISState
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:105:0: error: "CC_A" redefined [-Werror]
 #define CC_A   14
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:129:0: note: this is the location of the previous definition
 #define CC_A    0x0010
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:106:0: error: "CC_P" redefined [-Werror]
 #define CC_P   15
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:128:0: note: this is the location of the previous definition
 #define CC_P    0x0004
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:108:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 2
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:198:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(cris_env_get_cpu(e))
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:200:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(CRISCPU, env)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:236:5: error: redeclaration of enumerator ‘CC_OP_DYNAMIC’
     CC_OP_DYNAMIC, /* Use env->cc_op  */
     ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:754:5: note: previous definition of ‘CC_OP_DYNAMIC’ was here
     CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */
     ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:264:0: error: "TARGET_PAGE_BITS" redefined [-Werror]
 #define TARGET_PAGE_BITS 13
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1544:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS 12
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:267:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:270:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_CRIS_CPU, cpu_model)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:275:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_cris_signal_handler
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:278:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:281:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUCRISState *env, bool ifetch)
                   ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:301:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUCRISState *env, target_ulong *pc,
                    ^~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/cris/cpu.h:311:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list cris_cpu_list
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [/var/tmp/patchew-tester-tmp-bqc9j8f2/src/rules.mak:66: hw/net/hv-net.o] Error 1
make: *** [Makefile:403: subdir-cris-softmmu] Error 2
make: *** Waiting for unfinished jobs....
  CC      alpha-softmmu/hw/display/virtio-gpu-3d.o
  CC      arm-softmmu/hw/cpu/realview_mpcore.o
  CC      aarch64-softmmu/hw/core/generic-loader.o
  CC      arm-softmmu/hw/cpu/a9mpcore.o
  CC      aarch64-softmmu/hw/core/null-machine.o
  CC      alpha-softmmu/hw/display/virtio-gpu-pci.o
  CC      alpha-softmmu/hw/misc/ivshmem.o
  CC      arm-softmmu/hw/cpu/a15mpcore.o
  CC      aarch64-softmmu/hw/cpu/arm11mpcore.o
  CC      arm-softmmu/hw/display/omap_dss.o
  CC      aarch64-softmmu/hw/cpu/realview_mpcore.o
  CC      alpha-softmmu/hw/misc/mmio_interface.o
  CC      alpha-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/hw/cpu/a9mpcore.o
  CC      alpha-softmmu/hw/net/vhost_net.o
  CC      arm-softmmu/hw/display/omap_lcdc.o
  CC      alpha-softmmu/hw/net/hv-net.o
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:26:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #define TARGET_LONG_BITS 64
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:29:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUAlphaState
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:32:0: error: "TCG_GUEST_DEFAULT_MO" redefined [-Werror]
 #define TCG_GUEST_DEFAULT_MO      (0)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:36:0: note: this is the location of the previous definition
 #define TCG_GUEST_DEFAULT_MO      (TCG_MO_ALL & ~TCG_MO_ST_LD)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:41:0: error: "TARGET_PAGE_BITS" redefined [-Werror]
 #define TARGET_PAGE_BITS 13
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1544:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS 12
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:54:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS  44
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:55:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_VIRT_ADDR_SPACE_BITS  (30 + TARGET_PAGE_BITS)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:222:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:306:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(alpha_env_get_cpu(e))
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:308:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(AlphaCPU, env)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:325:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list alpha_cpu_list
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:326:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_alpha_signal_handler
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:423:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUAlphaState *env, bool ifetch)
                   ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:471:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_ALPHA_CPU, cpu_model)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/alpha/cpu.h:499:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUAlphaState *env, target_ulong *pc,
                    ^~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [/var/tmp/patchew-tester-tmp-bqc9j8f2/src/rules.mak:66: hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      arm-softmmu/hw/display/pxa2xx_lcd.o
make: *** [Makefile:403: subdir-alpha-softmmu] Error 2
  CC      aarch64-softmmu/hw/cpu/a15mpcore.o
  CC      aarch64-softmmu/hw/display/omap_dss.o
  CC      arm-softmmu/hw/display/bcm2835_fb.o
  CC      aarch64-softmmu/hw/display/omap_lcdc.o
  CC      aarch64-softmmu/hw/display/pxa2xx_lcd.o
  CC      arm-softmmu/hw/display/vga.o
  CC      aarch64-softmmu/hw/display/bcm2835_fb.o
  CC      arm-softmmu/hw/display/virtio-gpu.o
  CC      aarch64-softmmu/hw/display/vga.o
  CC      aarch64-softmmu/hw/display/virtio-gpu.o
  CC      arm-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-pci.o
  CC      aarch64-softmmu/hw/display/dpcd.o
  CC      aarch64-softmmu/hw/display/xlnx_dp.o
  CC      aarch64-softmmu/hw/dma/xlnx_dpdma.o
  CC      arm-softmmu/hw/display/virtio-gpu-pci.o
  CC      aarch64-softmmu/hw/dma/omap_dma.o
  CC      aarch64-softmmu/hw/dma/soc_dma.o
  CC      aarch64-softmmu/hw/dma/pxa2xx_dma.o
  CC      arm-softmmu/hw/dma/omap_dma.o
  CC      aarch64-softmmu/hw/dma/bcm2835_dma.o
  CC      aarch64-softmmu/hw/gpio/omap_gpio.o
  CC      aarch64-softmmu/hw/gpio/imx_gpio.o
  CC      aarch64-softmmu/hw/gpio/bcm2835_gpio.o
  CC      arm-softmmu/hw/dma/soc_dma.o
  CC      arm-softmmu/hw/dma/pxa2xx_dma.o
  CC      arm-softmmu/hw/dma/bcm2835_dma.o
  CC      arm-softmmu/hw/gpio/omap_gpio.o
  CC      arm-softmmu/hw/gpio/imx_gpio.o
  CC      arm-softmmu/hw/gpio/bcm2835_gpio.o
  CC      arm-softmmu/hw/i2c/omap_i2c.o
  CC      arm-softmmu/hw/input/pxa2xx_keypad.o
  CC      arm-softmmu/hw/input/tsc210x.o
  CC      arm-softmmu/hw/intc/armv7m_nvic.o
  CC      arm-softmmu/hw/intc/exynos4210_gic.o
  CC      arm-softmmu/hw/intc/exynos4210_combiner.o
  CC      arm-softmmu/hw/intc/omap_intc.o
  CC      arm-softmmu/hw/intc/bcm2835_ic.o
  CC      arm-softmmu/hw/intc/bcm2836_control.o
  CC      arm-softmmu/hw/intc/allwinner-a10-pic.o
  CC      arm-softmmu/hw/intc/aspeed_vic.o
  CC      arm-softmmu/hw/intc/arm_gicv3_cpuif.o
  CC      arm-softmmu/hw/misc/ivshmem.o
  CC      arm-softmmu/hw/misc/arm_sysctl.o
  CC      arm-softmmu/hw/misc/cbus.o
  CC      arm-softmmu/hw/misc/exynos4210_pmu.o
  CC      arm-softmmu/hw/misc/exynos4210_clk.o
  CC      arm-softmmu/hw/misc/exynos4210_rng.o
  CC      arm-softmmu/hw/misc/imx_ccm.o
  CC      arm-softmmu/hw/misc/imx31_ccm.o
  CC      arm-softmmu/hw/misc/imx25_ccm.o
  CC      arm-softmmu/hw/misc/imx6_ccm.o
  CC      arm-softmmu/hw/misc/imx6_src.o
  CC      arm-softmmu/hw/misc/mst_fpga.o
  CC      arm-softmmu/hw/misc/omap_clk.o
  CC      arm-softmmu/hw/misc/omap_gpmc.o
  CC      arm-softmmu/hw/misc/omap_l4.o
  CC      arm-softmmu/hw/misc/omap_sdrc.o
  CC      arm-softmmu/hw/misc/omap_tap.o
  CC      arm-softmmu/hw/misc/bcm2835_mbox.o
  CC      arm-softmmu/hw/misc/bcm2835_property.o
  CC      arm-softmmu/hw/misc/bcm2835_rng.o
  CC      arm-softmmu/hw/misc/zynq_slcr.o
  CC      arm-softmmu/hw/misc/zynq-xadc.o
  CC      arm-softmmu/hw/misc/stm32f2xx_syscfg.o
  CC      arm-softmmu/hw/misc/mps2-scc.o
  CC      arm-softmmu/hw/misc/aspeed_scu.o
  CC      arm-softmmu/hw/misc/aspeed_sdmc.o
  CC      arm-softmmu/hw/misc/mmio_interface.o
  CC      arm-softmmu/hw/misc/msf2-sysreg.o
  CC      arm-softmmu/hw/net/virtio-net.o
  CC      arm-softmmu/hw/net/vhost_net.o
  CC      arm-softmmu/hw/net/hv-net.o
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:34:0: error: "TCG_GUEST_DEFAULT_MO" redefined [-Werror]
 #define TCG_GUEST_DEFAULT_MO      (0)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:36:0: note: this is the location of the previous definition
 #define TCG_GUEST_DEFAULT_MO      (TCG_MO_ALL & ~TCG_MO_ST_LD)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:36:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUARMState
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:92:0: error: "CPU_INTERRUPT_VIRQ" redefined [-Werror]
 #define CPU_INTERRUPT_VIRQ  CPU_INTERRUPT_TGT_EXT_2
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:739:0: note: this is the location of the previous definition
 #define CPU_INTERRUPT_VIRQ      CPU_INTERRUPT_TGT_INT_0
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:115:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 8
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:120:0: error: "TARGET_INSN_START_EXTRA_WORDS" redefined [-Werror]
 #define TARGET_INSN_START_EXTRA_WORDS 2
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:920:0: note: this is the location of the previous definition
 #define TARGET_INSN_START_EXTRA_WORDS 1
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:780:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(arm_env_get_cpu(e))
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:782:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(ARMCPU, env)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2052:0: error: "TARGET_PAGE_BITS_MIN" redefined [-Werror]
 #define TARGET_PAGE_BITS_MIN 10
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1626:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/exec/cpu-all.h:222:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS_MIN TARGET_PAGE_BITS
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2059:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #  define TARGET_PHYS_ADDR_SPACE_BITS 40
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2171:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_ARM_CPU, cpu_model)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2176:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_arm_signal_handler
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2177:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list arm_cpu_list
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2314:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2377:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUARMState *env, bool ifetch)
                   ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2716:6: error: conflicting types for ‘cpu_get_tb_cpu_state’
 void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc,
      ^~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [/var/tmp/patchew-tester-tmp-bqc9j8f2/src/rules.mak:66: hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/hw/i2c/omap_i2c.o
  CC      aarch64-softmmu/hw/input/pxa2xx_keypad.o
  CC      aarch64-softmmu/hw/input/tsc210x.o
make: *** [Makefile:403: subdir-arm-softmmu] Error 2
  CC      aarch64-softmmu/hw/intc/armv7m_nvic.o
  CC      aarch64-softmmu/hw/intc/exynos4210_gic.o
  CC      aarch64-softmmu/hw/intc/exynos4210_combiner.o
  CC      aarch64-softmmu/hw/intc/omap_intc.o
  CC      aarch64-softmmu/hw/intc/bcm2835_ic.o
  CC      aarch64-softmmu/hw/intc/bcm2836_control.o
  CC      aarch64-softmmu/hw/intc/allwinner-a10-pic.o
  CC      aarch64-softmmu/hw/intc/aspeed_vic.o
  CC      aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o
  CC      aarch64-softmmu/hw/misc/ivshmem.o
  CC      aarch64-softmmu/hw/misc/arm_sysctl.o
  CC      aarch64-softmmu/hw/misc/cbus.o
  CC      aarch64-softmmu/hw/misc/exynos4210_pmu.o
  CC      aarch64-softmmu/hw/misc/exynos4210_clk.o
  CC      aarch64-softmmu/hw/misc/exynos4210_rng.o
  CC      aarch64-softmmu/hw/misc/imx_ccm.o
  CC      aarch64-softmmu/hw/misc/imx31_ccm.o
  CC      aarch64-softmmu/hw/misc/imx25_ccm.o
  CC      aarch64-softmmu/hw/misc/imx6_ccm.o
  CC      aarch64-softmmu/hw/misc/imx6_src.o
  CC      aarch64-softmmu/hw/misc/mst_fpga.o
  CC      aarch64-softmmu/hw/misc/omap_clk.o
  CC      aarch64-softmmu/hw/misc/omap_gpmc.o
  CC      aarch64-softmmu/hw/misc/omap_l4.o
  CC      aarch64-softmmu/hw/misc/omap_sdrc.o
  CC      aarch64-softmmu/hw/misc/omap_tap.o
  CC      aarch64-softmmu/hw/misc/bcm2835_mbox.o
  CC      aarch64-softmmu/hw/misc/bcm2835_property.o
  CC      aarch64-softmmu/hw/misc/bcm2835_rng.o
  CC      aarch64-softmmu/hw/misc/zynq_slcr.o
  CC      aarch64-softmmu/hw/misc/zynq-xadc.o
  CC      aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
  CC      aarch64-softmmu/hw/misc/mps2-scc.o
  CC      aarch64-softmmu/hw/misc/auxbus.o
  CC      aarch64-softmmu/hw/misc/aspeed_scu.o
  CC      aarch64-softmmu/hw/misc/aspeed_sdmc.o
  CC      aarch64-softmmu/hw/misc/mmio_interface.o
  CC      aarch64-softmmu/hw/misc/msf2-sysreg.o
  CC      aarch64-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/hw/net/vhost_net.o
  CC      aarch64-softmmu/hw/net/hv-net.o
  CC      aarch64-softmmu/hw/pcmcia/pxa2xx.o
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:28:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #  define TARGET_LONG_BITS 64
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:34:0: error: "TCG_GUEST_DEFAULT_MO" redefined [-Werror]
 #define TCG_GUEST_DEFAULT_MO      (0)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:36:0: note: this is the location of the previous definition
 #define TCG_GUEST_DEFAULT_MO      (TCG_MO_ALL & ~TCG_MO_ST_LD)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:36:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUARMState
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:92:0: error: "CPU_INTERRUPT_VIRQ" redefined [-Werror]
 #define CPU_INTERRUPT_VIRQ  CPU_INTERRUPT_TGT_EXT_2
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:739:0: note: this is the location of the previous definition
 #define CPU_INTERRUPT_VIRQ      CPU_INTERRUPT_TGT_INT_0
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:115:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 8
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:120:0: error: "TARGET_INSN_START_EXTRA_WORDS" redefined [-Werror]
 #define TARGET_INSN_START_EXTRA_WORDS 2
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:920:0: note: this is the location of the previous definition
 #define TARGET_INSN_START_EXTRA_WORDS 1
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:780:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(arm_env_get_cpu(e))
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:782:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(ARMCPU, env)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2052:0: error: "TARGET_PAGE_BITS_MIN" redefined [-Werror]
 #define TARGET_PAGE_BITS_MIN 10
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1626:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/exec/cpu-all.h:222:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS_MIN TARGET_PAGE_BITS
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2056:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #  define TARGET_PHYS_ADDR_SPACE_BITS 48
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2057:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 #  define TARGET_VIRT_ADDR_SPACE_BITS 64
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2171:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_ARM_CPU, cpu_model)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2176:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_arm_signal_handler
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2177:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list arm_cpu_list
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2314:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2377:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUARMState *env, bool ifetch)
                   ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/arm/cpu.h:2716:6: error: conflicting types for ‘cpu_get_tb_cpu_state’
 void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc,
      ^~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-bqc9j8f2/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-bqc9j8f2/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [/var/tmp/patchew-tester-tmp-bqc9j8f2/src/rules.mak:66: hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:403: subdir-aarch64-softmmu] Error 2
=== OUTPUT END ===

Test command exited with code: 2


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (34 preceding siblings ...)
  2018-02-06 21:40 ` [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus no-reply
@ 2018-02-06 21:55 ` no-reply
  2018-02-06 21:56 ` no-reply
                   ` (3 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: no-reply @ 2018-02-06 21:55 UTC (permalink / raw)
  To: rkagan
  Cc: famz, qemu-devel, ben, konrad.wilk, krish.sadhukhan,
	Marcos.Matsunaga, jan.dakinevich, vrozenfe, den, si-wei.liu,
	pbonzini, vkuznets, cavery

Hi,

This series failed build test on ppc host. Please find the details below.

Subject: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus
Type: series
Message-id: 20180206203048.11096-1-rkagan@virtuozzo.com

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
set -e
echo "=== ENV ==="
env
echo "=== PACKAGES ==="
rpm -qa
echo "=== TEST BEGIN ==="
INSTALL=$PWD/install
BUILD=$PWD/build
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --prefix=$INSTALL
make -j100
# XXX: we need reliable clean up
# make check -j100 V=1
make install
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]         patchew/20180206203048.11096-1-rkagan@virtuozzo.com -> patchew/20180206203048.11096-1-rkagan@virtuozzo.com
Submodule 'capstone' (git://git.qemu.org/capstone.git) registered for path 'capstone'
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Submodule 'roms/QemuMacDrivers' (git://git.qemu.org/QemuMacDrivers.git) registered for path 'roms/QemuMacDrivers'
Submodule 'roms/SLOF' (git://git.qemu-project.org/SLOF.git) registered for path 'roms/SLOF'
Submodule 'roms/ipxe' (git://git.qemu-project.org/ipxe.git) registered for path 'roms/ipxe'
Submodule 'roms/openbios' (git://git.qemu-project.org/openbios.git) registered for path 'roms/openbios'
Submodule 'roms/openhackware' (git://git.qemu-project.org/openhackware.git) registered for path 'roms/openhackware'
Submodule 'roms/qemu-palcode' (git://github.com/rth7680/qemu-palcode.git) registered for path 'roms/qemu-palcode'
Submodule 'roms/seabios' (git://git.qemu-project.org/seabios.git/) registered for path 'roms/seabios'
Submodule 'roms/seabios-hppa' (git://github.com/hdeller/seabios-hppa.git) registered for path 'roms/seabios-hppa'
Submodule 'roms/sgabios' (git://git.qemu-project.org/sgabios.git) registered for path 'roms/sgabios'
Submodule 'roms/skiboot' (git://git.qemu.org/skiboot.git) registered for path 'roms/skiboot'
Submodule 'roms/u-boot' (git://git.qemu-project.org/u-boot.git) registered for path 'roms/u-boot'
Submodule 'roms/vgabios' (git://git.qemu-project.org/vgabios.git/) registered for path 'roms/vgabios'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into 'capstone'...
Submodule path 'capstone': checked out '22ead3e0bfdb87516656453336160e0a37b066bf'
Cloning into 'dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Cloning into 'roms/QemuMacDrivers'...
Submodule path 'roms/QemuMacDrivers': checked out 'd4e7d7ac663fcb55f1b93575445fcbca372f17a7'
Cloning into 'roms/SLOF'...
Submodule path 'roms/SLOF': checked out 'fa981320a1e0968d6fc1b8de319723ff8212b337'
Cloning into 'roms/ipxe'...
Submodule path 'roms/ipxe': checked out '0600d3ae94f93efd10fc6b3c7420a9557a3a1670'
Cloning into 'roms/openbios'...
Submodule path 'roms/openbios': checked out 'b5c93acd14b7b3886c2c81d84cd18e666984a4c8'
Cloning into 'roms/openhackware'...
Submodule path 'roms/openhackware': checked out 'c559da7c8eec5e45ef1f67978827af6f0b9546f5'
Cloning into 'roms/qemu-palcode'...
Submodule path 'roms/qemu-palcode': checked out 'f3c7e44c70254975df2a00af39701eafbac4d471'
Cloning into 'roms/seabios'...
Submodule path 'roms/seabios': checked out '63451fca13c75870e1703eb3e20584d91179aebc'
Cloning into 'roms/seabios-hppa'...
Submodule path 'roms/seabios-hppa': checked out '649e6202b8d65d46c69f542b1380f840fbe8ab13'
Cloning into 'roms/sgabios'...
Submodule path 'roms/sgabios': checked out 'cbaee52287e5f32373181cff50a00b6c4ac9015a'
Cloning into 'roms/skiboot'...
Submodule path 'roms/skiboot': checked out 'e0ee24c27a172bcf482f6f2bc905e6211c134bcc'
Cloning into 'roms/u-boot'...
Submodule path 'roms/u-boot': checked out 'd85ca029f257b53a96da6c2fb421e78a003a9943'
Cloning into 'roms/vgabios'...
Submodule path 'roms/vgabios': checked out '19ea12c230ded95928ecaef0db47a82231c2e485'
Cloning into 'ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '10739aa26051a5d49d88132604539d3ed085e72e'
Switched to a new branch 'test'
98adc64 hv-net: define default rom file name
32dd25d vmbus: add support for rom files
983ba13 loader: allow arbitrary basename for fw_cfg file roms
3e4e616 hv-net: add .bootindex support
9b49f45 net: add Hyper-V/VMBus net adapter
8b3b6a7 net: add Hyper-V/VMBus network protocol definitions
932a14d net: add RNDIS definitions
58ff5f3 tests: hv-scsi: add start-stop test
f81c7ad hv-scsi: limit the number of requests per notification
62d0ac7 scsi: add Hyper-V/VMBus SCSI controller
438b47b scsi: add Hyper-V/VMBus SCSI protocol definitions
4baa88a i386: en/disable vmbus by a machine property
7e9adc9 i386: Hyper-V VMBus ACPI DSDT entry
1c19b65 vmbus: build configuration
4471f1a vmbus: vmbus implementation
6aff6ba vmbus: add vmbus protocol definitions
601a95f hyperv: add support for KVM_HYPERV_EVENTFD
9ec270a import HYPERV_EVENTFD stuff from kernel
cbfeb5e hyperv: update copyright notices
77d9e62 hyperv_testdev: add SynIC message and event testmodes
6bf86c8 hyperv: process POST_MESSAGE hypercall
52d482a hyperv: process SIGNAL_EVENT hypercall
be4ed13 hyperv: add synic event flag signaling
58a94ec hyperv: add synic message delivery
921fcaa hyperv: make overlay pages for SynIC
8540e6c hyperv: block SynIC use in QEMU in incompatible configurations
0a8a729 hyperv: qom-ify SynIC
1f9fba8 hyperv: make HvSintRoute reference-counted
4d649ce hyperv: address HvSintRoute by X86CPU pointer
96cc3d2 hyperv: allow passing arbitrary data to sint ack callback
93ceab6 hyperv: synic: only setup ack notifier if there's a callback
fa7482c hyperv: cosmetic: g_malloc -> g_new
63d46e7 hyperv_testdev: refactor for readability
ff514f8 hyperv: ensure VP index equal to QEMU cpu_index

=== OUTPUT BEGIN ===
=== ENV ===
XDG_SESSION_ID=175319
SHELL=/bin/sh
USER=patchew
PATCHEW=/home/patchew/patchew/patchew-cli -s http://patchew.org --nodebug
PATH=/usr/bin:/bin
PWD=/var/tmp/patchew-tester-tmp-9019xv17/src
LANG=en_US.UTF-8
HOME=/home/patchew
SHLVL=2
LOGNAME=patchew
XDG_RUNTIME_DIR=/run/user/1000
_=/usr/bin/env
=== PACKAGES ===
plymouth-core-libs-0.8.9-0.28.20140113.el7.centos.ppc64le
vim-common-7.4.160-2.el7.ppc64le
perl-Test-Simple-0.98-243.el7.noarch
hplip-common-3.15.9-3.el7.ppc64le
valgrind-3.12.0-8.el7.ppc64le
gamin-0.1.10-16.el7.ppc64le
libpeas-loader-python-1.20.0-1.el7.ppc64le
telepathy-filesystem-0.0.2-6.el7.noarch
colord-libs-1.3.4-1.el7.ppc64le
kbd-legacy-1.15.5-13.el7.noarch
perl-CPAN-Meta-YAML-0.008-14.el7.noarch
libvirt-daemon-driver-nwfilter-3.2.0-14.el7.ppc64le
ntsysv-1.7.4-1.el7.ppc64le
kernel-bootwrapper-3.10.0-693.el7.ppc64le
telepathy-farstream-0.6.0-5.el7.ppc64le
kdenetwork-common-4.10.5-8.el7_0.noarch
elfutils-devel-0.168-8.el7.ppc64le
pm-utils-1.4.1-27.el7.ppc64le
perl-Error-0.17020-2.el7.noarch
usbmuxd-1.1.0-1.el7.ppc64le
bzip2-devel-1.0.6-13.el7.ppc64le
blktrace-1.0.5-8.el7.ppc64le
gnome-keyring-pam-3.20.0-3.el7.ppc64le
tzdata-java-2017b-1.el7.noarch
perl-devel-5.16.3-292.el7.ppc64le
gnome-getting-started-docs-3.22.0-1.el7.noarch
perl-Log-Message-Simple-0.10-2.el7.noarch
totem-pl-parser-3.10.7-1.el7.ppc64le
lohit-oriya-fonts-2.5.4.1-3.el7.noarch
python-coverage-3.6-0.5.b3.el7.ppc64le
java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.ppc64le
mailcap-2.1.41-2.el7.noarch
perl-CPANPLUS-0.91.38-4.el7.noarch
fprintd-pam-0.5.0-4.0.el7_0.ppc64le
less-458-9.el7.ppc64le
gupnp-igd-0.2.4-1.el7.ppc64le
thai-scalable-waree-fonts-0.5.0-7.el7.noarch
python-di-0.3-2.el7.noarch
yelp-libs-3.22.0-1.el7.ppc64le
vte-profile-0.46.2-1.el7.ppc64le
gpm-libs-1.20.7-5.el7.ppc64le
gnome-clocks-3.22.1-1.el7.ppc64le
p11-kit-trust-0.23.5-3.el7.ppc64le
gssproxy-0.7.0-4.el7.ppc64le
gnu-free-mono-fonts-20120503-8.el7.noarch
python-dateutil-1.5-7.el7.noarch
gucharmap-libs-3.18.2-1.el7.ppc64le
glibc-common-2.17-196.el7.ppc64le
libreport-plugin-mantisbt-2.1.11-38.el7.centos.ppc64le
motif-devel-2.3.4-8.1.el7_3.ppc64le
celt051-0.5.1.3-8.el7.ppc64le
radvd-1.9.2-9.el7.ppc64le
lohit-tamil-fonts-2.5.3-2.el7.noarch
python-ipaddress-1.0.16-2.el7.noarch
anaconda-widgets-21.48.22.121-1.el7.centos.ppc64le
zlib-1.2.7-17.el7.ppc64le
system-config-printer-1.4.1-19.el7.ppc64le
mozjs24-24.2.0-7.el7.ppc64le
device-mapper-multipath-libs-0.4.9-111.el7.ppc64le
wqy-microhei-fonts-0.2.0-0.12.beta.el7.noarch
python-schedutils-0.4-6.el7.ppc64le
gnome-bluetooth-3.20.1-1.el7.ppc64le
nss-util-3.28.4-3.el7.ppc64le
dotconf-1.3-8.el7.ppc64le
ibus-rawcode-1.3.2-3.el7.ppc64le
abattis-cantarell-fonts-0.0.25-1.el7.noarch
sssd-common-1.15.2-50.el7.ppc64le
sil-padauk-fonts-2.8-5.el7.noarch
bind-utils-9.9.4-50.el7.ppc64le
sox-14.4.1-6.el7.ppc64le
libSM-1.2.2-2.el7.ppc64le
libtiff-devel-4.0.3-27.el7_3.ppc64le
plymouth-system-theme-0.8.9-0.28.20140113.el7.centos.ppc64le
python-libs-2.7.5-58.el7.ppc64le
sssd-1.15.2-50.el7.ppc64le
rfkill-0.4-9.el7.ppc64le
cyrus-sasl-md5-2.1.26-21.el7.ppc64le
libXtst-devel-1.2.3-1.el7.ppc64le
avahi-libs-0.6.31-17.el7.ppc64le
ruby-2.0.0.648-30.el7.ppc64le
seahorse-3.20.0-1.el7.ppc64le
python-six-1.9.0-2.el7.noarch
gpgme-1.3.2-5.el7.ppc64le
iwl7260-firmware-22.0.7.0-56.el7.noarch
libsss_certmap-1.15.2-50.el7.ppc64le
xorg-x11-drv-wacom-0.34.2-2.el7.ppc64le
libXau-1.0.8-2.1.el7.ppc64le
shadow-utils-4.1.5.1-24.el7.ppc64le
evolution-ews-3.22.6-6.el7.ppc64le
libsecret-0.18.5-2.el7.ppc64le
perl-Module-Signature-0.73-2.el7.noarch
rootfiles-8.1-11.el7.noarch
trace-cmd-2.6.0-8.el7.ppc64le
hamcrest-1.3-6.el7.noarch
gawk-4.0.2-4.el7_3.1.ppc64le
usermode-1.111-5.el7.ppc64le
gnome-terminal-nautilus-3.22.1-2.el7.ppc64le
gvfs-client-1.30.4-3.el7.ppc64le
yum-utils-1.1.31-42.el7.noarch
iwl3945-firmware-15.32.2.9-56.el7.noarch
perl-Archive-Zip-1.30-11.el7.noarch
spice-glib-0.33-6.el7.ppc64le
augeas-libs-1.4.0-2.el7.ppc64le
openlmi-providers-0.5.0-4.el7.ppc64le
gnome-color-manager-3.22.2-1.el7.ppc64le
imsettings-libs-1.6.3-9.el7.ppc64le
nss-softokn-devel-3.28.3-6.el7.ppc64le
python34-3.4.5-4.el7.ppc64le
perl-DBI-1.627-4.el7.ppc64le
plymouth-plugin-label-0.8.9-0.28.20140113.el7.centos.ppc64le
binutils-2.25.1-31.base.el7.ppc64le
libsss_nss_idmap-1.15.2-50.el7.ppc64le
gvfs-smb-1.30.4-3.el7.ppc64le
freetype-devel-2.4.11-15.el7.ppc64le
libXi-1.7.9-1.el7.ppc64le
libitm-4.8.5-16.el7_4.1.ppc64le
perl-Text-Diff-1.41-5.el7.noarch
gcr-devel-3.20.0-1.el7.ppc64le
numactl-libs-2.0.9-6.el7_2.ppc64le
hardlink-1.0-19.el7.ppc64le
gnome-disk-utility-3.22.1-1.el7.ppc64le
mariadb-libs-5.5.56-2.el7.ppc64le
libnotify-0.7.7-1.el7.ppc64le
perl-TimeDate-2.30-2.el7.noarch
soprano-devel-2.9.2-3.el7.ppc64le
pixman-0.34.0-1.el7.ppc64le
kmod-20-15.el7.ppc64le
qt3-PostgreSQL-3.3.8b-51.el7.ppc64le
python2-pyasn1-0.1.9-7.el7.noarch
libXt-1.1.5-3.el7.ppc64le
perl-Font-AFM-1.20-13.el7.noarch
ibus-1.5.3-13.el7.ppc64le
findutils-4.5.11-5.el7.ppc64le
ibus-libs-1.5.3-13.el7.ppc64le
iprutils-2.4.14.1-1.el7.ppc64le
libpwquality-1.2.3-4.el7.ppc64le
libXrender-devel-0.9.10-1.el7.ppc64le
perl-IO-stringy-2.110-22.el7.noarch
kdelibs-4.14.8-6.el7_3.ppc64le
flac-libs-1.3.0-5.el7_1.ppc64le
device-mapper-event-libs-1.02.140-8.el7.ppc64le
gnutls-devel-3.3.26-9.el7.ppc64le
libXau-devel-1.0.8-2.1.el7.ppc64le
gstreamer1-plugins-base-1.10.4-1.el7.ppc64le
perl-HTML-Tree-5.03-2.el7.noarch
kdenetwork-kopete-4.10.5-8.el7_0.ppc64le
libepoxy-1.3.1-1.el7.ppc64le
mesa-libGLES-17.0.1-6.20170307.el7.ppc64le
qt-postgresql-4.8.5-13.el7.ppc64le
fontconfig-devel-2.10.95-11.el7.ppc64le
java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.ppc64le
libXfont-1.5.2-1.el7.ppc64le
libkexiv2-4.10.5-3.el7.ppc64le
openjpeg-libs-1.5.1-17.el7.ppc64le
iscsi-initiator-utils-6.2.0.874-4.el7.ppc64le
NetworkManager-adsl-1.8.0-9.el7.ppc64le
libgtop2-2.34.2-1.el7.ppc64le
libXdamage-devel-1.1.4-4.1.el7.ppc64le
ipset-libs-6.29-1.el7.ppc64le
kde-runtime-drkonqi-4.10.5-8.el7.ppc64le
e2fsprogs-libs-1.42.9-10.el7.ppc64le
dhclient-4.2.5-58.el7.centos.ppc64le
usbutils-007-5.el7.ppc64le
python-ethtool-0.8-5.el7.ppc64le
gstreamer1-plugins-bad-free-1.10.4-2.el7.ppc64le
fftw-libs-double-3.3.3-8.el7.ppc64le
kdenetwork-krdc-4.10.5-8.el7_0.ppc64le
fuse-libs-2.9.2-8.el7.ppc64le
pciutils-3.5.1-2.el7.ppc64le
at-3.1.13-22.el7.ppc64le
python-IPy-0.75-6.el7.noarch
libXp-1.0.2-2.1.el7.ppc64le
vim-minimal-7.4.160-2.el7.ppc64le
kdesdk-kmtrace-4.10.5-6.el7.ppc64le
libraw1394-2.1.0-2.el7.ppc64le
libdrm-devel-2.4.74-1.el7.ppc64le
irqbalance-1.0.7-10.el7.ppc64le
fipscheck-lib-1.4.1-6.el7.ppc64le
gvfs-1.30.4-3.el7.ppc64le
libiscsi-1.9.0-7.el7.ppc64le
motif-2.3.4-8.1.el7_3.ppc64le
keyutils-1.5.8-3.el7.ppc64le
NetworkManager-ppp-1.8.0-9.el7.ppc64le
systemtap-3.1-3.el7.ppc64le
boost-serialization-1.53.0-27.el7.ppc64le
grilo-0.3.3-1.el7.ppc64le
rpm-4.11.3-25.el7.ppc64le
kdegraphics-libs-4.10.5-3.el7.noarch
libfontenc-1.1.3-3.el7.ppc64le
perl-Git-1.8.3.1-11.el7.noarch
rubygem-abrt-0.3.0-1.el7.noarch
tcl-8.5.13-8.el7.ppc64le
gtksourceview3-3.22.2-1.el7.ppc64le
cmake-2.8.12.2-2.el7.ppc64le
pulseaudio-utils-10.0-3.el7.ppc64le
libusal-1.1.11-23.el7.ppc64le
grub2-ppc64le-2.02-0.64.el7.centos.ppc64le
libreport-plugin-mailx-2.1.11-38.el7.centos.ppc64le
libvisual-0.4.0-16.el7.ppc64le
metacity-2.34.13-7.el7.ppc64le
redland-virtuoso-1.0.16-6.el7.ppc64le
nautilus-3.22.3-3.el7.ppc64le
pciutils-libs-3.5.1-2.el7.ppc64le
soprano-2.9.2-3.el7.ppc64le
mariadb-devel-5.5.56-2.el7.ppc64le
libxkbcommon-x11-0.7.1-1.el7.ppc64le
farstream02-0.2.3-3.el7.ppc64le
redhat-rpm-config-9.1.0-76.el7.centos.noarch
skkdic-20130104-6.T1435.el7.noarch
perl-HTTP-Tiny-0.033-3.el7.noarch
lvm2-libs-2.02.171-8.el7.ppc64le
perl-XML-Grove-0.46alpha-52.el7.noarch
boost-devel-1.53.0-27.el7.ppc64le
pycairo-1.8.10-8.el7.ppc64le
popt-devel-1.13-16.el7.ppc64le
gnome-settings-daemon-3.22.2-5.el7.ppc64le
perl-Socket-2.010-4.el7.ppc64le
numad-0.5-17.20150602git.el7.ppc64le
e2fsprogs-devel-1.42.9-10.el7.ppc64le
libsecret-devel-0.18.5-2.el7.ppc64le
libXv-devel-1.0.11-1.el7.ppc64le
libchewing-0.3.4-6.el7.ppc64le
gnome-shell-extension-places-menu-3.22.2-10.el7.noarch
perl-Time-HiRes-1.9725-3.el7.ppc64le
openchange-2.3-2.el7.ppc64le
audit-libs-devel-2.7.6-3.el7.ppc64le
python-dmidecode-3.12.2-1.el7.ppc64le
libmediaart-1.9.1-1.el7.ppc64le
elfutils-default-yama-scope-0.168-8.el7.noarch
quota-4.01-14.el7.ppc64le
perl-threads-1.87-4.el7.ppc64le
realmd-0.16.1-9.el7.ppc64le
nautilus-sendto-3.8.4-1.el7.ppc64le
gstreamer-0.10.36-7.el7.ppc64le
cairo-gobject-devel-1.14.8-2.el7.ppc64le
abrt-libs-2.1.11-48.el7.centos.ppc64le
libvirt-daemon-driver-storage-iscsi-3.2.0-14.el7.ppc64le
perl-Pod-Parser-1.61-2.el7.noarch
python-devel-2.7.5-58.el7.ppc64le
mpfr-devel-3.1.1-4.el7.ppc64le
kernel-headers-3.10.0-693.el7.ppc64le
powerpc-utils-python-1.2.1-9.el7.noarch
linux-firmware-20170606-56.gitc990aae.el7.noarch
libqmi-1.16.0-1.el7.ppc64le
libvirt-libs-3.2.0-14.el7.ppc64le
perl-Digest-1.17-245.el7.noarch
libgcab1-0.7-3.el7.ppc64le
flex-2.5.37-3.el7.ppc64le
tzdata-2017b-1.el7.noarch
phonon-4.6.0-10.el7.ppc64le
anaconda-tui-21.48.22.121-1.el7.centos.ppc64le
libmbim-utils-1.14.0-2.el7.ppc64le
gnutls-utils-3.3.26-9.el7.ppc64le
perl-Parse-CPAN-Meta-1.4404-5.el7.noarch
flite-1.3-22.el7.ppc64le
nfs4-acl-tools-0.3.3-15.el7.ppc64le
poppler-data-0.4.6-3.el7.noarch
gvfs-fuse-1.30.4-3.el7.ppc64le
gnome-software-3.22.7-1.el7.ppc64le
perl-ExtUtils-ParseXS-3.18-3.el7.noarch
libvirt-python-3.2.0-3.el7.ppc64le
perl-Module-Load-Conditional-0.54-3.el7.noarch
python-netifaces-0.10.4-3.el7.ppc64le
swig-2.0.10-5.el7.ppc64le
ipa-client-common-4.5.0-20.el7.centos.noarch
cheese-libs-3.22.1-1.el7.ppc64le
gnome-tweak-tool-3.22.0-1.el7.noarch
perl-ExtUtils-CBuilder-0.28.2.6-292.el7.noarch
libsoup-devel-2.56.0-3.el7.ppc64le
perl-IO-Zlib-1.10-292.el7.noarch
fros-1.0-2.el7.noarch
lohit-devanagari-fonts-2.5.3-4.el7.noarch
grub2-ppc64le-modules-2.02-0.64.el7.centos.noarch
libgdata-0.17.8-1.el7.ppc64le
evince-nautilus-3.22.1-5.el7.ppc64le
perl-ExtUtils-Embed-1.30-292.el7.noarch
dleyna-connector-dbus-0.2.0-2.el7.ppc64le
libiec61883-1.2.0-10.el7.ppc64le
python-lxml-3.2.1-4.el7.ppc64le
liberation-serif-fonts-1.07.2-15.el7.noarch
tigervnc-license-1.8.0-1.el7.noarch
gnome-packagekit-3.22.1-2.el7.ppc64le
hpijs-3.15.9-3.el7.ppc64le
libmodman-2.0.1-8.el7.ppc64le
ntp-4.2.6p5-25.el7.centos.2.ppc64le
gmp-devel-6.0.0-15.el7.ppc64le
pyxattr-0.5.1-5.el7.ppc64le
sil-abyssinica-fonts-1.200-6.el7.noarch
ncurses-libs-5.9-13.20130511.el7.ppc64le
gnome-dictionary-libs-3.20.0-1.el7.ppc64le
kdesdk-devel-4.10.5-6.el7.ppc64le
libreport-rhel-anaconda-bugzilla-2.1.11-38.el7.centos.ppc64le
libvirt-daemon-config-network-3.2.0-14.el7.ppc64le
boost-iostreams-1.53.0-27.el7.ppc64le
python-ply-3.4-11.el7.noarch
ucs-miscfixed-fonts-0.3-11.el7.noarch
info-5.1-4.el7.ppc64le
libXxf86misc-devel-1.0.3-7.1.el7.ppc64le
ibus-qt-1.3.2-4.el7.ppc64le
gnome-video-effects-0.4.3-1.el7.noarch
bridge-utils-1.5-9.el7.ppc64le
make-3.82-23.el7.ppc64le
pywbem-0.7.0-25.20130827svn625.el7.noarch
pnm2ppa-1.04-28.el7.ppc64le
chkconfig-1.7.4-1.el7.ppc64le
at-spi2-atk-devel-2.22.0-2.el7.ppc64le
freeglut-devel-2.8.1-3.el7.ppc64le
jbigkit-libs-2.0-11.el7.ppc64le
sssd-ipa-1.15.2-50.el7.ppc64le
openssl-libs-1.0.2k-8.el7.ppc64le
ldns-1.6.16-10.el7.ppc64le
rdate-1.4-25.el7.ppc64le
libdb-5.3.21-20.el7.ppc64le
evince-libs-3.22.1-5.el7.ppc64le
empathy-3.12.12-4.el7.ppc64le
rubygem-json-1.7.7-30.el7.ppc64le
dmraid-1.0.0.rc16-28.el7.ppc64le
libblkid-2.23.2-43.el7.ppc64le
logrotate-3.8.6-14.el7.ppc64le
iwl105-firmware-18.168.6.1-56.el7.noarch
grep-2.20-3.el7.ppc64le
xorg-x11-drv-synaptics-1.9.0-1.el7.ppc64le
iowatcher-1.0-6.el7.ppc64le
rubygem-net-http-persistent-2.8-5.el7.noarch
setroubleshoot-plugins-3.0.65-1.el7.noarch
atk-2.22.0-3.el7.ppc64le
libcacard-2.5.2-2.el7.ppc64le
iwl6050-firmware-41.28.5.1-56.el7.noarch
lcms2-2.6-3.el7.ppc64le
tigervnc-server-minimal-1.8.0-1.el7.ppc64le
gvfs-goa-1.30.4-3.el7.ppc64le
authconfig-6.2.8-30.el7.ppc64le
yum-plugin-fastestmirror-1.1.31-42.el7.noarch
dbus-python-1.1.1-9.el7.ppc64le
perl-Archive-Tar-1.92-2.el7.noarch
iwl5000-firmware-8.83.5.1_1-56.el7.noarch
libacl-2.2.51-12.el7.ppc64le
farstream-0.1.2-8.el7.ppc64le
ppc64-utils-0.14-16.el7.ppc64le
servicelog-1.1.14-3.el7.ppc64le
python2-ipaclient-4.5.0-20.el7.centos.noarch
libpeas-1.20.0-1.el7.ppc64le
perl-TermReadKey-2.30-20.el7.ppc64le
hdparm-9.43-5.el7.ppc64le
libicu-50.1.2-15.el7.ppc64le
polkit-qt-0.103.0-10.el7_0.ppc64le
gnome-weather-3.20.2-1.el7.noarch
libmspack-0.5-0.5.alpha.el7.ppc64le
libkkc-data-0.3.1-9.el7.ppc64le
hicolor-icon-theme-0.12-7.el7.noarch
perl-Newt-1.08-36.el7.ppc64le
libstdc++-devel-4.8.5-16.el7_4.1.ppc64le
libexif-0.6.21-6.el7.ppc64le
gtk3-devel-3.22.10-4.el7.ppc64le
gvfs-mtp-1.30.4-3.el7.ppc64le
ncompress-4.2.4.4-3.el7.ppc64le
libXcomposite-0.4.4-4.1.el7.ppc64le
python-decorator-3.4.0-3.el7.noarch
perl-Business-ISBN-Data-20120719.001-2.el7.noarch
gcc-gfortran-4.8.5-16.el7_4.1.ppc64le
cpio-2.11-24.el7.ppc64le
mesa-libGLU-9.0.0-4.el7.ppc64le
baobab-3.22.1-1.el7.ppc64le
device-mapper-libs-1.02.140-8.el7.ppc64le
libXtst-1.2.3-1.el7.ppc64le
ModemManager-glib-1.6.0-2.el7.ppc64le
perl-HTML-Parser-3.71-4.el7.ppc64le
libical-1.0.1-1.el7.ppc64le
xorg-x11-xinit-1.3.4-1.el7.ppc64le
gstreamer1-plugins-base-devel-1.10.4-1.el7.ppc64le
libdrm-2.4.74-1.el7.ppc64le
libXfixes-devel-5.0.3-1.el7.ppc64le
python-gssapi-1.2.0-3.el7.ppc64le
perl-Text-Unidecode-0.04-20.el7.noarch
hunspell-1.3.2-15.el7.ppc64le
kde-settings-19-23.5.el7.centos.noarch
perl-App-cpanminus-1.6922-2.el7.noarch
parted-3.1-28.el7.ppc64le
mesa-libGL-17.0.1-6.20170307.el7.ppc64le
elfutils-libelf-devel-0.168-8.el7.ppc64le
perl-Net-LibIDN-0.12-15.el7.ppc64le
apr-1.4.8-3.el7.ppc64le
kdepimlibs-4.10.5-4.el7.ppc64le
virt-top-1.0.8-23.el7.ppc64le
samba-client-libs-4.6.2-8.el7.ppc64le
gstreamer-plugins-base-0.10.36-10.el7.ppc64le
json-glib-devel-1.2.6-1.el7.ppc64le
perl-autodie-2.16-2.el7.noarch
tar-1.26-32.el7.ppc64le
ksysguard-libs-4.11.19-8.el7.ppc64le
rdma-core-devel-13-7.el7.ppc64le
accountsservice-0.6.45-2.el7.ppc64le
libxklavier-5.4-7.el7.ppc64le
libxml2-devel-2.9.1-6.el7_2.3.ppc64le
ghostscript-fonts-5.50-32.el7.noarch
libassuan-2.1.0-3.el7.ppc64le
libkipi-devel-4.10.5-3.el7.ppc64le
python-smbc-1.0.13-7.el7.ppc64le
initscripts-9.49.39-1.el7.ppc64le
qt3-3.3.8b-51.el7.ppc64le
yum-metadata-parser-1.1.4-10.el7.ppc64le
device-mapper-persistent-data-0.7.0-0.1.rc6.el7.ppc64le
adwaita-icon-theme-3.22.0-1.el7.noarch
kdepim-4.10.5-6.el7.ppc64le
postfix-2.10.1-6.el7.ppc64le
abrt-addon-pstoreoops-2.1.11-48.el7.centos.ppc64le
freerdp-libs-1.0.2-10.el7.ppc64le
langtable-python-0.0.31-3.el7.noarch
tcp_wrappers-7.6-77.el7.ppc64le
lm_sensors-libs-3.4.0-4.20160601gitf9185e5.el7.ppc64le
kde-style-oxygen-4.11.19-8.el7.ppc64le
powertop-2.3-12.el7.ppc64le
wpa_supplicant-2.6-5.el7.ppc64le
gtk3-3.22.10-4.el7.ppc64le
boost-python-1.53.0-27.el7.ppc64le
keyutils-libs-devel-1.5.8-3.el7.ppc64le
libdvdread-5.0.3-3.el7.ppc64le
im-chooser-common-1.6.4-4.el7.ppc64le
aic94xx-firmware-30-6.el7.noarch
media-player-info-17-4.el7.noarch
compat-gnome-desktop314-3.14.2-1.el7.ppc64le
harfbuzz-1.3.2-1.el7.ppc64le
libgcrypt-devel-1.5.3-14.el7.ppc64le
groff-base-1.22.2-8.el7.ppc64le
sane-backends-1.0.24-9.el7.ppc64le
setuptool-1.19.11-8.el7.ppc64le
ebtables-2.0.10-15.el7.ppc64le
libchamplain-0.12.15-1.el7.ppc64le
boost-math-1.53.0-27.el7.ppc64le
libuser-0.60-7.el7_1.ppc64le
boost-date-time-1.53.0-27.el7.ppc64le
espeak-1.47.11-4.el7.ppc64le
tbb-devel-4.1-9.20130314.el7.ppc64le
grub2-tools-minimal-2.02-0.64.el7.centos.ppc64le
gjs-1.46.0-1.el7.ppc64le
libsss_autofs-1.15.2-50.el7.ppc64le
deltarpm-3.6-3.el7.ppc64le
libnl-1.1.4-3.el7.ppc64le
libgpod-0.8.2-12.el7.ppc64le
postgresql-devel-9.2.21-1.el7.ppc64le
libibcm-13-7.el7.ppc64le
abrt-gui-libs-2.1.11-48.el7.centos.ppc64le
libxkbcommon-0.7.1-1.el7.ppc64le
passwd-0.79-4.el7.ppc64le
lsvpd-1.7.8-1.el7.ppc64le
fprintd-0.5.0-4.0.el7_0.ppc64le
hunspell-en-0.20121024-6.el7.noarch
qca-ossl-2.0.0-0.19.beta3.el7.ppc64le
libdmapsharing-2.9.37-1.el7.ppc64le
ortp-0.20.0-10.el7.ppc64le
python-pycurl-7.19.0-19.el7.ppc64le
perl-Pod-Escapes-1.04-292.el7.noarch
pcp-3.11.8-7.el7.ppc64le
libblkid-devel-2.23.2-43.el7.ppc64le
dracut-network-033-502.el7.ppc64le
pyatspi-2.20.3-1.el7.noarch
systemtap-sdt-devel-3.1-3.el7.ppc64le
check-0.9.9-5.el7.ppc64le
perl-threads-shared-1.43-6.el7.ppc64le
gnome-shell-extension-common-3.22.2-10.el7.noarch
gnome-icon-theme-symbolic-3.12.0-2.el7.noarch
abrt-cli-2.1.11-48.el7.centos.ppc64le
festival-speechtools-libs-1.2.96-28.el7.ppc64le
python-slip-dbus-0.4.0-2.el7.noarch
mesa-private-llvm-3.9.1-3.el7.ppc64le
perl-Time-Local-1.2300-2.el7.noarch
yelp-3.22.0-1.el7.ppc64le
fuse-devel-2.9.2-8.el7.ppc64le
dnsmasq-2.76-2.el7.ppc64le
festvox-slt-arctic-hts-0.20061229-28.el7.noarch
libtasn1-devel-4.10-1.el7.ppc64le
libgudev1-219-42.el7.ppc64le
perl-version-0.99.07-2.el7.ppc64le
libvirt-daemon-driver-qemu-3.2.0-14.el7.ppc64le
ps_mem-3.1-7.el7.noarch
rtkit-0.11-10.el7.ppc64le
abrt-gui-2.1.11-48.el7.centos.ppc64le
nettle-devel-2.7.1-8.el7.ppc64le
perl-ExtUtils-Manifest-1.61-244.el7.noarch
libreswan-3.20-3.el7.ppc64le
python-pyudev-0.15-9.el7.noarch
appstream-data-7-20170301.el7.noarch
powerpc-utils-1.3.3-4.el7.ppc64le
setup-2.8.71-7.el7.noarch
enscript-1.6.6-6.el7.ppc64le
libgexiv2-0.10.4-2.el7.ppc64le
perl-Digest-SHA-5.85-4.el7.ppc64le
upower-0.99.4-2.el7.ppc64le
dhcp-libs-4.2.5-58.el7.centos.ppc64le
kbd-1.15.5-13.el7.ppc64le
phonon-backend-gstreamer-4.6.3-3.el7.ppc64le
dejavu-fonts-common-2.33-6.el7.noarch
libaio-devel-0.3.109-13.el7.ppc64le
grubby-8.28-23.el7.ppc64le
perl-CPAN-Meta-2.120921-5.el7.noarch
libmusicbrainz5-5.0.1-9.el7.ppc64le
liberation-mono-fonts-1.07.2-15.el7.noarch
fcoe-utils-1.0.32-1.el7.ppc64le
gvfs-afc-1.30.4-3.el7.ppc64le
m17n-db-1.6.4-3.el7.noarch
time-1.7-45.el7.ppc64le
python-configobj-4.7.2-7.el7.noarch
perl-Log-Message-0.08-3.el7.noarch
glib-networking-2.50.0-1.el7.ppc64le
gnome-classic-session-3.22.2-10.el7.noarch
libglade2-2.6.4-11.el7.ppc64le
langtable-data-0.0.31-3.el7.noarch
dejavu-serif-fonts-2.33-6.el7.noarch
python-requests-2.6.0-1.el7_1.noarch
perl-HTML-Tagset-3.20-15.el7.noarch
gssdp-1.0.1-1.el7.ppc64le
perl-CPANPLUS-Dist-Build-0.70-3.el7.noarch
brasero-nautilus-3.12.1-2.el7.ppc64le
evolution-data-server-3.22.7-6.el7.ppc64le
khmeros-fonts-common-5.0-17.el7.noarch
dejavu-sans-fonts-2.33-6.el7.noarch
python-kmod-0.9-4.el7.ppc64le
lzop-1.03-10.el7.ppc64le
telepathy-salut-0.8.1-6.el7.ppc64le
tbb-4.1-9.20130314.el7.ppc64le
kdegraphics-devel-4.10.5-3.el7.noarch
libcryptui-3.12.2-1.el7.ppc64le
ncurses-base-5.9-13.20130511.el7.noarch
lohit-nepali-fonts-2.5.3-2.el7.noarch
python-configshell-1.1.fb23-3.el7.noarch
acl-2.2.51-12.el7.ppc64le
python-rtslib-2.1.fb63-2.el7.noarch
libreport-plugin-rhtsupport-2.1.11-38.el7.centos.ppc64le
imsettings-qt-1.6.3-9.el7.ppc64le
webkitgtk3-2.4.11-2.el7.ppc64le
libsepol-2.5-6.el7.ppc64le
smc-meera-fonts-6.0-7.el7.noarch
python-mako-0.8.1-2.el7.noarch
pinentry-0.8.1-17.el7.ppc64le
alsa-tools-firmware-1.1.0-1.el7.ppc64le
libgdither-0.6-8.el7.ppc64le
ibus-libpinyin-1.6.91-4.el7.ppc64le
libXp-devel-1.0.2-2.1.el7.ppc64le
nspr-4.13.1-1.0.el7_3.ppc64le
cscope-15.8-10.el7.ppc64le
m2crypto-0.21.1-17.el7.ppc64le
libatomic-4.8.5-16.el7.ppc64le
opencc-0.4.3-3.el7.ppc64le
sbc-1.0-5.el7.ppc64le
SDL-devel-1.2.15-14.el7.ppc64le
vorbis-tools-1.4.0-12.el7.ppc64le
bzip2-libs-1.0.6-13.el7.ppc64le
google-crosextra-carlito-fonts-1.103-0.2.20130920.el7.noarch
nmap-ncat-6.40-7.el7.ppc64le
krb5-libs-1.15.1-8.el7.ppc64le
sssd-krb5-1.15.2-50.el7.ppc64le
cups-filters-libs-1.0.35-22.el7.ppc64le
virt-manager-1.4.1-7.el7.noarch
evince-3.22.1-5.el7.ppc64le
readline-6.2-10.el7.ppc64le
ctags-5.8-13.el7.ppc64le
sound-theme-freedesktop-0.8-3.el7.noarch
ruby-libs-2.0.0.648-30.el7.ppc64le
pth-2.0.7-23.el7.ppc64le
rubygems-2.0.14.1-30.el7.noarch
gnome-dictionary-3.20.0-1.el7.ppc64le
xorg-x11-drv-evdev-2.10.5-2.1.el7.ppc64le
audit-libs-2.7.6-3.el7.ppc64le
iwl135-firmware-18.168.6.1-56.el7.noarch
python-nss-0.16.0-3.el7.ppc64le
json-glib-1.2.6-1.el7.ppc64le
flatpak-libs-0.8.7-1.el7.ppc64le
libutempter-1.1.6-4.el7.ppc64le
ekiga-4.0.1-7.el7.ppc64le
easymock2-2.5.2-12.el7.noarch
keyutils-libs-1.5.8-3.el7.ppc64le
iwl1000-firmware-39.31.5.1-56.el7.noarch
teamd-1.25-5.el7.ppc64le
telepathy-glib-0.24.0-1.el7.ppc64le
PackageKit-yum-1.1.5-1.el7.centos.ppc64le
virt-what-1.13-10.el7.ppc64le
ppc64-diag-2.7.3-3.el7.ppc64le
libpurple-2.10.11-5.el7.ppc64le
libffi-3.0.13-18.el7.ppc64le
iwl2000-firmware-18.168.6.1-56.el7.noarch
perl-YAML-0.84-5.el7.noarch
libxml2-python-2.9.1-6.el7_2.3.ppc64le
lsscsi-0.27-6.el7.ppc64le
systemtap-client-3.1-3.el7.ppc64le
virt-viewer-5.0-7.el7.ppc64le
dbusmenu-qt-0.9.2-7.el7.ppc64le
libtar-1.2.11-29.el7.ppc64le
ccache-3.3.4-1.el7.ppc64le
perl-DBD-SQLite-1.39-3.el7.ppc64le
gnome-icon-theme-3.12.0-1.el7.noarch
gdk-pixbuf2-2.36.5-1.el7.ppc64le
libpath_utils-0.2.1-27.el7.ppc64le
gvfs-archive-1.30.4-3.el7.ppc64le
gnome-online-accounts-devel-3.22.5-1.el7.ppc64le
yajl-2.0.4-4.el7.ppc64le
gcc-4.8.5-16.el7_4.1.ppc64le
perl-Pod-Coverage-0.23-3.el7.noarch
libselinux-python-2.5-11.el7.ppc64le
libX11-devel-1.6.5-1.el7.ppc64le
qrencode-libs-3.4.1-3.el7.ppc64le
gnome-system-log-3.9.90-3.el7.ppc64le
mesa-libGLU-devel-9.0.0-4.el7.ppc64le
boost-system-1.53.0-27.el7.ppc64le
perl-HTTP-Message-6.06-6.el7.noarch
cracklib-2.9.0-11.el7.ppc64le
libXcursor-1.1.14-8.el7.ppc64le
dbus-1.6.12-17.el7.ppc64le
libnotify-devel-0.7.7-1.el7.ppc64le
ibus-gtk3-1.5.3-13.el7.ppc64le
libv4l-0.9.5-4.el7.ppc64le
perl-Time-Piece-1.20.1-292.el7.ppc64le
cracklib-dicts-2.9.0-11.el7.ppc64le
startup-notification-0.12-8.el7.ppc64le
dconf-0.26.0-2.el7.ppc64le
net-snmp-devel-5.7.2-28.el7.ppc64le
kate-part-4.10.5-4.el7.ppc64le
orc-0.4.26-1.el7.ppc64le
kernel-devel-3.10.0-693.el7.ppc64le
avahi-gobject-0.6.31-17.el7.ppc64le
cairo-gobject-1.14.8-2.el7.ppc64le
httpd-2.4.6-67.el7.centos.ppc64le
subversion-1.7.14-10.el7.ppc64le
kdepimlibs-akonadi-4.10.5-4.el7.ppc64le
gdbm-1.10-8.el7.ppc64le
perl-File-CheckTree-4.42-3.el7.noarch
atk-devel-2.22.0-3.el7.ppc64le
java-1.8.0-openjdk-devel-1.8.0.131-11.b12.el7.ppc64le
abrt-dbus-2.1.11-48.el7.centos.ppc64le
qt-mysql-4.8.5-13.el7.ppc64le
libkdcraw-4.10.5-4.el7.ppc64le
libaio-0.3.109-13.el7.ppc64le
urw-fonts-2.4-16.el7.noarch
libgee06-0.6.8-3.el7.ppc64le
libXrandr-devel-1.5.1-2.el7.ppc64le
cronie-anacron-1.4.11-17.el7.ppc64le
mlocate-0.26-6.el7.ppc64le
kdesdk-okteta-devel-4.10.5-6.el7.ppc64le
iso-codes-3.46-2.el7.noarch
e2fsprogs-1.42.9-10.el7.ppc64le
at-spi2-atk-2.22.0-2.el7.ppc64le
libstoragemgmt-python-clibs-1.4.0-3.el7.ppc64le
PackageKit-command-not-found-1.1.5-1.el7.centos.ppc64le
kdenetwork-kopete-devel-4.10.5-8.el7_0.ppc64le
libmnl-1.0.3-7.el7.ppc64le
tcp_wrappers-devel-7.6-77.el7.ppc64le
python-dns-1.12.0-4.20150617git465785f.el7.noarch
libXinerama-devel-1.1.3-2.1.el7.ppc64le
libibverbs-13-7.el7.ppc64le
net-tools-2.0-0.22.20131004git.el7.ppc64le
kde-workspace-libs-4.11.19-8.el7.ppc64le
libwebp-0.3.0-7.el7.ppc64le
libattr-devel-2.4.46-12.el7.ppc64le
libkadm5-1.15.1-8.el7.ppc64le
gcr-3.20.0-1.el7.ppc64le
colord-1.3.4-1.el7.ppc64le
rsyslog-8.24.0-12.el7.ppc64le
im-chooser-1.6.4-4.el7.ppc64le
boost-filesystem-1.53.0-27.el7.ppc64le
libgpg-error-devel-1.12-3.el7.ppc64le
harfbuzz-icu-1.3.2-1.el7.ppc64le
libpeas-gtk-1.20.0-1.el7.ppc64le
abrt-addon-python-2.1.11-48.el7.centos.ppc64le
selinux-policy-targeted-3.13.1-166.el7.noarch
libksane-4.10.5-4.el7.ppc64le
m4-1.4.16-10.el7.ppc64le
xmlrpc-c-client-1.32.5-1905.svn2451.el7.ppc64le
sysvinit-tools-2.88-14.dsf.el7.ppc64le
libnma-1.8.0-3.el7.ppc64le
os-prober-1.58-9.el7.ppc64le
libproxy-mozjs-0.4.11-10.el7.ppc64le
speech-dispatcher-0.7.1-15.el7.ppc64le
boost-signals-1.53.0-27.el7.ppc64le
python-ldap-2.4.15-2.el7.ppc64le
libvpx-1.3.0-5.el7_0.ppc64le
nm-connection-editor-1.8.0-3.el7.ppc64le
NetworkManager-team-1.8.0-9.el7.ppc64le
perf-3.10.0-693.el7.ppc64le
libgsf-1.14.26-7.el7.ppc64le
libpfm-4.7.0-4.el7.ppc64le
postgresql-9.2.21-1.el7.ppc64le
ethtool-4.8-1.el7.ppc64le
xorg-x11-server-utils-7.7-20.el7.ppc64le
attica-0.4.2-1.el7.ppc64le
xfsdump-3.1.4-1.el7.ppc64le
firewalld-filesystem-0.4.4.4-6.el7.noarch
libXfont2-2.0.1-2.el7.ppc64le
net-snmp-agent-libs-5.7.2-28.el7.ppc64le
tcl-devel-8.5.13-8.el7.ppc64le
libgxps-0.2.5-1.el7.ppc64le
cyrus-sasl-devel-2.1.26-21.el7.ppc64le
hmaccalc-0.9.13-4.el7.ppc64le
libwacom-data-0.24-1.el7.noarch
perl-Pod-Usage-1.63-3.el7.noarch
python-yubico-1.2.3-1.el7.noarch
libXxf86vm-devel-1.1.4-1.el7.ppc64le
abrt-tui-2.1.11-48.el7.centos.ppc64le
pinfo-0.6.10-9.el7.ppc64le
gnome-shell-extension-user-theme-3.22.2-10.el7.noarch
perl-File-Path-2.09-2.el7.noarch
xorg-x11-fonts-Type1-7.5-9.el7.noarch
python-firewall-0.4.4.4-6.el7.noarch
libXres-1.0.7-2.1.el7.ppc64le
libcgroup-tools-0.41-13.el7.ppc64le
libnl-devel-1.1.4-3.el7.ppc64le
gnome-user-docs-3.22.0-1.el7.noarch
perl-Pod-Simple-3.28-4.el7.noarch
systemd-libs-219-42.el7.ppc64le
ncurses-devel-5.9-13.20130511.el7.ppc64le
mesa-libEGL-devel-17.0.1-6.20170307.el7.ppc64le
audit-2.7.6-3.el7.ppc64le
iotop-0.6-2.el7.noarch
libvirt-daemon-driver-storage-logical-3.2.0-14.el7.ppc64le
perl-Module-CoreList-2.76.02-292.el7.noarch
libmbim-1.14.0-2.el7.ppc64le
xdg-desktop-portal-0.5-2.el7.ppc64le
perl-Module-Load-0.24-3.el7.noarch
caribou-gtk3-module-0.4.21-1.el7.ppc64le
sqlite-devel-3.7.17-8.el7.ppc64le
centos-indexhtml-7-9.el7.centos.noarch
elfutils-0.168-8.el7.ppc64le
centos-release-7-4.1708.el7.centos.ppc64le
trousers-0.3.14-2.el7.ppc64le
perl-Thread-Queue-3.02-2.el7.noarch
python-meh-gui-0.25.2-1.el7.noarch
gom-0.3.2-1.el7.ppc64le
lldpad-1.0.1-3.git036e314.el7.ppc64le
libgusb-0.2.9-1.el7.ppc64le
liberation-fonts-common-1.07.2-15.el7.noarch
libimobiledevice-1.2.0-1.el7.ppc64le
perl-Module-Pluggable-4.8-3.el7.noarch
ghostscript-cups-9.07-28.el7.ppc64le
osinfo-db-tools-1.1.0-1.el7.ppc64le
kbd-misc-1.15.5-13.el7.noarch
dhcp-common-4.2.5-58.el7.centos.ppc64le
control-center-filesystem-3.22.2-5.el7.ppc64le
libvirt-glib-1.0.0-1.el7.ppc64le
perl-CPAN-Meta-Requirements-2.122-7.el7.noarch
PyQt4-4.10.1-13.el7.ppc64le
btrfs-progs-4.9.1-1.el7.ppc64le
anaconda-gui-21.48.22.121-1.el7.centos.ppc64le
libatasmart-0.19-6.el7.ppc64le
shared-desktop-ontologies-0.11.0-2.el7.noarch
libvirt-daemon-config-nwfilter-3.2.0-14.el7.ppc64le
autoconf-2.69-11.el7.noarch
gnome-terminal-3.22.1-2.el7.ppc64le
python-cups-1.9.63-6.el7.ppc64le
intltool-0.50.2-7.el7.noarch
glibc-headers-2.17-196.el7.ppc64le
kdesdk-common-4.10.5-6.el7.noarch
libvirt-daemon-driver-secret-3.2.0-14.el7.ppc64le
perl-Locale-Maketext-Simple-0.21-292.el7.noarch
gnome-keyring-3.20.0-3.el7.ppc64le
python-sss-murmur-1.15.2-50.el7.ppc64le
vim-enhanced-7.4.160-2.el7.ppc64le
perl-ExtUtils-MakeMaker-6.68-3.el7.noarch
emacs-filesystem-24.3-19.el7_3.noarch
libvncserver-0.9.9-9.el7_0.1.ppc64le
perl-Object-Accessor-0.42-292.el7.noarch
gnome-desktop3-3.22.2-2.el7.ppc64le
python-backports-1.0-8.el7.ppc64le
evolution-help-3.22.6-10.el7.noarch
systemtap-devel-3.1-3.el7.ppc64le
langtable-0.0.31-3.el7.noarch
geocode-glib-3.20.1-1.el7.ppc64le
perl-Compress-Raw-Bzip2-2.061-3.el7.ppc64le
pygtk2-libglade-2.24.0-9.el7.ppc64le
python-urllib3-1.10.2-3.el7.noarch
orca-3.6.3-4.el7.ppc64le
perl-File-Fetch-0.42-2.el7.noarch
latencytop-common-0.5-13.el7.ppc64le
geoclue2-libs-2.4.5-1.el7.ppc64le
perl-Module-Loaded-0.08-292.el7.noarch
webkitgtk4-2.14.7-2.el7.ppc64le
python-paste-1.7.5.1-9.20111221hg1498.el7.noarch
totem-nautilus-3.22.1-1.el7.ppc64le
libtool-2.4.2-22.el7_3.ppc64le
smc-fonts-common-6.0-7.el7.noarch
libnice-0.1.3-4.el7.ppc64le
libdvdnav-5.0.3-1.el7.ppc64le
folks-0.11.3-1.el7.ppc64le
python-ipaddr-2.1.11-1.el7.noarch
xorg-x11-utils-7.5-22.el7.ppc64le
oxygen-icon-theme-4.10.5-2.el7.noarch
libkkc-common-0.3.1-9.el7.noarch
libgovirt-0.3.3-5.el7.ppc64le
boost-timer-1.53.0-27.el7.ppc64le
gnome-packagekit-common-3.22.1-2.el7.ppc64le
javapackages-tools-3.4.1-11.el7.noarch
sane-backends-devel-1.0.24-9.el7.ppc64le
konkretcmpi-0.9.1-5.el7.ppc64le
perl-srpm-macros-1-8.el7.noarch
chrony-3.1-2.el7.centos.ppc64le
fuse-2.9.2-8.el7.ppc64le
evolution-3.22.6-10.el7.ppc64le
python-urwid-1.1.1-3.el7.ppc64le
shotwell-0.24.5-1.el7.ppc64le
libreport-web-2.1.11-38.el7.centos.ppc64le
glibc-2.17-196.el7.ppc64le
usb_modeswitch-data-20160612-2.el7.noarch
patch-2.7.1-8.el7.ppc64le
file-roller-3.22.3-1.el7.ppc64le
python-netaddr-0.7.5-7.el7.noarch
ibus-table-chinese-1.4.6-3.el7.noarch
libreport-plugin-reportuploader-2.1.11-38.el7.centos.ppc64le
pcre-8.32-17.el7.ppc64le
libvirt-daemon-driver-network-3.2.0-14.el7.ppc64le
cyrus-sasl-plain-2.1.26-21.el7.ppc64le
glade-libs-3.20.0-1.el7.ppc64le
python-markupsafe-0.11-10.el7.ppc64le
kdenetwork-devel-4.10.5-8.el7_0.noarch
libreport-plugin-ureport-2.1.11-38.el7.centos.ppc64le
dbus-libs-1.6.12-17.el7.ppc64le
alsa-firmware-1.0.28-2.el7.noarch
mozjs17-17.0.0-19.el7.ppc64le
avahi-ui-gtk3-0.6.31-17.el7.ppc64le
python-cffi-1.6.0-5.el7.ppc64le
xdg-user-dirs-gtk-0.10-4.el7.ppc64le
gavl-1.4.0-4.el7.ppc64le
libjpeg-turbo-1.2.90-5.el7.ppc64le
device-mapper-multipath-0.4.9-111.el7.ppc64le
libcdio-0.92-1.el7.ppc64le
pulseaudio-module-bluetooth-10.0-3.el7.ppc64le
pytalloc-2.1.9-1.el7.ppc64le
ibus-sayura-1.3.2-3.el7.ppc64le
checkpolicy-2.5-4.el7.ppc64le
libICE-1.0.9-9.el7.ppc64le
libvirt-daemon-driver-interface-3.2.0-14.el7.ppc64le
libunistring-0.9.3-9.el7.ppc64le
libXScrnSaver-devel-1.2.2-6.1.el7.ppc64le
openlmi-python-base-0.5.0-4.el7.noarch
PyQt4-devel-4.10.1-13.el7.ppc64le
libndp-1.2-7.el7.ppc64le
libxml2-2.9.1-6.el7_2.3.ppc64le
sssd-krb5-common-1.15.2-50.el7.ppc64le
ncurses-5.9-13.20130511.el7.ppc64le
icedax-1.1.11-23.el7.ppc64le
libmsn-4.2.1-7.el7.ppc64le
evolution-data-server-devel-3.22.7-6.el7.ppc64le
poppler-0.26.5-16.el7.ppc64le
sed-4.2.2-5.el7.ppc64le
sssd-ldap-1.15.2-50.el7.ppc64le
fontconfig-2.10.95-11.el7.ppc64le
pinentry-qt-0.8.1-17.el7.ppc64le
cyrus-sasl-scram-2.1.26-21.el7.ppc64le
paps-0.6.8-28.el7.1.ppc64le
libyaml-0.1.4-11.el7_0.ppc64le
libgpg-error-1.12-3.el7.ppc64le
sgpio-1.2.0.10-13.el7.ppc64le
alsa-lib-1.1.3-3.el7.ppc64le
gutenprint-5.2.9-18.el7.ppc64le
openslp-2.0.0-6.el7.ppc64le
ruby-irb-2.0.0.648-30.el7.noarch
libgcrypt-1.5.3-14.el7.ppc64le
python-blivet-0.61.15.65-1.el7.noarch
gzip-1.5-9.el7.ppc64le
xorg-x11-drv-void-1.4.1-2.el7.ppc64le
nss-pem-1.0.3-4.el7.ppc64le
rubygem-rdoc-4.0.0-30.el7.noarch
libcap-ng-0.7.5-4.el7.ppc64le
rpm-build-libs-4.11.3-25.el7.ppc64le
shared-mime-info-1.8-3.el7.ppc64le
xorg-x11-drv-v4l-0.2.0-47.el7.ppc64le
nss-tools-3.28.4-8.el7.ppc64le
libsemanage-2.5-8.el7.ppc64le
libxcb-1.12-1.el7.ppc64le
flatpak-0.8.7-1.el7.ppc64le
gstreamer1-1.10.4-2.el7.ppc64le
xorg-x11-drv-nouveau-1.0.13-3.el7.ppc64le
sgml-common-0.6.3-39.el7.noarch
util-linux-2.23.2-43.el7.ppc64le
libtdb-1.3.12-2.el7.ppc64le
rpm-devel-4.11.3-25.el7.ppc64le
gobject-introspection-1.50.0-1.el7.ppc64le
qdox-1.12.1-10.el7.noarch
libteam-1.25-5.el7.ppc64le
openssh-clients-7.4p1-11.el7.ppc64le
libattr-2.4.46-12.el7.ppc64le
python-meh-0.25.2-1.el7.noarch
avahi-glib-0.6.31-17.el7.ppc64le
rhino-1.7R5-1.el7.noarch
perl-Pod-Checker-1.60-2.el7.noarch
rarian-0.8.1-11.el7.ppc64le
gmp-6.0.0-15.el7.ppc64le
createrepo-0.9.9-28.el7.noarch
python-gobject-base-3.22.0-1.el7.ppc64le
telepathy-haze-0.8.0-1.el7.ppc64le
perl-Version-Requirements-0.101022-244.el7.noarch
tog-pegasus-2.14.1-5.el7.ppc64le
lua-5.1.4-15.el7.ppc64le
libburn-1.2.8-4.el7.ppc64le
openssl-1.0.2k-8.el7.ppc64le
dleyna-server-0.5.0-1.el7.ppc64le
perl-IO-HTML-1.00-2.el7.noarch
libsemanage-python-2.5-8.el7.ppc64le
libidn-1.28-4.el7.ppc64le
nss-devel-3.28.4-8.el7.ppc64le
net-snmp-libs-5.7.2-28.el7.ppc64le
paps-libs-0.6.8-28.el7.1.ppc64le
perl-DBIx-Simple-1.35-7.el7.noarch
lzo-minilzo-2.06-8.el7.ppc64le
libref_array-0.1.5-27.el7.ppc64le
libX11-1.6.5-1.el7.ppc64le
xdg-utils-1.1.0-0.17.20120809git.el7.noarch
harfbuzz-devel-1.3.2-1.el7.ppc64le
perl-CGI-3.63-4.el7.noarch
libini_config-1.3.0-27.el7.ppc64le
xmlrpc-c-1.32.5-1905.svn2451.el7.ppc64le
libXfixes-5.0.3-1.el7.ppc64le
glibmm24-2.50.0-1.el7.ppc64le
webkitgtk4-devel-2.14.7-2.el7.ppc64le
perl-Devel-Symdump-2.10-2.el7.noarch
libpipeline-1.2.3-3.el7.ppc64le
mpfr-3.1.1-4.el7.ppc64le
libXrandr-1.5.1-2.el7.ppc64le
cyrus-sasl-gssapi-2.1.26-21.el7.ppc64le
gtk2-devel-2.24.31-1.el7.ppc64le
perl-URI-1.60-9.el7.noarch
kpartx-0.4.9-111.el7.ppc64le
file-libs-5.11-33.el7.ppc64le
libXext-devel-1.3.3-3.el7.ppc64le
libSM-devel-1.2.2-2.el7.ppc64le
qt-devel-4.8.5-13.el7.ppc64le
perl-HTTP-Date-6.02-8.el7.noarch
dracut-033-502.el7.ppc64le
libtool-ltdl-2.4.2-22.el7_3.ppc64le
libcanberra-0.30-5.el7.ppc64le
python-enum34-1.0.4-1.el7.noarch
libxkbfile-devel-1.0.9-3.el7.ppc64le
perl-HTTP-Cookies-6.01-5.el7.noarch
polkit-0.112-12.el7_3.ppc64le
libtheora-1.1.1-8.el7.ppc64le
libXpm-3.5.12-1.el7.ppc64le
libevent-2.0.21-4.el7.ppc64le
ibus-gtk2-1.5.3-13.el7.ppc64le
kdelibs-common-4.14.8-6.el7_3.ppc64le
systemd-sysv-219-42.el7.ppc64le
diffutils-3.3-4.el7.ppc64le
libXv-1.0.11-1.el7.ppc64le
pam-1.1.8-18.el7.ppc64le
imsettings-gsettings-1.6.3-9.el7.ppc64le
perl-YAML-Tiny-1.51-6.el7.noarch
GConf2-3.2.6-8.el7.ppc64le
libtasn1-4.10-1.el7.ppc64le
libxkbfile-1.0.9-3.el7.ppc64le
gettext-libs-0.19.8.1-2.el7.ppc64le
kdelibs-ktexteditor-4.14.8-6.el7_3.ppc64le
perl-Env-1.04-2.el7.noarch
libpciaccess-0.13.4-3.el7_3.ppc64le
nss-softokn-3.28.3-6.el7.ppc64le
pango-1.40.4-1.el7.ppc64le
telepathy-logger-0.8.0-5.el7.ppc64le
nepomuk-core-4.10.5-5.el7.ppc64le
perl-Net-HTTP-6.06-2.el7.noarch
samba-common-4.6.2-8.el7.noarch
libsigc++20-2.10.0-1.el7.ppc64le
cogl-1.22.2-1.el7.ppc64le
pcre-devel-8.32-17.el7.ppc64le
kdenetwork-kopete-libs-4.10.5-8.el7_0.ppc64le
icoutils-0.31.3-1.el7_3.ppc64le
pyparted-3.9-13.el7.ppc64le
apr-util-1.5.2-6.el7.ppc64le
giflib-4.1.6-9.el7.ppc64le
expat-devel-2.1.0-10.el7_3.ppc64le
kdesdk-okteta-4.10.5-6.el7.ppc64le
papi-5.2.0-23.el7.ppc64le
abrt-python-2.1.11-48.el7.centos.ppc64le
lzo-2.06-8.el7.ppc64le
java-1.8.0-openjdk-1.8.0.131-11.b12.el7.ppc64le
libffi-devel-3.0.13-18.el7.ppc64le
kwin-libs-4.11.19-8.el7.ppc64le
xorg-x11-font-utils-7.5-20.el7.ppc64le
iscsi-initiator-utils-iscsiuio-6.2.0.874-4.el7.ppc64le
file-5.11-33.el7.ppc64le
libXft-devel-2.3.2-2.el7.ppc64le
libipa_hbac-1.15.2-50.el7.ppc64le
kwin-gles-libs-4.11.19-8.el7.ppc64le
libsamplerate-0.1.8-6.el7.ppc64le
cronie-1.4.11-17.el7.ppc64le
xml-common-0.6.3-39.el7.noarch
ghostscript-9.07-28.el7.ppc64le
libpinyin-data-0.9.93-4.el7.ppc64le
kde-runtime-libs-4.10.5-8.el7.ppc64le
ipset-6.29-1.el7.ppc64le
plymouth-0.8.9-0.28.20140113.el7.centos.ppc64le
taglib-1.8-7.20130218git.el7.ppc64le
at-spi2-core-2.22.0-1.el7.ppc64le
xfsprogs-4.5.0-12.el7.ppc64le
kdepim-runtime-4.10.5-3.el7.ppc64le
libusbmuxd-1.0.10-5.el7.ppc64le
libstoragemgmt-python-1.4.0-3.el7.noarch
libseccomp-2.3.1-3.el7.ppc64le
gstreamer1-plugins-good-1.10.4-2.el7.ppc64le
pyusb-1.0.0-0.11.b1.el7.noarch
nepomuk-core-devel-4.10.5-5.el7.ppc64le
libofa-0.9.3-24.el7.ppc64le
device-mapper-event-1.02.140-8.el7.ppc64le
librtas-2.0.1-1.el7.ppc64le
libXcomposite-devel-0.4.4-4.1.el7.ppc64le
audit-libs-python-2.7.6-3.el7.ppc64le
okular-libs-4.10.5-4.el7.ppc64le
gdisk-0.8.6-5.el7.ppc64le
libibumad-13-7.el7.ppc64le
libsndfile-1.0.25-10.el7.ppc64le
libXxf86misc-1.0.3-7.1.el7.ppc64le
pyparsing-1.5.6-9.el7.noarch
kdesdk-kmtrace-libs-4.10.5-6.el7.ppc64le
attr-2.4.46-12.el7.ppc64le
rpcbind-0.2.0-42.el7.ppc64le
slang-2.2.4-11.el7.ppc64le
gtk2-2.24.31-1.el7.ppc64le
libssh2-1.4.3-10.el7_2.1.ppc64le
kdesdk-kompare-4.10.5-6.el7.ppc64le
openssl-devel-1.0.2k-8.el7.ppc64le
bluez-5.44-2.el7.ppc64le
boost-thread-1.53.0-27.el7.ppc64le
clutter-gtk-1.8.2-1.el7.ppc64le
soundtouch-1.4.0-9.el7.ppc64le
ibus-table-1.5.0-5.el7.noarch
setools-libs-3.3.8-1.1.el7.ppc64le
ppp-2.4.5-33.el7.ppc64le
libvpd-2.2.5-1.el7.ppc64le
clutter-gst3-3.0.22-1.el7.ppc64le
boost-test-1.53.0-27.el7.ppc64le
libgphoto2-2.5.2-5.el7.ppc64le
libcurl-7.29.0-42.el7.ppc64le
libmtp-1.1.6-5.el7.ppc64le
unzip-6.0-16.el7.ppc64le
vte291-0.46.2-1.el7.ppc64le
boost-random-1.53.0-27.el7.ppc64le
hplip-libs-3.15.9-3.el7.ppc64le
openldap-2.4.44-5.el7.ppc64le
rsync-3.0.9-18.el7.ppc64le
psmisc-22.20-15.el7.ppc64le
compat-cheese314-3.14.2-1.el7.ppc64le
dosfstools-3.0.20-9.el7.ppc64le
sane-backends-drivers-cameras-1.0.24-9.el7.ppc64le
kde-filesystem-4-47.el7.ppc64le
cryptsetup-1.7.4-3.el7.ppc64le
boost-program-options-1.53.0-27.el7.ppc64le
libgnomekbd-3.22.0.1-1.el7.ppc64le
libsrtp-1.4.4-10.20101004cvs.el7.ppc64le
speech-dispatcher-python-0.7.1-15.el7.ppc64le
raptor2-2.0.9-3.el7.ppc64le
grub2-tools-2.02-0.64.el7.centos.ppc64le
libiodbc-3.52.7-7.el7.ppc64le
gtk-vnc2-0.7.0-2.el7.ppc64le
libdv-1.0.0-17.el7.ppc64le
libXxf86dga-1.1.4-2.1.el7.ppc64le
python-deltarpm-3.6-3.el7.ppc64le
ibacm-13-7.el7.ppc64le
opus-1.0.2-6.el7.ppc64le
system-config-printer-libs-1.4.1-19.el7.noarch
libthai-0.1.14-9.el7.ppc64le
tracker-1.10.5-4.el7.ppc64le
shared-desktop-ontologies-devel-0.11.0-2.el7.noarch
qt-4.8.5-13.el7.ppc64le
pcre2-10.23-2.el7.ppc64le
gtkspell3-3.0.3-4.el7.ppc64le
libevdev-1.5.6-1.el7.ppc64le
totem-3.22.1-1.el7.ppc64le
virtuoso-opensource-6.1.6-6.el7.ppc64le
strigi-libs-0.7.7-12.20120626.el7.ppc64le
boost-wave-1.53.0-27.el7.ppc64le
libXmu-devel-1.1.2-2.el7.ppc64le
iproute-3.10.0-87.el7.ppc64le
firewalld-0.4.4.4-6.el7.noarch
color-filesystem-1-13.el7.noarch
automoc-1.0-0.20.rc3.el7.ppc64le
perl-Pod-Perldoc-3.20-4.el7.noarch
poppler-utils-0.26.5-16.el7.ppc64le
boost-1.53.0-27.el7.ppc64le
pcp-libs-3.11.8-7.el7.ppc64le
pykickstart-1.99.66.12-1.el7.noarch
openldap-devel-2.4.44-5.el7.ppc64le
perl-Encode-2.51-7.el7.ppc64le
python-gobject-3.22.0-1.el7.ppc64le
krb5-workstation-1.15.1-8.el7.ppc64le
libwacom-0.24-1.el7.ppc64le
isomd5sum-1.0.10-5.el7.ppc64le
abrt-addon-vmcore-2.1.11-48.el7.centos.ppc64le
perl-constant-1.27-2.el7.noarch
compat-libcogl12-1.14.0-3.el7.ppc64le
python-libipa_hbac-1.15.2-50.el7.ppc64le
gdm-3.22.3-11.el7.ppc64le
gstreamer1-devel-1.10.4-2.el7.ppc64le
abrt-retrace-client-2.1.11-48.el7.centos.ppc64le
perl-Exporter-5.68-3.el7.noarch
libXpm-devel-3.5.12-1.el7.ppc64le
python2-pyasn1-modules-0.1.9-7.el7.noarch
gnome-shell-extension-alternate-tab-3.22.2-10.el7.noarch
ttmkfdir-3.0.9-42.el7.ppc64le
samba-libs-4.6.2-8.el7.ppc64le
perl-File-Temp-0.23.01-3.el7.noarch
brltty-4.5-15.el7.ppc64le
sos-3.4-6.el7.centos.noarch
gnome-shell-extension-window-list-3.22.2-10.el7.noarch
clucene-core-2.3.3.4-11.el7.ppc64le
osinfo-db-20170423-2.el7.noarch
perl-macros-5.16.3-292.el7.ppc64le
python-brlapi-0.6.0-15.el7.ppc64le
libselinux-devel-2.5-11.el7.ppc64le
quota-nls-4.01-14.el7.noarch
elfutils-libs-0.168-8.el7.ppc64le
oddjob-mkhomedir-0.31.5-4.el7.ppc64le
perl-5.16.3-292.el7.ppc64le
opal-3.10.10-4.el7.ppc64le
gstreamer-tools-0.10.36-7.el7.ppc64le
libvirt-daemon-driver-storage-scsi-3.2.0-14.el7.ppc64le
satyr-0.13-14.el7.ppc64le
polkit-docs-0.112-12.el7_3.noarch
perl-Compress-Raw-Zlib-2.061-4.el7.ppc64le
compat-libcogl-pango12-1.14.0-3.el7.ppc64le
alsa-lib-devel-1.1.3-3.el7.ppc64le
libvirt-daemon-driver-storage-mpath-3.2.0-14.el7.ppc64le
NetworkManager-libnm-1.8.0-9.el7.ppc64le
tcsh-6.18.01-15.el7.ppc64le
perl-XML-Dumper-0.81-17.el7.noarch
libpfm-devel-4.7.0-4.el7.ppc64le
unixODBC-devel-2.3.1-11.el7.ppc64le
rcs-5.9.0-5.el7.ppc64le
ltrace-0.7.91-14.el7.ppc64le
ed-1.9-4.el7.ppc64le
wqy-zenhei-fonts-0.9.46-11.el7.noarch
lohit-bengali-fonts-2.5.3-4.el7.noarch
paratype-pt-sans-fonts-20101909-3.el7.noarch
paktype-naskh-basic-fonts-4.1-3.el7.noarch
lklug-fonts-0.6-10.20090803cvs.el7.noarch
lohit-kannada-fonts-2.5.3-3.el7.noarch
cjkuni-uming-fonts-0.2.20080216.1-53.el7.noarch
vlgothic-fonts-20130607-2.el7.noarch
lohit-telugu-fonts-2.5.3-3.el7.noarch
gnu-free-serif-fonts-20120503-8.el7.noarch
jomolhari-fonts-0.003-17.el7.noarch
scl-utils-20130529-17.el7_1.ppc64le
diffstat-1.57-4.el7.ppc64le
xorg-x11-drivers-7.7-6.el7.ppc64le
setserial-2.17-33.el7.ppc64le
vinagre-3.22.0-8.el7.ppc64le
man-pages-overrides-7.4.3-1.el7.ppc64le
gedit-3.22.0-3.el7.ppc64le
iwl5150-firmware-8.24.2.2-56.el7.noarch
gnome-contacts-3.22.1-1.el7.ppc64le
words-3.0-22.el7.noarch
setroubleshoot-3.2.28-3.el7.ppc64le
iwl7265-firmware-22.0.7.0-56.el7.noarch
gnome-system-monitor-3.22.2-2.el7.ppc64le
man-pages-3.53-5.el7.noarch
librsvg2-devel-2.40.16-1.el7.ppc64le
gpg-pubkey-f4a80eb5-53a7ff4b
system-config-printer-udev-1.4.1-19.el7.ppc64le
gnome-calculator-3.22.3-1.el7.ppc64le
libgcc-4.8.5-16.el7_4.1.ppc64le
gvfs-afp-1.30.4-3.el7.ppc64le
cpp-4.8.5-16.el7_4.1.ppc64le
latencytop-0.5-13.el7.ppc64le
gcc-c++-4.8.5-16.el7_4.1.ppc64le
gtk3-immodule-xim-3.22.10-4.el7.ppc64le
mousetweaks-3.12.0-1.el7.ppc64le
qt3-MySQL-3.3.8b-51.el7.ppc64le
xvattr-1.3-27.el7.ppc64le
yum-langpacks-0.4.2-7.el7.noarch
rpm-build-4.11.3-25.el7.ppc64le
virt-install-1.4.1-7.el7.noarch
samba-client-4.6.2-8.el7.ppc64le
qt-odbc-4.8.5-13.el7.ppc64le
NetworkManager-tui-1.8.0-9.el7.ppc64le
avahi-0.6.31-17.el7.ppc64le
httpd-manual-2.4.6-67.el7.centos.noarch
PackageKit-gstreamer-plugin-1.1.5-1.el7.centos.ppc64le
tuned-2.8.0-5.el7.noarch
qemu-guest-agent-2.8.0-2.el7.ppc64le
smartmontools-6.2-8.el7.ppc64le
openssh-server-7.4p1-11.el7.ppc64le
dracut-config-rescue-033-502.el7.ppc64le
openlmi-providers-devel-0.5.0-4.el7.ppc64le
oprofile-0.9.9-22.el7.ppc64le
perl-homedir-1.008010-4.el7.noarch
libgudev1-devel-219-42.el7.ppc64le
sudo-1.8.19p2-10.el7.ppc64le
libacl-devel-2.2.51-12.el7.ppc64le
perl-XML-Twig-3.44-2.el7.noarch
crash-trace-command-2.0-12.el7.ppc64le
crash-gcore-command-1.3.1-0.el7.ppc64le
libgnome-keyring-devel-3.12.0-1.el7.ppc64le
binutils-devel-2.25.1-31.base.el7.ppc64le
libcap-ng-devel-0.7.5-4.el7.ppc64le
bash-completion-2.1-6.el7.noarch
dstat-0.7.2-12.el7.noarch
wget-1.14-15.el7.ppc64le
gpg-pubkey-352c64e5-52ae6884
certmonger-0.78.4-3.el7.ppc64le
libatomic-static-4.8.5-16.el7.ppc64le
libicu-devel-50.1.2-15.el7.ppc64le
caribou-0.4.21-1.el7.ppc64le
grub2-common-2.02-0.64.el7.centos.noarch
plymouth-graphics-libs-0.8.9-0.28.20140113.el7.centos.ppc64le
kernel-3.10.0-693.el7.ppc64le
perl-Perl-OSType-1.003-3.el7.noarch
libvirt-daemon-3.2.0-14.el7.ppc64le
ledmon-0.80-2.el7.ppc64le
gupnp-av-0.12.10-1.el7.ppc64le
cups-1.6.3-29.el7.ppc64le
mozilla-filesystem-1.9-11.el7.ppc64le
libqmi-utils-1.16.0-1.el7.ppc64le
anaconda-core-21.48.22.121-1.el7.centos.ppc64le
perl-JSON-PP-2.27202-2.el7.noarch
libvirt-client-3.2.0-14.el7.ppc64le
numactl-devel-2.0.9-6.el7_2.ppc64le
cups-client-1.6.3-29.el7.ppc64le
mutter-3.22.3-11.el7.ppc64le
ipa-common-4.5.0-20.el7.centos.noarch
glibc-devel-2.17-196.el7.ppc64le
firefox-52.2.0-2.el7.centos.ppc64le
perl-Params-Check-0.38-2.el7.noarch
virt-manager-common-1.4.1-7.el7.noarch
indent-2.2.11-13.el7.ppc64le
python-linux-procfs-0.4.9-3.el7.noarch
gnome-session-3.22.3-4.el7.ppc64le
adwaita-cursor-theme-3.22.0-1.el7.noarch
perl-Archive-Extract-0.68-3.el7.noarch
gnome-initial-setup-3.22.1-4.el7.ppc64le
perl-IO-Compress-2.061-2.el7.noarch
geoclue2-2.4.5-1.el7.ppc64le
khmeros-base-fonts-5.0-17.el7.noarch
python-tempita-0.5.1-6.el7.noarch
gnome-online-accounts-3.22.5-1.el7.ppc64le
nhn-nanum-fonts-common-3.020-9.el7.noarch
gobject-introspection-devel-1.50.0-1.el7.ppc64le
rhythmbox-3.4.1-1.el7.ppc64le
libavc1394-0.5.3-14.el7.ppc64le
telepathy-gabble-0.18.1-4.el7.ppc64le
stix-fonts-1.1.0-5.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
gnome-packagekit-installer-3.22.1-2.el7.ppc64le
mesa-filesystem-17.0.1-6.20170307.el7.ppc64le
konkretcmpi-python-0.9.1-5.el7.ppc64le
libsane-hpaio-3.15.9-3.el7.ppc64le
copy-jdk-configs-2.2-3.el7.noarch
usb_modeswitch-2.4.0-5.el7.ppc64le
nhn-nanum-gothic-fonts-3.020-9.el7.noarch
pytz-2016.10-2.el7.noarch
librsvg2-tools-2.40.16-1.el7.ppc64le
bash-4.2.46-28.el7.ppc64le
libreport-plugin-bugzilla-2.1.11-38.el7.centos.ppc64le
kde-workspace-devel-4.11.19-8.el7.ppc64le
libdb-devel-5.3.21-20.el7.ppc64le
fxload-2002_04_11-16.el7.ppc64le
google-crosextra-caladea-fonts-1.002-0.4.20130214.el7.noarch
python-pycparser-2.14-1.el7.noarch
libtimezonemap-0.4.4-1.el7.ppc64le
libcom_err-1.42.9-10.el7.ppc64le
frei0r-plugins-1.3-13.el7.ppc64le
ibus-m17n-1.3.4-13.el7.ppc64le
libcdio-paranoia-10.2+0.90-11.el7.ppc64le
netcf-libs-0.2.8-4.el7.ppc64le
lohit-punjabi-fonts-2.5.3-2.el7.noarch
cmpi-bindings-pywbem-0.9.5-6.el7.ppc64le
at-spi2-core-devel-2.22.0-1.el7.ppc64le
xz-libs-5.2.2-1.el7.ppc64le
libasyncns-0.8-7.el7.ppc64le
libcanberra-devel-0.30-5.el7.ppc64le
coreutils-8.22-18.el7.ppc64le
sssd-ad-1.15.2-50.el7.ppc64le
doxygen-1.8.5-3.el7.ppc64le
httpd-tools-2.4.6-67.el7.centos.ppc64le
libspectre-0.2.8-1.el7.ppc64le
cyrus-sasl-lib-2.1.26-21.el7.ppc64le
rubygem-bigdecimal-1.2.0-30.el7.ppc64le
icedtea-web-1.6.2-4.el7.ppc64le
libarchive-3.1.2-10.el7_2.ppc64le
python-pyblock-0.53-6.el7.ppc64le
byacc-1.9.20130304-3.el7.ppc64le
wodim-1.1.11-23.el7.ppc64le
xorg-x11-drv-qxl-0.1.5-3.el7.ppc64le
elfutils-libelf-0.168-8.el7.ppc64le
rubygem-thor-0.19.1-1.el7.noarch
file-roller-nautilus-3.22.3-1.el7.ppc64le
pkgconfig-0.27.1-4.el7.ppc64le
setroubleshoot-server-3.2.28-3.el7.ppc64le
iwl2030-firmware-18.168.6.1-56.el7.noarch
mailx-12.5-16.el7.ppc64le
xorg-x11-drv-fbdev-0.4.3-25.el7.ppc64le
libtevent-0.9.31-1.el7.ppc64le
policycoreutils-2.5-17.1.el7.ppc64le
java-1.7.0-openjdk-devel-1.7.0.141-2.6.10.5.el7.ppc64le
gsettings-desktop-schemas-3.22.0-1.el7.ppc64le
yum-3.4.3-154.el7.centos.noarch
iwl6000g2a-firmware-17.168.5.3-56.el7.noarch
perl-B-Lint-1.17-3.el7.noarch
gstreamer-plugins-bad-free-0.10.23-23.el7.ppc64le
libvorbis-1.3.3-8.el7.ppc64le
rarian-compat-0.8.1-11.el7.ppc64le
abrt-desktop-2.1.11-48.el7.centos.ppc64le
desktop-file-utils-0.23-1.el7.ppc64le
libiptcdata-1.0.4-11.el7.ppc64le
gpg-pubkey-f533f4fa-56585169
perl-DB_File-1.830-6.el7.ppc64le
compat-poppler022-qt-0.22.5-4.el7.ppc64le
libldb-1.1.29-1.el7.ppc64le
http-parser-2.7.1-1.el7.ppc64le
NetworkManager-libreswan-gnome-1.2.4-2.el7.ppc64le
centos-logos-70.0.6-3.el7.centos.noarch
libX11-common-1.6.5-1.el7.noarch
libstdc++-4.8.5-16.el7_4.1.ppc64le
perl-FCGI-0.74-8.el7.ppc64le
pango-devel-1.40.4-1.el7.ppc64le
libbasicobjects-0.1.1-27.el7.ppc64le
gtk2-immodule-xim-2.24.31-1.el7.ppc64le
libgnome-keyring-3.12.0-1.el7.ppc64le
libXrender-0.9.10-1.el7.ppc64le
libitm-devel-4.8.5-16.el7_4.1.ppc64le
perl-Business-ISBN-2.06-2.el7.noarch
freeglut-2.8.1-3.el7.ppc64le
device-mapper-1.02.140-8.el7.ppc64le
xdg-desktop-portal-gtk-0.5-1.el7.ppc64le
libudisks2-2.1.2-6.el7.ppc64le
pulseaudio-libs-10.0-3.el7.ppc64le
perl-HTTP-Daemon-6.01-5.el7.noarch
xorg-x11-xauth-1.0.9-1.el7.ppc64le
nettle-2.7.1-8.el7.ppc64le
polkit-pkla-compat-0.1-4.el7.ppc64le
startup-notification-devel-0.12-8.el7.ppc64le
genisoimage-1.1.11-23.el7.ppc64le
dbus-x11-1.6.12-17.el7.ppc64le
perl-Text-Soundex-3.04-4.el7.ppc64le
xdg-user-dirs-0.15-4.el7.ppc64le
jansson-2.10-1.el7.ppc64le
NetworkManager-glib-1.8.0-9.el7.ppc64le
rpm-sign-4.11.3-25.el7.ppc64le
gettext-0.19.8.1-2.el7.ppc64le
cairo-1.14.8-2.el7.ppc64le
perl-IO-Socket-SSL-1.94-6.el7.noarch
kdepimlibs-kxmlrpcclient-4.10.5-4.el7.ppc64le
libplist-1.12-3.el7.ppc64le
libwbclient-4.6.2-8.el7.ppc64le
cgdcbxd-1.0.2-7.el7.ppc64le
glib2-devel-2.50.3-3.el7.ppc64le
gdk-pixbuf2-devel-2.36.5-1.el7.ppc64le
theora-tools-1.1.1-8.el7.ppc64le
libkipi-4.10.5-3.el7.ppc64le
libmng-1.0.10-14.el7.ppc64le
abrt-addon-kerneloops-2.1.11-48.el7.centos.ppc64le
grub2-2.02-0.64.el7.centos.ppc64le
xz-devel-5.2.2-1.el7.ppc64le
xorg-x11-xkb-utils-7.7-12.el7.ppc64le
libverto-tevent-0.2.5-4.el7.ppc64le
libkdcraw-devel-4.10.5-4.el7.ppc64le
bzip2-1.0.6-13.el7.ppc64le
iputils-20160308-10.el7.ppc64le
cifs-utils-6.2-10.el7.ppc64le
libpinyin-0.9.93-4.el7.ppc64le
libao-1.1.0-8.el7.ppc64le
gdbm-devel-1.10-8.el7.ppc64le
kdepim-libs-4.10.5-6.el7.ppc64le
libxshmfence-1.2-1.el7.ppc64le
libstoragemgmt-1.4.0-3.el7.ppc64le
psacct-6.6.1-13.el7.ppc64le
pyliblzma-0.5.3-11.el7.ppc64le
libXcursor-devel-1.1.14-8.el7.ppc64le
hesiod-3.2.1-3.el7.ppc64le
okular-devel-4.10.5-4.el7.ppc64le
gsm-1.0.13-11.el7.ppc64le
telepathy-mission-control-5.16.3-3.el7.ppc64le
rng-tools-5-11.el7.ppc64le
python-chardet-2.2.1-1.el7_1.noarch
libcanberra-gtk3-0.30-5.el7.ppc64le
krb5-devel-1.15.1-8.el7.ppc64le
kdesdk-kompare-devel-4.10.5-6.el7.ppc64le
unixODBC-2.3.1-11.el7.ppc64le
dbus-devel-1.6.12-17.el7.ppc64le
kpatch-0.4.0-1.el7.noarch
graphite2-1.3.6-1.el7_2.ppc64le
nautilus-extensions-3.22.3-3.el7.ppc64le
libdb-utils-5.3.21-20.el7.ppc64le
sane-backends-libs-1.0.24-9.el7.ppc64le
zip-3.0-11.el7.ppc64le
mdadm-4.0-5.el7.ppc64le
memstomp-0.1.4-11.el7.ppc64le
libconfig-1.4.9-5.el7.ppc64le
clutter-gst2-2.0.18-1.el7.ppc64le
postgresql-libs-9.2.21-1.el7.ppc64le
gsound-1.0.2-2.el7.ppc64le
ilmbase-1.0.3-7.el7.ppc64le
udisks2-2.1.2-6.el7.ppc64le
perl-core-5.16.3-292.el7.ppc64le
pcsc-lite-libs-1.8.8-6.el7.ppc64le
gvnc-0.7.0-2.el7.ppc64le
qemu-img-1.5.3-141.el7.ppc64le
libappstream-glib-0.6.10-1.el7.ppc64le
sg3_utils-libs-1.37-12.el7.ppc64le
librdmacm-13-7.el7.ppc64le
adcli-0.8.1-3.el7.ppc64le
libnfnetlink-1.0.1-4.el7.ppc64le
colord-gtk-0.1.25-4.el7.ppc64le
libuser-python-0.60-7.el7_1.ppc64le
libfprint-0.5.0-4.el7.ppc64le
OpenEXR-libs-1.7.1-7.el7.ppc64le
attica-devel-0.4.2-1.el7.ppc64le
papi-devel-5.2.0-23.el7.ppc64le
m17n-lib-1.6.4-14.el7.ppc64le
qimageblitz-0.0.6-7.el7.ppc64le
python-urlgrabber-3.10-8.el7.noarch
pcp-selinux-3.11.8-7.el7.ppc64le
perl-Text-ParseWords-3.29-4.el7.noarch
apr-util-devel-1.5.2-6.el7.ppc64le
readline-devel-6.2-10.el7.ppc64le
python-kitchen-1.1.1-5.el7.noarch
gnome-abrt-0.3.4-8.el7.ppc64le
check-devel-0.9.9-5.el7.ppc64le
pulseaudio-gdm-hooks-10.0-3.el7.ppc64le
perl-Scalar-List-Utils-1.27-248.el7.ppc64le
abrt-addon-ccpp-2.1.11-48.el7.centos.ppc64le
gnome-icon-theme-extras-3.12.0-1.el7.noarch
python-slip-0.4.0-2.el7.noarch
brlapi-0.6.0-15.el7.ppc64le
qpdf-libs-5.0.1-3.el7.ppc64le
yelp-xsl-3.20.1-1.el7.noarch
perl-Storable-2.45-3.el7.ppc64le
libosinfo-1.0.0-1.el7.ppc64le
libcap-devel-2.22-9.el7.ppc64le
libepoxy-devel-1.3.1-1.el7.ppc64le
festival-1.96-28.el7.ppc64le
libusbx-1.0.20-1.el7.ppc64le
libvirt-daemon-driver-storage-disk-3.2.0-14.el7.ppc64le
perl-Test-Harness-3.28-3.el7.noarch
polkit-devel-0.112-12.el7_3.ppc64le
perl-Crypt-SSLeay-0.64-5.el7.ppc64le
libverto-devel-0.2.5-4.el7.ppc64le
caribou-gtk2-module-0.4.21-1.el7.ppc64le
vim-filesystem-7.4.160-2.el7.ppc64le
procps-ng-3.3.10-16.el7.ppc64le
NetworkManager-libreswan-1.2.4-2.el7.ppc64le
perl-Module-Metadata-1.000018-2.el7.noarch
pixman-devel-0.34.0-1.el7.ppc64le
patchutils-0.3.3-4.el7.ppc64le
filesystem-3.2-21.el7.ppc64le
cups-filesystem-1.6.3-29.el7.noarch
gettext-devel-0.19.8.1-2.el7.ppc64le
usbredir-0.7.1-2.el7.ppc64le
neon-0.30.0-3.el7.ppc64le
perl-LWP-MediaTypes-6.02-2.el7.noarch
python-qrcode-core-5.0.1-1.el7.noarch
hyphen-en-2.8.6-5.el7.noarch
gnu-free-fonts-common-20120503-8.el7.noarch
gtkmm30-3.22.0-1.el7.ppc64le
initial-setup-gui-0.3.9.40-1.el7.centos.ppc64le
libhugetlbfs-2.16-12.el7.ppc64le
subversion-libs-1.7.14-10.el7.ppc64le
perl-Encode-Locale-1.03-5.el7.noarch
python-inotify-0.9.4-4.el7.noarch
nano-2.3.1-10.el7.ppc64le
mobile-broadband-provider-info-1.20170310-1.el7.noarch
adwaita-gtk2-theme-3.22.2-1.el7.ppc64le
ipa-client-4.5.0-20.el7.centos.ppc64le
perl-IPC-Cmd-0.80-4.el7.noarch
libsoup-2.56.0-3.el7.ppc64le
perl-Term-UI-0.36-2.el7.noarch
python-setuptools-0.9.8-7.el7.noarch
dejavu-sans-mono-fonts-2.33-6.el7.noarch
bind-license-9.9.4-50.el7.noarch
webkitgtk4-jsc-2.14.7-2.el7.ppc64le
firewall-config-0.4.4.4-6.el7.noarch
perl-CPAN-1.9800-292.el7.noarch
gupnp-1.0.1-1.el7.ppc64le
boost-graph-1.53.0-27.el7.ppc64le
python-perf-3.10.0-693.el7.ppc64le
overpass-fonts-2.1-1.el7.noarch
thai-scalable-fonts-common-0.5.0-7.el7.noarch
webkitgtk4-jsc-devel-2.14.7-2.el7.ppc64le
pulseaudio-module-x11-10.0-3.el7.ppc64le
marisa-0.2.4-4.el7.ppc64le
gnutls-c++-3.3.26-9.el7.ppc64le
ca-certificates-2017.2.14-71.el7.noarch
python-idna-2.4-1.el7.noarch
strace-4.12-4.el7.ppc64le
nss-softokn-freebl-3.28.3-6.el7.ppc64le
vino-3.22.0-3.el7.ppc64le
libXaw-devel-1.0.13-4.el7.ppc64le
libreport-centos-2.1.11-38.el7.centos.ppc64le
alsa-utils-1.1.3-2.el7.ppc64le
libnl3-cli-3.2.28-4.el7.ppc64le
python-iniparse-0.4-9.el7.noarch
traceroute-2.0.22-2.el7.ppc64le
libselinux-2.5-11.el7.ppc64le
keybinder3-0.3.0-1.el7.ppc64le
kdepim-devel-4.10.5-6.el7.ppc64le
pakchois-0.4-10.el7.ppc64le
cryptsetup-python-1.7.4-3.el7.ppc64le
libjpeg-turbo-devel-1.2.90-5.el7.ppc64le
python-jwcrypto-0.2.1-1.el7.noarch
lohit-malayalam-fonts-2.5.3-2.el7.noarch
libpng-1.5.13-7.el7_2.ppc64le
freerdp-plugins-1.0.2-10.el7.ppc64le
ibus-chewing-1.4.4-14.el7.ppc64le
libfastjson-0.99.4-2.el7.ppc64le
libsss_sudo-1.15.2-50.el7.ppc64le
redhat-menus-12.0.2-8.el7.noarch
bind-libs-9.9.4-50.el7.ppc64le
gnu-free-sans-fonts-20120503-8.el7.noarch
libuuid-2.23.2-43.el7.ppc64le
festival-freebsoft-utils-0.10-7.el7.noarch
unique3-devel-3.0.2-8.el7.ppc64le
compat-poppler022-0.22.5-4.el7.ppc64le
sssd-proxy-1.15.2-50.el7.ppc64le
python-2.7.5-58.el7.ppc64le
libwvstreams-4.6.1-11.el7.ppc64le
lrzsz-0.12.20-36.el7.ppc64le
sqlite-3.7.17-8.el7.ppc64le
xorg-x11-server-common-1.19.3-11.el7.ppc64le
sushi-3.21.91-1.el7.ppc64le
rubygem-psych-2.0.0-30.el7.ppc64le
gnupg2-2.0.22-4.el7.ppc64le
libmount-2.23.2-43.el7.ppc64le
nss-3.28.4-8.el7.ppc64le
iwl3160-firmware-22.0.7.0-56.el7.noarch
libnl3-3.2.28-4.el7.ppc64le
xorg-x11-drv-ati-7.7.1-3.20160928git3fc839ff.el7.ppc64le
evolution-mapi-3.22.6-1.el7.ppc64le
libservicelog-1.1.17-2.el7.ppc64le
perl-PAR-Dist-0.49-2.el7.noarch
dbus-glib-0.100-7.el7.ppc64le
docbook-style-xsl-1.78.1-3.el7.noarch
iwl100-firmware-39.31.5.1-56.el7.noarch
libxslt-1.1.28-5.el7.ppc64le
junit-4.11-8.el7.noarch
gnome-session-xsession-3.22.3-4.el7.ppc64le
selinux-policy-3.13.1-166.el7.noarch
PackageKit-1.1.5-1.el7.centos.ppc64le
zlib-devel-1.2.7-17.el7.ppc64le
perl-libxml-perl-0.08-19.el7.noarch
iwl4965-firmware-228.61.2.24-56.el7.noarch
p11-kit-0.23.5-3.el7.ppc64le
spice-gtk3-0.33-6.el7.ppc64le
pygobject3-devel-3.22.0-1.el7.ppc64le
systemtap-runtime-3.1-3.el7.ppc64le
nss-softokn-freebl-devel-3.28.3-6.el7.ppc64le
libgee-0.18.1-1.el7.ppc64le
perl-PlRPC-0.2020-14.el7.noarch
python34-libs-3.4.5-4.el7.ppc64le
json-c-0.11-4.el7_0.ppc64le
plymouth-plugin-two-step-0.8.9-0.28.20140113.el7.centos.ppc64le
gnome-font-viewer-3.22.0-1.el7.ppc64le
sssd-client-1.15.2-50.el7.ppc64le
libXext-1.3.3-3.el7.ppc64le
nspr-devel-4.13.1-1.0.el7_3.ppc64le
perl-Algorithm-Diff-1.1902-17.el7.noarch
libgomp-4.8.5-16.el7_4.1.ppc64le
tcp_wrappers-libs-7.6-77.el7.ppc64le
libgdata-devel-0.17.8-1.el7.ppc64le
gnome-screenshot-3.22.0-1.el7.ppc64le
mtdev-1.1.5-5.el7.ppc64le
mesa-libEGL-17.0.1-6.20170307.el7.ppc64le
libpng-devel-1.5.13-7.el7_2.ppc64le
perl-Digest-SHA1-2.13-9.el7.ppc64le
libdhash-0.4.3-27.el7.ppc64le
phonon-devel-4.6.0-10.el7.ppc64le
qt3-ODBC-3.3.8b-51.el7.ppc64le
systemd-219-42.el7.ppc64le
libXinerama-1.1.3-2.1.el7.ppc64le
gdb-7.6.1-100.el7.ppc64le
perl-File-Listing-6.04-7.el7.noarch
jasper-libs-1.900.1-31.el7.ppc64le
ibus-setup-1.5.3-13.el7.noarch
spice-vdagent-0.14.0-14.el7.ppc64le
PackageKit-glib-1.1.5-1.el7.centos.ppc64le
libXmu-1.1.2-2.el7.ppc64le
atkmm-2.24.2-1.el7.ppc64le
perl-Sys-Syslog-0.33-3.el7.ppc64le
libXdmcp-1.1.2-6.el7.ppc64le
kdelibs-devel-4.14.8-6.el7_3.ppc64le
targetcli-2.1.fb46-1.el7.noarch
libcgroup-0.41-13.el7.ppc64le
qt-x11-4.8.5-13.el7.ppc64le
libxcb-devel-1.12-1.el7.ppc64le
perl-HTML-Format-2.10-7.el7.noarch
libsss_idmap-1.15.2-50.el7.ppc64le
kactivities-4.10.5-3.el7.ppc64le
httpd-devel-2.4.6-67.el7.centos.ppc64le
abrt-2.1.11-48.el7.centos.ppc64le
java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.5.el7.ppc64le
apr-devel-1.4.8-3.el7.ppc64le
cdparanoia-10.2-17.el7.ppc64le
libpcap-1.5.3-9.el7.ppc64le
libkworkspace-4.11.19-8.el7.ppc64le
dbus-glib-devel-0.100-7.el7.ppc64le
crontabs-1.11-6.20121102git.el7.noarch
libXi-devel-1.7.9-1.el7.ppc64le
gnome-menus-3.13.3-3.el7.ppc64le
libieee1284-devel-0.2.11-15.el7.ppc64le
kmod-libs-20-15.el7.ppc64le
kde-runtime-4.10.5-8.el7.ppc64le
mod_ssl-2.4.6-67.el7.centos.ppc64le
cyrus-sasl-2.1.26-21.el7.ppc64le
libXScrnSaver-1.2.2-6.1.el7.ppc64le
python-augeas-0.5.0-2.el7.noarch
LibRaw-0.14.8-5.el7.20120830git98d925.ppc64le
hyphen-2.8.6-5.el7.ppc64le
kdenetwork-krdc-libs-4.10.5-8.el7_0.ppc64le
opal-prd-5.5.0-1.el7.ppc64le
rdma-core-13-7.el7.ppc64le
pulseaudio-10.0-3.el7.ppc64le
python-sssdconfig-1.15.2-50.el7.noarch
libisofs-1.2.8-4.el7.ppc64le
libverto-0.2.5-4.el7.ppc64le
kdesdk-kmtrace-devel-4.10.5-6.el7.ppc64le
systemd-devel-219-42.el7.ppc64le
mesa-dri-drivers-17.0.1-6.20170307.el7.ppc64le
clutter-1.26.0-1.el7.ppc64le
fipscheck-1.4.1-6.el7.ppc64le
dwz-0.11-3.el7.ppc64le
boost-regex-1.53.0-27.el7.ppc64le
libXaw-1.0.13-4.el7.ppc64le
systemd-python-219-42.el7.ppc64le
zenity-3.22.0-1.el7.ppc64le
boost-atomic-1.53.0-27.el7.ppc64le
rpm-libs-4.11.3-25.el7.ppc64le
GeoIP-1.5.0-11.el7.ppc64le
libksane-devel-4.10.5-4.el7.ppc64le
rubygem-bundler-1.7.8-3.el7.noarch
git-1.8.3.1-11.el7.ppc64le
brasero-libs-3.12.1-2.el7.ppc64le
c-ares-1.10.0-3.el7.ppc64le
libnfsidmap-0.25-17.el7.ppc64le
cdparanoia-libs-10.2-17.el7.ppc64le
tk-8.5.13-6.el7.ppc64le
libhugetlbfs-devel-2.16-12.el7.ppc64le
NetworkManager-wifi-1.8.0-9.el7.ppc64le
libcanberra-gtk2-0.30-5.el7.ppc64le
hostname-3.13-3.el7.ppc64le
redland-1.0.16-6.el7.ppc64le
libdaemon-0.14-7.el7.ppc64le
brasero-3.12.1-2.el7.ppc64le
cups-devel-1.6.3-29.el7.ppc64le
qca2-2.0.3-7.el7.ppc64le
pangomm-2.40.1-1.el7.ppc64le
libnetfilter_conntrack-1.0.6-1.el7_3.ppc64le
sip-devel-4.14.6-4.el7.ppc64le
perl-parent-0.225-244.el7.noarch
libkkc-0.3.1-9.el7.ppc64le
crypto-utils-2.4.1-42.el7.ppc64le
lvm2-2.02.171-8.el7.ppc64le
poppler-glib-0.26.5-16.el7.ppc64le
crash-7.1.9-2.el7.ppc64le
libbluray-0.2.3-5.el7.ppc64le
perl-Filter-1.49-3.el7.ppc64le
control-center-3.22.2-5.el7.ppc64le
c-ares-devel-1.10.0-3.el7.ppc64le
sysstat-10.1.5-12.el7.ppc64le
mesa-libGL-devel-17.0.1-6.20170307.el7.ppc64le
python-pwquality-1.2.3-4.el7.ppc64le
liblouis-python-2.5.2-10.el7.noarch
perl-PathTools-3.40-5.el7.ppc64le
gnome-shell-extension-apps-menu-3.22.2-10.el7.noarch
hunspell-devel-1.3.2-15.el7.ppc64le
policycoreutils-python-2.5-17.1.el7.ppc64le
libwnck3-3.20.1-1.el7.ppc64le
gsettings-desktop-schemas-devel-3.22.0-1.el7.ppc64le
lsof-4.87-4.el7.ppc64le
perl-Getopt-Long-2.40-2.el7.noarch
nfs-utils-1.3.0-0.48.el7.ppc64le
mtr-0.85-7.el7.ppc64le
autofs-5.0.7-69.el7.ppc64le
cairo-devel-1.14.8-2.el7.ppc64le
xorg-x11-xbitmaps-1.1.1-6.el7.noarch
libreport-2.1.11-38.el7.centos.ppc64le
perl-XML-Parser-2.41-10.el7.ppc64le
libvirt-daemon-driver-storage-3.2.0-14.el7.ppc64le
python2-caribou-0.4.21-1.el7.noarch
fontpackages-filesystem-1.44-8.el7.noarch
perl-Test-Pod-1.48-3.el7.noarch
libuuid-devel-2.23.2-43.el7.ppc64le
perl-Package-Constants-0.02-292.el7.noarch
gnutls-3.3.26-9.el7.ppc64le
libreport-cli-2.1.11-38.el7.centos.ppc64le
gettext-common-devel-0.19.8.1-2.el7.noarch
cups-filters-1.0.35-22.el7.ppc64le
xkeyboard-config-2.20-1.el7.noarch
bison-3.0.4-1.el7.ppc64le
compat-libcolord1-1.0.4-1.el7.ppc64le
perl-Digest-MD5-2.52-3.el7.ppc64le
gnutls-dane-3.3.26-9.el7.ppc64le
libusbx-devel-1.0.20-1.el7.ppc64le
initial-setup-0.3.9.40-1.el7.centos.ppc64le
libchamplain-gtk-0.12.15-1.el7.ppc64le
libreport-filesystem-2.1.11-38.el7.centos.ppc64le
m17n-contrib-1.1.14-3.el7.noarch
newt-python-0.52.15-4.el7.ppc64le
perl-Locale-Maketext-1.23-3.el7.noarch
libvirt-daemon-driver-nodedev-3.2.0-14.el7.ppc64le
perl-ExtUtils-Install-1.58-292.el7.noarch
libvirt-3.2.0-14.el7.ppc64le
gnome-themes-standard-3.22.2-1.el7.ppc64le
gl-manpages-1.1-7.20130122.el7.noarch
lohit-gujarati-fonts-2.5.3-2.el7.noarch
python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch
perl-local-lib-1.008010-4.el7.noarch
rest-0.8.0-1.el7.ppc64le
perl-Module-Build-0.40.05-2.el7.noarch
ibus-kkc-1.5.18-7.el7.ppc64le
webkitgtk4-plugin-process-gtk2-2.14.7-2.el7.ppc64le
basesystem-10.0-7.el7.centos.noarch
madan-fonts-2.000-11.el7.noarch
python-beaker-1.5.4-10.el7.noarch
boost-locale-1.53.0-27.el7.ppc64le
dleyna-core-0.5.0-1.el7.ppc64le
liberation-sans-fonts-1.07.2-15.el7.noarch
tk-devel-8.5.13-6.el7.ppc64le
gnome-packagekit-updater-3.22.1-2.el7.ppc64le
cim-schema-2.33.0-6.el7.noarch
lohit-assamese-fonts-2.5.3-2.el7.noarch
tagsoup-1.2.1-8.el7.noarch
libshout-2.2.2-11.el7.ppc64le
ntpdate-4.2.6p5-25.el7.centos.2.ppc64le
libproxy-0.4.11-10.el7.ppc64le
gvfs-gphoto2-1.30.4-3.el7.ppc64le
gspell-1.2.3-1.el7.ppc64le
sil-nuosu-fonts-2.1.1-5.el7.noarch
python-ntplib-0.3.2-1.el7.noarch
bc-1.06.95-13.el7.ppc64le
libvirt-daemon-driver-lxc-3.2.0-14.el7.ppc64le
libreport-anaconda-2.1.11-38.el7.centos.ppc64le
kdepimlibs-devel-4.10.5-4.el7.ppc64le
unique3-3.0.2-8.el7.ppc64le
freetype-2.4.11-15.el7.ppc64le
lohit-marathi-fonts-2.5.3-2.el7.noarch
python2-cryptography-1.7.2-1.el7.ppc64le
libss-1.42.9-10.el7.ppc64le
kernel-tools-libs-3.10.0-693.el7.ppc64le
libsysfs-2.1.0-16.el7.ppc64le
ibus-hangul-1.4.2-10.el7.ppc64le
freerdp-1.0.2-10.el7.ppc64le
popt-1.13-16.el7.ppc64le
open-sans-fonts-1.10-1.el7.noarch
bind-libs-lite-9.9.4-50.el7.ppc64le
lksctp-tools-1.0.17-2.el7.ppc64le
sssd-common-pac-1.15.2-50.el7.ppc64le
libtiff-4.0.3-27.el7_3.ppc64le
gnome-desktop3-devel-3.22.2-2.el7.ppc64le
cdrdao-1.2.3-20.el7.ppc64le
expat-2.1.0-10.el7_3.ppc64le
latrace-0.5.11-6.1.el7.ppc64le
perl-Net-SSLeay-1.55-6.el7.ppc64le
cups-libs-1.6.3-29.el7.ppc64le
dmraid-events-1.0.0.rc16-28.el7.ppc64le
rubygem-io-console-0.4.2-30.el7.ppc64le
gutenprint-cups-5.2.9-18.el7.ppc64le
xorg-x11-server-Xorg-1.19.3-11.el7.ppc64le
libtalloc-2.1.9-1.el7.ppc64le
iwl6000g2b-firmware-17.168.5.2-56.el7.noarch
nss-sysinit-3.28.4-8.el7.ppc64le
glib2-2.50.3-3.el7.ppc64le
rpm-python-4.11.3-25.el7.ppc64le
ustr-1.0.4-16.el7.ppc64le
gucharmap-3.18.2-1.el7.ppc64le
xorg-x11-drv-dummy-0.3.7-1.el7.ppc64le
libogg-1.3.0-7.el7.ppc64le
iwl6000-firmware-9.221.4.1-56.el7.noarch
docbook-dtds-1.0-60.el7.noarch
xorg-x11-proto-devel-7.7-20.el7.noarch
pygpgme-0.3-9.el7.ppc64le
openssh-7.4p1-11.el7.ppc64le
cheese-3.22.1-1.el7.ppc64le
jline-1.0-8.el7.noarch
libcap-2.22-9.el7.ppc64le
ivtv-firmware-20080701-26.el7.noarch
perl-Pod-LaTeX-0.61-2.el7.noarch
enchant-1.6.0-8.el7.ppc64le
python2-ipalib-4.5.0-20.el7.centos.noarch
tog-pegasus-libs-2.14.1-5.el7.ppc64le
firstboot-19.12-1.el7.ppc64le
gupnp-dlna-0.10.5-1.el7.ppc64le
which-2.20-7.el7.ppc64le
epel-release-7-9.noarch
perl-Net-Daemon-0.48-5.el7.noarch
libcroco-0.6.11-1.el7.ppc64le
liboauth-devel-0.9.7-4.el7.ppc64le
libhangul-0.1.0-8.el7.ppc64le
eog-3.20.5-2.el7.ppc64le
plymouth-theme-charge-0.8.9-0.28.20140113.el7.centos.ppc64le
libcollection-0.6.2-27.el7.ppc64le
libgfortran-4.8.5-16.el7_4.1.ppc64le
perl-Locale-Codes-3.26-2.el7.noarch
pygobject2-2.28.6-11.el7.ppc64le
libXdamage-1.1.4-4.1.el7.ppc64le
libestr-0.1.9-2.el7.ppc64le
PackageKit-gtk3-module-1.1.5-1.el7.centos.ppc64le
libgweather-devel-3.20.4-1.el7.ppc64le
xz-5.2.2-1.el7.ppc64le
perl-WWW-RobotRules-6.02-5.el7.noarch
libICE-devel-1.0.9-9.el7.ppc64le
libXft-2.3.2-2.el7.ppc64le
cryptsetup-libs-1.7.4-3.el7.ppc64le
alsa-plugins-pulseaudio-1.1.1-1.el7.ppc64le
glx-utils-8.2.0-3.el7.ppc64le
speex-1.2-0.19.rc1.el7.ppc64le
perl-HTTP-Negotiate-6.01-5.el7.noarch
libtirpc-0.2.4-0.10.el7.ppc64le
pulseaudio-libs-glib2-10.0-3.el7.ppc64le
mesa-libgbm-17.0.1-6.20170307.el7.ppc64le
pulseaudio-libs-devel-10.0-3.el7.ppc64le
imsettings-1.6.3-9.el7.ppc64le
hunspell-en-US-0.20121024-6.el7.noarch
perl-IO-Socket-IP-0.21-4.el7.noarch
nss-util-devel-3.28.4-3.el7.ppc64le
libXxf86vm-1.1.4-1.el7.ppc64le
hwdata-0.252-8.6.el7.ppc64le
kernel-tools-3.10.0-693.el7.ppc64le
nepomuk-core-libs-4.10.5-5.el7.ppc64le
exiv2-libs-0.23-6.el7.ppc64le
perl-libwww-perl-6.05-2.el7.noarch
p11-kit-devel-0.23.5-3.el7.ppc64le
librsvg2-2.40.16-1.el7.ppc64le
libsmbclient-4.6.2-8.el7.ppc64le
abrt-console-notification-2.1.11-48.el7.centos.ppc64le
kdesdk-okteta-libs-4.10.5-6.el7.ppc64le
boost-chrono-1.53.0-27.el7.ppc64le
iw-4.3-1.el7.ppc64le
libcom_err-devel-1.42.9-10.el7.ppc64le
akonadi-1.9.2-4.el7.ppc64le
accountsservice-libs-0.6.45-2.el7.ppc64le
wvdial-1.61-9.el7.ppc64le
libkexiv2-devel-4.10.5-3.el7.ppc64le
libmpc-1.0.1-3.el7.ppc64le
lm_sensors-devel-3.4.0-4.20160601gitf9185e5.el7.ppc64le
meanwhile-1.1.0-12.el7.ppc64le
libXt-devel-1.1.5-3.el7.ppc64le
plymouth-scripts-0.8.9-0.28.20140113.el7.centos.ppc64le
mod_fcgid-2.3.9-4.el7.ppc64le
kdepim-runtime-libs-4.10.5-3.el7.ppc64le
mesa-libglapi-17.0.1-6.20170307.el7.ppc64le
hunspell-en-GB-0.20121024-6.el7.noarch
sip-4.14.6-4.el7.ppc64le
cairomm-1.12.0-1.el7.ppc64le
abrt-addon-xorg-2.1.11-48.el7.centos.ppc64le
ModemManager-1.6.0-2.el7.ppc64le
kdenetwork-krdc-devel-4.10.5-8.el7_0.ppc64le
libieee1284-0.2.11-15.el7.ppc64le
highlight-3.13-3.el7.ppc64le
pyOpenSSL-0.13.1-3.el7.ppc64le
gtk-update-icon-cache-3.22.10-4.el7.ppc64le
NetworkManager-1.8.0-9.el7.ppc64le
crda-3.13_2016.02.08-1.el7.ppc64le
kdesdk-kompare-libs-4.10.5-6.el7.ppc64le
newt-0.52.15-4.el7.ppc64le
xcb-util-0.4.0-2.el7.ppc64le
automake-1.13.4-3.el7.noarch
libgweather-3.20.4-1.el7.ppc64le
lockdev-1.0.4-0.13.20111007git.el7.ppc64le
man-db-2.6.3-9.el7.ppc64le
gd-2.0.35-26.el7.ppc64le
exempi-2.2.0-8.el7.ppc64le
curl-7.29.0-42.el7.ppc64le
snappy-1.1.0-3.el7.ppc64le
libreport-gtk-2.1.11-38.el7.centos.ppc64le
unbound-libs-1.4.20-34.el7.ppc64le
tcpdump-4.9.0-5.el7.ppc64le
sane-backends-drivers-scanners-1.0.24-9.el7.ppc64le
libedit-3.0-12.20121213cvs.el7.ppc64le
liboauth-0.9.7-4.el7.ppc64le
libmpcdec-1.2.6-12.el7.ppc64le
libnm-gtk-1.8.0-3.el7.ppc64le
grub2-tools-extra-2.02-0.64.el7.centos.ppc64le
libdmx-1.1.3-3.el7.ppc64le
wavpack-4.60.1-9.el7.ppc64le
rasqal-0.9.30-4.el7.ppc64le
autogen-libopts-5.18-5.el7.ppc64le
gnome-bluetooth-libs-3.20.1-1.el7.ppc64le
qt-settings-19-23.5.el7.centos.noarch
libxslt-devel-1.1.28-5.el7.ppc64le
grilo-plugins-0.3.4-1.el7.ppc64le
SDL-1.2.15-14.el7.ppc64le
sip-macros-4.14.6-4.el7.ppc64le
iptables-1.4.21-18.0.1.el7.centos.ppc64le
gstreamer-plugins-good-0.10.31-13.el7.ppc64le
qjson-0.8.1-4.el7.ppc64le
perl-Test-Pod-Coverage-1.08-21.el7.noarch
pcp-conf-3.11.8-7.el7.ppc64le
perl-podlators-2.5.1-3.el7.noarch
libcurl-devel-7.29.0-42.el7.ppc64le
graphite2-devel-1.3.6-1.el7_2.ppc64le
pygtk2-2.24.0-9.el7.ppc64le
kexec-tools-2.0.14-17.el7.ppc64le
iptables-devel-1.4.21-18.0.1.el7.centos.ppc64le
gnome-shell-3.22.3-17.el7.ppc64le
perl-Carp-1.26-244.el7.noarch
liblouis-2.5.2-10.el7.ppc64le
dvd+rw-tools-7.1-15.el7.ppc64le
ptlib-2.10.10-6.el7.ppc64le
samba-common-libs-4.6.2-8.el7.ppc64le
gvfs-devel-1.30.4-3.el7.ppc64le
gnome-shell-extension-launch-new-instance-3.22.2-10.el7.noarch
perl-libs-5.16.3-292.el7.ppc64le
libselinux-utils-2.5-11.el7.ppc64le
libsepol-devel-2.5-6.el7.ppc64le
festival-lib-1.96-28.el7.ppc64le
oddjob-0.31.5-4.el7.ppc64le
latencytop-tui-0.5-13.el7.ppc64le
libvirt-daemon-driver-storage-core-3.2.0-14.el7.ppc64le
perl-Data-Dumper-2.145-3.el7.ppc64le
libreport-python-2.1.11-38.el7.centos.ppc64le
libical-devel-1.0.1-1.el7.ppc64le
libmx-1.4.7-10.el7.ppc64le
cups-pk-helper-0.2.6-2.el7.ppc64le
=== TEST BEGIN ===
Install prefix    /var/tmp/patchew-tester-tmp-9019xv17/src/install
BIOS directory    /var/tmp/patchew-tester-tmp-9019xv17/src/install/share/qemu
firmware path     /var/tmp/patchew-tester-tmp-9019xv17/src/install/share/qemu-firmware
binary directory  /var/tmp/patchew-tester-tmp-9019xv17/src/install/bin
library directory /var/tmp/patchew-tester-tmp-9019xv17/src/install/lib
module directory  /var/tmp/patchew-tester-tmp-9019xv17/src/install/lib/qemu
libexec directory /var/tmp/patchew-tester-tmp-9019xv17/src/install/libexec
include directory /var/tmp/patchew-tester-tmp-9019xv17/src/install/include
config directory  /var/tmp/patchew-tester-tmp-9019xv17/src/install/etc
local state directory   /var/tmp/patchew-tester-tmp-9019xv17/src/install/var
Manual directory  /var/tmp/patchew-tester-tmp-9019xv17/src/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /var/tmp/patchew-tester-tmp-9019xv17/src
GIT binary        git
GIT submodules    ui/keycodemapdb dtc capstone
C compiler        cc
Host C compiler   cc
C++ compiler      c++
Objective-C compiler cc
ARFLAGS           rv
CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS       -I/usr/include/pixman-1   -I$(SRC_PATH)/dtc/libfdt -Werror -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -DNCURSES_WIDECHAR   -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv  -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -Wno-missing-braces -I/usr/include/p11-kit-1       -I/usr/include/libpng15   -I$(SRC_PATH)/capstone/include
LDFLAGS           -Wl,--warn-common -m64 -g 
make              make
install           install
python            python -B
smbd              /usr/sbin/smbd
module support    no
host CPU          ppc64
host big endian   no
target list       aarch64-softmmu alpha-softmmu arm-softmmu cris-softmmu hppa-softmmu i386-softmmu lm32-softmmu m68k-softmmu microblazeel-softmmu microblaze-softmmu mips64el-softmmu mips64-softmmu mipsel-softmmu mips-softmmu moxie-softmmu nios2-softmmu or1k-softmmu ppc64-softmmu ppcemb-softmmu ppc-softmmu s390x-softmmu sh4eb-softmmu sh4-softmmu sparc64-softmmu sparc-softmmu tricore-softmmu unicore32-softmmu x86_64-softmmu xtensaeb-softmmu xtensa-softmmu aarch64_be-linux-user aarch64-linux-user alpha-linux-user armeb-linux-user arm-linux-user cris-linux-user hppa-linux-user i386-linux-user m68k-linux-user microblazeel-linux-user microblaze-linux-user mips64el-linux-user mips64-linux-user mipsel-linux-user mips-linux-user mipsn32el-linux-user mipsn32-linux-user nios2-linux-user or1k-linux-user ppc64abi32-linux-user ppc64le-linux-user ppc64-linux-user ppc-linux-user s390x-linux-user sh4eb-linux-user sh4-linux-user sparc32plus-linux-user sparc64-linux-user sparc-linux-user tilegx-linux-user x86_64-linux-user
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
SDL support       yes (1.2.15)
GTK support       yes (3.22.10)
GTK GL support    no
VTE support       no 
TLS priority      NORMAL
GNUTLS support    yes
GNUTLS rnd        yes
libgcrypt         no
libgcrypt kdf     no
nettle            yes (2.7.1)
nettle kdf        yes
libtasn1          yes
curses support    yes
virgl support     no
curl support      yes
mingw32 support   no
Audio drivers     oss
Block whitelist (rw) 
Block whitelist (ro) 
VirtFS support    yes
Multipath support no
VNC support       yes
VNC SASL support  yes
VNC JPEG support  yes
VNC PNG support   yes
xen support       no
brlapi support    no
bluez  support    no
Documentation     no
PIE               no
vde support       no
netmap support    no
Linux AIO support yes
ATTR/XATTR support yes
Install blobs     yes
KVM support       yes
HAX support       no
HVF support       no
TCG support       yes
TCG debug enabled no
TCG interpreter   no
malloc trim support yes
RDMA support      yes
fdt support       yes
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
libcap-ng support yes
vhost-net support yes
vhost-scsi support yes
vhost-vsock support yes
vhost-user support yes
Trace backends    log
spice support     no 
rbd support       no
xfsctl support    no
smartcard support no
libusb            yes
usb net redir     no
OpenGL support    no
OpenGL dmabufs    no
libiscsi support  no
libnfs support    no
build guest agent yes
QGA VSS support   no
QGA w32 disk info no
QGA MSI support   no
seccomp support   no
coroutine backend ucontext
coroutine pool    yes
debug stack usage no
crypto afalg      no
GlusterFS support no
gcov              gcov
gcov enabled      no
TPM support       yes
libssh2 support   no
TPM passthrough   no
TPM emulator      yes
QOM debugging     yes
Live block migration yes
lzo support       no
snappy support    no
bzip2 support     yes
NUMA host support yes
libxml2           yes
tcmalloc support  no
jemalloc support  no
avx2 optimization no
replication support yes
VxHS block device no
capstone          git
vmbus support     yes

WARNING: Use of SDL 1.2 is deprecated and will be removed in
WARNING: future releases. Please switch to using SDL 2.0
  GEN     aarch64-softmmu/config-devices.mak.tmp
  GEN     alpha-softmmu/config-devices.mak.tmp
  GEN     arm-softmmu/config-devices.mak.tmp
  GEN     cris-softmmu/config-devices.mak.tmp
  GEN     hppa-softmmu/config-devices.mak.tmp
  GEN     i386-softmmu/config-devices.mak.tmp
  GEN     lm32-softmmu/config-devices.mak.tmp
  GEN     m68k-softmmu/config-devices.mak.tmp
  GEN     microblaze-softmmu/config-devices.mak.tmp
  GEN     mips64-softmmu/config-devices.mak.tmp
  GEN     mips64el-softmmu/config-devices.mak.tmp
  GEN     mipsel-softmmu/config-devices.mak.tmp
  GEN     mips-softmmu/config-devices.mak.tmp
  GEN     microblazeel-softmmu/config-devices.mak.tmp
  GEN     moxie-softmmu/config-devices.mak.tmp
  GEN     nios2-softmmu/config-devices.mak.tmp
  GEN     ppc64-softmmu/config-devices.mak.tmp
  GEN     or1k-softmmu/config-devices.mak.tmp
  GEN     ppcemb-softmmu/config-devices.mak.tmp
  GEN     alpha-softmmu/config-devices.mak
  GEN     lm32-softmmu/config-devices.mak
  GEN     cris-softmmu/config-devices.mak
  GEN     moxie-softmmu/config-devices.mak
  GEN     m68k-softmmu/config-devices.mak
  GEN     hppa-softmmu/config-devices.mak
  GEN     microblaze-softmmu/config-devices.mak
  GEN     ppc-softmmu/config-devices.mak.tmp
  GEN     arm-softmmu/config-devices.mak
  GEN     s390x-softmmu/config-devices.mak.tmp
  GEN     aarch64-softmmu/config-devices.mak
  GEN     i386-softmmu/config-devices.mak
  GEN     microblazeel-softmmu/config-devices.mak
  GEN     nios2-softmmu/config-devices.mak
  GEN     mips64el-softmmu/config-devices.mak
  GEN     or1k-softmmu/config-devices.mak
  GEN     sh4-softmmu/config-devices.mak.tmp
  GEN     sh4eb-softmmu/config-devices.mak.tmp
  GEN     sparc64-softmmu/config-devices.mak.tmp
  GEN     mips-softmmu/config-devices.mak
  GEN     mips64-softmmu/config-devices.mak
  GEN     ppcemb-softmmu/config-devices.mak
  GEN     mipsel-softmmu/config-devices.mak
  GEN     ppc64-softmmu/config-devices.mak
  GEN     s390x-softmmu/config-devices.mak
  GEN     sparc-softmmu/config-devices.mak.tmp
  GEN     tricore-softmmu/config-devices.mak.tmp
  GEN     ppc-softmmu/config-devices.mak
  GEN     unicore32-softmmu/config-devices.mak.tmp
  GEN     x86_64-softmmu/config-devices.mak.tmp
  GEN     xtensaeb-softmmu/config-devices.mak.tmp
  GEN     xtensa-softmmu/config-devices.mak.tmp
  GEN     aarch64_be-linux-user/config-devices.mak.tmp
  GEN     aarch64-linux-user/config-devices.mak.tmp
  GEN     sh4-softmmu/config-devices.mak
  GEN     armeb-linux-user/config-devices.mak.tmp
  GEN     alpha-linux-user/config-devices.mak.tmp
  GEN     arm-linux-user/config-devices.mak.tmp
  GEN     sparc-softmmu/config-devices.mak
  GEN     cris-linux-user/config-devices.mak.tmp
  GEN     sparc64-softmmu/config-devices.mak
  GEN     hppa-linux-user/config-devices.mak.tmp
  GEN     tricore-softmmu/config-devices.mak
  GEN     unicore32-softmmu/config-devices.mak
  GEN     sh4eb-softmmu/config-devices.mak
  GEN     xtensa-softmmu/config-devices.mak
  GEN     aarch64_be-linux-user/config-devices.mak
  GEN     aarch64-linux-user/config-devices.mak
  GEN     x86_64-softmmu/config-devices.mak
  GEN     xtensaeb-softmmu/config-devices.mak
  GEN     i386-linux-user/config-devices.mak.tmp
  GEN     m68k-linux-user/config-devices.mak.tmp
  GEN     alpha-linux-user/config-devices.mak
  GEN     microblazeel-linux-user/config-devices.mak.tmp
  GEN     arm-linux-user/config-devices.mak
  GEN     hppa-linux-user/config-devices.mak
  GEN     microblaze-linux-user/config-devices.mak.tmp
  GEN     armeb-linux-user/config-devices.mak
  GEN     cris-linux-user/config-devices.mak
  GEN     mips64el-linux-user/config-devices.mak.tmp
  GEN     mips64-linux-user/config-devices.mak.tmp
  GEN     mipsel-linux-user/config-devices.mak.tmp
  GEN     mips-linux-user/config-devices.mak.tmp
  GEN     m68k-linux-user/config-devices.mak
  GEN     i386-linux-user/config-devices.mak
  GEN     microblazeel-linux-user/config-devices.mak
  GEN     mipsn32-linux-user/config-devices.mak.tmp
  GEN     mipsn32el-linux-user/config-devices.mak.tmp
  GEN     nios2-linux-user/config-devices.mak.tmp
  GEN     or1k-linux-user/config-devices.mak.tmp
  GEN     microblaze-linux-user/config-devices.mak
  GEN     ppc64abi32-linux-user/config-devices.mak.tmp
  GEN     ppc64le-linux-user/config-devices.mak.tmp
  GEN     mips64el-linux-user/config-devices.mak
  GEN     ppc-linux-user/config-devices.mak.tmp
  GEN     ppc64-linux-user/config-devices.mak.tmp
  GEN     s390x-linux-user/config-devices.mak.tmp
  GEN     mips64-linux-user/config-devices.mak
  GEN     sh4eb-linux-user/config-devices.mak.tmp
  GEN     sh4-linux-user/config-devices.mak.tmp
  GEN     mipsel-linux-user/config-devices.mak
  GEN     mipsn32-linux-user/config-devices.mak
  GEN     sparc64-linux-user/config-devices.mak.tmp
  GEN     sparc-linux-user/config-devices.mak.tmp
  GEN     tilegx-linux-user/config-devices.mak.tmp
  GEN     x86_64-linux-user/config-devices.mak.tmp
  GEN     nios2-linux-user/config-devices.mak
  GEN     sparc32plus-linux-user/config-devices.mak.tmp
  GEN     ppc64abi32-linux-user/config-devices.mak
  GEN     config-host.h
  GEN     mips-linux-user/config-devices.mak
  GIT     ui/keycodemapdb dtc capstone
  GEN     ppc64le-linux-user/config-devices.mak
  GEN     qemu-options.def
  GEN     mipsn32el-linux-user/config-devices.mak
  GEN     or1k-linux-user/config-devices.mak
  GEN     ppc64-linux-user/config-devices.mak
  GEN     ppc-linux-user/config-devices.mak
  GEN     s390x-linux-user/config-devices.mak
  GEN     sh4eb-linux-user/config-devices.mak
  GEN     sh4-linux-user/config-devices.mak
  GEN     sparc64-linux-user/config-devices.mak
  GEN     sparc32plus-linux-user/config-devices.mak
  GEN     tilegx-linux-user/config-devices.mak
  GEN     sparc-linux-user/config-devices.mak
  GEN     x86_64-linux-user/config-devices.mak
  GEN     qmp-commands.h
  GEN     qapi-types.h
  GEN     qapi-visit.h
  GEN     qapi-event.h
  GEN     qmp-marshal.c
  GEN     qapi-visit.c
  GEN     qapi-types.c
  GEN     qapi-event.c
  GEN     qmp-introspect.h
  GEN     qmp-introspect.c
  GEN     trace/generated-tcg-tracers.h
  GEN     trace/generated-helpers-wrappers.h
  GEN     trace/generated-helpers.h
  GEN     trace/generated-helpers.c
  GEN     module_block.h
  GEN     tests/test-qapi-types.h
  GEN     tests/test-qapi-visit.h
  GEN     tests/test-qmp-commands.h
  GEN     tests/test-qapi-event.h
  GEN     tests/test-qmp-introspect.h
  GEN     trace-root.h
  GEN     util/trace.h
  GEN     crypto/trace.h
  GEN     io/trace.h
  GEN     migration/trace.h
  GEN     block/trace.h
  GEN     chardev/trace.h
  GEN     hw/block/trace.h
  GEN     hw/block/dataplane/trace.h
  GEN     hw/char/trace.h
  GEN     hw/intc/trace.h
  GEN     hw/net/trace.h
  GEN     hw/virtio/trace.h
  GEN     hw/audio/trace.h
  GEN     hw/misc/trace.h
  GEN     hw/usb/trace.h
  GEN     hw/scsi/trace.h
  GEN     hw/nvram/trace.h
  GEN     hw/display/trace.h
  GEN     hw/input/trace.h
  GEN     hw/timer/trace.h
  GEN     hw/dma/trace.h
  GEN     hw/sparc/trace.h
  GEN     hw/sparc64/trace.h
  GEN     hw/sd/trace.h
  GEN     hw/isa/trace.h
  GEN     hw/mem/trace.h
  GEN     hw/i386/trace.h
  GEN     hw/i386/xen/trace.h
  GEN     hw/9pfs/trace.h
  GEN     hw/ppc/trace.h
  GEN     hw/pci/trace.h
  GEN     hw/pci-host/trace.h
  GEN     hw/s390x/trace.h
  GEN     hw/vfio/trace.h
  GEN     hw/acpi/trace.h
  GEN     hw/arm/trace.h
  GEN     hw/alpha/trace.h
  GEN     hw/hppa/trace.h
  GEN     hw/xen/trace.h
  GEN     hw/ide/trace.h
  GEN     hw/vmbus/trace.h
  GEN     ui/trace.h
  GEN     audio/trace.h
  GEN     net/trace.h
  GEN     target/arm/trace.h
  GEN     target/i386/trace.h
  GEN     target/mips/trace.h
  GEN     target/sparc/trace.h
  GEN     target/s390x/trace.h
  GEN     target/ppc/trace.h
  GEN     qom/trace.h
  GEN     linux-user/trace.h
  GEN     qapi/trace.h
  GEN     accel/tcg/trace.h
  GEN     accel/kvm/trace.h
  GEN     nbd/trace.h
  GEN     scsi/trace.h
  GEN     trace-root.c
  GEN     util/trace.c
  GEN     crypto/trace.c
  GEN     io/trace.c
  GEN     migration/trace.c
  GEN     block/trace.c
  GEN     chardev/trace.c
  GEN     hw/block/trace.c
  GEN     hw/block/dataplane/trace.c
  GEN     hw/char/trace.c
  GEN     hw/intc/trace.c
  GEN     hw/net/trace.c
  GEN     hw/virtio/trace.c
  GEN     hw/audio/trace.c
  GEN     hw/misc/trace.c
  GEN     hw/usb/trace.c
  GEN     hw/scsi/trace.c
  GEN     hw/nvram/trace.c
  GEN     hw/display/trace.c
  GEN     hw/input/trace.c
  GEN     hw/timer/trace.c
  GEN     hw/dma/trace.c
  GEN     hw/sparc/trace.c
  GEN     hw/sparc64/trace.c
  GEN     hw/sd/trace.c
  GEN     hw/isa/trace.c
  GEN     hw/mem/trace.c
  GEN     hw/i386/trace.c
  GEN     hw/i386/xen/trace.c
  GEN     hw/9pfs/trace.c
  GEN     hw/ppc/trace.c
  GEN     hw/pci/trace.c
  GEN     hw/pci-host/trace.c
  GEN     hw/s390x/trace.c
  GEN     hw/vfio/trace.c
  GEN     hw/acpi/trace.c
  GEN     hw/arm/trace.c
  GEN     hw/alpha/trace.c
  GEN     hw/hppa/trace.c
  GEN     hw/xen/trace.c
  GEN     hw/ide/trace.c
  GEN     hw/vmbus/trace.c
  GEN     ui/trace.c
  GEN     audio/trace.c
  GEN     net/trace.c
  GEN     target/arm/trace.c
  GEN     target/i386/trace.c
  GEN     target/mips/trace.c
  GEN     target/sparc/trace.c
  GEN     target/s390x/trace.c
  GEN     target/ppc/trace.c
  GEN     qom/trace.c
  GEN     linux-user/trace.c
  GEN     qapi/trace.c
  GEN     accel/tcg/trace.c
  GEN     accel/kvm/trace.c
  GEN     nbd/trace.c
  GEN     scsi/trace.c
  GEN     config-all-devices.mak
  GEN     ui/input-keymap-atset1-to-qcode.c
  GEN     ui/input-keymap-linux-to-qcode.c
  GEN     ui/input-keymap-qcode-to-atset1.c
  GEN     ui/input-keymap-qcode-to-atset2.c
  GEN     ui/input-keymap-qcode-to-atset3.c
  GEN     ui/input-keymap-qcode-to-linux.c
  GEN     ui/input-keymap-qcode-to-qnum.c
  GEN     ui/input-keymap-qcode-to-sun.c
  GEN     ui/input-keymap-qnum-to-qcode.c
  GEN     ui/input-keymap-usb-to-qcode.c
  GEN     ui/input-keymap-win32-to-qcode.c
  GEN     ui/input-keymap-x11-to-qcode.c
  GEN     ui/input-keymap-xorgevdev-to-qcode.c
  GEN     ui/input-keymap-xorgkbd-to-qcode.c
  GEN     ui/input-keymap-xorgxwin-to-qcode.c
  GEN     ui/input-keymap-xorgxquartz-to-qcode.c
  CC      cs.o
  CC      utils.o
  CC      SStream.o
  CC      MCInstrDesc.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/dumptrees.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/trees.S
  CC      MCRegisterInfo.o
  CC      arch/ARM/ARMInstPrinter.o
  CC      arch/ARM/ARMDisassembler.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/value-labels.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/asm_tree_dump.c
  CC      arch/ARM/ARMMapping.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/truncated_property.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/testutils.c
  CC      arch/ARM/ARMModule.o
  CC      arch/AArch64/AArch64BaseInfo.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/property_iterate.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/subnode_iterate.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/integer-expressions.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/overlay_bad_fixup.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/overlay.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/check_path.c
  CC      arch/AArch64/AArch64Disassembler.o
  CC      arch/AArch64/AArch64InstPrinter.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/utilfdt_test.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/path_offset_aliases.c
  CC      arch/Mips/MipsDisassembler.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/add_subnode_with_nops.c
  CC      arch/AArch64/AArch64Mapping.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/dtbs_equal_ordered.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/dtbs_equal_unordered.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/incbin.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/extra-terminating-null.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/boot-cpuid.c
  CC      arch/Mips/MipsInstPrinter.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/dtb_reverse.c
  CC      arch/AArch64/AArch64Module.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/phandle_format.c
  CC      arch/Mips/MipsMapping.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/string_escapes.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/references.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/path-references.c
  CC      arch/Mips/MipsModule.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/appendprop1.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/propname_escapes.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/del_property.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/del_node.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/appendprop2.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/setprop.c
  CC      arch/PowerPC/PPCDisassembler.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/open_pack.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/set_name.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/mangle-layout.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/nopulate.c
  CC      arch/PowerPC/PPCMapping.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/rw_tree1.c
  CC      arch/PowerPC/PPCInstPrinter.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/move_and_save.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/sw_tree1.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/nop_node.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/nop_property.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/setprop_inplace.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/stringlist.c
  CC      arch/PowerPC/PPCModule.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/addr_size_cells.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/sized_cells.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/notfound.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/char_literal.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/node_offset_by_compatible.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/node_check_compatible.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/node_offset_by_prop_value.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/supernode_atdepth_offset.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/get_alias.c
  CC      arch/Sparc/SparcDisassembler.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/node_offset_by_phandle.c
  CC      arch/Sparc/SparcInstPrinter.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/parent_offset.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/get_path.c
  CC      arch/Sparc/SparcMapping.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/get_phandle.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/get_name.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/subnode_offset.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/root_node.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/getprop.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/get_mem_rsv.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/path_offset.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/tests/find_property.c
  CC      arch/Sparc/SparcModule.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/libfdt/fdt_overlay.c
  CC      arch/SystemZ/SystemZDisassembler.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/libfdt/fdt_addresses.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/libfdt/fdt_empty_tree.c
  CC      arch/SystemZ/SystemZInstPrinter.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/libfdt/fdt_strerror.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/libfdt/fdt_rw.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/libfdt/fdt_sw.c
  CC      arch/SystemZ/SystemZMapping.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/libfdt/fdt_ro.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/libfdt/fdt.c
  CC      arch/SystemZ/SystemZModule.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/libfdt/fdt_wip.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/util.c
  CC      arch/SystemZ/SystemZMCTargetDesc.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/fdtoverlay.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/fdtput.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/fdtdump.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/fdtget.c
  CC      arch/X86/X86DisassemblerDecoder.o
  CC      arch/X86/X86Disassembler.o
	 LEX convert-dtsv0-lexer.lex.c
  CC      arch/X86/X86IntelInstPrinter.o
  CC      arch/X86/X86ATTInstPrinter.o
  CC      arch/X86/X86Mapping.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/srcpos.c
  CC      arch/X86/X86Module.o
	 BISON dtc-parser.tab.c
  CC      arch/XCore/XCoreInstPrinter.o
  CC      arch/XCore/XCoreDisassembler.o
	 LEX dtc-lexer.lex.c
  CC      arch/XCore/XCoreMapping.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/treesource.c
  CC      arch/XCore/XCoreModule.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/livetree.c
  CC      MCInst.o
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/fstree.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/dtc.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/flattree.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/data.c
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/checks.c
	 DEP convert-dtsv0-lexer.lex.c
	 DEP dtc-parser.tab.c
	 DEP dtc-lexer.lex.c
	CHK version_gen.h
	UPD version_gen.h
	 DEP /var/tmp/patchew-tester-tmp-9019xv17/src/dtc/util.c
	 CC libfdt/fdt.o
	 CC libfdt/fdt_ro.o
	 CC libfdt/fdt_wip.o
	 CC libfdt/fdt_sw.o
	 CC libfdt/fdt_rw.o
	 CC libfdt/fdt_strerror.o
	 CC libfdt/fdt_empty_tree.o
	 CC libfdt/fdt_addresses.o
	 CC libfdt/fdt_overlay.o
	 AR libfdt/libfdt.a
ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
a - libfdt/fdt_addresses.o
a - libfdt/fdt_overlay.o
  AR      libcapstone.a
ar: creating /var/tmp/patchew-tester-tmp-9019xv17/src/build/capstone/libcapstone.a
  CC      tests/qemu-iotests/socket_scm_helper.o
  GEN     qga/qapi-generated/qga-qapi-types.h
  GEN     qga/qapi-generated/qga-qapi-visit.h
  GEN     qga/qapi-generated/qga-qmp-commands.h
  GEN     qga/qapi-generated/qga-qapi-types.c
  GEN     qga/qapi-generated/qga-qapi-visit.c
  GEN     qga/qapi-generated/qga-qmp-marshal.c
  CC      qmp-introspect.o
  CC      qapi-visit.o
  CC      qapi-types.o
  CC      qapi-event.o
  CC      qapi/qapi-dealloc-visitor.o
  CC      qapi/qapi-visit-core.o
  CC      qapi/qobject-output-visitor.o
  CC      qapi/qobject-input-visitor.o
  CC      qapi/qmp-dispatch.o
  CC      qapi/qmp-registry.o
  CC      qapi/string-input-visitor.o
  CC      qapi/string-output-visitor.o
  CC      qapi/opts-visitor.o
  CC      qapi/qmp-event.o
  CC      qapi/qapi-util.o
  CC      qapi/qapi-clone-visitor.o
  CC      qobject/qnull.o
  CC      qobject/qnum.o
  CC      qobject/qstring.o
  CC      qobject/qdict.o
  CC      qobject/qlist.o
  CC      qobject/qbool.o
  CC      qobject/qlit.o
  CC      qobject/qjson.o
  CC      qobject/qobject.o
  CC      qobject/json-lexer.o
  CC      qobject/json-streamer.o
  CC      qobject/json-parser.o
  CC      trace/control.o
  CC      util/osdep.o
  CC      trace/qmp.o
  CC      util/cutils.o
  CC      util/unicode.o
  CC      util/lockcnt.o
  CC      util/bufferiszero.o
  CC      util/qemu-timer-common.o
  CC      util/aiocb.o
  CC      util/async.o
  CC      util/thread-pool.o
  CC      util/qemu-timer.o
  CC      util/main-loop.o
  CC      util/iohandler.o
  CC      util/compatfd.o
  CC      util/aio-posix.o
  CC      util/path.o
  CC      util/envlist.o
  CC      util/memfd.o
  CC      util/qemu-thread-posix.o
  CC      util/mmap-alloc.o
  CC      util/oslib-posix.o
  CC      util/event_notifier-posix.o
  CC      util/host-utils.o
  CC      util/qemu-openpty.o
  CC      util/bitmap.o
  CC      util/bitops.o
  CC      util/hbitmap.o
  CC      util/fifo8.o
  CC      util/cacheinfo.o
  CC      util/acl.o
  CC      util/error.o
  CC      util/module.o
  CC      util/qemu-error.o
  CC      util/id.o
  CC      util/iov.o
  CC      util/qemu-config.o
  CC      util/qemu-sockets.o
  CC      util/notify.o
  CC      util/qemu-option.o
  CC      util/uri.o
  CC      util/keyval.o
  CC      util/qemu-progress.o
  CC      util/hexdump.o
  CC      util/crc32c.o
  CC      util/uuid.o
  CC      util/throttle.o
  CC      util/getauxval.o
  CC      util/readline.o
  CC      util/rcu.o
  CC      util/qemu-coroutine.o
  CC      util/qemu-coroutine-lock.o
  CC      util/qemu-coroutine-io.o
  CC      util/coroutine-ucontext.o
  CC      util/qemu-coroutine-sleep.o
  CC      util/buffer.o
  CC      util/timed-average.o
  CC      util/base64.o
  CC      util/log.o
  CC      util/qdist.o
  CC      util/pagesize.o
  CC      util/qht.o
  CC      util/range.o
  CC      util/stats64.o
  CC      util/systemd.o
  CC      trace-root.o
  CC      util/trace.o
  CC      migration/trace.o
  CC      io/trace.o
  CC      crypto/trace.o
  CC      block/trace.o
  CC      chardev/trace.o
  CC      hw/block/trace.o
  CC      hw/block/dataplane/trace.o
  CC      hw/char/trace.o
  CC      hw/intc/trace.o
  CC      hw/net/trace.o
  CC      hw/virtio/trace.o
  CC      hw/audio/trace.o
  CC      hw/misc/trace.o
  CC      hw/usb/trace.o
  CC      hw/scsi/trace.o
  CC      hw/nvram/trace.o
  CC      hw/display/trace.o
  CC      hw/input/trace.o
  CC      hw/timer/trace.o
  CC      hw/dma/trace.o
  CC      hw/sparc/trace.o
  CC      hw/sparc64/trace.o
  CC      hw/sd/trace.o
  CC      hw/isa/trace.o
  CC      hw/mem/trace.o
  CC      hw/i386/trace.o
  CC      hw/i386/xen/trace.o
  CC      hw/ppc/trace.o
  CC      hw/9pfs/trace.o
  CC      hw/pci/trace.o
  CC      hw/pci-host/trace.o
  CC      hw/s390x/trace.o
  CC      hw/vfio/trace.o
  CC      hw/acpi/trace.o
  CC      hw/arm/trace.o
  CC      hw/alpha/trace.o
  CC      hw/xen/trace.o
  CC      hw/ide/trace.o
  CC      hw/hppa/trace.o
  CC      hw/vmbus/trace.o
  CC      ui/trace.o
  CC      net/trace.o
  CC      audio/trace.o
  CC      target/arm/trace.o
  CC      target/i386/trace.o
  CC      target/mips/trace.o
  CC      target/sparc/trace.o
  CC      target/s390x/trace.o
  CC      target/ppc/trace.o
  CC      qom/trace.o
  CC      linux-user/trace.o
  CC      qapi/trace.o
  CC      accel/tcg/trace.o
  CC      accel/kvm/trace.o
  CC      nbd/trace.o
  CC      scsi/trace.o
  CC      crypto/pbkdf-stub.o
  CC      stubs/arch-query-cpu-def.o
  CC      stubs/arch-query-cpu-model-comparison.o
  CC      stubs/arch-query-cpu-model-baseline.o
  CC      stubs/arch-query-cpu-model-expansion.o
  CC      stubs/bdrv-next-monitor-owned.o
  CC      stubs/blk-commit-all.o
  CC      stubs/blockdev-close-all-bdrv-states.o
  CC      stubs/clock-warp.o
  CC      stubs/cpu-get-clock.o
  CC      stubs/cpu-get-icount.o
  CC      stubs/dump.o
  CC      stubs/error-printf.o
  CC      stubs/fdset.o
  CC      stubs/gdbstub.o
  CC      stubs/get-vm-name.o
  CC      stubs/iothread.o
  CC      stubs/iothread-lock.o
  CC      stubs/is-daemonized.o
  CC      stubs/linux-aio.o
  CC      stubs/machine-init-done.o
  CC      stubs/migr-blocker.o
  CC      stubs/change-state-handler.o
  CC      stubs/monitor.o
  CC      stubs/notify-event.o
  CC      stubs/qtest.o
  CC      stubs/replay.o
  CC      stubs/runstate-check.o
  CC      stubs/set-fd-handler.o
  CC      stubs/slirp.o
  CC      stubs/sysbus.o
  CC      stubs/tpm.o
  CC      stubs/uuid.o
  CC      stubs/vm-stop.o
  CC      stubs/trace-control.o
  CC      stubs/vmstate.o
  CC      stubs/qmp_pc_dimm.o
  CC      stubs/target-monitor-defs.o
  CC      stubs/target-get-monitor-def.o
  CC      stubs/vmgenid.o
  CC      stubs/pc_madt_cpu_entry.o
  CC      stubs/xen-common.o
  CC      stubs/xen-hvm.o
  CC      stubs/pci-host-piix.o
  CC      contrib/ivshmem-client/ivshmem-client.o
  CC      contrib/ivshmem-client/main.o
  CC      contrib/ivshmem-server/ivshmem-server.o
  CC      contrib/ivshmem-server/main.o
  CC      qemu-nbd.o
  CC      block.o
  CC      qemu-io-cmds.o
  CC      blockjob.o
  CC      block/raw-format.o
  CC      replication.o
  CC      block/vdi.o
  CC      block/vmdk.o
  CC      block/qcow.o
  CC      block/cloop.o
  CC      block/bochs.o
  CC      block/vpc.o
  CC      block/vvfat.o
  CC      block/dmg.o
  CC      block/qcow2.o
  CC      block/qcow2-refcount.o
  CC      block/qcow2-cluster.o
  CC      block/qcow2-snapshot.o
  CC      block/qcow2-cache.o
  CC      block/qcow2-bitmap.o
  CC      block/qed.o
  CC      block/qed-l2-cache.o
  CC      block/qed-table.o
  CC      block/qed-check.o
  CC      block/qed-cluster.o
  CC      block/vhdx.o
  CC      block/quorum.o
  CC      block/vhdx-log.o
  CC      block/parallels.o
  CC      block/vhdx-endian.o
  CC      block/blkverify.o
  CC      block/blkdebug.o
  CC      block/blkreplay.o
  CC      block/block-backend.o
  CC      block/snapshot.o
  CC      block/qapi.o
  CC      block/file-posix.o
  CC      block/null.o
  CC      block/linux-aio.o
  CC      block/mirror.o
  CC      block/commit.o
  CC      block/io.o
  CC      block/throttle-groups.o
  CC      block/nbd.o
  CC      block/nbd-client.o
  CC      block/sheepdog.o
  CC      block/accounting.o
  CC      block/dirty-bitmap.o
  CC      block/write-threshold.o
  CC      block/backup.o
  CC      block/replication.o
  CC      block/throttle.o
  CC      block/crypto.o
  CC      nbd/server.o
  CC      nbd/client.o
  CC      nbd/common.o
  CC      scsi/utils.o
  CC      scsi/pr-manager.o
  CC      scsi/pr-manager-helper.o
  CC      block/curl.o
  CC      block/dmg-bz2.o
  CC      crypto/init.o
  CC      crypto/hash-nettle.o
  CC      crypto/hash.o
  CC      crypto/hmac.o
  CC      crypto/hmac-nettle.o
  CC      crypto/aes.o
  CC      crypto/desrfb.o
  CC      crypto/cipher.o
  CC      crypto/tlscreds.o
  CC      crypto/tlscredsanon.o
  CC      crypto/tlscredsx509.o
  CC      crypto/tlssession.o
  CC      crypto/secret.o
  CC      crypto/random-gnutls.o
  CC      crypto/pbkdf.o
  CC      crypto/pbkdf-nettle.o
  CC      crypto/ivgen.o
  CC      crypto/ivgen-essiv.o
  CC      crypto/afsplit.o
  CC      crypto/xts.o
  CC      crypto/ivgen-plain.o
  CC      crypto/block.o
  CC      crypto/ivgen-plain64.o
  CC      crypto/block-qcow.o
  CC      crypto/block-luks.o
  CC      io/channel.o
  CC      io/channel-buffer.o
  CC      io/channel-command.o
  CC      io/channel-socket.o
  CC      io/channel-file.o
  CC      io/channel-tls.o
  CC      io/channel-watch.o
  CC      io/channel-websock.o
  CC      io/channel-util.o
  CC      io/dns-resolver.o
  CC      io/net-listener.o
  CC      io/task.o
  CC      qom/object.o
  CC      qom/container.o
  CC      qom/object_interfaces.o
  CC      qom/qom-qobject.o
  GEN     qemu-img-cmds.h
  CC      qemu-io.o
  CC      fsdev/virtfs-proxy-helper.o
  CC      fsdev/9p-marshal.o
  CC      fsdev/9p-iov-marshal.o
  CC      scsi/qemu-pr-helper.o
  CC      qemu-bridge-helper.o
  CC      blockdev.o
  CC      blockdev-nbd.o
  CC      bootdevice.o
  CC      iothread.o
  CC      qdev-monitor.o
  CC      device-hotplug.o
  CC      os-posix.o
  CC      bt-host.o
  CC      bt-vhci.o
  CC      dma-helpers.o
  CC      vl.o
  CC      device_tree.o
  CC      qmp-marshal.o
  CC      tpm.o
  CC      qmp.o
  CC      hmp.o
  CC      cpus-common.o
  CC      audio/audio.o
  CC      audio/noaudio.o
  CC      audio/wavaudio.o
  CC      audio/mixeng.o
  CC      audio/sdlaudio.o
  CC      audio/ossaudio.o
  CC      audio/wavcapture.o
  CC      backends/rng.o
  CC      backends/rng-random.o
  CC      backends/rng-egd.o
  CC      backends/tpm.o
  CC      backends/hostmem.o
  CC      backends/hostmem-ram.o
  CC      backends/hostmem-file.o
  CC      backends/cryptodev.o
  CC      backends/cryptodev-builtin.o
  CC      block/stream.o
  CC      chardev/msmouse.o
  CC      chardev/wctablet.o
  CC      chardev/testdev.o
  CC      disas/alpha.o
  CC      disas/arm.o
  CXX     disas/arm-a64.o
  CC      disas/cris.o
  CC      disas/hppa.o
  CC      disas/i386.o
  CC      disas/m68k.o
  CC      disas/microblaze.o
  CC      disas/mips.o
  CC      disas/nios2.o
  CC      disas/moxie.o
  CC      disas/ppc.o
  CC      disas/s390.o
  CC      disas/sh4.o
  CC      disas/sparc.o
  CC      disas/lm32.o
  CC      disas/xtensa.o
  CXX     disas/libvixl/vixl/utils.o
  CXX     disas/libvixl/vixl/compiler-intrinsics.o
  CXX     disas/libvixl/vixl/a64/instructions-a64.o
  CXX     disas/libvixl/vixl/a64/decoder-a64.o
  CXX     disas/libvixl/vixl/a64/disasm-a64.o
  CC      fsdev/qemu-fsdev.o
  CC      fsdev/qemu-fsdev-opts.o
  CC      fsdev/qemu-fsdev-throttle.o
  CC      fsdev/qemu-fsdev-dummy.o
  CC      hw/9pfs/9p.o
  CC      hw/9pfs/9p-util.o
  CC      hw/9pfs/9p-local.o
  CC      hw/9pfs/9p-xattr.o
  CC      hw/9pfs/9p-xattr-user.o
  CC      hw/9pfs/9p-posix-acl.o
  CC      hw/9pfs/coth.o
  CC      hw/9pfs/cofs.o
  CC      hw/9pfs/codir.o
  CC      hw/9pfs/cofile.o
  CC      hw/9pfs/coxattr.o
  CC      hw/9pfs/9p-synth.o
  CC      hw/9pfs/9p-handle.o
  CC      hw/9pfs/9p-proxy.o
  CC      hw/acpi/core.o
  CC      hw/acpi/piix4.o
  CC      hw/acpi/pcihp.o
  CC      hw/acpi/tco.o
  CC      hw/acpi/cpu_hotplug.o
  CC      hw/acpi/memory_hotplug.o
  CC      hw/acpi/ich9.o
  CC      hw/acpi/cpu.o
  CC      hw/acpi/nvdimm.o
  CC      hw/acpi/vmgenid.o
  CC      hw/acpi/acpi_interface.o
  CC      hw/acpi/bios-linker-loader.o
  CC      hw/acpi/aml-build.o
  CC      hw/acpi/ipmi.o
  CC      hw/acpi/acpi-stub.o
  CC      hw/acpi/ipmi-stub.o
  CC      hw/audio/sb16.o
  CC      hw/audio/es1370.o
  CC      hw/audio/ac97.o
  CC      hw/audio/fmopl.o
  CC      hw/audio/gus.o
  CC      hw/audio/adlib.o
  CC      hw/audio/gusemu_hal.o
  CC      hw/audio/gusemu_mixer.o
  CC      hw/audio/cs4231a.o
  CC      hw/audio/intel-hda.o
  CC      hw/audio/hda-codec.o
  CC      hw/audio/pcspk.o
  CC      hw/audio/pl041.o
  CC      hw/audio/lm4549.o
  CC      hw/audio/cs4231.o
  CC      hw/audio/wm8750.o
  CC      hw/audio/marvell_88w8618.o
  CC      hw/audio/milkymist-ac97.o
  CC      hw/audio/soundhw.o
  CC      hw/block/block.o
  CC      hw/block/cdrom.o
  CC      hw/block/hd-geometry.o
  CC      hw/block/fdc.o
  CC      hw/block/m25p80.o
  CC      hw/block/nand.o
  CC      hw/block/pflash_cfi01.o
  CC      hw/block/ecc.o
  CC      hw/block/onenand.o
  CC      hw/block/pflash_cfi02.o
  CC      hw/block/nvme.o
  CC      hw/bt/core.o
  CC      hw/bt/l2cap.o
  CC      hw/bt/sdp.o
  CC      hw/bt/hci.o
  CC      hw/bt/hid.o
  CC      hw/bt/hci-csr.o
  CC      hw/char/ipoctal232.o
  CC      hw/char/escc.o
  CC      hw/char/parallel.o
  CC      hw/char/pl011.o
  CC      hw/char/serial.o
  CC      hw/char/serial-isa.o
  CC      hw/char/serial-pci.o
  CC      hw/char/virtio-console.o
  CC      hw/char/xilinx_uartlite.o
  CC      hw/char/cadence_uart.o
  CC      hw/char/cmsdk-apb-uart.o
  CC      hw/char/etraxfs_ser.o
  CC      hw/char/debugcon.o
  CC      hw/char/grlib_apbuart.o
  CC      hw/char/imx_serial.o
  CC      hw/char/lm32_juart.o
  CC      hw/char/lm32_uart.o
  CC      hw/char/milkymist-uart.o
  CC      hw/char/sclpconsole.o
  CC      hw/char/sclpconsole-lm.o
  CC      hw/core/qdev-properties.o
  CC      hw/core/bus.o
  CC      hw/core/qdev.o
  CC      hw/core/reset.o
  CC      hw/core/fw-path-provider.o
  CC      hw/core/qdev-fw.o
  CC      hw/core/irq.o
  CC      hw/core/hotplug.o
  CC      hw/core/nmi.o
  CC      hw/core/empty_slot.o
  CC      hw/core/stream.o
  CC      hw/core/ptimer.o
  CC      hw/core/machine.o
  CC      hw/core/loader.o
  CC      hw/core/sysbus.o
  CC      hw/core/loader-fit.o
  CC      hw/core/qdev-properties-system.o
  CC      hw/core/register.o
  CC      hw/core/or-irq.o
  CC      hw/core/platform-bus.o
  CC      hw/cpu/core.o
  CC      hw/display/ads7846.o
  CC      hw/display/cirrus_vga.o
  CC      hw/display/g364fb.o
  CC      hw/display/jazz_led.o
  CC      hw/display/pl110.o
  CC      hw/display/ssd0303.o
  CC      hw/display/ssd0323.o
  CC      hw/display/vga-pci.o
  CC      hw/display/vga-isa.o
  CC      hw/display/vga-isa-mm.o
  CC      hw/display/vmware_vga.o
  CC      hw/display/blizzard.o
  CC      hw/display/exynos4210_fimd.o
  CC      hw/display/framebuffer.o
  CC      hw/display/milkymist-vgafb.o
  CC      hw/display/tc6393xb.o
  CC      hw/dma/puv3_dma.o
  CC      hw/dma/rc4030.o
  CC      hw/dma/pl330.o
  CC      hw/dma/pl080.o
  CC      hw/dma/i82374.o
  CC      hw/dma/i8257.o
  CC      hw/dma/xilinx_axidma.o
  CC      hw/dma/xlnx-zynq-devcfg.o
  CC      hw/dma/etraxfs_dma.o
  CC      hw/dma/sparc32_dma.o
  CC      hw/gpio/max7310.o
  CC      hw/gpio/pl061.o
  CC      hw/gpio/puv3_gpio.o
  CC      hw/gpio/zaurus.o
  CC      hw/gpio/mpc8xxx.o
  CC      hw/gpio/gpio_key.o
  CC      hw/i2c/core.o
  CC      hw/i2c/smbus.o
  CC      hw/i2c/smbus_eeprom.o
  CC      hw/i2c/i2c-ddc.o
  CC      hw/i2c/versatile_i2c.o
  CC      hw/i2c/smbus_ich9.o
  CC      hw/i2c/pm_smbus.o
  CC      hw/i2c/bitbang_i2c.o
  CC      hw/i2c/exynos4210_i2c.o
  CC      hw/i2c/imx_i2c.o
  CC      hw/i2c/aspeed_i2c.o
  CC      hw/ide/core.o
  CC      hw/ide/atapi.o
  CC      hw/ide/qdev.o
  CC      hw/ide/pci.o
  CC      hw/ide/isa.o
  CC      hw/ide/piix.o
  CC      hw/ide/cmd646.o
  CC      hw/ide/macio.o
  CC      hw/ide/mmio.o
  CC      hw/ide/via.o
  CC      hw/ide/microdrive.o
  CC      hw/ide/ahci.o
  CC      hw/ide/ahci-allwinner.o
  CC      hw/ide/ich.o
  CC      hw/ide/sii3112.o
  CC      hw/input/adb.o
  CC      hw/input/adb-mouse.o
  CC      hw/input/adb-kbd.o
  CC      hw/input/hid.o
  CC      hw/input/lm832x.o
  CC      hw/input/pckbd.o
  CC      hw/input/pl050.o
  CC      hw/input/ps2.o
  CC      hw/input/stellaris_input.o
  CC      hw/input/tsc2005.o
  CC      hw/input/virtio-input.o
  CC      hw/input/virtio-input-hid.o
  CC      hw/intc/heathrow_pic.o
  CC      hw/input/virtio-input-host.o
  CC      hw/intc/i8259_common.o
  CC      hw/intc/i8259.o
  CC      hw/intc/pl190.o
  CC      hw/intc/puv3_intc.o
  CC      hw/intc/xilinx_intc.o
  CC      hw/intc/xlnx-zynqmp-ipi.o
  CC      hw/intc/xlnx-pmu-iomod-intc.o
  CC      hw/intc/etraxfs_pic.o
  CC      hw/intc/imx_avic.o
  CC      hw/intc/lm32_pic.o
  CC      hw/intc/realview_gic.o
  CC      hw/intc/slavio_intctl.o
  CC      hw/intc/arm_gic_common.o
  CC      hw/intc/ioapic_common.o
  CC      hw/intc/arm_gicv3_common.o
  CC      hw/intc/arm_gicv3.o
  CC      hw/intc/arm_gicv2m.o
  CC      hw/intc/arm_gic.o
  CC      hw/intc/arm_gicv3_redist.o
  CC      hw/intc/arm_gicv3_dist.o
  CC      hw/intc/arm_gicv3_its_common.o
  CC      hw/intc/openpic.o
  CC      hw/intc/intc.o
  CC      hw/ipack/ipack.o
  CC      hw/ipack/tpci200.o
  CC      hw/ipmi/ipmi.o
  CC      hw/ipmi/ipmi_bmc_sim.o
  CC      hw/ipmi/ipmi_bmc_extern.o
  CC      hw/ipmi/isa_ipmi_kcs.o
  CC      hw/ipmi/isa_ipmi_bt.o
  CC      hw/isa/isa-bus.o
  CC      hw/isa/i82378.o
  CC      hw/isa/apm.o
  CC      hw/isa/pc87312.o
  CC      hw/isa/piix4.o
  CC      hw/isa/vt82c686.o
  CC      hw/mem/pc-dimm.o
  CC      hw/mem/nvdimm.o
  CC      hw/misc/applesmc.o
  CC      hw/misc/max111x.o
  CC      hw/misc/tmp105.o
  CC      hw/misc/tmp421.o
  CC      hw/misc/debugexit.o
  CC      hw/misc/sga.o
  CC      hw/misc/pc-testdev.o
  CC      hw/misc/pci-testdev.o
  CC      hw/misc/edu.o
  CC      hw/misc/unimp.o
  CC      hw/misc/arm_l2x0.o
  CC      hw/misc/vmcoreinfo.o
  CC      hw/misc/arm_integrator_debug.o
  CC      hw/misc/arm11scu.o
  CC      hw/misc/a9scu.o
  CC      hw/misc/puv3_pm.o
  CC      hw/misc/macio/macio.o
  CC      hw/misc/macio/cuda.o
  CC      hw/misc/macio/mac_dbdma.o
  CC      hw/net/dp8393x.o
  CC      hw/net/ne2000.o
  CC      hw/net/eepro100.o
  CC      hw/net/pcnet-pci.o
  CC      hw/net/pcnet.o
  CC      hw/net/e1000.o
  CC      hw/net/e1000x_common.o
  CC      hw/net/net_tx_pkt.o
  CC      hw/net/net_rx_pkt.o
  CC      hw/net/e1000e.o
  CC      hw/net/e1000e_core.o
  CC      hw/net/rtl8139.o
  CC      hw/net/vmxnet3.o
  CC      hw/net/smc91c111.o
  CC      hw/net/lan9118.o
  CC      hw/net/ne2000-isa.o
  CC      hw/net/opencores_eth.o
  CC      hw/net/xgmac.o
  CC      hw/net/mipsnet.o
  CC      hw/net/xilinx_axienet.o
  CC      hw/net/allwinner_emac.o
  CC      hw/net/imx_fec.o
  CC      hw/net/cadence_gem.o
  CC      hw/net/stellaris_enet.o
  CC      hw/net/lance.o
  CC      hw/net/sunhme.o
  CC      hw/net/ftgmac100.o
  CC      hw/net/sungem.o
  CC      hw/net/rocker/rocker.o
  CC      hw/net/rocker/rocker_fp.o
  CC      hw/net/rocker/rocker_desc.o
  CC      hw/net/rocker/rocker_world.o
  CC      hw/net/rocker/rocker_of_dpa.o
  CC      hw/nvram/ds1225y.o
  CC      hw/nvram/eeprom93xx.o
  CC      hw/nvram/eeprom_at24c.o
  CC      hw/nvram/fw_cfg.o
  CC      hw/nvram/chrp_nvram.o
  CC      hw/pci-bridge/pci_bridge_dev.o
  CC      hw/nvram/mac_nvram.o
  CC      hw/pci-bridge/pcie_root_port.o
  CC      hw/pci-bridge/gen_pcie_root_port.o
  CC      hw/pci-bridge/pcie_pci_bridge.o
  CC      hw/pci-bridge/pci_expander_bridge.o
  CC      hw/pci-bridge/xio3130_upstream.o
  CC      hw/pci-bridge/xio3130_downstream.o
  CC      hw/pci-bridge/ioh3420.o
  CC      hw/pci-bridge/i82801b11.o
  CC      hw/pci-bridge/dec.o
  CC      hw/pci-host/pam.o
  CC      hw/pci-bridge/simba.o
  CC      hw/pci-host/grackle.o
  CC      hw/pci-host/prep.o
  CC      hw/pci-host/ppce500.o
  CC      hw/pci-host/uninorth.o
  CC      hw/pci-host/sabre.o
  CC      hw/pci-host/versatile.o
  CC      hw/pci-host/bonito.o
  CC      hw/pci-host/piix.o
  CC      hw/pci-host/q35.o
  CC      hw/pci-host/gpex.o
  CC      hw/pci-host/xilinx-pcie.o
  CC      hw/pci/pci.o
  CC      hw/pci/pci_bridge.o
  CC      hw/pci/msix.o
  CC      hw/pci/msi.o
  CC      hw/pci/shpc.o
  CC      hw/pci/slotid_cap.o
  CC      hw/pci/pci_host.o
  CC      hw/pci/pcie_host.o
  CC      hw/pci/pcie.o
  CC      hw/pci/pcie_aer.o
  CC      hw/pci/pcie_port.o
  CC      hw/pci/pci-stub.o
  CC      hw/pcmcia/pcmcia.o
  CC      hw/scsi/scsi-disk.o
  CC      hw/scsi/scsi-generic.o
  CC      hw/scsi/scsi-bus.o
  CC      hw/scsi/lsi53c895a.o
  CC      hw/scsi/mptconfig.o
  CC      hw/scsi/mptsas.o
  CC      hw/scsi/mptendian.o
  CC      hw/scsi/megasas.o
  CC      hw/scsi/vmw_pvscsi.o
  CC      hw/scsi/esp.o
  CC      hw/scsi/esp-pci.o
  CC      hw/sd/pl181.o
  CC      hw/sd/ssi-sd.o
  CC      hw/sd/sd.o
  CC      hw/sd/core.o
  CC      hw/sd/sdhci.o
  CC      hw/smbios/smbios.o
  CC      hw/smbios/smbios_type_38.o
  CC      hw/smbios/smbios-stub.o
  CC      hw/smbios/smbios_type_38-stub.o
  CC      hw/ssi/pl022.o
  CC      hw/ssi/ssi.o
  CC      hw/ssi/xilinx_spi.o
  CC      hw/ssi/xilinx_spips.o
  CC      hw/ssi/aspeed_smc.o
  CC      hw/ssi/stm32f2xx_spi.o
  CC      hw/ssi/mss-spi.o
  CC      hw/timer/arm_timer.o
  CC      hw/timer/arm_mptimer.o
  CC      hw/timer/armv7m_systick.o
  CC      hw/timer/a9gtimer.o
  CC      hw/timer/cadence_ttc.o
  CC      hw/timer/ds1338.o
  CC      hw/timer/i8254_common.o
  CC      hw/timer/hpet.o
  CC      hw/timer/i8254.o
  CC      hw/timer/m48t59.o
  CC      hw/timer/m48t59-isa.o
  CC      hw/timer/pl031.o
  CC      hw/timer/puv3_ost.o
  CC      hw/timer/twl92230.o
  CC      hw/timer/xilinx_timer.o
  CC      hw/timer/slavio_timer.o
  CC      hw/timer/etraxfs_timer.o
  CC      hw/timer/grlib_gptimer.o
  CC      hw/timer/imx_epit.o
  CC      hw/timer/imx_gpt.o
  CC      hw/timer/lm32_timer.o
  CC      hw/timer/milkymist-sysctl.o
  CC      hw/timer/stm32f2xx_timer.o
  CC      hw/timer/aspeed_timer.o
  CC      hw/timer/sun4v-rtc.o
  CC      hw/timer/cmsdk-apb-timer.o
  CC      hw/timer/mss-timer.o
  CC      hw/tpm/tpm_util.o
  CC      hw/tpm/tpm_tis.o
  CC      hw/tpm/tpm_crb.o
  CC      hw/tpm/tpm_emulator.o
  CC      hw/usb/core.o
  CC      hw/usb/combined-packet.o
  CC      hw/usb/bus.o
  CC      hw/usb/libhw.o
  CC      hw/usb/desc.o
  CC      hw/usb/desc-msos.o
  CC      hw/usb/hcd-uhci.o
  CC      hw/usb/hcd-ohci.o
  CC      hw/usb/hcd-ehci.o
  CC      hw/usb/hcd-ehci-pci.o
  CC      hw/usb/hcd-ehci-sysbus.o
  CC      hw/usb/hcd-xhci.o
  CC      hw/usb/hcd-xhci-nec.o
  CC      hw/usb/hcd-musb.o
  CC      hw/usb/dev-hub.o
  CC      hw/usb/dev-hid.o
  CC      hw/usb/dev-wacom.o
  CC      hw/usb/dev-uas.o
  CC      hw/usb/dev-storage.o
  CC      hw/usb/dev-audio.o
  CC      hw/usb/dev-serial.o
  CC      hw/usb/dev-network.o
  CC      hw/usb/dev-bluetooth.o
  CC      hw/usb/dev-smartcard-reader.o
  CC      hw/usb/dev-mtp.o
  CC      hw/usb/host-stub.o
  CC      hw/usb/host-libusb.o
  CC      hw/virtio/virtio-rng.o
  CC      hw/virtio/virtio-bus.o
  CC      hw/virtio/virtio-mmio.o
  CC      hw/virtio/virtio-pci.o
  CC      hw/virtio/vhost-stub.o
  CC      hw/watchdog/watchdog.o
  CC      hw/watchdog/wdt_i6300esb.o
  CC      hw/watchdog/wdt_ib700.o
  CC      hw/watchdog/wdt_diag288.o
  CC      hw/watchdog/wdt_aspeed.o
  CC      migration/migration.o
  CC      migration/socket.o
  CC      migration/fd.o
  CC      migration/exec.o
  CC      migration/tls.o
  CC      migration/channel.o
  CC      migration/colo-comm.o
  CC      migration/savevm.o
  CC      migration/colo.o
  CC      migration/vmstate.o
  CC      migration/vmstate-types.o
  CC      migration/page_cache.o
  CC      migration/colo-failover.o
  CC      migration/qemu-file.o
  CC      migration/qemu-file-channel.o
  CC      migration/xbzrle.o
  CC      migration/global_state.o
  CC      migration/postcopy-ram.o
  CC      migration/qjson.o
  CC      migration/rdma.o
  CC      migration/block.o
  CC      net/net.o
  CC      net/queue.o
  CC      net/checksum.o
  CC      net/util.o
  CC      net/hub.o
  CC      net/socket.o
  CC      net/dump.o
  CC      net/eth.o
  CC      net/l2tpv3.o
  CC      net/vhost-user.o
  CC      net/slirp.o
  CC      net/filter.o
  CC      net/filter-buffer.o
  CC      net/filter-mirror.o
  CC      net/colo-compare.o
  CC      net/colo.o
  CC      net/filter-rewriter.o
  CC      net/filter-replay.o
  CC      net/tap.o
  CC      net/tap-linux.o
  CC      qom/cpu.o
  CC      replay/replay.o
  CC      replay/replay-internal.o
  CC      replay/replay-events.o
  CC      replay/replay-time.o
  CC      replay/replay-input.o
  CC      replay/replay-char.o
  CC      replay/replay-snapshot.o
  CC      replay/replay-net.o
  CC      replay/replay-audio.o
  CC      slirp/cksum.o
  CC      slirp/if.o
  CC      slirp/ip_icmp.o
  CC      slirp/ip6_icmp.o
  CC      slirp/ip6_input.o
  CC      slirp/ip6_output.o
  CC      slirp/ip_input.o
  CC      slirp/ip_output.o
  CC      slirp/dnssearch.o
  CC      slirp/dhcpv6.o
  CC      slirp/slirp.o
  CC      slirp/mbuf.o
  CC      slirp/misc.o
  CC      slirp/sbuf.o
  CC      slirp/socket.o
  CC      slirp/tcp_input.o
  CC      slirp/tcp_output.o
  CC      slirp/tcp_subr.o
  CC      slirp/udp.o
  CC      slirp/tcp_timer.o
  CC      slirp/udp6.o
  CC      slirp/bootp.o
  CC      slirp/tftp.o
  CC      slirp/arp_table.o
  CC      slirp/ndp_table.o
  CC      slirp/ncsi.o
  CC      ui/keymaps.o
  CC      ui/console.o
  CC      ui/cursor.o
  CC      ui/qemu-pixman.o
  CC      ui/input-keymap.o
  CC      ui/input.o
  CC      ui/input-legacy.o
  CC      ui/input-linux.o
  CC      ui/sdl.o
  CC      ui/sdl_zoom.o
  CC      ui/curses.o
  CC      ui/vnc.o
  CC      ui/vnc-enc-zlib.o
  CC      ui/vnc-enc-hextile.o
  CC      ui/vnc-enc-tight.o
  CC      ui/vnc-palette.o
  CC      ui/vnc-enc-zrle.o
  CC      ui/vnc-auth-vencrypt.o
  CC      ui/vnc-auth-sasl.o
  CC      ui/vnc-ws.o
  CC      ui/vnc-jobs.o
  CC      ui/gtk.o
  CC      ui/x_keymap.o
  CC      chardev/char.o
  CC      chardev/char-fd.o
  CC      chardev/char-fe.o
  CC      chardev/char-io.o
  CC      chardev/char-file.o
  CC      chardev/char-mux.o
  CC      chardev/char-null.o
  CC      chardev/char-parallel.o
  CC      chardev/char-pipe.o
  CC      chardev/char-pty.o
  CC      chardev/char-ringbuf.o
  CC      chardev/char-serial.o
  CC      chardev/char-socket.o
  CC      chardev/char-stdio.o
  CC      chardev/char-udp.o
  CCAS    spapr-rtas/spapr-rtas.o
  LINK    tests/qemu-iotests/socket_scm_helper
  CC      qga/commands.o
  CC      qga/guest-agent-command-state.o
  CC      qga/main.o
  Building spapr-rtas/spapr-rtas.img
  CC      qga/commands-posix.o
  CC      qga/channel-posix.o
  Building spapr-rtas/spapr-rtas.bin
  CC      qga/qapi-generated/qga-qapi-types.o
  CC      qga/qapi-generated/qga-qapi-visit.o
  CC      qga/qapi-generated/qga-qmp-marshal.o
  CC      qemu-img.o
  AR      libqemuutil.a
  LINK    qemu-ga
  LINK    ivshmem-client
  LINK    ivshmem-server
  LINK    qemu-nbd
  LINK    qemu-img
  LINK    qemu-io
  LINK    fsdev/virtfs-proxy-helper
  LINK    scsi/qemu-pr-helper
  LINK    qemu-bridge-helper
  GEN     cris-linux-user/config-target.h
  GEN     aarch64-linux-user/config-target.h
  CC      cris-linux-user/exec.o
  CC      cris-linux-user/tcg/tcg.o
  CC      cris-linux-user/tcg/tcg-op.o
  GEN     m68k-linux-user/config-target.h
  CC      cris-linux-user/tcg/optimize.o
  CC      aarch64-linux-user/exec.o
  CC      aarch64-linux-user/tcg/tcg.o
  CC      cris-linux-user/tcg/tcg-common.o
  CC      aarch64-linux-user/tcg/tcg-op.o
  CC      cris-linux-user/fpu/softfloat.o
  GEN     arm-linux-user/config-target.h
  CC      cris-linux-user/disas.o
  GEN     alpha-linux-user/config-target.h
  CC      cris-linux-user/gdbstub.o
  CC      m68k-linux-user/exec.o
  CC      aarch64-linux-user/fpu/softfloat.o
  CC      m68k-linux-user/tcg/tcg.o
  CC      aarch64-linux-user/tcg/tcg-common.o
  CC      cris-linux-user/thunk.o
  CC      cris-linux-user/accel/stubs/hax-stub.o
  CC      m68k-linux-user/tcg/tcg-op.o
  CC      cris-linux-user/accel/stubs/hvf-stub.o
  GEN     mipsel-linux-user/config-target.h
  CC      m68k-linux-user/tcg/optimize.o
  CC      aarch64-linux-user/tcg/optimize.o
  GEN     mips64el-linux-user/config-target.h
  CC      aarch64-linux-user/disas.o
  CC      aarch64-linux-user/gdbstub.o
  CC      m68k-linux-user/tcg/tcg-common.o
  CC      m68k-linux-user/fpu/softfloat.o
  CC      arm-linux-user/tcg/tcg.o
  GEN     aarch64-linux-user/gdbstub-xml.c
  CC      cris-linux-user/accel/stubs/kvm-stub.o
  GEN     m68k-linux-user/gdbstub-xml.c
  GEN     aarch64_be-linux-user/config-target.h
  CC      arm-linux-user/exec.o
  CC      arm-linux-user/tcg/tcg-op.o
  CC      aarch64-linux-user/thunk.o
  CC      m68k-linux-user/disas.o
  CC      alpha-linux-user/tcg/tcg.o
  GEN     armeb-linux-user/config-target.h
  CC      cris-linux-user/accel/tcg/tcg-runtime.o
  CC      alpha-linux-user/exec.o
  CC      cris-linux-user/accel/tcg/cpu-exec.o
  CC      cris-linux-user/accel/tcg/cpu-exec-common.o
  CC      alpha-linux-user/tcg/tcg-op.o
  CC      arm-linux-user/tcg/optimize.o
  CC      aarch64-linux-user/accel/stubs/hax-stub.o
  CC      cris-linux-user/accel/tcg/translate-all.o
  GEN     microblaze-linux-user/config-target.h
  CC      m68k-linux-user/gdbstub.o
  GEN     nios2-linux-user/config-target.h
  CC      alpha-linux-user/tcg/optimize.o
  CC      mipsel-linux-user/exec.o
  GEN     mips64-linux-user/config-target.h
  CC      nios2-linux-user/exec.o
  CC      aarch64_be-linux-user/exec.o
  GEN     mipsn32el-linux-user/config-target.h
  CC      armeb-linux-user/exec.o
  CC      mips64el-linux-user/exec.o
  CC      microblaze-linux-user/exec.o
  CC      mips64-linux-user/exec.o
  GEN     mipsn32-linux-user/config-target.h
  GEN     hppa-linux-user/config-target.h
  GEN     ppc64-linux-user/config-target.h
  GEN     mips-linux-user/config-target.h
  CC      mipsn32el-linux-user/exec.o
  GEN     i386-linux-user/config-target.h
  CC      mipsn32-linux-user/exec.o
  CC      hppa-linux-user/exec.o
  GEN     sh4eb-linux-user/config-target.h
  GEN     sparc-linux-user/config-target.h
  CC      s390x-linux-user/gen-features
  GEN     sparc32plus-linux-user/config-target.h
  CC      mips-linux-user/exec.o
  GEN     sh4-linux-user/config-target.h
  GEN     ppc64abi32-linux-user/config-target.h
  GEN     ppc64le-linux-user/config-target.h
  CC      ppc64-linux-user/exec.o
  CC      i386-linux-user/exec.o
  CC      hppa-linux-user/tcg/tcg.o
  GEN     or1k-linux-user/config-target.h
  CC      sh4eb-linux-user/exec.o
  GEN     ppc-linux-user/config-target.h
  CC      sparc-linux-user/exec.o
  GEN     microblazeel-linux-user/config-target.h
  GEN     x86_64-linux-user/config-target.h
  GEN     tilegx-linux-user/config-target.h
  CC      sparc32plus-linux-user/exec.o
  CC      ppc64le-linux-user/exec.o
  CC      sh4-linux-user/exec.o
  CC      ppc64abi32-linux-user/exec.o
  GEN     sparc64-linux-user/config-target.h
  CC      ppc-linux-user/exec.o
  CC      x86_64-linux-user/exec.o
  CC      or1k-linux-user/exec.o
  CC      microblazeel-linux-user/exec.o
  CC      tilegx-linux-user/exec.o
  CC      sparc64-linux-user/exec.o
  CC      x86_64-linux-user/tcg/tcg.o
  GEN     s390x-linux-user/config-target.h
  GEN     s390x-linux-user/gen-features.h
  CC      arm-linux-user/tcg/tcg-common.o
  CC      alpha-linux-user/tcg/tcg-common.o
  CC      s390x-linux-user/exec.o
  CC      sh4-linux-user/tcg/tcg.o
  GEN     m68k-softmmu/hmp-commands.h
  CC      sparc32plus-linux-user/tcg/tcg.o
  GEN     m68k-softmmu/hmp-commands-info.h
  CC      sh4eb-linux-user/tcg/tcg.o
  CC      nios2-linux-user/tcg/tcg.o
  CC      mips64-linux-user/tcg/tcg.o
  CC      mipsel-linux-user/tcg/tcg.o
  CC      aarch64_be-linux-user/tcg/tcg.o
  GEN     tricore-softmmu/hmp-commands.h
  CC      microblaze-linux-user/tcg/tcg.o
  GEN     lm32-softmmu/hmp-commands.h
  CC      sparc-linux-user/tcg/tcg.o
  GEN     microblazeel-softmmu/hmp-commands.h
  GEN     microblazeel-softmmu/hmp-commands-info.h
  GEN     microblaze-softmmu/hmp-commands.h
  CC      mipsn32el-linux-user/tcg/tcg.o
  GEN     or1k-softmmu/hmp-commands.h
  CC      nios2-linux-user/tcg/tcg-op.o
  GEN     m68k-softmmu/config-target.h
  GEN     tricore-softmmu/hmp-commands-info.h
  CC      hppa-linux-user/tcg/tcg-op.o
  CC      sparc-linux-user/tcg/tcg-op.o
  CC      microblaze-linux-user/tcg/tcg-op.o
  CC      sparc32plus-linux-user/tcg/tcg-op.o
  GEN     cris-softmmu/hmp-commands.h
  GEN     sh4eb-softmmu/hmp-commands.h
  GEN     nios2-softmmu/hmp-commands.h
  CC      m68k-softmmu/exec.o
  GEN     tricore-softmmu/config-target.h
  CC      ppc64-linux-user/tcg/tcg.o
  GEN     moxie-softmmu/hmp-commands.h
  GEN     unicore32-softmmu/hmp-commands.h
  GEN     lm32-softmmu/hmp-commands-info.h
  CC      mips64el-linux-user/tcg/tcg.o
  CC      tricore-softmmu/exec.o
  CC      i386-linux-user/tcg/tcg.o
  CC      mipsn32-linux-user/tcg/tcg.o
  GEN     microblazeel-softmmu/config-target.h
  CC      mips64el-linux-user/tcg/tcg-op.o
  CC      s390x-linux-user/tcg/tcg.o
  CC      sparc-linux-user/tcg/optimize.o
  CC      arm-linux-user/fpu/softfloat.o
  GEN     or1k-softmmu/hmp-commands-info.h
  CC      microblazeel-linux-user/tcg/tcg.o
  CC      m68k-linux-user/thunk.o
  CC      microblazeel-softmmu/exec.o
  GEN     microblaze-softmmu/hmp-commands-info.h
  GEN     sh4eb-softmmu/hmp-commands-info.h
  GEN     lm32-softmmu/config-target.h
  CC      tricore-softmmu/tcg/tcg.o
  CC      s390x-linux-user/tcg/tcg-op.o
  GEN     cris-softmmu/hmp-commands-info.h
  CC      x86_64-linux-user/tcg/tcg-op.o
  GEN     alpha-softmmu/hmp-commands.h
  GEN     s390x-softmmu/hmp-commands.h
  CC      lm32-softmmu/exec.o
  CC      mips-linux-user/tcg/tcg.o
  GEN     sh4eb-softmmu/config-target.h
  GEN     sparc-softmmu/hmp-commands.h
  GEN     unicore32-softmmu/hmp-commands-info.h
  GEN     nios2-softmmu/hmp-commands-info.h
  GEN     xtensaeb-softmmu/hmp-commands.h
  CC      lm32-softmmu/tcg/tcg.o
  GEN     alpha-softmmu/hmp-commands-info.h
  GEN     or1k-softmmu/config-target.h
  CC      microblaze-linux-user/tcg/optimize.o
  GEN     microblaze-softmmu/config-target.h
  GEN     arm-softmmu/hmp-commands.h
  CC      sh4eb-softmmu/exec.o
  GEN     alpha-softmmu/config-target.h
  CC      microblaze-linux-user/tcg/tcg-common.o
  GEN     sh4-softmmu/hmp-commands.h
  CC      ppc-linux-user/tcg/tcg.o
  GEN     mips64-softmmu/hmp-commands.h
  CC      or1k-linux-user/tcg/tcg.o
  GEN     cris-softmmu/config-target.h
  CC      or1k-softmmu/exec.o
  GEN     i386-softmmu/hmp-commands.h
  GEN     s390x-softmmu/hmp-commands-info.h
  GEN     moxie-softmmu/hmp-commands-info.h
  CC      microblaze-softmmu/exec.o
  GEN     xtensa-softmmu/hmp-commands.h
  GEN     nios2-softmmu/config-target.h
  CC      ppc64abi32-linux-user/tcg/tcg.o
  GEN     i386-softmmu/hmp-commands-info.h
  GEN     unicore32-softmmu/config-target.h
  CC      ppc64abi32-linux-user/tcg/tcg-op.o
  CC      cris-softmmu/exec.o
  CC      or1k-softmmu/tcg/tcg.o
  GEN     sparc-softmmu/hmp-commands-info.h
  CC      ppc64le-linux-user/tcg/tcg.o
  GEN     sparc64-softmmu/hmp-commands.h
  CC      nios2-softmmu/exec.o
  CC      tilegx-linux-user/tcg/tcg.o
  CC      unicore32-softmmu/exec.o
  CC      armeb-linux-user/tcg/tcg.o
  GEN     moxie-softmmu/config-target.h
  CC      s390x-softmmu/gen-features
  GEN     sparc-softmmu/config-target.h
  GEN     hppa-softmmu/hmp-commands.h
  GEN     mips-softmmu/hmp-commands.h
  CC      sparc64-linux-user/tcg/tcg.o
  GEN     mips-softmmu/hmp-commands-info.h
  GEN     xtensaeb-softmmu/hmp-commands-info.h
  CC      moxie-softmmu/exec.o
  CC      sparc-softmmu/exec.o
  CC      mips64-linux-user/tcg/tcg-op.o
  CC      alpha-softmmu/exec.o
  GEN     ppc64-softmmu/hmp-commands.h
  CC      alpha-softmmu/tcg/tcg.o
  GEN     xtensaeb-softmmu/config-target.h
  CC      mips64-linux-user/tcg/optimize.o
  GEN     ppc-softmmu/hmp-commands.h
  GEN     i386-softmmu/config-target.h
  GEN     xtensa-softmmu/hmp-commands-info.h
  GEN     sh4-softmmu/hmp-commands-info.h
  GEN     mips64-softmmu/hmp-commands-info.h
  CC      xtensaeb-softmmu/exec.o
  GEN     mipsel-softmmu/hmp-commands.h
  CC      mips64-linux-user/tcg/tcg-common.o
  CC      i386-softmmu/exec.o
  GEN     s390x-softmmu/config-target.h
  GEN     arm-softmmu/hmp-commands-info.h
  GEN     mips-softmmu/config-target.h
  GEN     sparc64-softmmu/hmp-commands-info.h
  GEN     xtensa-softmmu/config-target.h
  GEN     sh4-softmmu/config-target.h
  GEN     mips64-softmmu/config-target.h
  GEN     s390x-softmmu/gen-features.h
  GEN     sparc64-softmmu/config-target.h
  CC      sh4-softmmu/exec.o
  CC      cris-softmmu/tcg/tcg.o
  GEN     hppa-softmmu/hmp-commands-info.h
  CC      xtensa-softmmu/exec.o
  CC      s390x-softmmu/exec.o
  CC      mips-softmmu/exec.o
  GEN     arm-softmmu/config-target.h
  CC      mips64-softmmu/exec.o
  GEN     ppc-softmmu/hmp-commands-info.h
  GEN     mipsel-softmmu/hmp-commands-info.h
  GEN     ppc64-softmmu/hmp-commands-info.h
  CC      sparc64-softmmu/exec.o
  CC      arm-softmmu/exec.o
  GEN     hppa-softmmu/config-target.h
  CC      mips-softmmu/tcg/tcg.o
  CC      hppa-softmmu/exec.o
  GEN     mipsel-softmmu/config-target.h
  CC      mipsel-softmmu/exec.o
  GEN     ppc64-softmmu/config-target.h
  GEN     aarch64-softmmu/hmp-commands.h
  CC      ppc64-softmmu/exec.o
  GEN     ppc-softmmu/config-target.h
  CC      ppc64-softmmu/tcg/tcg.o
  CC      ppc-softmmu/exec.o
  GEN     x86_64-softmmu/hmp-commands.h
  GEN     ppcemb-softmmu/hmp-commands.h
  CC      ppc-softmmu/tcg/tcg.o
  GEN     mips64el-softmmu/hmp-commands.h
  CC      microblaze-linux-user/fpu/softfloat.o
  GEN     ppcemb-softmmu/hmp-commands-info.h
  GEN     aarch64-softmmu/hmp-commands-info.h
  GEN     x86_64-softmmu/hmp-commands-info.h
  GEN     ppcemb-softmmu/config-target.h
  GEN     mips64el-softmmu/hmp-commands-info.h
  CC      ppcemb-softmmu/exec.o
  GEN     aarch64-softmmu/config-target.h
  CC      aarch64-softmmu/exec.o
  GEN     x86_64-softmmu/config-target.h
  CC      x86_64-softmmu/exec.o
  GEN     mips64el-softmmu/config-target.h
  CC      sh4-softmmu/tcg/tcg.o
  CC      mips64el-softmmu/exec.o
  CC      cris-softmmu/tcg/tcg-op.o
  CC      mips64-linux-user/fpu/softfloat.o
  CC      sh4-softmmu/tcg/tcg-op.o
  CC      i386-linux-user/tcg/tcg-op.o
  CC      ppc-linux-user/tcg/tcg-op.o
  CC      mips64-softmmu/tcg/tcg.o
  CC      ppcemb-softmmu/tcg/tcg.o
  CC      or1k-softmmu/tcg/tcg-op.o
  CC      xtensa-softmmu/tcg/tcg.o
  CC      xtensaeb-softmmu/tcg/tcg.o
  CC      microblazeel-softmmu/tcg/tcg.o
  CC      microblazeel-softmmu/tcg/tcg-op.o
  CC      sh4-linux-user/tcg/tcg-op.o
  CC      aarch64-linux-user/accel/stubs/hvf-stub.o
  CC      aarch64_be-linux-user/tcg/tcg-op.o
  CC      aarch64_be-linux-user/tcg/optimize.o
  CC      ppcemb-softmmu/tcg/tcg-op.o
  CC      ppc64abi32-linux-user/tcg/optimize.o
  CC      ppc64-softmmu/tcg/tcg-op.o
  CC      mips-softmmu/tcg/tcg-op.o
  CC      ppc-linux-user/tcg/optimize.o
  CC      sh4-softmmu/tcg/optimize.o
  CC      mips-softmmu/tcg/optimize.o
  CC      sh4eb-softmmu/tcg/tcg.o
  CC      xtensaeb-softmmu/tcg/tcg-op.o
  CC      hppa-linux-user/tcg/optimize.o
  CC      sh4eb-linux-user/tcg/tcg-op.o
  CC      nios2-linux-user/tcg/optimize.o
  CC      sh4eb-linux-user/tcg/optimize.o
  CC      mipsel-softmmu/tcg/tcg.o
  CC      x86_64-linux-user/tcg/optimize.o
  CC      tilegx-linux-user/tcg/tcg-op.o
  CC      cris-linux-user/accel/tcg/translator.o
  CC      sparc32plus-linux-user/tcg/optimize.o
  CC      sparc64-softmmu/tcg/tcg.o
  CC      mipsel-linux-user/tcg/tcg-op.o
  CC      mipsel-linux-user/tcg/optimize.o
  CC      sh4eb-softmmu/tcg/tcg-op.o
  CC      mipsn32-linux-user/tcg/tcg-op.o
  CC      alpha-softmmu/tcg/tcg-op.o
  CC      i386-softmmu/tcg/tcg.o
  CC      alpha-linux-user/fpu/softfloat.o
  CC      i386-softmmu/tcg/tcg-op.o
  CC      microblazeel-linux-user/tcg/tcg-op.o
  CC      i386-softmmu/tcg/optimize.o
  CC      aarch64-softmmu/tcg/tcg.o
  CC      cris-linux-user/accel/tcg/user-exec.o
  CC      s390x-linux-user/tcg/optimize.o
  CC      armeb-linux-user/tcg/tcg-op.o
  CC      sh4eb-linux-user/tcg/tcg-common.o
  CC      or1k-linux-user/tcg/tcg-op.o
  CC      armeb-linux-user/tcg/optimize.o
  CC      aarch64-linux-user/accel/stubs/kvm-stub.o
  CC      xtensa-softmmu/tcg/tcg-op.o
  CC      ppc64-linux-user/tcg/tcg-op.o
  CC      mips64el-softmmu/tcg/tcg.o
  CC      arm-softmmu/tcg/tcg.o
  CC      tricore-softmmu/tcg/tcg-op.o
  CC      mips64el-softmmu/tcg/tcg-op.o
  CC      sh4eb-softmmu/tcg/optimize.o
  CC      aarch64-linux-user/accel/tcg/tcg-runtime.o
  CC      sparc-softmmu/tcg/tcg.o
  CC      mipsn32el-linux-user/tcg/tcg-op.o
  CC      sparc-linux-user/tcg/tcg-common.o
  CC      sparc32plus-linux-user/tcg/tcg-common.o
  CC      i386-linux-user/tcg/optimize.o
  CC      mipsel-softmmu/tcg/tcg-op.o
  CC      ppc64-softmmu/tcg/optimize.o
  CC      nios2-linux-user/tcg/tcg-common.o
  CC      moxie-softmmu/tcg/tcg.o
  CC      sparc64-softmmu/tcg/tcg-op.o
  CC      sparc64-softmmu/tcg/optimize.o
  CC      sh4-linux-user/tcg/optimize.o
  CC      tilegx-linux-user/tcg/optimize.o
  CC      ppc64-linux-user/tcg/optimize.o
  CC      mips64el-softmmu/tcg/optimize.o
  CC      sparc64-linux-user/tcg/tcg-op.o
  CC      hppa-linux-user/tcg/tcg-common.o
  CC      m68k-softmmu/tcg/tcg.o
  CC      hppa-linux-user/fpu/softfloat.o
  CC      aarch64-linux-user/accel/tcg/cpu-exec.o
  CC      sparc32plus-linux-user/fpu/softfloat.o
  CC      nios2-linux-user/fpu/softfloat.o
  CC      sh4eb-linux-user/fpu/softfloat.o
  CC      aarch64-softmmu/tcg/tcg-op.o
  CC      arm-softmmu/tcg/tcg-op.o
  CC      cris-linux-user/accel/tcg/user-exec-stub.o
  CC      mips64el-linux-user/tcg/optimize.o
  CC      aarch64-softmmu/tcg/optimize.o
  CC      sh4-softmmu/tcg/tcg-common.o
  CC      sparc-linux-user/fpu/softfloat.o
  CC      microblaze-softmmu/tcg/tcg.o
  CC      microblaze-softmmu/tcg/tcg-op.o
  CC      ppc64-linux-user/tcg/tcg-common.o
  CC      sparc64-softmmu/tcg/tcg-common.o
  CC      unicore32-softmmu/tcg/tcg.o
  CC      x86_64-linux-user/tcg/tcg-common.o
  CC      aarch64-linux-user/accel/tcg/cpu-exec-common.o
  CC      ppc64le-linux-user/tcg/tcg-op.o
  CC      sh4-softmmu/fpu/softfloat.o
  CC      nios2-softmmu/tcg/tcg.o
  CC      aarch64_be-linux-user/tcg/tcg-common.o
  CC      ppc64le-linux-user/tcg/optimize.o
  CC      s390x-softmmu/tcg/tcg.o
  CC      cris-softmmu/tcg/optimize.o
  CC      sparc32plus-linux-user/disas.o
  CC      cris-linux-user/linux-user/main.o
  CC      ppc-softmmu/tcg/tcg-op.o
  CC      m68k-softmmu/tcg/tcg-op.o
  CC      ppc-linux-user/tcg/tcg-common.o
  CC      mips64-linux-user/disas.o
  CC      mipsn32-linux-user/tcg/optimize.o
  CC      or1k-softmmu/tcg/optimize.o
  CC      x86_64-linux-user/fpu/softfloat.o
  CC      or1k-softmmu/tcg/tcg-common.o
  CC      arm-linux-user/disas.o
  GEN     arm-linux-user/gdbstub-xml.c
  CC      mips-linux-user/tcg/tcg-op.o
  CC      sh4eb-softmmu/tcg/tcg-common.o
  CC      m68k-linux-user/accel/stubs/hax-stub.o
  CC      ppc64abi32-linux-user/tcg/tcg-common.o
  CC      or1k-linux-user/tcg/optimize.o
  CC      sh4-linux-user/tcg/tcg-common.o
  CC      m68k-linux-user/accel/stubs/hvf-stub.o
  CC      aarch64_be-linux-user/fpu/softfloat.o
  CC      microblazeel-softmmu/tcg/optimize.o
  CC      aarch64_be-linux-user/disas.o
  CC      aarch64-linux-user/accel/tcg/translate-all.o
  CC      sh4-linux-user/fpu/softfloat.o
  CC      mips64-linux-user/gdbstub.o
  CC      ppc-linux-user/fpu/softfloat.o
  CC      s390x-linux-user/tcg/tcg-common.o
  CC      aarch64-softmmu/tcg/tcg-common.o
  CC      sh4-softmmu/disas.o
  CC      mipsn32el-linux-user/tcg/optimize.o
  CC      or1k-linux-user/tcg/tcg-common.o
  CC      ppc64le-linux-user/tcg/tcg-common.o
  CC      cris-softmmu/tcg/tcg-common.o
  CC      cris-softmmu/fpu/softfloat.o
  CC      mips64-softmmu/tcg/tcg-op.o
  CC      ppc64abi32-linux-user/fpu/softfloat.o
  CC      i386-linux-user/tcg/tcg-common.o
  CC      ppc64abi32-linux-user/disas.o
  CC      cris-linux-user/linux-user/syscall.o
  CC      mipsel-softmmu/tcg/optimize.o
  CC      lm32-softmmu/tcg/tcg-op.o
  CC      ppc-linux-user/disas.o
  CC      sh4-linux-user/disas.o
  CC      m68k-linux-user/accel/stubs/kvm-stub.o
  GEN     ppc-linux-user/gdbstub-xml.c
  CC      mips-linux-user/tcg/optimize.o
  CC      x86_64-softmmu/tcg/tcg.o
  CC      hppa-softmmu/tcg/tcg.o
  CC      i386-linux-user/fpu/softfloat.o
  CC      mipsel-softmmu/tcg/tcg-common.o
  CC      sparc64-softmmu/fpu/softfloat.o
  CC      alpha-softmmu/tcg/optimize.o
  CC      s390x-linux-user/fpu/softfloat.o
  CC      mipsn32-linux-user/tcg/tcg-common.o
  CC      microblazeel-linux-user/tcg/optimize.o
  CC      lm32-softmmu/tcg/optimize.o
  CC      arm-linux-user/gdbstub.o
  CC      ppc-linux-user/gdbstub.o
  CC      aarch64-linux-user/accel/tcg/translator.o
  CC      microblaze-softmmu/tcg/optimize.o
  CC      hppa-linux-user/disas.o
  CC      ppcemb-softmmu/tcg/optimize.o
  CC      m68k-linux-user/accel/tcg/tcg-runtime.o
  CC      ppcemb-softmmu/tcg/tcg-common.o
  CC      or1k-linux-user/fpu/softfloat.o
  CC      microblazeel-softmmu/tcg/tcg-common.o
  CC      m68k-linux-user/accel/tcg/cpu-exec.o
  CC      nios2-linux-user/disas.o
  CC      mips64-linux-user/thunk.o
  CC      sparc64-softmmu/disas.o
  CC      sparc64-softmmu/arch_init.o
  CC      mips64-linux-user/accel/stubs/hax-stub.o
  CC      microblazeel-softmmu/fpu/softfloat.o
  CC      or1k-softmmu/fpu/softfloat.o
  CC      or1k-softmmu/disas.o
  CC      ppcemb-softmmu/fpu/softfloat.o
  CC      xtensaeb-softmmu/tcg/optimize.o
  CC      aarch64-linux-user/accel/tcg/user-exec.o
  CC      sparc-linux-user/disas.o
  CC      mipsel-linux-user/tcg/tcg-common.o
  CC      mips-softmmu/tcg/tcg-common.o
  CC      armeb-linux-user/tcg/tcg-common.o
  CC      mips64el-linux-user/tcg/tcg-common.o
  CC      lm32-softmmu/tcg/tcg-common.o
  CC      sh4-linux-user/gdbstub.o
  CC      hppa-linux-user/gdbstub.o
  CC      x86_64-softmmu/tcg/tcg-op.o
  CC      sh4eb-linux-user/disas.o
  CC      i386-softmmu/tcg/tcg-common.o
  CC      ppc64-softmmu/tcg/tcg-common.o
  CC      nios2-softmmu/tcg/tcg-op.o
  CC      sh4eb-linux-user/gdbstub.o
  CC      m68k-linux-user/accel/tcg/cpu-exec-common.o
  CC      microblaze-softmmu/tcg/tcg-common.o
  CC      xtensa-softmmu/tcg/optimize.o
  CC      microblazeel-linux-user/tcg/tcg-common.o
  CC      mips-softmmu/fpu/softfloat.o
  CC      ppcemb-softmmu/disas.o
  CC      sparc32plus-linux-user/gdbstub.o
  GEN     ppcemb-softmmu/gdbstub-xml.c
  CC      ppc64-softmmu/fpu/softfloat.o
  CC      i386-softmmu/fpu/softfloat.o
  CC      sh4-softmmu/arch_init.o
  CC      xtensaeb-softmmu/tcg/tcg-common.o
  CC      mipsel-linux-user/fpu/softfloat.o
  CC      microblaze-linux-user/disas.o
  CC      mipsel-linux-user/disas.o
  CC      cris-softmmu/disas.o
  CC      nios2-softmmu/tcg/optimize.o
  CC      mips-linux-user/tcg/tcg-common.o
  CC      sh4-linux-user/thunk.o
  CC      m68k-linux-user/accel/tcg/translate-all.o
  CC      x86_64-linux-user/disas.o
  CC      arm-linux-user/thunk.o
  CC      m68k-linux-user/accel/tcg/translator.o
  CC      mipsel-linux-user/gdbstub.o
  CC      alpha-linux-user/disas.o
  CC      alpha-linux-user/gdbstub.o
  CC      mips64el-linux-user/fpu/softfloat.o
  CC      mips-linux-user/fpu/softfloat.o
  CC      mips64-linux-user/accel/stubs/hvf-stub.o
  CC      microblazeel-softmmu/disas.o
  CC      i386-linux-user/disas.o
  CC      tricore-softmmu/tcg/optimize.o
  CC      sh4eb-linux-user/thunk.o
  CC      or1k-linux-user/disas.o
  CC      sh4eb-linux-user/accel/stubs/hax-stub.o
  CC      mips-softmmu/disas.o
  CC      aarch64-softmmu/fpu/softfloat.o
  CC      xtensaeb-softmmu/fpu/softfloat.o
  CC      sh4eb-softmmu/fpu/softfloat.o
  CC      arm-linux-user/accel/stubs/hax-stub.o
  CC      mips64-linux-user/accel/stubs/kvm-stub.o
  CC      sh4eb-softmmu/disas.o
  CC      microblazeel-linux-user/fpu/softfloat.o
  CC      m68k-softmmu/tcg/optimize.o
  CC      tilegx-linux-user/tcg/tcg-common.o
  CC      mips64-linux-user/accel/tcg/tcg-runtime.o
  CC      alpha-softmmu/tcg/tcg-common.o
  CC      ppc64-softmmu/disas.o
  CC      mips64el-linux-user/disas.o
  CC      arm-linux-user/accel/stubs/hvf-stub.o
  CC      mips64el-linux-user/gdbstub.o
  CC      mips64el-linux-user/thunk.o
  CC      mipsn32-linux-user/fpu/softfloat.o
  CC      tilegx-linux-user/fpu/softfloat.o
  CC      mips64-linux-user/accel/tcg/cpu-exec.o
  CC      sparc-linux-user/gdbstub.o
  CC      xtensa-softmmu/tcg/tcg-common.o
  CC      microblaze-linux-user/gdbstub.o
  CC      armeb-linux-user/fpu/softfloat.o
  CC      m68k-softmmu/tcg/tcg-common.o
  CC      m68k-linux-user/accel/tcg/user-exec.o
  CC      m68k-linux-user/accel/tcg/user-exec-stub.o
  CC      arm-softmmu/tcg/optimize.o
  GEN     ppc64abi32-linux-user/gdbstub-xml.c
  CC      or1k-linux-user/gdbstub.o
  CC      nios2-linux-user/gdbstub.o
  CC      alpha-softmmu/fpu/softfloat.o
  CC      ppc-softmmu/tcg/optimize.o
  CC      arm-linux-user/accel/stubs/kvm-stub.o
  GEN     ppc64-softmmu/gdbstub-xml.c
  CC      armeb-linux-user/disas.o
  CC      ppc64-linux-user/fpu/softfloat.o
  CC      xtensa-softmmu/fpu/softfloat.o
  CC      sh4-softmmu/cpus.o
  CC      aarch64-linux-user/accel/tcg/user-exec-stub.o
  CC      mipsel-linux-user/thunk.o
  CC      microblazeel-softmmu/arch_init.o
  CC      ppcemb-softmmu/arch_init.o
  CC      tilegx-linux-user/disas.o
  CC      unicore32-softmmu/tcg/tcg-op.o
  CC      aarch64-linux-user/linux-user/main.o
  CC      xtensa-softmmu/disas.o
  CC      arm-linux-user/accel/tcg/tcg-runtime.o
  CC      xtensaeb-softmmu/disas.o
  CC      mipsel-softmmu/fpu/softfloat.o
  CC      ppc64-linux-user/disas.o
  CC      mips64-linux-user/accel/tcg/cpu-exec-common.o
  CC      microblazeel-softmmu/cpus.o
  GEN     ppc64-linux-user/gdbstub-xml.c
  CC      xtensaeb-softmmu/arch_init.o
  CC      mips64el-softmmu/tcg/tcg-common.o
  CC      moxie-softmmu/tcg/tcg-op.o
  CC      microblaze-linux-user/thunk.o
  CC      s390x-linux-user/disas.o
  CC      mips64el-linux-user/accel/stubs/hax-stub.o
  GEN     x86_64-linux-user/gdbstub-xml.c
  CC      mips64-linux-user/accel/tcg/translate-all.o
  CC      alpha-linux-user/thunk.o
  GEN     aarch64_be-linux-user/gdbstub-xml.c
  CC      tilegx-linux-user/gdbstub.o
  CC      alpha-linux-user/accel/stubs/hax-stub.o
  CC      mips64el-softmmu/fpu/softfloat.o
  CC      sparc-softmmu/tcg/tcg-op.o
  CC      mips-linux-user/disas.o
  CC      microblaze-softmmu/fpu/softfloat.o
  CC      sparc-softmmu/tcg/optimize.o
  CC      mips-linux-user/gdbstub.o
  CC      tilegx-linux-user/thunk.o
  CC      aarch64-linux-user/linux-user/syscall.o
  CC      sh4eb-softmmu/arch_init.o
  GEN     s390x-linux-user/gdbstub-xml.c
  CC      ppc-softmmu/tcg/tcg-common.o
  GEN     i386-linux-user/gdbstub-xml.c
  CC      sparc-linux-user/thunk.o
  CC      moxie-softmmu/tcg/optimize.o
  CC      arm-linux-user/accel/tcg/cpu-exec.o
  CC      i386-linux-user/gdbstub.o
  CC      mips-softmmu/arch_init.o
  CC      tricore-softmmu/tcg/tcg-common.o
  CC      ppc-linux-user/thunk.o
  CC      cris-linux-user/linux-user/strace.o
  CC      ppc64abi32-linux-user/gdbstub.o
  CC      aarch64-linux-user/linux-user/strace.o
  CC      s390x-linux-user/gdbstub.o
  CC      sparc64-softmmu/cpus.o
  CC      lm32-softmmu/fpu/softfloat.o
  CC      sparc32plus-linux-user/thunk.o
  CC      tilegx-linux-user/accel/stubs/hax-stub.o
  CC      mipsn32el-linux-user/tcg/tcg-common.o
  CC      m68k-linux-user/linux-user/main.o
  CC      sparc32plus-linux-user/accel/stubs/hax-stub.o
  CC      mips64-linux-user/accel/tcg/translator.o
  CC      sparc64-linux-user/tcg/optimize.o
  GEN     armeb-linux-user/gdbstub-xml.c
  CC      mipsn32-linux-user/disas.o
  CC      x86_64-softmmu/tcg/optimize.o
  CC      sparc64-linux-user/tcg/tcg-common.o
  CC      microblazeel-linux-user/disas.o
  CC      alpha-linux-user/accel/stubs/hvf-stub.o
  CC      aarch64_be-linux-user/gdbstub.o
  CC      alpha-linux-user/accel/stubs/kvm-stub.o
  CC      ppc64-softmmu/arch_init.o
  CC      i386-linux-user/thunk.o
  CC      tricore-softmmu/fpu/softfloat.o
  CC      cris-softmmu/arch_init.o
  CC      microblaze-linux-user/accel/stubs/hax-stub.o
  CC      sparc64-softmmu/monitor.o
  CC      sparc64-softmmu/gdbstub.o
  CC      microblazeel-softmmu/monitor.o
  CC      m68k-linux-user/linux-user/syscall.o
  CC      mipsn32el-linux-user/fpu/softfloat.o
  CC      cris-softmmu/cpus.o
  CC      s390x-softmmu/tcg/tcg-op.o
  CC      hppa-softmmu/tcg/tcg-op.o
  CC      ppc-softmmu/fpu/softfloat.o
  CC      nios2-softmmu/tcg/tcg-common.o
  CC      cris-softmmu/monitor.o
  CC      arm-linux-user/accel/tcg/cpu-exec-common.o
  CC      i386-softmmu/disas.o
  CC      tricore-softmmu/disas.o
  CC      nios2-linux-user/thunk.o
  CC      ppc64-softmmu/cpus.o
  CC      alpha-linux-user/accel/tcg/tcg-runtime.o
  GEN     i386-softmmu/gdbstub-xml.c
  CC      arm-linux-user/accel/tcg/translate-all.o
  CC      arm-linux-user/accel/tcg/translator.o
  CC      ppc64le-linux-user/fpu/softfloat.o
  CC      or1k-softmmu/arch_init.o
  CC      microblaze-linux-user/accel/stubs/hvf-stub.o
  CC      mipsel-linux-user/accel/stubs/hax-stub.o
  CC      microblaze-linux-user/accel/stubs/kvm-stub.o
  CC      mips64-softmmu/tcg/optimize.o
  CC      hppa-linux-user/thunk.o
  CC      tilegx-linux-user/accel/stubs/hvf-stub.o
  CC      mips64-linux-user/accel/tcg/user-exec.o
  CC      sparc64-softmmu/balloon.o
  CC      cris-linux-user/linux-user/mmap.o
  CC      mipsel-softmmu/disas.o
  CC      s390x-softmmu/tcg/optimize.o
  CC      sparc32plus-linux-user/accel/stubs/hvf-stub.o
  CC      arm-softmmu/tcg/tcg-common.o
  CC      sparc32plus-linux-user/accel/stubs/kvm-stub.o
  CC      aarch64-softmmu/disas.o
  GEN     aarch64-softmmu/gdbstub-xml.c
  CC      x86_64-linux-user/gdbstub.o
  CC      mipsel-softmmu/arch_init.o
  CC      microblaze-softmmu/disas.o
  CC      i386-softmmu/arch_init.o
  CC      mipsn32-linux-user/gdbstub.o
  CC      m68k-softmmu/fpu/softfloat.o
  CC      ppc64-linux-user/gdbstub.o
  CC      mipsn32-linux-user/thunk.o
  CC      microblaze-linux-user/accel/tcg/tcg-runtime.o
  CC      microblazeel-softmmu/gdbstub.o
  CC      x86_64-softmmu/tcg/tcg-common.o
  CC      tilegx-linux-user/accel/stubs/kvm-stub.o
  CC      ppcemb-softmmu/cpus.o
  CC      mips64el-softmmu/disas.o
  CC      tilegx-linux-user/accel/tcg/tcg-runtime.o
  CC      sparc64-linux-user/fpu/softfloat.o
  CC      alpha-linux-user/accel/tcg/cpu-exec.o
  CC      mipsn32-linux-user/accel/stubs/hax-stub.o
  CC      lm32-softmmu/disas.o
  CC      ppc-linux-user/accel/stubs/hax-stub.o
  CC      arm-softmmu/fpu/softfloat.o
  CC      x86_64-linux-user/thunk.o
  CC      sparc32plus-linux-user/accel/tcg/tcg-runtime.o
  CC      sparc-linux-user/accel/stubs/hax-stub.o
  CC      sparc-linux-user/accel/stubs/hvf-stub.o
  CC      sparc-linux-user/accel/stubs/kvm-stub.o
  CC      microblazeel-softmmu/balloon.o
  CC      armeb-linux-user/gdbstub.o
  CC      ppc-linux-user/accel/stubs/hvf-stub.o
  CC      sh4eb-softmmu/cpus.o
  CC      sh4eb-softmmu/monitor.o
  CC      armeb-linux-user/thunk.o
  CC      xtensa-softmmu/arch_init.o
  CC      sh4-softmmu/monitor.o
  CC      lm32-softmmu/arch_init.o
  CC      mips-linux-user/thunk.o
  CC      hppa-linux-user/accel/stubs/hax-stub.o
  CC      m68k-softmmu/disas.o
  CC      microblaze-linux-user/accel/tcg/cpu-exec.o
  CC      microblazeel-softmmu/ioport.o
  CC      moxie-softmmu/tcg/tcg-common.o
  CC      sh4eb-linux-user/accel/stubs/hvf-stub.o
  GEN     m68k-softmmu/gdbstub-xml.c
  CC      s390x-linux-user/thunk.o
  CC      m68k-softmmu/arch_init.o
  CC      sparc-linux-user/accel/tcg/tcg-runtime.o
  CC      i386-linux-user/accel/stubs/hax-stub.o
  CC      mipsn32-linux-user/accel/stubs/hvf-stub.o
  CC      m68k-linux-user/linux-user/strace.o
  CC      or1k-linux-user/thunk.o
  CC      microblazeel-softmmu/numa.o
  CC      lm32-softmmu/cpus.o
  CC      ppc64-linux-user/thunk.o
  CC      sparc32plus-linux-user/accel/tcg/cpu-exec.o
  CC      ppc64-linux-user/accel/stubs/hax-stub.o
  CC      m68k-softmmu/cpus.o
  CC      alpha-linux-user/accel/tcg/cpu-exec-common.o
  CC      s390x-softmmu/tcg/tcg-common.o
  CC      mips-linux-user/accel/stubs/hax-stub.o
  CC      mips64el-linux-user/accel/stubs/hvf-stub.o
  CC      lm32-softmmu/monitor.o
  CC      sparc-linux-user/accel/tcg/cpu-exec.o
  CC      ppc64abi32-linux-user/thunk.o
  CC      sh4eb-softmmu/gdbstub.o
  CC      hppa-linux-user/accel/stubs/hvf-stub.o
  CC      aarch64-linux-user/linux-user/mmap.o
  CC      aarch64-linux-user/linux-user/signal.o
  CC      sh4eb-linux-user/accel/stubs/kvm-stub.o
  CC      arm-linux-user/accel/tcg/user-exec.o
  CC      cris-softmmu/gdbstub.o
  CC      cris-linux-user/linux-user/signal.o
  CC      i386-linux-user/accel/stubs/hvf-stub.o
  CC      mips64-linux-user/accel/tcg/user-exec-stub.o
  CC      ppc64le-linux-user/disas.o
  CC      sparc64-softmmu/ioport.o
  CC      mips64-softmmu/tcg/tcg-common.o
  CC      alpha-softmmu/disas.o
  CC      mipsel-linux-user/accel/stubs/hvf-stub.o
  CC      sparc-softmmu/tcg/tcg-common.o
  CC      alpha-linux-user/accel/tcg/translate-all.o
  CC      alpha-softmmu/arch_init.o
  CC      mips-softmmu/cpus.o
  CC      sh4eb-linux-user/accel/tcg/tcg-runtime.o
  CC      arm-softmmu/disas.o
  CC      m68k-softmmu/monitor.o
  CC      x86_64-softmmu/fpu/softfloat.o
  CC      m68k-linux-user/linux-user/mmap.o
  GEN     ppc64le-linux-user/gdbstub-xml.c
  CC      microblaze-linux-user/accel/tcg/cpu-exec-common.o
  CC      ppc64le-linux-user/gdbstub.o
  CC      or1k-linux-user/accel/stubs/hax-stub.o
  CC      hppa-linux-user/accel/stubs/kvm-stub.o
  CC      mips64-softmmu/fpu/softfloat.o
  CC      unicore32-softmmu/tcg/optimize.o
  CC      sparc32plus-linux-user/accel/tcg/cpu-exec-common.o
  CC      mipsel-softmmu/cpus.o
  CC      sh4-linux-user/accel/stubs/hax-stub.o
  CC      mips64el-linux-user/accel/stubs/kvm-stub.o
  CC      x86_64-softmmu/disas.o
  CC      or1k-softmmu/cpus.o
  CC      ppc-softmmu/disas.o
  CC      i386-linux-user/accel/stubs/kvm-stub.o
  CC      aarch64_be-linux-user/thunk.o
  CC      mips64-linux-user/linux-user/main.o
  CC      or1k-linux-user/accel/stubs/hvf-stub.o
  CC      mipsel-linux-user/accel/stubs/kvm-stub.o
  CC      alpha-linux-user/accel/tcg/translator.o
  CC      m68k-softmmu/gdbstub.o
  CC      xtensaeb-softmmu/cpus.o
  CC      nios2-softmmu/fpu/softfloat.o
  CC      nios2-softmmu/disas.o
  CC      mips-linux-user/accel/stubs/hvf-stub.o
  CC      sparc-linux-user/accel/tcg/cpu-exec-common.o
  CC      sparc32plus-linux-user/accel/tcg/translate-all.o
  CC      microblaze-linux-user/accel/tcg/translate-all.o
  CC      hppa-linux-user/accel/tcg/tcg-runtime.o
  CC      sparc-linux-user/accel/tcg/translate-all.o
  CC      ppc64abi32-linux-user/accel/stubs/hax-stub.o
  CC      ppc64-softmmu/monitor.o
  CC      i386-linux-user/accel/tcg/tcg-runtime.o
  CC      mips64el-linux-user/accel/tcg/tcg-runtime.o
  CC      nios2-linux-user/accel/stubs/hax-stub.o
  CC      mips-linux-user/accel/stubs/kvm-stub.o
  CC      ppc-linux-user/accel/stubs/kvm-stub.o
  CC      sh4-linux-user/accel/stubs/hvf-stub.o
  CC      arm-linux-user/accel/tcg/user-exec-stub.o
  CC      ppcemb-softmmu/monitor.o
  CC      sh4eb-linux-user/accel/tcg/cpu-exec.o
  CC      or1k-linux-user/accel/stubs/kvm-stub.o
  CC      sparc-linux-user/accel/tcg/translator.o
  CC      mips64-linux-user/linux-user/syscall.o
  CC      sh4-softmmu/gdbstub.o
  CC      sh4-softmmu/balloon.o
  CC      microblazeel-softmmu/qtest.o
  CC      x86_64-linux-user/accel/stubs/hax-stub.o
  CC      mips-linux-user/accel/tcg/tcg-runtime.o
  GEN     ppc-softmmu/gdbstub-xml.c
  CC      microblaze-softmmu/arch_init.o
  CC      m68k-linux-user/linux-user/signal.o
  CC      hppa-softmmu/tcg/optimize.o
  CC      s390x-softmmu/fpu/softfloat.o
  CC      arm-linux-user/linux-user/main.o
  CC      mipsn32el-linux-user/disas.o
  CC      sparc-softmmu/fpu/softfloat.o
  CC      mips-softmmu/monitor.o
  CC      mipsn32-linux-user/accel/stubs/kvm-stub.o
  CC      moxie-softmmu/fpu/softfloat.o
  CC      ppc-linux-user/accel/tcg/tcg-runtime.o
  CC      microblazeel-linux-user/gdbstub.o
  CC      xtensaeb-softmmu/monitor.o
  CC      sh4-linux-user/accel/stubs/kvm-stub.o
  CC      hppa-linux-user/accel/tcg/cpu-exec.o
  CC      nios2-linux-user/accel/stubs/hvf-stub.o
  CC      m68k-softmmu/balloon.o
  CC      arm-linux-user/linux-user/syscall.o
  CC      ppc64abi32-linux-user/accel/stubs/hvf-stub.o
  CC      s390x-linux-user/accel/stubs/hax-stub.o
  CC      sparc32plus-linux-user/accel/tcg/translator.o
  CC      sparc32plus-linux-user/accel/tcg/user-exec.o
  CC      i386-linux-user/accel/tcg/cpu-exec.o
  GEN     arm-softmmu/gdbstub-xml.c
  CC      lm32-softmmu/gdbstub.o
  CC      ppc-softmmu/arch_init.o
  CC      sh4-linux-user/accel/tcg/tcg-runtime.o
  CC      or1k-linux-user/accel/tcg/tcg-runtime.o
  CC      microblazeel-softmmu/memory.o
  CC      sparc32plus-linux-user/accel/tcg/user-exec-stub.o
  CC      x86_64-linux-user/accel/stubs/hvf-stub.o
  CC      i386-linux-user/accel/tcg/cpu-exec-common.o
  CC      tilegx-linux-user/accel/tcg/cpu-exec.o
  CC      sh4eb-linux-user/accel/tcg/cpu-exec-common.o
  CC      mipsn32-linux-user/accel/tcg/tcg-runtime.o
  CC      ppc-softmmu/cpus.o
  CC      mips64-linux-user/linux-user/strace.o
  CC      sh4eb-softmmu/balloon.o
  CC      mips64-linux-user/linux-user/mmap.o
  CC      hppa-linux-user/accel/tcg/cpu-exec-common.o
  CC      ppc-linux-user/accel/tcg/cpu-exec.o
  CC      alpha-linux-user/accel/tcg/user-exec.o
  CC      alpha-linux-user/accel/tcg/user-exec-stub.o
  CC      sh4eb-linux-user/accel/tcg/translate-all.o
  CC      mips-linux-user/accel/tcg/cpu-exec.o
  CC      mips64el-softmmu/arch_init.o
  CC      ppc64-linux-user/accel/stubs/hvf-stub.o
  CC      nios2-linux-user/accel/stubs/kvm-stub.o
  CC      microblaze-linux-user/accel/tcg/translator.o
  CC      lm32-softmmu/balloon.o
  CC      sh4-linux-user/accel/tcg/cpu-exec.o
  CC      mips64-linux-user/linux-user/signal.o
  CC      or1k-linux-user/accel/tcg/cpu-exec.o
  CC      mips64el-linux-user/accel/tcg/cpu-exec.o
  CC      ppc64abi32-linux-user/accel/stubs/kvm-stub.o
  CC      ppc64-softmmu/gdbstub.o
  CC      s390x-linux-user/accel/stubs/hvf-stub.o
  CC      mips-linux-user/accel/tcg/cpu-exec-common.o
  CC      sparc64-softmmu/numa.o
  CC      lm32-softmmu/ioport.o
  CC      sh4eb-softmmu/ioport.o
  CC      arm-softmmu/arch_init.o
  CC      arm-softmmu/cpus.o
  CC      sparc-linux-user/accel/tcg/user-exec.o
  CC      mipsel-softmmu/monitor.o
  CC      mips64el-linux-user/accel/tcg/cpu-exec-common.o
  CC      x86_64-linux-user/accel/stubs/kvm-stub.o
  CC      mipsel-linux-user/accel/tcg/tcg-runtime.o
  CC      microblazeel-softmmu/memory_mapping.o
  CC      aarch64_be-linux-user/accel/stubs/hax-stub.o
  CC      hppa-linux-user/accel/tcg/translate-all.o
  CC      microblaze-linux-user/accel/tcg/user-exec.o
  CC      hppa-linux-user/accel/tcg/translator.o
  CC      microblazeel-linux-user/thunk.o
  CC      nios2-linux-user/accel/tcg/tcg-runtime.o
  CC      i386-softmmu/cpus.o
  CC      x86_64-linux-user/accel/tcg/tcg-runtime.o
  CC      ppc64-linux-user/accel/stubs/kvm-stub.o
  CC      tricore-softmmu/arch_init.o
  CC      ppc64-linux-user/accel/tcg/tcg-runtime.o
  CC      microblazeel-linux-user/accel/stubs/hax-stub.o
  CC      i386-softmmu/monitor.o
  CC      ppc64le-linux-user/thunk.o
  CC      ppc-linux-user/accel/tcg/cpu-exec-common.o
  CC      s390x-linux-user/accel/stubs/kvm-stub.o
  CC      i386-linux-user/accel/tcg/translate-all.o
  CC      ppc64abi32-linux-user/accel/tcg/tcg-runtime.o
  CC      mips64el-softmmu/cpus.o
  CC      mips-linux-user/accel/tcg/translate-all.o
  CC      nios2-softmmu/arch_init.o
  CC      armeb-linux-user/accel/stubs/hax-stub.o
  CC      s390x-linux-user/accel/tcg/tcg-runtime.o
  CC      cris-linux-user/linux-user/elfload.o
  CC      tilegx-linux-user/accel/tcg/cpu-exec-common.o
  CC      alpha-linux-user/linux-user/main.o
  CC      microblaze-linux-user/accel/tcg/user-exec-stub.o
  CC      or1k-linux-user/accel/tcg/cpu-exec-common.o
  CC      or1k-softmmu/monitor.o
  CC      aarch64_be-linux-user/accel/stubs/hvf-stub.o
  CC      or1k-linux-user/accel/tcg/translate-all.o
  CC      s390x-linux-user/accel/tcg/cpu-exec.o
  CC      mips64el-linux-user/accel/tcg/translate-all.o
  CC      ppc64-softmmu/balloon.o
  CC      aarch64-linux-user/linux-user/elfload.o
  CC      cris-softmmu/balloon.o
  CC      tricore-softmmu/cpus.o
  CC      ppc-linux-user/accel/tcg/translate-all.o
  CC      unicore32-softmmu/tcg/tcg-common.o
  CC      x86_64-linux-user/accel/tcg/cpu-exec.o
  CC      alpha-linux-user/linux-user/syscall.o
  CC      mips64-softmmu/disas.o
  CC      sparc-softmmu/disas.o
  CC      sparc32plus-linux-user/linux-user/main.o
  CC      ppc64-linux-user/accel/tcg/cpu-exec.o
  CC      sh4-linux-user/accel/tcg/cpu-exec-common.o
  CC      lm32-softmmu/numa.o
  CC      ppc64le-linux-user/accel/stubs/hax-stub.o
  CC      m68k-softmmu/ioport.o
  CC      mipsel-linux-user/accel/tcg/cpu-exec.o
  CC      mips64el-linux-user/accel/tcg/translator.o
  CC      mips64el-softmmu/monitor.o
  CC      mipsel-linux-user/accel/tcg/cpu-exec-common.o
  CC      ppc64abi32-linux-user/accel/tcg/cpu-exec.o
  CC      tilegx-linux-user/accel/tcg/translate-all.o
  CC      sparc32plus-linux-user/linux-user/syscall.o
  CC      x86_64-linux-user/accel/tcg/cpu-exec-common.o
  CC      nios2-linux-user/accel/tcg/cpu-exec.o
  CC      cris-linux-user/linux-user/linuxload.o
  CC      sparc64-softmmu/qtest.o
  CC      aarch64_be-linux-user/accel/stubs/kvm-stub.o
  CC      ppc64abi32-linux-user/accel/tcg/cpu-exec-common.o
  CC      mipsel-softmmu/gdbstub.o
  CC      tilegx-linux-user/accel/tcg/translator.o
  CC      arm-softmmu/monitor.o
  CC      arm-softmmu/gdbstub.o
  CC      alpha-softmmu/cpus.o
  CC      unicore32-softmmu/fpu/softfloat.o
  CC      unicore32-softmmu/disas.o
  CC      sh4eb-linux-user/accel/tcg/translator.o
  CC      microblazeel-softmmu/dump.o
  CC      microblaze-softmmu/cpus.o
  CC      cris-softmmu/ioport.o
  CC      aarch64_be-linux-user/accel/tcg/tcg-runtime.o
  CC      hppa-softmmu/tcg/tcg-common.o
  CC      sh4-linux-user/accel/tcg/translate-all.o
  CC      xtensa-softmmu/cpus.o
  CC      sparc-softmmu/arch_init.o
  CC      mipsn32el-linux-user/gdbstub.o
  CC      aarch64-softmmu/arch_init.o
  CC      sparc-softmmu/cpus.o
  CC      cris-softmmu/numa.o
  CC      ppc-softmmu/monitor.o
  CC      microblaze-softmmu/monitor.o
  CC      microblazeel-linux-user/accel/stubs/hvf-stub.o
  CC      hppa-linux-user/accel/tcg/user-exec.o
  CC      microblazeel-linux-user/accel/stubs/kvm-stub.o
  CC      sparc-softmmu/monitor.o
  CC      sparc-linux-user/accel/tcg/user-exec-stub.o
  CC      nios2-linux-user/accel/tcg/cpu-exec-common.o
  CC      sparc-linux-user/linux-user/main.o
  CC      ppcemb-softmmu/gdbstub.o
  CC      i386-linux-user/accel/tcg/translator.o
  GEN     x86_64-softmmu/gdbstub-xml.c
  CC      s390x-linux-user/accel/tcg/cpu-exec-common.o
  CC      ppc-linux-user/accel/tcg/translator.o
  CC      alpha-softmmu/monitor.o
  CC      x86_64-linux-user/accel/tcg/translate-all.o
  CC      sparc-softmmu/gdbstub.o
  CC      sparc64-softmmu/memory.o
  CC      m68k-softmmu/numa.o
  CC      sparc64-softmmu/memory_mapping.o
  CC      ppc64abi32-linux-user/accel/tcg/translate-all.o
  CC      sh4eb-linux-user/accel/tcg/user-exec.o
  CC      sparc64-softmmu/dump.o
  CC      aarch64-softmmu/cpus.o
  CC      hppa-softmmu/fpu/softfloat.o
  CC      hppa-softmmu/disas.o
  CC      sh4-softmmu/ioport.o
  CC      nios2-softmmu/cpus.o
  CC      aarch64-linux-user/linux-user/linuxload.o
  CC      mipsel-linux-user/accel/tcg/translate-all.o
  CC      nios2-linux-user/accel/tcg/translate-all.o
  CC      microblaze-linux-user/linux-user/main.o
  CC      mips64el-linux-user/accel/tcg/user-exec.o
  CC      mips64el-softmmu/gdbstub.o
  CC      aarch64_be-linux-user/accel/tcg/cpu-exec.o
  CC      or1k-linux-user/accel/tcg/translator.o
  CC      mipsn32-linux-user/accel/tcg/cpu-exec.o
  CC      x86_64-linux-user/accel/tcg/translator.o
  CC      arm-linux-user/linux-user/strace.o
  CC      microblazeel-linux-user/accel/tcg/tcg-runtime.o
  CC      xtensa-softmmu/monitor.o
  CC      microblaze-softmmu/gdbstub.o
  CC      s390x-softmmu/disas.o
  CC      armeb-linux-user/accel/stubs/hvf-stub.o
  CC      ppc64-linux-user/accel/tcg/cpu-exec-common.o
  CC      m68k-linux-user/linux-user/elfload.o
  CC      microblazeel-linux-user/accel/tcg/cpu-exec.o
  CC      aarch64_be-linux-user/accel/tcg/cpu-exec-common.o
  CC      armeb-linux-user/accel/stubs/kvm-stub.o
  CC      nios2-linux-user/accel/tcg/translator.o
  CC      s390x-linux-user/accel/tcg/translate-all.o
  CC      i386-softmmu/gdbstub.o
  CC      ppc64-softmmu/ioport.o
  CC      mips-linux-user/accel/tcg/translator.o
  CC      nios2-linux-user/accel/tcg/user-exec.o
  CC      nios2-linux-user/accel/tcg/user-exec-stub.o
  CC      nios2-linux-user/linux-user/main.o
  CC      sh4eb-softmmu/numa.o
  CC      sh4eb-softmmu/qtest.o
  CC      tilegx-linux-user/accel/tcg/user-exec.o
  CC      ppc64-linux-user/accel/tcg/translate-all.o
  CC      sh4eb-linux-user/accel/tcg/user-exec-stub.o
  CC      sparc64-softmmu/migration/ram.o
  CC      m68k-linux-user/linux-user/linuxload.o
  CC      armeb-linux-user/accel/tcg/tcg-runtime.o
  CC      m68k-softmmu/qtest.o
  CC      microblazeel-softmmu/migration/ram.o
  CC      sparc64-linux-user/disas.o
  CC      nios2-linux-user/linux-user/syscall.o
  CC      sparc-linux-user/linux-user/syscall.o
  CC      cris-softmmu/qtest.o
  CC      mipsel-linux-user/accel/tcg/translator.o
  CC      ppc-linux-user/accel/tcg/user-exec.o
  CC      arm-linux-user/linux-user/mmap.o
  CC      xtensaeb-softmmu/gdbstub.o
  CC      armeb-linux-user/accel/tcg/cpu-exec.o
  CC      or1k-linux-user/accel/tcg/user-exec.o
  CC      ppc-softmmu/gdbstub.o
  CC      sh4eb-linux-user/linux-user/main.o
  CC      nios2-linux-user/linux-user/strace.o
  CC      s390x-linux-user/accel/tcg/translator.o
  CC      sh4-softmmu/numa.o
  CC      alpha-softmmu/gdbstub.o
  CC      s390x-linux-user/accel/tcg/user-exec.o
  CC      ppc64abi32-linux-user/accel/tcg/translator.o
  CC      ppc-softmmu/balloon.o
  CC      x86_64-softmmu/arch_init.o
  CC      ppc-softmmu/ioport.o
  CC      microblazeel-linux-user/accel/tcg/cpu-exec-common.o
  CC      microblaze-linux-user/linux-user/syscall.o
  CC      tricore-softmmu/monitor.o
  CC      i386-linux-user/accel/tcg/user-exec.o
  CC      sh4-linux-user/accel/tcg/translator.o
  CC      nios2-linux-user/linux-user/mmap.o
  CC      sh4-linux-user/accel/tcg/user-exec.o
  GEN     s390x-softmmu/gdbstub-xml.c
  CC      mipsn32-linux-user/accel/tcg/cpu-exec-common.o
  CC      sh4-softmmu/qtest.o
  CC      ppc64-softmmu/numa.o
  CC      m68k-linux-user/linux-user/uaccess.o
  CC      unicore32-softmmu/arch_init.o
  CC      sparc-softmmu/balloon.o
  CC      sparc64-linux-user/gdbstub.o
  CC      x86_64-linux-user/accel/tcg/user-exec.o
  CC      i386-softmmu/balloon.o
  CC      ppc64le-linux-user/accel/stubs/hvf-stub.o
  CC      mipsel-linux-user/accel/tcg/user-exec.o
  CC      m68k-softmmu/memory.o
  CC      x86_64-softmmu/cpus.o
  CC      aarch64_be-linux-user/accel/tcg/translate-all.o
  CC      microblazeel-softmmu/accel/accel.o
  CC      x86_64-linux-user/accel/tcg/user-exec-stub.o
  CC      hppa-linux-user/accel/tcg/user-exec-stub.o
  CC      sparc64-softmmu/accel/accel.o
  CC      mipsn32-linux-user/accel/tcg/translate-all.o
  CC      sh4-softmmu/memory.o
  CC      microblazeel-linux-user/accel/tcg/translate-all.o
  CC      mipsn32-linux-user/accel/tcg/translator.o
  CC      x86_64-linux-user/linux-user/main.o
  CC      ppc-linux-user/accel/tcg/user-exec-stub.o
  CC      m68k-softmmu/memory_mapping.o
  CC      microblazeel-linux-user/accel/tcg/translator.o
  CC      sparc32plus-linux-user/linux-user/strace.o
  CC      aarch64-softmmu/monitor.o
  CC      aarch64-softmmu/gdbstub.o
  CC      sh4eb-softmmu/memory.o
  CC      ppc-softmmu/numa.o
  CC      xtensa-softmmu/gdbstub.o
  CC      s390x-linux-user/accel/tcg/user-exec-stub.o
  CC      ppc64le-linux-user/accel/stubs/kvm-stub.o
  CC      sparc-softmmu/ioport.o
  CC      xtensaeb-softmmu/balloon.o
  CC      tilegx-linux-user/accel/tcg/user-exec-stub.o
  CC      mips-linux-user/accel/tcg/user-exec.o
  CC      mips-softmmu/gdbstub.o
  CC      mips-linux-user/accel/tcg/user-exec-stub.o
  CC      microblaze-linux-user/linux-user/strace.o
  CC      armeb-linux-user/accel/tcg/cpu-exec-common.o
  CC      arm-linux-user/linux-user/signal.o
  CC      cris-linux-user/linux-user/uaccess.o
  CC      ppc64-linux-user/accel/tcg/translator.o
  CC      ppc64-linux-user/accel/tcg/user-exec.o
  CC      lm32-softmmu/qtest.o
  CC      aarch64-softmmu/balloon.o
  CC      sparc64-softmmu/accel/stubs/hax-stub.o
  CC      ppc64-softmmu/qtest.o
  CC      mips64el-linux-user/accel/tcg/user-exec-stub.o
  CC      m68k-linux-user/linux-user/uname.o
  CC      hppa-softmmu/arch_init.o
  CC      cris-softmmu/memory.o
  CCAS    m68k-linux-user/linux-user/safe-syscall.o
  CC      hppa-linux-user/linux-user/main.o
  CC      sparc32plus-linux-user/linux-user/mmap.o
  CC      sh4-linux-user/accel/tcg/user-exec-stub.o
  CC      sparc-linux-user/linux-user/strace.o
  CC      aarch64-linux-user/linux-user/uaccess.o
  CC      aarch64_be-linux-user/accel/tcg/translator.o
  CC      mipsel-linux-user/accel/tcg/user-exec-stub.o
  CC      sparc-linux-user/linux-user/mmap.o
  CC      x86_64-linux-user/linux-user/syscall.o
  CC      unicore32-softmmu/cpus.o
  CC      sh4eb-linux-user/linux-user/syscall.o
  CC      nios2-softmmu/monitor.o
  CC      ppc64le-linux-user/accel/tcg/tcg-runtime.o
  CC      m68k-linux-user/linux-user/flatload.o
  CC      lm32-softmmu/memory.o
  CC      alpha-linux-user/linux-user/strace.o
  CC      tilegx-linux-user/linux-user/main.o
  CC      mips-linux-user/linux-user/main.o
  CC      arm-linux-user/linux-user/elfload.o
  CC      mips64el-linux-user/linux-user/main.o
  CC      moxie-softmmu/disas.o
  CC      xtensaeb-softmmu/ioport.o
  CC      moxie-softmmu/arch_init.o
  CC      mipsn32-linux-user/accel/tcg/user-exec.o
  CC      sparc-linux-user/linux-user/signal.o
  CC      s390x-linux-user/linux-user/main.o
  CC      armeb-linux-user/accel/tcg/translate-all.o
  CC      ppc64abi32-linux-user/accel/tcg/user-exec.o
  CC      i386-softmmu/ioport.o
  CC      mipsn32el-linux-user/thunk.o
  CC      microblazeel-linux-user/accel/tcg/user-exec.o
  CC      s390x-linux-user/linux-user/syscall.o
  CC      alpha-linux-user/linux-user/mmap.o
  CC      ppcemb-softmmu/balloon.o
  CC      m68k-softmmu/dump.o
  CC      nios2-softmmu/gdbstub.o
  CC      armeb-linux-user/accel/tcg/translator.o
  CC      sh4eb-linux-user/linux-user/strace.o
  CC      mips64el-linux-user/linux-user/syscall.o
  CC      sparc-linux-user/linux-user/elfload.o
  CC      tricore-softmmu/gdbstub.o
  CC      mips-linux-user/linux-user/syscall.o
  CC      or1k-softmmu/gdbstub.o
  CC      mips64-softmmu/arch_init.o
  CC      microblaze-softmmu/balloon.o
  CC      or1k-linux-user/accel/tcg/user-exec-stub.o
  CC      tricore-softmmu/balloon.o
  CC      sparc64-linux-user/thunk.o
  CC      alpha-linux-user/linux-user/signal.o
  CC      i386-linux-user/accel/tcg/user-exec-stub.o
  CC      ppc-linux-user/linux-user/main.o
  CC      ppc64-softmmu/memory.o
  CC      aarch64_be-linux-user/accel/tcg/user-exec.o
  CC      x86_64-softmmu/monitor.o
  CC      aarch64-softmmu/ioport.o
  CC      aarch64-softmmu/numa.o
  CC      mipsn32el-linux-user/accel/stubs/hax-stub.o
  CC      or1k-softmmu/balloon.o
  CC      ppc64le-linux-user/accel/tcg/cpu-exec.o
  CC      mipsel-softmmu/balloon.o
  CC      ppcemb-softmmu/ioport.o
  CC      ppc64le-linux-user/accel/tcg/cpu-exec-common.o
  CC      hppa-linux-user/linux-user/syscall.o
  CC      xtensaeb-softmmu/numa.o
  CC      ppc-softmmu/qtest.o
  CC      hppa-softmmu/cpus.o
  CC      mips64-softmmu/cpus.o
  CC      sh4-linux-user/linux-user/main.o
  CC      or1k-linux-user/linux-user/main.o
  CC      ppc64-softmmu/memory_mapping.o
  CC      ppcemb-softmmu/numa.o
  CC      i386-linux-user/linux-user/main.o
  CC      x86_64-linux-user/linux-user/strace.o
  CC      microblazeel-linux-user/accel/tcg/user-exec-stub.o
  CC      microblazeel-linux-user/linux-user/main.o
  CC      i386-softmmu/numa.o
  CC      mipsel-softmmu/ioport.o
  CC      i386-softmmu/qtest.o
  CC      mipsel-linux-user/linux-user/main.o
  CC      cris-linux-user/linux-user/uname.o
  CC      mipsn32el-linux-user/accel/stubs/hvf-stub.o
  CC      ppc64le-linux-user/accel/tcg/translate-all.o
  CC      microblaze-softmmu/ioport.o
  CC      cris-softmmu/memory_mapping.o
  CC      mipsn32-linux-user/accel/tcg/user-exec-stub.o
  CC      mipsn32-linux-user/linux-user/main.o
  CC      ppc64le-linux-user/accel/tcg/translator.o
  CC      nios2-softmmu/balloon.o
  CC      hppa-linux-user/linux-user/strace.o
  CC      ppc-softmmu/memory.o
  CC      microblazeel-softmmu/accel/stubs/hax-stub.o
  CC      mips64el-softmmu/balloon.o
  CC      tilegx-linux-user/linux-user/syscall.o
  CC      nios2-softmmu/ioport.o
  CC      alpha-linux-user/linux-user/elfload.o
  CC      microblaze-linux-user/linux-user/mmap.o
  CC      sh4eb-softmmu/memory_mapping.o
  CC      mipsn32-linux-user/linux-user/syscall.o
  CC      sh4eb-linux-user/linux-user/mmap.o
  CC      tricore-softmmu/ioport.o
  CC      mips64-softmmu/monitor.o
  CC      m68k-softmmu/migration/ram.o
  CC      mipsn32el-linux-user/accel/stubs/kvm-stub.o
  CC      hppa-softmmu/monitor.o
  CCAS    cris-linux-user/linux-user/safe-syscall.o
  CC      sparc64-linux-user/accel/stubs/hax-stub.o
  CC      or1k-softmmu/ioport.o
  CC      cris-linux-user/target/cris/translate.o
  CC      arm-softmmu/balloon.o
  CC      alpha-linux-user/linux-user/linuxload.o
  CC      xtensaeb-softmmu/qtest.o
  CC      microblazeel-softmmu/accel/stubs/hvf-stub.o
  CC      ppcemb-softmmu/qtest.o
  CC      alpha-softmmu/balloon.o
  CC      mips-softmmu/balloon.o
  CC      alpha-softmmu/ioport.o
  CC      armeb-linux-user/accel/tcg/user-exec.o
  CC      sparc64-linux-user/accel/stubs/hvf-stub.o
  CC      unicore32-softmmu/monitor.o
  CC      aarch64-linux-user/linux-user/uname.o
  CC      i386-linux-user/linux-user/syscall.o
  CC      mips64el-softmmu/ioport.o
  CC      microblaze-softmmu/numa.o
  CC      s390x-softmmu/arch_init.o
  CC      mipsel-softmmu/numa.o
  CC      ppc64-linux-user/accel/tcg/user-exec-stub.o
  CC      mips64el-softmmu/numa.o
  CC      x86_64-linux-user/linux-user/mmap.o
  CC      mipsn32el-linux-user/accel/tcg/tcg-runtime.o
  CC      mipsn32el-linux-user/accel/tcg/cpu-exec.o
  CC      mips-linux-user/linux-user/strace.o
  CC      sparc64-softmmu/accel/stubs/hvf-stub.o
  CC      microblazeel-linux-user/linux-user/syscall.o
  CC      aarch64-softmmu/qtest.o
  CC      microblazeel-softmmu/accel/stubs/kvm-stub.o
  CC      x86_64-softmmu/gdbstub.o
  CC      mipsel-softmmu/qtest.o
  CC      microblaze-softmmu/qtest.o
  CC      sparc64-linux-user/accel/stubs/kvm-stub.o
  CC      sh4-linux-user/linux-user/syscall.o
  CC      mipsel-linux-user/linux-user/syscall.o
  CC      aarch64-softmmu/memory.o
  CC      ppc64abi32-linux-user/accel/tcg/user-exec-stub.o
  CC      x86_64-softmmu/balloon.o
  CC      hppa-softmmu/gdbstub.o
  CC      nios2-linux-user/linux-user/signal.o
  CC      mips-softmmu/ioport.o
  CC      arm-softmmu/ioport.o
  CC      nios2-linux-user/linux-user/elfload.o
  CCAS    aarch64-linux-user/linux-user/safe-syscall.o
  CC      aarch64-linux-user/linux-user/flatload.o
  CC      ppc-linux-user/linux-user/syscall.o
  CC      ppc64-linux-user/linux-user/main.o
  CC      s390x-linux-user/linux-user/strace.o
  CC      ppc-linux-user/linux-user/strace.o
  CC      ppc64-softmmu/dump.o
  CC      ppc-softmmu/memory_mapping.o
  CC      s390x-softmmu/cpus.o
  CC      sparc-softmmu/numa.o
  CC      or1k-linux-user/linux-user/syscall.o
  CC      s390x-softmmu/monitor.o
  CC      i386-softmmu/memory.o
  CC      xtensaeb-softmmu/memory.o
  CC      arm-softmmu/numa.o
  CC      alpha-linux-user/linux-user/uaccess.o
  CC      microblaze-linux-user/linux-user/signal.o
  CC      unicore32-softmmu/gdbstub.o
  CC      unicore32-softmmu/balloon.o
  CC      ppc-linux-user/linux-user/mmap.o
  CC      moxie-softmmu/cpus.o
  CC      sparc-linux-user/linux-user/linuxload.o
  CC      sparc64-softmmu/accel/stubs/kvm-stub.o
  CC      mips-softmmu/numa.o
  CC      mipsn32el-linux-user/accel/tcg/cpu-exec-common.o
  CC      unicore32-softmmu/ioport.o
  CC      cris-linux-user/target/cris/op_helper.o
  CC      alpha-softmmu/numa.o
  CC      alpha-softmmu/qtest.o
  CC      sparc64-linux-user/accel/tcg/tcg-runtime.o
  CC      nios2-linux-user/linux-user/linuxload.o
  CC      ppc64abi32-linux-user/linux-user/main.o
  CC      microblazeel-softmmu/accel/tcg/tcg-all.o
  CC      xtensa-softmmu/balloon.o
  CC      ppc64abi32-linux-user/linux-user/syscall.o
  CC      ppc64le-linux-user/accel/tcg/user-exec.o
  CC      aarch64_be-linux-user/accel/tcg/user-exec-stub.o
  CC      ppc64le-linux-user/accel/tcg/user-exec-stub.o
  CC      or1k-softmmu/numa.o
  CC      ppcemb-softmmu/memory.o
  CC      xtensaeb-softmmu/memory_mapping.o
  CC      xtensaeb-softmmu/dump.o
  CC      or1k-linux-user/linux-user/strace.o
  CC      microblazeel-linux-user/linux-user/strace.o
  CC      mips64el-softmmu/qtest.o
  CC      sh4eb-softmmu/dump.o
  CC      sh4eb-linux-user/linux-user/signal.o
  CC      mipsel-linux-user/linux-user/strace.o
  CC      mips64-linux-user/linux-user/elfload.o
  CC      sparc-softmmu/qtest.o
  CC      ppc64abi32-linux-user/linux-user/strace.o
  CC      microblazeel-softmmu/accel/tcg/cputlb.o
  CC      mipsn32el-linux-user/accel/tcg/translate-all.o
  CC      aarch64_be-linux-user/linux-user/main.o
  CC      aarch64_be-linux-user/linux-user/syscall.o
  CC      microblaze-softmmu/memory.o
  CC      microblaze-softmmu/memory_mapping.o
  CC      sparc64-softmmu/accel/tcg/tcg-all.o
  CC      or1k-softmmu/qtest.o
  CC      alpha-softmmu/memory.o
  CC      or1k-linux-user/linux-user/mmap.o
  CC      xtensa-softmmu/ioport.o
  CC      sh4eb-linux-user/linux-user/elfload.o
  CC      or1k-softmmu/memory.o
  CC      sparc64-linux-user/accel/tcg/cpu-exec.o
  CC      aarch64-linux-user/target/arm/arm-semi.o
  CC      mipsel-softmmu/memory.o
  CC      lm32-softmmu/memory_mapping.o
  CC      mipsel-softmmu/memory_mapping.o
  CC      sh4-softmmu/memory_mapping.o
  CC      mipsel-softmmu/dump.o
  CC      mips64-linux-user/linux-user/linuxload.o
  CC      ppcemb-softmmu/memory_mapping.o
  CC      armeb-linux-user/accel/tcg/user-exec-stub.o
  CC      nios2-softmmu/numa.o
  CC      nios2-softmmu/qtest.o
  CC      ppc64-linux-user/linux-user/syscall.o
  CC      sparc64-softmmu/accel/tcg/cputlb.o
  CC      sparc-linux-user/linux-user/uaccess.o
  CC      microblazeel-linux-user/linux-user/mmap.o
  CC      mips-softmmu/qtest.o
  CC      arm-softmmu/qtest.o
  CC      mips64-softmmu/gdbstub.o
  CC      cris-softmmu/dump.o
  CC      ppc64abi32-linux-user/linux-user/mmap.o
  CC      ppc64le-linux-user/linux-user/main.o
  CC      tricore-softmmu/numa.o
  CC      xtensa-softmmu/numa.o
  CC      armeb-linux-user/linux-user/main.o
  CC      sh4-softmmu/dump.o
  CC      cris-softmmu/migration/ram.o
  CC      microblaze-linux-user/linux-user/elfload.o
  CC      xtensa-softmmu/qtest.o
  CC      armeb-linux-user/linux-user/syscall.o
  CC      x86_64-softmmu/ioport.o
  CC      tricore-softmmu/qtest.o
  CC      hppa-linux-user/linux-user/mmap.o
  CC      hppa-linux-user/linux-user/signal.o
  CC      mips-softmmu/memory.o
  CC      aarch64-softmmu/memory_mapping.o
  CC      lm32-softmmu/dump.o
  CC      mips64-softmmu/balloon.o
  CC      cris-linux-user/target/cris/helper.o
  CC      mips64el-softmmu/memory.o
  CC      sparc64-linux-user/accel/tcg/cpu-exec-common.o
  CC      aarch64-linux-user/target/arm/kvm-stub.o
  CC      mips64el-softmmu/memory_mapping.o
  CC      sh4-linux-user/linux-user/strace.o
  CC      mipsel-linux-user/linux-user/mmap.o
  CC      aarch64-softmmu/dump.o
  CC      aarch64-softmmu/migration/ram.o
  CC      sh4eb-softmmu/migration/ram.o
  CC      sh4eb-softmmu/accel/accel.o
  CC      sparc64-linux-user/accel/tcg/translate-all.o
  CC      hppa-linux-user/linux-user/elfload.o
  CC      alpha-softmmu/memory_mapping.o
  CC      sparc64-linux-user/accel/tcg/translator.o
  CC      sparc-softmmu/memory.o
  CC      sparc-softmmu/memory_mapping.o
  CC      mips64el-linux-user/linux-user/strace.o
  CC      arm-softmmu/memory.o
  CC      sparc64-softmmu/accel/tcg/tcg-runtime.o
  CC      mips-softmmu/memory_mapping.o
  CC      nios2-softmmu/memory.o
  CC      aarch64-linux-user/target/arm/translate.o
  CC      mips-softmmu/dump.o
  CC      mipsn32el-linux-user/accel/tcg/translator.o
  CC      armeb-linux-user/linux-user/strace.o
  CC      i386-linux-user/linux-user/strace.o
  CC      sparc64-softmmu/accel/tcg/cpu-exec.o
  CC      m68k-softmmu/accel/accel.o
  CC      mips-linux-user/linux-user/mmap.o
  CC      mipsn32-linux-user/linux-user/strace.o
  CC      sparc64-linux-user/accel/tcg/user-exec.o
  CC      sparc64-linux-user/accel/tcg/user-exec-stub.o
  CC      moxie-softmmu/monitor.o
  CC      sparc64-linux-user/linux-user/main.o
  CC      mips64el-linux-user/linux-user/mmap.o
  CC      sh4eb-linux-user/linux-user/linuxload.o
  CC      aarch64-linux-user/target/arm/op_helper.o
  CC      ppc64-softmmu/migration/ram.o
  CC      sh4-softmmu/migration/ram.o
  CC      sparc-softmmu/dump.o
  CC      tricore-softmmu/memory.o
  CC      xtensa-softmmu/memory.o
  CC      sparc-softmmu/migration/ram.o
  CC      xtensaeb-softmmu/migration/ram.o
  CC      arm-softmmu/memory_mapping.o
  CC      mipsel-linux-user/linux-user/signal.o
  CC      ppcemb-softmmu/dump.o
  CC      s390x-softmmu/gdbstub.o
  CC      sparc-softmmu/accel/accel.o
  CC      sh4-softmmu/accel/accel.o
  CC      tilegx-linux-user/linux-user/strace.o
  CC      xtensaeb-softmmu/accel/accel.o
  CC      m68k-softmmu/accel/stubs/hax-stub.o
  CC      xtensaeb-softmmu/accel/stubs/hax-stub.o
  CC      ppc64-linux-user/linux-user/strace.o
  CC      i386-linux-user/linux-user/mmap.o
  CC      m68k-linux-user/linux-user/m68k-sim.o
  CC      sh4-linux-user/linux-user/mmap.o
  CC      ppc64le-linux-user/linux-user/syscall.o
  CC      alpha-linux-user/linux-user/uname.o
  CCAS    alpha-linux-user/linux-user/safe-syscall.o
  CC      ppc64-softmmu/accel/accel.o
  CC      moxie-softmmu/gdbstub.o
  CC      sparc32plus-linux-user/linux-user/signal.o
  CC      sh4eb-softmmu/accel/stubs/hax-stub.o
  CC      i386-softmmu/memory_mapping.o
  CC      x86_64-softmmu/numa.o
  CC      x86_64-softmmu/qtest.o
  CC      hppa-linux-user/linux-user/linuxload.o
  CC      aarch64_be-linux-user/linux-user/strace.o
  CC      mips64el-linux-user/linux-user/signal.o
  CC      sparc64-linux-user/linux-user/syscall.o
  CC      sparc64-linux-user/linux-user/strace.o
  CC      cris-linux-user/target/cris/cpu.o
  CC      m68k-softmmu/accel/stubs/hvf-stub.o
  CC      s390x-linux-user/linux-user/mmap.o
  CC      mipsel-softmmu/migration/ram.o
  CC      mips64el-softmmu/dump.o
  CC      ppc-softmmu/dump.o
  CC      tilegx-linux-user/linux-user/mmap.o
  CC      i386-linux-user/linux-user/signal.o
  CC      aarch64_be-linux-user/linux-user/mmap.o
  CC      sparc64-linux-user/linux-user/mmap.o
  CC      microblazeel-linux-user/linux-user/signal.o
  CC      i386-softmmu/dump.o
  CC      ppc-softmmu/migration/ram.o
  CC      aarch64_be-linux-user/linux-user/signal.o
  CC      ppc-softmmu/accel/accel.o
  CC      hppa-softmmu/balloon.o
  CC      alpha-softmmu/dump.o
  CC      ppc64-linux-user/linux-user/mmap.o
  CC      m68k-softmmu/accel/stubs/kvm-stub.o
  CC      x86_64-linux-user/linux-user/signal.o
  CC      nios2-softmmu/memory_mapping.o
  CC      ppc64-linux-user/linux-user/signal.o
  CC      sparc64-linux-user/linux-user/signal.o
  CC      nios2-softmmu/dump.o
  CC      mipsn32el-linux-user/accel/tcg/user-exec.o
  CC      or1k-softmmu/memory_mapping.o
  CC      sparc64-softmmu/accel/tcg/cpu-exec-common.o
  CC      lm32-softmmu/migration/ram.o
  CC      mips64el-linux-user/linux-user/elfload.o
  CC      unicore32-softmmu/numa.o
  CC      mipsn32-linux-user/linux-user/mmap.o
  CC      tilegx-linux-user/linux-user/signal.o
  CC      ppc64le-linux-user/linux-user/strace.o
  CC      m68k-linux-user/target/m68k/m68k-semi.o
  CC      mipsn32el-linux-user/accel/tcg/user-exec-stub.o
  CC      aarch64-linux-user/target/arm/helper.o
  CC      mips64-softmmu/ioport.o
  CC      unicore32-softmmu/qtest.o
  CC      microblaze-linux-user/linux-user/linuxload.o
  CC      hppa-softmmu/ioport.o
  CC      sparc32plus-linux-user/linux-user/elfload.o
  CC      ppc-linux-user/linux-user/signal.o
  CC      m68k-softmmu/accel/tcg/tcg-all.o
  CC      mips64-linux-user/linux-user/uaccess.o
  CC      microblaze-softmmu/dump.o
  CC      unicore32-softmmu/memory.o
  CC      x86_64-softmmu/memory.o
  CC      x86_64-softmmu/memory_mapping.o
  CC      m68k-linux-user/target/m68k/translate.o
  CC      mipsel-linux-user/linux-user/elfload.o
  CC      microblaze-linux-user/linux-user/uaccess.o
  CC      microblazeel-linux-user/linux-user/elfload.o
  CC      aarch64-softmmu/accel/accel.o
  CC      arm-softmmu/dump.o
  CC      or1k-softmmu/dump.o
  CC      ppc-linux-user/linux-user/elfload.o
  CC      m68k-softmmu/accel/tcg/cputlb.o
  CC      or1k-linux-user/linux-user/signal.o
  CC      hppa-softmmu/numa.o
  CC      hppa-softmmu/qtest.o
  CC      cris-softmmu/accel/accel.o
  CC      aarch64_be-linux-user/linux-user/elfload.o
  CC      sparc-softmmu/accel/stubs/hax-stub.o
  CC      ppc64-linux-user/linux-user/elfload.o
  CC      microblazeel-linux-user/linux-user/linuxload.o
  CC      microblazeel-linux-user/linux-user/uaccess.o
  CC      nios2-linux-user/linux-user/uaccess.o
  CC      ppcemb-softmmu/migration/ram.o
  CC      mips-linux-user/linux-user/signal.o
  CC      cris-softmmu/accel/stubs/hax-stub.o
  CC      ppc64le-linux-user/linux-user/mmap.o
  CC      sparc64-linux-user/linux-user/elfload.o
  CC      sparc32plus-linux-user/linux-user/linuxload.o
  CC      ppc-linux-user/linux-user/linuxload.o
  CC      alpha-softmmu/migration/ram.o
  CC      mips64-softmmu/numa.o
  CC      hppa-softmmu/memory.o
  CC      hppa-softmmu/memory_mapping.o
  CC      i386-softmmu/migration/ram.o
  CC      mipsel-softmmu/accel/accel.o
  CC      aarch64-softmmu/accel/stubs/hax-stub.o
  CC      ppc64le-linux-user/linux-user/signal.o
  CC      s390x-softmmu/balloon.o
  CC      xtensa-softmmu/memory_mapping.o
  CC      mipsel-linux-user/linux-user/linuxload.o
  CC      sh4eb-softmmu/accel/stubs/hvf-stub.o
  CC      xtensaeb-softmmu/accel/stubs/hvf-stub.o
  CC      mipsel-linux-user/linux-user/uaccess.o
  CC      i386-linux-user/linux-user/elfload.o
  CC      sh4-softmmu/accel/stubs/hax-stub.o
  CC      mips-softmmu/migration/ram.o
  CC      ppc64-softmmu/accel/kvm/kvm-all.o
  CC      or1k-linux-user/linux-user/elfload.o
  CC      alpha-linux-user/target/alpha/translate.o
  CC      hppa-linux-user/linux-user/uaccess.o
  CC      cris-softmmu/accel/stubs/hvf-stub.o
  CC      mipsel-softmmu/accel/stubs/hax-stub.o
  CC      mips-linux-user/linux-user/elfload.o
  CC      moxie-softmmu/balloon.o
  CC      moxie-softmmu/ioport.o
  CC      or1k-linux-user/linux-user/linuxload.o
  CC      sh4eb-softmmu/accel/stubs/kvm-stub.o
  CC      sh4eb-softmmu/accel/tcg/tcg-all.o
  CC      sparc-softmmu/accel/stubs/hvf-stub.o
  CC      alpha-softmmu/accel/accel.o
  CC      tricore-softmmu/memory_mapping.o
  CC      sh4-softmmu/accel/stubs/hvf-stub.o
  CC      alpha-softmmu/accel/stubs/hax-stub.o
  CC      aarch64-softmmu/accel/stubs/hvf-stub.o
  CC      ppcemb-softmmu/accel/accel.o
  CC      xtensaeb-softmmu/accel/stubs/kvm-stub.o
  CC      alpha-softmmu/accel/stubs/hvf-stub.o
  CC      hppa-softmmu/dump.o
  CC      cris-linux-user/target/cris/gdbstub.o
  CC      s390x-softmmu/ioport.o
  CC      mipsn32el-linux-user/linux-user/main.o
  CC      cris-softmmu/accel/stubs/kvm-stub.o
  CC      mips64-linux-user/linux-user/uname.o
  CC      or1k-linux-user/linux-user/uaccess.o
  CC      xtensa-softmmu/dump.o
  CC      nios2-softmmu/migration/ram.o
  CC      mipsn32el-linux-user/linux-user/syscall.o
  CC      nios2-linux-user/linux-user/uname.o
  CC      microblaze-linux-user/linux-user/uname.o
  CC      sh4eb-softmmu/accel/tcg/cputlb.o
  CC      nios2-softmmu/accel/accel.o
  CC      sh4-softmmu/accel/stubs/kvm-stub.o
  CC      arm-softmmu/migration/ram.o
  CC      mips64-softmmu/qtest.o
  CC      ppc64le-linux-user/linux-user/elfload.o
  CC      microblaze-softmmu/migration/ram.o
  CC      sh4-softmmu/accel/tcg/tcg-all.o
  CC      aarch64-softmmu/accel/stubs/kvm-stub.o
  CC      s390x-linux-user/linux-user/signal.o
  CC      microblazeel-softmmu/accel/tcg/tcg-runtime.o
  CC      armeb-linux-user/linux-user/mmap.o
  CC      armeb-linux-user/linux-user/signal.o
  CC      lm32-softmmu/accel/accel.o
  CC      armeb-linux-user/linux-user/elfload.o
  CC      nios2-softmmu/accel/stubs/hax-stub.o
  CC      ppcemb-softmmu/accel/kvm/kvm-all.o
  CC      sparc-softmmu/accel/stubs/kvm-stub.o
  CC      xtensaeb-softmmu/accel/tcg/tcg-all.o
  CC      sparc-linux-user/linux-user/uname.o
  CC      cris-softmmu/accel/tcg/tcg-all.o
  CC      xtensaeb-softmmu/accel/tcg/cputlb.o
  CC      tilegx-linux-user/linux-user/elfload.o
  GEN     trace/generated-helpers.c
  CC      i386-softmmu/accel/accel.o
  CC      i386-softmmu/accel/stubs/hax-stub.o
  CC      mipsel-softmmu/accel/stubs/hvf-stub.o
  CC      s390x-linux-user/linux-user/elfload.o
  CC      sparc64-softmmu/accel/tcg/translate-all.o
  CC      nios2-softmmu/accel/stubs/hvf-stub.o
  CC      cris-linux-user/trace/control-target.o
  CC      tricore-softmmu/dump.o
  CC      sparc64-softmmu/accel/tcg/translator.o
  CC      arm-linux-user/linux-user/linuxload.o
  CC      xtensaeb-softmmu/accel/tcg/tcg-runtime.o
  CC      mipsel-softmmu/accel/stubs/kvm-stub.o
  CC      ppcemb-softmmu/accel/stubs/hax-stub.o
  CCAS    mips64-linux-user/linux-user/safe-syscall.o
  CC      s390x-softmmu/numa.o
  CC      xtensaeb-softmmu/accel/tcg/cpu-exec.o
  CC      mips64-linux-user/target/mips/translate.o
  CC      mips-softmmu/accel/accel.o
  CC      mips-softmmu/accel/stubs/hax-stub.o
  CC      mips-softmmu/accel/stubs/hvf-stub.o
  CC      or1k-softmmu/migration/ram.o
  CC      sparc64-linux-user/linux-user/linuxload.o
  CC      mips64el-softmmu/migration/ram.o
  CC      ppc64-softmmu/accel/stubs/hax-stub.o
  CC      sparc32plus-linux-user/linux-user/uaccess.o
  CC      mipsn32-linux-user/linux-user/signal.o
  CC      mips64-linux-user/target/mips/dsp_helper.o
  CC      sh4-softmmu/accel/tcg/cputlb.o
  CCAS    microblaze-linux-user/linux-user/safe-syscall.o
  CC      microblazeel-softmmu/accel/tcg/cpu-exec.o
  CC      aarch64-softmmu/accel/tcg/tcg-all.o
  CC      microblazeel-linux-user/linux-user/uname.o
  CC      mipsn32el-linux-user/linux-user/strace.o
  CC      moxie-softmmu/numa.o
  CC      sparc64-softmmu/hw/9pfs/virtio-9p-device.o
  CC      aarch64-linux-user/target/arm/cpu.o
  CC      mipsel-linux-user/linux-user/uname.o
  CC      sparc-softmmu/accel/tcg/tcg-all.o
  CC      cris-softmmu/accel/tcg/cputlb.o
  CC      microblaze-softmmu/accel/accel.o
  CC      lm32-softmmu/accel/stubs/hax-stub.o
  CC      mipsel-softmmu/accel/tcg/tcg-all.o
  CC      moxie-softmmu/qtest.o
  CC      s390x-softmmu/qtest.o
  CC      microblaze-softmmu/accel/stubs/hax-stub.o
  CC      xtensa-softmmu/migration/ram.o
  CC      cris-linux-user/trace/generated-helpers.o
  CC      ppc64abi32-linux-user/linux-user/signal.o
  CC      ppc-softmmu/accel/kvm/kvm-all.o
  CC      ppc64abi32-linux-user/linux-user/elfload.o
  CC      ppc64abi32-linux-user/linux-user/linuxload.o
  CC      armeb-linux-user/linux-user/linuxload.o
  CC      s390x-linux-user/linux-user/linuxload.o
  CC      ppcemb-softmmu/accel/stubs/hvf-stub.o
  CC      or1k-linux-user/linux-user/uname.o
  CC      sh4-linux-user/linux-user/signal.o
  CC      ppc64abi32-linux-user/linux-user/uaccess.o
  CC      mips64-softmmu/memory.o
  CC      ppcemb-softmmu/accel/tcg/tcg-all.o
  CC      mips64el-linux-user/linux-user/linuxload.o
  CC      ppc64abi32-linux-user/linux-user/uname.o
  CC      sh4-softmmu/accel/tcg/tcg-runtime.o
  CC      microblaze-linux-user/linux-user/flatload.o
  CC      mips64el-linux-user/linux-user/uaccess.o
  CC      mips64el-linux-user/linux-user/uname.o
  CC      aarch64-softmmu/accel/tcg/cputlb.o
  CC      sparc-softmmu/accel/tcg/cputlb.o
  CC      sparc-softmmu/accel/tcg/tcg-runtime.o
  CC      ppc64-softmmu/accel/stubs/hvf-stub.o
  CC      lm32-softmmu/accel/stubs/hvf-stub.o
  CC      m68k-softmmu/accel/tcg/tcg-runtime.o
  CC      mipsel-softmmu/accel/tcg/cputlb.o
  CC      m68k-linux-user/target/m68k/op_helper.o
  CCAS    ppc64abi32-linux-user/linux-user/safe-syscall.o
  CCAS    or1k-linux-user/linux-user/safe-syscall.o
  CC      or1k-softmmu/accel/accel.o
  CCAS    mips64el-linux-user/linux-user/safe-syscall.o
  CCAS    sparc-linux-user/linux-user/safe-syscall.o
  CC      ppc-linux-user/linux-user/uaccess.o
  CC      microblaze-linux-user/target/microblaze/translate.o
  CC      aarch64-linux-user/target/arm/neon_helper.o
  CC      ppc-softmmu/accel/stubs/hax-stub.o
  CC      sparc64-linux-user/linux-user/uaccess.o
  LINK    cris-linux-user/qemu-cris
  CC      s390x-softmmu/memory.o
  CC      ppc64abi32-linux-user/target/ppc/cpu-models.o
  CC      s390x-linux-user/linux-user/uaccess.o
  CC      x86_64-linux-user/linux-user/elfload.o
  CC      x86_64-softmmu/dump.o
  CC      ppc64le-linux-user/linux-user/linuxload.o
  CC      s390x-softmmu/memory_mapping.o
  CC      sh4eb-softmmu/accel/tcg/tcg-runtime.o
  CC      nios2-softmmu/accel/stubs/kvm-stub.o
  CC      sparc64-linux-user/linux-user/uname.o
  CC      arm-softmmu/accel/accel.o
  CC      cris-softmmu/accel/tcg/tcg-runtime.o
  CC      sparc64-softmmu/hw/block/virtio-blk.o
  CC      lm32-softmmu/accel/stubs/kvm-stub.o
  CC      m68k-linux-user/target/m68k/helper.o
  CC      microblazeel-softmmu/accel/tcg/cpu-exec-common.o
  CC      m68k-linux-user/target/m68k/cpu.o
  CC      microblaze-softmmu/accel/stubs/hvf-stub.o
  CC      m68k-linux-user/target/m68k/fpu_helper.o
  CC      unicore32-softmmu/memory_mapping.o
  CC      x86_64-softmmu/migration/ram.o
  CC      sparc32plus-linux-user/linux-user/uname.o
  CC      ppc64-softmmu/accel/tcg/tcg-all.o
  CC      alpha-linux-user/target/alpha/helper.o
  CC      alpha-softmmu/accel/stubs/kvm-stub.o
  CC      sh4eb-linux-user/linux-user/uaccess.o
  CC      ppc64-softmmu/accel/tcg/cputlb.o
  CC      x86_64-softmmu/accel/accel.o
  CC      aarch64-linux-user/target/arm/iwmmxt_helper.o
  CC      arm-linux-user/linux-user/uaccess.o
  CCAS    sparc32plus-linux-user/linux-user/safe-syscall.o
  CC      microblaze-softmmu/accel/stubs/kvm-stub.o
  CC      cris-softmmu/accel/tcg/cpu-exec.o
  CC      mipsn32-linux-user/linux-user/elfload.o
  CC      mips-linux-user/linux-user/linuxload.o
  CC      mipsn32el-linux-user/linux-user/mmap.o
  CC      sparc-softmmu/accel/tcg/cpu-exec.o
  CCAS    nios2-linux-user/linux-user/safe-syscall.o
  CC      microblaze-linux-user/target/microblaze/op_helper.o
  CC      sparc32plus-linux-user/target/sparc/translate.o
  CC      mips64-softmmu/memory_mapping.o
  CC      mips-softmmu/accel/stubs/kvm-stub.o
  CC      tricore-softmmu/migration/ram.o
  CC      x86_64-softmmu/accel/stubs/hax-stub.o
  CC      moxie-softmmu/memory.o
  CC      m68k-softmmu/accel/tcg/cpu-exec.o
  CC      lm32-softmmu/accel/tcg/tcg-all.o
  CC      ppcemb-softmmu/accel/tcg/cputlb.o
  CC      tilegx-linux-user/linux-user/linuxload.o
  CC      arm-linux-user/linux-user/uname.o
  CC      s390x-softmmu/dump.o
  CC      sh4-softmmu/accel/tcg/cpu-exec.o
  CC      sh4eb-softmmu/accel/tcg/cpu-exec.o
  CC      mips64-linux-user/target/mips/op_helper.o
  CC      microblazeel-softmmu/accel/tcg/translate-all.o
  CC      armeb-linux-user/linux-user/uaccess.o
  CC      sh4eb-linux-user/linux-user/uname.o
  CC      aarch64-linux-user/target/arm/gdbstub.o
  CC      aarch64_be-linux-user/linux-user/linuxload.o
  CC      i386-softmmu/accel/stubs/hvf-stub.o
  CC      i386-softmmu/accel/stubs/kvm-stub.o
  CC      alpha-softmmu/accel/tcg/tcg-all.o
  CC      aarch64-softmmu/accel/tcg/tcg-runtime.o
  CC      aarch64_be-linux-user/linux-user/uaccess.o
  CC      sh4eb-softmmu/accel/tcg/cpu-exec-common.o
  CC      x86_64-softmmu/accel/stubs/hvf-stub.o
  CC      mipsn32el-linux-user/linux-user/signal.o
  CCAS    mipsel-linux-user/linux-user/safe-syscall.o
  CC      aarch64_be-linux-user/linux-user/uname.o
  CC      mipsel-softmmu/accel/tcg/tcg-runtime.o
  CC      s390x-softmmu/migration/ram.o
  CC      mips-softmmu/accel/tcg/tcg-all.o
  CC      lm32-softmmu/accel/tcg/cputlb.o
  CCAS    arm-linux-user/linux-user/safe-syscall.o
  CC      microblaze-softmmu/accel/tcg/tcg-all.o
  CC      arm-linux-user/linux-user/flatload.o
  CC      xtensa-softmmu/accel/accel.o
  CC      arm-linux-user/linux-user/arm/nwfpe/fpa11.o
  CC      m68k-linux-user/target/m68k/gdbstub.o
  CC      unicore32-softmmu/dump.o
  CC      ppc64le-linux-user/linux-user/uaccess.o
  CC      i386-linux-user/linux-user/linuxload.o
  CC      alpha-softmmu/accel/tcg/cputlb.o
  CC      nios2-linux-user/target/nios2/translate.o
  CC      armeb-linux-user/linux-user/uname.o
  CC      arm-linux-user/linux-user/arm/nwfpe/fpa11_cpdo.o
  CC      ppc64-linux-user/linux-user/linuxload.o
  CC      arm-softmmu/accel/stubs/hax-stub.o
  CC      x86_64-linux-user/linux-user/linuxload.o
  CC      mips-softmmu/accel/tcg/cputlb.o
  CC      mips-softmmu/accel/tcg/tcg-runtime.o
  CC      ppc64abi32-linux-user/target/ppc/cpu.o
  CC      alpha-softmmu/accel/tcg/tcg-runtime.o
  CC      mipsn32el-linux-user/linux-user/elfload.o
  CC      ppc64abi32-linux-user/target/ppc/translate.o
  CC      microblaze-softmmu/accel/tcg/cputlb.o
  CC      s390x-softmmu/accel/accel.o
  CCAS    sh4eb-linux-user/linux-user/safe-syscall.o
  CC      i386-softmmu/accel/tcg/tcg-all.o
  CC      nios2-softmmu/accel/tcg/tcg-all.o
  CC      sh4eb-linux-user/linux-user/flatload.o
  CC      mipsel-linux-user/target/mips/translate.o
  CC      alpha-softmmu/accel/tcg/cpu-exec.o
  CC      mips-softmmu/accel/tcg/cpu-exec.o
  CC      xtensa-softmmu/accel/stubs/hax-stub.o
  CC      alpha-softmmu/accel/tcg/cpu-exec-common.o
  CC      xtensaeb-softmmu/accel/tcg/cpu-exec-common.o
  CC      sh4-linux-user/linux-user/elfload.o
  CC      mipsel-linux-user/target/mips/dsp_helper.o
  CC      or1k-linux-user/target/openrisc/cpu.o
  CC      mips-softmmu/accel/tcg/cpu-exec-common.o
  CC      m68k-softmmu/accel/tcg/cpu-exec-common.o
  CCAS    armeb-linux-user/linux-user/safe-syscall.o
  CC      or1k-softmmu/accel/stubs/hax-stub.o
  CC      arm-softmmu/accel/stubs/hvf-stub.o
  CC      sparc64-softmmu/hw/block/vhost-user-blk.o
  CC      sparc64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      moxie-softmmu/memory_mapping.o
  CC      sh4-linux-user/linux-user/linuxload.o
  CC      microblaze-softmmu/accel/tcg/tcg-runtime.o
  CC      m68k-softmmu/accel/tcg/translate-all.o
  CC      nios2-linux-user/target/nios2/op_helper.o
  CC      xtensa-softmmu/accel/stubs/hvf-stub.o
  CC      mips64-softmmu/dump.o
  CC      microblazeel-softmmu/accel/tcg/translator.o
  CC      nios2-softmmu/accel/tcg/cputlb.o
  CC      sh4eb-softmmu/accel/tcg/translate-all.o
  CC      arm-linux-user/linux-user/arm/nwfpe/fpa11_cpdt.o
  CC      hppa-softmmu/migration/ram.o
  CC      sh4-softmmu/accel/tcg/cpu-exec-common.o
  CC      i386-softmmu/accel/tcg/cputlb.o
  CC      microblaze-softmmu/accel/tcg/cpu-exec.o
  CC      mips64el-softmmu/accel/accel.o
  CCAS    aarch64_be-linux-user/linux-user/safe-syscall.o
  CC      microblaze-softmmu/accel/tcg/cpu-exec-common.o
  CC      sh4-softmmu/accel/tcg/translate-all.o
  CCAS    microblazeel-linux-user/linux-user/safe-syscall.o
  CC      tilegx-linux-user/linux-user/uaccess.o
  CC      sparc-linux-user/target/sparc/translate.o
  CC      nios2-linux-user/target/nios2/helper.o
  CC      ppc-softmmu/accel/stubs/hvf-stub.o
  CC      nios2-softmmu/accel/tcg/tcg-runtime.o
  CC      ppcemb-softmmu/accel/tcg/tcg-runtime.o
  CC      aarch64_be-linux-user/linux-user/flatload.o
  CC      mipsel-softmmu/accel/tcg/cpu-exec.o
  CC      mipsn32el-linux-user/linux-user/linuxload.o
  CC      s390x-softmmu/accel/stubs/hax-stub.o
  CC      ppc64-linux-user/linux-user/uaccess.o
  CC      or1k-softmmu/accel/stubs/hvf-stub.o
  CC      arm-softmmu/accel/stubs/kvm-stub.o
  CC      arm-softmmu/accel/tcg/tcg-all.o
  CC      mips64el-linux-user/target/mips/translate.o
  CC      hppa-softmmu/accel/accel.o
  CC      armeb-linux-user/linux-user/flatload.o
  CC      sh4-linux-user/linux-user/uaccess.o
  CC      s390x-linux-user/linux-user/uname.o
  CC      m68k-softmmu/accel/tcg/translator.o
  CC      ppc64-linux-user/linux-user/uname.o
  CC      aarch64-linux-user/target/arm/cpu64.o
  CC      mips64-linux-user/target/mips/lmi_helper.o
  CC      xtensa-softmmu/accel/stubs/kvm-stub.o
  CC      x86_64-linux-user/linux-user/uaccess.o
  CC      ppcemb-softmmu/accel/tcg/cpu-exec.o
  CC      or1k-softmmu/accel/stubs/kvm-stub.o
  CC      mips64-linux-user/target/mips/helper.o
  CC      microblazeel-softmmu/hw/core/generic-loader.o
  CC      sh4eb-linux-user/target/sh4/translate.o
  CC      lm32-softmmu/accel/tcg/tcg-runtime.o
  CC      sparc64-softmmu/hw/char/virtio-serial-bus.o
  CC      microblaze-linux-user/target/microblaze/helper.o
  CC      cris-softmmu/accel/tcg/cpu-exec-common.o
  CC      xtensaeb-softmmu/accel/tcg/translate-all.o
  CC      mips64el-softmmu/accel/stubs/hax-stub.o
  CC      moxie-softmmu/dump.o
  CC      arm-softmmu/accel/tcg/cputlb.o
  CC      aarch64_be-linux-user/target/arm/arm-semi.o
  CC      i386-softmmu/accel/tcg/tcg-runtime.o
  CC      ppc-softmmu/accel/tcg/tcg-all.o
  CC      i386-softmmu/accel/tcg/cpu-exec.o
  CC      mipsel-linux-user/target/mips/op_helper.o
  CC      tilegx-linux-user/linux-user/uname.o
  CC      mipsel-linux-user/target/mips/lmi_helper.o
  CC      mips64-softmmu/migration/ram.o
  CC      mipsel-linux-user/target/mips/helper.o
  CC      i386-softmmu/accel/tcg/cpu-exec-common.o
  CCAS    s390x-linux-user/linux-user/safe-syscall.o
  CC      arm-linux-user/linux-user/arm/nwfpe/fpa11_cprt.o
  CC      mipsel-linux-user/target/mips/cpu.o
  CC      s390x-linux-user/target/s390x/cpu.o
  CC      x86_64-linux-user/linux-user/uname.o
  CC      or1k-softmmu/accel/tcg/tcg-all.o
  CC      aarch64-linux-user/target/arm/translate-a64.o
  CC      lm32-softmmu/accel/tcg/cpu-exec.o
  CC      microblazeel-softmmu/hw/core/null-machine.o
  CC      tricore-softmmu/accel/accel.o
  CC      mips64el-softmmu/accel/stubs/hvf-stub.o
  CC      ppc64abi32-linux-user/target/ppc/kvm-stub.o
  CC      sh4eb-softmmu/accel/tcg/translator.o
  CC      mips-softmmu/accel/tcg/translate-all.o
  CC      sh4-linux-user/linux-user/uname.o
  CC      xtensa-softmmu/accel/tcg/tcg-all.o
  CC      arm-linux-user/linux-user/arm/nwfpe/fpopcode.o
  CC      hppa-linux-user/linux-user/uname.o
  CC      sparc-softmmu/accel/tcg/cpu-exec-common.o
  CC      nios2-linux-user/target/nios2/cpu.o
  CC      nios2-linux-user/target/nios2/mmu.o
  CC      sh4-softmmu/accel/tcg/translator.o
  CC      cris-softmmu/accel/tcg/translate-all.o
  CC      x86_64-softmmu/accel/stubs/kvm-stub.o
  CC      x86_64-softmmu/accel/tcg/tcg-all.o
  CC      ppc-softmmu/accel/tcg/cputlb.o
  CCAS    tilegx-linux-user/linux-user/safe-syscall.o
  CC      hppa-softmmu/accel/stubs/hax-stub.o
  CC      mips64-linux-user/target/mips/cpu.o
  CC      tilegx-linux-user/target/tilegx/cpu.o
  CC      arm-softmmu/accel/tcg/tcg-runtime.o
  CC      or1k-softmmu/accel/tcg/cputlb.o
  CC      moxie-softmmu/migration/ram.o
  CC      alpha-linux-user/target/alpha/cpu.o
  CC      ppcemb-softmmu/accel/tcg/cpu-exec-common.o
  CC      sparc-softmmu/accel/tcg/translate-all.o
  CCAS    x86_64-linux-user/linux-user/safe-syscall.o
  CC      unicore32-softmmu/migration/ram.o
  CC      mips64el-softmmu/accel/stubs/kvm-stub.o
  CC      m68k-softmmu/hw/char/mcf_uart.o
  CC      moxie-softmmu/accel/accel.o
  CCAS    sparc64-linux-user/linux-user/safe-syscall.o
  CC      x86_64-linux-user/target/i386/helper.o
  CC      unicore32-softmmu/accel/accel.o
  CC      microblazeel-linux-user/linux-user/flatload.o
  CCAS    sh4-linux-user/linux-user/safe-syscall.o
  CC      mips64el-softmmu/accel/tcg/tcg-all.o
  CC      s390x-linux-user/target/s390x/cpu_models.o
  CC      unicore32-softmmu/accel/stubs/hax-stub.o
  CC      xtensa-softmmu/accel/tcg/cputlb.o
  CC      alpha-softmmu/accel/tcg/translate-all.o
  CC      sparc32plus-linux-user/target/sparc/helper.o
  CC      ppc-softmmu/accel/tcg/tcg-runtime.o
  CC      sh4-softmmu/hw/9pfs/virtio-9p-device.o
  CC      mips64-softmmu/accel/accel.o
  CC      microblazeel-softmmu/hw/dma/xlnx_dpdma.o
  CC      tilegx-linux-user/target/tilegx/translate.o
  CC      unicore32-softmmu/accel/stubs/hvf-stub.o
  CC      tricore-softmmu/accel/stubs/hax-stub.o
  CC      i386-linux-user/linux-user/uaccess.o
  CC      ppc64abi32-linux-user/target/ppc/dfp_helper.o
  CC      x86_64-softmmu/accel/tcg/cputlb.o
  CC      sh4-linux-user/linux-user/flatload.o
  CC      microblazeel-softmmu/hw/misc/mmio_interface.o
  CC      s390x-softmmu/accel/stubs/hvf-stub.o
  CC      mipsel-softmmu/accel/tcg/cpu-exec-common.o
  CC      arm-linux-user/linux-user/arm/nwfpe/single_cpdo.o
  CC      sh4-softmmu/hw/block/tc58128.o
  CC      lm32-softmmu/accel/tcg/cpu-exec-common.o
  CC      sparc-linux-user/target/sparc/helper.o
  CC      microblaze-linux-user/target/microblaze/cpu.o
  CC      aarch64_be-linux-user/target/arm/kvm-stub.o
  CC      xtensa-softmmu/accel/tcg/tcg-runtime.o
  CC      mips-softmmu/accel/tcg/translator.o
  CC      xtensaeb-softmmu/accel/tcg/translator.o
  CC      alpha-linux-user/target/alpha/int_helper.o
  GEN     trace/generated-helpers.c
  CC      xtensa-softmmu/accel/tcg/cpu-exec.o
  CC      sh4eb-softmmu/hw/9pfs/virtio-9p-device.o
  CCAS    ppc64-linux-user/linux-user/safe-syscall.o
  CC      nios2-softmmu/accel/tcg/cpu-exec.o
  CC      hppa-softmmu/accel/stubs/hvf-stub.o
  CC      sparc-softmmu/accel/tcg/translator.o
  CC      nios2-linux-user/trace/control-target.o
  CC      sh4eb-softmmu/hw/block/tc58128.o
  CC      mipsel-linux-user/target/mips/gdbstub.o
  CC      microblaze-linux-user/target/microblaze/gdbstub.o
  CC      mips64el-softmmu/accel/tcg/cputlb.o
  CC      tricore-softmmu/accel/stubs/hvf-stub.o
  CC      sparc64-softmmu/hw/core/generic-loader.o
  CC      i386-linux-user/linux-user/uname.o
  CC      sh4eb-linux-user/target/sh4/op_helper.o
  CC      ppcemb-softmmu/accel/tcg/translate-all.o
  CC      aarch64-linux-user/target/arm/helper-a64.o
  CC      mips-linux-user/linux-user/uaccess.o
  CC      m68k-softmmu/hw/core/generic-loader.o
  CC      unicore32-softmmu/accel/stubs/kvm-stub.o
  CC      mipsel-linux-user/target/mips/msa_helper.o
  CC      tricore-softmmu/accel/stubs/kvm-stub.o
  CCAS    hppa-linux-user/linux-user/safe-syscall.o
  CC      sparc32plus-linux-user/target/sparc/cpu.o
  CC      arm-linux-user/linux-user/arm/nwfpe/double_cpdo.o
  CC      x86_64-linux-user/target/i386/cpu.o
  CC      arm-linux-user/linux-user/arm/nwfpe/extended_cpdo.o
  CC      mipsel-softmmu/accel/tcg/translate-all.o
  CC      mipsel-softmmu/accel/tcg/translator.o
  CC      aarch64-softmmu/accel/tcg/cpu-exec.o
  CC      mips64el-linux-user/target/mips/dsp_helper.o
  CC      s390x-softmmu/accel/stubs/kvm-stub.o
  CC      moxie-softmmu/accel/stubs/hax-stub.o
  CC      s390x-linux-user/target/s390x/cpu_features.o
  CC      aarch64-softmmu/accel/tcg/cpu-exec-common.o
  CC      sh4-softmmu/hw/block/virtio-blk.o
  CC      alpha-linux-user/target/alpha/fpu_helper.o
  CC      ppc64-linux-user/target/ppc/cpu-models.o
  CC      alpha-softmmu/accel/tcg/translator.o
  CC      xtensaeb-softmmu/hw/core/generic-loader.o
  CC      mips64el-softmmu/accel/tcg/tcg-runtime.o
  CC      sparc64-softmmu/hw/core/null-machine.o
  CC      m68k-softmmu/hw/core/null-machine.o
  CC      sparc64-softmmu/hw/display/vga.o
  CC      or1k-linux-user/target/openrisc/exception.o
  CC      microblazeel-softmmu/hw/net/xilinx_ethlite.o
  CC      i386-softmmu/accel/tcg/translate-all.o
  CC      mips64-softmmu/accel/stubs/hax-stub.o
  CC      cris-softmmu/accel/tcg/translator.o
  GEN     trace/generated-helpers.c
  CC      hppa-softmmu/accel/stubs/kvm-stub.o
  GEN     trace/generated-helpers.c
  CC      nios2-linux-user/trace/generated-helpers.o
  CC      ppc-softmmu/accel/tcg/cpu-exec.o
  CC      nios2-softmmu/accel/tcg/cpu-exec-common.o
  CC      nios2-softmmu/accel/tcg/translate-all.o
  CC      sh4eb-softmmu/hw/block/virtio-blk.o
  CC      s390x-softmmu/accel/tcg/tcg-all.o
  CC      aarch64-softmmu/accel/tcg/translate-all.o
  CC      or1k-softmmu/accel/tcg/tcg-runtime.o
  CC      tricore-softmmu/accel/tcg/tcg-all.o
  CC      mips-linux-user/linux-user/uname.o
  CC      mipsn32-linux-user/linux-user/linuxload.o
  CC      m68k-softmmu/hw/misc/mmio_interface.o
  CC      arm-linux-user/target/arm/arm-semi.o
  CC      m68k-linux-user/trace/control-target.o
  CC      ppc-softmmu/accel/tcg/cpu-exec-common.o
  CC      aarch64_be-linux-user/target/arm/translate.o
  CC      nios2-softmmu/accel/tcg/translator.o
  CC      cris-softmmu/hw/core/generic-loader.o
  CC      sparc-linux-user/target/sparc/cpu.o
  CC      ppc64-linux-user/target/ppc/cpu.o
  CC      s390x-linux-user/target/s390x/gdbstub.o
  CC      sparc64-linux-user/target/sparc/translate.o
  CC      microblaze-linux-user/trace/control-target.o
  CC      cris-softmmu/hw/core/null-machine.o
  CC      nios2-softmmu/hw/core/generic-loader.o
  CC      sparc64-linux-user/target/sparc/helper.o
  CC      mips64-softmmu/accel/stubs/hvf-stub.o
  CC      mipsn32-linux-user/linux-user/uaccess.o
  CC      ppc64-softmmu/accel/tcg/tcg-runtime.o
  CC      ppc64-softmmu/accel/tcg/cpu-exec.o
  CC      ppc-linux-user/linux-user/uname.o
  CC      x86_64-linux-user/target/i386/gdbstub.o
  CC      tricore-softmmu/accel/tcg/cputlb.o
  CC      xtensaeb-softmmu/hw/core/null-machine.o
  CC      tilegx-linux-user/target/tilegx/helper.o
  CC      tilegx-linux-user/target/tilegx/simd_helper.o
  CC      hppa-softmmu/accel/tcg/tcg-all.o
  CC      ppcemb-softmmu/accel/tcg/translator.o
  CC      s390x-softmmu/accel/tcg/cputlb.o
  CC      mips-softmmu/hw/9pfs/virtio-9p-device.o
  CC      m68k-softmmu/hw/net/mcf_fec.o
  CC      ppcemb-softmmu/hw/9pfs/virtio-9p-device.o
  CC      sparc-softmmu/hw/core/generic-loader.o
  CC      microblazeel-softmmu/hw/net/vhost_net.o
  CC      sparc-linux-user/target/sparc/fop_helper.o
  CC      xtensa-softmmu/accel/tcg/cpu-exec-common.o
  CC      or1k-linux-user/target/openrisc/interrupt.o
  CC      microblaze-softmmu/accel/tcg/translate-all.o
  CC      mips64-linux-user/target/mips/gdbstub.o
  CC      mips64-softmmu/accel/stubs/kvm-stub.o
  LINK    nios2-linux-user/qemu-nios2
  CC      x86_64-softmmu/accel/tcg/tcg-runtime.o
  CCAS    ppc-linux-user/linux-user/safe-syscall.o
  CC      ppc64abi32-linux-user/target/ppc/excp_helper.o
  CC      lm32-softmmu/accel/tcg/translate-all.o
  CC      alpha-linux-user/target/alpha/vax_helper.o
  CC      hppa-softmmu/accel/tcg/cputlb.o
  CC      microblazeel-linux-user/target/microblaze/translate.o
  CC      sparc64-linux-user/target/sparc/cpu.o
  CC      sparc32plus-linux-user/target/sparc/fop_helper.o
  CC      hppa-linux-user/target/hppa/translate.o
  CC      microblaze-linux-user/trace/generated-helpers.o
  CC      sparc64-linux-user/target/sparc/fop_helper.o
  CCAS    mips-linux-user/linux-user/safe-syscall.o
  CC      ppc-linux-user/target/ppc/cpu-models.o
  CC      sh4-linux-user/target/sh4/translate.o
  CC      mips-linux-user/target/mips/translate.o
  CC      cris-softmmu/hw/misc/mmio_interface.o
  CC      sparc32plus-linux-user/target/sparc/cc_helper.o
  CC      s390x-linux-user/target/s390x/interrupt.o
  CC      ppc-linux-user/target/ppc/cpu.o
  CC      mips64el-softmmu/accel/tcg/cpu-exec.o
  CC      aarch64_be-linux-user/target/arm/op_helper.o
  CC      sparc-softmmu/hw/core/null-machine.o
  CC      aarch64_be-linux-user/target/arm/helper.o
  CC      mipsn32-linux-user/linux-user/uname.o
  CC      or1k-linux-user/target/openrisc/mmu.o
  CC      s390x-softmmu/accel/tcg/tcg-runtime.o
  CC      microblazeel-softmmu/hw/net/rocker/qmp-norocker.o
  CC      aarch64_be-linux-user/target/arm/cpu.o
  CC      ppc64-linux-user/target/ppc/translate.o
  CC      xtensaeb-softmmu/hw/misc/mmio_interface.o
  CC      cris-softmmu/hw/net/etraxfs_eth.o
  CC      mips64-softmmu/accel/tcg/tcg-all.o
  CC      mips-softmmu/hw/block/virtio-blk.o
  CC      i386-softmmu/accel/tcg/translator.o
  CC      mips-softmmu/hw/block/vhost-user-blk.o
  CC      m68k-softmmu/hw/net/vhost_net.o
  CC      ppc64-softmmu/accel/tcg/cpu-exec-common.o
  CCAS    i386-linux-user/linux-user/safe-syscall.o
  CC      mipsel-softmmu/hw/9pfs/virtio-9p-device.o
  CC      mips64-softmmu/accel/tcg/cputlb.o
  CC      sh4eb-linux-user/target/sh4/helper.o
  CC      or1k-linux-user/target/openrisc/translate.o
  CC      ppc64le-linux-user/linux-user/uname.o
  CC      mipsn32el-linux-user/linux-user/uaccess.o
  CC      xtensaeb-softmmu/hw/net/vhost_net.o
  CC      s390x-linux-user/target/s390x/helper.o
  CCAS    mipsn32-linux-user/linux-user/safe-syscall.o
  CC      aarch64-softmmu/accel/tcg/translator.o
  CC      aarch64-softmmu/hw/9pfs/virtio-9p-device.o
  LINK    microblaze-linux-user/qemu-microblaze
  CC      sh4-softmmu/hw/block/vhost-user-blk.o
  CC      microblazeel-linux-user/target/microblaze/op_helper.o
  CC      or1k-softmmu/accel/tcg/cpu-exec.o
  CC      mips-softmmu/hw/block/dataplane/virtio-blk.o
  CC      hppa-linux-user/target/hppa/helper.o
  CC      alpha-linux-user/target/alpha/sys_helper.o
  CC      x86_64-softmmu/accel/tcg/cpu-exec.o
  CC      sparc-softmmu/hw/display/tcx.o
  CC      mips-softmmu/hw/char/virtio-serial-bus.o
  CC      aarch64-linux-user/target/arm/gdbstub64.o
  CC      microblazeel-softmmu/hw/net/hv-net.o
  CC      i386-linux-user/linux-user/vm86.o
  CC      sh4-linux-user/target/sh4/op_helper.o
  CC      ppc64-softmmu/accel/tcg/translate-all.o
  CC      mips-softmmu/hw/core/generic-loader.o
  CC      sh4-linux-user/target/sh4/helper.o
  GEN     trace/generated-helpers.c
  CC      sh4eb-softmmu/hw/block/vhost-user-blk.o
  CC      moxie-softmmu/accel/stubs/hvf-stub.o
  CC      mipsn32-linux-user/target/mips/translate.o
  CC      mips64-linux-user/target/mips/msa_helper.o
  CC      microblazeel-linux-user/target/microblaze/helper.o
  CC      unicore32-softmmu/accel/tcg/tcg-all.o
  CC      ppcemb-softmmu/hw/block/virtio-blk.o
  CC      alpha-softmmu/hw/9pfs/virtio-9p-device.o
  CC      cris-softmmu/hw/net/vhost_net.o
  CC      aarch64-linux-user/target/arm/crypto_helper.o
  CC      m68k-softmmu/hw/net/rocker/qmp-norocker.o
  CC      sparc-linux-user/target/sparc/cc_helper.o
  CC      or1k-softmmu/accel/tcg/cpu-exec-common.o
  CC      xtensaeb-softmmu/hw/net/rocker/qmp-norocker.o
  CC      mipsel-softmmu/hw/block/virtio-blk.o
  CC      mipsn32el-linux-user/linux-user/uname.o
  CC      sh4eb-linux-user/target/sh4/cpu.o
  CC      x86_64-softmmu/accel/tcg/cpu-exec-common.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:28:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUMBState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
  CC      sparc64-softmmu/hw/display/virtio-gpu.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:321:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(mb_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:323:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(MicroBlazeCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:343:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:346:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_MICROBLAZE_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:348:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_mb_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:351:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _nommu
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:352:0: error: "MMU_MODE1_SUFFIX" redefined [-Werror]
 #define MMU_MODE1_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1583:0: note: this is the location of the previous definition
 #define MMU_MODE1_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:353:0: error: "MMU_MODE2_SUFFIX" redefined [-Werror]
 #define MMU_MODE2_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1584:0: note: this is the location of the previous definition
 #define MMU_MODE2_SUFFIX _knosmap /* SMAP disabled or CPL<3 && AC=1 */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:356:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX    2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:359:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUMBState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:375:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUMBState *env, target_ulong *pc,
                    ^
  CC      x86_64-softmmu/accel/tcg/translate-all.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
  CC      sparc64-softmmu/hw/display/virtio-gpu-3d.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      arm-linux-user/target/arm/kvm-stub.o
  CC      alpha-linux-user/target/alpha/mem_helper.o
  CC      or1k-linux-user/target/openrisc/exception_helper.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make: *** [subdir-microblazeel-softmmu] Error 2
  CC      s390x-linux-user/target/s390x/translate.o
make: *** Waiting for unfinished jobs....
  CC      m68k-softmmu/hw/net/hv-net.o
  CC      x86_64-linux-user/target/i386/xsave_helper.o
  CC      mips64-softmmu/accel/tcg/tcg-runtime.o
  CC      xtensa-softmmu/accel/tcg/translate-all.o
  CC      moxie-softmmu/accel/stubs/kvm-stub.o
  CC      ppc-linux-user/target/ppc/translate.o
  CC      ppc-softmmu/accel/tcg/translate-all.o
  CC      ppc64abi32-linux-user/target/ppc/fpu_helper.o
  CC      mips64el-softmmu/accel/tcg/cpu-exec-common.o
  CC      mips-linux-user/target/mips/dsp_helper.o
  CC      microblaze-softmmu/accel/tcg/translator.o
  CC      sparc64-linux-user/target/sparc/cc_helper.o
  CC      tilegx-linux-user/trace/control-target.o
  CC      xtensa-softmmu/accel/tcg/translator.o
  CC      sparc64-softmmu/hw/display/virtio-gpu-pci.o
  CC      sh4-softmmu/hw/block/dataplane/virtio-blk.o
  CC      ppcemb-softmmu/hw/block/vhost-user-blk.o
  CC      alpha-softmmu/hw/block/virtio-blk.o
  CC      moxie-softmmu/accel/tcg/tcg-all.o
  CC      sparc64-linux-user/target/sparc/win_helper.o
  CC      or1k-linux-user/target/openrisc/fpu_helper.o
  CC      ppc-linux-user/target/ppc/kvm-stub.o
  CC      xtensaeb-softmmu/hw/net/hv-net.o
  CC      unicore32-softmmu/accel/tcg/cputlb.o
  CC      sh4eb-softmmu/hw/block/dataplane/virtio-blk.o
  CC      cris-softmmu/hw/net/rocker/qmp-norocker.o
  CC      nios2-softmmu/hw/core/null-machine.o
  CC      lm32-softmmu/accel/tcg/translator.o
  CC      mips64el-softmmu/accel/tcg/translate-all.o
  CC      sparc-linux-user/target/sparc/win_helper.o
  CC      ppc64-linux-user/target/ppc/kvm-stub.o
  CC      sh4-softmmu/hw/char/sh_serial.o
  CC      arm-linux-user/target/arm/translate.o
  CC      armeb-linux-user/linux-user/arm/nwfpe/fpa11.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:26:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUM68KState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:87:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:90:22: error: conflicting types for ‘FPReg’
 typedef CPU_LDoubleU FPReg;
                      ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:900:3: note: previous declaration of ‘FPReg’ was here
 } FPReg;
   ^
  CC      x86_64-linux-user/target/i386/translate.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:178:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(m68k_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:180:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(M68kCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:212:5: error: redeclaration of enumerator ‘CC_OP_DYNAMIC’
     CC_OP_DYNAMIC,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:754:5: note: previous definition of ‘CC_OP_DYNAMIC’ was here
     CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:218:5: error: redeclaration of enumerator ‘CC_OP_ADDB’
     CC_OP_ADDB, CC_OP_ADDW, CC_OP_ADDL,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:762:5: note: previous definition of ‘CC_OP_ADDB’ was here
     CC_OP_ADDB, /* modify all flags, CC_DST = res, CC_SRC = src1 */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:218:17: error: redeclaration of enumerator ‘CC_OP_ADDW’
     CC_OP_ADDB, CC_OP_ADDW, CC_OP_ADDL,
                 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:763:5: note: previous definition of ‘CC_OP_ADDW’ was here
     CC_OP_ADDW,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:218:29: error: redeclaration of enumerator ‘CC_OP_ADDL’
     CC_OP_ADDB, CC_OP_ADDW, CC_OP_ADDL,
                             ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:764:5: note: previous definition of ‘CC_OP_ADDL’ was here
     CC_OP_ADDL,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:219:5: error: redeclaration of enumerator ‘CC_OP_SUBB’
     CC_OP_SUBB, CC_OP_SUBW, CC_OP_SUBL,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:772:5: note: previous definition of ‘CC_OP_SUBB’ was here
     CC_OP_SUBB, /* modify all flags, CC_DST = res, CC_SRC = src1 */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:219:17: error: redeclaration of enumerator ‘CC_OP_SUBW’
     CC_OP_SUBB, CC_OP_SUBW, CC_OP_SUBL,
                 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:773:5: note: previous definition of ‘CC_OP_SUBW’ was here
     CC_OP_SUBW,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:219:29: error: redeclaration of enumerator ‘CC_OP_SUBL’
     CC_OP_SUBB, CC_OP_SUBW, CC_OP_SUBL,
                             ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:774:5: note: previous definition of ‘CC_OP_SUBL’ was here
     CC_OP_SUBL,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:227:5: error: redeclaration of enumerator ‘CC_OP_NB’
     CC_OP_NB
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:819:5: note: previous definition of ‘CC_OP_NB’ was here
     CC_OP_NB,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:228:3: error: conflicting types for ‘CCOp’
 } CCOp;
   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:820:3: note: previous declaration of ‘CCOp’ was here
 } CCOp;
   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:526:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:529:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_M68K_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:534:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_m68k_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:535:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list m68k_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:538:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:542:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUM68KState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/m68k/cpu.h:564:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUM68KState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      aarch64_be-linux-user/target/arm/neon_helper.o
  CC      unicore32-softmmu/accel/tcg/tcg-runtime.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make: *** [subdir-m68k-softmmu] Error 2
  CC      ppc-softmmu/accel/tcg/translator.o
  CC      tricore-softmmu/accel/tcg/tcg-runtime.o
  CC      aarch64-softmmu/hw/adc/stm32f2xx_adc.o
  CC      alpha-linux-user/target/alpha/gdbstub.o
  CC      aarch64-softmmu/hw/block/virtio-blk.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:34:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUXtensaState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:42:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 4
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:44:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
  GEN     trace/generated-helpers.c
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:480:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(xtensa_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:482:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(XtensaCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:498:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_xtensa_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:499:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list xtensa_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:516:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_XTENSA_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:619:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _ring0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:620:0: error: "MMU_MODE1_SUFFIX" redefined [-Werror]
 #define MMU_MODE1_SUFFIX _ring1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1583:0: note: this is the location of the previous definition
 #define MMU_MODE1_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:621:0: error: "MMU_MODE2_SUFFIX" redefined [-Werror]
 #define MMU_MODE2_SUFFIX _ring2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1584:0: note: this is the location of the previous definition
 #define MMU_MODE2_SUFFIX _knosmap /* SMAP disabled or CPL<3 && AC=1 */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:624:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUXtensaState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:641:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUXtensaState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      s390x-linux-user/target/s390x/cc_helper.o
  CC      sparc32plus-linux-user/target/sparc/win_helper.o
  CC      sparc-softmmu/hw/display/cg3.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make: *** [subdir-xtensaeb-softmmu] Error 2
  CC      aarch64_be-linux-user/target/arm/iwmmxt_helper.o
  CC      aarch64-softmmu/hw/block/vhost-user-blk.o
  CC      sh4eb-softmmu/hw/char/sh_serial.o
  CC      unicore32-softmmu/accel/tcg/cpu-exec.o
  CC      cris-softmmu/hw/net/hv-net.o
  CC      mips64-linux-user/target/mips/mips-semi.o
  CC      sh4-linux-user/target/sh4/cpu.o
  CC      m68k-linux-user/gdbstub-xml.o
  CC      mipsel-linux-user/target/mips/mips-semi.o
  CC      s390x-softmmu/accel/tcg/cpu-exec.o
  CC      mips64el-softmmu/accel/tcg/translator.o
  CC      sh4-linux-user/target/sh4/gdbstub.o
  CC      moxie-softmmu/accel/tcg/cputlb.o
  CC      microblaze-softmmu/hw/core/generic-loader.o
  CC      ppc-linux-user/target/ppc/dfp_helper.o
  CC      nios2-softmmu/hw/intc/nios2_iic.o
  CC      sparc-linux-user/target/sparc/mmu_helper.o
  CC      or1k-softmmu/accel/tcg/translate-all.o
  CC      tilegx-linux-user/trace/generated-helpers.o
  GEN     trace/generated-helpers.c
  CC      lm32-softmmu/hw/core/generic-loader.o
  CC      i386-softmmu/hw/9pfs/virtio-9p-device.o
  CC      ppc64abi32-linux-user/target/ppc/int_helper.o
  CC      aarch64_be-linux-user/target/arm/gdbstub.o
  CC      ppc-softmmu/hw/9pfs/virtio-9p-device.o
  CC      aarch64_be-linux-user/target/arm/cpu64.o
  CC      lm32-softmmu/hw/core/null-machine.o
  CC      mipsel-linux-user/trace/control-target.o
  CC      sh4-softmmu/hw/char/virtio-serial-bus.o
  CC      i386-linux-user/target/i386/helper.o
  CC      mips-softmmu/hw/core/null-machine.o
  CC      ppc64-softmmu/accel/tcg/translator.o
  CC      arm-linux-user/target/arm/op_helper.o
  CC      alpha-linux-user/trace/control-target.o
  CC      m68k-linux-user/trace/generated-helpers.o
  CC      cris-softmmu/hw/scsi/hv-scsi.o
  CC      mips64el-softmmu/hw/9pfs/virtio-9p-device.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:29:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUCRISState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:105:0: error: "CC_A" redefined [-Werror]
 #define CC_A   14
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:129:0: note: this is the location of the previous definition
 #define CC_A    0x0010
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:106:0: error: "CC_P" redefined [-Werror]
 #define CC_P   15
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:128:0: note: this is the location of the previous definition
 #define CC_P    0x0004
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:108:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:198:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(cris_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:200:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(CRISCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:236:5: error: redeclaration of enumerator ‘CC_OP_DYNAMIC’
     CC_OP_DYNAMIC, /* Use env->cc_op  */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:754:5: note: previous definition of ‘CC_OP_DYNAMIC’ was here
     CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:264:0: error: "TARGET_PAGE_BITS" redefined [-Werror]
 #define TARGET_PAGE_BITS 13
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1544:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS 12
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:267:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:270:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_CRIS_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:275:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_cris_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:278:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:281:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUCRISState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:301:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUCRISState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:311:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list cris_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
  GEN     trace/generated-helpers.c
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      xtensa-softmmu/hw/core/generic-loader.o
  CC      ppcemb-softmmu/hw/block/dataplane/virtio-blk.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      ppcemb-softmmu/hw/char/virtio-serial-bus.o
  CC      or1k-linux-user/target/openrisc/interrupt_helper.o
  CC      sh4eb-softmmu/hw/char/virtio-serial-bus.o
  CC      mips64el-softmmu/hw/block/virtio-blk.o
  CC      armeb-linux-user/linux-user/arm/nwfpe/fpa11_cpdo.o
  CC      sparc32plus-linux-user/target/sparc/mmu_helper.o
  CC      sparc64-softmmu/hw/misc/ivshmem.o
  CC      sparc-softmmu/hw/intc/grlib_irqmp.o
  CC      nios2-softmmu/hw/misc/mmio_interface.o
  CC      microblaze-softmmu/hw/core/null-machine.o
  CCAS    ppc64le-linux-user/linux-user/safe-syscall.o
  CC      lm32-softmmu/hw/input/milkymist-softusb.o
  CC      mips64el-softmmu/hw/block/vhost-user-blk.o
  CC      mips64-softmmu/accel/tcg/cpu-exec.o
  CC      xtensa-softmmu/hw/core/null-machine.o
  CC      alpha-softmmu/hw/block/vhost-user-blk.o
  CC      sparc32plus-linux-user/target/sparc/ldst_helper.o
  CC      sparc64-softmmu/hw/misc/mmio_interface.o
  GEN     trace/generated-helpers.c
  CC      sparc-linux-user/target/sparc/ldst_helper.o
  CC      i386-softmmu/hw/block/virtio-blk.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:29:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUCRISState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:105:0: error: "CC_A" redefined [-Werror]
 #define CC_A   14
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:129:0: note: this is the location of the previous definition
 #define CC_A    0x0010
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:106:0: error: "CC_P" redefined [-Werror]
 #define CC_P   15
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:128:0: note: this is the location of the previous definition
 #define CC_P    0x0004
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:108:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:198:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(cris_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:200:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(CRISCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:236:5: error: redeclaration of enumerator ‘CC_OP_DYNAMIC’
     CC_OP_DYNAMIC, /* Use env->cc_op  */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:754:5: note: previous definition of ‘CC_OP_DYNAMIC’ was here
     CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:264:0: error: "TARGET_PAGE_BITS" redefined [-Werror]
 #define TARGET_PAGE_BITS 13
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1544:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS 12
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:267:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:270:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_CRIS_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:275:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_cris_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:278:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:281:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUCRISState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:301:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUCRISState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/cris/cpu.h:311:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list cris_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      nios2-softmmu/hw/net/vhost_net.o
  CC      mips-softmmu/hw/display/vga.o
  CC      mips64el-linux-user/target/mips/op_helper.o
  CC      mips64el-linux-user/target/mips/lmi_helper.o
  CC      hppa-linux-user/target/hppa/cpu.o
  CC      microblazeel-linux-user/target/microblaze/cpu.o
cc1: all warnings being treated as errors
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
make: *** [subdir-cris-softmmu] Error 2
  CC      microblaze-softmmu/hw/dma/xlnx_dpdma.o
  CC      lm32-softmmu/hw/misc/milkymist-hpdmc.o
  CC      aarch64_be-linux-user/target/arm/translate-a64.o
  CC      mips-softmmu/hw/display/virtio-gpu.o
  CC      sparc64-softmmu/hw/net/virtio-net.o
  CC      sparc-linux-user/target/sparc/int32_helper.o
  CC      hppa-linux-user/target/hppa/op_helper.o
  LINK    tilegx-linux-user/qemu-tilegx
  CC      or1k-softmmu/accel/tcg/translator.o
  CC      tricore-softmmu/accel/tcg/cpu-exec.o
  CC      sparc32plus-linux-user/target/sparc/int64_helper.o
  CC      ppc64abi32-linux-user/target/ppc/timebase_helper.o
  CC      xtensa-softmmu/hw/misc/mmio_interface.o
  CCAS    mipsn32el-linux-user/linux-user/safe-syscall.o
  CC      sparc32plus-linux-user/target/sparc/vis_helper.o
  CC      ppc64abi32-linux-user/target/ppc/misc_helper.o
  CC      armeb-linux-user/linux-user/arm/nwfpe/fpa11_cpdt.o
  CC      hppa-softmmu/accel/tcg/tcg-runtime.o
  CC      hppa-linux-user/target/hppa/gdbstub.o
  CC      mipsel-softmmu/hw/block/vhost-user-blk.o
  CC      or1k-linux-user/target/openrisc/mmu_helper.o
  CC      ppc64le-linux-user/target/ppc/cpu-models.o
  CC      aarch64-linux-user/trace/control-target.o
  CC      ppcemb-softmmu/hw/core/generic-loader.o
  LINK    m68k-linux-user/qemu-m68k
  CC      hppa-softmmu/accel/tcg/cpu-exec.o
  CC      alpha-linux-user/trace/generated-helpers.o
  CC      nios2-softmmu/hw/net/rocker/qmp-norocker.o
  CC      lm32-softmmu/hw/misc/milkymist-pfpu.o
  CC      nios2-softmmu/hw/net/hv-net.o
  CC      or1k-softmmu/hw/core/generic-loader.o
  CC      tricore-softmmu/accel/tcg/cpu-exec-common.o
  CC      unicore32-softmmu/accel/tcg/cpu-exec-common.o
  CC      sparc-linux-user/target/sparc/gdbstub.o
  CC      ppcemb-softmmu/hw/core/null-machine.o
  CC      ppcemb-softmmu/hw/display/sm501.o
  CC      lm32-softmmu/hw/misc/mmio_interface.o
  CC      sparc-softmmu/hw/misc/eccmemctl.o
  CC      sparc64-softmmu/hw/net/vhost_net.o
  CC      aarch64_be-linux-user/target/arm/helper-a64.o
  CC      alpha-softmmu/hw/block/dataplane/virtio-blk.o
  CC      mipsel-softmmu/hw/block/dataplane/virtio-blk.o
  CC      ppc64-linux-user/target/ppc/dfp_helper.o
  CC      s390x-softmmu/accel/tcg/cpu-exec-common.o
  CC      i386-linux-user/target/i386/cpu.o
  CC      sparc64-linux-user/target/sparc/mmu_helper.o
  CC      xtensa-softmmu/hw/net/vhost_net.o
  CC      armeb-linux-user/linux-user/arm/nwfpe/fpa11_cprt.o
  CC      or1k-linux-user/target/openrisc/sys_helper.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/nios2/cpu.h:27:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUNios2State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/nios2/cpu.h:167:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/nios2/cpu.h:209:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(nios2_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/nios2/cpu.h:211:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(Nios2CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/nios2/cpu.h:227:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/nios2/cpu.h:234:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_NIOS2_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/nios2/cpu.h:237:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_nios2_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/nios2/cpu.h:244:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/nios2/cpu.h:249:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUNios2State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/nios2/cpu.h:266:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUNios2State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
  CC      xtensa-softmmu/hw/net/rocker/qmp-norocker.o
make: *** [subdir-nios2-softmmu] Error 2
  CC      arm-softmmu/accel/tcg/cpu-exec.o
  CC      sh4eb-linux-user/target/sh4/gdbstub.o
  CC      sparc32plus-linux-user/target/sparc/gdbstub.o
  LINK    alpha-linux-user/qemu-alpha
  CC      s390x-softmmu/accel/tcg/translate-all.o
  CC      lm32-softmmu/hw/net/milkymist-minimac2.o
  GEN     trace/generated-helpers.c
  CC      ppc64-linux-user/target/ppc/excp_helper.o
  CC      hppa-softmmu/accel/tcg/cpu-exec-common.o
  CC      xtensa-softmmu/hw/net/hv-net.o
  GEN     trace/generated-helpers.c
  CC      sh4eb-softmmu/hw/core/generic-loader.o
  CC      sparc-linux-user/trace/control-target.o
  CC      sparc-softmmu/hw/misc/slavio_misc.o
  CC      ppc64-softmmu/hw/9pfs/virtio-9p-device.o
  CC      or1k-softmmu/hw/core/null-machine.o
  CC      microblazeel-linux-user/target/microblaze/gdbstub.o
  CC      tricore-softmmu/accel/tcg/translate-all.o
  CC      aarch64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      arm-linux-user/target/arm/helper.o
  CC      ppc-linux-user/target/ppc/excp_helper.o
  CC      s390x-softmmu/accel/tcg/translator.o
  CC      hppa-linux-user/target/hppa/mem_helper.o
  CC      aarch64-linux-user/gdbstub-xml.o
  CC      microblaze-softmmu/hw/misc/mmio_interface.o
  CC      sh4-softmmu/hw/core/generic-loader.o
  CC      ppc-softmmu/hw/block/virtio-blk.o
  CC      sh4-softmmu/hw/core/null-machine.o
  CC      x86_64-linux-user/target/i386/bpt_helper.o
  CC      i386-linux-user/target/i386/gdbstub.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:34:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUXtensaState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:42:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 4
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:44:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:480:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(xtensa_env_get_cpu(e))
 ^
  CC      sh4-linux-user/trace/control-target.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:482:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(XtensaCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:498:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_xtensa_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:499:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list xtensa_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:516:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_XTENSA_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:619:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _ring0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:620:0: error: "MMU_MODE1_SUFFIX" redefined [-Werror]
 #define MMU_MODE1_SUFFIX _ring1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1583:0: note: this is the location of the previous definition
 #define MMU_MODE1_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:621:0: error: "MMU_MODE2_SUFFIX" redefined [-Werror]
 #define MMU_MODE2_SUFFIX _ring2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1584:0: note: this is the location of the previous definition
 #define MMU_MODE2_SUFFIX _knosmap /* SMAP disabled or CPL<3 && AC=1 */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:624:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUXtensaState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/xtensa/cpu.h:641:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUXtensaState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      mips-softmmu/hw/display/virtio-gpu-3d.o
  CC      or1k-linux-user/target/openrisc/gdbstub.o
  CC      mipsel-softmmu/hw/char/virtio-serial-bus.o
  CC      armeb-linux-user/linux-user/arm/nwfpe/fpopcode.o
  CC      arm-softmmu/accel/tcg/cpu-exec-common.o
  CC      i386-linux-user/target/i386/xsave_helper.o
  CC      x86_64-linux-user/target/i386/cc_helper.o
  CC      lm32-softmmu/hw/net/vhost_net.o
  CC      x86_64-softmmu/accel/tcg/translator.o
  CC      or1k-softmmu/hw/intc/ompic.o
cc1: all warnings being treated as errors
  CC      lm32-softmmu/hw/net/rocker/qmp-norocker.o
  CC      x86_64-softmmu/hw/9pfs/virtio-9p-device.o
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      microblaze-softmmu/hw/net/xilinx_ethlite.o
  CC      ppc64le-linux-user/target/ppc/cpu.o
  GEN     trace/generated-helpers.c
  CC      sparc64-softmmu/hw/net/hv-net.o
make: *** [subdir-xtensa-softmmu] Error 2
  CC      aarch64_be-linux-user/target/arm/gdbstub64.o
  CC      mipsn32-linux-user/target/mips/dsp_helper.o
  CC      alpha-softmmu/hw/char/virtio-serial-bus.o
  GEN     trace/generated-helpers.c
  GEN     trace/generated-helpers.c
  CC      or1k-linux-user/trace/control-target.o
  CC      sh4eb-linux-user/trace/control-target.o
  CC      s390x-softmmu/hw/9pfs/virtio-9p-device.o
  CC      x86_64-linux-user/target/i386/excp_helper.o
  CC      mipsel-linux-user/trace/generated-helpers.o
  CC      mips64el-linux-user/target/mips/helper.o
  CC      or1k-softmmu/hw/misc/mmio_interface.o
  CC      i386-softmmu/hw/block/vhost-user-blk.o
  CC      tricore-softmmu/accel/tcg/translator.o
  CC      s390x-linux-user/target/s390x/excp_helper.o
  CC      arm-linux-user/target/arm/cpu.o
  CC      ppc64abi32-linux-user/target/ppc/mem_helper.o
  CC      sparc-softmmu/hw/misc/mmio_interface.o
  CC      sparc-linux-user/trace/generated-helpers.o
  CC      s390x-softmmu/hw/block/virtio-blk.o
  CC      i386-softmmu/hw/block/dataplane/virtio-blk.o
  CC      microblazeel-linux-user/trace/control-target.o
  CC      microblaze-softmmu/hw/net/vhost_net.o
  CC      aarch64-softmmu/hw/char/exynos4210_uart.o
  CC      sh4eb-softmmu/hw/core/null-machine.o
  CC      lm32-softmmu/hw/net/hv-net.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:17:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #define TARGET_LONG_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:19:0: error: "TARGET_PAGE_BITS" redefined [-Werror]
 #define TARGET_PAGE_BITS 13 /* 8k */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1544:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS 12
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:20:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 41
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:24:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 #  define TARGET_VIRT_ADDR_SPACE_BITS 44
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:28:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUSPARCState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:114:5: error: redeclaration of enumerator ‘CC_OP_DYNAMIC’
     CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:754:5: note: previous definition of ‘CC_OP_DYNAMIC’ was here
     CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:126:5: error: redeclaration of enumerator ‘CC_OP_NB’
     CC_OP_NB,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:819:5: note: previous definition of ‘CC_OP_NB’ was here
     CC_OP_NB,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:233:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 6
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:560:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(sparc_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:562:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(SPARCCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:658:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_SPARC_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:664:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_sparc_signal_handler
 ^
  CC      mipsel-softmmu/hw/core/generic-loader.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:665:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list sparc_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:669:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX   0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:703:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUSPARCState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:772:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUSPARCState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      hppa-linux-user/target/hppa/int_helper.o
  CC      mips-linux-user/target/mips/op_helper.o
  GEN     trace/generated-helpers.c
  CC      sh4-softmmu/hw/display/sm501.o
  CC      ppc64-softmmu/hw/block/virtio-blk.o
cc1: all warnings being treated as errors
  CC      ppc64-softmmu/hw/block/vhost-user-blk.o
  CC      ppc-linux-user/target/ppc/fpu_helper.o
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      ppc64le-linux-user/target/ppc/translate.o
  CC      unicore32-softmmu/accel/tcg/translate-all.o
  CC      mipsn32-linux-user/target/mips/op_helper.o
  CC      s390x-softmmu/hw/block/vhost-user-blk.o
  CC      sh4eb-linux-user/trace/generated-helpers.o
  CC      armeb-linux-user/linux-user/arm/nwfpe/single_cpdo.o
  CC      unicore32-softmmu/accel/tcg/translator.o
  CC      or1k-linux-user/trace/generated-helpers.o
  CC      i386-softmmu/hw/char/virtio-serial-bus.o
  CC      sh4eb-softmmu/hw/display/sm501.o
  CC      mips64el-softmmu/hw/block/dataplane/virtio-blk.o
  CC      mips-linux-user/target/mips/lmi_helper.o
  CC      microblaze-softmmu/hw/net/rocker/qmp-norocker.o
  CC      arm-softmmu/accel/tcg/translate-all.o
  CC      arm-softmmu/accel/tcg/translator.o
  CC      alpha-softmmu/hw/core/generic-loader.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:25:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPULM32State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:33:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:35:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPULM32State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:40:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:57:57: error: redeclaration of enumerator ‘R_R8’
     R_R0 = 0, R_R1, R_R2, R_R3, R_R4, R_R5, R_R6, R_R7, R_R8, R_R9, R_R10,
                                                         ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:68:5: note: previous definition of ‘R_R8’ was here
     R_R8 = 8,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:57:63: error: redeclaration of enumerator ‘R_R9’
     R_R0 = 0, R_R1, R_R2, R_R3, R_R4, R_R5, R_R6, R_R7, R_R8, R_R9, R_R10,
                                                               ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:69:5: note: previous definition of ‘R_R9’ was here
     R_R9 = 9,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:57:69: error: redeclaration of enumerator ‘R_R10’
     R_R0 = 0, R_R1, R_R2, R_R3, R_R4, R_R5, R_R6, R_R7, R_R8, R_R9, R_R10,
                                                                     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:70:5: note: previous definition of ‘R_R10’ was here
     R_R10 = 10,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:58:5: error: redeclaration of enumerator ‘R_R11’
     R_R11, R_R12, R_R13, R_R14, R_R15, R_R16, R_R17, R_R18, R_R19, R_R20,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:71:5: note: previous definition of ‘R_R11’ was here
     R_R11 = 11,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:58:12: error: redeclaration of enumerator ‘R_R12’
     R_R11, R_R12, R_R13, R_R14, R_R15, R_R16, R_R17, R_R18, R_R19, R_R20,
            ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:72:5: note: previous definition of ‘R_R12’ was here
     R_R12 = 12,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:58:19: error: redeclaration of enumerator ‘R_R13’
     R_R11, R_R12, R_R13, R_R14, R_R15, R_R16, R_R17, R_R18, R_R19, R_R20,
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:73:5: note: previous definition of ‘R_R13’ was here
     R_R13 = 13,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:58:26: error: redeclaration of enumerator ‘R_R14’
     R_R11, R_R12, R_R13, R_R14, R_R15, R_R16, R_R17, R_R18, R_R19, R_R20,
                          ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:74:5: note: previous definition of ‘R_R14’ was here
     R_R14 = 14,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:58:33: error: redeclaration of enumerator ‘R_R15’
     R_R11, R_R12, R_R13, R_R14, R_R15, R_R16, R_R17, R_R18, R_R19, R_R20,
                                 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:75:5: note: previous definition of ‘R_R15’ was here
     R_R15 = 15,
     ^
  CC      aarch64_be-linux-user/target/arm/crypto_helper.o
  CC      sparc32plus-linux-user/trace/control-target.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:212:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(lm32_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:214:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(LM32CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:249:20: error: conflicting types for ‘raise_exception’
 void QEMU_NORETURN raise_exception(CPULM32State *env, int index);
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1653:20: note: previous declaration of ‘raise_exception’ was here
 void QEMU_NORETURN raise_exception(CPUX86State *env, int exception_index);
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:258:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_LM32_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:263:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list lm32_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:264:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_lm32_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/lm32/cpu.h:271:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPULM32State *env, target_ulong *pc,
                    ^
  CC      mips64-softmmu/accel/tcg/cpu-exec-common.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      sh4eb-softmmu/hw/display/vga.o
  CC      or1k-softmmu/hw/net/vhost_net.o
  CC      ppc64-linux-user/target/ppc/fpu_helper.o
  CC      ppc64-linux-user/target/ppc/int_helper.o
  CC      arm-linux-user/target/arm/neon_helper.o
  CC      sh4eb-softmmu/hw/display/virtio-gpu.o
  CC      aarch64-softmmu/hw/char/omap_uart.o
cc1: all warnings being treated as errors
  LINK    sparc-linux-user/qemu-sparc
make[1]: *** [hw/net/hv-net.o] Error 1
  CC      sparc-softmmu/hw/net/vhost_net.o
make: *** [subdir-lm32-softmmu] Error 2
  CC      sparc64-linux-user/target/sparc/ldst_helper.o
  CC      ppc64le-linux-user/target/ppc/kvm-stub.o
  CC      mips-linux-user/target/mips/helper.o
  CC      ppc-softmmu/hw/block/vhost-user-blk.o
  CC      tricore-softmmu/hw/core/generic-loader.o
  CC      hppa-softmmu/accel/tcg/translate-all.o
  CC      mips64-softmmu/accel/tcg/translate-all.o
  CC      ppc-linux-user/target/ppc/int_helper.o
  CC      unicore32-softmmu/hw/core/generic-loader.o
  CC      s390x-linux-user/target/s390x/fpu_helper.o
  CC      ppc64abi32-linux-user/target/ppc/user_only_helper.o
  CC      unicore32-softmmu/hw/core/null-machine.o
  CC      ppc-linux-user/target/ppc/timebase_helper.o
  CC      ppcemb-softmmu/hw/display/vga.o
  CC      armeb-linux-user/linux-user/arm/nwfpe/double_cpdo.o
  CC      hppa-linux-user/trace/control-target.o
  CC      microblaze-softmmu/hw/net/hv-net.o
  CC      mipsel-softmmu/hw/core/null-machine.o
  CC      mips64-softmmu/accel/tcg/translator.o
  CC      microblazeel-linux-user/trace/generated-helpers.o
  CC      tricore-softmmu/hw/core/null-machine.o
  CC      sparc-softmmu/hw/net/rocker/qmp-norocker.o
  CC      sh4-softmmu/hw/display/vga.o
make: *** [subdir-sparc64-softmmu] Error 2
  CC      alpha-softmmu/hw/core/null-machine.o
  CC      arm-softmmu/hw/9pfs/virtio-9p-device.o
  CC      arm-softmmu/hw/adc/stm32f2xx_adc.o
  CC      ppcemb-softmmu/hw/display/virtio-gpu.o
  CC      or1k-softmmu/hw/net/rocker/qmp-norocker.o
  CC      ppc64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      ppcemb-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/hw/char/digic-uart.o
  CC      ppcemb-softmmu/hw/display/virtio-gpu-pci.o
  CC      arm-softmmu/hw/block/virtio-blk.o
  CC      x86_64-softmmu/hw/block/virtio-blk.o
  CC      microblaze-softmmu/hw/scsi/hv-scsi.o
  CC      hppa-softmmu/accel/tcg/translator.o
  CC      mips64el-softmmu/hw/char/virtio-serial-bus.o
  CC      mips-softmmu/hw/display/virtio-gpu-pci.o
  CC      microblaze-softmmu/hw/vfio/common.o
  CC      tricore-softmmu/hw/misc/mmio_interface.o
  CC      sh4-softmmu/hw/display/virtio-gpu.o
  CC      i386-softmmu/hw/core/generic-loader.o
  CC      sparc32plus-linux-user/trace/generated-helpers.o
  CC      i386-softmmu/hw/core/null-machine.o
  CC      sparc-softmmu/hw/net/hv-net.o
  CC      s390x-softmmu/hw/block/dataplane/virtio-blk.o
  CC      sparc-softmmu/hw/scsi/hv-scsi.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:28:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUMBState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:321:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(mb_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:323:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(MicroBlazeCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:343:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:346:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_MICROBLAZE_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:348:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_mb_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:351:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _nommu
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:352:0: error: "MMU_MODE1_SUFFIX" redefined [-Werror]
 #define MMU_MODE1_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1583:0: note: this is the location of the previous definition
 #define MMU_MODE1_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:353:0: error: "MMU_MODE2_SUFFIX" redefined [-Werror]
 #define MMU_MODE2_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1584:0: note: this is the location of the previous definition
 #define MMU_MODE2_SUFFIX _knosmap /* SMAP disabled or CPL<3 && AC=1 */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:356:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX    2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:359:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUMBState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:375:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUMBState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      hppa-softmmu/hw/9pfs/virtio-9p-device.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      ppc-softmmu/hw/block/dataplane/virtio-blk.o
  CC      sh4-softmmu/hw/display/virtio-gpu-3d.o
  LINK    or1k-linux-user/qemu-or1k
  CC      i386-linux-user/target/i386/translate.o
  LINK    sh4eb-linux-user/qemu-sh4eb
  CC      i386-linux-user/target/i386/bpt_helper.o
  CC      s390x-linux-user/target/s390x/int_helper.o
  CC      ppc-softmmu/hw/char/virtio-serial-bus.o
  CC      armeb-linux-user/linux-user/arm/nwfpe/extended_cpdo.o
  CC      ppc64-softmmu/hw/char/spapr_vty.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:28:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUSPARCState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:114:5: error: redeclaration of enumerator ‘CC_OP_DYNAMIC’
     CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:754:5: note: previous definition of ‘CC_OP_DYNAMIC’ was here
     CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:126:5: error: redeclaration of enumerator ‘CC_OP_NB’
     CC_OP_NB,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:819:5: note: previous definition of ‘CC_OP_NB’ was here
     CC_OP_NB,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:560:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(sparc_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:562:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(SPARCCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:658:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_SPARC_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:664:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_sparc_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:665:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list sparc_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:676:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX   0
 ^
  CC      mipsel-softmmu/hw/display/vga.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:703:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUSPARCState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:772:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUSPARCState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      armeb-linux-user/target/arm/arm-semi.o
  CC      or1k-softmmu/hw/net/hv-net.o
  CC      ppc64abi32-linux-user/target/ppc/gdbstub.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:28:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUSPARCState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:114:5: error: redeclaration of enumerator ‘CC_OP_DYNAMIC’
     CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:754:5: note: previous definition of ‘CC_OP_DYNAMIC’ was here
     CC_OP_DYNAMIC, /* must use dynamic code to get cc_op */
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:126:5: error: redeclaration of enumerator ‘CC_OP_NB’
     CC_OP_NB,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:819:5: note: previous definition of ‘CC_OP_NB’ was here
     CC_OP_NB,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:560:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(sparc_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:562:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(SPARCCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:658:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_SPARC_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:664:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_sparc_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:665:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list sparc_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:676:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX   0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:703:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUSPARCState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sparc/cpu.h:772:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUSPARCState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      mips64el-linux-user/target/mips/cpu.o
cc1: all warnings being treated as errors
  CC      i386-softmmu/hw/display/vga.o
  CC      aarch64-softmmu/hw/char/stm32f2xx_usart.o
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
make[1]: *** Waiting for unfinished jobs....
cc1: all warnings being treated as errors
  CC      s390x-linux-user/target/s390x/mem_helper.o
  CC      ppc64-linux-user/target/ppc/timebase_helper.o
make[1]: *** [hw/net/hv-net.o] Error 1
make: *** [subdir-sparc-softmmu] Error 2
  CC      sparc64-linux-user/target/sparc/int64_helper.o
  GEN     trace/generated-helpers.c
  CC      mipsn32-linux-user/target/mips/lmi_helper.o
  CC      mips-softmmu/hw/intc/mips_gic.o
  CC      mipsn32el-linux-user/target/mips/translate.o
  CC      tricore-softmmu/hw/net/vhost_net.o
  LINK    microblazeel-linux-user/qemu-microblazeel
  CC      sh4-softmmu/hw/display/virtio-gpu-pci.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:28:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUMBState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:321:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(mb_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:323:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(MicroBlazeCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
  CC      aarch64-linux-user/trace/generated-helpers.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:343:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:346:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_MICROBLAZE_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:348:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_mb_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:351:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _nommu
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:352:0: error: "MMU_MODE1_SUFFIX" redefined [-Werror]
 #define MMU_MODE1_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1583:0: note: this is the location of the previous definition
 #define MMU_MODE1_SUFFIX _user
 ^
  CC      armeb-linux-user/target/arm/kvm-stub.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:353:0: error: "MMU_MODE2_SUFFIX" redefined [-Werror]
 #define MMU_MODE2_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1584:0: note: this is the location of the previous definition
 #define MMU_MODE2_SUFFIX _knosmap /* SMAP disabled or CPL<3 && AC=1 */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:356:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX    2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:359:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUMBState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/microblaze/cpu.h:375:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUMBState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      ppc64le-linux-user/target/ppc/dfp_helper.o
  CC      moxie-softmmu/accel/tcg/tcg-runtime.o
  CC      aarch64-softmmu/hw/char/bcm2835_aux.o
  LINK    sparc32plus-linux-user/qemu-sparc32plus
  CC      aarch64-softmmu/hw/char/virtio-serial-bus.o
  CC      x86_64-softmmu/hw/block/vhost-user-blk.o
  CC      alpha-softmmu/hw/display/vga.o
cc1: all warnings being treated as errors
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
  CC      i386-softmmu/hw/display/virtio-gpu.o
  CC      ppc64-softmmu/hw/char/virtio-serial-bus.o
  CC      ppc-linux-user/target/ppc/misc_helper.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:25:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUOpenRISCState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:25: error: expected identifier before numeric constant
 #define MMU_USER_IDX    1
                         ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:66:5: note: in expansion of macro ‘MMU_USER_IDX’
     MMU_USER_IDX = 2,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:69:0: error: "TARGET_PAGE_BITS" redefined [-Werror]
 #define TARGET_PAGE_BITS 13
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1544:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS 12
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:71:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:730:25: error: expected identifier before numeric constant
 #define EXCP_SYSCALL    0x100 /* only happens in user only emulation
                         ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:180:5: note: in expansion of macro ‘EXCP_SYSCALL’
     EXCP_SYSCALL  = 0xc,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:346:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(openrisc_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:348:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(OpenRISCCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:363:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list cpu_openrisc_list
 ^
  CC      sh4eb-softmmu/hw/display/virtio-gpu-3d.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:364:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_openrisc_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:393:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_OPENRISC_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:414:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUOpenRISCState *env,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/openrisc/cpu.h:425:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUOpenRISCState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      sparc64-linux-user/target/sparc/vis_helper.o
  CC      aarch64-softmmu/hw/core/generic-loader.o
  CC      mipsel-softmmu/hw/display/virtio-gpu.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
  CC      s390x-softmmu/hw/char/virtio-serial-bus.o
make: *** [subdir-or1k-softmmu] Error 2
  CC      tricore-softmmu/hw/net/rocker/qmp-norocker.o
  CC      mips64el-softmmu/hw/core/generic-loader.o
  CC      tricore-softmmu/hw/net/hv-net.o
  CC      tricore-softmmu/hw/scsi/hv-scsi.o
  CC      x86_64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      sh4eb-softmmu/hw/display/virtio-gpu-pci.o
  CC      mipsel-softmmu/hw/display/virtio-gpu-3d.o
  CC      ppc-softmmu/hw/core/generic-loader.o
  CC      i386-softmmu/hw/display/virtio-gpu-3d.o
  CC      tricore-softmmu/hw/vfio/common.o
  CC      ppc-softmmu/hw/core/null-machine.o
  GEN     trace/generated-helpers.c
  CC      ppc-linux-user/target/ppc/mem_helper.o
  CC      ppc64-linux-user/target/ppc/misc_helper.o
  CC      sh4-softmmu/hw/intc/sh_intc.o
  CC      mips64el-softmmu/hw/core/null-machine.o
  CC      ppc-linux-user/target/ppc/user_only_helper.o
  CC      ppc-linux-user/target/ppc/gdbstub.o
  CC      mips64-softmmu/hw/9pfs/virtio-9p-device.o
  CC      sparc64-linux-user/target/sparc/gdbstub.o
  CC      i386-linux-user/target/i386/cc_helper.o
  CC      hppa-softmmu/hw/block/virtio-blk.o
  CC      ppc-linux-user/target/ppc/../../libdecnumber/decContext.o
  CC      mipsn32-linux-user/target/mips/helper.o
  CC      mips64el-linux-user/target/mips/gdbstub.o
  CC      unicore32-softmmu/hw/misc/mmio_interface.o
make: *** [subdir-microblaze-softmmu] Error 2
  CC      mips64-softmmu/hw/block/virtio-blk.o
  CC      ppc64-softmmu/hw/core/generic-loader.o
  CC      moxie-softmmu/accel/tcg/cpu-exec.o
  CC      alpha-softmmu/hw/display/virtio-gpu.o
  CC      i386-linux-user/target/i386/excp_helper.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:23:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/tricore-defs.h:21:0: error: "TARGET_PAGE_BITS" redefined [-Werror]
 #define TARGET_PAGE_BITS 14
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1544:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS 12
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:23:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/tricore-defs.h:23:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:29:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUTriCoreState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:222:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(tricore_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:224:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(TriCoreCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:374:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:378:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_tricore_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:379:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list tricore_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:381:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUTriCoreState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:406:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUTriCoreState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:414:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_TRICORE_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      sh4eb-softmmu/hw/intc/sh_intc.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
  CC      ppc64-softmmu/hw/core/null-machine.o
make[1]: *** Waiting for unfinished jobs....
  CC      mips-softmmu/hw/misc/ivshmem.o
  GEN     trace/generated-helpers.c
  CC      hppa-linux-user/trace/generated-helpers.o
  CC      ppc-softmmu/hw/display/sm501.o
  CC      ppc64-softmmu/hw/display/sm501.o
  CC      sh4-softmmu/hw/misc/ivshmem.o
  CC      sparc64-linux-user/trace/control-target.o
  CC      sh4-softmmu/hw/misc/mmio_interface.o
  CC      x86_64-linux-user/target/i386/fpu_helper.o
  CC      arm-linux-user/target/arm/iwmmxt_helper.o
  CC      mips-softmmu/hw/misc/mips_cmgcr.o
  CC      ppc64-linux-user/target/ppc/mem_helper.o
  CC      hppa-softmmu/hw/block/vhost-user-blk.o
  CC      hppa-softmmu/hw/block/dataplane/virtio-blk.o
  CC      ppc64le-linux-user/target/ppc/excp_helper.o
  CC      unicore32-softmmu/hw/net/vhost_net.o
  CC      ppc64le-linux-user/target/ppc/fpu_helper.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:23:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/tricore-defs.h:21:0: error: "TARGET_PAGE_BITS" redefined [-Werror]
 #define TARGET_PAGE_BITS 14
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1544:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS 12
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:23:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/tricore-defs.h:23:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:29:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUTriCoreState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:222:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(tricore_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:224:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(TriCoreCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:374:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:378:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_tricore_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:379:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list tricore_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:381:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUTriCoreState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:406:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUTriCoreState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/tricore/cpu.h:414:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_TRICORE_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      i386-softmmu/hw/display/virtio-gpu-pci.o
  CC      moxie-softmmu/accel/tcg/cpu-exec-common.o
  CC      mipsn32-linux-user/target/mips/cpu.o
  CC      mips64el-linux-user/target/mips/msa_helper.o
  CC      arm-linux-user/target/arm/gdbstub.o
  CC      ppc64-linux-user/target/ppc/user_only_helper.o
  CC      mips64-linux-user/trace/control-target.o
  CC      x86_64-softmmu/hw/char/virtio-serial-bus.o
  CC      mips64el-linux-user/target/mips/mips-semi.o
  CC      i386-softmmu/hw/display/virtio-vga.o
  CC      x86_64-softmmu/hw/core/generic-loader.o
  GEN     trace/generated-helpers.c
  CC      ppc64-linux-user/target/ppc/gdbstub.o
  CC      moxie-softmmu/accel/tcg/translate-all.o
  CC      x86_64-softmmu/hw/core/null-machine.o
  CC      ppc64le-linux-user/target/ppc/int_helper.o
  CC      armeb-linux-user/target/arm/translate.o
  CC      i386-softmmu/hw/intc/apic.o
  CC      mipsn32-linux-user/target/mips/gdbstub.o
cc1: all warnings being treated as errors
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
  CC      ppc-softmmu/hw/display/vga.o
  CC      mipsn32-linux-user/target/mips/msa_helper.o
  CC      sh4-softmmu/hw/net/virtio-net.o
  CC      ppc-linux-user/target/ppc/../../libdecnumber/decNumber.o
  CC      mips64el-linux-user/trace/control-target.o
  CC      mips64-softmmu/hw/block/vhost-user-blk.o
  CC      ppc64-linux-user/target/ppc/../../libdecnumber/decContext.o
  CC      mips64el-softmmu/hw/display/vga.o
  CC      sh4-linux-user/trace/generated-helpers.o
  CC      arm-softmmu/hw/block/vhost-user-blk.o
  CC      sh4eb-softmmu/hw/misc/ivshmem.o
  CC      i386-softmmu/hw/intc/apic_common.o
  CC      hppa-softmmu/hw/char/virtio-serial-bus.o
  CC      mipsn32-linux-user/target/mips/mips-semi.o
  GEN     trace/generated-helpers.c
  CC      moxie-softmmu/accel/tcg/translator.o
  CC      alpha-softmmu/hw/display/virtio-gpu-3d.o
  LINK    hppa-linux-user/qemu-hppa
  CC      moxie-softmmu/hw/core/generic-loader.o
  CC      ppc-linux-user/target/ppc/../../libdecnumber/dpd/decimal32.o
  CC      arm-softmmu/hw/block/dataplane/virtio-blk.o
  CC      ppc64-softmmu/hw/display/vga.o
  CC      i386-linux-user/target/i386/fpu_helper.o
  CC      x86_64-linux-user/target/i386/int_helper.o
  CC      alpha-softmmu/hw/display/virtio-gpu-pci.o
  CC      armeb-linux-user/target/arm/op_helper.o
  LINK    sh4-linux-user/qemu-sh4
  CC      aarch64-softmmu/hw/core/null-machine.o
  CC      mips-softmmu/hw/misc/mips_cpc.o
  CC      mipsel-softmmu/hw/display/virtio-gpu-pci.o
  CC      mipsel-softmmu/hw/intc/mips_gic.o
  CC      ppc64-softmmu/hw/display/virtio-gpu.o
  CC      armeb-linux-user/target/arm/helper.o
  CC      mipsn32-linux-user/trace/control-target.o
  CC      mips-linux-user/target/mips/cpu.o
  CC      ppc-linux-user/target/ppc/../../libdecnumber/dpd/decimal64.o
  CC      mipsn32el-linux-user/target/mips/dsp_helper.o
  CC      armeb-linux-user/target/arm/cpu.o
  CC      arm-linux-user/target/arm/crypto_helper.o
  CC      ppcemb-softmmu/hw/i2c/ppc4xx_i2c.o
  CC      mipsn32el-linux-user/target/mips/op_helper.o
  CC      aarch64-softmmu/hw/cpu/arm11mpcore.o
  CC      aarch64-softmmu/hw/cpu/realview_mpcore.o
  CC      aarch64-softmmu/hw/cpu/a9mpcore.o
  CC      x86_64-softmmu/hw/display/vga.o
  CC      s390x-softmmu/hw/char/terminal3270.o
  CC      ppc64le-linux-user/target/ppc/timebase_helper.o
  CC      mips64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      s390x-softmmu/hw/core/generic-loader.o
  CC      ppc64le-linux-user/target/ppc/misc_helper.o
  CC      x86_64-softmmu/hw/display/virtio-gpu.o
  CC      unicore32-softmmu/hw/net/rocker/qmp-norocker.o
  CC      ppc64-softmmu/hw/display/virtio-gpu-3d.o
  CC      hppa-softmmu/hw/core/generic-loader.o
  CC      s390x-linux-user/target/s390x/misc_helper.o
  CC      mips-softmmu/hw/misc/mips_itu.o
  CC      ppc-softmmu/hw/display/virtio-gpu.o
  CC      mipsn32el-linux-user/target/mips/lmi_helper.o
  CC      sh4eb-softmmu/hw/misc/mmio_interface.o
make: *** [subdir-tricore-softmmu] Error 2
  CC      aarch64-softmmu/hw/cpu/a15mpcore.o
  CC      ppc64-softmmu/hw/display/virtio-gpu-pci.o
  CC      ppcemb-softmmu/hw/misc/ivshmem.o
  CC      mips64-linux-user/trace/generated-helpers.o
  CC      mips64el-linux-user/trace/generated-helpers.o
  CC      unicore32-softmmu/hw/net/hv-net.o
  CC      s390x-softmmu/hw/core/null-machine.o
  CC      ppc-linux-user/target/ppc/../../libdecnumber/dpd/decimal128.o
  CC      s390x-softmmu/hw/display/virtio-gpu.o
  CC      arm-softmmu/hw/char/exynos4210_uart.o
  CC      ppc-softmmu/hw/display/virtio-gpu-3d.o
  CC      unicore32-softmmu/hw/scsi/hv-scsi.o
  CC      sh4eb-softmmu/hw/net/virtio-net.o
  CC      ppc64-softmmu/hw/display/virtio-vga.o
  CC      armeb-linux-user/target/arm/neon_helper.o
  CC      s390x-linux-user/target/s390x/crypto_helper.o
  CC      arm-softmmu/hw/char/omap_uart.o
  CC      aarch64-softmmu/hw/display/omap_dss.o
  CC      mips64-softmmu/hw/char/virtio-serial-bus.o
  CC      x86_64-linux-user/target/i386/mem_helper.o
  CC      s390x-softmmu/hw/display/virtio-gpu-3d.o
  CC      x86_64-linux-user/target/i386/misc_helper.o
  CC      ppc-softmmu/hw/display/virtio-gpu-pci.o
  CC      sh4eb-softmmu/hw/net/vhost_net.o
  CC      mips64-softmmu/hw/core/generic-loader.o
  CC      hppa-softmmu/hw/core/null-machine.o
  CC      hppa-softmmu/hw/display/vga.o
  GEN     trace/generated-helpers.c
  CC      moxie-softmmu/hw/core/null-machine.o
  CC      arm-linux-user/trace/control-target.o
  CC      moxie-softmmu/hw/display/vga.o
  CC      mips64el-softmmu/hw/display/virtio-gpu.o
  CC      mipsn32-linux-user/trace/generated-helpers.o
  CC      mipsel-softmmu/hw/misc/ivshmem.o
  CC      ppc64-linux-user/target/ppc/../../libdecnumber/decNumber.o
  CC      alpha-softmmu/hw/misc/ivshmem.o
  CC      mipsn32el-linux-user/target/mips/helper.o
  CC      mipsel-softmmu/hw/misc/mips_cmgcr.o
  CC      sh4eb-softmmu/hw/net/hv-net.o
  CC      aarch64-softmmu/hw/display/omap_lcdc.o
  CC      mips64el-softmmu/hw/display/virtio-gpu-3d.o
  CC      mips-softmmu/hw/misc/mmio_interface.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:18:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS     32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:21:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState                struct CPUUniCore32State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:28:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES            2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:95:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(uc32_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:97:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(UniCore32CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:153:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler              uc32_cpu_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:158:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:161:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUUniCore32State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:168:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_UNICORE32_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:173:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUUniCore32State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      s390x-linux-user/target/s390x/kvm-stub.o
  CC      aarch64-softmmu/hw/display/pxa2xx_lcd.o
  CC      aarch64_be-linux-user/trace/control-target.o
  CC      i386-softmmu/hw/intc/ioapic.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:18:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS     32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:21:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState                struct CPUUniCore32State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:28:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES            2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:95:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(uc32_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:97:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(UniCore32CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:153:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler              uc32_cpu_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:158:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:161:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUUniCore32State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:168:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_UNICORE32_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/unicore32/cpu.h:173:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUUniCore32State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      mipsn32el-linux-user/target/mips/cpu.o
  CC      x86_64-linux-user/target/i386/mpx_helper.o
  CC      sparc64-linux-user/trace/generated-helpers.o
  CC      mips64-softmmu/hw/core/null-machine.o
  CC      ppc64-linux-user/target/ppc/../../libdecnumber/dpd/decimal32.o
  CC      mips64-softmmu/hw/display/vga.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      ppc64abi32-linux-user/target/ppc/../../libdecnumber/decContext.o
  CC      mipsel-softmmu/hw/misc/mips_cpc.o
  GEN     trace/generated-helpers.c
cc1: all warnings being treated as errors
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
  CC      s390x-linux-user/trace/control-target.o
make: *** [subdir-unicore32-softmmu] Error 2
  CC      sh4eb-softmmu/hw/scsi/virtio-scsi.o
  CC      mips64-softmmu/hw/display/virtio-gpu.o
  CC      armeb-linux-user/target/arm/iwmmxt_helper.o
  CC      mipsel-softmmu/hw/misc/mips_itu.o
  CC      ppc64abi32-linux-user/target/ppc/../../libdecnumber/decNumber.o
  CC      mips-linux-user/target/mips/gdbstub.o
  CC      hppa-softmmu/hw/display/virtio-gpu.o
  CC      ppc64-softmmu/hw/i2c/ppc4xx_i2c.o
  CC      mips64el-softmmu/hw/display/virtio-gpu-pci.o
  CC      arm-softmmu/hw/char/digic-uart.o
  CC      arm-linux-user/gdbstub-xml.o
  CC      sh4-softmmu/hw/net/vhost_net.o
  CC      mips64el-softmmu/hw/intc/mips_gic.o
  CC      mips-softmmu/hw/net/virtio-net.o
  CC      ppc64le-linux-user/target/ppc/mem_helper.o
  CC      i386-softmmu/hw/isa/lpc_ich9.o
  CC      s390x-softmmu/hw/display/virtio-gpu-pci.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:39:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUSH4State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:47:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:137:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:231:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(sh_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:233:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(SuperHCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:277:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_SUPERH_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:282:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_sh4_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:283:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list sh4_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:286:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:289:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUSH4State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:407:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUSH4State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      i386-softmmu/hw/misc/ivshmem.o
  CC      i386-softmmu/hw/misc/pvpanic.o
  CC      x86_64-linux-user/target/i386/seg_helper.o
  CC      s390x-linux-user/gdbstub-xml.o
cc1: all warnings being treated as errors
  CC      ppc64-linux-user/target/ppc/../../libdecnumber/dpd/decimal64.o
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      mips64-softmmu/hw/display/virtio-gpu-3d.o
  CC      ppc64abi32-linux-user/target/ppc/../../libdecnumber/dpd/decimal32.o
  CC      mips-softmmu/hw/net/vhost_net.o
  LINK    sparc64-linux-user/qemu-sparc64
  CC      armeb-linux-user/target/arm/gdbstub.o
  CC      mips-softmmu/hw/net/hv-net.o
  CC      arm-softmmu/hw/char/stm32f2xx_usart.o
  CC      ppc-softmmu/hw/i2c/ppc4xx_i2c.o
  CC      arm-softmmu/hw/char/bcm2835_aux.o
  CC      armeb-linux-user/target/arm/crypto_helper.o
  CC      mips-linux-user/target/mips/msa_helper.o
  CC      x86_64-softmmu/hw/display/virtio-gpu-3d.o
  CC      x86_64-softmmu/hw/display/virtio-gpu-pci.o
  CC      mipsel-softmmu/hw/misc/mmio_interface.o
  GEN     trace/generated-helpers.c
  CC      arm-softmmu/hw/char/virtio-serial-bus.o
  CC      aarch64_be-linux-user/gdbstub-xml.o
  CC      sh4-softmmu/hw/net/hv-net.o
  CC      ppc64-linux-user/target/ppc/../../libdecnumber/dpd/decimal128.o
  CC      ppcemb-softmmu/hw/misc/mmio_interface.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:6:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUMIPSState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:10:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/mips-defs.h:17:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 40
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:90:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 4
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:91:0: error: "TARGET_INSN_START_EXTRA_WORDS" redefined [-Werror]
 #define TARGET_INSN_START_EXTRA_WORDS 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:920:0: note: this is the location of the previous definition
 #define TARGET_INSN_START_EXTRA_WORDS 1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:634:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(mips_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:636:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(MIPSCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:640:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_mips_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:641:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list mips_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:648:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:649:0: error: "MMU_MODE1_SUFFIX" redefined [-Werror]
 #define MMU_MODE1_SUFFIX _super
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1583:0: note: this is the location of the previous definition
 #define MMU_MODE1_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:650:0: error: "MMU_MODE2_SUFFIX" redefined [-Werror]
 #define MMU_MODE2_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1584:0: note: this is the location of the previous definition
 #define MMU_MODE2_SUFFIX _knosmap /* SMAP disabled or CPL<3 && AC=1 */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:652:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:663:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUMIPSState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
  CC      ppc-softmmu/hw/intc/openpic_kvm.o
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:730:25: error: expected identifier before numeric constant
 #define EXCP_SYSCALL    0x100 /* only happens in user only emulation
                         ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:705:5: note: in expansion of macro ‘EXCP_SYSCALL’
     EXCP_SYSCALL,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:742:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_MIPS_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:763:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUMIPSState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  GEN     trace/generated-helpers.c
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      ppc64le-linux-user/target/ppc/user_only_helper.o
  CC      ppc-linux-user/trace/control-target.o
  CC      x86_64-linux-user/target/i386/smm_helper.o
  CC      ppc64-softmmu/hw/intc/openpic_kvm.o
  CC      ppcemb-softmmu/hw/net/xilinx_ethlite.o
  CC      aarch64-softmmu/hw/display/bcm2835_fb.o
  CC      mips64el-softmmu/hw/misc/ivshmem.o
  CC      ppc-linux-user/gdbstub-xml.o
  CC      alpha-softmmu/hw/misc/mmio_interface.o
  CC      mips64el-softmmu/hw/misc/mips_cmgcr.o
  GEN     trace/generated-helpers.c
  CC      ppc64-linux-user/trace/control-target.o
  CC      ppc64le-linux-user/target/ppc/gdbstub.o
  CC      ppcemb-softmmu/hw/net/virtio-net.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:39:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUSH4State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:47:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:137:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:231:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(sh_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:233:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(SuperHCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
  CC      mips64-softmmu/hw/display/virtio-gpu-pci.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:277:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_SUPERH_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:282:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_sh4_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:283:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list sh4_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:286:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:289:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUSH4State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/sh4/cpu.h:407:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUSH4State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      armeb-linux-user/trace/control-target.o
  CC      mips64-softmmu/hw/intc/mips_gic.o
  CC      arm-softmmu/hw/core/generic-loader.o
  CC      sh4-softmmu/hw/scsi/virtio-scsi.o
  CC      arm-softmmu/hw/core/null-machine.o
  CC      mipsn32el-linux-user/target/mips/gdbstub.o
  CC      aarch64-softmmu/hw/display/vga.o
  CC      sh4-softmmu/hw/scsi/virtio-scsi-dataplane.o
cc1: all warnings being treated as errors
  CC      mips-linux-user/target/mips/mips-semi.o
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      moxie-softmmu/hw/misc/mmio_interface.o
  CC      mipsel-softmmu/hw/net/virtio-net.o
  CC      i386-softmmu/hw/misc/mmio_interface.o
  CC      i386-softmmu/hw/net/virtio-net.o
  CC      ppcemb-softmmu/hw/net/vhost_net.o
  CC      ppc64le-linux-user/target/ppc/../../libdecnumber/decContext.o
  CC      i386-softmmu/hw/net/vhost_net.o
  CC      aarch64-softmmu/hw/display/virtio-gpu.o
  CC      armeb-linux-user/gdbstub-xml.o
  CC      i386-softmmu/hw/net/hv-net.o
  CC      mips64-softmmu/hw/misc/ivshmem.o
  CC      arm-softmmu/hw/cpu/arm11mpcore.o
  CC      ppc64le-linux-user/target/ppc/../../libdecnumber/decNumber.o
  CC      ppc64-softmmu/hw/intc/xics.o
  CC      ppc-linux-user/trace/generated-helpers.o
  CC      ppc-softmmu/hw/misc/ivshmem.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-3d.o
  GEN     trace/generated-helpers.c
  CC      mips-linux-user/trace/control-target.o
  CC      alpha-softmmu/hw/net/virtio-net.o
  CC      ppcemb-softmmu/hw/net/hv-net.o
  CC      s390x-softmmu/hw/intc/s390_flic.o
  CC      ppc64-softmmu/hw/intc/xics_spapr.o
  CC      x86_64-softmmu/hw/display/virtio-vga.o
  CC      ppc64-softmmu/hw/intc/xics_kvm.o
  CC      ppc64-softmmu/hw/intc/xics_pnv.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-pci.o
  CC      x86_64-softmmu/hw/intc/apic.o
  CC      hppa-softmmu/hw/display/virtio-gpu-3d.o
  CC      hppa-softmmu/hw/display/virtio-gpu-pci.o
  CC      mipsel-softmmu/hw/net/vhost_net.o
  CC      ppc64-softmmu/hw/misc/ivshmem.o
  CC      alpha-softmmu/hw/net/vhost_net.o
  CC      x86_64-softmmu/hw/intc/apic_common.o
  CC      s390x-linux-user/trace/generated-helpers.o
  CC      ppc64le-linux-user/target/ppc/../../libdecnumber/dpd/decimal32.o
make: *** [subdir-sh4eb-softmmu] Error 2
  CC      x86_64-softmmu/hw/intc/ioapic.o
  CC      ppc64abi32-linux-user/target/ppc/../../libdecnumber/dpd/decimal64.o
  CC      aarch64-softmmu/hw/display/dpcd.o
  CC      ppc64-softmmu/hw/misc/mmio_interface.o
  CC      mips64-softmmu/hw/misc/mips_cmgcr.o
  CC      i386-linux-user/target/i386/int_helper.o
  CC      moxie-softmmu/hw/net/vhost_net.o
  CC      arm-linux-user/trace/generated-helpers.o
  CC      mips64-softmmu/hw/misc/mips_cpc.o
  CC      x86_64-softmmu/hw/isa/lpc_ich9.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      aarch64_be-linux-user/trace/generated-helpers.o
  CC      x86_64-softmmu/hw/misc/ivshmem.o
  CC      armeb-linux-user/trace/generated-helpers.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      ppc64-softmmu/hw/net/spapr_llan.o
  CC      x86_64-softmmu/hw/misc/pvpanic.o
  CC      mips64el-softmmu/hw/misc/mips_cpc.o
  CC      i386-linux-user/target/i386/mem_helper.o
  CC      ppc64-softmmu/hw/net/xilinx_ethlite.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:66:0: error: "TARGET_PAGE_BITS" redefined [-Werror]
 #define TARGET_PAGE_BITS 10
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1544:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS 12
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:78:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUPPCState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:981:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES    8
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1246:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(ppc_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1248:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(PowerPCCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1379:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_POWERPC_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1384:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_ppc_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1385:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list ppc_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1388:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1389:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUPPCState *env, bool ifetch)
                   ^
  CC      ppc64-linux-user/gdbstub-xml.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2411:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUPPCState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2419:20: error: conflicting types for ‘raise_exception’
 void QEMU_NORETURN raise_exception(CPUPPCState *env, uint32_t exception);
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1653:20: note: previous declaration of ‘raise_exception’ was here
 void QEMU_NORETURN raise_exception(CPUX86State *env, int exception_index);
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2420:20: error: conflicting types for ‘raise_exception_ra’
 void QEMU_NORETURN raise_exception_ra(CPUPPCState *env, uint32_t exception,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1654:20: note: previous declaration of ‘raise_exception_ra’ was here
 void QEMU_NORETURN raise_exception_ra(CPUX86State *env, int exception_index,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2422:20: error: conflicting types for ‘raise_exception_err’
 void QEMU_NORETURN raise_exception_err(CPUPPCState *env, uint32_t exception,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1656:20: note: previous declaration of ‘raise_exception_err’ was here
 void QEMU_NORETURN raise_exception_err(CPUX86State *env, int exception_index,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2424:20: error: conflicting types for ‘raise_exception_err_ra’
 void QEMU_NORETURN raise_exception_err_ra(CPUPPCState *env, uint32_t exception,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1658:20: note: previous declaration of ‘raise_exception_err_ra’ was here
 void QEMU_NORETURN raise_exception_err_ra(CPUX86State *env, int exception_index,
                    ^
  CC      hppa-softmmu/hw/display/virtio-vga.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      mipsn32el-linux-user/target/mips/msa_helper.o
  CC      mips64-softmmu/hw/misc/mips_itu.o
  CC      s390x-softmmu/hw/misc/mmio_interface.o
  CC      mipsn32el-linux-user/target/mips/mips-semi.o
  CC      x86_64-linux-user/target/i386/svm_helper.o
  CC      x86_64-softmmu/hw/misc/mmio_interface.o
  CC      x86_64-softmmu/hw/net/virtio-net.o
  CC      mips64el-softmmu/hw/misc/mips_itu.o
  CC      arm-softmmu/hw/cpu/realview_mpcore.o
  CC      moxie-softmmu/hw/net/rocker/qmp-norocker.o
  CC      moxie-softmmu/hw/net/hv-net.o
  CC      arm-softmmu/hw/cpu/a9mpcore.o
  CC      mips-linux-user/trace/generated-helpers.o
make: *** [subdir-sh4-softmmu] Error 2
  CC      ppc64abi32-linux-user/target/ppc/../../libdecnumber/dpd/decimal128.o
  CC      hppa-softmmu/hw/misc/ivshmem.o
  CC      x86_64-softmmu/hw/net/vhost_net.o
  CC      x86_64-softmmu/hw/net/hv-net.o
  CC      arm-softmmu/hw/cpu/a15mpcore.o
  CC      x86_64-linux-user/target/i386/kvm-stub.o
  GEN     trace/generated-helpers.c
  CC      mipsel-softmmu/hw/net/hv-net.o
  CC      mipsel-softmmu/hw/scsi/virtio-scsi.o
  CC      ppc64-softmmu/hw/net/virtio-net.o
  CC      mips64el-softmmu/hw/misc/mmio_interface.o
  CC      alpha-softmmu/hw/net/hv-net.o
  CC      moxie-softmmu/hw/scsi/hv-scsi.o
  CC      ppc64-linux-user/trace/generated-helpers.o
  CC      mips64el-softmmu/hw/net/virtio-net.o
  GEN     trace/generated-helpers.c
  CC      x86_64-linux-user/trace/control-target.o
  CC      ppc64-softmmu/hw/net/vhost_net.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      moxie-softmmu/hw/timer/mc146818rtc.o
  CC      arm-softmmu/hw/display/omap_dss.o
  CC      ppc64le-linux-user/target/ppc/../../libdecnumber/dpd/decimal64.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      moxie-softmmu/hw/vfio/common.o
  CC      i386-linux-user/target/i386/misc_helper.o
  CC      aarch64-softmmu/hw/display/xlnx_dp.o
  CC      ppc-softmmu/hw/misc/mmio_interface.o
  CC      ppc64le-linux-user/target/ppc/../../libdecnumber/dpd/decimal128.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:27:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUMoxieState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:41:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:44:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:111:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(moxie_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:113:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(MoxieCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:123:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_MOXIE_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:128:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_moxie_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:130:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUMoxieState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:137:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUMoxieState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      aarch64-softmmu/hw/dma/xlnx_dpdma.o
  CC      hppa-softmmu/hw/misc/mmio_interface.o
  GEN     trace/generated-helpers.c
  GEN     trace/generated-helpers.c
cc1: all warnings being treated as errors
  CC      s390x-softmmu/hw/net/virtio-net.o
  CC      moxie-softmmu/hw/vfio/platform.o
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      alpha-softmmu/hw/scsi/virtio-scsi.o
  CC      mips64el-softmmu/hw/net/vhost_net.o
  CC      ppc64le-linux-user/trace/control-target.o
  CC      arm-softmmu/hw/display/omap_lcdc.o
  CC      mipsn32el-linux-user/trace/control-target.o
  CC      aarch64-softmmu/hw/dma/omap_dma.o
  CC      ppc64le-linux-user/gdbstub-xml.o
  CC      arm-softmmu/hw/display/pxa2xx_lcd.o
  CC      hppa-softmmu/hw/net/virtio-net.o
  CC      mipsel-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      ppc64le-linux-user/trace/generated-helpers.o
  CC      arm-softmmu/hw/display/bcm2835_fb.o
  CC      mips64-softmmu/hw/misc/mmio_interface.o
  CC      mips64-softmmu/hw/net/virtio-net.o
  CC      s390x-softmmu/hw/net/vhost_net.o
  CC      hppa-softmmu/hw/net/vhost_net.o
  CC      ppc64-softmmu/hw/net/fsl_etsec/etsec.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:6:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUMIPSState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:10:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/mips-defs.h:17:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 40
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:90:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 4
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:91:0: error: "TARGET_INSN_START_EXTRA_WORDS" redefined [-Werror]
 #define TARGET_INSN_START_EXTRA_WORDS 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:920:0: note: this is the location of the previous definition
 #define TARGET_INSN_START_EXTRA_WORDS 1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:634:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(mips_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:636:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(MIPSCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:640:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_mips_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:641:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list mips_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:648:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
  CC      ppc-softmmu/hw/net/xilinx_ethlite.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:649:0: error: "MMU_MODE1_SUFFIX" redefined [-Werror]
 #define MMU_MODE1_SUFFIX _super
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1583:0: note: this is the location of the previous definition
 #define MMU_MODE1_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:650:0: error: "MMU_MODE2_SUFFIX" redefined [-Werror]
 #define MMU_MODE2_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1584:0: note: this is the location of the previous definition
 #define MMU_MODE2_SUFFIX _knosmap /* SMAP disabled or CPL<3 && AC=1 */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:652:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:663:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUMIPSState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:730:25: error: expected identifier before numeric constant
 #define EXCP_SYSCALL    0x100 /* only happens in user only emulation
                         ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:705:5: note: in expansion of macro ‘EXCP_SYSCALL’
     EXCP_SYSCALL,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:742:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_MIPS_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:763:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUMIPSState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      i386-linux-user/target/i386/mpx_helper.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:27:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUMoxieState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:41:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:44:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:111:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(moxie_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:113:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(MoxieCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:123:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_MOXIE_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:128:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_moxie_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:130:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUMoxieState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/moxie/cpu.h:137:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUMoxieState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      mips64-softmmu/hw/net/vhost_net.o
  CC      mips64-softmmu/hw/net/hv-net.o
  CC      ppc-softmmu/hw/net/virtio-net.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:26:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #define TARGET_LONG_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:29:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUAlphaState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:32:0: error: "TCG_GUEST_DEFAULT_MO" redefined [-Werror]
 #define TCG_GUEST_DEFAULT_MO      (0)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:36:0: note: this is the location of the previous definition
 #define TCG_GUEST_DEFAULT_MO      (TCG_MO_ALL & ~TCG_MO_ST_LD)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:41:0: error: "TARGET_PAGE_BITS" redefined [-Werror]
 #define TARGET_PAGE_BITS 13
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1544:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS 12
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:54:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS  44
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:55:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_VIRT_ADDR_SPACE_BITS  (30 + TARGET_PAGE_BITS)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:222:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:306:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(alpha_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:308:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(AlphaCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:325:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list alpha_cpu_list
 ^
  CC      aarch64-softmmu/hw/dma/soc_dma.o
  CC      hppa-softmmu/hw/net/hv-net.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:326:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_alpha_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:423:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUAlphaState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:471:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_ALPHA_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/alpha/cpu.h:499:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUAlphaState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      arm-softmmu/hw/display/vga.o
  CC      alpha-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      alpha-softmmu/hw/scsi/vhost-scsi-common.o
  CC      aarch64-softmmu/hw/dma/pxa2xx_dma.o
  CC      arm-softmmu/hw/display/virtio-gpu.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      ppc64-softmmu/hw/net/fsl_etsec/registers.o
cc1: all warnings being treated as errors
  CC      alpha-softmmu/hw/scsi/vhost-scsi.o
  CC      mips64el-softmmu/hw/net/hv-net.o
  CC      ppc64-softmmu/hw/net/fsl_etsec/rings.o
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
  CC      hppa-softmmu/hw/scsi/virtio-scsi.o
  CC      ppc64abi32-linux-user/trace/control-target.o
make: *** [subdir-mips-softmmu] Error 2
  CC      x86_64-linux-user/gdbstub-xml.o
  CC      aarch64-softmmu/hw/dma/bcm2835_dma.o
  CC      aarch64-softmmu/hw/gpio/omap_gpio.o
  CC      ppc-softmmu/hw/net/vhost_net.o
  CC      aarch64-softmmu/hw/gpio/imx_gpio.o
  CC      hppa-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      ppc-softmmu/hw/net/fsl_etsec/etsec.o
  CC      ppc64-softmmu/hw/net/fsl_etsec/miim.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:6:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUMIPSState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:10:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/mips-defs.h:12:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #define TARGET_LONG_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:10:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/mips-defs.h:13:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 48
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:10:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/mips-defs.h:14:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_VIRT_ADDR_SPACE_BITS 48
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:90:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 4
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:91:0: error: "TARGET_INSN_START_EXTRA_WORDS" redefined [-Werror]
 #define TARGET_INSN_START_EXTRA_WORDS 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:920:0: note: this is the location of the previous definition
 #define TARGET_INSN_START_EXTRA_WORDS 1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:634:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(mips_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:636:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(MIPSCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:640:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_mips_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:641:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list mips_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:648:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:649:0: error: "MMU_MODE1_SUFFIX" redefined [-Werror]
 #define MMU_MODE1_SUFFIX _super
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1583:0: note: this is the location of the previous definition
 #define MMU_MODE1_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:650:0: error: "MMU_MODE2_SUFFIX" redefined [-Werror]
 #define MMU_MODE2_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1584:0: note: this is the location of the previous definition
 #define MMU_MODE2_SUFFIX _knosmap /* SMAP disabled or CPL<3 && AC=1 */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:652:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:663:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUMIPSState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:730:25: error: expected identifier before numeric constant
 #define EXCP_SYSCALL    0x100 /* only happens in user only emulation
                         ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:705:5: note: in expansion of macro ‘EXCP_SYSCALL’
     EXCP_SYSCALL,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:742:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_MIPS_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:763:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUMIPSState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      mips64-softmmu/hw/scsi/virtio-scsi.o
  CC      ppc64-softmmu/hw/net/hv-net.o
  CC      aarch64-softmmu/hw/gpio/bcm2835_gpio.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      arm-softmmu/hw/display/virtio-gpu-3d.o
  CC      ppc-softmmu/hw/net/fsl_etsec/registers.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:39:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #define TARGET_LONG_BITS            64
 ^
  CC      ppc-softmmu/hw/net/fsl_etsec/rings.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:40:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_VIRT_ADDR_SPACE_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:42:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:49:0: error: "TCG_GUEST_DEFAULT_MO" redefined [-Werror]
 #define TCG_GUEST_DEFAULT_MO        TCG_MO_ALL
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:36:0: note: this is the location of the previous definition
 #define TCG_GUEST_DEFAULT_MO      (TCG_MO_ALL & ~TCG_MO_ST_LD)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:51:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUHPPAState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:59:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES     5
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:61:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX     3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:97:0: error: "EXCP_SYSCALL" redefined [-Werror]
 #define EXCP_SYSCALL             30
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:730:0: note: this is the location of the previous definition
 #define EXCP_SYSCALL    0x100 /* only happens in user only emulation
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:251:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e)  CPU(hppa_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:252:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET      offsetof(HPPACPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:256:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUHPPAState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:270:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_HPPA_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:298:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUHPPAState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/hppa/cpu.h:345:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_hppa_signal_handler
 ^
  CC      s390x-softmmu/hw/net/rocker/qmp-norocker.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      i386-linux-user/target/i386/seg_helper.o
  CC      ppc64-softmmu/hw/nvram/spapr_nvram.o
  CC      mipsn32el-linux-user/trace/generated-helpers.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:6:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUMIPSState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:10:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/mips-defs.h:12:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #define TARGET_LONG_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:10:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/mips-defs.h:13:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 48
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:10:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/mips-defs.h:14:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_VIRT_ADDR_SPACE_BITS 48
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:90:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 4
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:91:0: error: "TARGET_INSN_START_EXTRA_WORDS" redefined [-Werror]
 #define TARGET_INSN_START_EXTRA_WORDS 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:920:0: note: this is the location of the previous definition
 #define TARGET_INSN_START_EXTRA_WORDS 1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:634:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(mips_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:636:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(MIPSCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:640:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_mips_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:641:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list mips_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:648:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _kernel
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:649:0: error: "MMU_MODE1_SUFFIX" redefined [-Werror]
 #define MMU_MODE1_SUFFIX _super
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1583:0: note: this is the location of the previous definition
 #define MMU_MODE1_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:650:0: error: "MMU_MODE2_SUFFIX" redefined [-Werror]
 #define MMU_MODE2_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1584:0: note: this is the location of the previous definition
 #define MMU_MODE2_SUFFIX _knosmap /* SMAP disabled or CPL<3 && AC=1 */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:652:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:663:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUMIPSState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:730:25: error: expected identifier before numeric constant
 #define EXCP_SYSCALL    0x100 /* only happens in user only emulation
                         ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:705:5: note: in expansion of macro ‘EXCP_SYSCALL’
     EXCP_SYSCALL,
     ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:742:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_MIPS_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/mips/cpu.h:763:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUMIPSState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      ppc64-softmmu/hw/scsi/spapr_vscsi.o
  CC      ppc64-softmmu/hw/scsi/virtio-scsi.o
  CC      s390x-softmmu/hw/net/hv-net.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      ppc-softmmu/hw/net/fsl_etsec/miim.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      ppc64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      ppc-softmmu/hw/net/hv-net.o
  CC      arm-softmmu/hw/display/virtio-gpu-pci.o
  CC      i386-linux-user/target/i386/smm_helper.o
make: *** [subdir-i386-softmmu] Error 2
  CC      ppc-softmmu/hw/scsi/virtio-scsi.o
  CC      s390x-softmmu/hw/scsi/virtio-scsi.o
  CC      arm-softmmu/hw/dma/omap_dma.o
  CC      s390x-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      arm-softmmu/hw/dma/soc_dma.o
  CC      i386-linux-user/target/i386/svm_helper.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:30:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #define TARGET_LONG_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:33:0: error: "TCG_GUEST_DEFAULT_MO" redefined [-Werror]
 #define TCG_GUEST_DEFAULT_MO 0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:36:0: note: this is the location of the previous definition
 #define TCG_GUEST_DEFAULT_MO      (TCG_MO_ALL & ~TCG_MO_ST_LD)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:38:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 62
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:46:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 # define TARGET_VIRT_ADDR_SPACE_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:78:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUPPCState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:981:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES    8
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1246:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(ppc_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1248:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(PowerPCCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1379:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_POWERPC_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1384:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_ppc_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1385:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list ppc_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1388:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1389:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUPPCState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
  CC      x86_64-linux-user/trace/generated-helpers.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2411:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUPPCState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2419:20: error: conflicting types for ‘raise_exception’
 void QEMU_NORETURN raise_exception(CPUPPCState *env, uint32_t exception);
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1653:20: note: previous declaration of ‘raise_exception’ was here
 void QEMU_NORETURN raise_exception(CPUX86State *env, int exception_index);
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2420:20: error: conflicting types for ‘raise_exception_ra’
 void QEMU_NORETURN raise_exception_ra(CPUPPCState *env, uint32_t exception,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1654:20: note: previous declaration of ‘raise_exception_ra’ was here
 void QEMU_NORETURN raise_exception_ra(CPUX86State *env, int exception_index,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2422:20: error: conflicting types for ‘raise_exception_err’
 void QEMU_NORETURN raise_exception_err(CPUPPCState *env, uint32_t exception,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1656:20: note: previous declaration of ‘raise_exception_err’ was here
 void QEMU_NORETURN raise_exception_err(CPUX86State *env, int exception_index,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2424:20: error: conflicting types for ‘raise_exception_err_ra’
 void QEMU_NORETURN raise_exception_err_ra(CPUPPCState *env, uint32_t exception,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1658:20: note: previous declaration of ‘raise_exception_err_ra’ was here
 void QEMU_NORETURN raise_exception_err_ra(CPUX86State *env, int exception_index,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:78:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUPPCState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:981:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES    8
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1246:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(ppc_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1248:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(PowerPCCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1379:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_POWERPC_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1384:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_ppc_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1385:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list ppc_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1388:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:1389:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index (CPUPPCState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2411:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUPPCState *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2419:20: error: conflicting types for ‘raise_exception’
 void QEMU_NORETURN raise_exception(CPUPPCState *env, uint32_t exception);
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1653:20: note: previous declaration of ‘raise_exception’ was here
 void QEMU_NORETURN raise_exception(CPUX86State *env, int exception_index);
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2420:20: error: conflicting types for ‘raise_exception_ra’
 void QEMU_NORETURN raise_exception_ra(CPUPPCState *env, uint32_t exception,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1654:20: note: previous declaration of ‘raise_exception_ra’ was here
 void QEMU_NORETURN raise_exception_ra(CPUX86State *env, int exception_index,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2422:20: error: conflicting types for ‘raise_exception_err’
 void QEMU_NORETURN raise_exception_err(CPUPPCState *env, uint32_t exception,
                    ^
  CC      arm-softmmu/hw/dma/pxa2xx_dma.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1656:20: note: previous declaration of ‘raise_exception_err’ was here
 void QEMU_NORETURN raise_exception_err(CPUX86State *env, int exception_index,
                    ^
  CC      i386-linux-user/target/i386/kvm-stub.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/ppc/cpu.h:2424:20: error: conflicting types for ‘raise_exception_err_ra’
 void QEMU_NORETURN raise_exception_err_ra(CPUPPCState *env, uint32_t exception,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1658:20: note: previous declaration of ‘raise_exception_err_ra’ was here
 void QEMU_NORETURN raise_exception_err_ra(CPUX86State *env, int exception_index,
                    ^
  CC      ppc64-softmmu/hw/scsi/vhost-scsi-common.o
make: *** [subdir-ppcemb-softmmu] Error 2
  CC      s390x-softmmu/hw/scsi/vhost-scsi-common.o
  CC      aarch64-softmmu/hw/i2c/omap_i2c.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/hw/input/pxa2xx_keypad.o
cc1: all warnings being treated as errors
  CC      aarch64-softmmu/hw/input/tsc210x.o
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      s390x-softmmu/hw/scsi/vhost-scsi.o
  CC      s390x-softmmu/hw/scsi/vhost-user-scsi.o
  CC      aarch64-softmmu/hw/intc/armv7m_nvic.o
  CC      aarch64-softmmu/hw/intc/exynos4210_gic.o
  CC      s390x-softmmu/hw/scsi/hv-scsi.o
  CC      s390x-softmmu/hw/vfio/common.o
  CC      aarch64-softmmu/hw/intc/exynos4210_combiner.o
  CC      aarch64-softmmu/hw/intc/omap_intc.o
  CC      aarch64-softmmu/hw/intc/bcm2835_ic.o
  GEN     trace/generated-helpers.c
  CC      ppc64abi32-linux-user/gdbstub-xml.o
  CC      aarch64-softmmu/hw/intc/bcm2836_control.o
  CC      arm-softmmu/hw/dma/bcm2835_dma.o
make: *** [subdir-mipsel-softmmu] Error 2
  CC      i386-linux-user/trace/control-target.o
  CC      i386-linux-user/gdbstub-xml.o
  CC      aarch64-softmmu/hw/intc/allwinner-a10-pic.o
  CC      aarch64-softmmu/hw/intc/aspeed_vic.o
  CC      arm-softmmu/hw/gpio/omap_gpio.o
  CC      s390x-softmmu/hw/vfio/pci.o
  CC      aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o
  CC      s390x-softmmu/hw/vfio/pci-quirks.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:30:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #define TARGET_LONG_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:32:0: error: "ELF_MACHINE_UNAME" redefined [-Werror]
 #define ELF_MACHINE_UNAME "S390X"
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:50:0: note: this is the location of the previous definition
 #define ELF_MACHINE_UNAME "i686"
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:34:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUS390XState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:39:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:40:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_VIRT_ADDR_SPACE_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:46:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 4
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:49:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _primary
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:50:0: error: "MMU_MODE1_SUFFIX" redefined [-Werror]
 #define MMU_MODE1_SUFFIX _secondary
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1583:0: note: this is the location of the previous definition
 #define MMU_MODE1_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:51:0: error: "MMU_MODE2_SUFFIX" redefined [-Werror]
 #define MMU_MODE2_SUFFIX _home
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1584:0: note: this is the location of the previous definition
 #define MMU_MODE2_SUFFIX _knosmap /* SMAP disabled or CPL<3 && AC=1 */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:54:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:208:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(s390_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:210:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(S390CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:364:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUS390XState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:380:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUS390XState* env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:725:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list s390_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:731:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_S390_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:740:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_s390x_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      s390x-softmmu/hw/vfio/ccw.o
  CC      i386-linux-user/trace/generated-helpers.o
  CC      s390x-softmmu/hw/vfio/platform.o
  CC      ppc64abi32-linux-user/trace/generated-helpers.o
  CC      s390x-softmmu/hw/vfio/spapr.o
  CC      aarch64-softmmu/hw/misc/ivshmem.o
cc1: all warnings being treated as errors
  CC      arm-softmmu/hw/gpio/imx_gpio.o
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      arm-softmmu/hw/gpio/bcm2835_gpio.o
  CC      arm-softmmu/hw/i2c/omap_i2c.o
  CC      aarch64-softmmu/hw/misc/arm_sysctl.o
  CC      arm-softmmu/hw/input/pxa2xx_keypad.o
  CC      arm-softmmu/hw/input/tsc210x.o
  CC      aarch64-softmmu/hw/misc/cbus.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:30:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #define TARGET_LONG_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:32:0: error: "ELF_MACHINE_UNAME" redefined [-Werror]
 #define ELF_MACHINE_UNAME "S390X"
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:50:0: note: this is the location of the previous definition
 #define ELF_MACHINE_UNAME "i686"
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:34:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUS390XState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:39:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_PHYS_ADDR_SPACE_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:40:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 #define TARGET_VIRT_ADDR_SPACE_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:46:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 4
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:49:0: error: "MMU_MODE0_SUFFIX" redefined [-Werror]
 #define MMU_MODE0_SUFFIX _primary
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1582:0: note: this is the location of the previous definition
 #define MMU_MODE0_SUFFIX _ksmap
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:50:0: error: "MMU_MODE1_SUFFIX" redefined [-Werror]
 #define MMU_MODE1_SUFFIX _secondary
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1583:0: note: this is the location of the previous definition
 #define MMU_MODE1_SUFFIX _user
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:51:0: error: "MMU_MODE2_SUFFIX" redefined [-Werror]
 #define MMU_MODE2_SUFFIX _home
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1584:0: note: this is the location of the previous definition
 #define MMU_MODE2_SUFFIX _knosmap /* SMAP disabled or CPL<3 && AC=1 */
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:54:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:208:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(s390_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:210:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(S390CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:364:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUS390XState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:380:20: error: conflicting types for ‘cpu_get_tb_cpu_state’
 static inline void cpu_get_tb_cpu_state(CPUS390XState* env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:725:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list s390_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:731:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_S390_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/s390x/cpu.h:740:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_s390x_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      arm-softmmu/hw/intc/armv7m_nvic.o
  CC      arm-softmmu/hw/intc/exynos4210_gic.o
make: *** [subdir-moxie-softmmu] Error 2
  CC      arm-softmmu/hw/intc/exynos4210_combiner.o
  CC      aarch64-softmmu/hw/misc/exynos4210_pmu.o
  CC      aarch64-softmmu/hw/misc/exynos4210_clk.o
  CC      aarch64-softmmu/hw/misc/exynos4210_rng.o
  CC      aarch64-softmmu/hw/misc/imx_ccm.o
  CC      aarch64-softmmu/hw/misc/imx31_ccm.o
cc1: all warnings being treated as errors
  CC      arm-softmmu/hw/intc/omap_intc.o
  CC      arm-softmmu/hw/intc/bcm2835_ic.o
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
  CC      aarch64-softmmu/hw/misc/imx25_ccm.o
  CC      arm-softmmu/hw/intc/bcm2836_control.o
  CC      aarch64-softmmu/hw/misc/imx6_ccm.o
  CC      aarch64-softmmu/hw/misc/imx6_src.o
  CC      aarch64-softmmu/hw/misc/mst_fpga.o
make: *** [subdir-alpha-softmmu] Error 2
  CC      aarch64-softmmu/hw/misc/omap_clk.o
  CC      aarch64-softmmu/hw/misc/omap_gpmc.o
  CC      aarch64-softmmu/hw/misc/omap_l4.o
  CC      aarch64-softmmu/hw/misc/omap_sdrc.o
  CC      aarch64-softmmu/hw/misc/omap_tap.o
  CC      aarch64-softmmu/hw/misc/bcm2835_mbox.o
  CC      arm-softmmu/hw/intc/allwinner-a10-pic.o
  CC      arm-softmmu/hw/intc/aspeed_vic.o
  CC      arm-softmmu/hw/intc/arm_gicv3_cpuif.o
  CC      arm-softmmu/hw/misc/ivshmem.o
  CC      aarch64-softmmu/hw/misc/bcm2835_property.o
  CC      arm-softmmu/hw/misc/arm_sysctl.o
  CC      arm-softmmu/hw/misc/cbus.o
  CC      arm-softmmu/hw/misc/exynos4210_pmu.o
  CC      aarch64-softmmu/hw/misc/bcm2835_rng.o
  CC      arm-softmmu/hw/misc/exynos4210_clk.o
  CC      arm-softmmu/hw/misc/exynos4210_rng.o
  CC      aarch64-softmmu/hw/misc/zynq_slcr.o
  CC      arm-softmmu/hw/misc/imx_ccm.o
  CC      aarch64-softmmu/hw/misc/zynq-xadc.o
  CC      aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
  CC      arm-softmmu/hw/misc/imx31_ccm.o
  CC      aarch64-softmmu/hw/misc/mps2-scc.o
  CC      aarch64-softmmu/hw/misc/auxbus.o
make: *** [subdir-ppc-softmmu] Error 2
  CC      arm-softmmu/hw/misc/imx25_ccm.o
  CC      aarch64-softmmu/hw/misc/aspeed_scu.o
  CC      aarch64-softmmu/hw/misc/aspeed_sdmc.o
  CC      aarch64-softmmu/hw/misc/mmio_interface.o
  CC      aarch64-softmmu/hw/misc/msf2-sysreg.o
  CC      arm-softmmu/hw/misc/imx6_ccm.o
  CC      aarch64-softmmu/hw/net/virtio-net.o
  CC      arm-softmmu/hw/misc/imx6_src.o
make: *** [subdir-x86_64-softmmu] Error 2
  CC      arm-softmmu/hw/misc/mst_fpga.o
  CC      aarch64-softmmu/hw/net/vhost_net.o
  CC      arm-softmmu/hw/misc/omap_clk.o
  CC      aarch64-softmmu/hw/net/hv-net.o
  CC      aarch64-softmmu/hw/pcmcia/pxa2xx.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi.o
  CC      arm-softmmu/hw/misc/omap_gpmc.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      aarch64-softmmu/hw/scsi/vhost-scsi-common.o
  CC      aarch64-softmmu/hw/scsi/vhost-scsi.o
  CC      arm-softmmu/hw/misc/omap_l4.o
  CC      aarch64-softmmu/hw/scsi/vhost-user-scsi.o
make: *** [subdir-mips64el-softmmu] Error 2
  CC      arm-softmmu/hw/misc/omap_sdrc.o
  CC      aarch64-softmmu/hw/scsi/hv-scsi.o
  CC      aarch64-softmmu/hw/sd/omap_mmc.o
  CC      arm-softmmu/hw/misc/omap_tap.o
  CC      aarch64-softmmu/hw/sd/pxa2xx_mmci.o
  CC      aarch64-softmmu/hw/sd/bcm2835_sdhost.o
  CC      arm-softmmu/hw/misc/bcm2835_mbox.o
  CC      aarch64-softmmu/hw/ssi/omap_spi.o
  CC      arm-softmmu/hw/misc/bcm2835_property.o
  CC      arm-softmmu/hw/misc/bcm2835_rng.o
  CC      arm-softmmu/hw/misc/zynq_slcr.o
make: *** [subdir-hppa-softmmu] Error 2
  CC      arm-softmmu/hw/misc/zynq-xadc.o
  CC      arm-softmmu/hw/misc/stm32f2xx_syscfg.o
  CC      arm-softmmu/hw/misc/mps2-scc.o
  CC      aarch64-softmmu/hw/ssi/imx_spi.o
  CC      arm-softmmu/hw/misc/aspeed_scu.o
  CC      aarch64-softmmu/hw/timer/exynos4210_mct.o
  CC      aarch64-softmmu/hw/timer/exynos4210_pwm.o
  CC      arm-softmmu/hw/misc/aspeed_sdmc.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:28:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #  define TARGET_LONG_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:34:0: error: "TCG_GUEST_DEFAULT_MO" redefined [-Werror]
 #define TCG_GUEST_DEFAULT_MO      (0)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:36:0: note: this is the location of the previous definition
 #define TCG_GUEST_DEFAULT_MO      (TCG_MO_ALL & ~TCG_MO_ST_LD)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:36:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUARMState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:92:0: error: "CPU_INTERRUPT_VIRQ" redefined [-Werror]
 #define CPU_INTERRUPT_VIRQ  CPU_INTERRUPT_TGT_EXT_2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:739:0: note: this is the location of the previous definition
 #define CPU_INTERRUPT_VIRQ      CPU_INTERRUPT_TGT_INT_0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:115:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 8
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:120:0: error: "TARGET_INSN_START_EXTRA_WORDS" redefined [-Werror]
 #define TARGET_INSN_START_EXTRA_WORDS 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:920:0: note: this is the location of the previous definition
 #define TARGET_INSN_START_EXTRA_WORDS 1
 ^
  CC      arm-softmmu/hw/misc/mmio_interface.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:780:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(arm_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:782:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(ARMCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
  CC      aarch64-softmmu/hw/timer/exynos4210_rtc.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2052:0: error: "TARGET_PAGE_BITS_MIN" redefined [-Werror]
 #define TARGET_PAGE_BITS_MIN 10
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1626:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/include/exec/cpu-all.h:222:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS_MIN TARGET_PAGE_BITS
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2056:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #  define TARGET_PHYS_ADDR_SPACE_BITS 48
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2057:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 #  define TARGET_VIRT_ADDR_SPACE_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2171:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_ARM_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2176:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_arm_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2177:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list arm_cpu_list
 ^
  CC      aarch64-softmmu/hw/timer/omap_gptimer.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2314:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2377:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUARMState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2716:6: error: conflicting types for ‘cpu_get_tb_cpu_state’
 void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc,
      ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      arm-softmmu/hw/misc/msf2-sysreg.o
  CC      aarch64-softmmu/hw/timer/omap_synctimer.o
  CC      aarch64-softmmu/hw/timer/pxa2xx_timer.o
  CC      aarch64-softmmu/hw/timer/digic-timer.o
  CC      arm-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/hw/timer/allwinner-a10-pit.o
  CC      aarch64-softmmu/hw/usb/tusb6010.o
  CC      aarch64-softmmu/hw/vfio/common.o
  CC      arm-softmmu/hw/net/vhost_net.o
  CC      arm-softmmu/hw/net/hv-net.o
  CC      aarch64-softmmu/hw/vfio/pci.o
  CC      aarch64-softmmu/hw/vfio/pci-quirks.o
  CC      arm-softmmu/hw/pcmcia/pxa2xx.o
cc1: all warnings being treated as errors
  CC      aarch64-softmmu/hw/vfio/platform.o
  CC      arm-softmmu/hw/scsi/virtio-scsi.o
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      arm-softmmu/hw/scsi/vhost-scsi-common.o
  CC      arm-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      arm-softmmu/hw/scsi/vhost-scsi.o
  CC      arm-softmmu/hw/scsi/hv-scsi.o
  CC      arm-softmmu/hw/scsi/vhost-user-scsi.o
  CC      arm-softmmu/hw/sd/omap_mmc.o
  CC      arm-softmmu/hw/sd/pxa2xx_mmci.o
  CC      arm-softmmu/hw/sd/bcm2835_sdhost.o
  CC      arm-softmmu/hw/ssi/omap_spi.o
  CC      arm-softmmu/hw/ssi/imx_spi.o
  CC      arm-softmmu/hw/timer/exynos4210_mct.o
  CC      arm-softmmu/hw/timer/exynos4210_pwm.o
  CC      arm-softmmu/hw/timer/exynos4210_rtc.o
  CC      arm-softmmu/hw/timer/omap_gptimer.o
  CC      arm-softmmu/hw/timer/omap_synctimer.o
make: *** [subdir-ppc64-softmmu] Error 2
  CC      arm-softmmu/hw/timer/pxa2xx_timer.o
  CC      arm-softmmu/hw/timer/digic-timer.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:28:0: error: "TARGET_LONG_BITS" redefined [-Werror]
 #  define TARGET_LONG_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:30:0: note: this is the location of the previous definition
 #define TARGET_LONG_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:34:0: error: "TCG_GUEST_DEFAULT_MO" redefined [-Werror]
 #define TCG_GUEST_DEFAULT_MO      (0)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:36:0: note: this is the location of the previous definition
 #define TCG_GUEST_DEFAULT_MO      (TCG_MO_ALL & ~TCG_MO_ST_LD)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:36:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUARMState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:92:0: error: "CPU_INTERRUPT_VIRQ" redefined [-Werror]
 #define CPU_INTERRUPT_VIRQ  CPU_INTERRUPT_TGT_EXT_2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:739:0: note: this is the location of the previous definition
 #define CPU_INTERRUPT_VIRQ      CPU_INTERRUPT_TGT_INT_0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:115:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 8
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:120:0: error: "TARGET_INSN_START_EXTRA_WORDS" redefined [-Werror]
 #define TARGET_INSN_START_EXTRA_WORDS 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:920:0: note: this is the location of the previous definition
 #define TARGET_INSN_START_EXTRA_WORDS 1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:780:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(arm_env_get_cpu(e))
 ^
  CC      arm-softmmu/hw/timer/allwinner-a10-pit.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:782:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(ARMCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
  CC      arm-softmmu/hw/usb/tusb6010.o
  CC      arm-softmmu/hw/vfio/common.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2052:0: error: "TARGET_PAGE_BITS_MIN" redefined [-Werror]
 #define TARGET_PAGE_BITS_MIN 10
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1626:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/include/exec/cpu-all.h:222:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS_MIN TARGET_PAGE_BITS
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2056:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #  define TARGET_PHYS_ADDR_SPACE_BITS 48
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2057:0: error: "TARGET_VIRT_ADDR_SPACE_BITS" redefined [-Werror]
 #  define TARGET_VIRT_ADDR_SPACE_BITS 64
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1554:0: note: this is the location of the previous definition
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2171:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_ARM_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2176:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_arm_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2177:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list arm_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2314:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2377:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUARMState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
  CC      arm-softmmu/hw/vfio/pci.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2716:6: error: conflicting types for ‘cpu_get_tb_cpu_state’
 void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc,
      ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      arm-softmmu/hw/vfio/pci-quirks.o
  CC      arm-softmmu/hw/vfio/platform.o
  CC      arm-softmmu/hw/vfio/calxeda-xgmac.o
  CC      arm-softmmu/hw/vfio/amd-xgbe.o
make: *** [subdir-mips64-softmmu] Error 2
  CC      arm-softmmu/hw/vfio/spapr.o
  CC      arm-softmmu/hw/virtio/virtio.o
  CC      arm-softmmu/hw/virtio/virtio-balloon.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:34:0: error: "TCG_GUEST_DEFAULT_MO" redefined [-Werror]
 #define TCG_GUEST_DEFAULT_MO      (0)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:36:0: note: this is the location of the previous definition
 #define TCG_GUEST_DEFAULT_MO      (TCG_MO_ALL & ~TCG_MO_ST_LD)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:36:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUARMState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:92:0: error: "CPU_INTERRUPT_VIRQ" redefined [-Werror]
 #define CPU_INTERRUPT_VIRQ  CPU_INTERRUPT_TGT_EXT_2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:739:0: note: this is the location of the previous definition
 #define CPU_INTERRUPT_VIRQ      CPU_INTERRUPT_TGT_INT_0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:115:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 8
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:120:0: error: "TARGET_INSN_START_EXTRA_WORDS" redefined [-Werror]
 #define TARGET_INSN_START_EXTRA_WORDS 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:920:0: note: this is the location of the previous definition
 #define TARGET_INSN_START_EXTRA_WORDS 1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:780:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(arm_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:782:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(ARMCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
  CC      arm-softmmu/hw/virtio/vhost.o
  CC      arm-softmmu/hw/virtio/vhost-backend.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2052:0: error: "TARGET_PAGE_BITS_MIN" redefined [-Werror]
 #define TARGET_PAGE_BITS_MIN 10
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1626:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/include/exec/cpu-all.h:222:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS_MIN TARGET_PAGE_BITS
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2059:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #  define TARGET_PHYS_ADDR_SPACE_BITS 40
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2171:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_ARM_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2176:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_arm_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2177:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list arm_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2314:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2377:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUARMState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2716:6: error: conflicting types for ‘cpu_get_tb_cpu_state’
 void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc,
      ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
  CC      arm-softmmu/hw/virtio/vhost-user.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/scsi/hv-scsi.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  CC      arm-softmmu/hw/virtio/vhost-vsock.o
  CC      arm-softmmu/hw/virtio/virtio-crypto.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:34:0: error: "TCG_GUEST_DEFAULT_MO" redefined [-Werror]
 #define TCG_GUEST_DEFAULT_MO      (0)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:36:0: note: this is the location of the previous definition
 #define TCG_GUEST_DEFAULT_MO      (TCG_MO_ALL & ~TCG_MO_ST_LD)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:36:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUARMState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:92:0: error: "CPU_INTERRUPT_VIRQ" redefined [-Werror]
 #define CPU_INTERRUPT_VIRQ  CPU_INTERRUPT_TGT_EXT_2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:739:0: note: this is the location of the previous definition
 #define CPU_INTERRUPT_VIRQ      CPU_INTERRUPT_TGT_INT_0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:115:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 8
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:120:0: error: "TARGET_INSN_START_EXTRA_WORDS" redefined [-Werror]
 #define TARGET_INSN_START_EXTRA_WORDS 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:920:0: note: this is the location of the previous definition
 #define TARGET_INSN_START_EXTRA_WORDS 1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:780:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(arm_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:782:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(ARMCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
  CC      arm-softmmu/hw/virtio/virtio-crypto-pci.o
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2052:0: error: "TARGET_PAGE_BITS_MIN" redefined [-Werror]
 #define TARGET_PAGE_BITS_MIN 10
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1626:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/include/exec/cpu-all.h:222:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS_MIN TARGET_PAGE_BITS
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2059:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #  define TARGET_PHYS_ADDR_SPACE_BITS 40
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2171:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_ARM_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2176:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_arm_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2177:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list arm_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2314:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2377:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUARMState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2716:6: error: conflicting types for ‘cpu_get_tb_cpu_state’
 void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc,
      ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/net/hv-net.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
  CC      arm-softmmu/hw/vmbus/vmbus.o
cc1: all warnings being treated as errors
  CC      arm-softmmu/hw/arm/boot.o
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      arm-softmmu/hw/arm/collie.o
cc1: all warnings being treated as errors
make[1]: *** [hw/net/hv-net.o] Error 1
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:34:0: error: "TCG_GUEST_DEFAULT_MO" redefined [-Werror]
 #define TCG_GUEST_DEFAULT_MO      (0)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:36:0: note: this is the location of the previous definition
 #define TCG_GUEST_DEFAULT_MO      (TCG_MO_ALL & ~TCG_MO_ST_LD)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:36:0: error: "CPUArchState" redefined [-Werror]
 #define CPUArchState struct CPUARMState
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:53:0: note: this is the location of the previous definition
 #define CPUArchState struct CPUX86State
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:92:0: error: "CPU_INTERRUPT_VIRQ" redefined [-Werror]
 #define CPU_INTERRUPT_VIRQ  CPU_INTERRUPT_TGT_EXT_2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:739:0: note: this is the location of the previous definition
 #define CPU_INTERRUPT_VIRQ      CPU_INTERRUPT_TGT_INT_0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:115:0: error: "NB_MMU_MODES" redefined [-Werror]
 #define NB_MMU_MODES 8
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:919:0: note: this is the location of the previous definition
 #define NB_MMU_MODES 3
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:120:0: error: "TARGET_INSN_START_EXTRA_WORDS" redefined [-Werror]
 #define TARGET_INSN_START_EXTRA_WORDS 2
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:920:0: note: this is the location of the previous definition
 #define TARGET_INSN_START_EXTRA_WORDS 1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:780:0: error: "ENV_GET_CPU" redefined [-Werror]
 #define ENV_GET_CPU(e) CPU(arm_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1350:0: note: this is the location of the previous definition
 #define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:782:0: error: "ENV_OFFSET" redefined [-Werror]
 #define ENV_OFFSET offsetof(ARMCPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1352:0: note: this is the location of the previous definition
 #define ENV_OFFSET offsetof(X86CPU, env)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2052:0: error: "TARGET_PAGE_BITS_MIN" redefined [-Werror]
 #define TARGET_PAGE_BITS_MIN 10
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1626:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/include/exec/cpu-all.h:222:0: note: this is the location of the previous definition
 #define TARGET_PAGE_BITS_MIN TARGET_PAGE_BITS
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2059:0: error: "TARGET_PHYS_ADDR_SPACE_BITS" redefined [-Werror]
 #  define TARGET_PHYS_ADDR_SPACE_BITS 40
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1553:0: note: this is the location of the previous definition
 #define TARGET_PHYS_ADDR_SPACE_BITS 36
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2171:0: error: "cpu_init" redefined [-Werror]
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_ARM_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1567:0: note: this is the location of the previous definition
 #define cpu_init(cpu_model) cpu_generic_init(TYPE_X86_CPU, cpu_model)
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2176:0: error: "cpu_signal_handler" redefined [-Werror]
 #define cpu_signal_handler cpu_arm_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1578:0: note: this is the location of the previous definition
 #define cpu_signal_handler cpu_x86_signal_handler
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2177:0: error: "cpu_list" redefined [-Werror]
 #define cpu_list arm_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1579:0: note: this is the location of the previous definition
 #define cpu_list x86_cpu_list
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2314:0: error: "MMU_USER_IDX" redefined [-Werror]
 #define MMU_USER_IDX 0
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1586:0: note: this is the location of the previous definition
 #define MMU_USER_IDX    1
 ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2377:19: error: conflicting types for ‘cpu_mmu_index’
 static inline int cpu_mmu_index(CPUARMState *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1588:19: note: previous definition of ‘cpu_mmu_index’ was here
 static inline int cpu_mmu_index(CPUX86State *env, bool ifetch)
                   ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/sysemu/kvm.h:235:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:19,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/arm/cpu.h:2716:6: error: conflicting types for ‘cpu_get_tb_cpu_state’
 void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc,
      ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:18:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/cpu.h:1633:20: note: previous definition of ‘cpu_get_tb_cpu_state’ was here
 static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
                    ^
In file included from /var/tmp/patchew-tester-tmp-9019xv17/src/include/hw/vmbus/vmbus.h:16:0,
                 from /var/tmp/patchew-tester-tmp-9019xv17/src/hw/vmbus/vmbus.c:13:
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: ‘struct kvm_hyperv_exit’ declared inside parameter list [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^
/var/tmp/patchew-tester-tmp-9019xv17/src/target/i386/hyperv.h:25:44: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
  LINK    s390x-linux-user/qemu-s390x
cc1: all warnings being treated as errors
make[1]: *** [hw/vmbus/vmbus.o] Error 1
  LINK    aarch64-linux-user/qemu-aarch64
make: *** [subdir-s390x-softmmu] Error 2
make: *** [subdir-aarch64-softmmu] Error 2
make: *** [subdir-arm-softmmu] Error 2
  LINK    mipsel-linux-user/qemu-mipsel
  LINK    x86_64-linux-user/qemu-x86_64
  LINK    aarch64_be-linux-user/qemu-aarch64_be
  LINK    arm-linux-user/qemu-arm
  LINK    mips64-linux-user/qemu-mips64
  LINK    i386-linux-user/qemu-i386
  LINK    armeb-linux-user/qemu-armeb
  LINK    mips64el-linux-user/qemu-mips64el
  LINK    mips-linux-user/qemu-mips
  LINK    mipsn32-linux-user/qemu-mipsn32
  LINK    mipsn32el-linux-user/qemu-mipsn32el
  LINK    ppc-linux-user/qemu-ppc
  LINK    ppc64abi32-linux-user/qemu-ppc64abi32
  LINK    ppc64-linux-user/qemu-ppc64
  LINK    ppc64le-linux-user/qemu-ppc64le
=== OUTPUT END ===

Test command exited with code: 2


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (35 preceding siblings ...)
  2018-02-06 21:55 ` no-reply
@ 2018-02-06 21:56 ` no-reply
  2018-02-06 22:10 ` no-reply
                   ` (2 subsequent siblings)
  39 siblings, 0 replies; 75+ messages in thread
From: no-reply @ 2018-02-06 21:56 UTC (permalink / raw)
  To: rkagan
  Cc: famz, qemu-devel, ben, konrad.wilk, krish.sadhukhan,
	Marcos.Matsunaga, jan.dakinevich, vrozenfe, den, si-wei.liu,
	pbonzini, vkuznets, cavery

Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20180206203048.11096-1-rkagan@virtuozzo.com
Subject: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
98adc64f2b hv-net: define default rom file name
32dd25dfe6 vmbus: add support for rom files
983ba13ed2 loader: allow arbitrary basename for fw_cfg file roms
3e4e616672 hv-net: add .bootindex support
9b49f45b61 net: add Hyper-V/VMBus net adapter
8b3b6a7831 net: add Hyper-V/VMBus network protocol definitions
932a14d315 net: add RNDIS definitions
58ff5f3675 tests: hv-scsi: add start-stop test
f81c7ad4b7 hv-scsi: limit the number of requests per notification
62d0ac72b5 scsi: add Hyper-V/VMBus SCSI controller
438b47b468 scsi: add Hyper-V/VMBus SCSI protocol definitions
4baa88ac14 i386: en/disable vmbus by a machine property
7e9adc9af7 i386: Hyper-V VMBus ACPI DSDT entry
1c19b65fab vmbus: build configuration
4471f1afca vmbus: vmbus implementation
6aff6ba275 vmbus: add vmbus protocol definitions
601a95fc0a hyperv: add support for KVM_HYPERV_EVENTFD
9ec270a97e import HYPERV_EVENTFD stuff from kernel
cbfeb5e77c hyperv: update copyright notices
77d9e62db5 hyperv_testdev: add SynIC message and event testmodes
6bf86c8237 hyperv: process POST_MESSAGE hypercall
52d482a30c hyperv: process SIGNAL_EVENT hypercall
be4ed13446 hyperv: add synic event flag signaling
58a94ec55e hyperv: add synic message delivery
921fcaab97 hyperv: make overlay pages for SynIC
8540e6cff0 hyperv: block SynIC use in QEMU in incompatible configurations
0a8a729b0b hyperv: qom-ify SynIC
1f9fba8cb0 hyperv: make HvSintRoute reference-counted
4d649ce401 hyperv: address HvSintRoute by X86CPU pointer
96cc3d2e21 hyperv: allow passing arbitrary data to sint ack callback
93ceab6b34 hyperv: synic: only setup ack notifier if there's a callback
fa7482c5ff hyperv: cosmetic: g_malloc -> g_new
63d46e7b96 hyperv_testdev: refactor for readability
ff514f8890 hyperv: ensure VP index equal to QEMU cpu_index

=== OUTPUT BEGIN ===
Checking PATCH 1/34: hyperv: ensure VP index equal to QEMU cpu_index...
Checking PATCH 2/34: hyperv_testdev: refactor for readability...
Checking PATCH 3/34: hyperv: cosmetic: g_malloc -> g_new...
Checking PATCH 4/34: hyperv: synic: only setup ack notifier if there's a callback...
Checking PATCH 5/34: hyperv: allow passing arbitrary data to sint ack callback...
Checking PATCH 6/34: hyperv: address HvSintRoute by X86CPU pointer...
Checking PATCH 7/34: hyperv: make HvSintRoute reference-counted...
Checking PATCH 8/34: hyperv: qom-ify SynIC...
Checking PATCH 9/34: hyperv: block SynIC use in QEMU in incompatible configurations...
Checking PATCH 10/34: hyperv: make overlay pages for SynIC...
Checking PATCH 11/34: hyperv: add synic message delivery...
Checking PATCH 12/34: hyperv: add synic event flag signaling...
Checking PATCH 13/34: hyperv: process SIGNAL_EVENT hypercall...
Checking PATCH 14/34: hyperv: process POST_MESSAGE hypercall...
Checking PATCH 15/34: hyperv_testdev: add SynIC message and event testmodes...
Checking PATCH 16/34: hyperv: update copyright notices...
Checking PATCH 17/34: import HYPERV_EVENTFD stuff from kernel...
Checking PATCH 18/34: hyperv: add support for KVM_HYPERV_EVENTFD...
Checking PATCH 19/34: vmbus: add vmbus protocol definitions...
ERROR: do not use C99 // comments
#133: FILE: include/hw/vmbus/vmbus-proto.h:114:
+    uint8_t  monitor_flags;      // VMBUS_OFFER_MONITOR_*

ERROR: do not use C99 // comments
#134: FILE: include/hw/vmbus/vmbus-proto.h:115:
+    uint16_t interrupt_flags;    // VMBUS_OFFER_INTERRUPT_*

ERROR: do not use C99 // comments
#211: FILE: include/hw/vmbus/vmbus-proto.h:192:
+    uint32_t feature_bits;     // VMBUS_RING_BUFFER_FEAT_*

total: 3 errors, 0 warnings, 222 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 20/34: vmbus: vmbus implementation...
ERROR: open brace '{' following struct go on the same line
#91: FILE: hw/vmbus/vmbus.c:32:
+typedef struct VMBusGpadl
+{

ERROR: open brace '{' following struct go on the same line
#130: FILE: hw/vmbus/vmbus.c:71:
+typedef struct VMBusChannel
+{

ERROR: open brace '{' following struct go on the same line
#171: FILE: hw/vmbus/vmbus.c:112:
+typedef struct VMBus
+{

ERROR: memory barrier without comment
#566: FILE: hw/vmbus/vmbus.c:507:
+    smp_mb();

ERROR: memory barrier without comment
#627: FILE: hw/vmbus/vmbus.c:568:
+    smp_mb();

ERROR: "(foo*)" should be "(foo *)"
#1468: FILE: hw/vmbus/vmbus.c:1409:
+    vmbus_msg = (struct vmbus_message_header*)msg->payload;

ERROR: "(foo*)" should be "(foo *)"
#1957: FILE: hw/vmbus/vmbus.c:1898:
+    msg = (struct vmbus_message_header*)msgdata;

ERROR: space required before the open parenthesis '('
#2009: FILE: hw/vmbus/vmbus.c:1950:
+    switch(vmbus->state) {

WARNING: line over 80 characters
#2246: FILE: hw/vmbus/vmbus.c:2187:
+        VMSTATE_STRUCT_VARRAY_POINTER_UINT16(channels, VMBusDevice, num_channels,

ERROR: spaces required around that '*' (ctx:VxV)
#2441: FILE: hw/vmbus/vmbus.c:2382:
+    .subsections = (const VMStateDescription*[]) {
                                             ^

ERROR: do not use C99 // comments
#2485: FILE: hw/vmbus/vmbus.c:2426:
+    // return qdev_find_recursive(sysbus_get_default(), TYPE_VMBUS_BRIDGE);

total: 10 errors, 1 warnings, 2558 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 21/34: vmbus: build configuration...
Checking PATCH 22/34: i386: Hyper-V VMBus ACPI DSDT entry...
Checking PATCH 23/34: i386: en/disable vmbus by a machine property...
Checking PATCH 24/34: scsi: add Hyper-V/VMBus SCSI protocol definitions...
WARNING: line over 80 characters
#81: FILE: hw/scsi/hvscsi-proto.h:61:
+#define HV_SRB_FLAGS_UNSPECIFIED_DIRECTION      (SRB_FLAGS_DATA_IN | SRB_FLAGS_DATA_OUT)

ERROR: do not use C99 // comments
#157: FILE: hw/scsi/hvscsi-proto.h:137:
+    uint32_t flags;             // HV_STOR_FLAG_* */

total: 1 errors, 1 warnings, 150 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 25/34: scsi: add Hyper-V/VMBus SCSI controller...
ERROR: open brace '{' following struct go on the same line
#71: FILE: hw/scsi/hv-scsi.c:42:
+typedef struct HvScsiReq
+{

ERROR: initializer for struct SCSIBusInfo should normally be const
#175: FILE: hw/scsi/hv-scsi.c:146:
+static struct SCSIBusInfo hv_scsi_info = {

total: 2 errors, 0 warnings, 412 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 26/34: hv-scsi: limit the number of requests per notification...
Checking PATCH 27/34: tests: hv-scsi: add start-stop test...
Checking PATCH 28/34: net: add RNDIS definitions...
ERROR: code indent should never use tabs
#26: FILE: hw/net/rndis.h:7:
+#define RNDIS_MAJOR_VERSION^I^I0x00000001$

ERROR: code indent should never use tabs
#27: FILE: hw/net/rndis.h:8:
+#define RNDIS_MINOR_VERSION^I^I0x00000000$

ERROR: code indent should never use tabs
#30: FILE: hw/net/rndis.h:11:
+#define RNDIS_DF_CONNECTIONLESS^I^I0x00000001U$

ERROR: code indent should never use tabs
#31: FILE: hw/net/rndis.h:12:
+#define RNDIS_DF_CONNECTION_ORIENTED^I0x00000002U$

ERROR: code indent should never use tabs
#32: FILE: hw/net/rndis.h:13:
+#define RNDIS_DF_RAW_DATA^I^I0x00000004U$

ERROR: code indent should never use tabs
#39: FILE: hw/net/rndis.h:20:
+#define RNDIS_MSG_COMPLETION^I0x80000000$

ERROR: code indent should never use tabs
#40: FILE: hw/net/rndis.h:21:
+#define RNDIS_MSG_PACKET^I0x00000001^I/* 1-N packets */$

ERROR: code indent should never use tabs
#41: FILE: hw/net/rndis.h:22:
+#define RNDIS_MSG_INIT^I^I0x00000002$

ERROR: code indent should never use tabs
#42: FILE: hw/net/rndis.h:23:
+#define RNDIS_MSG_INIT_C^I(RNDIS_MSG_INIT|RNDIS_MSG_COMPLETION)$

ERROR: spaces required around that '|' (ctx:VxV)
#42: FILE: hw/net/rndis.h:23:
+#define RNDIS_MSG_INIT_C	(RNDIS_MSG_INIT|RNDIS_MSG_COMPLETION)
                         	               ^

ERROR: code indent should never use tabs
#43: FILE: hw/net/rndis.h:24:
+#define RNDIS_MSG_HALT^I^I0x00000003$

ERROR: code indent should never use tabs
#44: FILE: hw/net/rndis.h:25:
+#define RNDIS_MSG_QUERY^I^I0x00000004$

ERROR: code indent should never use tabs
#45: FILE: hw/net/rndis.h:26:
+#define RNDIS_MSG_QUERY_C^I(RNDIS_MSG_QUERY|RNDIS_MSG_COMPLETION)$

ERROR: spaces required around that '|' (ctx:VxV)
#45: FILE: hw/net/rndis.h:26:
+#define RNDIS_MSG_QUERY_C	(RNDIS_MSG_QUERY|RNDIS_MSG_COMPLETION)
                          	                ^

ERROR: code indent should never use tabs
#46: FILE: hw/net/rndis.h:27:
+#define RNDIS_MSG_SET^I^I0x00000005$

ERROR: code indent should never use tabs
#47: FILE: hw/net/rndis.h:28:
+#define RNDIS_MSG_SET_C^I^I(RNDIS_MSG_SET|RNDIS_MSG_COMPLETION)$

ERROR: spaces required around that '|' (ctx:VxV)
#47: FILE: hw/net/rndis.h:28:
+#define RNDIS_MSG_SET_C		(RNDIS_MSG_SET|RNDIS_MSG_COMPLETION)
                        		              ^

ERROR: code indent should never use tabs
#48: FILE: hw/net/rndis.h:29:
+#define RNDIS_MSG_RESET^I^I0x00000006$

ERROR: code indent should never use tabs
#49: FILE: hw/net/rndis.h:30:
+#define RNDIS_MSG_RESET_C^I(RNDIS_MSG_RESET|RNDIS_MSG_COMPLETION)$

ERROR: spaces required around that '|' (ctx:VxV)
#49: FILE: hw/net/rndis.h:30:
+#define RNDIS_MSG_RESET_C	(RNDIS_MSG_RESET|RNDIS_MSG_COMPLETION)
                          	                ^

ERROR: code indent should never use tabs
#50: FILE: hw/net/rndis.h:31:
+#define RNDIS_MSG_INDICATE^I0x00000007$

ERROR: code indent should never use tabs
#51: FILE: hw/net/rndis.h:32:
+#define RNDIS_MSG_KEEPALIVE^I0x00000008$

ERROR: code indent should never use tabs
#52: FILE: hw/net/rndis.h:33:
+#define RNDIS_MSG_KEEPALIVE_C^I(RNDIS_MSG_KEEPALIVE|RNDIS_MSG_COMPLETION)$

ERROR: spaces required around that '|' (ctx:VxV)
#52: FILE: hw/net/rndis.h:33:
+#define RNDIS_MSG_KEEPALIVE_C	(RNDIS_MSG_KEEPALIVE|RNDIS_MSG_COMPLETION)
                              	                    ^

ERROR: code indent should never use tabs
#57: FILE: hw/net/rndis.h:38:
+#define RNDIS_MSG_BUS^I^I0xff000001$

ERROR: code indent should never use tabs
#60: FILE: hw/net/rndis.h:41:
+#define^IRNDIS_STATUS_SUCCESS^I^I^I0x00000000$

ERROR: code indent should never use tabs
#61: FILE: hw/net/rndis.h:42:
+#define RNDIS_STATUS_PENDING^I^I^I0x00000103$

ERROR: code indent should never use tabs
#64: FILE: hw/net/rndis.h:45:
+#define RNDIS_STATUS_NOT_RECOGNIZED^I^I0x00010001$

ERROR: code indent should never use tabs
#65: FILE: hw/net/rndis.h:46:
+#define RNDIS_STATUS_NOT_COPIED^I^I^I0x00010002$

ERROR: code indent should never use tabs
#66: FILE: hw/net/rndis.h:47:
+#define RNDIS_STATUS_NOT_ACCEPTED^I^I0x00010003$

ERROR: code indent should never use tabs
#67: FILE: hw/net/rndis.h:48:
+#define RNDIS_STATUS_CALL_ACTIVE^I^I0x00010007$

ERROR: code indent should never use tabs
#69: FILE: hw/net/rndis.h:50:
+#define RNDIS_STATUS_ONLINE^I^I^I0x40010003$

ERROR: code indent should never use tabs
#70: FILE: hw/net/rndis.h:51:
+#define RNDIS_STATUS_RESET_START^I^I0x40010004$

ERROR: code indent should never use tabs
#71: FILE: hw/net/rndis.h:52:
+#define RNDIS_STATUS_RESET_END^I^I^I0x40010005$

ERROR: code indent should never use tabs
#72: FILE: hw/net/rndis.h:53:
+#define RNDIS_STATUS_RING_STATUS^I^I0x40010006$

ERROR: code indent should never use tabs
#73: FILE: hw/net/rndis.h:54:
+#define RNDIS_STATUS_CLOSED^I^I^I0x40010007$

ERROR: code indent should never use tabs
#74: FILE: hw/net/rndis.h:55:
+#define RNDIS_STATUS_WAN_LINE_UP^I^I0x40010008$

ERROR: code indent should never use tabs
#75: FILE: hw/net/rndis.h:56:
+#define RNDIS_STATUS_WAN_LINE_DOWN^I^I0x40010009$

ERROR: code indent should never use tabs
#76: FILE: hw/net/rndis.h:57:
+#define RNDIS_STATUS_WAN_FRAGMENT^I^I0x4001000A$

ERROR: code indent should never use tabs
#77: FILE: hw/net/rndis.h:58:
+#define^IRNDIS_STATUS_MEDIA_CONNECT^I^I0x4001000B$

ERROR: code indent should never use tabs
#78: FILE: hw/net/rndis.h:59:
+#define^IRNDIS_STATUS_MEDIA_DISCONNECT^I^I0x4001000C$

ERROR: code indent should never use tabs
#79: FILE: hw/net/rndis.h:60:
+#define RNDIS_STATUS_HARDWARE_LINE_UP^I^I0x4001000D$

ERROR: code indent should never use tabs
#80: FILE: hw/net/rndis.h:61:
+#define RNDIS_STATUS_HARDWARE_LINE_DOWN^I^I0x4001000E$

ERROR: code indent should never use tabs
#81: FILE: hw/net/rndis.h:62:
+#define RNDIS_STATUS_INTERFACE_UP^I^I0x4001000F$

ERROR: code indent should never use tabs
#82: FILE: hw/net/rndis.h:63:
+#define RNDIS_STATUS_INTERFACE_DOWN^I^I0x40010010$

ERROR: code indent should never use tabs
#83: FILE: hw/net/rndis.h:64:
+#define RNDIS_STATUS_MEDIA_BUSY^I^I^I0x40010011$

ERROR: code indent should never use tabs
#84: FILE: hw/net/rndis.h:65:
+#define^IRNDIS_STATUS_MEDIA_SPECIFIC_INDICATION^I0x40010012$

ERROR: code indent should never use tabs
#85: FILE: hw/net/rndis.h:66:
+#define RNDIS_STATUS_WW_INDICATION^I^IRDIA_SPECIFIC_INDICATION$

ERROR: code indent should never use tabs
#86: FILE: hw/net/rndis.h:67:
+#define RNDIS_STATUS_LINK_SPEED_CHANGE^I^I0x40010013L$

ERROR: code indent should never use tabs
#87: FILE: hw/net/rndis.h:68:
+#define RNDIS_STATUS_NETWORK_CHANGE^I^I0x40010018$

ERROR: code indent should never use tabs
#89: FILE: hw/net/rndis.h:70:
+#define RNDIS_STATUS_NOT_RESETTABLE^I^I0x80010001$

ERROR: code indent should never use tabs
#90: FILE: hw/net/rndis.h:71:
+#define RNDIS_STATUS_SOFT_ERRORS^I^I0x80010003$

ERROR: code indent should never use tabs
#91: FILE: hw/net/rndis.h:72:
+#define RNDIS_STATUS_HARD_ERRORS^I^I0x80010004$

ERROR: code indent should never use tabs
#92: FILE: hw/net/rndis.h:73:
+#define RNDIS_STATUS_BUFFER_OVERFLOW^I^I0x80000005$

ERROR: code indent should never use tabs
#94: FILE: hw/net/rndis.h:75:
+#define^IRNDIS_STATUS_FAILURE^I^I^I0xC0000001$

ERROR: code indent should never use tabs
#95: FILE: hw/net/rndis.h:76:
+#define RNDIS_STATUS_RESOURCES^I^I^I0xC000009A$

ERROR: code indent should never use tabs
#96: FILE: hw/net/rndis.h:77:
+#define^IRNDIS_STATUS_NOT_SUPPORTED^I^I0xc00000BB$

ERROR: code indent should never use tabs
#97: FILE: hw/net/rndis.h:78:
+#define RNDIS_STATUS_CLOSING^I^I^I0xC0010002$

ERROR: code indent should never use tabs
#98: FILE: hw/net/rndis.h:79:
+#define RNDIS_STATUS_BAD_VERSION^I^I0xC0010004$

ERROR: code indent should never use tabs
#99: FILE: hw/net/rndis.h:80:
+#define RNDIS_STATUS_BAD_CHARACTERISTICS^I0xC0010005$

ERROR: code indent should never use tabs
#100: FILE: hw/net/rndis.h:81:
+#define RNDIS_STATUS_ADAPTER_NOT_FOUND^I^I0xC0010006$

ERROR: code indent should never use tabs
#101: FILE: hw/net/rndis.h:82:
+#define RNDIS_STATUS_OPEN_FAILED^I^I0xC0010007$

ERROR: code indent should never use tabs
#102: FILE: hw/net/rndis.h:83:
+#define RNDIS_STATUS_DEVICE_FAILED^I^I0xC0010008$

ERROR: code indent should never use tabs
#103: FILE: hw/net/rndis.h:84:
+#define RNDIS_STATUS_MULTICAST_FULL^I^I0xC0010009$

ERROR: code indent should never use tabs
#104: FILE: hw/net/rndis.h:85:
+#define RNDIS_STATUS_MULTICAST_EXISTS^I^I0xC001000A$

ERROR: code indent should never use tabs
#105: FILE: hw/net/rndis.h:86:
+#define RNDIS_STATUS_MULTICAST_NOT_FOUND^I0xC001000B$

ERROR: code indent should never use tabs
#106: FILE: hw/net/rndis.h:87:
+#define RNDIS_STATUS_REQUEST_ABORTED^I^I0xC001000C$

ERROR: code indent should never use tabs
#107: FILE: hw/net/rndis.h:88:
+#define RNDIS_STATUS_RESET_IN_PROGRESS^I^I0xC001000D$

ERROR: code indent should never use tabs
#108: FILE: hw/net/rndis.h:89:
+#define RNDIS_STATUS_CLOSING_INDICATING^I^I0xC001000E$

ERROR: code indent should never use tabs
#109: FILE: hw/net/rndis.h:90:
+#define RNDIS_STATUS_INVALID_PACKET^I^I0xC001000F$

ERROR: code indent should never use tabs
#110: FILE: hw/net/rndis.h:91:
+#define RNDIS_STATUS_OPEN_LIST_FULL^I^I0xC0010010$

ERROR: code indent should never use tabs
#111: FILE: hw/net/rndis.h:92:
+#define RNDIS_STATUS_ADAPTER_NOT_READY^I^I0xC0010011$

ERROR: code indent should never use tabs
#112: FILE: hw/net/rndis.h:93:
+#define RNDIS_STATUS_ADAPTER_NOT_OPEN^I^I0xC0010012$

ERROR: code indent should never use tabs
#113: FILE: hw/net/rndis.h:94:
+#define RNDIS_STATUS_NOT_INDICATING^I^I0xC0010013$

ERROR: code indent should never use tabs
#114: FILE: hw/net/rndis.h:95:
+#define RNDIS_STATUS_INVALID_LENGTH^I^I0xC0010014$

ERROR: code indent should never use tabs
#115: FILE: hw/net/rndis.h:96:
+#define^IRNDIS_STATUS_INVALID_DATA^I^I0xC0010015$

ERROR: code indent should never use tabs
#116: FILE: hw/net/rndis.h:97:
+#define RNDIS_STATUS_BUFFER_TOO_SHORT^I^I0xC0010016$

ERROR: code indent should never use tabs
#117: FILE: hw/net/rndis.h:98:
+#define RNDIS_STATUS_INVALID_OID^I^I0xC0010017$

ERROR: code indent should never use tabs
#118: FILE: hw/net/rndis.h:99:
+#define RNDIS_STATUS_ADAPTER_REMOVED^I^I0xC0010018$

ERROR: code indent should never use tabs
#119: FILE: hw/net/rndis.h:100:
+#define RNDIS_STATUS_UNSUPPORTED_MEDIA^I^I0xC0010019$

ERROR: code indent should never use tabs
#120: FILE: hw/net/rndis.h:101:
+#define RNDIS_STATUS_GROUP_ADDRESS_IN_USE^I0xC001001A$

ERROR: code indent should never use tabs
#121: FILE: hw/net/rndis.h:102:
+#define RNDIS_STATUS_FILE_NOT_FOUND^I^I0xC001001B$

ERROR: code indent should never use tabs
#122: FILE: hw/net/rndis.h:103:
+#define RNDIS_STATUS_ERROR_READING_FILE^I^I0xC001001C$

ERROR: code indent should never use tabs
#123: FILE: hw/net/rndis.h:104:
+#define RNDIS_STATUS_ALREADY_MAPPED^I^I0xC001001D$

ERROR: code indent should never use tabs
#124: FILE: hw/net/rndis.h:105:
+#define RNDIS_STATUS_RESOURCE_CONFLICT^I^I0xC001001E$

ERROR: code indent should never use tabs
#125: FILE: hw/net/rndis.h:106:
+#define RNDIS_STATUS_NO_CABLE^I^I^I0xC001001F$

ERROR: code indent should never use tabs
#127: FILE: hw/net/rndis.h:108:
+#define RNDIS_STATUS_INVALID_SAP^I^I0xC0010020$

ERROR: code indent should never use tabs
#128: FILE: hw/net/rndis.h:109:
+#define RNDIS_STATUS_SAP_IN_USE^I^I^I0xC0010021$

ERROR: code indent should never use tabs
#129: FILE: hw/net/rndis.h:110:
+#define RNDIS_STATUS_INVALID_ADDRESS^I^I0xC0010022$

ERROR: code indent should never use tabs
#130: FILE: hw/net/rndis.h:111:
+#define RNDIS_STATUS_VC_NOT_ACTIVATED^I^I0xC0010023$

ERROR: code indent should never use tabs
#131: FILE: hw/net/rndis.h:112:
+#define RNDIS_STATUS_DEST_OUT_OF_ORDER^I^I0xC0010024$

ERROR: code indent should never use tabs
#132: FILE: hw/net/rndis.h:113:
+#define RNDIS_STATUS_VC_NOT_AVAILABLE^I^I0xC0010025$

ERROR: code indent should never use tabs
#133: FILE: hw/net/rndis.h:114:
+#define RNDIS_STATUS_CELLRATE_NOT_AVAILABLE^I0xC0010026$

ERROR: code indent should never use tabs
#134: FILE: hw/net/rndis.h:115:
+#define RNDIS_STATUS_INCOMPATABLE_QOS^I^I0xC0010027$

ERROR: code indent should never use tabs
#135: FILE: hw/net/rndis.h:116:
+#define RNDIS_STATUS_AAL_PARAMS_UNSUPPORTED^I0xC0010028$

ERROR: code indent should never use tabs
#136: FILE: hw/net/rndis.h:117:
+#define RNDIS_STATUS_NO_ROUTE_TO_DESTINATION^I0xC0010029$

ERROR: code indent should never use tabs
#138: FILE: hw/net/rndis.h:119:
+#define RNDIS_STATUS_TOKEN_RING_OPEN_ERROR^I0xC0011000$

ERROR: code indent should never use tabs
#141: FILE: hw/net/rndis.h:122:
+#define^IRNDIS_PHYSICAL_MEDIUM_UNSPECIFIED^I0x00000000$

ERROR: code indent should never use tabs
#142: FILE: hw/net/rndis.h:123:
+#define^IRNDIS_PHYSICAL_MEDIUM_WIRELESS_LAN^I0x00000001$

ERROR: code indent should never use tabs
#143: FILE: hw/net/rndis.h:124:
+#define^IRNDIS_PHYSICAL_MEDIUM_CABLE_MODEM^I0x00000002$

ERROR: code indent should never use tabs
#144: FILE: hw/net/rndis.h:125:
+#define^IRNDIS_PHYSICAL_MEDIUM_PHONE_LINE^I0x00000003$

ERROR: code indent should never use tabs
#145: FILE: hw/net/rndis.h:126:
+#define^IRNDIS_PHYSICAL_MEDIUM_POWER_LINE^I0x00000004$

ERROR: code indent should never use tabs
#146: FILE: hw/net/rndis.h:127:
+#define^IRNDIS_PHYSICAL_MEDIUM_DSL^I^I0x00000005$

ERROR: code indent should never use tabs
#147: FILE: hw/net/rndis.h:128:
+#define^IRNDIS_PHYSICAL_MEDIUM_FIBRE_CHANNEL^I0x00000006$

ERROR: code indent should never use tabs
#148: FILE: hw/net/rndis.h:129:
+#define^IRNDIS_PHYSICAL_MEDIUM_1394^I^I0x00000007$

ERROR: code indent should never use tabs
#149: FILE: hw/net/rndis.h:130:
+#define^IRNDIS_PHYSICAL_MEDIUM_WIRELESS_WAN^I0x00000008$

ERROR: code indent should never use tabs
#150: FILE: hw/net/rndis.h:131:
+#define^IRNDIS_PHYSICAL_MEDIUM_MAX^I^I0x00000009$

ERROR: code indent should never use tabs
#153: FILE: hw/net/rndis.h:134:
+#define RNDIS_MEDIUM_UNSPECIFIED^I^I0x00000000$

ERROR: code indent should never use tabs
#154: FILE: hw/net/rndis.h:135:
+#define RNDIS_MEDIUM_802_3^I^I^I0x00000000$

ERROR: code indent should never use tabs
#155: FILE: hw/net/rndis.h:136:
+#define RNDIS_MEDIUM_802_5^I^I^I0x00000001$

ERROR: code indent should never use tabs
#156: FILE: hw/net/rndis.h:137:
+#define RNDIS_MEDIUM_FDDI^I^I^I0x00000002$

ERROR: code indent should never use tabs
#157: FILE: hw/net/rndis.h:138:
+#define RNDIS_MEDIUM_WAN^I^I^I0x00000003$

ERROR: code indent should never use tabs
#158: FILE: hw/net/rndis.h:139:
+#define RNDIS_MEDIUM_LOCAL_TALK^I^I^I0x00000004$

ERROR: code indent should never use tabs
#159: FILE: hw/net/rndis.h:140:
+#define RNDIS_MEDIUM_ARCNET_RAW^I^I^I0x00000006$

ERROR: code indent should never use tabs
#160: FILE: hw/net/rndis.h:141:
+#define RNDIS_MEDIUM_ARCNET_878_2^I^I0x00000007$

ERROR: code indent should never use tabs
#161: FILE: hw/net/rndis.h:142:
+#define RNDIS_MEDIUM_ATM^I^I^I0x00000008$

ERROR: code indent should never use tabs
#162: FILE: hw/net/rndis.h:143:
+#define RNDIS_MEDIUM_WIRELESS_LAN^I^I0x00000009$

ERROR: code indent should never use tabs
#163: FILE: hw/net/rndis.h:144:
+#define RNDIS_MEDIUM_IRDA^I^I^I0x0000000A$

ERROR: code indent should never use tabs
#164: FILE: hw/net/rndis.h:145:
+#define RNDIS_MEDIUM_BPC^I^I^I0x0000000B$

ERROR: code indent should never use tabs
#165: FILE: hw/net/rndis.h:146:
+#define RNDIS_MEDIUM_CO_WAN^I^I^I0x0000000C$

ERROR: code indent should never use tabs
#166: FILE: hw/net/rndis.h:147:
+#define RNDIS_MEDIUM_1394^I^I^I0x0000000D$

ERROR: code indent should never use tabs
#168: FILE: hw/net/rndis.h:149:
+#define RNDIS_MEDIUM_MAX^I^I^I0x0000000E$

ERROR: code indent should never use tabs
#171: FILE: hw/net/rndis.h:152:
+#define RNDIS_MEDIA_STATE_CONNECTED^I^I0x00000000$

ERROR: code indent should never use tabs
#172: FILE: hw/net/rndis.h:153:
+#define RNDIS_MEDIA_STATE_DISCONNECTED^I^I0x00000001$

ERROR: code indent should never use tabs
#175: FILE: hw/net/rndis.h:156:
+#define RNDIS_PACKET_TYPE_DIRECTED^I^I0x00000001$

ERROR: code indent should never use tabs
#176: FILE: hw/net/rndis.h:157:
+#define RNDIS_PACKET_TYPE_MULTICAST^I^I0x00000002$

ERROR: code indent should never use tabs
#177: FILE: hw/net/rndis.h:158:
+#define RNDIS_PACKET_TYPE_ALL_MULTICAST^I^I0x00000004$

ERROR: code indent should never use tabs
#178: FILE: hw/net/rndis.h:159:
+#define RNDIS_PACKET_TYPE_BROADCAST^I^I0x00000008$

ERROR: code indent should never use tabs
#179: FILE: hw/net/rndis.h:160:
+#define RNDIS_PACKET_TYPE_SOURCE_ROUTING^I0x00000010$

ERROR: code indent should never use tabs
#180: FILE: hw/net/rndis.h:161:
+#define RNDIS_PACKET_TYPE_PROMISCUOUS^I^I0x00000020$

ERROR: code indent should never use tabs
#181: FILE: hw/net/rndis.h:162:
+#define RNDIS_PACKET_TYPE_SMT^I^I^I0x00000040$

ERROR: code indent should never use tabs
#182: FILE: hw/net/rndis.h:163:
+#define RNDIS_PACKET_TYPE_ALL_LOCAL^I^I0x00000080$

ERROR: code indent should never use tabs
#183: FILE: hw/net/rndis.h:164:
+#define RNDIS_PACKET_TYPE_GROUP^I^I^I0x00001000$

ERROR: code indent should never use tabs
#184: FILE: hw/net/rndis.h:165:
+#define RNDIS_PACKET_TYPE_ALL_FUNCTIONAL^I0x00002000$

ERROR: code indent should never use tabs
#185: FILE: hw/net/rndis.h:166:
+#define RNDIS_PACKET_TYPE_FUNCTIONAL^I^I0x00004000$

ERROR: code indent should never use tabs
#186: FILE: hw/net/rndis.h:167:
+#define RNDIS_PACKET_TYPE_MAC_FRAME^I^I0x00008000$

ERROR: code indent should never use tabs
#189: FILE: hw/net/rndis.h:170:
+#define RNDIS_MINIPORT_BUS_MASTER^I^I^I0x00000001$

ERROR: code indent should never use tabs
#190: FILE: hw/net/rndis.h:171:
+#define RNDIS_MINIPORT_WDM_DRIVER^I^I^I0x00000002$

ERROR: code indent should never use tabs
#191: FILE: hw/net/rndis.h:172:
+#define RNDIS_MINIPORT_SG_LIST^I^I^I^I0x00000004$

ERROR: code indent should never use tabs
#192: FILE: hw/net/rndis.h:173:
+#define RNDIS_MINIPORT_SUPPORTS_MEDIA_QUERY^I^I0x00000008$

ERROR: code indent should never use tabs
#193: FILE: hw/net/rndis.h:174:
+#define RNDIS_MINIPORT_INDICATES_PACKETS^I^I0x00000010$

ERROR: code indent should never use tabs
#194: FILE: hw/net/rndis.h:175:
+#define RNDIS_MINIPORT_IGNORE_PACKET_QUEUE^I^I0x00000020$

ERROR: code indent should never use tabs
#195: FILE: hw/net/rndis.h:176:
+#define RNDIS_MINIPORT_IGNORE_REQUEST_QUEUE^I^I0x00000040$

ERROR: code indent should never use tabs
#196: FILE: hw/net/rndis.h:177:
+#define RNDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS^I^I0x00000080$

ERROR: code indent should never use tabs
#197: FILE: hw/net/rndis.h:178:
+#define RNDIS_MINIPORT_INTERMEDIATE_DRIVER^I^I0x00000100$

ERROR: code indent should never use tabs
#198: FILE: hw/net/rndis.h:179:
+#define RNDIS_MINIPORT_IS_NDIS_5^I^I^I0x00000200$

ERROR: code indent should never use tabs
#199: FILE: hw/net/rndis.h:180:
+#define RNDIS_MINIPORT_IS_CO^I^I^I^I0x00000400$

ERROR: code indent should never use tabs
#200: FILE: hw/net/rndis.h:181:
+#define RNDIS_MINIPORT_DESERIALIZE^I^I^I0x00000800$

ERROR: code indent should never use tabs
#201: FILE: hw/net/rndis.h:182:
+#define RNDIS_MINIPORT_REQUIRES_MEDIA_POLLING^I^I0x00001000$

ERROR: code indent should never use tabs
#202: FILE: hw/net/rndis.h:183:
+#define RNDIS_MINIPORT_SUPPORTS_MEDIA_SENSE^I^I0x00002000$

ERROR: code indent should never use tabs
#203: FILE: hw/net/rndis.h:184:
+#define RNDIS_MINIPORT_NETBOOT_CARD^I^I^I0x00004000$

ERROR: code indent should never use tabs
#204: FILE: hw/net/rndis.h:185:
+#define RNDIS_MINIPORT_PM_SUPPORTED^I^I^I0x00008000$

ERROR: code indent should never use tabs
#205: FILE: hw/net/rndis.h:186:
+#define RNDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE^I0x00010000$

ERROR: code indent should never use tabs
#206: FILE: hw/net/rndis.h:187:
+#define RNDIS_MINIPORT_USES_SAFE_BUFFER_APIS^I^I0x00020000$

ERROR: code indent should never use tabs
#207: FILE: hw/net/rndis.h:188:
+#define RNDIS_MINIPORT_HIDDEN^I^I^I^I0x00040000$

ERROR: code indent should never use tabs
#208: FILE: hw/net/rndis.h:189:
+#define RNDIS_MINIPORT_SWENUM^I^I^I^I0x00080000$

ERROR: code indent should never use tabs
#209: FILE: hw/net/rndis.h:190:
+#define RNDIS_MINIPORT_SURPRISE_REMOVE_OK^I^I0x00100000$

ERROR: code indent should never use tabs
#210: FILE: hw/net/rndis.h:191:
+#define RNDIS_MINIPORT_NO_HALT_ON_SUSPEND^I^I0x00200000$

ERROR: code indent should never use tabs
#211: FILE: hw/net/rndis.h:192:
+#define RNDIS_MINIPORT_HARDWARE_DEVICE^I^I^I0x00400000$

ERROR: code indent should never use tabs
#212: FILE: hw/net/rndis.h:193:
+#define RNDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS^I0x00800000$

ERROR: code indent should never use tabs
#213: FILE: hw/net/rndis.h:194:
+#define RNDIS_MINIPORT_64BITS_DMA^I^I^I0x01000000$

ERROR: code indent should never use tabs
#215: FILE: hw/net/rndis.h:196:
+#define RNDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA^I^I0x00000001$

ERROR: code indent should never use tabs
#216: FILE: hw/net/rndis.h:197:
+#define RNDIS_MAC_OPTION_RECEIVE_SERIALIZED^I^I0x00000002$

ERROR: code indent should never use tabs
#217: FILE: hw/net/rndis.h:198:
+#define RNDIS_MAC_OPTION_TRANSFERS_NOT_PEND^I^I0x00000004$

ERROR: code indent should never use tabs
#218: FILE: hw/net/rndis.h:199:
+#define RNDIS_MAC_OPTION_NO_LOOPBACK^I^I^I0x00000008$

ERROR: code indent should never use tabs
#219: FILE: hw/net/rndis.h:200:
+#define RNDIS_MAC_OPTION_FULL_DUPLEX^I^I^I0x00000010$

ERROR: code indent should never use tabs
#220: FILE: hw/net/rndis.h:201:
+#define RNDIS_MAC_OPTION_EOTX_INDICATION^I^I0x00000020$

ERROR: code indent should never use tabs
#221: FILE: hw/net/rndis.h:202:
+#define RNDIS_MAC_OPTION_8021P_PRIORITY^I^I^I0x00000040$

ERROR: code indent should never use tabs
#222: FILE: hw/net/rndis.h:203:
+#define RNDIS_MAC_OPTION_RESERVED^I^I^I0x80000000$

ERROR: code indent should never use tabs
#226: FILE: hw/net/rndis.h:207:
+#define RNDIS_OID_GEN_SUPPORTED_LIST^I^I0x00010101$

ERROR: code indent should never use tabs
#227: FILE: hw/net/rndis.h:208:
+#define RNDIS_OID_GEN_HARDWARE_STATUS^I^I0x00010102$

ERROR: code indent should never use tabs
#228: FILE: hw/net/rndis.h:209:
+#define RNDIS_OID_GEN_MEDIA_SUPPORTED^I^I0x00010103$

ERROR: code indent should never use tabs
#229: FILE: hw/net/rndis.h:210:
+#define RNDIS_OID_GEN_MEDIA_IN_USE^I^I0x00010104$

ERROR: code indent should never use tabs
#230: FILE: hw/net/rndis.h:211:
+#define RNDIS_OID_GEN_MAXIMUM_LOOKAHEAD^I^I0x00010105$

ERROR: code indent should never use tabs
#231: FILE: hw/net/rndis.h:212:
+#define RNDIS_OID_GEN_MAXIMUM_FRAME_SIZE^I0x00010106$

ERROR: code indent should never use tabs
#232: FILE: hw/net/rndis.h:213:
+#define RNDIS_OID_GEN_LINK_SPEED^I^I0x00010107$

ERROR: code indent should never use tabs
#233: FILE: hw/net/rndis.h:214:
+#define RNDIS_OID_GEN_TRANSMIT_BUFFER_SPACE^I0x00010108$

ERROR: code indent should never use tabs
#234: FILE: hw/net/rndis.h:215:
+#define RNDIS_OID_GEN_RECEIVE_BUFFER_SPACE^I0x00010109$

ERROR: code indent should never use tabs
#235: FILE: hw/net/rndis.h:216:
+#define RNDIS_OID_GEN_TRANSMIT_BLOCK_SIZE^I0x0001010A$

ERROR: code indent should never use tabs
#236: FILE: hw/net/rndis.h:217:
+#define RNDIS_OID_GEN_RECEIVE_BLOCK_SIZE^I0x0001010B$

ERROR: code indent should never use tabs
#237: FILE: hw/net/rndis.h:218:
+#define RNDIS_OID_GEN_VENDOR_ID^I^I^I0x0001010C$

ERROR: code indent should never use tabs
#238: FILE: hw/net/rndis.h:219:
+#define RNDIS_OID_GEN_VENDOR_DESCRIPTION^I0x0001010D$

ERROR: code indent should never use tabs
#239: FILE: hw/net/rndis.h:220:
+#define RNDIS_OID_GEN_CURRENT_PACKET_FILTER^I0x0001010E$

ERROR: code indent should never use tabs
#240: FILE: hw/net/rndis.h:221:
+#define RNDIS_OID_GEN_CURRENT_LOOKAHEAD^I^I0x0001010F$

ERROR: code indent should never use tabs
#241: FILE: hw/net/rndis.h:222:
+#define RNDIS_OID_GEN_DRIVER_VERSION^I^I0x00010110$

ERROR: code indent should never use tabs
#242: FILE: hw/net/rndis.h:223:
+#define RNDIS_OID_GEN_MAXIMUM_TOTAL_SIZE^I0x00010111$

ERROR: code indent should never use tabs
#243: FILE: hw/net/rndis.h:224:
+#define RNDIS_OID_GEN_PROTOCOL_OPTIONS^I^I0x00010112$

ERROR: code indent should never use tabs
#244: FILE: hw/net/rndis.h:225:
+#define RNDIS_OID_GEN_MAC_OPTIONS^I^I0x00010113$

ERROR: code indent should never use tabs
#245: FILE: hw/net/rndis.h:226:
+#define RNDIS_OID_GEN_MEDIA_CONNECT_STATUS^I0x00010114$

ERROR: code indent should never use tabs
#246: FILE: hw/net/rndis.h:227:
+#define RNDIS_OID_GEN_MAXIMUM_SEND_PACKETS^I0x00010115$

ERROR: code indent should never use tabs
#247: FILE: hw/net/rndis.h:228:
+#define RNDIS_OID_GEN_VENDOR_DRIVER_VERSION^I0x00010116$

ERROR: code indent should never use tabs
#248: FILE: hw/net/rndis.h:229:
+#define RNDIS_OID_GEN_SUPPORTED_GUIDS^I^I0x00010117$

ERROR: code indent should never use tabs
#249: FILE: hw/net/rndis.h:230:
+#define RNDIS_OID_GEN_NETWORK_LAYER_ADDRESSES^I0x00010118$

ERROR: code indent should never use tabs
#250: FILE: hw/net/rndis.h:231:
+#define RNDIS_OID_GEN_TRANSPORT_HEADER_OFFSET^I0x00010119$

ERROR: code indent should never use tabs
#251: FILE: hw/net/rndis.h:232:
+#define RNDIS_OID_GEN_PHYSICAL_MEDIUM^I^I0x00010202$

ERROR: code indent should never use tabs
#252: FILE: hw/net/rndis.h:233:
+#define RNDIS_OID_GEN_MACHINE_NAME^I^I0x0001021A$

ERROR: code indent should never use tabs
#253: FILE: hw/net/rndis.h:234:
+#define RNDIS_OID_GEN_RNDIS_CONFIG_PARAMETER^I0x0001021B$

ERROR: code indent should never use tabs
#254: FILE: hw/net/rndis.h:235:
+#define RNDIS_OID_GEN_VLAN_ID^I^I^I0x0001021C$

ERROR: code indent should never use tabs
#257: FILE: hw/net/rndis.h:238:
+#define RNDIS_OID_GEN_MEDIA_CAPABILITIES^I0x00010201$

ERROR: code indent should never use tabs
#260: FILE: hw/net/rndis.h:241:
+#define RNDIS_OID_GEN_XMIT_OK^I^I^I0x00020101$

ERROR: code indent should never use tabs
#261: FILE: hw/net/rndis.h:242:
+#define RNDIS_OID_GEN_RCV_OK^I^I^I0x00020102$

ERROR: code indent should never use tabs
#262: FILE: hw/net/rndis.h:243:
+#define RNDIS_OID_GEN_XMIT_ERROR^I^I0x00020103$

ERROR: code indent should never use tabs
#263: FILE: hw/net/rndis.h:244:
+#define RNDIS_OID_GEN_RCV_ERROR^I^I^I0x00020104$

ERROR: code indent should never use tabs
#264: FILE: hw/net/rndis.h:245:
+#define RNDIS_OID_GEN_RCV_NO_BUFFER^I^I0x00020105$

ERROR: code indent should never use tabs
#267: FILE: hw/net/rndis.h:248:
+#define RNDIS_OID_GEN_DIRECTED_BYTES_XMIT^I0x00020201$

ERROR: code indent should never use tabs
#268: FILE: hw/net/rndis.h:249:
+#define RNDIS_OID_GEN_DIRECTED_FRAMES_XMIT^I0x00020202$

ERROR: code indent should never use tabs
#269: FILE: hw/net/rndis.h:250:
+#define RNDIS_OID_GEN_MULTICAST_BYTES_XMIT^I0x00020203$

ERROR: code indent should never use tabs
#270: FILE: hw/net/rndis.h:251:
+#define RNDIS_OID_GEN_MULTICAST_FRAMES_XMIT^I0x00020204$

ERROR: code indent should never use tabs
#271: FILE: hw/net/rndis.h:252:
+#define RNDIS_OID_GEN_BROADCAST_BYTES_XMIT^I0x00020205$

ERROR: code indent should never use tabs
#272: FILE: hw/net/rndis.h:253:
+#define RNDIS_OID_GEN_BROADCAST_FRAMES_XMIT^I0x00020206$

ERROR: code indent should never use tabs
#273: FILE: hw/net/rndis.h:254:
+#define RNDIS_OID_GEN_DIRECTED_BYTES_RCV^I0x00020207$

ERROR: code indent should never use tabs
#274: FILE: hw/net/rndis.h:255:
+#define RNDIS_OID_GEN_DIRECTED_FRAMES_RCV^I0x00020208$

ERROR: code indent should never use tabs
#275: FILE: hw/net/rndis.h:256:
+#define RNDIS_OID_GEN_MULTICAST_BYTES_RCV^I0x00020209$

ERROR: code indent should never use tabs
#276: FILE: hw/net/rndis.h:257:
+#define RNDIS_OID_GEN_MULTICAST_FRAMES_RCV^I0x0002020A$

ERROR: code indent should never use tabs
#277: FILE: hw/net/rndis.h:258:
+#define RNDIS_OID_GEN_BROADCAST_BYTES_RCV^I0x0002020B$

ERROR: code indent should never use tabs
#278: FILE: hw/net/rndis.h:259:
+#define RNDIS_OID_GEN_BROADCAST_FRAMES_RCV^I0x0002020C$

ERROR: code indent should never use tabs
#280: FILE: hw/net/rndis.h:261:
+#define RNDIS_OID_GEN_RCV_CRC_ERROR^I^I0x0002020D$

ERROR: code indent should never use tabs
#281: FILE: hw/net/rndis.h:262:
+#define RNDIS_OID_GEN_TRANSMIT_QUEUE_LENGTH^I0x0002020E$

ERROR: code indent should never use tabs
#283: FILE: hw/net/rndis.h:264:
+#define RNDIS_OID_GEN_GET_TIME_CAPS^I^I0x0002020F$

ERROR: code indent should never use tabs
#284: FILE: hw/net/rndis.h:265:
+#define RNDIS_OID_GEN_GET_NETCARD_TIME^I^I0x00020210$

ERROR: code indent should never use tabs
#286: FILE: hw/net/rndis.h:267:
+#define RNDIS_OID_GEN_NETCARD_LOAD^I^I0x00020211$

ERROR: code indent should never use tabs
#287: FILE: hw/net/rndis.h:268:
+#define RNDIS_OID_GEN_DEVICE_PROFILE^I^I0x00020212$

ERROR: code indent should never use tabs
#288: FILE: hw/net/rndis.h:269:
+#define RNDIS_OID_GEN_INIT_TIME_MS^I^I0x00020213$

ERROR: code indent should never use tabs
#289: FILE: hw/net/rndis.h:270:
+#define RNDIS_OID_GEN_RESET_COUNTS^I^I0x00020214$

ERROR: code indent should never use tabs
#290: FILE: hw/net/rndis.h:271:
+#define RNDIS_OID_GEN_MEDIA_SENSE_COUNTS^I0x00020215$

ERROR: code indent should never use tabs
#291: FILE: hw/net/rndis.h:272:
+#define RNDIS_OID_GEN_FRIENDLY_NAME^I^I0x00020216$

ERROR: code indent should never use tabs
#292: FILE: hw/net/rndis.h:273:
+#define RNDIS_OID_GEN_MINIPORT_INFO^I^I0x00020217$

ERROR: code indent should never use tabs
#293: FILE: hw/net/rndis.h:274:
+#define RNDIS_OID_GEN_RESET_VERIFY_PARAMETERS^I0x00020218$

ERROR: code indent should never use tabs
#297: FILE: hw/net/rndis.h:278:
+#define RNDIS_OID_GEN_CO_SUPPORTED_LIST^I^I0x00010101$

ERROR: code indent should never use tabs
#298: FILE: hw/net/rndis.h:279:
+#define RNDIS_OID_GEN_CO_HARDWARE_STATUS^I0x00010102$

ERROR: code indent should never use tabs
#299: FILE: hw/net/rndis.h:280:
+#define RNDIS_OID_GEN_CO_MEDIA_SUPPORTED^I0x00010103$

ERROR: code indent should never use tabs
#300: FILE: hw/net/rndis.h:281:
+#define RNDIS_OID_GEN_CO_MEDIA_IN_USE^I^I0x00010104$

ERROR: code indent should never use tabs
#301: FILE: hw/net/rndis.h:282:
+#define RNDIS_OID_GEN_CO_LINK_SPEED^I^I0x00010105$

ERROR: code indent should never use tabs
#302: FILE: hw/net/rndis.h:283:
+#define RNDIS_OID_GEN_CO_VENDOR_ID^I^I0x00010106$

ERROR: code indent should never use tabs
#303: FILE: hw/net/rndis.h:284:
+#define RNDIS_OID_GEN_CO_VENDOR_DESCRIPTION^I0x00010107$

ERROR: code indent should never use tabs
#304: FILE: hw/net/rndis.h:285:
+#define RNDIS_OID_GEN_CO_DRIVER_VERSION^I^I0x00010108$

ERROR: code indent should never use tabs
#305: FILE: hw/net/rndis.h:286:
+#define RNDIS_OID_GEN_CO_PROTOCOL_OPTIONS^I0x00010109$

ERROR: code indent should never use tabs
#306: FILE: hw/net/rndis.h:287:
+#define RNDIS_OID_GEN_CO_MAC_OPTIONS^I^I0x0001010A$

ERROR: code indent should never use tabs
#307: FILE: hw/net/rndis.h:288:
+#define RNDIS_OID_GEN_CO_MEDIA_CONNECT_STATUS^I0x0001010B$

ERROR: code indent should never use tabs
#308: FILE: hw/net/rndis.h:289:
+#define RNDIS_OID_GEN_CO_VENDOR_DRIVER_VERSION^I0x0001010C$

ERROR: code indent should never use tabs
#309: FILE: hw/net/rndis.h:290:
+#define RNDIS_OID_GEN_CO_MINIMUM_LINK_SPEED^I0x0001010D$

ERROR: code indent should never use tabs
#311: FILE: hw/net/rndis.h:292:
+#define RNDIS_OID_GEN_CO_GET_TIME_CAPS^I^I0x00010201$

ERROR: code indent should never use tabs
#312: FILE: hw/net/rndis.h:293:
+#define RNDIS_OID_GEN_CO_GET_NETCARD_TIME^I0x00010202$

ERROR: code indent should never use tabs
#315: FILE: hw/net/rndis.h:296:
+#define RNDIS_OID_GEN_CO_XMIT_PDUS_OK^I^I0x00020101$

ERROR: code indent should never use tabs
#316: FILE: hw/net/rndis.h:297:
+#define RNDIS_OID_GEN_CO_RCV_PDUS_OK^I^I0x00020102$

ERROR: code indent should never use tabs
#317: FILE: hw/net/rndis.h:298:
+#define RNDIS_OID_GEN_CO_XMIT_PDUS_ERROR^I0x00020103$

ERROR: code indent should never use tabs
#318: FILE: hw/net/rndis.h:299:
+#define RNDIS_OID_GEN_CO_RCV_PDUS_ERROR^I^I0x00020104$

ERROR: code indent should never use tabs
#319: FILE: hw/net/rndis.h:300:
+#define RNDIS_OID_GEN_CO_RCV_PDUS_NO_BUFFER^I0x00020105$

ERROR: code indent should never use tabs
#322: FILE: hw/net/rndis.h:303:
+#define RNDIS_OID_GEN_CO_RCV_CRC_ERROR^I^I0x00020201$

ERROR: code indent should never use tabs
#323: FILE: hw/net/rndis.h:304:
+#define RNDIS_OID_GEN_CO_TRANSMIT_QUEUE_LENGTH^I0x00020202$

ERROR: code indent should never use tabs
#324: FILE: hw/net/rndis.h:305:
+#define RNDIS_OID_GEN_CO_BYTES_XMIT^I^I0x00020203$

ERROR: code indent should never use tabs
#325: FILE: hw/net/rndis.h:306:
+#define RNDIS_OID_GEN_CO_BYTES_RCV^I^I0x00020204$

ERROR: code indent should never use tabs
#326: FILE: hw/net/rndis.h:307:
+#define RNDIS_OID_GEN_CO_BYTES_XMIT_OUTSTANDING^I0x00020205$

ERROR: code indent should never use tabs
#327: FILE: hw/net/rndis.h:308:
+#define RNDIS_OID_GEN_CO_NETCARD_LOAD^I^I0x00020206$

ERROR: code indent should never use tabs
#330: FILE: hw/net/rndis.h:311:
+#define RNDIS_OID_CO_ADD_PVC^I^I^I0xFF000001$

ERROR: code indent should never use tabs
#331: FILE: hw/net/rndis.h:312:
+#define RNDIS_OID_CO_DELETE_PVC^I^I^I0xFF000002$

ERROR: code indent should never use tabs
#332: FILE: hw/net/rndis.h:313:
+#define RNDIS_OID_CO_GET_CALL_INFORMATION^I0xFF000003$

ERROR: code indent should never use tabs
#333: FILE: hw/net/rndis.h:314:
+#define RNDIS_OID_CO_ADD_ADDRESS^I^I0xFF000004$

ERROR: code indent should never use tabs
#334: FILE: hw/net/rndis.h:315:
+#define RNDIS_OID_CO_DELETE_ADDRESS^I^I0xFF000005$

ERROR: code indent should never use tabs
#335: FILE: hw/net/rndis.h:316:
+#define RNDIS_OID_CO_GET_ADDRESSES^I^I0xFF000006$

ERROR: code indent should never use tabs
#336: FILE: hw/net/rndis.h:317:
+#define RNDIS_OID_CO_ADDRESS_CHANGE^I^I0xFF000007$

ERROR: code indent should never use tabs
#337: FILE: hw/net/rndis.h:318:
+#define RNDIS_OID_CO_SIGNALING_ENABLED^I^I0xFF000008$

ERROR: code indent should never use tabs
#338: FILE: hw/net/rndis.h:319:
+#define RNDIS_OID_CO_SIGNALING_DISABLED^I^I0xFF000009$

ERROR: code indent should never use tabs
#341: FILE: hw/net/rndis.h:322:
+#define RNDIS_OID_802_3_PERMANENT_ADDRESS^I0x01010101$

ERROR: code indent should never use tabs
#342: FILE: hw/net/rndis.h:323:
+#define RNDIS_OID_802_3_CURRENT_ADDRESS^I^I0x01010102$

ERROR: code indent should never use tabs
#343: FILE: hw/net/rndis.h:324:
+#define RNDIS_OID_802_3_MULTICAST_LIST^I^I0x01010103$

ERROR: code indent should never use tabs
#344: FILE: hw/net/rndis.h:325:
+#define RNDIS_OID_802_3_MAXIMUM_LIST_SIZE^I0x01010104$

ERROR: code indent should never use tabs
#345: FILE: hw/net/rndis.h:326:
+#define RNDIS_OID_802_3_MAC_OPTIONS^I^I0x01010105$

ERROR: code indent should never use tabs
#347: FILE: hw/net/rndis.h:328:
+#define RNDIS_802_3_MAC_OPTION_PRIORITY^I^I0x00000001$

ERROR: code indent should never use tabs
#349: FILE: hw/net/rndis.h:330:
+#define RNDIS_OID_802_3_RCV_ERROR_ALIGNMENT^I0x01020101$

ERROR: code indent should never use tabs
#350: FILE: hw/net/rndis.h:331:
+#define RNDIS_OID_802_3_XMIT_ONE_COLLISION^I0x01020102$

ERROR: code indent should never use tabs
#351: FILE: hw/net/rndis.h:332:
+#define RNDIS_OID_802_3_XMIT_MORE_COLLISIONS^I0x01020103$

ERROR: code indent should never use tabs
#353: FILE: hw/net/rndis.h:334:
+#define RNDIS_OID_802_3_XMIT_DEFERRED^I^I0x01020201$

ERROR: code indent should never use tabs
#354: FILE: hw/net/rndis.h:335:
+#define RNDIS_OID_802_3_XMIT_MAX_COLLISIONS^I0x01020202$

ERROR: code indent should never use tabs
#355: FILE: hw/net/rndis.h:336:
+#define RNDIS_OID_802_3_RCV_OVERRUN^I^I0x01020203$

ERROR: code indent should never use tabs
#356: FILE: hw/net/rndis.h:337:
+#define RNDIS_OID_802_3_XMIT_UNDERRUN^I^I0x01020204$

ERROR: code indent should never use tabs
#357: FILE: hw/net/rndis.h:338:
+#define RNDIS_OID_802_3_XMIT_HEARTBEAT_FAILURE^I0x01020205$

ERROR: code indent should never use tabs
#358: FILE: hw/net/rndis.h:339:
+#define RNDIS_OID_802_3_XMIT_TIMES_CRS_LOST^I0x01020206$

ERROR: code indent should never use tabs
#359: FILE: hw/net/rndis.h:340:
+#define RNDIS_OID_802_3_XMIT_LATE_COLLISIONS^I0x01020207$

ERROR: code indent should never use tabs
#361: FILE: hw/net/rndis.h:342:
+#define RNDIS_OID_802_11_BSSID^I^I^I^I0x0d010101$

ERROR: code indent should never use tabs
#362: FILE: hw/net/rndis.h:343:
+#define RNDIS_OID_802_11_SSID^I^I^I^I0x0d010102$

ERROR: code indent should never use tabs
#363: FILE: hw/net/rndis.h:344:
+#define RNDIS_OID_802_11_INFRASTRUCTURE_MODE^I^I0x0d010108$

ERROR: code indent should never use tabs
#364: FILE: hw/net/rndis.h:345:
+#define RNDIS_OID_802_11_ADD_WEP^I^I^I0x0d010113$

ERROR: code indent should never use tabs
#365: FILE: hw/net/rndis.h:346:
+#define RNDIS_OID_802_11_REMOVE_WEP^I^I^I0x0d010114$

ERROR: code indent should never use tabs
#366: FILE: hw/net/rndis.h:347:
+#define RNDIS_OID_802_11_DISASSOCIATE^I^I^I0x0d010115$

ERROR: code indent should never use tabs
#367: FILE: hw/net/rndis.h:348:
+#define RNDIS_OID_802_11_AUTHENTICATION_MODE^I^I0x0d010118$

ERROR: code indent should never use tabs
#368: FILE: hw/net/rndis.h:349:
+#define RNDIS_OID_802_11_PRIVACY_FILTER^I^I^I0x0d010119$

ERROR: code indent should never use tabs
#369: FILE: hw/net/rndis.h:350:
+#define RNDIS_OID_802_11_BSSID_LIST_SCAN^I^I0x0d01011a$

ERROR: code indent should never use tabs
#370: FILE: hw/net/rndis.h:351:
+#define RNDIS_OID_802_11_ENCRYPTION_STATUS^I^I0x0d01011b$

ERROR: code indent should never use tabs
#371: FILE: hw/net/rndis.h:352:
+#define RNDIS_OID_802_11_ADD_KEY^I^I^I0x0d01011d$

ERROR: code indent should never use tabs
#372: FILE: hw/net/rndis.h:353:
+#define RNDIS_OID_802_11_REMOVE_KEY^I^I^I0x0d01011e$

ERROR: code indent should never use tabs
#373: FILE: hw/net/rndis.h:354:
+#define RNDIS_OID_802_11_ASSOCIATION_INFORMATION^I0x0d01011f$

ERROR: code indent should never use tabs
#374: FILE: hw/net/rndis.h:355:
+#define RNDIS_OID_802_11_CAPABILITY^I^I^I0x0d010122$

ERROR: code indent should never use tabs
#375: FILE: hw/net/rndis.h:356:
+#define RNDIS_OID_802_11_PMKID^I^I^I^I0x0d010123$

ERROR: code indent should never use tabs
#376: FILE: hw/net/rndis.h:357:
+#define RNDIS_OID_802_11_NETWORK_TYPES_SUPPORTED^I0x0d010203$

ERROR: code indent should never use tabs
#377: FILE: hw/net/rndis.h:358:
+#define RNDIS_OID_802_11_NETWORK_TYPE_IN_USE^I^I0x0d010204$

ERROR: code indent should never use tabs
#378: FILE: hw/net/rndis.h:359:
+#define RNDIS_OID_802_11_TX_POWER_LEVEL^I^I^I0x0d010205$

ERROR: code indent should never use tabs
#379: FILE: hw/net/rndis.h:360:
+#define RNDIS_OID_802_11_RSSI^I^I^I^I0x0d010206$

ERROR: code indent should never use tabs
#380: FILE: hw/net/rndis.h:361:
+#define RNDIS_OID_802_11_RSSI_TRIGGER^I^I^I0x0d010207$

ERROR: code indent should never use tabs
#381: FILE: hw/net/rndis.h:362:
+#define RNDIS_OID_802_11_FRAGMENTATION_THRESHOLD^I0x0d010209$

ERROR: code indent should never use tabs
#382: FILE: hw/net/rndis.h:363:
+#define RNDIS_OID_802_11_RTS_THRESHOLD^I^I^I0x0d01020a$

ERROR: code indent should never use tabs
#383: FILE: hw/net/rndis.h:364:
+#define RNDIS_OID_802_11_SUPPORTED_RATES^I^I0x0d01020e$

ERROR: code indent should never use tabs
#384: FILE: hw/net/rndis.h:365:
+#define RNDIS_OID_802_11_CONFIGURATION^I^I^I0x0d010211$

ERROR: code indent should never use tabs
#385: FILE: hw/net/rndis.h:366:
+#define RNDIS_OID_802_11_POWER_MODE^I^I^I0x0d010216$

ERROR: code indent should never use tabs
#386: FILE: hw/net/rndis.h:367:
+#define RNDIS_OID_802_11_BSSID_LIST^I^I^I0x0d010217$

ERROR: code indent should never use tabs
#389: FILE: hw/net/rndis.h:370:
+#define RNDIS_OID_PNP_CAPABILITIES^I^I0xFD010100$

ERROR: code indent should never use tabs
#390: FILE: hw/net/rndis.h:371:
+#define RNDIS_OID_PNP_SET_POWER^I^I^I0xFD010101$

ERROR: code indent should never use tabs
#391: FILE: hw/net/rndis.h:372:
+#define RNDIS_OID_PNP_QUERY_POWER^I^I0xFD010102$

ERROR: code indent should never use tabs
#392: FILE: hw/net/rndis.h:373:
+#define RNDIS_OID_PNP_ADD_WAKE_UP_PATTERN^I0xFD010103$

ERROR: code indent should never use tabs
#393: FILE: hw/net/rndis.h:374:
+#define RNDIS_OID_PNP_REMOVE_WAKE_UP_PATTERN^I0xFD010104$

ERROR: code indent should never use tabs
#394: FILE: hw/net/rndis.h:375:
+#define RNDIS_OID_PNP_ENABLE_WAKE_UP^I^I0xFD010106$

ERROR: code indent should never use tabs
#397: FILE: hw/net/rndis.h:378:
+#define RNDIS_DEVICE_WAKE_UP_ENABLE^I^I^I0x00000001$

ERROR: code indent should never use tabs
#398: FILE: hw/net/rndis.h:379:
+#define RNDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE^I0x00000002$

ERROR: code indent should never use tabs
#399: FILE: hw/net/rndis.h:380:
+#define RNDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE^I0x00000004$

ERROR: code indent should never use tabs
#401: FILE: hw/net/rndis.h:382:
+#define REMOTE_CONDIS_MP_CREATE_VC_MSG^I^I0x00008001$

ERROR: code indent should never use tabs
#402: FILE: hw/net/rndis.h:383:
+#define REMOTE_CONDIS_MP_DELETE_VC_MSG^I^I0x00008002$

ERROR: code indent should never use tabs
#403: FILE: hw/net/rndis.h:384:
+#define REMOTE_CONDIS_MP_ACTIVATE_VC_MSG^I0x00008005$

ERROR: code indent should never use tabs
#404: FILE: hw/net/rndis.h:385:
+#define REMOTE_CONDIS_MP_DEACTIVATE_VC_MSG^I0x00008006$

ERROR: code indent should never use tabs
#405: FILE: hw/net/rndis.h:386:
+#define REMOTE_CONDIS_INDICATE_STATUS_MSG^I0x00008007$

ERROR: code indent should never use tabs
#407: FILE: hw/net/rndis.h:388:
+#define REMOTE_CONDIS_MP_CREATE_VC_CMPLT^I0x80008001$

ERROR: code indent should never use tabs
#408: FILE: hw/net/rndis.h:389:
+#define REMOTE_CONDIS_MP_DELETE_VC_CMPLT^I0x80008002$

ERROR: code indent should never use tabs
#409: FILE: hw/net/rndis.h:390:
+#define REMOTE_CONDIS_MP_ACTIVATE_VC_CMPLT^I0x80008005$

ERROR: code indent should never use tabs
#410: FILE: hw/net/rndis.h:391:
+#define REMOTE_CONDIS_MP_DEACTIVATE_VC_CMPLT^I0x80008006$

total: 323 errors, 0 warnings, 391 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 29/34: net: add Hyper-V/VMBus network protocol definitions...
ERROR: code indent should never use tabs
#45: FILE: hw/net/hvnet-proto.h:24:
+#define NDIS_OBJECT_TYPE_OFFLOAD^I0xa7$

ERROR: code indent should never use tabs
#164: FILE: hw/net/hvnet-proto.h:143:
+#define NVSP_INVALID_PROTOCOL_VERSION^I((uint32_t)0xFFFFFFFF)$

ERROR: code indent should never use tabs
#166: FILE: hw/net/hvnet-proto.h:145:
+#define NVSP_PROTOCOL_VERSION_1^I^I2$

ERROR: code indent should never use tabs
#167: FILE: hw/net/hvnet-proto.h:146:
+#define NVSP_PROTOCOL_VERSION_2^I^I0x30002$

ERROR: code indent should never use tabs
#168: FILE: hw/net/hvnet-proto.h:147:
+#define NVSP_PROTOCOL_VERSION_4^I^I0x40000$

ERROR: code indent should never use tabs
#169: FILE: hw/net/hvnet-proto.h:148:
+#define NVSP_PROTOCOL_VERSION_5^I^I0x50000$

ERROR: code indent should never use tabs
#175: FILE: hw/net/hvnet-proto.h:154:
+    NVSP_MSG_TYPE_INIT^I^I^I= 1,$

ERROR: code indent should never use tabs
#176: FILE: hw/net/hvnet-proto.h:155:
+    NVSP_MSG_TYPE_INIT_COMPLETE^I^I= 2,$

ERROR: code indent should never use tabs
#178: FILE: hw/net/hvnet-proto.h:157:
+    NVSP_VERSION_MSG_START^I^I^I= 100,$

ERROR: code indent should never use tabs
#181: FILE: hw/net/hvnet-proto.h:160:
+    NVSP_MSG1_TYPE_SEND_NDIS_VER^I^I= NVSP_VERSION_MSG_START,$

ERROR: code indent should never use tabs
#548: FILE: hw/net/hvnet-proto.h:527:
+#define NETVSC_RECEIVE_BUFFER_SIZE^I^I(1024*1024*16)^I/* 16MB */$

ERROR: spaces required around that '*' (ctx:VxV)
#548: FILE: hw/net/hvnet-proto.h:527:
+#define NETVSC_RECEIVE_BUFFER_SIZE		(1024*1024*16)	/* 16MB */
                                   		     ^

ERROR: spaces required around that '*' (ctx:VxV)
#548: FILE: hw/net/hvnet-proto.h:527:
+#define NETVSC_RECEIVE_BUFFER_SIZE		(1024*1024*16)	/* 16MB */
                                   		          ^

ERROR: code indent should never use tabs
#549: FILE: hw/net/hvnet-proto.h:528:
+#define NETVSC_RECEIVE_BUFFER_SIZE_LEGACY^I(1024*1024*15)  /* 15MB */$

ERROR: spaces required around that '*' (ctx:VxV)
#549: FILE: hw/net/hvnet-proto.h:528:
+#define NETVSC_RECEIVE_BUFFER_SIZE_LEGACY	(1024*1024*15)  /* 15MB */
                                          	     ^

ERROR: spaces required around that '*' (ctx:VxV)
#549: FILE: hw/net/hvnet-proto.h:528:
+#define NETVSC_RECEIVE_BUFFER_SIZE_LEGACY	(1024*1024*15)  /* 15MB */
                                          	          ^

ERROR: code indent should never use tabs
#550: FILE: hw/net/hvnet-proto.h:529:
+#define NETVSC_SEND_BUFFER_SIZE^I^I^I(1024 * 1024 * 15)   /* 15MB */$

ERROR: code indent should never use tabs
#551: FILE: hw/net/hvnet-proto.h:530:
+#define NETVSC_INVALID_INDEX^I^I^I-1$

ERROR: code indent should never use tabs
#554: FILE: hw/net/hvnet-proto.h:533:
+#define NETVSC_RECEIVE_BUFFER_ID^I^I0xcafe$

ERROR: code indent should never use tabs
#555: FILE: hw/net/hvnet-proto.h:534:
+#define NETVSC_SEND_BUFFER_ID^I^I^I0$

ERROR: code indent should never use tabs
#739: FILE: hw/net/hvnet-proto.h:718:
+#define NDIS_OBJECT_TYPE_DEFAULT^I0x80$

ERROR: code indent should never use tabs
#755: FILE: hw/net/hvnet-proto.h:734:
+#define NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE^I1$

ERROR: code indent should never use tabs
#756: FILE: hw/net/hvnet-proto.h:735:
+#define NDIS_TCP_LARGE_SEND_OFFLOAD_IPV4^I0$

ERROR: code indent should never use tabs
#757: FILE: hw/net/hvnet-proto.h:736:
+#define NDIS_TCP_LARGE_SEND_OFFLOAD_IPV6^I1$

ERROR: code indent should never use tabs
#759: FILE: hw/net/hvnet-proto.h:738:
+#define VERSION_4_OFFLOAD_SIZE^I^I^I22$

ERROR: code indent should never use tabs
#764: FILE: hw/net/hvnet-proto.h:743:
+#define OID_TCP_OFFLOAD_PARAMETERS 0xFC01020C^I^I/* set only */$

ERROR: code indent should never use tabs
#775: FILE: hw/net/hvnet-proto.h:754:
+#define^INDIS_OFFLOAD_ENCAP_NONE^I^I0x0000$

ERROR: code indent should never use tabs
#776: FILE: hw/net/hvnet-proto.h:755:
+#define^INDIS_OFFLOAD_ENCAP_NULL^I^I0x0001$

ERROR: code indent should never use tabs
#777: FILE: hw/net/hvnet-proto.h:756:
+#define^INDIS_OFFLOAD_ENCAP_8023^I^I0x0002$

ERROR: code indent should never use tabs
#778: FILE: hw/net/hvnet-proto.h:757:
+#define^INDIS_OFFLOAD_ENCAP_8023PQ^I0x0004$

ERROR: code indent should never use tabs
#779: FILE: hw/net/hvnet-proto.h:758:
+#define^INDIS_OFFLOAD_ENCAP_8023PQ_OOB^I0x0008$

ERROR: code indent should never use tabs
#780: FILE: hw/net/hvnet-proto.h:759:
+#define^INDIS_OFFLOAD_ENCAP_RFC1483^I0x0010$

ERROR: code indent should never use tabs
#783: FILE: hw/net/hvnet-proto.h:762:
+    uint32_t^Iip4_txenc;$

ERROR: code indent should never use tabs
#784: FILE: hw/net/hvnet-proto.h:763:
+    uint32_t^Iip4_txcsum;$

ERROR: code indent should never use tabs
#785: FILE: hw/net/hvnet-proto.h:764:
+#define^INDIS_TXCSUM_CAP_IP4OPT^I^I0x001$

ERROR: code indent should never use tabs
#786: FILE: hw/net/hvnet-proto.h:765:
+#define^INDIS_TXCSUM_CAP_TCP4OPT^I^I0x004$

ERROR: code indent should never use tabs
#787: FILE: hw/net/hvnet-proto.h:766:
+#define^INDIS_TXCSUM_CAP_TCP4^I^I0x010$

ERROR: code indent should never use tabs
#788: FILE: hw/net/hvnet-proto.h:767:
+#define^INDIS_TXCSUM_CAP_UDP4^I^I0x040$

ERROR: code indent should never use tabs
#789: FILE: hw/net/hvnet-proto.h:768:
+#define^INDIS_TXCSUM_CAP_IP4^I^I0x100$

ERROR: code indent should never use tabs
#791: FILE: hw/net/hvnet-proto.h:770:
+#define NDIS_TXCSUM_ALL_TCP4^I(NDIS_TXCSUM_CAP_TCP4 | NDIS_TXCSUM_CAP_TCP4OPT)$

ERROR: code indent should never use tabs
#793: FILE: hw/net/hvnet-proto.h:772:
+    uint32_t^Iip4_rxenc;$

ERROR: code indent should never use tabs
#794: FILE: hw/net/hvnet-proto.h:773:
+    uint32_t^Iip4_rxcsum;$

ERROR: code indent should never use tabs
#795: FILE: hw/net/hvnet-proto.h:774:
+#define^INDIS_RXCSUM_CAP_IP4OPT^I^I0x001$

ERROR: code indent should never use tabs
#796: FILE: hw/net/hvnet-proto.h:775:
+#define^INDIS_RXCSUM_CAP_TCP4OPT^I^I0x004$

ERROR: code indent should never use tabs
#797: FILE: hw/net/hvnet-proto.h:776:
+#define^INDIS_RXCSUM_CAP_TCP4^I^I0x010$

ERROR: code indent should never use tabs
#798: FILE: hw/net/hvnet-proto.h:777:
+#define^INDIS_RXCSUM_CAP_UDP4^I^I0x040$

ERROR: code indent should never use tabs
#799: FILE: hw/net/hvnet-proto.h:778:
+#define^INDIS_RXCSUM_CAP_IP4^I^I0x100$

ERROR: code indent should never use tabs
#800: FILE: hw/net/hvnet-proto.h:779:
+    uint32_t^Iip6_txenc;$

ERROR: code indent should never use tabs
#801: FILE: hw/net/hvnet-proto.h:780:
+    uint32_t^Iip6_txcsum;$

ERROR: code indent should never use tabs
#802: FILE: hw/net/hvnet-proto.h:781:
+#define^INDIS_TXCSUM_CAP_IP6EXT^I^I0x001$

ERROR: code indent should never use tabs
#803: FILE: hw/net/hvnet-proto.h:782:
+#define^INDIS_TXCSUM_CAP_TCP6OPT^I^I0x004$

ERROR: code indent should never use tabs
#804: FILE: hw/net/hvnet-proto.h:783:
+#define^INDIS_TXCSUM_CAP_TCP6^I^I0x010$

ERROR: code indent should never use tabs
#805: FILE: hw/net/hvnet-proto.h:784:
+#define^INDIS_TXCSUM_CAP_UDP6^I^I0x040$

ERROR: code indent should never use tabs
#806: FILE: hw/net/hvnet-proto.h:785:
+    uint32_t^Iip6_rxenc;$

ERROR: code indent should never use tabs
#807: FILE: hw/net/hvnet-proto.h:786:
+    uint32_t^Iip6_rxcsum;$

ERROR: code indent should never use tabs
#808: FILE: hw/net/hvnet-proto.h:787:
+#define^INDIS_RXCSUM_CAP_IP6EXT^I^I0x001$

ERROR: code indent should never use tabs
#809: FILE: hw/net/hvnet-proto.h:788:
+#define^INDIS_RXCSUM_CAP_TCP6OPT^I^I0x004$

ERROR: code indent should never use tabs
#810: FILE: hw/net/hvnet-proto.h:789:
+#define^INDIS_RXCSUM_CAP_TCP6^I^I0x010$

ERROR: code indent should never use tabs
#811: FILE: hw/net/hvnet-proto.h:790:
+#define^INDIS_RXCSUM_CAP_UDP6^I^I0x040$

ERROR: code indent should never use tabs
#813: FILE: hw/net/hvnet-proto.h:792:
+#define NDIS_TXCSUM_ALL_TCP6^I(NDIS_TXCSUM_CAP_TCP6 |^I^I\$

ERROR: code indent should never use tabs
#814: FILE: hw/net/hvnet-proto.h:793:
+                                 NDIS_TXCSUM_CAP_TCP6OPT |^I\$

ERROR: code indent should never use tabs
#819: FILE: hw/net/hvnet-proto.h:798:
+    uint32_t^Iencap;$

ERROR: code indent should never use tabs
#820: FILE: hw/net/hvnet-proto.h:799:
+    uint32_t^Imaxsize;$

ERROR: code indent should never use tabs
#821: FILE: hw/net/hvnet-proto.h:800:
+    uint32_t^Iminsegs;$

ERROR: code indent should never use tabs
#822: FILE: hw/net/hvnet-proto.h:801:
+    uint32_t^Iopts;$

ERROR: code indent should never use tabs
#826: FILE: hw/net/hvnet-proto.h:805:
+    uint32_t^Iencap;$

ERROR: code indent should never use tabs
#827: FILE: hw/net/hvnet-proto.h:806:
+    uint32_t^Iah_esp;$

ERROR: code indent should never use tabs
#828: FILE: hw/net/hvnet-proto.h:807:
+    uint32_t^Ixport_tun;$

ERROR: code indent should never use tabs
#829: FILE: hw/net/hvnet-proto.h:808:
+    uint32_t^Iip4_opts;$

ERROR: code indent should never use tabs
#830: FILE: hw/net/hvnet-proto.h:809:
+    uint32_t^Iflags;$

ERROR: code indent should never use tabs
#831: FILE: hw/net/hvnet-proto.h:810:
+    uint32_t^Iip4_ah;$

ERROR: code indent should never use tabs
#832: FILE: hw/net/hvnet-proto.h:811:
+    uint32_t^Iip4_esp;$

ERROR: code indent should never use tabs
#836: FILE: hw/net/hvnet-proto.h:815:
+    uint32_t^Iip4_encap;$

ERROR: code indent should never use tabs
#837: FILE: hw/net/hvnet-proto.h:816:
+    uint32_t^Iip4_maxsz;$

ERROR: code indent should never use tabs
#838: FILE: hw/net/hvnet-proto.h:817:
+    uint32_t^Iip4_minsg;$

ERROR: code indent should never use tabs
#839: FILE: hw/net/hvnet-proto.h:818:
+    uint32_t^Iip6_encap;$

ERROR: code indent should never use tabs
#840: FILE: hw/net/hvnet-proto.h:819:
+    uint32_t^Iip6_maxsz;$

ERROR: code indent should never use tabs
#841: FILE: hw/net/hvnet-proto.h:820:
+    uint32_t^Iip6_minsg;$

ERROR: code indent should never use tabs
#842: FILE: hw/net/hvnet-proto.h:821:
+    uint32_t^Iip6_opts;$

ERROR: code indent should never use tabs
#843: FILE: hw/net/hvnet-proto.h:822:
+#define^INDIS_LSOV2_CAP_IP6EXT^I^I0x001$

ERROR: code indent should never use tabs
#844: FILE: hw/net/hvnet-proto.h:823:
+#define^INDIS_LSOV2_CAP_TCP6OPT^I^I0x004$

ERROR: code indent should never use tabs
#846: FILE: hw/net/hvnet-proto.h:825:
+#define NDIS_LSOV2_CAP_IP6^I^I(NDIS_LSOV2_CAP_IP6EXT | \$

ERROR: code indent should never use tabs
#851: FILE: hw/net/hvnet-proto.h:830:
+    uint32_t^Iencap;$

ERROR: code indent should never use tabs
#852: FILE: hw/net/hvnet-proto.h:831:
+    uint16_t^Iip6;$

ERROR: code indent should never use tabs
#853: FILE: hw/net/hvnet-proto.h:832:
+    uint16_t^Iip4opt;$

ERROR: code indent should never use tabs
#854: FILE: hw/net/hvnet-proto.h:833:
+    uint16_t^Iip6ext;$

ERROR: code indent should never use tabs
#855: FILE: hw/net/hvnet-proto.h:834:
+    uint16_t^Iah;$

ERROR: code indent should never use tabs
#856: FILE: hw/net/hvnet-proto.h:835:
+    uint16_t^Iesp;$

ERROR: code indent should never use tabs
#857: FILE: hw/net/hvnet-proto.h:836:
+    uint16_t^Iah_esp;$

ERROR: code indent should never use tabs
#858: FILE: hw/net/hvnet-proto.h:837:
+    uint16_t^Ixport;$

ERROR: code indent should never use tabs
#859: FILE: hw/net/hvnet-proto.h:838:
+    uint16_t^Itun;$

ERROR: code indent should never use tabs
#860: FILE: hw/net/hvnet-proto.h:839:
+    uint16_t^Ixport_tun;$

ERROR: code indent should never use tabs
#861: FILE: hw/net/hvnet-proto.h:840:
+    uint16_t^Ilso;$

ERROR: code indent should never use tabs
#862: FILE: hw/net/hvnet-proto.h:841:
+    uint16_t^Iextseq;$

ERROR: code indent should never use tabs
#863: FILE: hw/net/hvnet-proto.h:842:
+    uint32_t^Iudp_esp;$

ERROR: code indent should never use tabs
#864: FILE: hw/net/hvnet-proto.h:843:
+    uint32_t^Iauth;$

ERROR: code indent should never use tabs
#865: FILE: hw/net/hvnet-proto.h:844:
+    uint32_t^Icrypto;$

ERROR: code indent should never use tabs
#866: FILE: hw/net/hvnet-proto.h:845:
+    uint32_t^Isa_caps;$

ERROR: code indent should never use tabs
#870: FILE: hw/net/hvnet-proto.h:849:
+    uint16_t^Iip4;$

ERROR: code indent should never use tabs
#871: FILE: hw/net/hvnet-proto.h:850:
+    uint16_t^Iip6;$

ERROR: code indent should never use tabs
#875: FILE: hw/net/hvnet-proto.h:854:
+    uint32_t^Iflags;$

ERROR: code indent should never use tabs
#876: FILE: hw/net/hvnet-proto.h:855:
+    uint32_t^Imaxhdr;$

ERROR: code indent should never use tabs
#880: FILE: hw/net/hvnet-proto.h:859:
+    struct ndis_object_header^Iheader;$

ERROR: code indent should never use tabs
#881: FILE: hw/net/hvnet-proto.h:860:
+    struct ndis_csum_offload^Icsum;$

ERROR: code indent should never use tabs
#882: FILE: hw/net/hvnet-proto.h:861:
+    struct ndis_lsov1_offload^Ilsov1;$

ERROR: code indent should never use tabs
#883: FILE: hw/net/hvnet-proto.h:862:
+    struct ndis_ipsecv1_offload^Iipsecv1;$

ERROR: code indent should never use tabs
#884: FILE: hw/net/hvnet-proto.h:863:
+    struct ndis_lsov2_offload^Ilsov2;$

ERROR: code indent should never use tabs
#885: FILE: hw/net/hvnet-proto.h:864:
+    uint32_t^I^I^I^Iflags;$

ERROR: code indent should never use tabs
#887: FILE: hw/net/hvnet-proto.h:866:
+    struct ndis_ipsecv2_offload^Iipsecv2;$

ERROR: code indent should never use tabs
#889: FILE: hw/net/hvnet-proto.h:868:
+    struct ndis_rsc_offload^I^Irsc;$

ERROR: code indent should never use tabs
#890: FILE: hw/net/hvnet-proto.h:869:
+    struct ndis_encap_offload^Iencap_gre;$

ERROR: code indent should never use tabs
#893: FILE: hw/net/hvnet-proto.h:872:
+#define^INDIS_OFFLOAD_SIZE^I^Isizeof(struct ndis_offload)$

ERROR: code indent should never use tabs
#894: FILE: hw/net/hvnet-proto.h:873:
+#define^INDIS_OFFLOAD_SIZE_6_0^I^Ioffsetof(struct ndis_offload, ipsecv2)$

ERROR: code indent should never use tabs
#895: FILE: hw/net/hvnet-proto.h:874:
+#define^INDIS_OFFLOAD_SIZE_6_1^I^Ioffsetof(struct ndis_offload, rsc)$

ERROR: code indent should never use tabs
#1163: FILE: hw/net/hvnet-proto.h:1142:
+#define NDIS_PACKET_TYPE_DIRECTED^I0x00000001$

ERROR: code indent should never use tabs
#1164: FILE: hw/net/hvnet-proto.h:1143:
+#define NDIS_PACKET_TYPE_MULTICAST^I0x00000002$

ERROR: code indent should never use tabs
#1165: FILE: hw/net/hvnet-proto.h:1144:
+#define NDIS_PACKET_TYPE_ALL_MULTICAST^I0x00000004$

ERROR: code indent should never use tabs
#1166: FILE: hw/net/hvnet-proto.h:1145:
+#define NDIS_PACKET_TYPE_BROADCAST^I0x00000008$

ERROR: code indent should never use tabs
#1167: FILE: hw/net/hvnet-proto.h:1146:
+#define NDIS_PACKET_TYPE_SOURCE_ROUTING^I0x00000010$

ERROR: code indent should never use tabs
#1168: FILE: hw/net/hvnet-proto.h:1147:
+#define NDIS_PACKET_TYPE_PROMISCUOUS^I0x00000020$

ERROR: code indent should never use tabs
#1169: FILE: hw/net/hvnet-proto.h:1148:
+#define NDIS_PACKET_TYPE_SMT^I^I0x00000040$

ERROR: code indent should never use tabs
#1170: FILE: hw/net/hvnet-proto.h:1149:
+#define NDIS_PACKET_TYPE_ALL_LOCAL^I0x00000080$

ERROR: code indent should never use tabs
#1171: FILE: hw/net/hvnet-proto.h:1150:
+#define NDIS_PACKET_TYPE_GROUP^I^I0x00000100$

ERROR: code indent should never use tabs
#1172: FILE: hw/net/hvnet-proto.h:1151:
+#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL^I0x00000200$

ERROR: code indent should never use tabs
#1173: FILE: hw/net/hvnet-proto.h:1152:
+#define NDIS_PACKET_TYPE_FUNCTIONAL^I0x00000400$

ERROR: code indent should never use tabs
#1174: FILE: hw/net/hvnet-proto.h:1153:
+#define NDIS_PACKET_TYPE_MAC_FRAME^I0x00000800$

total: 126 errors, 0 warnings, 1161 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 30/34: net: add Hyper-V/VMBus net adapter...
ERROR: open brace '{' following struct go on the same line
#109: FILE: hw/net/hv-net.c:81:
+typedef struct HvNetReq
+{

ERROR: if this code is redundant consider removing it
#147: FILE: hw/net/hv-net.c:119:
+#if 0

WARNING: line over 80 characters
#321: FILE: hw/net/hv-net.c:293:
+        error_report("%s: failed to get gpadl %u", __func__, net->rcvbuf_gpadl_id);

ERROR: do not use C99 // comments
#373: FILE: hw/net/hv-net.c:345:
+    msg_out->section_size = 1; //vmbus_gpadl_len(net->sndbuf_gpadl);

ERROR: if this code is redundant consider removing it
#415: FILE: hw/net/hv-net.c:387:
+#if 0

ERROR: if this code is redundant consider removing it
#418: FILE: hw/net/hv-net.c:390:
+#if 0

ERROR: if this code is redundant consider removing it
#439: FILE: hw/net/hv-net.c:411:
+#if 0

ERROR: do not use C99 // comments
#482: FILE: hw/net/hv-net.c:454:
+    // desc.hdr.sender_owns_set = ?;

ERROR: if this code is redundant consider removing it
#492: FILE: hw/net/hv-net.c:464:
+#if 0

ERROR: do not use C99 // comments
#682: FILE: hw/net/hv-net.c:654:
+        // return RNDIS_STATUS_NOT_SUPPORTED;

ERROR: if this code is redundant consider removing it
#689: FILE: hw/net/hv-net.c:661:
+#if 0

ERROR: do not use C99 // comments
#753: FILE: hw/net/hv-net.c:725:
+    // {.oid = RNDIS_OID_GEN_MAXIMUM_LOOKAHEAD},

ERROR: do not use C99 // comments
#771: FILE: hw/net/hv-net.c:743:
+    // {.oid = RNDIS_OID_GEN_SUPPORTED_GUIDS},

ERROR: do not use C99 // comments
#772: FILE: hw/net/hv-net.c:744:
+    // {.oid = RNDIS_OID_GEN_NETWORK_LAYER_ADDRESSES, .set = set_net_addr},

WARNING: line over 80 characters
#825: FILE: hw/net/hv-net.c:797:
+    error_report("%s: +++++++++ unknown query: %#x", __func__, net->rndis_query_oid);

ERROR: if this code is redundant consider removing it
#828: FILE: hw/net/hv-net.c:800:
+#if 0

ERROR: if this code is redundant consider removing it
#851: FILE: hw/net/hv-net.c:823:
+#if 0

ERROR: if this code is redundant consider removing it
#865: FILE: hw/net/hv-net.c:837:
+#if 0

WARNING: line over 80 characters
#890: FILE: hw/net/hv-net.c:862:
+        error_report("%s: +++++ unrecognized rndis ctrl: %#x", __func__, net->rndis_ctl);

WARNING: line over 80 characters
#932: FILE: hw/net/hv-net.c:904:
+        error_report("%s: too big RNDIS query info: %u", __func__, msg->info_buflen);

ERROR: if this code is redundant consider removing it
#997: FILE: hw/net/hv-net.c:969:
+#if 0

ERROR: if this code is redundant consider removing it
#1012: FILE: hw/net/hv-net.c:984:
+#if 0

ERROR: space required before the open parenthesis '('
#1029: FILE: hw/net/hv-net.c:1001:
+    switch(hdr->msg_type) {

ERROR: if this code is redundant consider removing it
#1066: FILE: hw/net/hv-net.c:1038:
+#if 0

ERROR: line over 90 characters
#1067: FILE: hw/net/hv-net.c:1039:
+    error_report("%s >>>> iov:%p num:%u secidx:%u secsz:%u", __func__, vmreq->iov, vmreq->num, msg_in->send_buf_section_index, msg_in->send_buf_section_size);

ERROR: line over 90 characters
#1103: FILE: hw/net/hv-net.c:1075:
+        error_report("%s: unexpected RNDIS packet channel: %u", __func__, msg_in->channel_type);

ERROR: if this code is redundant consider removing it
#1115: FILE: hw/net/hv-net.c:1087:
+#if 0

ERROR: if this code is redundant consider removing it
#1130: FILE: hw/net/hv-net.c:1102:
+#if 0

ERROR: if this code is redundant consider removing it
#1174: FILE: hw/net/hv-net.c:1146:
+#if 0

ERROR: code indent should never use tabs
#1242: FILE: hw/net/hv-net.c:1214:
+^I.data_offset = sizeof(pkt),$

ERROR: code indent should never use tabs
#1243: FILE: hw/net/hv-net.c:1215:
+^I.data_len = iov_size(iov, iovcnt),$

ERROR: code indent should never use tabs
#1247: FILE: hw/net/hv-net.c:1219:
+^I.msg_len = sizeof(hdr) + pkt.data_offset + pkt.data_len,$

ERROR: if this code is redundant consider removing it
#1284: FILE: hw/net/hv-net.c:1256:
+#if 0

total: 29 errors, 4 warnings, 1445 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 31/34: hv-net: add .bootindex support...
Checking PATCH 32/34: loader: allow arbitrary basename for fw_cfg file roms...
Checking PATCH 33/34: vmbus: add support for rom files...
Checking PATCH 34/34: hv-net: define default rom file name...
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (36 preceding siblings ...)
  2018-02-06 21:56 ` no-reply
@ 2018-02-06 22:10 ` no-reply
  2018-02-06 22:23 ` no-reply
  2018-02-06 22:35 ` no-reply
  39 siblings, 0 replies; 75+ messages in thread
From: no-reply @ 2018-02-06 22:10 UTC (permalink / raw)
  To: rkagan
  Cc: famz, qemu-devel, ben, konrad.wilk, krish.sadhukhan,
	Marcos.Matsunaga, jan.dakinevich, vrozenfe, den, si-wei.liu,
	pbonzini, vkuznets, cavery

Hi,

This series failed docker-mingw@fedora build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

Type: series
Message-id: 20180206203048.11096-1-rkagan@virtuozzo.com
Subject: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-mingw@fedora
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
98adc64f2b hv-net: define default rom file name
32dd25dfe6 vmbus: add support for rom files
983ba13ed2 loader: allow arbitrary basename for fw_cfg file roms
3e4e616672 hv-net: add .bootindex support
9b49f45b61 net: add Hyper-V/VMBus net adapter
8b3b6a7831 net: add Hyper-V/VMBus network protocol definitions
932a14d315 net: add RNDIS definitions
58ff5f3675 tests: hv-scsi: add start-stop test
f81c7ad4b7 hv-scsi: limit the number of requests per notification
62d0ac72b5 scsi: add Hyper-V/VMBus SCSI controller
438b47b468 scsi: add Hyper-V/VMBus SCSI protocol definitions
4baa88ac14 i386: en/disable vmbus by a machine property
7e9adc9af7 i386: Hyper-V VMBus ACPI DSDT entry
1c19b65fab vmbus: build configuration
4471f1afca vmbus: vmbus implementation
6aff6ba275 vmbus: add vmbus protocol definitions
601a95fc0a hyperv: add support for KVM_HYPERV_EVENTFD
9ec270a97e import HYPERV_EVENTFD stuff from kernel
cbfeb5e77c hyperv: update copyright notices
77d9e62db5 hyperv_testdev: add SynIC message and event testmodes
6bf86c8237 hyperv: process POST_MESSAGE hypercall
52d482a30c hyperv: process SIGNAL_EVENT hypercall
be4ed13446 hyperv: add synic event flag signaling
58a94ec55e hyperv: add synic message delivery
921fcaab97 hyperv: make overlay pages for SynIC
8540e6cff0 hyperv: block SynIC use in QEMU in incompatible configurations
0a8a729b0b hyperv: qom-ify SynIC
1f9fba8cb0 hyperv: make HvSintRoute reference-counted
4d649ce401 hyperv: address HvSintRoute by X86CPU pointer
96cc3d2e21 hyperv: allow passing arbitrary data to sint ack callback
93ceab6b34 hyperv: synic: only setup ack notifier if there's a callback
fa7482c5ff hyperv: cosmetic: g_malloc -> g_new
63d46e7b96 hyperv_testdev: refactor for readability
ff514f8890 hyperv: ensure VP index equal to QEMU cpu_index

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-ha3h6wkd/src/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
  BUILD   fedora
  GEN     /var/tmp/patchew-tester-tmp-ha3h6wkd/src/docker-src.2018-02-06-17.06.55.18307/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-ha3h6wkd/src/docker-src.2018-02-06-17.06.55.18307/qemu.tar.vroot'...
done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-ha3h6wkd/src/docker-src.2018-02-06-17.06.55.18307/qemu.tar.vroot/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into '/var/tmp/patchew-tester-tmp-ha3h6wkd/src/docker-src.2018-02-06-17.06.55.18307/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '10739aa26051a5d49d88132604539d3ed085e72e'
  COPY    RUNNER
    RUN test-mingw in qemu:fedora 
Packages installed:
PyYAML-3.11-13.fc25.x86_64
SDL-devel-1.2.15-21.fc24.x86_64
bc-1.06.95-16.fc24.x86_64
bison-3.0.4-4.fc24.x86_64
bzip2-1.0.6-21.fc25.x86_64
ccache-3.3.4-1.fc25.x86_64
clang-3.9.1-2.fc25.x86_64
findutils-4.6.0-8.fc25.x86_64
flex-2.6.0-3.fc25.x86_64
gcc-6.4.1-1.fc25.x86_64
gcc-c++-6.4.1-1.fc25.x86_64
gettext-0.19.8.1-3.fc25.x86_64
git-2.9.5-3.fc25.x86_64
glib2-devel-2.50.3-1.fc25.x86_64
hostname-3.15-8.fc25.x86_64
libaio-devel-0.3.110-6.fc24.x86_64
libasan-6.4.1-1.fc25.x86_64
libfdt-devel-1.4.2-1.fc25.x86_64
libubsan-6.4.1-1.fc25.x86_64
make-4.1-6.fc25.x86_64
mingw32-SDL-1.2.15-7.fc24.noarch
mingw32-bzip2-1.0.6-7.fc24.noarch
mingw32-curl-7.47.0-1.fc24.noarch
mingw32-glib2-2.50.3-1.fc25.noarch
mingw32-gmp-6.1.1-1.fc25.noarch
mingw32-gnutls-3.5.5-2.fc25.noarch
mingw32-gtk2-2.24.31-2.fc25.noarch
mingw32-gtk3-3.22.17-1.fc25.noarch
mingw32-libjpeg-turbo-1.5.1-1.fc25.noarch
mingw32-libpng-1.6.27-1.fc25.noarch
mingw32-libssh2-1.4.3-5.fc24.noarch
mingw32-libtasn1-4.9-1.fc25.noarch
mingw32-nettle-3.3-1.fc25.noarch
mingw32-pixman-0.34.0-1.fc25.noarch
mingw32-pkg-config-0.28-6.fc24.x86_64
mingw64-SDL-1.2.15-7.fc24.noarch
mingw64-bzip2-1.0.6-7.fc24.noarch
mingw64-curl-7.47.0-1.fc24.noarch
mingw64-glib2-2.50.3-1.fc25.noarch
mingw64-gmp-6.1.1-1.fc25.noarch
mingw64-gnutls-3.5.5-2.fc25.noarch
mingw64-gtk2-2.24.31-2.fc25.noarch
mingw64-gtk3-3.22.17-1.fc25.noarch
mingw64-libjpeg-turbo-1.5.1-1.fc25.noarch
mingw64-libpng-1.6.27-1.fc25.noarch
mingw64-libssh2-1.4.3-5.fc24.noarch
mingw64-libtasn1-4.9-1.fc25.noarch
mingw64-nettle-3.3-1.fc25.noarch
mingw64-pixman-0.34.0-1.fc25.noarch
mingw64-pkg-config-0.28-6.fc24.x86_64
nettle-devel-3.3-1.fc25.x86_64
package python2 is not installed
perl-5.24.3-389.fc25.x86_64
pixman-devel-0.34.0-2.fc24.x86_64
sparse-0.5.0-10.fc25.x86_64
tar-1.29-3.fc25.x86_64
which-2.21-1.fc25.x86_64
zlib-devel-1.2.8-10.fc24.x86_64

Environment variables:
PACKAGES=ccache gettext git tar PyYAML sparse flex bison python2 bzip2 hostname     glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel     gcc gcc-c++ clang make perl which bc findutils libaio-devel     nettle-devel libasan libubsan     mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config     mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1     mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2     mingw32-bzip2     mingw64-pixman mingw64-glib2 mingw64-gmp mingw64-SDL mingw64-pkg-config     mingw64-gtk2 mingw64-gtk3 mingw64-gnutls mingw64-nettle mingw64-libtasn1     mingw64-libjpeg-turbo mingw64-libpng mingw64-curl mingw64-libssh2     mingw64-bzip2
HOSTNAME=ace2ea5a25b9
MAKEFLAGS= -j8
J=8
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
TARGET_LIST=
FGC=f25
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
DISTTAG=f25container
FEATURES=mingw clang pyyaml asan dtc
DEBUG=
_=/usr/bin/env

Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install --cross-prefix=x86_64-w64-mingw32- --enable-trace-backends=simple --enable-gnutls --enable-nettle --enable-curl --enable-vnc --enable-bzip2 --enable-guest-agent --with-sdlabi=1.2 --with-gtkabi=2.0
Install prefix    /tmp/qemu-test/install
BIOS directory    /tmp/qemu-test/install
firmware path     /tmp/qemu-test/install/share/qemu-firmware
binary directory  /tmp/qemu-test/install
library directory /tmp/qemu-test/install/lib
module directory  /tmp/qemu-test/install/lib
libexec directory /tmp/qemu-test/install/libexec
include directory /tmp/qemu-test/install/include
config directory  /tmp/qemu-test/install
local state directory   queried at runtime
Windows SDK       no
Source path       /tmp/qemu-test/src
GIT binary        git
GIT submodules    
C compiler        x86_64-w64-mingw32-gcc
Host C compiler   cc
C++ compiler      x86_64-w64-mingw32-g++
Objective-C compiler clang
ARFLAGS           rv
CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS       -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/pixman-1  -I$(SRC_PATH)/dtc/libfdt -Werror -mms-bitfields -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0 -I/usr/x86_64-w64-mingw32/sys-root/mingw/lib/glib-2.0/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include  -m64 -mcx16 -mthreads -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv  -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/p11-kit-1 -I/usr/x86_64-w64-mingw32/sys-root/mingw/include  -I/usr/x86_64-w64-mingw32/sys-root/mingw/include   -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/libpng16 
LDFLAGS           -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m64 -g 
make              make
install           install
python            python -B
smbd              /usr/sbin/smbd
module support    no
host CPU          x86_64
host big endian   no
target list       x86_64-softmmu aarch64-softmmu
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
SDL support       yes (1.2.15)
GTK support       yes (2.24.31)
GTK GL support    no
VTE support       no 
TLS priority      NORMAL
GNUTLS support    yes
GNUTLS rnd        yes
libgcrypt         no
libgcrypt kdf     no
nettle            yes (3.3)
nettle kdf        yes
libtasn1          yes
curses support    no
virgl support     no
curl support      yes
mingw32 support   yes
Audio drivers     dsound
Block whitelist (rw) 
Block whitelist (ro) 
VirtFS support    no
Multipath support no
VNC support       yes
VNC SASL support  no
VNC JPEG support  yes
VNC PNG support   yes
xen support       no
brlapi support    no
bluez  support    no
Documentation     no
PIE               no
vde support       no
netmap support    no
Linux AIO support no
ATTR/XATTR support no
Install blobs     yes
KVM support       no
HAX support       yes
HVF support       no
TCG support       yes
TCG debug enabled no
TCG interpreter   no
malloc trim support no
RDMA support      no
fdt support       yes
preadv support    no
fdatasync         no
madvise           no
posix_madvise     no
libcap-ng support no
vhost-net support no
vhost-scsi support no
vhost-vsock support no
vhost-user support no
Trace backends    simple
Trace output file trace-<pid>
spice support     no 
rbd support       no
xfsctl support    no
smartcard support no
libusb            no
usb net redir     no
OpenGL support    no
OpenGL dmabufs    no
libiscsi support  no
libnfs support    no
build guest agent yes
QGA VSS support   no
QGA w32 disk info yes
QGA MSI support   no
seccomp support   no
coroutine backend win32
coroutine pool    yes
debug stack usage no
crypto afalg      no
GlusterFS support no
gcov              gcov
gcov enabled      no
TPM support       yes
libssh2 support   yes
TPM passthrough   no
TPM emulator      no
QOM debugging     yes
Live block migration yes
lzo support       no
snappy support    no
bzip2 support     yes
NUMA host support no
libxml2           no
tcmalloc support  no
jemalloc support  no
avx2 optimization yes
replication support yes
VxHS block device no
capstone          no
vmbus support     no

WARNING: Use of GTK 2.0 is deprecated and will be removed in
WARNING: future releases. Please switch to using GTK 3.0

WARNING: Use of SDL 1.2 is deprecated and will be removed in
WARNING: future releases. Please switch to using SDL 2.0
  GEN     x86_64-softmmu/config-devices.mak.tmp
  GEN     aarch64-softmmu/config-devices.mak.tmp
  GEN     qemu-options.def
  GEN     config-host.h
  GEN     qmp-commands.h
  GEN     qapi-visit.h
  GEN     qapi-types.h
  GEN     qapi-event.h
  GEN     qmp-marshal.c
  GEN     x86_64-softmmu/config-devices.mak
  GEN     aarch64-softmmu/config-devices.mak
  GEN     qapi-types.c
  GEN     qapi-visit.c
  GEN     qapi-event.c
  GEN     qmp-introspect.h
  GEN     qmp-introspect.c
  GEN     trace/generated-tcg-tracers.h
  GEN     trace/generated-helpers-wrappers.h
  GEN     trace/generated-helpers.h
  GEN     trace/generated-helpers.c
  GEN     module_block.h
  GEN     ui/input-keymap-atset1-to-qcode.c
  GEN     ui/input-keymap-linux-to-qcode.c
  GEN     ui/input-keymap-qcode-to-atset1.c
  GEN     ui/input-keymap-qcode-to-atset2.c
  GEN     ui/input-keymap-qcode-to-atset3.c
  GEN     ui/input-keymap-qcode-to-linux.c
  GEN     ui/input-keymap-qcode-to-qnum.c
  GEN     ui/input-keymap-qcode-to-sun.c
  GEN     ui/input-keymap-qnum-to-qcode.c
  GEN     ui/input-keymap-usb-to-qcode.c
  GEN     ui/input-keymap-win32-to-qcode.c
  GEN     ui/input-keymap-x11-to-qcode.c
  GEN     ui/input-keymap-xorgevdev-to-qcode.c
  GEN     ui/input-keymap-xorgkbd-to-qcode.c
  GEN     ui/input-keymap-xorgxquartz-to-qcode.c
  GEN     ui/input-keymap-xorgxwin-to-qcode.c
  GEN     tests/test-qapi-types.h
  GEN     tests/test-qapi-visit.h
  GEN     tests/test-qmp-commands.h
  GEN     tests/test-qapi-event.h
  GEN     tests/test-qmp-introspect.h
  GEN     trace-root.h
  GEN     util/trace.h
  GEN     crypto/trace.h
  GEN     io/trace.h
  GEN     migration/trace.h
  GEN     block/trace.h
  GEN     chardev/trace.h
  GEN     hw/block/trace.h
  GEN     hw/block/dataplane/trace.h
  GEN     hw/char/trace.h
  GEN     hw/intc/trace.h
  GEN     hw/net/trace.h
  GEN     hw/virtio/trace.h
  GEN     hw/audio/trace.h
  GEN     hw/misc/trace.h
  GEN     hw/usb/trace.h
  GEN     hw/nvram/trace.h
  GEN     hw/scsi/trace.h
  GEN     hw/display/trace.h
  GEN     hw/input/trace.h
  GEN     hw/timer/trace.h
  GEN     hw/dma/trace.h
  GEN     hw/sparc/trace.h
  GEN     hw/sparc64/trace.h
  GEN     hw/sd/trace.h
  GEN     hw/isa/trace.h
  GEN     hw/mem/trace.h
  GEN     hw/i386/trace.h
  GEN     hw/i386/xen/trace.h
  GEN     hw/9pfs/trace.h
  GEN     hw/ppc/trace.h
  GEN     hw/pci/trace.h
  GEN     hw/pci-host/trace.h
  GEN     hw/s390x/trace.h
  GEN     hw/vfio/trace.h
  GEN     hw/acpi/trace.h
  GEN     hw/arm/trace.h
  GEN     hw/alpha/trace.h
  GEN     hw/hppa/trace.h
  GEN     hw/xen/trace.h
  GEN     hw/ide/trace.h
  GEN     hw/vmbus/trace.h
  GEN     ui/trace.h
  GEN     audio/trace.h
  GEN     net/trace.h
  GEN     target/arm/trace.h
  GEN     target/i386/trace.h
  GEN     target/mips/trace.h
  GEN     target/sparc/trace.h
  GEN     target/s390x/trace.h
  GEN     target/ppc/trace.h
  GEN     qom/trace.h
  GEN     linux-user/trace.h
  GEN     qapi/trace.h
  GEN     accel/tcg/trace.h
  GEN     accel/kvm/trace.h
  GEN     nbd/trace.h
  GEN     trace-root.c
  GEN     scsi/trace.h
  GEN     util/trace.c
  GEN     crypto/trace.c
  GEN     io/trace.c
  GEN     migration/trace.c
  GEN     block/trace.c
  GEN     chardev/trace.c
  GEN     hw/block/trace.c
  GEN     hw/block/dataplane/trace.c
  GEN     hw/char/trace.c
  GEN     hw/intc/trace.c
  GEN     hw/net/trace.c
  GEN     hw/virtio/trace.c
  GEN     hw/audio/trace.c
  GEN     hw/misc/trace.c
  GEN     hw/usb/trace.c
  GEN     hw/scsi/trace.c
  GEN     hw/nvram/trace.c
  GEN     hw/display/trace.c
  GEN     hw/input/trace.c
  GEN     hw/timer/trace.c
  GEN     hw/dma/trace.c
  GEN     hw/sparc/trace.c
  GEN     hw/sparc64/trace.c
  GEN     hw/sd/trace.c
  GEN     hw/isa/trace.c
  GEN     hw/mem/trace.c
  GEN     hw/i386/trace.c
  GEN     hw/i386/xen/trace.c
  GEN     hw/9pfs/trace.c
  GEN     hw/ppc/trace.c
  GEN     hw/pci/trace.c
  GEN     hw/pci-host/trace.c
  GEN     hw/s390x/trace.c
  GEN     hw/vfio/trace.c
  GEN     hw/acpi/trace.c
  GEN     hw/arm/trace.c
  GEN     hw/alpha/trace.c
  GEN     hw/hppa/trace.c
  GEN     hw/xen/trace.c
  GEN     hw/ide/trace.c
  GEN     hw/vmbus/trace.c
  GEN     ui/trace.c
  GEN     audio/trace.c
  GEN     net/trace.c
  GEN     target/arm/trace.c
  GEN     target/i386/trace.c
  GEN     target/mips/trace.c
  GEN     target/sparc/trace.c
  GEN     target/s390x/trace.c
  GEN     target/ppc/trace.c
  GEN     qom/trace.c
  GEN     linux-user/trace.c
  GEN     qapi/trace.c
  GEN     accel/tcg/trace.c
  GEN     accel/kvm/trace.c
  GEN     nbd/trace.c
  GEN     scsi/trace.c
  GEN     config-all-devices.mak
	 DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c
	 DEP /tmp/qemu-test/src/dtc/tests/trees.S
	 DEP /tmp/qemu-test/src/dtc/tests/testutils.c
	 DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c
	 DEP /tmp/qemu-test/src/dtc/tests/value-labels.c
	 DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/check_path.c
	 DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c
	 DEP /tmp/qemu-test/src/dtc/tests/overlay.c
	 DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c
	 DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c
	 DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c
	 DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c
	 DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c
	 DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c
	 DEP /tmp/qemu-test/src/dtc/tests/incbin.c
	 DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c
	 DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c
	 DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c
	 DEP /tmp/qemu-test/src/dtc/tests/path-references.c
	 DEP /tmp/qemu-test/src/dtc/tests/references.c
	 DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c
	 DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c
	 DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c
	 DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c
	 DEP /tmp/qemu-test/src/dtc/tests/del_node.c
	 DEP /tmp/qemu-test/src/dtc/tests/del_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/setprop.c
	 DEP /tmp/qemu-test/src/dtc/tests/set_name.c
	 DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c
	 DEP /tmp/qemu-test/src/dtc/tests/open_pack.c
	 DEP /tmp/qemu-test/src/dtc/tests/nopulate.c
	 DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c
	 DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c
	 DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c
	 DEP /tmp/qemu-test/src/dtc/tests/nop_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c
	 DEP /tmp/qemu-test/src/dtc/tests/nop_node.c
	 DEP /tmp/qemu-test/src/dtc/tests/stringlist.c
	 DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c
	 DEP /tmp/qemu-test/src/dtc/tests/notfound.c
	 DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c
	 DEP /tmp/qemu-test/src/dtc/tests/char_literal.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_alias.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c
	 DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_path.c
	 DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/getprop.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_name.c
	 DEP /tmp/qemu-test/src/dtc/tests/path_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/find_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/root_node.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c
	 DEP /tmp/qemu-test/src/dtc/fdtoverlay.c
	 DEP /tmp/qemu-test/src/dtc/util.c
	 DEP /tmp/qemu-test/src/dtc/fdtput.c
	 DEP /tmp/qemu-test/src/dtc/fdtdump.c
	 DEP /tmp/qemu-test/src/dtc/fdtget.c
	 DEP /tmp/qemu-test/src/dtc/srcpos.c
	 LEX convert-dtsv0-lexer.lex.c
	 BISON dtc-parser.tab.c
	 LEX dtc-lexer.lex.c
	 DEP /tmp/qemu-test/src/dtc/treesource.c
	 DEP /tmp/qemu-test/src/dtc/livetree.c
	 DEP /tmp/qemu-test/src/dtc/fstree.c
	 DEP /tmp/qemu-test/src/dtc/flattree.c
	 DEP /tmp/qemu-test/src/dtc/dtc.c
	 DEP /tmp/qemu-test/src/dtc/data.c
	 DEP /tmp/qemu-test/src/dtc/checks.c
	 DEP convert-dtsv0-lexer.lex.c
	 DEP dtc-parser.tab.c
	 DEP dtc-lexer.lex.c
	CHK version_gen.h
	UPD version_gen.h
	 DEP /tmp/qemu-test/src/dtc/util.c
	 CC libfdt/fdt.o
	 CC libfdt/fdt_ro.o
	 CC libfdt/fdt_wip.o
	 CC libfdt/fdt_sw.o
	 CC libfdt/fdt_rw.o
	 CC libfdt/fdt_strerror.o
	 CC libfdt/fdt_empty_tree.o
	 CC libfdt/fdt_addresses.o
	 CC libfdt/fdt_overlay.o
	 AR libfdt/libfdt.a
x86_64-w64-mingw32-ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
a - libfdt/fdt_addresses.o
a - libfdt/fdt_overlay.o
  RC      version.o
  GEN     qga/qapi-generated/qga-qapi-types.h
  GEN     qga/qapi-generated/qga-qapi-visit.h
  GEN     qga/qapi-generated/qga-qapi-types.c
  GEN     qga/qapi-generated/qga-qmp-commands.h
  GEN     qga/qapi-generated/qga-qapi-visit.c
  CC      qmp-introspect.o
  GEN     qga/qapi-generated/qga-qmp-marshal.c
  CC      qapi-types.o
  CC      qapi-visit.o
  CC      qapi-event.o
  CC      qapi/qapi-visit-core.o
  CC      qapi/qapi-dealloc-visitor.o
  CC      qapi/qobject-input-visitor.o
  CC      qapi/qmp-registry.o
  CC      qapi/qmp-dispatch.o
  CC      qapi/qobject-output-visitor.o
  CC      qapi/string-input-visitor.o
  CC      qapi/string-output-visitor.o
  CC      qapi/opts-visitor.o
  CC      qapi/qapi-clone-visitor.o
  CC      qapi/qmp-event.o
  CC      qapi/qapi-util.o
  CC      qobject/qnull.o
  CC      qobject/qnum.o
  CC      qobject/qstring.o
  CC      qobject/qdict.o
  CC      qobject/qlist.o
  CC      qobject/qbool.o
  CC      qobject/qjson.o
  CC      qobject/qlit.o
  CC      qobject/qobject.o
  CC      qobject/json-lexer.o
  CC      qobject/json-streamer.o
  CC      qobject/json-parser.o
  CC      trace/simple.o
  CC      trace/control.o
  CC      trace/qmp.o
  CC      util/osdep.o
  CC      util/cutils.o
  CC      util/unicode.o
  CC      util/qemu-timer-common.o
  CC      util/bufferiszero.o
  CC      util/lockcnt.o
  CC      util/aiocb.o
  CC      util/async.o
  CC      util/thread-pool.o
  CC      util/main-loop.o
  CC      util/qemu-timer.o
  CC      util/iohandler.o
  CC      util/aio-win32.o
  CC      util/event_notifier-win32.o
  CC      util/oslib-win32.o
  CC      util/qemu-thread-win32.o
  CC      util/envlist.o
  CC      util/path.o
  CC      util/module.o
  CC      util/host-utils.o
  CC      util/bitmap.o
  CC      util/bitops.o
  CC      util/hbitmap.o
  CC      util/fifo8.o
  CC      util/acl.o
  CC      util/cacheinfo.o
  CC      util/error.o
  CC      util/qemu-error.o
  CC      util/id.o
  CC      util/iov.o
  CC      util/qemu-config.o
  CC      util/qemu-sockets.o
  CC      util/uri.o
  CC      util/notify.o
  CC      util/qemu-progress.o
  CC      util/qemu-option.o
  CC      util/keyval.o
  CC      util/hexdump.o
  CC      util/crc32c.o
  CC      util/uuid.o
  CC      util/throttle.o
  CC      util/getauxval.o
  CC      util/readline.o
  CC      util/rcu.o
  CC      util/qemu-coroutine.o
  CC      util/qemu-coroutine-lock.o
  CC      util/qemu-coroutine-io.o
  CC      util/qemu-coroutine-sleep.o
  CC      util/coroutine-win32.o
  CC      util/buffer.o
  CC      util/timed-average.o
  CC      util/base64.o
  CC      util/log.o
  CC      util/pagesize.o
  CC      util/qdist.o
  CC      util/qht.o
  CC      util/range.o
  CC      util/stats64.o
  CC      util/systemd.o
  CC      trace-root.o
  CC      util/trace.o
  CC      crypto/trace.o
  CC      io/trace.o
  CC      migration/trace.o
  CC      block/trace.o
  CC      chardev/trace.o
  CC      hw/block/trace.o
  CC      hw/block/dataplane/trace.o
  CC      hw/char/trace.o
  CC      hw/intc/trace.o
  CC      hw/net/trace.o
  CC      hw/virtio/trace.o
  CC      hw/audio/trace.o
  CC      hw/misc/trace.o
  CC      hw/usb/trace.o
  CC      hw/nvram/trace.o
  CC      hw/scsi/trace.o
  CC      hw/display/trace.o
  CC      hw/input/trace.o
  CC      hw/timer/trace.o
  CC      hw/dma/trace.o
  CC      hw/sparc/trace.o
  CC      hw/sparc64/trace.o
  CC      hw/sd/trace.o
  CC      hw/isa/trace.o
  CC      hw/mem/trace.o
  CC      hw/i386/trace.o
  CC      hw/i386/xen/trace.o
  CC      hw/9pfs/trace.o
  CC      hw/ppc/trace.o
  CC      hw/pci/trace.o
  CC      hw/pci-host/trace.o
  CC      hw/s390x/trace.o
  CC      hw/vfio/trace.o
  CC      hw/acpi/trace.o
  CC      hw/arm/trace.o
  CC      hw/alpha/trace.o
  CC      hw/hppa/trace.o
  CC      hw/xen/trace.o
  CC      hw/ide/trace.o
  CC      ui/trace.o
  CC      hw/vmbus/trace.o
  CC      audio/trace.o
  CC      net/trace.o
  CC      target/arm/trace.o
  CC      target/i386/trace.o
  CC      target/mips/trace.o
  CC      target/sparc/trace.o
  CC      target/s390x/trace.o
  CC      target/ppc/trace.o
  CC      qom/trace.o
  CC      linux-user/trace.o
  CC      qapi/trace.o
  CC      accel/tcg/trace.o
  CC      accel/kvm/trace.o
  CC      nbd/trace.o
  CC      scsi/trace.o
  CC      crypto/pbkdf-stub.o
  CC      stubs/arch-query-cpu-model-expansion.o
  CC      stubs/arch-query-cpu-def.o
  CC      stubs/arch-query-cpu-model-comparison.o
  CC      stubs/arch-query-cpu-model-baseline.o
  CC      stubs/bdrv-next-monitor-owned.o
  CC      stubs/blk-commit-all.o
  CC      stubs/blockdev-close-all-bdrv-states.o
  CC      stubs/clock-warp.o
  CC      stubs/cpu-get-clock.o
  CC      stubs/cpu-get-icount.o
  CC      stubs/dump.o
  CC      stubs/fdset.o
  CC      stubs/error-printf.o
  CC      stubs/gdbstub.o
  CC      stubs/get-vm-name.o
  CC      stubs/iothread.o
  CC      stubs/iothread-lock.o
  CC      stubs/is-daemonized.o
  CC      stubs/machine-init-done.o
  CC      stubs/migr-blocker.o
  CC      stubs/change-state-handler.o
  CC      stubs/monitor.o
  CC      stubs/notify-event.o
  CC      stubs/qtest.o
  CC      stubs/replay.o
  CC      stubs/runstate-check.o
  CC      stubs/set-fd-handler.o
  CC      stubs/slirp.o
  CC      stubs/sysbus.o
  CC      stubs/tpm.o
  CC      stubs/trace-control.o
  CC      stubs/uuid.o
  CC      stubs/vm-stop.o
  CC      stubs/vmstate.o
  CC      stubs/fd-register.o
  CC      stubs/qmp_pc_dimm.o
  CC      stubs/target-monitor-defs.o
  CC      stubs/target-get-monitor-def.o
  CC      stubs/pc_madt_cpu_entry.o
  CC      stubs/vmgenid.o
  CC      stubs/xen-common.o
  CC      stubs/xen-hvm.o
  CC      stubs/pci-host-piix.o
  GEN     qemu-img-cmds.h
  CC      block.o
  CC      blockjob.o
  CC      qemu-io-cmds.o
  CC      replication.o
  CC      block/raw-format.o
  CC      block/qcow.o
  CC      block/vdi.o
  CC      block/vmdk.o
  CC      block/cloop.o
  CC      block/bochs.o
  CC      block/vpc.o
  CC      block/vvfat.o
  CC      block/dmg.o
  CC      block/qcow2.o
  CC      block/qcow2-refcount.o
  CC      block/qcow2-cluster.o
  CC      block/qcow2-snapshot.o
  CC      block/qcow2-cache.o
  CC      block/qcow2-bitmap.o
  CC      block/qed.o
  CC      block/qed-l2-cache.o
  CC      block/qed-table.o
  CC      block/qed-cluster.o
  CC      block/qed-check.o
  CC      block/vhdx.o
  CC      block/vhdx-endian.o
  CC      block/vhdx-log.o
  CC      block/quorum.o
  CC      block/parallels.o
  CC      block/blkdebug.o
  CC      block/blkverify.o
  CC      block/blkreplay.o
  CC      block/block-backend.o
  CC      block/snapshot.o
  CC      block/qapi.o
  CC      block/file-win32.o
  CC      block/win32-aio.o
  CC      block/null.o
  CC      block/mirror.o
  CC      block/commit.o
  CC      block/io.o
  CC      block/throttle-groups.o
  CC      block/nbd.o
  CC      block/nbd-client.o
  CC      block/sheepdog.o
  CC      block/accounting.o
  CC      block/dirty-bitmap.o
  CC      block/backup.o
  CC      block/write-threshold.o
  CC      block/replication.o
  CC      block/throttle.o
  CC      block/crypto.o
  CC      nbd/server.o
  CC      nbd/client.o
  CC      nbd/common.o
  CC      scsi/utils.o
  CC      block/curl.o
  CC      block/ssh.o
  CC      block/dmg-bz2.o
  CC      crypto/init.o
  CC      crypto/hash.o
  CC      crypto/hash-nettle.o
  CC      crypto/hmac.o
  CC      crypto/hmac-nettle.o
  CC      crypto/aes.o
  CC      crypto/desrfb.o
  CC      crypto/cipher.o
  CC      crypto/tlscreds.o
  CC      crypto/tlscredsanon.o
  CC      crypto/tlscredsx509.o
  CC      crypto/tlssession.o
  CC      crypto/secret.o
  CC      crypto/random-gnutls.o
  CC      crypto/pbkdf.o
  CC      crypto/pbkdf-nettle.o
  CC      crypto/ivgen.o
  CC      crypto/ivgen-essiv.o
  CC      crypto/ivgen-plain.o
  CC      crypto/ivgen-plain64.o
  CC      crypto/afsplit.o
  CC      crypto/xts.o
  CC      crypto/block.o
  CC      crypto/block-qcow.o
  CC      crypto/block-luks.o
  CC      io/channel.o
  CC      io/channel-buffer.o
  CC      io/channel-command.o
  CC      io/channel-file.o
  CC      io/channel-socket.o
  CC      io/channel-tls.o
  CC      io/channel-watch.o
  CC      io/channel-websock.o
  CC      io/channel-util.o
  CC      io/dns-resolver.o
  CC      io/net-listener.o
  CC      io/task.o
  CC      qom/object.o
  CC      qom/container.o
  CC      qom/qom-qobject.o
  CC      qom/object_interfaces.o
  CC      qemu-io.o
  CC      blockdev.o
  CC      blockdev-nbd.o
  CC      bootdevice.o
  CC      iothread.o
  CC      qdev-monitor.o
  CC      device-hotplug.o
  CC      os-win32.o
  CC      bt-host.o
  CC      bt-vhci.o
  CC      dma-helpers.o
  CC      vl.o
  CC      tpm.o
  CC      device_tree.o
  CC      qmp-marshal.o
  CC      qmp.o
  CC      cpus-common.o
  CC      audio/audio.o
  CC      hmp.o
  CC      audio/noaudio.o
  CC      audio/wavaudio.o
  CC      audio/mixeng.o
  CC      audio/sdlaudio.o
  CC      audio/dsoundaudio.o
  CC      audio/audio_win_int.o
  CC      audio/wavcapture.o
  CC      backends/rng.o
  CC      backends/rng-egd.o
  CC      backends/tpm.o
  CC      backends/hostmem.o
  CC      backends/hostmem-ram.o
  CC      backends/cryptodev.o
  CC      backends/cryptodev-builtin.o
  CC      block/stream.o
  CC      chardev/msmouse.o
  CC      chardev/wctablet.o
  CC      chardev/testdev.o
  CC      disas/arm.o
  CXX     disas/arm-a64.o
  CC      disas/i386.o
  CXX     disas/libvixl/vixl/utils.o
  CXX     disas/libvixl/vixl/compiler-intrinsics.o
  CXX     disas/libvixl/vixl/a64/instructions-a64.o
  CXX     disas/libvixl/vixl/a64/decoder-a64.o
  CC      hw/acpi/core.o
  CXX     disas/libvixl/vixl/a64/disasm-a64.o
  CC      hw/acpi/piix4.o
  CC      hw/acpi/pcihp.o
  CC      hw/acpi/ich9.o
  CC      hw/acpi/tco.o
  CC      hw/acpi/cpu_hotplug.o
  CC      hw/acpi/memory_hotplug.o
  CC      hw/acpi/cpu.o
  CC      hw/acpi/nvdimm.o
  CC      hw/acpi/vmgenid.o
  CC      hw/acpi/acpi_interface.o
  CC      hw/acpi/bios-linker-loader.o
  CC      hw/acpi/aml-build.o
  CC      hw/acpi/ipmi.o
  CC      hw/acpi/acpi-stub.o
  CC      hw/acpi/ipmi-stub.o
  CC      hw/audio/sb16.o
  CC      hw/audio/es1370.o
  CC      hw/audio/ac97.o
  CC      hw/audio/fmopl.o
  CC      hw/audio/adlib.o
  CC      hw/audio/gus.o
  CC      hw/audio/gusemu_hal.o
  CC      hw/audio/gusemu_mixer.o
  CC      hw/audio/cs4231a.o
  CC      hw/audio/intel-hda.o
  CC      hw/audio/hda-codec.o
  CC      hw/audio/pcspk.o
  CC      hw/audio/wm8750.o
  CC      hw/audio/pl041.o
  CC      hw/audio/lm4549.o
  CC      hw/audio/marvell_88w8618.o
  CC      hw/audio/soundhw.o
  CC      hw/block/block.o
  CC      hw/block/hd-geometry.o
  CC      hw/block/cdrom.o
  CC      hw/block/fdc.o
  CC      hw/block/m25p80.o
  CC      hw/block/nand.o
  CC      hw/block/pflash_cfi01.o
  CC      hw/block/pflash_cfi02.o
  CC      hw/block/ecc.o
  CC      hw/block/onenand.o
  CC      hw/block/nvme.o
  CC      hw/bt/core.o
  CC      hw/bt/sdp.o
  CC      hw/bt/l2cap.o
  CC      hw/bt/hci.o
  CC      hw/bt/hid.o
  CC      hw/bt/hci-csr.o
  CC      hw/char/ipoctal232.o
  CC      hw/char/parallel.o
  CC      hw/char/pl011.o
  CC      hw/char/serial.o
  CC      hw/char/serial-isa.o
  CC      hw/char/serial-pci.o
  CC      hw/char/virtio-console.o
  CC      hw/char/cadence_uart.o
  CC      hw/char/cmsdk-apb-uart.o
  CC      hw/char/debugcon.o
  CC      hw/char/imx_serial.o
  CC      hw/core/qdev.o
  CC      hw/core/qdev-properties.o
  CC      hw/core/bus.o
  CC      hw/core/reset.o
  CC      hw/core/qdev-fw.o
  CC      hw/core/fw-path-provider.o
  CC      hw/core/irq.o
  CC      hw/core/hotplug.o
  CC      hw/core/stream.o
  CC      hw/core/nmi.o
  CC      hw/core/ptimer.o
  CC      hw/core/sysbus.o
  CC      hw/core/machine.o
  CC      hw/core/loader.o
  CC      hw/core/register.o
  CC      hw/core/qdev-properties-system.o
  CC      hw/core/or-irq.o
  CC      hw/cpu/core.o
  CC      hw/core/platform-bus.o
  CC      hw/display/ads7846.o
  CC      hw/display/cirrus_vga.o
  CC      hw/display/pl110.o
  CC      hw/display/ssd0303.o
  CC      hw/display/ssd0323.o
  CC      hw/display/vga-pci.o
  CC      hw/display/vga-isa.o
  CC      hw/display/vmware_vga.o
  CC      hw/display/blizzard.o
  CC      hw/display/exynos4210_fimd.o
  CC      hw/display/framebuffer.o
  CC      hw/display/tc6393xb.o
  CC      hw/dma/pl080.o
  CC      hw/dma/pl330.o
  CC      hw/dma/i8257.o
  CC      hw/dma/xilinx_axidma.o
  CC      hw/dma/xlnx-zynq-devcfg.o
  CC      hw/gpio/max7310.o
  CC      hw/gpio/pl061.o
  CC      hw/gpio/zaurus.o
  CC      hw/gpio/gpio_key.o
  CC      hw/i2c/core.o
  CC      hw/i2c/smbus.o
  CC      hw/i2c/smbus_eeprom.o
  CC      hw/i2c/i2c-ddc.o
  CC      hw/i2c/versatile_i2c.o
  CC      hw/i2c/smbus_ich9.o
  CC      hw/i2c/pm_smbus.o
  CC      hw/i2c/bitbang_i2c.o
  CC      hw/i2c/exynos4210_i2c.o
  CC      hw/i2c/imx_i2c.o
  CC      hw/i2c/aspeed_i2c.o
  CC      hw/ide/core.o
  CC      hw/ide/atapi.o
  CC      hw/ide/qdev.o
  CC      hw/ide/pci.o
  CC      hw/ide/isa.o
  CC      hw/ide/piix.o
  CC      hw/ide/microdrive.o
  CC      hw/ide/ahci.o
  CC      hw/ide/ich.o
  CC      hw/ide/ahci-allwinner.o
  CC      hw/input/hid.o
  CC      hw/input/lm832x.o
  CC      hw/input/pckbd.o
  CC      hw/input/pl050.o
  CC      hw/input/ps2.o
  CC      hw/input/stellaris_input.o
  CC      hw/input/tsc2005.o
  CC      hw/input/virtio-input.o
  CC      hw/input/virtio-input-hid.o
  CC      hw/intc/i8259_common.o
  CC      hw/intc/i8259.o
  CC      hw/intc/pl190.o
  CC      hw/intc/xlnx-pmu-iomod-intc.o
  CC      hw/intc/xlnx-zynqmp-ipi.o
  CC      hw/intc/imx_avic.o
  CC      hw/intc/realview_gic.o
  CC      hw/intc/ioapic_common.o
  CC      hw/intc/arm_gic_common.o
  CC      hw/intc/arm_gic.o
  CC      hw/intc/arm_gicv2m.o
  CC      hw/intc/arm_gicv3_common.o
  CC      hw/intc/arm_gicv3.o
  CC      hw/intc/arm_gicv3_dist.o
  CC      hw/intc/arm_gicv3_redist.o
  CC      hw/intc/arm_gicv3_its_common.o
  CC      hw/intc/intc.o
  CC      hw/ipack/ipack.o
  CC      hw/ipack/tpci200.o
  CC      hw/ipmi/ipmi_bmc_sim.o
  CC      hw/ipmi/ipmi.o
  CC      hw/ipmi/ipmi_bmc_extern.o
  CC      hw/ipmi/isa_ipmi_kcs.o
  CC      hw/ipmi/isa_ipmi_bt.o
  CC      hw/isa/isa-bus.o
  CC      hw/isa/apm.o
  CC      hw/mem/pc-dimm.o
  CC      hw/mem/nvdimm.o
  CC      hw/misc/applesmc.o
  CC      hw/misc/max111x.o
  CC      hw/misc/tmp105.o
  CC      hw/misc/tmp421.o
  CC      hw/misc/debugexit.o
  CC      hw/misc/sga.o
  CC      hw/misc/pc-testdev.o
  CC      hw/misc/pci-testdev.o
  CC      hw/misc/edu.o
  CC      hw/misc/unimp.o
  CC      hw/misc/vmcoreinfo.o
  CC      hw/misc/arm_l2x0.o
  CC      hw/misc/arm_integrator_debug.o
  CC      hw/misc/a9scu.o
  CC      hw/misc/arm11scu.o
  CC      hw/net/ne2000.o
  CC      hw/net/eepro100.o
  CC      hw/net/pcnet-pci.o
  CC      hw/net/pcnet.o
  CC      hw/net/e1000.o
  CC      hw/net/e1000x_common.o
  CC      hw/net/net_tx_pkt.o
  CC      hw/net/net_rx_pkt.o
  CC      hw/net/e1000e.o
  CC      hw/net/e1000e_core.o
  CC      hw/net/rtl8139.o
  CC      hw/net/vmxnet3.o
  CC      hw/net/smc91c111.o
  CC      hw/net/lan9118.o
  CC      hw/net/ne2000-isa.o
  CC      hw/net/xgmac.o
  CC      hw/net/xilinx_axienet.o
  CC      hw/net/allwinner_emac.o
  CC      hw/net/imx_fec.o
  CC      hw/net/cadence_gem.o
  CC      hw/net/stellaris_enet.o
  CC      hw/net/ftgmac100.o
  CC      hw/net/rocker/rocker.o
  CC      hw/net/rocker/rocker_fp.o
  CC      hw/net/rocker/rocker_desc.o
  CC      hw/net/rocker/rocker_world.o
  CC      hw/net/rocker/rocker_of_dpa.o
  CC      hw/nvram/eeprom93xx.o
  CC      hw/nvram/eeprom_at24c.o
  CC      hw/nvram/fw_cfg.o
  CC      hw/nvram/chrp_nvram.o
  CC      hw/pci-bridge/pci_bridge_dev.o
  CC      hw/pci-bridge/pcie_root_port.o
  CC      hw/pci-bridge/gen_pcie_root_port.o
  CC      hw/pci-bridge/pcie_pci_bridge.o
  CC      hw/pci-bridge/pci_expander_bridge.o
  CC      hw/pci-bridge/xio3130_upstream.o
  CC      hw/pci-bridge/xio3130_downstream.o
  CC      hw/pci-bridge/ioh3420.o
  CC      hw/pci-bridge/i82801b11.o
  CC      hw/pci-host/pam.o
  CC      hw/pci-host/versatile.o
  CC      hw/pci-host/piix.o
  CC      hw/pci-host/q35.o
  CC      hw/pci-host/gpex.o
  CC      hw/pci/pci.o
  CC      hw/pci/pci_bridge.o
  CC      hw/pci/msix.o
  CC      hw/pci/msi.o
  CC      hw/pci/shpc.o
  CC      hw/pci/slotid_cap.o
  CC      hw/pci/pci_host.o
  CC      hw/pci/pcie_host.o
  CC      hw/pci/pcie.o
  CC      hw/pci/pcie_aer.o
  CC      hw/pci/pcie_port.o
  CC      hw/pci/pci-stub.o
  CC      hw/pcmcia/pcmcia.o
  CC      hw/scsi/scsi-disk.o
  CC      hw/scsi/scsi-generic.o
  CC      hw/scsi/scsi-bus.o
  CC      hw/scsi/lsi53c895a.o
  CC      hw/scsi/mptsas.o
  CC      hw/scsi/mptconfig.o
  CC      hw/scsi/mptendian.o
  CC      hw/scsi/megasas.o
  CC      hw/scsi/vmw_pvscsi.o
  CC      hw/scsi/esp.o
  CC      hw/scsi/esp-pci.o
  CC      hw/sd/pl181.o
  CC      hw/sd/ssi-sd.o
  CC      hw/sd/sd.o
  CC      hw/sd/core.o
  CC      hw/sd/sdhci.o
  CC      hw/smbios/smbios.o
  CC      hw/smbios/smbios_type_38.o
  CC      hw/smbios/smbios-stub.o
  CC      hw/smbios/smbios_type_38-stub.o
  CC      hw/ssi/pl022.o
  CC      hw/ssi/ssi.o
  CC      hw/ssi/xilinx_spips.o
  CC      hw/ssi/aspeed_smc.o
  CC      hw/ssi/stm32f2xx_spi.o
  CC      hw/ssi/mss-spi.o
  CC      hw/timer/arm_timer.o
  CC      hw/timer/armv7m_systick.o
  CC      hw/timer/arm_mptimer.o
  CC      hw/timer/a9gtimer.o
  CC      hw/timer/cadence_ttc.o
  CC      hw/timer/ds1338.o
  CC      hw/timer/hpet.o
  CC      hw/timer/i8254_common.o
  CC      hw/timer/i8254.o
  CC      hw/timer/pl031.o
  CC      hw/timer/twl92230.o
  CC      hw/timer/imx_epit.o
  CC      hw/timer/imx_gpt.o
  CC      hw/timer/stm32f2xx_timer.o
  CC      hw/timer/aspeed_timer.o
  CC      hw/timer/cmsdk-apb-timer.o
  CC      hw/timer/mss-timer.o
  CC      hw/tpm/tpm_util.o
  CC      hw/tpm/tpm_tis.o
  CC      hw/tpm/tpm_crb.o
  CC      hw/usb/core.o
  CC      hw/usb/combined-packet.o
  CC      hw/usb/bus.o
  CC      hw/usb/libhw.o
  CC      hw/usb/desc.o
  CC      hw/usb/desc-msos.o
  CC      hw/usb/hcd-uhci.o
  CC      hw/usb/hcd-ohci.o
  CC      hw/usb/hcd-ehci.o
  CC      hw/usb/hcd-ehci-pci.o
  CC      hw/usb/hcd-ehci-sysbus.o
  CC      hw/usb/hcd-xhci.o
  CC      hw/usb/hcd-xhci-nec.o
  CC      hw/usb/hcd-musb.o
  CC      hw/usb/dev-hub.o
  CC      hw/usb/dev-hid.o
  CC      hw/usb/dev-wacom.o
  CC      hw/usb/dev-storage.o
  CC      hw/usb/dev-uas.o
  CC      hw/usb/dev-audio.o
  CC      hw/usb/dev-serial.o
  CC      hw/usb/dev-network.o
  CC      hw/usb/dev-bluetooth.o
  CC      hw/usb/dev-smartcard-reader.o
  CC      hw/usb/host-stub.o
  CC      hw/virtio/virtio-rng.o
  CC      hw/virtio/virtio-pci.o
  CC      hw/virtio/virtio-bus.o
  CC      hw/virtio/virtio-mmio.o
  CC      hw/virtio/vhost-stub.o
  CC      hw/watchdog/watchdog.o
  CC      hw/watchdog/wdt_i6300esb.o
  CC      hw/watchdog/wdt_ib700.o
  CC      hw/watchdog/wdt_aspeed.o
  CC      migration/migration.o
  CC      migration/socket.o
  CC      migration/fd.o
  CC      migration/exec.o
  CC      migration/tls.o
  CC      migration/channel.o
  CC      migration/savevm.o
  CC      migration/colo-comm.o
  CC      migration/colo.o
  CC      migration/colo-failover.o
  CC      migration/vmstate-types.o
  CC      migration/vmstate.o
  CC      migration/page_cache.o
  CC      migration/qemu-file.o
  CC      migration/global_state.o
  CC      migration/qemu-file-channel.o
  CC      migration/xbzrle.o
  CC      migration/postcopy-ram.o
  CC      migration/qjson.o
  CC      migration/block.o
  CC      net/net.o
  CC      net/queue.o
  CC      net/checksum.o
  CC      net/util.o
  CC      net/hub.o
  CC      net/socket.o
  CC      net/dump.o
  CC      net/slirp.o
  CC      net/eth.o
  CC      net/filter.o
  CC      net/filter-buffer.o
  CC      net/filter-mirror.o
  CC      net/colo-compare.o
  CC      net/colo.o
  CC      net/filter-rewriter.o
  CC      net/filter-replay.o
  CC      net/tap-win32.o
  CC      qom/cpu.o
  CC      replay/replay.o
  CC      replay/replay-internal.o
  CC      replay/replay-events.o
  CC      replay/replay-time.o
  CC      replay/replay-input.o
  CC      replay/replay-snapshot.o
  CC      replay/replay-char.o
  CC      replay/replay-net.o
  CC      replay/replay-audio.o
  CC      slirp/cksum.o
  CC      slirp/if.o
  CC      slirp/ip_icmp.o
  CC      slirp/ip6_icmp.o
  CC      slirp/ip6_input.o
  CC      slirp/ip6_output.o
  CC      slirp/ip_input.o
  CC      slirp/ip_output.o
  CC      slirp/dnssearch.o
  CC      slirp/dhcpv6.o
  CC      slirp/slirp.o
  CC      slirp/mbuf.o
  CC      slirp/misc.o
  CC      slirp/sbuf.o
  CC      slirp/socket.o
  CC      slirp/tcp_input.o
  CC      slirp/tcp_output.o
  CC      slirp/tcp_subr.o
  CC      slirp/tcp_timer.o
  CC      slirp/udp.o
  CC      slirp/udp6.o
  CC      slirp/tftp.o
  CC      slirp/bootp.o
  CC      slirp/arp_table.o
  CC      slirp/ndp_table.o
  CC      slirp/ncsi.o
  CC      ui/keymaps.o
  CC      ui/console.o
  CC      ui/cursor.o
  CC      ui/qemu-pixman.o
  CC      ui/input.o
  CC      ui/input-keymap.o
  CC      ui/input-legacy.o
  CC      ui/sdl.o
  CC      ui/sdl_zoom.o
  CC      ui/vnc.o
  CC      ui/vnc-enc-zlib.o
  CC      ui/vnc-enc-hextile.o
  CC      ui/vnc-enc-tight.o
  CC      ui/vnc-palette.o
  CC      ui/vnc-enc-zrle.o
  CC      ui/vnc-auth-vencrypt.o
  CC      ui/vnc-ws.o
  CC      ui/vnc-jobs.o
  CC      ui/gtk.o
  CC      chardev/char.o
  CC      chardev/char-console.o
  CC      chardev/char-fe.o
  CC      chardev/char-file.o
  CC      chardev/char-io.o
  CC      chardev/char-mux.o
  CC      chardev/char-null.o
  CC      chardev/char-pipe.o
  CC      chardev/char-ringbuf.o
  CC      chardev/char-serial.o
  CC      chardev/char-socket.o
  CC      chardev/char-stdio.o
  CC      chardev/char-udp.o
  CC      chardev/char-win.o
  CC      chardev/char-win-stdio.o
  CC      qga/commands.o
  CC      qga/guest-agent-command-state.o
  CC      qga/main.o
  AS      optionrom/multiboot.o
  AS      optionrom/linuxboot.o
  CC      optionrom/linuxboot_dma.o
  AS      optionrom/kvmvapic.o
  BUILD   optionrom/multiboot.img
  BUILD   optionrom/linuxboot.img
  CC      qga/commands-win32.o
  CC      qga/channel-win32.o
  BUILD   optionrom/linuxboot_dma.img
  CC      qga/service-win32.o
  BUILD   optionrom/kvmvapic.img
  BUILD   optionrom/multiboot.raw
  CC      qga/vss-win32.o
  CC      qga/qapi-generated/qga-qapi-types.o
  BUILD   optionrom/linuxboot.raw
  CC      qga/qapi-generated/qga-qapi-visit.o
  CC      qga/qapi-generated/qga-qmp-marshal.o
  AR      libqemuutil.a
  BUILD   optionrom/linuxboot_dma.raw
  CC      qemu-img.o
  BUILD   optionrom/kvmvapic.raw
  SIGN    optionrom/linuxboot.bin
  SIGN    optionrom/multiboot.bin
  SIGN    optionrom/linuxboot_dma.bin
  SIGN    optionrom/kvmvapic.bin
  LINK    qemu-io.exe
  LINK    qemu-ga.exe
  LINK    qemu-img.exe
  GEN     x86_64-softmmu/hmp-commands.h
  GEN     x86_64-softmmu/hmp-commands-info.h
  GEN     x86_64-softmmu/config-target.h
  GEN     aarch64-softmmu/config-target.h
  GEN     aarch64-softmmu/hmp-commands.h
  GEN     aarch64-softmmu/hmp-commands-info.h
  CC      x86_64-softmmu/exec.o
  CC      x86_64-softmmu/tcg/tcg.o
  CC      x86_64-softmmu/fpu/softfloat.o
  CC      x86_64-softmmu/tcg/optimize.o
  CC      x86_64-softmmu/tcg/tcg-op.o
  CC      x86_64-softmmu/tcg/tcg-common.o
  CC      x86_64-softmmu/disas.o
  CC      aarch64-softmmu/exec.o
  GEN     x86_64-softmmu/gdbstub-xml.c
  CC      x86_64-softmmu/arch_init.o
  CC      x86_64-softmmu/cpus.o
  CC      aarch64-softmmu/tcg/tcg.o
  CC      x86_64-softmmu/monitor.o
  CC      aarch64-softmmu/tcg/tcg-op.o
  CC      x86_64-softmmu/gdbstub.o
  CC      aarch64-softmmu/tcg/optimize.o
  CC      aarch64-softmmu/tcg/tcg-common.o
  CC      x86_64-softmmu/balloon.o
  CC      x86_64-softmmu/ioport.o
  CC      x86_64-softmmu/numa.o
  CC      x86_64-softmmu/qtest.o
  CC      aarch64-softmmu/fpu/softfloat.o
  CC      aarch64-softmmu/disas.o
  CC      x86_64-softmmu/memory.o
  CC      x86_64-softmmu/memory_mapping.o
  CC      x86_64-softmmu/dump.o
  GEN     aarch64-softmmu/gdbstub-xml.c
  CC      aarch64-softmmu/arch_init.o
  CC      aarch64-softmmu/cpus.o
  CC      aarch64-softmmu/monitor.o
  CC      aarch64-softmmu/gdbstub.o
  CC      aarch64-softmmu/balloon.o
  CC      x86_64-softmmu/migration/ram.o
  CC      aarch64-softmmu/ioport.o
  CC      aarch64-softmmu/numa.o
  CC      aarch64-softmmu/qtest.o
  CC      aarch64-softmmu/memory.o
  CC      aarch64-softmmu/memory_mapping.o
  CC      aarch64-softmmu/dump.o
  CC      x86_64-softmmu/accel/accel.o
  CC      x86_64-softmmu/accel/stubs/hvf-stub.o
  CC      aarch64-softmmu/migration/ram.o
  CC      aarch64-softmmu/accel/accel.o
  CC      aarch64-softmmu/accel/stubs/hax-stub.o
  CC      x86_64-softmmu/accel/stubs/kvm-stub.o
  CC      aarch64-softmmu/accel/stubs/hvf-stub.o
  CC      aarch64-softmmu/accel/stubs/kvm-stub.o
  CC      aarch64-softmmu/accel/tcg/tcg-all.o
  CC      aarch64-softmmu/accel/tcg/cputlb.o
  CC      aarch64-softmmu/accel/tcg/tcg-runtime.o
  CC      x86_64-softmmu/accel/tcg/tcg-all.o
  CC      x86_64-softmmu/accel/tcg/cputlb.o
  CC      x86_64-softmmu/accel/tcg/tcg-runtime.o
  CC      x86_64-softmmu/accel/tcg/cpu-exec.o
  CC      aarch64-softmmu/accel/tcg/cpu-exec.o
  CC      x86_64-softmmu/accel/tcg/cpu-exec-common.o
  CC      aarch64-softmmu/accel/tcg/cpu-exec-common.o
  CC      x86_64-softmmu/accel/tcg/translate-all.o
  CC      aarch64-softmmu/accel/tcg/translate-all.o
  CC      x86_64-softmmu/accel/tcg/translator.o
  CC      x86_64-softmmu/hw/block/virtio-blk.o
  CC      x86_64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      aarch64-softmmu/accel/tcg/translator.o
  CC      x86_64-softmmu/hw/char/virtio-serial-bus.o
  CC      x86_64-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/adc/stm32f2xx_adc.o
  CC      x86_64-softmmu/hw/core/null-machine.o
  CC      aarch64-softmmu/hw/block/virtio-blk.o
  CC      aarch64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      aarch64-softmmu/hw/char/exynos4210_uart.o
  CC      aarch64-softmmu/hw/char/omap_uart.o
  CC      x86_64-softmmu/hw/display/vga.o
  CC      aarch64-softmmu/hw/char/digic-uart.o
  CC      x86_64-softmmu/hw/display/virtio-gpu.o
  CC      aarch64-softmmu/hw/char/stm32f2xx_usart.o
  CC      aarch64-softmmu/hw/char/bcm2835_aux.o
  CC      aarch64-softmmu/hw/char/virtio-serial-bus.o
  CC      aarch64-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/core/null-machine.o
  CC      x86_64-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/hw/cpu/arm11mpcore.o
  CC      x86_64-softmmu/hw/display/virtio-gpu-pci.o
  CC      x86_64-softmmu/hw/display/virtio-vga.o
  CC      x86_64-softmmu/hw/intc/apic.o
  CC      aarch64-softmmu/hw/cpu/realview_mpcore.o
  CC      x86_64-softmmu/hw/intc/apic_common.o
  CC      aarch64-softmmu/hw/cpu/a9mpcore.o
  CC      aarch64-softmmu/hw/cpu/a15mpcore.o
  CC      aarch64-softmmu/hw/display/omap_dss.o
  CC      x86_64-softmmu/hw/intc/ioapic.o
  CC      x86_64-softmmu/hw/isa/lpc_ich9.o
  CC      x86_64-softmmu/hw/misc/pvpanic.o
  CC      x86_64-softmmu/hw/misc/mmio_interface.o
  CC      x86_64-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/hw/display/omap_lcdc.o
  CC      x86_64-softmmu/hw/net/vhost_net.o
  CC      aarch64-softmmu/hw/display/pxa2xx_lcd.o
  CC      aarch64-softmmu/hw/display/bcm2835_fb.o
  CC      aarch64-softmmu/hw/display/vga.o
  CC      aarch64-softmmu/hw/display/virtio-gpu.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-pci.o
  CC      x86_64-softmmu/hw/scsi/virtio-scsi.o
  CC      x86_64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      aarch64-softmmu/hw/display/dpcd.o
  CC      x86_64-softmmu/hw/timer/mc146818rtc.o
  CC      x86_64-softmmu/hw/virtio/virtio.o
  CC      aarch64-softmmu/hw/display/xlnx_dp.o
  CC      aarch64-softmmu/hw/dma/xlnx_dpdma.o
  CC      x86_64-softmmu/hw/virtio/virtio-balloon.o
  CC      aarch64-softmmu/hw/dma/omap_dma.o
  CC      aarch64-softmmu/hw/dma/soc_dma.o
  CC      aarch64-softmmu/hw/dma/pxa2xx_dma.o
  CC      aarch64-softmmu/hw/dma/bcm2835_dma.o
  CC      aarch64-softmmu/hw/gpio/omap_gpio.o
  CC      aarch64-softmmu/hw/gpio/imx_gpio.o
  CC      x86_64-softmmu/hw/virtio/virtio-crypto.o
  CC      aarch64-softmmu/hw/gpio/bcm2835_gpio.o
  CC      aarch64-softmmu/hw/i2c/omap_i2c.o
  CC      x86_64-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      x86_64-softmmu/hw/i386/multiboot.o
  CC      aarch64-softmmu/hw/input/pxa2xx_keypad.o
  CC      x86_64-softmmu/hw/i386/pc.o
  CC      aarch64-softmmu/hw/input/tsc210x.o
  CC      x86_64-softmmu/hw/i386/pc_piix.o
  CC      x86_64-softmmu/hw/i386/pc_q35.o
  CC      x86_64-softmmu/hw/i386/pc_sysfw.o
  CC      x86_64-softmmu/hw/i386/x86-iommu.o
  CC      aarch64-softmmu/hw/intc/armv7m_nvic.o
  CC      aarch64-softmmu/hw/intc/exynos4210_gic.o
  CC      aarch64-softmmu/hw/intc/exynos4210_combiner.o
  CC      aarch64-softmmu/hw/intc/omap_intc.o
  CC      aarch64-softmmu/hw/intc/bcm2835_ic.o
  CC      x86_64-softmmu/hw/i386/intel_iommu.o
  CC      aarch64-softmmu/hw/intc/bcm2836_control.o
  CC      x86_64-softmmu/hw/i386/amd_iommu.o
  CC      aarch64-softmmu/hw/intc/allwinner-a10-pic.o
  CC      x86_64-softmmu/hw/i386/vmport.o
  CC      aarch64-softmmu/hw/intc/aspeed_vic.o
  CC      aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o
  CC      x86_64-softmmu/hw/i386/vmmouse.o
  CC      aarch64-softmmu/hw/misc/arm_sysctl.o
In file included from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16:0,
                 from /tmp/qemu-test/src/hw/i386/pc_q35.c:53:
/tmp/qemu-test/src/target/i386/hyperv.h:25:44: error: 'struct kvm_hyperv_exit' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
/tmp/qemu-test/src/rules.mak:66: recipe for target 'hw/i386/pc_q35.o' failed
make[1]: *** [hw/i386/pc_q35.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/hw/misc/cbus.o
In file included from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16:0,
                 from /tmp/qemu-test/src/hw/i386/pc_piix.c:59:
/tmp/qemu-test/src/target/i386/hyperv.h:25:44: error: 'struct kvm_hyperv_exit' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
                                            ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [hw/i386/pc_piix.o] Error 1
/tmp/qemu-test/src/rules.mak:66: recipe for target 'hw/i386/pc_piix.o' failed
  CC      aarch64-softmmu/hw/misc/exynos4210_pmu.o
  CC      aarch64-softmmu/hw/misc/exynos4210_clk.o
  CC      aarch64-softmmu/hw/misc/exynos4210_rng.o
  CC      aarch64-softmmu/hw/misc/imx_ccm.o
  CC      aarch64-softmmu/hw/misc/imx31_ccm.o
  CC      aarch64-softmmu/hw/misc/imx25_ccm.o
  CC      aarch64-softmmu/hw/misc/imx6_ccm.o
  CC      aarch64-softmmu/hw/misc/imx6_src.o
  CC      aarch64-softmmu/hw/misc/mst_fpga.o
  CC      aarch64-softmmu/hw/misc/omap_clk.o
  CC      aarch64-softmmu/hw/misc/omap_gpmc.o
  CC      aarch64-softmmu/hw/misc/omap_l4.o
  CC      aarch64-softmmu/hw/misc/omap_sdrc.o
  CC      aarch64-softmmu/hw/misc/omap_tap.o
  CC      aarch64-softmmu/hw/misc/bcm2835_mbox.o
  CC      aarch64-softmmu/hw/misc/bcm2835_property.o
  CC      aarch64-softmmu/hw/misc/bcm2835_rng.o
  CC      aarch64-softmmu/hw/misc/zynq_slcr.o
  CC      aarch64-softmmu/hw/misc/zynq-xadc.o
  CC      aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
  CC      aarch64-softmmu/hw/misc/mps2-scc.o
  CC      aarch64-softmmu/hw/misc/auxbus.o
  CC      aarch64-softmmu/hw/misc/aspeed_scu.o
  CC      aarch64-softmmu/hw/misc/aspeed_sdmc.o
  CC      aarch64-softmmu/hw/misc/mmio_interface.o
  CC      aarch64-softmmu/hw/misc/msf2-sysreg.o
  CC      aarch64-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/hw/net/vhost_net.o
  CC      aarch64-softmmu/hw/pcmcia/pxa2xx.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      aarch64-softmmu/hw/sd/omap_mmc.o
  CC      aarch64-softmmu/hw/sd/pxa2xx_mmci.o
  CC      aarch64-softmmu/hw/sd/bcm2835_sdhost.o
  CC      aarch64-softmmu/hw/ssi/omap_spi.o
  CC      aarch64-softmmu/hw/ssi/imx_spi.o
  CC      aarch64-softmmu/hw/timer/exynos4210_mct.o
  CC      aarch64-softmmu/hw/timer/exynos4210_pwm.o
  CC      aarch64-softmmu/hw/timer/exynos4210_rtc.o
  CC      aarch64-softmmu/hw/timer/omap_gptimer.o
  CC      aarch64-softmmu/hw/timer/omap_synctimer.o
  CC      aarch64-softmmu/hw/timer/pxa2xx_timer.o
  CC      aarch64-softmmu/hw/timer/digic-timer.o
  CC      aarch64-softmmu/hw/timer/allwinner-a10-pit.o
  CC      aarch64-softmmu/hw/usb/tusb6010.o
  CC      aarch64-softmmu/hw/virtio/virtio.o
  CC      aarch64-softmmu/hw/virtio/virtio-balloon.o
  CC      aarch64-softmmu/hw/virtio/virtio-crypto.o
  CC      aarch64-softmmu/hw/virtio/virtio-crypto-pci.o
  CC      aarch64-softmmu/hw/arm/boot.o
  CC      aarch64-softmmu/hw/arm/collie.o
  CC      aarch64-softmmu/hw/arm/exynos4_boards.o
Makefile:403: recipe for target 'subdir-x86_64-softmmu' failed
make: *** [subdir-x86_64-softmmu] Error 2
make: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/hw/arm/gumstix.o
  CC      aarch64-softmmu/hw/arm/highbank.o
  CC      aarch64-softmmu/hw/arm/digic_boards.o
  CC      aarch64-softmmu/hw/arm/integratorcp.o
  CC      aarch64-softmmu/hw/arm/mainstone.o
  CC      aarch64-softmmu/hw/arm/musicpal.o
  CC      aarch64-softmmu/hw/arm/nseries.o
  CC      aarch64-softmmu/hw/arm/omap_sx1.o
  CC      aarch64-softmmu/hw/arm/palm.o
  CC      aarch64-softmmu/hw/arm/realview.o
  CC      aarch64-softmmu/hw/arm/spitz.o
  CC      aarch64-softmmu/hw/arm/stellaris.o
  CC      aarch64-softmmu/hw/arm/tosa.o
  CC      aarch64-softmmu/hw/arm/versatilepb.o
  CC      aarch64-softmmu/hw/arm/vexpress.o
  CC      aarch64-softmmu/hw/arm/virt.o
  CC      aarch64-softmmu/hw/arm/xilinx_zynq.o
  CC      aarch64-softmmu/hw/arm/z2.o
  CC      aarch64-softmmu/hw/arm/virt-acpi-build.o
  CC      aarch64-softmmu/hw/arm/netduino2.o
  CC      aarch64-softmmu/hw/arm/sysbus-fdt.o
  CC      aarch64-softmmu/hw/arm/armv7m.o
  CC      aarch64-softmmu/hw/arm/exynos4210.o
  CC      aarch64-softmmu/hw/arm/pxa2xx.o
  CC      aarch64-softmmu/hw/arm/pxa2xx_gpio.o
  CC      aarch64-softmmu/hw/arm/pxa2xx_pic.o
  CC      aarch64-softmmu/hw/arm/digic.o
  CC      aarch64-softmmu/hw/arm/omap1.o
  CC      aarch64-softmmu/hw/arm/omap2.o
  CC      aarch64-softmmu/hw/arm/allwinner-a10.o
  CC      aarch64-softmmu/hw/arm/strongarm.o
  CC      aarch64-softmmu/hw/arm/cubieboard.o
  CC      aarch64-softmmu/hw/arm/bcm2835_peripherals.o
  CC      aarch64-softmmu/hw/arm/bcm2836.o
  CC      aarch64-softmmu/hw/arm/raspi.o
  CC      aarch64-softmmu/hw/arm/stm32f205_soc.o
  CC      aarch64-softmmu/hw/arm/xlnx-zynqmp.o
  CC      aarch64-softmmu/hw/arm/xlnx-zcu102.o
  CC      aarch64-softmmu/hw/arm/fsl-imx25.o
  CC      aarch64-softmmu/hw/arm/imx25_pdk.o
  CC      aarch64-softmmu/hw/arm/fsl-imx31.o
  CC      aarch64-softmmu/hw/arm/kzm.o
  CC      aarch64-softmmu/hw/arm/fsl-imx6.o
  CC      aarch64-softmmu/hw/arm/sabrelite.o
  CC      aarch64-softmmu/hw/arm/aspeed_soc.o
  CC      aarch64-softmmu/hw/arm/aspeed.o
  CC      aarch64-softmmu/hw/arm/mps2.o
  CC      aarch64-softmmu/hw/arm/msf2-soc.o
  CC      aarch64-softmmu/hw/arm/msf2-som.o
  CC      aarch64-softmmu/target/arm/arm-semi.o
  CC      aarch64-softmmu/target/arm/machine.o
  CC      aarch64-softmmu/target/arm/psci.o
  CC      aarch64-softmmu/target/arm/arch_dump.o
  CC      aarch64-softmmu/target/arm/monitor.o
  CC      aarch64-softmmu/target/arm/kvm-stub.o
  CC      aarch64-softmmu/target/arm/translate.o
  CC      aarch64-softmmu/target/arm/op_helper.o
  CC      aarch64-softmmu/target/arm/helper.o
  CC      aarch64-softmmu/target/arm/cpu.o
  CC      aarch64-softmmu/target/arm/neon_helper.o
  CC      aarch64-softmmu/target/arm/iwmmxt_helper.o
  CC      aarch64-softmmu/target/arm/gdbstub.o
  CC      aarch64-softmmu/target/arm/cpu64.o
  CC      aarch64-softmmu/target/arm/translate-a64.o
  CC      aarch64-softmmu/target/arm/helper-a64.o
  CC      aarch64-softmmu/target/arm/gdbstub64.o
  CC      aarch64-softmmu/target/arm/crypto_helper.o
  CC      aarch64-softmmu/target/arm/arm-powerctl.o
  GEN     trace/generated-helpers.c
  CC      aarch64-softmmu/trace/control-target.o
  CC      aarch64-softmmu/gdbstub-xml.o
  CC      aarch64-softmmu/trace/generated-helpers.o
  LINK    aarch64-softmmu/qemu-system-aarch64w.exe
  GEN     aarch64-softmmu/qemu-system-aarch64.exe
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 407, in <module>
    sys.exit(main())
  File "./tests/docker/docker.py", line 404, in main
    return args.cmdobj.run(args, argv)
  File "./tests/docker/docker.py", line 261, in run
    return Docker().run(argv, args.keep, quiet=args.quiet)
  File "./tests/docker/docker.py", line 229, in run
    quiet=quiet)
  File "./tests/docker/docker.py", line 147, in _do_check
    return subprocess.check_call(self._command + cmd, **kwargs)
  File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=14dc2dda0b8a11e8959352540069c830', '-u', '0', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-ha3h6wkd/src/docker-src.2018-02-06-17.06.55.18307:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-mingw']' returned non-zero exit status 2
make[1]: *** [tests/docker/Makefile.include:129: docker-run] Error 1
make: *** [tests/docker/Makefile.include:163: docker-run-test-mingw@fedora] Error 2

real	3m12.857s
user	0m4.838s
sys	0m3.552s
=== OUTPUT END ===

Test command exited with code: 2


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (37 preceding siblings ...)
  2018-02-06 22:10 ` no-reply
@ 2018-02-06 22:23 ` no-reply
  2018-02-06 22:35 ` no-reply
  39 siblings, 0 replies; 75+ messages in thread
From: no-reply @ 2018-02-06 22:23 UTC (permalink / raw)
  To: rkagan
  Cc: famz, qemu-devel, ben, konrad.wilk, krish.sadhukhan,
	Marcos.Matsunaga, jan.dakinevich, vrozenfe, den, si-wei.liu,
	pbonzini, vkuznets, cavery

Hi,

This series failed docker-quick@centos6 build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

Type: series
Message-id: 20180206203048.11096-1-rkagan@virtuozzo.com
Subject: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-quick@centos6
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
98adc64f2b hv-net: define default rom file name
32dd25dfe6 vmbus: add support for rom files
983ba13ed2 loader: allow arbitrary basename for fw_cfg file roms
3e4e616672 hv-net: add .bootindex support
9b49f45b61 net: add Hyper-V/VMBus net adapter
8b3b6a7831 net: add Hyper-V/VMBus network protocol definitions
932a14d315 net: add RNDIS definitions
58ff5f3675 tests: hv-scsi: add start-stop test
f81c7ad4b7 hv-scsi: limit the number of requests per notification
62d0ac72b5 scsi: add Hyper-V/VMBus SCSI controller
438b47b468 scsi: add Hyper-V/VMBus SCSI protocol definitions
4baa88ac14 i386: en/disable vmbus by a machine property
7e9adc9af7 i386: Hyper-V VMBus ACPI DSDT entry
1c19b65fab vmbus: build configuration
4471f1afca vmbus: vmbus implementation
6aff6ba275 vmbus: add vmbus protocol definitions
601a95fc0a hyperv: add support for KVM_HYPERV_EVENTFD
9ec270a97e import HYPERV_EVENTFD stuff from kernel
cbfeb5e77c hyperv: update copyright notices
77d9e62db5 hyperv_testdev: add SynIC message and event testmodes
6bf86c8237 hyperv: process POST_MESSAGE hypercall
52d482a30c hyperv: process SIGNAL_EVENT hypercall
be4ed13446 hyperv: add synic event flag signaling
58a94ec55e hyperv: add synic message delivery
921fcaab97 hyperv: make overlay pages for SynIC
8540e6cff0 hyperv: block SynIC use in QEMU in incompatible configurations
0a8a729b0b hyperv: qom-ify SynIC
1f9fba8cb0 hyperv: make HvSintRoute reference-counted
4d649ce401 hyperv: address HvSintRoute by X86CPU pointer
96cc3d2e21 hyperv: allow passing arbitrary data to sint ack callback
93ceab6b34 hyperv: synic: only setup ack notifier if there's a callback
fa7482c5ff hyperv: cosmetic: g_malloc -> g_new
63d46e7b96 hyperv_testdev: refactor for readability
ff514f8890 hyperv: ensure VP index equal to QEMU cpu_index

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-u4db_dad/src/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
  BUILD   centos6
  GEN     /var/tmp/patchew-tester-tmp-u4db_dad/src/docker-src.2018-02-06-17.20.48.6483/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-u4db_dad/src/docker-src.2018-02-06-17.20.48.6483/qemu.tar.vroot'...
done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-u4db_dad/src/docker-src.2018-02-06-17.20.48.6483/qemu.tar.vroot/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into '/var/tmp/patchew-tester-tmp-u4db_dad/src/docker-src.2018-02-06-17.20.48.6483/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '10739aa26051a5d49d88132604539d3ed085e72e'
  COPY    RUNNER
    RUN test-quick in qemu:centos6 
Packages installed:
SDL-devel-1.2.14-7.el6_7.1.x86_64
bison-2.4.1-5.el6.x86_64
bzip2-devel-1.0.5-7.el6_0.x86_64
ccache-3.1.6-2.el6.x86_64
csnappy-devel-0-6.20150729gitd7bc683.el6.x86_64
flex-2.5.35-9.el6.x86_64
gcc-4.4.7-18.el6.x86_64
gettext-0.17-18.el6.x86_64
git-1.7.1-9.el6_9.x86_64
glib2-devel-2.28.8-9.el6.x86_64
libepoxy-devel-1.2-3.el6.x86_64
libfdt-devel-1.4.0-1.el6.x86_64
librdmacm-devel-1.0.21-0.el6.x86_64
lzo-devel-2.03-3.1.el6_5.1.x86_64
make-3.81-23.el6.x86_64
mesa-libEGL-devel-11.0.7-4.el6.x86_64
mesa-libgbm-devel-11.0.7-4.el6.x86_64
package g++ is not installed
pixman-devel-0.32.8-1.el6.x86_64
spice-glib-devel-0.26-8.el6.x86_64
spice-server-devel-0.12.4-16.el6.x86_64
tar-1.23-15.el6_8.x86_64
vte-devel-0.25.1-9.el6.x86_64
xen-devel-4.6.6-2.el6.x86_64
zlib-devel-1.2.3-29.el6.x86_64

Environment variables:
PACKAGES=bison     bzip2-devel     ccache     csnappy-devel     flex     g++     gcc     gettext     git     glib2-devel     libepoxy-devel     libfdt-devel     librdmacm-devel     lzo-devel     make     mesa-libEGL-devel     mesa-libgbm-devel     pixman-devel     SDL-devel     spice-glib-devel     spice-server-devel     tar     vte-devel     xen-devel     zlib-devel
HOSTNAME=b877588de59b
MAKEFLAGS= -j8
J=8
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
TARGET_LIST=
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
FEATURES= dtc
DEBUG=
_=/usr/bin/env

Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install
No C++ compiler available; disabling C++ specific optional code
Install prefix    /tmp/qemu-test/install
BIOS directory    /tmp/qemu-test/install/share/qemu
firmware path     /tmp/qemu-test/install/share/qemu-firmware
binary directory  /tmp/qemu-test/install/bin
library directory /tmp/qemu-test/install/lib
module directory  /tmp/qemu-test/install/lib/qemu
libexec directory /tmp/qemu-test/install/libexec
include directory /tmp/qemu-test/install/include
config directory  /tmp/qemu-test/install/etc
local state directory   /tmp/qemu-test/install/var
Manual directory  /tmp/qemu-test/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /tmp/qemu-test/src
GIT binary        git
GIT submodules    
C compiler        cc
Host C compiler   cc
C++ compiler      
Objective-C compiler cc
ARFLAGS           rv
CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS       -I/usr/include/pixman-1   -I$(SRC_PATH)/dtc/libfdt -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -DNCURSES_WIDECHAR   -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv  -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces  -I/usr/include/libpng12   -I/usr/include/libdrm     -I/usr/include/spice-server -I/usr/include/cacard -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/spice-1  
LDFLAGS           -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g 
make              make
install           install
python            python -B
smbd              /usr/sbin/smbd
module support    no
host CPU          x86_64
host big endian   no
target list       x86_64-softmmu aarch64-softmmu
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
SDL support       yes (1.2.14)
GTK support       yes (2.24.23)
GTK GL support    no
VTE support       yes (0.25.1)
TLS priority      NORMAL
GNUTLS support    no
GNUTLS rnd        no
libgcrypt         no
libgcrypt kdf     no
nettle            no 
nettle kdf        no
libtasn1          no
curses support    yes
virgl support     no
curl support      no
mingw32 support   no
Audio drivers     oss
Block whitelist (rw) 
Block whitelist (ro) 
VirtFS support    no
Multipath support no
VNC support       yes
VNC SASL support  no
VNC JPEG support  yes
VNC PNG support   yes
xen support       yes
xen ctrl version  40600
pv dom build      no
brlapi support    no
bluez  support    no
Documentation     no
PIE               yes
vde support       no
netmap support    no
Linux AIO support no
ATTR/XATTR support yes
Install blobs     yes
KVM support       yes
HAX support       no
HVF support       no
TCG support       yes
TCG debug enabled no
TCG interpreter   no
malloc trim support yes
RDMA support      yes
fdt support       yes
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
libcap-ng support no
vhost-net support yes
vhost-scsi support yes
vhost-vsock support yes
vhost-user support yes
Trace backends    log
spice support     yes (0.12.6/0.12.4)
rbd support       no
xfsctl support    no
smartcard support yes
libusb            no
usb net redir     no
OpenGL support    yes
OpenGL dmabufs    no
libiscsi support  no
libnfs support    no
build guest agent yes
QGA VSS support   no
QGA w32 disk info no
QGA MSI support   no
seccomp support   no
coroutine backend ucontext
coroutine pool    yes
debug stack usage no
crypto afalg      no
GlusterFS support no
gcov              gcov
gcov enabled      no
TPM support       yes
libssh2 support   no
TPM passthrough   yes
TPM emulator      yes
QOM debugging     yes
Live block migration yes
lzo support       yes
snappy support    no
bzip2 support     yes
NUMA host support no
libxml2           no
tcmalloc support  no
jemalloc support  no
avx2 optimization no
replication support yes
VxHS block device no
capstone          no
vmbus support     yes

WARNING: Use of GTK 2.0 is deprecated and will be removed in
WARNING: future releases. Please switch to using GTK 3.0

WARNING: Use of SDL 1.2 is deprecated and will be removed in
WARNING: future releases. Please switch to using SDL 2.0
  GEN     x86_64-softmmu/config-devices.mak.tmp
  GEN     aarch64-softmmu/config-devices.mak.tmp
  GEN     config-host.h
  GEN     qemu-options.def
  GEN     qapi-types.h
  GEN     qmp-commands.h
  GEN     qapi-visit.h
  GEN     x86_64-softmmu/config-devices.mak
  GEN     qapi-event.h
  GEN     qmp-marshal.c
  GEN     aarch64-softmmu/config-devices.mak
  GEN     qapi-types.c
  GEN     qapi-visit.c
  GEN     qapi-event.c
  GEN     qmp-introspect.h
  GEN     qmp-introspect.c
  GEN     trace/generated-tcg-tracers.h
  GEN     trace/generated-helpers-wrappers.h
  GEN     trace/generated-helpers.h
  GEN     trace/generated-helpers.c
  GEN     module_block.h
  GEN     ui/input-keymap-atset1-to-qcode.c
  GEN     ui/input-keymap-linux-to-qcode.c
  GEN     ui/input-keymap-qcode-to-atset1.c
  GEN     ui/input-keymap-qcode-to-atset2.c
  GEN     ui/input-keymap-qcode-to-atset3.c
  GEN     ui/input-keymap-qcode-to-linux.c
  GEN     ui/input-keymap-qcode-to-qnum.c
  GEN     ui/input-keymap-qcode-to-sun.c
  GEN     ui/input-keymap-qnum-to-qcode.c
  GEN     ui/input-keymap-usb-to-qcode.c
  GEN     ui/input-keymap-win32-to-qcode.c
  GEN     ui/input-keymap-x11-to-qcode.c
  GEN     ui/input-keymap-xorgevdev-to-qcode.c
  GEN     ui/input-keymap-xorgkbd-to-qcode.c
  GEN     ui/input-keymap-xorgxquartz-to-qcode.c
  GEN     ui/input-keymap-xorgxwin-to-qcode.c
  GEN     tests/test-qapi-types.h
  GEN     tests/test-qapi-visit.h
  GEN     tests/test-qmp-commands.h
  GEN     tests/test-qapi-event.h
  GEN     tests/test-qmp-introspect.h
  GEN     trace-root.h
  GEN     util/trace.h
  GEN     crypto/trace.h
  GEN     io/trace.h
  GEN     migration/trace.h
  GEN     block/trace.h
  GEN     chardev/trace.h
  GEN     hw/block/trace.h
  GEN     hw/block/dataplane/trace.h
  GEN     hw/char/trace.h
  GEN     hw/intc/trace.h
  GEN     hw/net/trace.h
  GEN     hw/virtio/trace.h
  GEN     hw/audio/trace.h
  GEN     hw/misc/trace.h
  GEN     hw/usb/trace.h
  GEN     hw/scsi/trace.h
  GEN     hw/nvram/trace.h
  GEN     hw/display/trace.h
  GEN     hw/input/trace.h
  GEN     hw/timer/trace.h
  GEN     hw/dma/trace.h
  GEN     hw/sparc/trace.h
  GEN     hw/sparc64/trace.h
  GEN     hw/sd/trace.h
  GEN     hw/isa/trace.h
  GEN     hw/mem/trace.h
  GEN     hw/i386/trace.h
  GEN     hw/i386/xen/trace.h
  GEN     hw/9pfs/trace.h
  GEN     hw/ppc/trace.h
  GEN     hw/pci/trace.h
  GEN     hw/pci-host/trace.h
  GEN     hw/s390x/trace.h
  GEN     hw/vfio/trace.h
  GEN     hw/acpi/trace.h
  GEN     hw/arm/trace.h
  GEN     hw/alpha/trace.h
  GEN     hw/hppa/trace.h
  GEN     hw/xen/trace.h
  GEN     hw/ide/trace.h
  GEN     hw/vmbus/trace.h
  GEN     ui/trace.h
  GEN     audio/trace.h
  GEN     net/trace.h
  GEN     target/arm/trace.h
  GEN     target/i386/trace.h
  GEN     target/mips/trace.h
  GEN     target/sparc/trace.h
  GEN     target/s390x/trace.h
  GEN     target/ppc/trace.h
  GEN     qom/trace.h
  GEN     linux-user/trace.h
  GEN     qapi/trace.h
  GEN     accel/tcg/trace.h
  GEN     accel/kvm/trace.h
  GEN     nbd/trace.h
  GEN     scsi/trace.h
  GEN     trace-root.c
  GEN     util/trace.c
  GEN     crypto/trace.c
  GEN     io/trace.c
  GEN     migration/trace.c
  GEN     block/trace.c
  GEN     chardev/trace.c
  GEN     hw/block/trace.c
  GEN     hw/block/dataplane/trace.c
  GEN     hw/char/trace.c
  GEN     hw/intc/trace.c
  GEN     hw/net/trace.c
  GEN     hw/virtio/trace.c
  GEN     hw/audio/trace.c
  GEN     hw/misc/trace.c
  GEN     hw/usb/trace.c
  GEN     hw/scsi/trace.c
  GEN     hw/nvram/trace.c
  GEN     hw/display/trace.c
  GEN     hw/input/trace.c
  GEN     hw/timer/trace.c
  GEN     hw/dma/trace.c
  GEN     hw/sparc/trace.c
  GEN     hw/sparc64/trace.c
  GEN     hw/sd/trace.c
  GEN     hw/isa/trace.c
  GEN     hw/mem/trace.c
  GEN     hw/i386/trace.c
  GEN     hw/i386/xen/trace.c
  GEN     hw/9pfs/trace.c
  GEN     hw/ppc/trace.c
  GEN     hw/pci/trace.c
  GEN     hw/pci-host/trace.c
  GEN     hw/s390x/trace.c
  GEN     hw/vfio/trace.c
  GEN     hw/acpi/trace.c
  GEN     hw/arm/trace.c
  GEN     hw/alpha/trace.c
  GEN     hw/hppa/trace.c
  GEN     hw/xen/trace.c
  GEN     hw/ide/trace.c
  GEN     hw/vmbus/trace.c
  GEN     ui/trace.c
  GEN     audio/trace.c
  GEN     net/trace.c
  GEN     target/arm/trace.c
  GEN     target/i386/trace.c
  GEN     target/mips/trace.c
  GEN     target/sparc/trace.c
  GEN     target/s390x/trace.c
  GEN     target/ppc/trace.c
  GEN     qom/trace.c
  GEN     linux-user/trace.c
  GEN     qapi/trace.c
  GEN     accel/tcg/trace.c
  GEN     accel/kvm/trace.c
  GEN     nbd/trace.c
  GEN     scsi/trace.c
  GEN     config-all-devices.mak
	 DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c
	 DEP /tmp/qemu-test/src/dtc/tests/trees.S
	 DEP /tmp/qemu-test/src/dtc/tests/testutils.c
	 DEP /tmp/qemu-test/src/dtc/tests/value-labels.c
	 DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c
	 DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/check_path.c
	 DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c
	 DEP /tmp/qemu-test/src/dtc/tests/overlay.c
	 DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c
	 DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c
	 DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c
	 DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c
	 DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c
	 DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c
	 DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c
	 DEP /tmp/qemu-test/src/dtc/tests/incbin.c
	 DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c
	 DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c
	 DEP /tmp/qemu-test/src/dtc/tests/path-references.c
	 DEP /tmp/qemu-test/src/dtc/tests/references.c
	 DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c
	 DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c
	 DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c
	 DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c
	 DEP /tmp/qemu-test/src/dtc/tests/del_node.c
	 DEP /tmp/qemu-test/src/dtc/tests/del_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/setprop.c
	 DEP /tmp/qemu-test/src/dtc/tests/set_name.c
	 DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c
	 DEP /tmp/qemu-test/src/dtc/tests/open_pack.c
	 DEP /tmp/qemu-test/src/dtc/tests/nopulate.c
	 DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c
	 DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c
	 DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c
	 DEP /tmp/qemu-test/src/dtc/tests/nop_node.c
	 DEP /tmp/qemu-test/src/dtc/tests/nop_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c
	 DEP /tmp/qemu-test/src/dtc/tests/stringlist.c
	 DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c
	 DEP /tmp/qemu-test/src/dtc/tests/notfound.c
	 DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c
	 DEP /tmp/qemu-test/src/dtc/tests/char_literal.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_alias.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c
	 DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_path.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c
	 DEP /tmp/qemu-test/src/dtc/tests/getprop.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_name.c
	 DEP /tmp/qemu-test/src/dtc/tests/path_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/find_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/root_node.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c
	 DEP /tmp/qemu-test/src/dtc/util.c
	 DEP /tmp/qemu-test/src/dtc/fdtoverlay.c
	 DEP /tmp/qemu-test/src/dtc/fdtput.c
	 DEP /tmp/qemu-test/src/dtc/fdtget.c
	 DEP /tmp/qemu-test/src/dtc/fdtdump.c
	 LEX convert-dtsv0-lexer.lex.c
	 DEP /tmp/qemu-test/src/dtc/srcpos.c
	 BISON dtc-parser.tab.c
	 LEX dtc-lexer.lex.c
	 DEP /tmp/qemu-test/src/dtc/treesource.c
	 DEP /tmp/qemu-test/src/dtc/livetree.c
	 DEP /tmp/qemu-test/src/dtc/fstree.c
	 DEP /tmp/qemu-test/src/dtc/flattree.c
	 DEP /tmp/qemu-test/src/dtc/dtc.c
	 DEP /tmp/qemu-test/src/dtc/data.c
	 DEP /tmp/qemu-test/src/dtc/checks.c
	 DEP convert-dtsv0-lexer.lex.c
	 DEP dtc-parser.tab.c
	 DEP dtc-lexer.lex.c
	CHK version_gen.h
	UPD version_gen.h
	 DEP /tmp/qemu-test/src/dtc/util.c
	 CC libfdt/fdt.o
	 CC libfdt/fdt_ro.o
	 CC libfdt/fdt_sw.o
	 CC libfdt/fdt_wip.o
	 CC libfdt/fdt_strerror.o
	 CC libfdt/fdt_empty_tree.o
	 CC libfdt/fdt_rw.o
	 CC libfdt/fdt_addresses.o
	 CC libfdt/fdt_overlay.o
	 AR libfdt/libfdt.a
ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
a - libfdt/fdt_addresses.o
a - libfdt/fdt_overlay.o
  CC      tests/qemu-iotests/socket_scm_helper.o
  GEN     qga/qapi-generated/qga-qapi-types.h
  GEN     qga/qapi-generated/qga-qmp-commands.h
  GEN     qga/qapi-generated/qga-qapi-types.c
  CC      qmp-introspect.o
  GEN     qga/qapi-generated/qga-qapi-visit.h
  GEN     qga/qapi-generated/qga-qapi-visit.c
  GEN     qga/qapi-generated/qga-qmp-marshal.c
  CC      qapi-types.o
  CC      qapi-visit.o
  CC      qapi-event.o
  CC      qapi/qapi-visit-core.o
  CC      qapi/qapi-dealloc-visitor.o
  CC      qapi/qobject-input-visitor.o
  CC      qapi/qobject-output-visitor.o
  CC      qapi/qmp-registry.o
  CC      qapi/qmp-dispatch.o
  CC      qapi/string-input-visitor.o
  CC      qapi/string-output-visitor.o
  CC      qapi/opts-visitor.o
  CC      qapi/qapi-clone-visitor.o
  CC      qapi/qmp-event.o
  CC      qapi/qapi-util.o
  CC      qobject/qnull.o
  CC      qobject/qnum.o
  CC      qobject/qstring.o
  CC      qobject/qdict.o
  CC      qobject/qlist.o
  CC      qobject/qbool.o
  CC      qobject/qlit.o
  CC      qobject/qjson.o
  CC      qobject/qobject.o
  CC      qobject/json-lexer.o
  CC      qobject/json-streamer.o
  CC      qobject/json-parser.o
  CC      trace/control.o
  CC      trace/qmp.o
  CC      util/osdep.o
  CC      util/cutils.o
  CC      util/unicode.o
  CC      util/qemu-timer-common.o
  CC      util/bufferiszero.o
  CC      util/lockcnt.o
  CC      util/aiocb.o
  CC      util/async.o
  CC      util/thread-pool.o
  CC      util/qemu-timer.o
  CC      util/main-loop.o
  CC      util/iohandler.o
  CC      util/aio-posix.o
  CC      util/compatfd.o
  CC      util/event_notifier-posix.o
  CC      util/mmap-alloc.o
  CC      util/oslib-posix.o
  CC      util/qemu-openpty.o
  CC      util/qemu-thread-posix.o
  CC      util/memfd.o
  CC      util/envlist.o
  CC      util/path.o
  CC      util/module.o
  CC      util/host-utils.o
  CC      util/bitmap.o
  CC      util/bitops.o
  CC      util/hbitmap.o
  CC      util/fifo8.o
  CC      util/acl.o
  CC      util/cacheinfo.o
  CC      util/error.o
  CC      util/qemu-error.o
  CC      util/id.o
  CC      util/iov.o
  CC      util/qemu-config.o
  CC      util/qemu-sockets.o
  CC      util/uri.o
  CC      util/notify.o
  CC      util/qemu-option.o
  CC      util/qemu-progress.o
  CC      util/keyval.o
  CC      util/hexdump.o
  CC      util/crc32c.o
  CC      util/uuid.o
  CC      util/throttle.o
  CC      util/getauxval.o
  CC      util/readline.o
  CC      util/rcu.o
  CC      util/qemu-coroutine.o
  CC      util/qemu-coroutine-lock.o
  CC      util/qemu-coroutine-io.o
  CC      util/qemu-coroutine-sleep.o
  CC      util/coroutine-ucontext.o
  CC      util/buffer.o
  CC      util/timed-average.o
  CC      util/base64.o
  CC      util/log.o
  CC      util/pagesize.o
  CC      util/qdist.o
  CC      util/qht.o
  CC      util/stats64.o
  CC      util/range.o
  CC      util/systemd.o
  CC      trace-root.o
  CC      util/trace.o
  CC      crypto/trace.o
  CC      io/trace.o
  CC      migration/trace.o
  CC      block/trace.o
  CC      chardev/trace.o
  CC      hw/block/trace.o
  CC      hw/block/dataplane/trace.o
  CC      hw/char/trace.o
  CC      hw/intc/trace.o
  CC      hw/net/trace.o
  CC      hw/virtio/trace.o
  CC      hw/audio/trace.o
  CC      hw/misc/trace.o
  CC      hw/usb/trace.o
  CC      hw/scsi/trace.o
  CC      hw/nvram/trace.o
  CC      hw/display/trace.o
  CC      hw/input/trace.o
  CC      hw/timer/trace.o
  CC      hw/dma/trace.o
  CC      hw/sparc/trace.o
  CC      hw/sparc64/trace.o
  CC      hw/sd/trace.o
  CC      hw/isa/trace.o
  CC      hw/mem/trace.o
  CC      hw/i386/trace.o
  CC      hw/i386/xen/trace.o
  CC      hw/9pfs/trace.o
  CC      hw/ppc/trace.o
  CC      hw/pci/trace.o
  CC      hw/pci-host/trace.o
  CC      hw/s390x/trace.o
  CC      hw/vfio/trace.o
  CC      hw/acpi/trace.o
  CC      hw/arm/trace.o
  CC      hw/alpha/trace.o
  CC      hw/hppa/trace.o
  CC      hw/xen/trace.o
  CC      hw/ide/trace.o
  CC      hw/vmbus/trace.o
  CC      ui/trace.o
  CC      audio/trace.o
  CC      net/trace.o
  CC      target/arm/trace.o
  CC      target/i386/trace.o
  CC      target/mips/trace.o
  CC      target/s390x/trace.o
  CC      target/sparc/trace.o
  CC      target/ppc/trace.o
  CC      qom/trace.o
  CC      linux-user/trace.o
  CC      qapi/trace.o
  CC      accel/tcg/trace.o
  CC      accel/kvm/trace.o
  CC      nbd/trace.o
  CC      scsi/trace.o
  CC      crypto/pbkdf-stub.o
  CC      stubs/arch-query-cpu-def.o
  CC      stubs/arch-query-cpu-model-expansion.o
  CC      stubs/arch-query-cpu-model-comparison.o
  CC      stubs/arch-query-cpu-model-baseline.o
  CC      stubs/bdrv-next-monitor-owned.o
  CC      stubs/blk-commit-all.o
  CC      stubs/blockdev-close-all-bdrv-states.o
  CC      stubs/clock-warp.o
  CC      stubs/cpu-get-clock.o
  CC      stubs/cpu-get-icount.o
  CC      stubs/dump.o
  CC      stubs/error-printf.o
  CC      stubs/fdset.o
  CC      stubs/gdbstub.o
  CC      stubs/get-vm-name.o
  CC      stubs/iothread.o
  CC      stubs/iothread-lock.o
  CC      stubs/is-daemonized.o
  CC      stubs/machine-init-done.o
  CC      stubs/migr-blocker.o
  CC      stubs/change-state-handler.o
  CC      stubs/monitor.o
  CC      stubs/notify-event.o
  CC      stubs/qtest.o
  CC      stubs/replay.o
  CC      stubs/runstate-check.o
  CC      stubs/set-fd-handler.o
  CC      stubs/slirp.o
  CC      stubs/sysbus.o
  CC      stubs/tpm.o
  CC      stubs/trace-control.o
  CC      stubs/uuid.o
  CC      stubs/vm-stop.o
  CC      stubs/vmstate.o
  CC      stubs/qmp_pc_dimm.o
  CC      stubs/target-monitor-defs.o
  CC      stubs/target-get-monitor-def.o
  CC      stubs/pc_madt_cpu_entry.o
  CC      stubs/vmgenid.o
  CC      stubs/xen-common.o
  CC      stubs/xen-hvm.o
  CC      stubs/pci-host-piix.o
  CC      contrib/ivshmem-client/ivshmem-client.o
  CC      contrib/ivshmem-client/main.o
  CC      contrib/ivshmem-server/ivshmem-server.o
  CC      contrib/ivshmem-server/main.o
  CC      qemu-nbd.o
  CC      block.o
  CC      blockjob.o
  CC      qemu-io-cmds.o
  CC      replication.o
  CC      block/raw-format.o
  CC      block/qcow.o
  CC      block/vdi.o
  CC      block/vmdk.o
  CC      block/cloop.o
  CC      block/bochs.o
  CC      block/vpc.o
  CC      block/dmg.o
  CC      block/vvfat.o
  CC      block/qcow2.o
  CC      block/qcow2-refcount.o
  CC      block/qcow2-cluster.o
  CC      block/qcow2-snapshot.o
  CC      block/qcow2-cache.o
  CC      block/qcow2-bitmap.o
  CC      block/qed.o
  CC      block/qed-l2-cache.o
  CC      block/qed-table.o
  CC      block/qed-cluster.o
  CC      block/qed-check.o
  CC      block/vhdx.o
  CC      block/vhdx-endian.o
  CC      block/vhdx-log.o
  CC      block/quorum.o
  CC      block/parallels.o
  CC      block/blkdebug.o
  CC      block/blkverify.o
  CC      block/blkreplay.o
  CC      block/block-backend.o
  CC      block/snapshot.o
  CC      block/qapi.o
  CC      block/file-posix.o
  CC      block/null.o
  CC      block/mirror.o
  CC      block/commit.o
  CC      block/io.o
  CC      block/throttle-groups.o
  CC      block/nbd.o
  CC      block/nbd-client.o
  CC      block/sheepdog.o
  CC      block/accounting.o
  CC      block/dirty-bitmap.o
  CC      block/write-threshold.o
  CC      block/backup.o
  CC      block/replication.o
  CC      block/throttle.o
  CC      block/crypto.o
  CC      nbd/server.o
  CC      nbd/client.o
  CC      nbd/common.o
  CC      scsi/utils.o
  CC      scsi/pr-manager.o
  CC      scsi/pr-manager-helper.o
  CC      block/dmg-bz2.o
  CC      crypto/init.o
  CC      crypto/hash.o
  CC      crypto/hmac.o
  CC      crypto/hash-glib.o
  CC      crypto/hmac-glib.o
  CC      crypto/aes.o
  CC      crypto/desrfb.o
  CC      crypto/cipher.o
  CC      crypto/tlscreds.o
  CC      crypto/tlscredsanon.o
  CC      crypto/tlscredsx509.o
  CC      crypto/tlssession.o
  CC      crypto/secret.o
  CC      crypto/random-platform.o
  CC      crypto/pbkdf.o
  CC      crypto/ivgen.o
  CC      crypto/ivgen-essiv.o
  CC      crypto/ivgen-plain.o
  CC      crypto/ivgen-plain64.o
  CC      crypto/afsplit.o
  CC      crypto/xts.o
  CC      crypto/block.o
  CC      crypto/block-qcow.o
  CC      crypto/block-luks.o
  CC      io/channel.o
  CC      io/channel-buffer.o
  CC      io/channel-command.o
  CC      io/channel-file.o
  CC      io/channel-socket.o
  CC      io/channel-tls.o
  CC      io/channel-watch.o
  CC      io/channel-websock.o
  CC      io/channel-util.o
  CC      io/dns-resolver.o
  CC      io/net-listener.o
  CC      io/task.o
  CC      qom/object.o
  CC      qom/container.o
  CC      qom/qom-qobject.o
  CC      qom/object_interfaces.o
  GEN     qemu-img-cmds.h
  CC      qemu-io.o
  CC      scsi/qemu-pr-helper.o
  CC      qemu-bridge-helper.o
  CC      blockdev.o
  CC      blockdev-nbd.o
  CC      bootdevice.o
  CC      iothread.o
  CC      qdev-monitor.o
  CC      device-hotplug.o
  CC      os-posix.o
  CC      bt-host.o
  CC      bt-vhci.o
  CC      dma-helpers.o
  CC      tpm.o
  CC      vl.o
  CC      device_tree.o
  CC      qmp-marshal.o
  CC      qmp.o
  CC      hmp.o
  CC      cpus-common.o
  CC      audio/audio.o
  CC      audio/noaudio.o
  CC      audio/wavaudio.o
  CC      audio/mixeng.o
  CC      audio/sdlaudio.o
  CC      audio/ossaudio.o
  CC      audio/spiceaudio.o
  CC      audio/wavcapture.o
  CC      backends/rng.o
  CC      backends/rng-egd.o
  CC      backends/rng-random.o
  CC      backends/tpm.o
  CC      backends/hostmem.o
  CC      backends/hostmem-ram.o
  CC      backends/hostmem-file.o
  CC      backends/cryptodev.o
  CC      backends/cryptodev-builtin.o
  CC      block/stream.o
  CC      chardev/msmouse.o
  CC      chardev/wctablet.o
  CC      chardev/testdev.o
  CC      chardev/spice.o
  CC      disas/arm.o
  CC      disas/i386.o
  CC      fsdev/qemu-fsdev-dummy.o
  CC      fsdev/qemu-fsdev-opts.o
  CC      fsdev/qemu-fsdev-throttle.o
  CC      hw/acpi/core.o
  CC      hw/acpi/piix4.o
  CC      hw/acpi/pcihp.o
  CC      hw/acpi/ich9.o
  CC      hw/acpi/tco.o
  CC      hw/acpi/cpu_hotplug.o
  CC      hw/acpi/memory_hotplug.o
  CC      hw/acpi/cpu.o
  CC      hw/acpi/nvdimm.o
  CC      hw/acpi/vmgenid.o
  CC      hw/acpi/acpi_interface.o
  CC      hw/acpi/bios-linker-loader.o
  CC      hw/acpi/aml-build.o
  CC      hw/acpi/ipmi.o
  CC      hw/acpi/acpi-stub.o
  CC      hw/acpi/ipmi-stub.o
  CC      hw/audio/sb16.o
  CC      hw/audio/es1370.o
  CC      hw/audio/ac97.o
  CC      hw/audio/fmopl.o
  CC      hw/audio/adlib.o
  CC      hw/audio/gus.o
  CC      hw/audio/gusemu_hal.o
  CC      hw/audio/gusemu_mixer.o
  CC      hw/audio/cs4231a.o
  CC      hw/audio/intel-hda.o
  CC      hw/audio/hda-codec.o
  CC      hw/audio/pcspk.o
  CC      hw/audio/wm8750.o
  CC      hw/audio/pl041.o
  CC      hw/audio/lm4549.o
  CC      hw/audio/marvell_88w8618.o
  CC      hw/audio/soundhw.o
  CC      hw/block/block.o
  CC      hw/block/cdrom.o
  CC      hw/block/hd-geometry.o
  CC      hw/block/fdc.o
  CC      hw/block/m25p80.o
  CC      hw/block/pflash_cfi01.o
  CC      hw/block/nand.o
  CC      hw/block/pflash_cfi02.o
  CC      hw/block/xen_disk.o
  CC      hw/block/ecc.o
  CC      hw/block/onenand.o
  CC      hw/block/nvme.o
  CC      hw/bt/core.o
  CC      hw/bt/l2cap.o
  CC      hw/bt/sdp.o
  CC      hw/bt/hci.o
  CC      hw/bt/hid.o
  CC      hw/bt/hci-csr.o
  CC      hw/char/ipoctal232.o
  CC      hw/char/parallel.o
  CC      hw/char/pl011.o
  CC      hw/char/serial.o
  CC      hw/char/serial-isa.o
  CC      hw/char/serial-pci.o
  CC      hw/char/virtio-console.o
  CC      hw/char/xen_console.o
  CC      hw/char/cadence_uart.o
  CC      hw/char/cmsdk-apb-uart.o
  CC      hw/char/debugcon.o
  CC      hw/char/imx_serial.o
  CC      hw/core/qdev.o
  CC      hw/core/qdev-properties.o
  CC      hw/core/bus.o
  CC      hw/core/reset.o
  CC      hw/core/qdev-fw.o
  CC      hw/core/fw-path-provider.o
  CC      hw/core/hotplug.o
  CC      hw/core/irq.o
  CC      hw/core/nmi.o
  CC      hw/core/stream.o
  CC      hw/core/ptimer.o
  CC      hw/core/sysbus.o
  CC      hw/core/machine.o
  CC      hw/core/loader.o
  CC      hw/core/qdev-properties-system.o
  CC      hw/core/register.o
  CC      hw/core/or-irq.o
  CC      hw/core/platform-bus.o
  CC      hw/cpu/core.o
  CC      hw/display/ads7846.o
  CC      hw/display/cirrus_vga.o
  CC      hw/display/pl110.o
  CC      hw/display/ssd0303.o
  CC      hw/display/ssd0323.o
  CC      hw/display/xenfb.o
  CC      hw/display/vga-pci.o
  CC      hw/display/vga-isa.o
  CC      hw/display/vmware_vga.o
  CC      hw/display/blizzard.o
  CC      hw/display/exynos4210_fimd.o
  CC      hw/display/framebuffer.o
  CC      hw/display/tc6393xb.o
  CC      hw/display/qxl.o
  CC      hw/display/qxl-logger.o
  CC      hw/display/qxl-render.o
  CC      hw/dma/pl080.o
  CC      hw/dma/pl330.o
  CC      hw/dma/i8257.o
  CC      hw/dma/xilinx_axidma.o
  CC      hw/dma/xlnx-zynq-devcfg.o
  CC      hw/gpio/max7310.o
  CC      hw/gpio/pl061.o
  CC      hw/gpio/zaurus.o
  CC      hw/gpio/gpio_key.o
  CC      hw/i2c/core.o
  CC      hw/i2c/smbus.o
  CC      hw/i2c/smbus_eeprom.o
  CC      hw/i2c/i2c-ddc.o
  CC      hw/i2c/versatile_i2c.o
  CC      hw/i2c/smbus_ich9.o
  CC      hw/i2c/pm_smbus.o
  CC      hw/i2c/bitbang_i2c.o
  CC      hw/i2c/exynos4210_i2c.o
  CC      hw/i2c/imx_i2c.o
  CC      hw/i2c/aspeed_i2c.o
  CC      hw/ide/core.o
  CC      hw/ide/atapi.o
  CC      hw/ide/qdev.o
  CC      hw/ide/pci.o
  CC      hw/ide/isa.o
  CC      hw/ide/piix.o
  CC      hw/ide/microdrive.o
  CC      hw/ide/ahci.o
  CC      hw/ide/ich.o
  CC      hw/ide/ahci-allwinner.o
  CC      hw/input/hid.o
  CC      hw/input/lm832x.o
  CC      hw/input/pckbd.o
  CC      hw/input/pl050.o
  CC      hw/input/ps2.o
  CC      hw/input/stellaris_input.o
  CC      hw/input/tsc2005.o
  CC      hw/input/virtio-input.o
  CC      hw/input/virtio-input-hid.o
  CC      hw/input/virtio-input-host.o
  CC      hw/intc/i8259_common.o
  CC      hw/intc/i8259.o
  CC      hw/intc/pl190.o
  CC      hw/intc/xlnx-pmu-iomod-intc.o
  CC      hw/intc/xlnx-zynqmp-ipi.o
  CC      hw/intc/imx_avic.o
  CC      hw/intc/realview_gic.o
  CC      hw/intc/ioapic_common.o
  CC      hw/intc/arm_gic_common.o
  CC      hw/intc/arm_gic.o
  CC      hw/intc/arm_gicv2m.o
  CC      hw/intc/arm_gicv3_common.o
  CC      hw/intc/arm_gicv3.o
  CC      hw/intc/arm_gicv3_dist.o
  CC      hw/intc/arm_gicv3_its_common.o
  CC      hw/intc/arm_gicv3_redist.o
  CC      hw/intc/intc.o
  CC      hw/ipack/ipack.o
  CC      hw/ipmi/ipmi.o
  CC      hw/ipack/tpci200.o
  CC      hw/ipmi/ipmi_bmc_sim.o
  CC      hw/ipmi/ipmi_bmc_extern.o
  CC      hw/ipmi/isa_ipmi_kcs.o
  CC      hw/ipmi/isa_ipmi_bt.o
  CC      hw/isa/isa-bus.o
  CC      hw/isa/apm.o
  CC      hw/mem/pc-dimm.o
  CC      hw/mem/nvdimm.o
  CC      hw/misc/applesmc.o
  CC      hw/misc/max111x.o
  CC      hw/misc/tmp105.o
  CC      hw/misc/tmp421.o
  CC      hw/misc/debugexit.o
  CC      hw/misc/sga.o
  CC      hw/misc/pc-testdev.o
  CC      hw/misc/pci-testdev.o
  CC      hw/misc/edu.o
  CC      hw/misc/unimp.o
  CC      hw/misc/vmcoreinfo.o
  CC      hw/misc/arm_l2x0.o
  CC      hw/misc/arm_integrator_debug.o
  CC      hw/misc/a9scu.o
  CC      hw/misc/arm11scu.o
  CC      hw/net/xen_nic.o
  CC      hw/net/ne2000.o
  CC      hw/net/eepro100.o
  CC      hw/net/pcnet-pci.o
  CC      hw/net/pcnet.o
  CC      hw/net/e1000.o
  CC      hw/net/e1000x_common.o
  CC      hw/net/net_tx_pkt.o
  CC      hw/net/net_rx_pkt.o
  CC      hw/net/e1000e.o
  CC      hw/net/e1000e_core.o
  CC      hw/net/rtl8139.o
  CC      hw/net/vmxnet3.o
  CC      hw/net/smc91c111.o
  CC      hw/net/lan9118.o
  CC      hw/net/ne2000-isa.o
  CC      hw/net/xgmac.o
  CC      hw/net/xilinx_axienet.o
  CC      hw/net/allwinner_emac.o
  CC      hw/net/imx_fec.o
  CC      hw/net/cadence_gem.o
  CC      hw/net/stellaris_enet.o
  CC      hw/net/ftgmac100.o
  CC      hw/net/rocker/rocker.o
  CC      hw/net/rocker/rocker_fp.o
  CC      hw/net/rocker/rocker_desc.o
  CC      hw/net/rocker/rocker_world.o
  CC      hw/net/rocker/rocker_of_dpa.o
  CC      hw/nvram/eeprom93xx.o
  CC      hw/nvram/eeprom_at24c.o
  CC      hw/nvram/fw_cfg.o
  CC      hw/nvram/chrp_nvram.o
  CC      hw/pci-bridge/pci_bridge_dev.o
  CC      hw/pci-bridge/pcie_root_port.o
  CC      hw/pci-bridge/gen_pcie_root_port.o
  CC      hw/pci-bridge/pcie_pci_bridge.o
  CC      hw/pci-bridge/pci_expander_bridge.o
  CC      hw/pci-bridge/xio3130_upstream.o
  CC      hw/pci-bridge/xio3130_downstream.o
  CC      hw/pci-bridge/ioh3420.o
  CC      hw/pci-bridge/i82801b11.o
  CC      hw/pci-host/pam.o
  CC      hw/pci-host/versatile.o
  CC      hw/pci-host/piix.o
  CC      hw/pci-host/q35.o
  CC      hw/pci-host/gpex.o
  CC      hw/pci/pci.o
  CC      hw/pci/pci_bridge.o
  CC      hw/pci/msix.o
  CC      hw/pci/msi.o
  CC      hw/pci/shpc.o
  CC      hw/pci/slotid_cap.o
  CC      hw/pci/pci_host.o
  CC      hw/pci/pcie_host.o
  CC      hw/pci/pcie.o
  CC      hw/pci/pcie_aer.o
  CC      hw/pci/pcie_port.o
  CC      hw/pci/pci-stub.o
  CC      hw/pcmcia/pcmcia.o
  CC      hw/scsi/scsi-disk.o
  CC      hw/scsi/scsi-generic.o
  CC      hw/scsi/scsi-bus.o
  CC      hw/scsi/lsi53c895a.o
  CC      hw/scsi/mptsas.o
  CC      hw/scsi/mptconfig.o
  CC      hw/scsi/mptendian.o
  CC      hw/scsi/megasas.o
  CC      hw/scsi/vmw_pvscsi.o
  CC      hw/scsi/esp.o
  CC      hw/scsi/esp-pci.o
  CC      hw/sd/pl181.o
  CC      hw/sd/ssi-sd.o
  CC      hw/sd/sd.o
  CC      hw/sd/core.o
  CC      hw/sd/sdhci.o
  CC      hw/smbios/smbios.o
  CC      hw/smbios/smbios_type_38.o
  CC      hw/smbios/smbios-stub.o
  CC      hw/smbios/smbios_type_38-stub.o
  CC      hw/ssi/pl022.o
  CC      hw/ssi/ssi.o
  CC      hw/ssi/xilinx_spips.o
  CC      hw/ssi/stm32f2xx_spi.o
  CC      hw/ssi/mss-spi.o
  CC      hw/ssi/aspeed_smc.o
  CC      hw/timer/arm_timer.o
  CC      hw/timer/arm_mptimer.o
  CC      hw/timer/armv7m_systick.o
  CC      hw/timer/a9gtimer.o
  CC      hw/timer/cadence_ttc.o
  CC      hw/timer/ds1338.o
  CC      hw/timer/hpet.o
  CC      hw/timer/i8254_common.o
  CC      hw/timer/i8254.o
  CC      hw/timer/pl031.o
  CC      hw/timer/twl92230.o
  CC      hw/timer/imx_epit.o
  CC      hw/timer/imx_gpt.o
  CC      hw/timer/stm32f2xx_timer.o
  CC      hw/timer/aspeed_timer.o
  CC      hw/timer/cmsdk-apb-timer.o
  CC      hw/timer/mss-timer.o
  CC      hw/tpm/tpm_util.o
  CC      hw/tpm/tpm_tis.o
  CC      hw/tpm/tpm_crb.o
  CC      hw/tpm/tpm_passthrough.o
  CC      hw/tpm/tpm_emulator.o
  CC      hw/usb/core.o
  CC      hw/usb/combined-packet.o
  CC      hw/usb/bus.o
  CC      hw/usb/libhw.o
  CC      hw/usb/desc.o
  CC      hw/usb/desc-msos.o
  CC      hw/usb/hcd-uhci.o
  CC      hw/usb/hcd-ohci.o
  CC      hw/usb/hcd-ehci.o
  CC      hw/usb/hcd-ehci-pci.o
  CC      hw/usb/hcd-ehci-sysbus.o
  CC      hw/usb/hcd-xhci.o
  CC      hw/usb/hcd-xhci-nec.o
  CC      hw/usb/hcd-musb.o
  CC      hw/usb/dev-hub.o
  CC      hw/usb/dev-hid.o
  CC      hw/usb/dev-wacom.o
  CC      hw/usb/dev-storage.o
  CC      hw/usb/dev-uas.o
  CC      hw/usb/dev-audio.o
  CC      hw/usb/dev-serial.o
  CC      hw/usb/dev-network.o
  CC      hw/usb/dev-bluetooth.o
  CC      hw/usb/dev-smartcard-reader.o
  CC      hw/usb/ccid-card-passthru.o
  CC      hw/usb/ccid-card-emulated.o
  CC      hw/usb/dev-mtp.o
  CC      hw/usb/host-stub.o
  CC      hw/virtio/virtio-pci.o
  CC      hw/virtio/virtio-rng.o
  CC      hw/virtio/virtio-bus.o
  CC      hw/virtio/virtio-mmio.o
  CC      hw/virtio/vhost-stub.o
  CC      hw/watchdog/watchdog.o
  CC      hw/watchdog/wdt_i6300esb.o
  CC      hw/watchdog/wdt_ib700.o
  CC      hw/watchdog/wdt_aspeed.o
  CC      hw/xen/xen_backend.o
  CC      hw/xen/xen_devconfig.o
  CC      hw/xen/xen_pvdev.o
  CC      hw/xen/xen-common.o
  CC      migration/migration.o
  CC      migration/socket.o
  CC      migration/fd.o
  CC      migration/exec.o
  CC      migration/tls.o
  CC      migration/channel.o
  CC      migration/savevm.o
  CC      migration/colo-comm.o
  CC      migration/colo.o
  CC      migration/colo-failover.o
  CC      migration/vmstate.o
  CC      migration/vmstate-types.o
  CC      migration/page_cache.o
  CC      migration/qemu-file.o
  CC      migration/global_state.o
  CC      migration/qemu-file-channel.o
  CC      migration/xbzrle.o
  CC      migration/postcopy-ram.o
  CC      migration/qjson.o
  CC      migration/rdma.o
  CC      migration/block.o
  CC      net/net.o
  CC      net/queue.o
  CC      net/checksum.o
  CC      net/util.o
  CC      net/hub.o
  CC      net/socket.o
  CC      net/dump.o
  CC      net/eth.o
  CC      net/l2tpv3.o
  CC      net/vhost-user.o
  CC      net/slirp.o
  CC      net/filter.o
  CC      net/filter-buffer.o
  CC      net/filter-mirror.o
  CC      net/colo-compare.o
  CC      net/colo.o
  CC      net/filter-rewriter.o
  CC      net/filter-replay.o
  CC      net/tap.o
  CC      net/tap-linux.o
  CC      qom/cpu.o
  CC      replay/replay.o
  CC      replay/replay-internal.o
  CC      replay/replay-events.o
  CC      replay/replay-time.o
/tmp/qemu-test/src/replay/replay-internal.c: In function 'replay_put_array':
/tmp/qemu-test/src/replay/replay-internal.c:65: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result
  CC      replay/replay-input.o
  CC      replay/replay-char.o
  CC      replay/replay-snapshot.o
  CC      replay/replay-net.o
  CC      replay/replay-audio.o
  CC      slirp/cksum.o
  CC      slirp/if.o
  CC      slirp/ip_icmp.o
  CC      slirp/ip6_icmp.o
  CC      slirp/ip6_input.o
  CC      slirp/ip6_output.o
  CC      slirp/ip_input.o
  CC      slirp/ip_output.o
  CC      slirp/dnssearch.o
  CC      slirp/dhcpv6.o
  CC      slirp/slirp.o
  CC      slirp/mbuf.o
  CC      slirp/misc.o
  CC      slirp/sbuf.o
  CC      slirp/socket.o
  CC      slirp/tcp_input.o
  CC      slirp/tcp_output.o
  CC      slirp/tcp_subr.o
  CC      slirp/tcp_timer.o
  CC      slirp/udp.o
  CC      slirp/udp6.o
  CC      slirp/bootp.o
  CC      slirp/tftp.o
  CC      slirp/arp_table.o
  CC      slirp/ndp_table.o
/tmp/qemu-test/src/slirp/tcp_input.c: In function 'tcp_input':
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_p' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_len' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_tos' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_id' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_off' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_ttl' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_sum' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_src.s_addr' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_dst.s_addr' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:220: warning: 'save_ip6.ip_nh' may be used uninitialized in this function
  CC      slirp/ncsi.o
  CC      ui/keymaps.o
  CC      ui/console.o
  CC      ui/cursor.o
  CC      ui/qemu-pixman.o
  CC      ui/input.o
  CC      ui/input-keymap.o
  CC      ui/input-legacy.o
  CC      ui/input-linux.o
  CC      ui/spice-core.o
  CC      ui/spice-input.o
  CC      ui/spice-display.o
  CC      ui/sdl.o
  CC      ui/sdl_zoom.o
  CC      ui/curses.o
  CC      ui/vnc.o
  CC      ui/vnc-enc-zlib.o
  CC      ui/vnc-enc-hextile.o
  CC      ui/vnc-enc-tight.o
  CC      ui/vnc-palette.o
  CC      ui/vnc-enc-zrle.o
  CC      ui/vnc-auth-vencrypt.o
  CC      ui/vnc-ws.o
  CC      ui/vnc-jobs.o
  CC      ui/gtk.o
  CC      ui/x_keymap.o
  VERT    ui/shader/texture-blit-vert.h
  VERT    ui/shader/texture-blit-flip-vert.h
  FRAG    ui/shader/texture-blit-frag.h
  CC      ui/console-gl.o
  CC      ui/egl-helpers.o
  CC      ui/egl-context.o
  CC      ui/gtk-egl.o
  CC      chardev/char.o
  CC      chardev/char-fd.o
  CC      chardev/char-fe.o
  CC      chardev/char-file.o
  CC      chardev/char-io.o
  CC      chardev/char-mux.o
  CC      chardev/char-null.o
  CC      chardev/char-parallel.o
In file included from /usr/include/gtk-2.0/gtk/gtk.h:235,
                 from /tmp/qemu-test/src/include/ui/gtk.h:10,
                 from /tmp/qemu-test/src/ui/gtk.c:43:
/usr/include/gtk-2.0/gtk/gtkitemfactory.h:47: warning: function declaration isn't a prototype
  CC      chardev/char-pipe.o
  CC      chardev/char-pty.o
  CC      chardev/char-ringbuf.o
  CC      chardev/char-serial.o
  CC      chardev/char-socket.o
  CC      chardev/char-stdio.o
  CC      chardev/char-udp.o
In file included from /usr/include/gtk-2.0/gtk/gtk.h:235,
                 from /tmp/qemu-test/src/include/ui/gtk.h:10,
                 from /tmp/qemu-test/src/ui/gtk-egl.c:21:
/usr/include/gtk-2.0/gtk/gtkitemfactory.h:47: warning: function declaration isn't a prototype
  LINK    tests/qemu-iotests/socket_scm_helper
  CC      qga/commands.o
  CC      qga/guest-agent-command-state.o
  AS      optionrom/multiboot.o
  AS      optionrom/linuxboot.o
  CC      optionrom/linuxboot_dma.o
  CC      qga/main.o
  AS      optionrom/kvmvapic.o
  CC      qga/commands-posix.o
  CC      qga/channel-posix.o
  BUILD   optionrom/multiboot.img
  BUILD   optionrom/linuxboot.img
  BUILD   optionrom/kvmvapic.img
  CC      qga/qapi-generated/qga-qapi-types.o
cc: unrecognized option '-no-integrated-as'
cc: unrecognized option '-no-integrated-as'
  BUILD   optionrom/multiboot.raw
  BUILD   optionrom/linuxboot.raw
  BUILD   optionrom/linuxboot_dma.img
  BUILD   optionrom/kvmvapic.raw
  SIGN    optionrom/multiboot.bin
  SIGN    optionrom/linuxboot.bin
  CC      qga/qapi-generated/qga-qapi-visit.o
  BUILD   optionrom/linuxboot_dma.raw
  SIGN    optionrom/kvmvapic.bin
  CC      qga/qapi-generated/qga-qmp-marshal.o
  SIGN    optionrom/linuxboot_dma.bin
  AR      libqemuutil.a
  CC      qemu-img.o
  CC      ui/shader.o
  LINK    ivshmem-client
  LINK    ivshmem-server
  LINK    qemu-nbd
  LINK    qemu-io
  LINK    scsi/qemu-pr-helper
  LINK    qemu-bridge-helper
  LINK    qemu-ga
  LINK    qemu-img
  GEN     aarch64-softmmu/hmp-commands-info.h
  GEN     aarch64-softmmu/hmp-commands.h
  GEN     aarch64-softmmu/config-target.h
  GEN     x86_64-softmmu/config-target.h
  GEN     x86_64-softmmu/hmp-commands.h
  GEN     x86_64-softmmu/hmp-commands-info.h
  CC      aarch64-softmmu/exec.o
  CC      aarch64-softmmu/tcg/tcg.o
  CC      aarch64-softmmu/fpu/softfloat.o
  CC      aarch64-softmmu/tcg/tcg-op.o
  CC      aarch64-softmmu/tcg/optimize.o
  CC      aarch64-softmmu/tcg/tcg-common.o
  CC      aarch64-softmmu/disas.o
  CC      x86_64-softmmu/exec.o
  GEN     aarch64-softmmu/gdbstub-xml.c
  CC      aarch64-softmmu/arch_init.o
  CC      aarch64-softmmu/cpus.o
  CC      x86_64-softmmu/tcg/tcg.o
  CC      aarch64-softmmu/monitor.o
  CC      aarch64-softmmu/gdbstub.o
  CC      aarch64-softmmu/balloon.o
  CC      aarch64-softmmu/ioport.o
  CC      x86_64-softmmu/tcg/tcg-op.o
  CC      aarch64-softmmu/numa.o
  CC      aarch64-softmmu/qtest.o
  CC      x86_64-softmmu/tcg/optimize.o
  CC      aarch64-softmmu/memory.o
  CC      aarch64-softmmu/memory_mapping.o
  CC      x86_64-softmmu/tcg/tcg-common.o
  CC      x86_64-softmmu/fpu/softfloat.o
  CC      aarch64-softmmu/dump.o
  CC      x86_64-softmmu/disas.o
  CC      aarch64-softmmu/migration/ram.o
  CC      aarch64-softmmu/accel/accel.o
  GEN     x86_64-softmmu/gdbstub-xml.c
  CC      aarch64-softmmu/accel/stubs/hax-stub.o
  CC      x86_64-softmmu/arch_init.o
  CC      aarch64-softmmu/accel/stubs/hvf-stub.o
  CC      x86_64-softmmu/cpus.o
  CC      x86_64-softmmu/monitor.o
  CC      aarch64-softmmu/accel/stubs/kvm-stub.o
  CC      aarch64-softmmu/accel/tcg/tcg-all.o
  CC      aarch64-softmmu/accel/tcg/cputlb.o
  CC      aarch64-softmmu/accel/tcg/tcg-runtime.o
  CC      aarch64-softmmu/accel/tcg/cpu-exec.o
  CC      x86_64-softmmu/gdbstub.o
  CC      aarch64-softmmu/accel/tcg/cpu-exec-common.o
  CC      aarch64-softmmu/accel/tcg/translate-all.o
  CC      aarch64-softmmu/accel/tcg/translator.o
  CC      aarch64-softmmu/hw/adc/stm32f2xx_adc.o
  CC      aarch64-softmmu/hw/block/virtio-blk.o
  CC      x86_64-softmmu/balloon.o
  CC      x86_64-softmmu/ioport.o
  CC      x86_64-softmmu/numa.o
  CC      x86_64-softmmu/qtest.o
  CC      x86_64-softmmu/memory.o
  CC      x86_64-softmmu/memory_mapping.o
  CC      aarch64-softmmu/hw/block/vhost-user-blk.o
  CC      x86_64-softmmu/dump.o
  CC      aarch64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      aarch64-softmmu/hw/char/exynos4210_uart.o
  CC      x86_64-softmmu/migration/ram.o
  CC      x86_64-softmmu/accel/accel.o
  CC      x86_64-softmmu/accel/kvm/kvm-all.o
  CC      x86_64-softmmu/accel/stubs/hax-stub.o
  CC      aarch64-softmmu/hw/char/omap_uart.o
  CC      x86_64-softmmu/accel/stubs/hvf-stub.o
  CC      x86_64-softmmu/accel/tcg/tcg-all.o
  CC      aarch64-softmmu/hw/char/digic-uart.o
  CC      aarch64-softmmu/hw/char/stm32f2xx_usart.o
  CC      aarch64-softmmu/hw/char/virtio-serial-bus.o
  CC      aarch64-softmmu/hw/char/bcm2835_aux.o
  CC      x86_64-softmmu/accel/tcg/cputlb.o
  CC      x86_64-softmmu/accel/tcg/tcg-runtime.o
  CC      aarch64-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/core/null-machine.o
  CC      aarch64-softmmu/hw/cpu/arm11mpcore.o
  CC      x86_64-softmmu/accel/tcg/cpu-exec.o
  CC      x86_64-softmmu/accel/tcg/cpu-exec-common.o
  CC      aarch64-softmmu/hw/cpu/realview_mpcore.o
  CC      aarch64-softmmu/hw/cpu/a9mpcore.o
  CC      aarch64-softmmu/hw/cpu/a15mpcore.o
  CC      aarch64-softmmu/hw/display/omap_dss.o
  CC      x86_64-softmmu/accel/tcg/translate-all.o
  CC      aarch64-softmmu/hw/display/omap_lcdc.o
  CC      aarch64-softmmu/hw/display/pxa2xx_lcd.o
  CC      x86_64-softmmu/accel/tcg/translator.o
  CC      aarch64-softmmu/hw/display/bcm2835_fb.o
  CC      aarch64-softmmu/hw/display/vga.o
  CC      x86_64-softmmu/hw/block/virtio-blk.o
  CC      x86_64-softmmu/hw/block/vhost-user-blk.o
  CC      aarch64-softmmu/hw/display/virtio-gpu.o
  CC      x86_64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-3d.o
  CC      x86_64-softmmu/hw/char/virtio-serial-bus.o
  CC      x86_64-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-pci.o
  CC      aarch64-softmmu/hw/display/dpcd.o
  CC      aarch64-softmmu/hw/dma/xlnx_dpdma.o
  CC      aarch64-softmmu/hw/display/xlnx_dp.o
  CC      aarch64-softmmu/hw/dma/omap_dma.o
  CC      x86_64-softmmu/hw/core/null-machine.o
  CC      x86_64-softmmu/hw/display/vga.o
  CC      aarch64-softmmu/hw/dma/soc_dma.o
  CC      x86_64-softmmu/hw/display/virtio-gpu.o
  CC      aarch64-softmmu/hw/dma/pxa2xx_dma.o
  CC      aarch64-softmmu/hw/dma/bcm2835_dma.o
  CC      aarch64-softmmu/hw/gpio/omap_gpio.o
  CC      x86_64-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/hw/gpio/imx_gpio.o
  CC      aarch64-softmmu/hw/gpio/bcm2835_gpio.o
  CC      aarch64-softmmu/hw/i2c/omap_i2c.o
  CC      x86_64-softmmu/hw/display/virtio-gpu-pci.o
  CC      aarch64-softmmu/hw/input/pxa2xx_keypad.o
  CC      x86_64-softmmu/hw/display/virtio-vga.o
  CC      aarch64-softmmu/hw/input/tsc210x.o
  CC      x86_64-softmmu/hw/intc/apic.o
  CC      aarch64-softmmu/hw/intc/armv7m_nvic.o
  CC      x86_64-softmmu/hw/intc/apic_common.o
  CC      aarch64-softmmu/hw/intc/exynos4210_gic.o
  CC      aarch64-softmmu/hw/intc/exynos4210_combiner.o
  CC      x86_64-softmmu/hw/intc/ioapic.o
  CC      aarch64-softmmu/hw/intc/omap_intc.o
  CC      aarch64-softmmu/hw/intc/bcm2835_ic.o
  CC      aarch64-softmmu/hw/intc/bcm2836_control.o
  CC      aarch64-softmmu/hw/intc/allwinner-a10-pic.o
  CC      x86_64-softmmu/hw/isa/lpc_ich9.o
  CC      aarch64-softmmu/hw/intc/aspeed_vic.o
  CC      x86_64-softmmu/hw/misc/ivshmem.o
  CC      aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o
  CC      x86_64-softmmu/hw/misc/pvpanic.o
  CC      aarch64-softmmu/hw/misc/ivshmem.o
  CC      x86_64-softmmu/hw/misc/hyperv_testdev.o
  CC      x86_64-softmmu/hw/misc/mmio_interface.o
  CC      x86_64-softmmu/hw/net/virtio-net.o
  CC      x86_64-softmmu/hw/net/vhost_net.o
  CC      x86_64-softmmu/hw/net/hv-net.o
  CC      x86_64-softmmu/hw/scsi/virtio-scsi.o
  CC      aarch64-softmmu/hw/misc/arm_sysctl.o
  CC      aarch64-softmmu/hw/misc/cbus.o
  CC      x86_64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      x86_64-softmmu/hw/scsi/vhost-scsi-common.o
  CC      aarch64-softmmu/hw/misc/exynos4210_pmu.o
  CC      aarch64-softmmu/hw/misc/exynos4210_clk.o
  CC      x86_64-softmmu/hw/scsi/vhost-scsi.o
In file included from /tmp/qemu-test/src/hw/net/hv-net.c:14:
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:63: error: redefinition of typedef 'VMBusDevice'
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:32: note: previous declaration of 'VMBusDevice' was here
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/hw/misc/exynos4210_rng.o
  CC      aarch64-softmmu/hw/misc/imx_ccm.o
  CC      aarch64-softmmu/hw/misc/imx31_ccm.o
  CC      aarch64-softmmu/hw/misc/imx25_ccm.o
  CC      aarch64-softmmu/hw/misc/imx6_ccm.o
  CC      aarch64-softmmu/hw/misc/imx6_src.o
  CC      aarch64-softmmu/hw/misc/mst_fpga.o
  CC      aarch64-softmmu/hw/misc/omap_clk.o
make: *** [subdir-x86_64-softmmu] Error 2
make: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/hw/misc/omap_gpmc.o
  CC      aarch64-softmmu/hw/misc/omap_l4.o
  CC      aarch64-softmmu/hw/misc/omap_sdrc.o
  CC      aarch64-softmmu/hw/misc/omap_tap.o
  CC      aarch64-softmmu/hw/misc/bcm2835_mbox.o
  CC      aarch64-softmmu/hw/misc/bcm2835_property.o
  CC      aarch64-softmmu/hw/misc/bcm2835_rng.o
  CC      aarch64-softmmu/hw/misc/zynq_slcr.o
  CC      aarch64-softmmu/hw/misc/zynq-xadc.o
  CC      aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
  CC      aarch64-softmmu/hw/misc/mps2-scc.o
  CC      aarch64-softmmu/hw/misc/auxbus.o
  CC      aarch64-softmmu/hw/misc/aspeed_scu.o
  CC      aarch64-softmmu/hw/misc/aspeed_sdmc.o
  CC      aarch64-softmmu/hw/misc/msf2-sysreg.o
  CC      aarch64-softmmu/hw/misc/mmio_interface.o
  CC      aarch64-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/hw/net/vhost_net.o
  CC      aarch64-softmmu/hw/net/hv-net.o
  CC      aarch64-softmmu/hw/pcmcia/pxa2xx.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      aarch64-softmmu/hw/scsi/vhost-scsi.o
  CC      aarch64-softmmu/hw/scsi/vhost-user-scsi.o
  CC      aarch64-softmmu/hw/scsi/vhost-scsi-common.o
  CC      aarch64-softmmu/hw/scsi/hv-scsi.o
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:28:1: warning: "TARGET_LONG_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:30:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:34:1: warning: "TCG_GUEST_DEFAULT_MO" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:36:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:36:1: warning: "CPUArchState" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:53:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:92:1: warning: "CPU_INTERRUPT_VIRQ" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:739:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:115:1: warning: "NB_MMU_MODES" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:919:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:120:1: warning: "TARGET_INSN_START_EXTRA_WORDS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:920:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:780:1: warning: "ENV_GET_CPU" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1350:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:782:1: warning: "ENV_OFFSET" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1352:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2052:1: warning: "TARGET_PAGE_BITS_MIN" redefined
In file included from /tmp/qemu-test/src/target/i386/cpu.h:1626,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/include/exec/cpu-all.h:222:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2056:1: warning: "TARGET_PHYS_ADDR_SPACE_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1553:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2057:1: warning: "TARGET_VIRT_ADDR_SPACE_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1554:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2171:1: warning: "cpu_init" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1567:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2176:1: warning: "cpu_signal_handler" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1578:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2177:1: warning: "cpu_list" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1579:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2314:1: warning: "MMU_USER_IDX" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1586:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:236,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:20,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:14:
/tmp/qemu-test/src/target/arm/cpu.h:2377: error: conflicting types for 'cpu_mmu_index'
/tmp/qemu-test/src/target/i386/cpu.h:1588: note: previous definition of 'cpu_mmu_index' was here
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:236,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:20,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:14:
/tmp/qemu-test/src/target/arm/cpu.h:2716: error: conflicting types for 'cpu_get_tb_cpu_state'
/tmp/qemu-test/src/target/i386/cpu.h:1633: note: previous definition of 'cpu_get_tb_cpu_state' was here
In file included from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:14:
/tmp/qemu-test/src/target/i386/hyperv.h:25: warning: 'struct kvm_hyperv_exit' declared inside parameter list
/tmp/qemu-test/src/target/i386/hyperv.h:25: warning: its scope is only this definition or declaration, which is probably not what you want
In file included from /tmp/qemu-test/src/hw/net/hv-net.c:14:
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:63: error: redefinition of typedef 'VMBusDevice'
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:32: note: previous declaration of 'VMBusDevice' was here
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:28:1: warning: "TARGET_LONG_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:30:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:34:1: warning: "TCG_GUEST_DEFAULT_MO" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:36:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:36:1: warning: "CPUArchState" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:53:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:92:1: warning: "CPU_INTERRUPT_VIRQ" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:739:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:115:1: warning: "NB_MMU_MODES" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:919:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:120:1: warning: "TARGET_INSN_START_EXTRA_WORDS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:920:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:780:1: warning: "ENV_GET_CPU" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1350:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:782:1: warning: "ENV_OFFSET" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1352:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2052:1: warning: "TARGET_PAGE_BITS_MIN" redefined
In file included from /tmp/qemu-test/src/target/i386/cpu.h:1626,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/include/exec/cpu-all.h:222:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2056:1: warning: "TARGET_PHYS_ADDR_SPACE_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1553:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2057:1: warning: "TARGET_VIRT_ADDR_SPACE_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1554:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2171:1: warning: "cpu_init" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1567:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2176:1: warning: "cpu_signal_handler" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1578:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2177:1: warning: "cpu_list" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1579:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2314:1: warning: "MMU_USER_IDX" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1586:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:236,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:20,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:14:
/tmp/qemu-test/src/target/arm/cpu.h:2377: error: conflicting types for 'cpu_mmu_index'
/tmp/qemu-test/src/target/i386/cpu.h:1588: note: previous definition of 'cpu_mmu_index' was here
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:236,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:20,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:14:
/tmp/qemu-test/src/target/arm/cpu.h:2716: error: conflicting types for 'cpu_get_tb_cpu_state'
/tmp/qemu-test/src/target/i386/cpu.h:1633: note: previous definition of 'cpu_get_tb_cpu_state' was here
In file included from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:14:
/tmp/qemu-test/src/target/i386/hyperv.h:25: warning: 'struct kvm_hyperv_exit' declared inside parameter list
/tmp/qemu-test/src/target/i386/hyperv.h:25: warning: its scope is only this definition or declaration, which is probably not what you want
In file included from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:14:
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:63: error: redefinition of typedef 'VMBusDevice'
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:32: note: previous declaration of 'VMBusDevice' was here
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
make: *** [subdir-aarch64-softmmu] Error 2
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 407, in <module>
    sys.exit(main())
  File "./tests/docker/docker.py", line 404, in main
    return args.cmdobj.run(args, argv)
  File "./tests/docker/docker.py", line 261, in run
    return Docker().run(argv, args.keep, quiet=args.quiet)
  File "./tests/docker/docker.py", line 229, in run
    quiet=quiet)
  File "./tests/docker/docker.py", line 147, in _do_check
    return subprocess.check_call(self._command + cmd, **kwargs)
  File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=06604e6a0b8c11e88d6852540069c830', '-u', '0', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-u4db_dad/src/docker-src.2018-02-06-17.20.48.6483:/var/tmp/qemu:z,ro', 'qemu:centos6', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 2
make[1]: *** [tests/docker/Makefile.include:129: docker-run] Error 1
make: *** [tests/docker/Makefile.include:163: docker-run-test-quick@centos6] Error 2

real	2m12.471s
user	0m4.866s
sys	0m3.406s
=== OUTPUT END ===

Test command exited with code: 2


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus
  2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
                   ` (38 preceding siblings ...)
  2018-02-06 22:23 ` no-reply
@ 2018-02-06 22:35 ` no-reply
  39 siblings, 0 replies; 75+ messages in thread
From: no-reply @ 2018-02-06 22:35 UTC (permalink / raw)
  To: rkagan
  Cc: famz, qemu-devel, ben, konrad.wilk, krish.sadhukhan,
	Marcos.Matsunaga, jan.dakinevich, vrozenfe, den, si-wei.liu,
	pbonzini, vkuznets, cavery

Hi,

This series failed docker-build@min-glib build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

Type: series
Message-id: 20180206203048.11096-1-rkagan@virtuozzo.com
Subject: [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-build@min-glib
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
98adc64f2b hv-net: define default rom file name
32dd25dfe6 vmbus: add support for rom files
983ba13ed2 loader: allow arbitrary basename for fw_cfg file roms
3e4e616672 hv-net: add .bootindex support
9b49f45b61 net: add Hyper-V/VMBus net adapter
8b3b6a7831 net: add Hyper-V/VMBus network protocol definitions
932a14d315 net: add RNDIS definitions
58ff5f3675 tests: hv-scsi: add start-stop test
f81c7ad4b7 hv-scsi: limit the number of requests per notification
62d0ac72b5 scsi: add Hyper-V/VMBus SCSI controller
438b47b468 scsi: add Hyper-V/VMBus SCSI protocol definitions
4baa88ac14 i386: en/disable vmbus by a machine property
7e9adc9af7 i386: Hyper-V VMBus ACPI DSDT entry
1c19b65fab vmbus: build configuration
4471f1afca vmbus: vmbus implementation
6aff6ba275 vmbus: add vmbus protocol definitions
601a95fc0a hyperv: add support for KVM_HYPERV_EVENTFD
9ec270a97e import HYPERV_EVENTFD stuff from kernel
cbfeb5e77c hyperv: update copyright notices
77d9e62db5 hyperv_testdev: add SynIC message and event testmodes
6bf86c8237 hyperv: process POST_MESSAGE hypercall
52d482a30c hyperv: process SIGNAL_EVENT hypercall
be4ed13446 hyperv: add synic event flag signaling
58a94ec55e hyperv: add synic message delivery
921fcaab97 hyperv: make overlay pages for SynIC
8540e6cff0 hyperv: block SynIC use in QEMU in incompatible configurations
0a8a729b0b hyperv: qom-ify SynIC
1f9fba8cb0 hyperv: make HvSintRoute reference-counted
4d649ce401 hyperv: address HvSintRoute by X86CPU pointer
96cc3d2e21 hyperv: allow passing arbitrary data to sint ack callback
93ceab6b34 hyperv: synic: only setup ack notifier if there's a callback
fa7482c5ff hyperv: cosmetic: g_malloc -> g_new
63d46e7b96 hyperv_testdev: refactor for readability
ff514f8890 hyperv: ensure VP index equal to QEMU cpu_index

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-ewnmmm63/src/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
  BUILD   min-glib
  GEN     /var/tmp/patchew-tester-tmp-ewnmmm63/src/docker-src.2018-02-06-17.33.29.28900/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-ewnmmm63/src/docker-src.2018-02-06-17.33.29.28900/qemu.tar.vroot'...
done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-ewnmmm63/src/docker-src.2018-02-06-17.33.29.28900/qemu.tar.vroot/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into '/var/tmp/patchew-tester-tmp-ewnmmm63/src/docker-src.2018-02-06-17.33.29.28900/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '10739aa26051a5d49d88132604539d3ed085e72e'
  COPY    RUNNER
    RUN test-build in qemu:min-glib 
Environment variables:
HOSTNAME=1fac46fda28a
MAKEFLAGS= -j8
J=8
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
TARGET_LIST=
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
FEATURES= dtc
DEBUG=
_=/usr/bin/env

Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install
No C++ compiler available; disabling C++ specific optional code
Install prefix    /tmp/qemu-test/install
BIOS directory    /tmp/qemu-test/install/share/qemu
firmware path     /tmp/qemu-test/install/share/qemu-firmware
binary directory  /tmp/qemu-test/install/bin
library directory /tmp/qemu-test/install/lib
module directory  /tmp/qemu-test/install/lib/qemu
libexec directory /tmp/qemu-test/install/libexec
include directory /tmp/qemu-test/install/include
config directory  /tmp/qemu-test/install/etc
local state directory   /tmp/qemu-test/install/var
Manual directory  /tmp/qemu-test/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /tmp/qemu-test/src
GIT binary        git
GIT submodules    
C compiler        cc
Host C compiler   cc
C++ compiler      
Objective-C compiler cc
ARFLAGS           rv
CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS       -I/usr/include/pixman-1   -I$(SRC_PATH)/dtc/libfdt -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv  -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Wno-missing-braces
LDFLAGS           -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g 
make              make
install           install
python            python -B
smbd              /usr/sbin/smbd
module support    no
host CPU          x86_64
host big endian   no
target list       x86_64-softmmu aarch64-softmmu
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
SDL support       yes (1.2.14)
GTK support       no 
GTK GL support    no
VTE support       no 
TLS priority      NORMAL
GNUTLS support    no
GNUTLS rnd        no
libgcrypt         no
libgcrypt kdf     no
nettle            no 
nettle kdf        no
libtasn1          no
curses support    no
virgl support     no
curl support      no
mingw32 support   no
Audio drivers     oss
Block whitelist (rw) 
Block whitelist (ro) 
VirtFS support    no
Multipath support no
VNC support       yes
VNC SASL support  no
VNC JPEG support  no
VNC PNG support   no
xen support       no
brlapi support    no
bluez  support    no
Documentation     no
PIE               yes
vde support       no
netmap support    no
Linux AIO support no
ATTR/XATTR support yes
Install blobs     yes
KVM support       yes
HAX support       no
HVF support       no
TCG support       yes
TCG debug enabled no
TCG interpreter   no
malloc trim support yes
RDMA support      no
fdt support       yes
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
libcap-ng support no
vhost-net support yes
vhost-scsi support yes
vhost-vsock support yes
vhost-user support yes
Trace backends    log
spice support     no 
rbd support       no
xfsctl support    no
smartcard support no
libusb            no
usb net redir     no
OpenGL support    no
OpenGL dmabufs    no
libiscsi support  no
libnfs support    no
build guest agent yes
QGA VSS support   no
QGA w32 disk info no
QGA MSI support   no
seccomp support   no
coroutine backend ucontext
coroutine pool    yes
debug stack usage no
crypto afalg      no
GlusterFS support no
gcov              gcov
gcov enabled      no
TPM support       yes
libssh2 support   no
TPM passthrough   yes
TPM emulator      yes
QOM debugging     yes
Live block migration yes
lzo support       no
snappy support    no
bzip2 support     no
NUMA host support no
libxml2           no
tcmalloc support  no
jemalloc support  no
avx2 optimization no
replication support yes
VxHS block device no
capstone          no
vmbus support     yes

WARNING: Use of SDL 1.2 is deprecated and will be removed in
WARNING: future releases. Please switch to using SDL 2.0
  GEN     x86_64-softmmu/config-devices.mak.tmp
  GEN     aarch64-softmmu/config-devices.mak.tmp
  GEN     qemu-options.def
  GEN     config-host.h
  GEN     qmp-commands.h
  GEN     qapi-types.h
  GEN     qapi-visit.h
  GEN     qapi-event.h
  GEN     x86_64-softmmu/config-devices.mak
  GEN     aarch64-softmmu/config-devices.mak
  GEN     qmp-marshal.c
  GEN     qapi-types.c
  GEN     qapi-visit.c
  GEN     qapi-event.c
  GEN     qmp-introspect.h
  GEN     qmp-introspect.c
  GEN     trace/generated-tcg-tracers.h
  GEN     trace/generated-helpers-wrappers.h
  GEN     trace/generated-helpers.h
  GEN     trace/generated-helpers.c
  GEN     module_block.h
  GEN     ui/input-keymap-atset1-to-qcode.c
  GEN     ui/input-keymap-linux-to-qcode.c
  GEN     ui/input-keymap-qcode-to-atset1.c
  GEN     ui/input-keymap-qcode-to-atset2.c
  GEN     ui/input-keymap-qcode-to-atset3.c
  GEN     ui/input-keymap-qcode-to-linux.c
  GEN     ui/input-keymap-qcode-to-qnum.c
  GEN     ui/input-keymap-qcode-to-sun.c
  GEN     ui/input-keymap-qnum-to-qcode.c
  GEN     ui/input-keymap-usb-to-qcode.c
  GEN     ui/input-keymap-win32-to-qcode.c
  GEN     ui/input-keymap-x11-to-qcode.c
  GEN     ui/input-keymap-xorgevdev-to-qcode.c
  GEN     ui/input-keymap-xorgkbd-to-qcode.c
  GEN     ui/input-keymap-xorgxquartz-to-qcode.c
  GEN     ui/input-keymap-xorgxwin-to-qcode.c
  GEN     tests/test-qapi-types.h
  GEN     tests/test-qapi-visit.h
  GEN     tests/test-qmp-commands.h
  GEN     tests/test-qapi-event.h
  GEN     tests/test-qmp-introspect.h
  GEN     trace-root.h
  GEN     util/trace.h
  GEN     crypto/trace.h
  GEN     io/trace.h
  GEN     migration/trace.h
  GEN     block/trace.h
  GEN     chardev/trace.h
  GEN     hw/block/trace.h
  GEN     hw/block/dataplane/trace.h
  GEN     hw/char/trace.h
  GEN     hw/intc/trace.h
  GEN     hw/net/trace.h
  GEN     hw/virtio/trace.h
  GEN     hw/audio/trace.h
  GEN     hw/misc/trace.h
  GEN     hw/usb/trace.h
  GEN     hw/scsi/trace.h
  GEN     hw/nvram/trace.h
  GEN     hw/display/trace.h
  GEN     hw/input/trace.h
  GEN     hw/timer/trace.h
  GEN     hw/dma/trace.h
  GEN     hw/sparc/trace.h
  GEN     hw/sparc64/trace.h
  GEN     hw/sd/trace.h
  GEN     hw/isa/trace.h
  GEN     hw/mem/trace.h
  GEN     hw/i386/trace.h
  GEN     hw/i386/xen/trace.h
  GEN     hw/9pfs/trace.h
  GEN     hw/ppc/trace.h
  GEN     hw/pci/trace.h
  GEN     hw/pci-host/trace.h
  GEN     hw/s390x/trace.h
  GEN     hw/vfio/trace.h
  GEN     hw/acpi/trace.h
  GEN     hw/arm/trace.h
  GEN     hw/alpha/trace.h
  GEN     hw/hppa/trace.h
  GEN     hw/xen/trace.h
  GEN     hw/ide/trace.h
  GEN     hw/vmbus/trace.h
  GEN     ui/trace.h
  GEN     audio/trace.h
  GEN     net/trace.h
  GEN     target/arm/trace.h
  GEN     target/i386/trace.h
  GEN     target/mips/trace.h
  GEN     target/sparc/trace.h
  GEN     target/s390x/trace.h
  GEN     target/ppc/trace.h
  GEN     qom/trace.h
  GEN     linux-user/trace.h
  GEN     qapi/trace.h
  GEN     accel/tcg/trace.h
  GEN     accel/kvm/trace.h
  GEN     nbd/trace.h
  GEN     scsi/trace.h
  GEN     trace-root.c
  GEN     util/trace.c
  GEN     crypto/trace.c
  GEN     io/trace.c
  GEN     migration/trace.c
  GEN     block/trace.c
  GEN     chardev/trace.c
  GEN     hw/block/trace.c
  GEN     hw/block/dataplane/trace.c
  GEN     hw/char/trace.c
  GEN     hw/intc/trace.c
  GEN     hw/net/trace.c
  GEN     hw/virtio/trace.c
  GEN     hw/audio/trace.c
  GEN     hw/misc/trace.c
  GEN     hw/usb/trace.c
  GEN     hw/scsi/trace.c
  GEN     hw/nvram/trace.c
  GEN     hw/display/trace.c
  GEN     hw/input/trace.c
  GEN     hw/timer/trace.c
  GEN     hw/dma/trace.c
  GEN     hw/sparc/trace.c
  GEN     hw/sparc64/trace.c
  GEN     hw/sd/trace.c
  GEN     hw/isa/trace.c
  GEN     hw/mem/trace.c
  GEN     hw/i386/trace.c
  GEN     hw/i386/xen/trace.c
  GEN     hw/9pfs/trace.c
  GEN     hw/ppc/trace.c
  GEN     hw/pci/trace.c
  GEN     hw/pci-host/trace.c
  GEN     hw/s390x/trace.c
  GEN     hw/vfio/trace.c
  GEN     hw/acpi/trace.c
  GEN     hw/arm/trace.c
  GEN     hw/alpha/trace.c
  GEN     hw/hppa/trace.c
  GEN     hw/xen/trace.c
  GEN     hw/ide/trace.c
  GEN     hw/vmbus/trace.c
  GEN     ui/trace.c
  GEN     audio/trace.c
  GEN     net/trace.c
  GEN     target/arm/trace.c
  GEN     target/i386/trace.c
  GEN     target/mips/trace.c
  GEN     target/sparc/trace.c
  GEN     target/s390x/trace.c
  GEN     target/ppc/trace.c
  GEN     qom/trace.c
  GEN     linux-user/trace.c
  GEN     qapi/trace.c
  GEN     accel/tcg/trace.c
  GEN     accel/kvm/trace.c
  GEN     nbd/trace.c
  GEN     scsi/trace.c
  GEN     config-all-devices.mak
	 DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c
	 DEP /tmp/qemu-test/src/dtc/tests/trees.S
	 DEP /tmp/qemu-test/src/dtc/tests/testutils.c
	 DEP /tmp/qemu-test/src/dtc/tests/value-labels.c
	 DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c
	 DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/check_path.c
	 DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c
	 DEP /tmp/qemu-test/src/dtc/tests/overlay.c
	 DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c
	 DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c
	 DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c
	 DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c
	 DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c
	 DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c
	 DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c
	 DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c
	 DEP /tmp/qemu-test/src/dtc/tests/incbin.c
	 DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c
	 DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c
	 DEP /tmp/qemu-test/src/dtc/tests/path-references.c
	 DEP /tmp/qemu-test/src/dtc/tests/references.c
	 DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c
	 DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c
	 DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c
	 DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c
	 DEP /tmp/qemu-test/src/dtc/tests/del_node.c
	 DEP /tmp/qemu-test/src/dtc/tests/del_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/setprop.c
	 DEP /tmp/qemu-test/src/dtc/tests/set_name.c
	 DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c
	 DEP /tmp/qemu-test/src/dtc/tests/open_pack.c
	 DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c
	 DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c
	 DEP /tmp/qemu-test/src/dtc/tests/nopulate.c
	 DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c
	 DEP /tmp/qemu-test/src/dtc/tests/nop_node.c
	 DEP /tmp/qemu-test/src/dtc/tests/nop_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c
	 DEP /tmp/qemu-test/src/dtc/tests/stringlist.c
	 DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c
	 DEP /tmp/qemu-test/src/dtc/tests/char_literal.c
	 DEP /tmp/qemu-test/src/dtc/tests/notfound.c
	 DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_alias.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c
	 DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c
	 DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_path.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c
	 DEP /tmp/qemu-test/src/dtc/tests/getprop.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_name.c
	 DEP /tmp/qemu-test/src/dtc/tests/path_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c
	 DEP /tmp/qemu-test/src/dtc/tests/find_property.c
	 DEP /tmp/qemu-test/src/dtc/tests/root_node.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c
	 DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c
	 DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c
	 DEP /tmp/qemu-test/src/dtc/util.c
	 DEP /tmp/qemu-test/src/dtc/fdtoverlay.c
	 DEP /tmp/qemu-test/src/dtc/fdtput.c
	 DEP /tmp/qemu-test/src/dtc/fdtget.c
	 DEP /tmp/qemu-test/src/dtc/fdtdump.c
	 LEX convert-dtsv0-lexer.lex.c
make[1]: flex: Command not found
	 DEP /tmp/qemu-test/src/dtc/srcpos.c
	 BISON dtc-parser.tab.c
make[1]: bison: Command not found
	 LEX dtc-lexer.lex.c
	 DEP /tmp/qemu-test/src/dtc/treesource.c
make[1]: flex: Command not found
	 DEP /tmp/qemu-test/src/dtc/livetree.c
	 DEP /tmp/qemu-test/src/dtc/fstree.c
	 DEP /tmp/qemu-test/src/dtc/dtc.c
	 DEP /tmp/qemu-test/src/dtc/flattree.c
	 DEP /tmp/qemu-test/src/dtc/data.c
	 DEP /tmp/qemu-test/src/dtc/checks.c
	CHK version_gen.h
	 LEX dtc-lexer.lex.c
	 LEX convert-dtsv0-lexer.lex.c
	 BISON dtc-parser.tab.c
make[1]: flex: Command not found
make[1]: bison: Command not found
make[1]: flex: Command not found
	UPD version_gen.h
	 DEP /tmp/qemu-test/src/dtc/util.c
	 LEX convert-dtsv0-lexer.lex.c
make[1]: flex: Command not found
	 BISON dtc-parser.tab.c
make[1]: bison: Command not found
	 LEX dtc-lexer.lex.c
make[1]: flex: Command not found
	 CC libfdt/fdt.o
	 CC libfdt/fdt_ro.o
	 CC libfdt/fdt_wip.o
	 CC libfdt/fdt_sw.o
	 CC libfdt/fdt_empty_tree.o
	 CC libfdt/fdt_strerror.o
	 CC libfdt/fdt_rw.o
	 CC libfdt/fdt_addresses.o
	 CC libfdt/fdt_overlay.o
	 AR libfdt/libfdt.a
ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
a - libfdt/fdt_addresses.o
a - libfdt/fdt_overlay.o
	 LEX convert-dtsv0-lexer.lex.c
make[1]: flex: Command not found
	 LEX dtc-lexer.lex.c
make[1]: flex: Command not found
	 BISON dtc-parser.tab.c
make[1]: bison: Command not found
  CC      tests/qemu-iotests/socket_scm_helper.o
  GEN     qga/qapi-generated/qga-qapi-types.h
  GEN     qga/qapi-generated/qga-qmp-commands.h
  GEN     qga/qapi-generated/qga-qapi-visit.c
  GEN     qga/qapi-generated/qga-qapi-types.c
  GEN     qga/qapi-generated/qga-qmp-marshal.c
  CC      qmp-introspect.o
  GEN     qga/qapi-generated/qga-qapi-visit.h
  CC      qapi-types.o
  CC      qapi-visit.o
  CC      qapi-event.o
  CC      qapi/qapi-visit-core.o
  CC      qapi/qapi-dealloc-visitor.o
  CC      qapi/qobject-input-visitor.o
  CC      qapi/qmp-registry.o
  CC      qapi/qobject-output-visitor.o
  CC      qapi/qmp-dispatch.o
  CC      qapi/string-input-visitor.o
  CC      qapi/string-output-visitor.o
  CC      qapi/opts-visitor.o
  CC      qapi/qapi-clone-visitor.o
  CC      qapi/qmp-event.o
  CC      qapi/qapi-util.o
  CC      qobject/qnull.o
  CC      qobject/qnum.o
  CC      qobject/qstring.o
  CC      qobject/qdict.o
  CC      qobject/qlist.o
  CC      qobject/qbool.o
  CC      qobject/qlit.o
  CC      qobject/qjson.o
  CC      qobject/qobject.o
  CC      qobject/json-lexer.o
  CC      qobject/json-streamer.o
  CC      qobject/json-parser.o
  CC      trace/control.o
  CC      trace/qmp.o
  CC      util/osdep.o
  CC      util/cutils.o
  CC      util/unicode.o
  CC      util/qemu-timer-common.o
  CC      util/bufferiszero.o
  CC      util/lockcnt.o
  CC      util/aiocb.o
  CC      util/async.o
  CC      util/thread-pool.o
  CC      util/qemu-timer.o
  CC      util/main-loop.o
  CC      util/iohandler.o
  CC      util/aio-posix.o
  CC      util/compatfd.o
  CC      util/event_notifier-posix.o
  CC      util/mmap-alloc.o
  CC      util/oslib-posix.o
  CC      util/qemu-openpty.o
  CC      util/qemu-thread-posix.o
  CC      util/memfd.o
  CC      util/envlist.o
  CC      util/path.o
  CC      util/module.o
  CC      util/host-utils.o
  CC      util/bitmap.o
  CC      util/bitops.o
  CC      util/hbitmap.o
  CC      util/fifo8.o
  CC      util/acl.o
  CC      util/cacheinfo.o
  CC      util/error.o
  CC      util/qemu-error.o
  CC      util/id.o
  CC      util/iov.o
  CC      util/qemu-config.o
  CC      util/qemu-sockets.o
  CC      util/uri.o
  CC      util/notify.o
  CC      util/qemu-option.o
  CC      util/qemu-progress.o
  CC      util/keyval.o
  CC      util/hexdump.o
  CC      util/crc32c.o
  CC      util/uuid.o
  CC      util/throttle.o
  CC      util/getauxval.o
  CC      util/readline.o
  CC      util/rcu.o
  CC      util/qemu-coroutine-lock.o
  CC      util/qemu-coroutine-io.o
  CC      util/qemu-coroutine.o
  CC      util/qemu-coroutine-sleep.o
  CC      util/coroutine-ucontext.o
  CC      util/buffer.o
  CC      util/timed-average.o
  CC      util/base64.o
  CC      util/log.o
  CC      util/pagesize.o
  CC      util/qdist.o
  CC      util/qht.o
  CC      util/range.o
  CC      util/stats64.o
  CC      util/systemd.o
  CC      trace-root.o
  CC      util/trace.o
  CC      crypto/trace.o
  CC      io/trace.o
  CC      migration/trace.o
  CC      block/trace.o
  CC      chardev/trace.o
  CC      hw/block/trace.o
  CC      hw/block/dataplane/trace.o
  CC      hw/char/trace.o
  CC      hw/intc/trace.o
  CC      hw/net/trace.o
  CC      hw/virtio/trace.o
  CC      hw/audio/trace.o
  CC      hw/misc/trace.o
  CC      hw/usb/trace.o
  CC      hw/scsi/trace.o
  CC      hw/nvram/trace.o
  CC      hw/display/trace.o
  CC      hw/input/trace.o
  CC      hw/timer/trace.o
  CC      hw/dma/trace.o
  CC      hw/sparc/trace.o
  CC      hw/sparc64/trace.o
  CC      hw/sd/trace.o
  CC      hw/isa/trace.o
  CC      hw/mem/trace.o
  CC      hw/i386/trace.o
  CC      hw/i386/xen/trace.o
  CC      hw/9pfs/trace.o
  CC      hw/ppc/trace.o
  CC      hw/pci/trace.o
  CC      hw/pci-host/trace.o
  CC      hw/s390x/trace.o
  CC      hw/vfio/trace.o
  CC      hw/acpi/trace.o
  CC      hw/arm/trace.o
  CC      hw/hppa/trace.o
  CC      hw/alpha/trace.o
  CC      hw/xen/trace.o
  CC      hw/ide/trace.o
  CC      hw/vmbus/trace.o
  CC      ui/trace.o
  CC      audio/trace.o
  CC      net/trace.o
  CC      target/arm/trace.o
  CC      target/i386/trace.o
  CC      target/mips/trace.o
  CC      target/sparc/trace.o
  CC      target/s390x/trace.o
  CC      target/ppc/trace.o
  CC      qom/trace.o
  CC      linux-user/trace.o
  CC      qapi/trace.o
  CC      accel/tcg/trace.o
  CC      accel/kvm/trace.o
  CC      nbd/trace.o
  CC      scsi/trace.o
  CC      crypto/pbkdf-stub.o
  CC      stubs/arch-query-cpu-def.o
  CC      stubs/arch-query-cpu-model-expansion.o
  CC      stubs/arch-query-cpu-model-comparison.o
  CC      stubs/arch-query-cpu-model-baseline.o
  CC      stubs/bdrv-next-monitor-owned.o
  CC      stubs/blk-commit-all.o
  CC      stubs/blockdev-close-all-bdrv-states.o
  CC      stubs/clock-warp.o
  CC      stubs/cpu-get-clock.o
  CC      stubs/cpu-get-icount.o
  CC      stubs/dump.o
  CC      stubs/error-printf.o
  CC      stubs/fdset.o
  CC      stubs/gdbstub.o
  CC      stubs/iothread.o
  CC      stubs/get-vm-name.o
  CC      stubs/iothread-lock.o
  CC      stubs/is-daemonized.o
  CC      stubs/machine-init-done.o
  CC      stubs/migr-blocker.o
  CC      stubs/change-state-handler.o
  CC      stubs/monitor.o
  CC      stubs/notify-event.o
  CC      stubs/qtest.o
  CC      stubs/replay.o
  CC      stubs/runstate-check.o
  CC      stubs/set-fd-handler.o
  CC      stubs/slirp.o
  CC      stubs/sysbus.o
  CC      stubs/tpm.o
  CC      stubs/trace-control.o
  CC      stubs/uuid.o
  CC      stubs/vm-stop.o
  CC      stubs/vmstate.o
  CC      stubs/target-monitor-defs.o
  CC      stubs/qmp_pc_dimm.o
  CC      stubs/pc_madt_cpu_entry.o
  CC      stubs/target-get-monitor-def.o
  CC      stubs/vmgenid.o
  CC      stubs/xen-common.o
  CC      stubs/xen-hvm.o
  CC      stubs/pci-host-piix.o
  CC      contrib/ivshmem-client/ivshmem-client.o
  CC      contrib/ivshmem-client/main.o
  CC      contrib/ivshmem-server/ivshmem-server.o
  CC      contrib/ivshmem-server/main.o
  CC      qemu-nbd.o
  CC      block.o
  CC      blockjob.o
  CC      qemu-io-cmds.o
  CC      replication.o
  CC      block/raw-format.o
  CC      block/qcow.o
  CC      block/vdi.o
  CC      block/vmdk.o
  CC      block/cloop.o
  CC      block/bochs.o
  CC      block/vpc.o
  CC      block/vvfat.o
  CC      block/dmg.o
  CC      block/qcow2.o
  CC      block/qcow2-refcount.o
  CC      block/qcow2-cluster.o
  CC      block/qcow2-snapshot.o
  CC      block/qcow2-cache.o
  CC      block/qcow2-bitmap.o
  CC      block/qed.o
  CC      block/qed-l2-cache.o
  CC      block/qed-table.o
  CC      block/qed-cluster.o
  CC      block/qed-check.o
  CC      block/vhdx.o
  CC      block/vhdx-endian.o
  CC      block/vhdx-log.o
  CC      block/quorum.o
  CC      block/parallels.o
  CC      block/blkdebug.o
  CC      block/blkverify.o
  CC      block/blkreplay.o
  CC      block/snapshot.o
  CC      block/block-backend.o
  CC      block/qapi.o
  CC      block/file-posix.o
  CC      block/null.o
  CC      block/mirror.o
  CC      block/commit.o
  CC      block/io.o
  CC      block/throttle-groups.o
  CC      block/nbd.o
  CC      block/nbd-client.o
  CC      block/sheepdog.o
  CC      block/accounting.o
  CC      block/dirty-bitmap.o
  CC      block/write-threshold.o
  CC      block/backup.o
  CC      block/replication.o
  CC      block/throttle.o
  CC      block/crypto.o
  CC      nbd/server.o
  CC      nbd/client.o
  CC      nbd/common.o
  CC      scsi/utils.o
  CC      scsi/pr-manager.o
  CC      scsi/pr-manager-helper.o
  CC      crypto/init.o
  CC      crypto/hash.o
  CC      crypto/hash-glib.o
  CC      crypto/hmac.o
  CC      crypto/hmac-glib.o
  CC      crypto/aes.o
  CC      crypto/desrfb.o
  CC      crypto/cipher.o
  CC      crypto/tlscreds.o
  CC      crypto/tlscredsanon.o
  CC      crypto/tlscredsx509.o
  CC      crypto/tlssession.o
  CC      crypto/secret.o
  CC      crypto/random-platform.o
  CC      crypto/pbkdf.o
  CC      crypto/ivgen.o
  CC      crypto/ivgen-essiv.o
  CC      crypto/ivgen-plain.o
  CC      crypto/ivgen-plain64.o
  CC      crypto/afsplit.o
  CC      crypto/xts.o
  CC      crypto/block.o
  CC      crypto/block-luks.o
  CC      crypto/block-qcow.o
  CC      io/channel.o
  CC      io/channel-buffer.o
  CC      io/channel-command.o
  CC      io/channel-file.o
  CC      io/channel-socket.o
  CC      io/channel-tls.o
  CC      io/channel-watch.o
  CC      io/channel-websock.o
  CC      io/channel-util.o
  CC      io/dns-resolver.o
  CC      io/net-listener.o
  CC      io/task.o
  CC      qom/object.o
  CC      qom/container.o
  CC      qom/qom-qobject.o
  CC      qom/object_interfaces.o
  GEN     qemu-img-cmds.h
  CC      qemu-io.o
  CC      scsi/qemu-pr-helper.o
  CC      qemu-bridge-helper.o
  CC      blockdev.o
  CC      blockdev-nbd.o
  CC      bootdevice.o
  CC      iothread.o
  CC      qdev-monitor.o
  CC      device-hotplug.o
  CC      os-posix.o
  CC      bt-host.o
  CC      bt-vhci.o
  CC      dma-helpers.o
  CC      vl.o
  CC      tpm.o
  CC      device_tree.o
  CC      qmp-marshal.o
  CC      qmp.o
  CC      hmp.o
  CC      cpus-common.o
  CC      audio/audio.o
  CC      audio/noaudio.o
  CC      audio/wavaudio.o
  CC      audio/mixeng.o
  CC      audio/sdlaudio.o
  CC      audio/ossaudio.o
  CC      audio/wavcapture.o
  CC      backends/rng.o
  CC      backends/rng-egd.o
  CC      backends/rng-random.o
  CC      backends/tpm.o
  CC      backends/hostmem.o
  CC      backends/hostmem-ram.o
  CC      backends/hostmem-file.o
  CC      backends/cryptodev.o
  CC      backends/cryptodev-builtin.o
  CC      block/stream.o
  CC      chardev/msmouse.o
  CC      chardev/wctablet.o
  CC      chardev/testdev.o
  CC      disas/arm.o
  CC      disas/i386.o
  CC      fsdev/qemu-fsdev-dummy.o
  CC      fsdev/qemu-fsdev-opts.o
  CC      fsdev/qemu-fsdev-throttle.o
  CC      hw/acpi/core.o
  CC      hw/acpi/piix4.o
  CC      hw/acpi/pcihp.o
  CC      hw/acpi/ich9.o
  CC      hw/acpi/tco.o
  CC      hw/acpi/cpu_hotplug.o
  CC      hw/acpi/memory_hotplug.o
  CC      hw/acpi/cpu.o
  CC      hw/acpi/nvdimm.o
  CC      hw/acpi/vmgenid.o
  CC      hw/acpi/acpi_interface.o
  CC      hw/acpi/bios-linker-loader.o
  CC      hw/acpi/aml-build.o
  CC      hw/acpi/ipmi.o
  CC      hw/acpi/acpi-stub.o
  CC      hw/acpi/ipmi-stub.o
  CC      hw/audio/sb16.o
  CC      hw/audio/es1370.o
  CC      hw/audio/ac97.o
  CC      hw/audio/fmopl.o
  CC      hw/audio/adlib.o
  CC      hw/audio/gus.o
  CC      hw/audio/gusemu_hal.o
  CC      hw/audio/gusemu_mixer.o
  CC      hw/audio/cs4231a.o
  CC      hw/audio/intel-hda.o
  CC      hw/audio/hda-codec.o
  CC      hw/audio/pcspk.o
  CC      hw/audio/wm8750.o
  CC      hw/audio/pl041.o
  CC      hw/audio/lm4549.o
  CC      hw/audio/marvell_88w8618.o
  CC      hw/audio/soundhw.o
  CC      hw/block/block.o
  CC      hw/block/cdrom.o
  CC      hw/block/hd-geometry.o
  CC      hw/block/fdc.o
  CC      hw/block/m25p80.o
  CC      hw/block/nand.o
  CC      hw/block/pflash_cfi01.o
  CC      hw/block/pflash_cfi02.o
  CC      hw/block/ecc.o
  CC      hw/block/onenand.o
  CC      hw/block/nvme.o
  CC      hw/bt/core.o
  CC      hw/bt/l2cap.o
  CC      hw/bt/sdp.o
  CC      hw/bt/hci.o
  CC      hw/bt/hid.o
  CC      hw/bt/hci-csr.o
  CC      hw/char/ipoctal232.o
  CC      hw/char/parallel.o
  CC      hw/char/pl011.o
  CC      hw/char/serial.o
  CC      hw/char/serial-isa.o
  CC      hw/char/serial-pci.o
  CC      hw/char/virtio-console.o
  CC      hw/char/cadence_uart.o
  CC      hw/char/cmsdk-apb-uart.o
  CC      hw/char/debugcon.o
  CC      hw/char/imx_serial.o
  CC      hw/core/qdev.o
  CC      hw/core/qdev-properties.o
  CC      hw/core/bus.o
  CC      hw/core/reset.o
  CC      hw/core/qdev-fw.o
  CC      hw/core/fw-path-provider.o
  CC      hw/core/irq.o
  CC      hw/core/hotplug.o
  CC      hw/core/nmi.o
  CC      hw/core/stream.o
  CC      hw/core/ptimer.o
  CC      hw/core/sysbus.o
  CC      hw/core/machine.o
  CC      hw/core/loader.o
  CC      hw/core/qdev-properties-system.o
  CC      hw/core/register.o
  CC      hw/core/or-irq.o
  CC      hw/core/platform-bus.o
  CC      hw/cpu/core.o
  CC      hw/display/ads7846.o
  CC      hw/display/cirrus_vga.o
  CC      hw/display/pl110.o
  CC      hw/display/ssd0303.o
  CC      hw/display/ssd0323.o
  CC      hw/display/vga-pci.o
  CC      hw/display/vga-isa.o
  CC      hw/display/vmware_vga.o
  CC      hw/display/blizzard.o
  CC      hw/display/exynos4210_fimd.o
  CC      hw/display/framebuffer.o
  CC      hw/display/tc6393xb.o
  CC      hw/dma/pl080.o
  CC      hw/dma/pl330.o
  CC      hw/dma/xilinx_axidma.o
  CC      hw/dma/i8257.o
  CC      hw/dma/xlnx-zynq-devcfg.o
  CC      hw/gpio/max7310.o
  CC      hw/gpio/pl061.o
  CC      hw/gpio/zaurus.o
  CC      hw/gpio/gpio_key.o
  CC      hw/i2c/core.o
  CC      hw/i2c/smbus.o
  CC      hw/i2c/smbus_eeprom.o
  CC      hw/i2c/i2c-ddc.o
  CC      hw/i2c/versatile_i2c.o
  CC      hw/i2c/smbus_ich9.o
  CC      hw/i2c/pm_smbus.o
  CC      hw/i2c/bitbang_i2c.o
  CC      hw/i2c/exynos4210_i2c.o
  CC      hw/i2c/imx_i2c.o
  CC      hw/i2c/aspeed_i2c.o
  CC      hw/ide/core.o
  CC      hw/ide/atapi.o
  CC      hw/ide/qdev.o
  CC      hw/ide/pci.o
  CC      hw/ide/isa.o
  CC      hw/ide/piix.o
  CC      hw/ide/microdrive.o
  CC      hw/ide/ahci.o
  CC      hw/ide/ich.o
  CC      hw/input/hid.o
  CC      hw/ide/ahci-allwinner.o
  CC      hw/input/lm832x.o
  CC      hw/input/pckbd.o
  CC      hw/input/pl050.o
  CC      hw/input/ps2.o
  CC      hw/input/stellaris_input.o
  CC      hw/input/tsc2005.o
  CC      hw/input/virtio-input.o
  CC      hw/input/virtio-input-hid.o
  CC      hw/input/virtio-input-host.o
  CC      hw/intc/i8259_common.o
  CC      hw/intc/i8259.o
  CC      hw/intc/pl190.o
  CC      hw/intc/xlnx-pmu-iomod-intc.o
  CC      hw/intc/xlnx-zynqmp-ipi.o
  CC      hw/intc/imx_avic.o
  CC      hw/intc/realview_gic.o
  CC      hw/intc/ioapic_common.o
  CC      hw/intc/arm_gic_common.o
  CC      hw/intc/arm_gic.o
  CC      hw/intc/arm_gicv2m.o
  CC      hw/intc/arm_gicv3_common.o
  CC      hw/intc/arm_gicv3.o
  CC      hw/intc/arm_gicv3_dist.o
  CC      hw/intc/arm_gicv3_redist.o
  CC      hw/intc/arm_gicv3_its_common.o
  CC      hw/intc/intc.o
  CC      hw/ipack/ipack.o
  CC      hw/ipack/tpci200.o
  CC      hw/ipmi/ipmi.o
  CC      hw/ipmi/ipmi_bmc_sim.o
  CC      hw/ipmi/ipmi_bmc_extern.o
  CC      hw/ipmi/isa_ipmi_kcs.o
  CC      hw/ipmi/isa_ipmi_bt.o
  CC      hw/isa/isa-bus.o
  CC      hw/isa/apm.o
  CC      hw/mem/pc-dimm.o
  CC      hw/mem/nvdimm.o
  CC      hw/misc/applesmc.o
  CC      hw/misc/max111x.o
  CC      hw/misc/tmp105.o
  CC      hw/misc/tmp421.o
  CC      hw/misc/debugexit.o
  CC      hw/misc/sga.o
  CC      hw/misc/pc-testdev.o
  CC      hw/misc/pci-testdev.o
  CC      hw/misc/edu.o
  CC      hw/misc/unimp.o
  CC      hw/misc/vmcoreinfo.o
  CC      hw/misc/arm_l2x0.o
  CC      hw/misc/arm_integrator_debug.o
  CC      hw/misc/a9scu.o
  CC      hw/misc/arm11scu.o
  CC      hw/net/ne2000.o
  CC      hw/net/eepro100.o
  CC      hw/net/pcnet-pci.o
  CC      hw/net/pcnet.o
  CC      hw/net/e1000.o
  CC      hw/net/e1000x_common.o
  CC      hw/net/net_tx_pkt.o
  CC      hw/net/net_rx_pkt.o
  CC      hw/net/e1000e.o
  CC      hw/net/e1000e_core.o
  CC      hw/net/smc91c111.o
  CC      hw/net/vmxnet3.o
  CC      hw/net/rtl8139.o
  CC      hw/net/lan9118.o
  CC      hw/net/ne2000-isa.o
  CC      hw/net/xgmac.o
  CC      hw/net/xilinx_axienet.o
  CC      hw/net/allwinner_emac.o
  CC      hw/net/imx_fec.o
  CC      hw/net/cadence_gem.o
  CC      hw/net/stellaris_enet.o
  CC      hw/net/ftgmac100.o
  CC      hw/net/rocker/rocker.o
  CC      hw/net/rocker/rocker_fp.o
  CC      hw/net/rocker/rocker_desc.o
  CC      hw/net/rocker/rocker_world.o
  CC      hw/net/rocker/rocker_of_dpa.o
  CC      hw/nvram/eeprom93xx.o
  CC      hw/nvram/eeprom_at24c.o
  CC      hw/nvram/fw_cfg.o
  CC      hw/nvram/chrp_nvram.o
  CC      hw/pci-bridge/pci_bridge_dev.o
  CC      hw/pci-bridge/pcie_root_port.o
  CC      hw/pci-bridge/gen_pcie_root_port.o
  CC      hw/pci-bridge/pcie_pci_bridge.o
  CC      hw/pci-bridge/pci_expander_bridge.o
  CC      hw/pci-bridge/xio3130_upstream.o
  CC      hw/pci-bridge/xio3130_downstream.o
  CC      hw/pci-bridge/ioh3420.o
  CC      hw/pci-bridge/i82801b11.o
  CC      hw/pci-host/pam.o
  CC      hw/pci-host/versatile.o
  CC      hw/pci-host/piix.o
  CC      hw/pci-host/q35.o
  CC      hw/pci-host/gpex.o
  CC      hw/pci/pci_bridge.o
  CC      hw/pci/pci.o
  CC      hw/pci/msix.o
  CC      hw/pci/msi.o
  CC      hw/pci/shpc.o
  CC      hw/pci/slotid_cap.o
  CC      hw/pci/pci_host.o
  CC      hw/pci/pcie_host.o
  CC      hw/pci/pcie.o
  CC      hw/pci/pcie_aer.o
  CC      hw/pci/pcie_port.o
  CC      hw/pci/pci-stub.o
  CC      hw/pcmcia/pcmcia.o
  CC      hw/scsi/scsi-disk.o
  CC      hw/scsi/scsi-generic.o
  CC      hw/scsi/scsi-bus.o
  CC      hw/scsi/mptsas.o
  CC      hw/scsi/lsi53c895a.o
  CC      hw/scsi/mptconfig.o
  CC      hw/scsi/mptendian.o
  CC      hw/scsi/megasas.o
  CC      hw/scsi/vmw_pvscsi.o
  CC      hw/scsi/esp.o
  CC      hw/scsi/esp-pci.o
  CC      hw/sd/pl181.o
  CC      hw/sd/ssi-sd.o
  CC      hw/sd/sd.o
  CC      hw/sd/core.o
  CC      hw/sd/sdhci.o
  CC      hw/smbios/smbios.o
  CC      hw/smbios/smbios_type_38.o
  CC      hw/smbios/smbios-stub.o
  CC      hw/smbios/smbios_type_38-stub.o
  CC      hw/ssi/pl022.o
  CC      hw/ssi/ssi.o
  CC      hw/ssi/xilinx_spips.o
  CC      hw/ssi/aspeed_smc.o
  CC      hw/ssi/stm32f2xx_spi.o
  CC      hw/ssi/mss-spi.o
  CC      hw/timer/arm_timer.o
  CC      hw/timer/arm_mptimer.o
  CC      hw/timer/armv7m_systick.o
  CC      hw/timer/a9gtimer.o
  CC      hw/timer/cadence_ttc.o
  CC      hw/timer/ds1338.o
  CC      hw/timer/hpet.o
  CC      hw/timer/i8254_common.o
  CC      hw/timer/i8254.o
  CC      hw/timer/pl031.o
  CC      hw/timer/twl92230.o
  CC      hw/timer/imx_epit.o
  CC      hw/timer/imx_gpt.o
  CC      hw/timer/stm32f2xx_timer.o
  CC      hw/timer/aspeed_timer.o
  CC      hw/timer/cmsdk-apb-timer.o
  CC      hw/timer/mss-timer.o
  CC      hw/tpm/tpm_util.o
  CC      hw/tpm/tpm_tis.o
  CC      hw/tpm/tpm_crb.o
  CC      hw/tpm/tpm_passthrough.o
  CC      hw/tpm/tpm_emulator.o
  CC      hw/usb/core.o
  CC      hw/usb/combined-packet.o
  CC      hw/usb/bus.o
  CC      hw/usb/libhw.o
  CC      hw/usb/desc.o
  CC      hw/usb/desc-msos.o
  CC      hw/usb/hcd-uhci.o
  CC      hw/usb/hcd-ohci.o
  CC      hw/usb/hcd-ehci.o
  CC      hw/usb/hcd-ehci-pci.o
  CC      hw/usb/hcd-ehci-sysbus.o
  CC      hw/usb/hcd-xhci.o
  CC      hw/usb/hcd-xhci-nec.o
  CC      hw/usb/hcd-musb.o
  CC      hw/usb/dev-hub.o
  CC      hw/usb/dev-hid.o
  CC      hw/usb/dev-wacom.o
  CC      hw/usb/dev-storage.o
  CC      hw/usb/dev-uas.o
  CC      hw/usb/dev-audio.o
  CC      hw/usb/dev-serial.o
  CC      hw/usb/dev-network.o
  CC      hw/usb/dev-bluetooth.o
  CC      hw/usb/dev-smartcard-reader.o
  CC      hw/usb/dev-mtp.o
  CC      hw/usb/host-stub.o
  CC      hw/virtio/virtio-rng.o
  CC      hw/virtio/virtio-pci.o
  CC      hw/virtio/virtio-bus.o
  CC      hw/virtio/virtio-mmio.o
  CC      hw/virtio/vhost-stub.o
  CC      hw/watchdog/watchdog.o
  CC      hw/watchdog/wdt_i6300esb.o
  CC      hw/watchdog/wdt_ib700.o
  CC      hw/watchdog/wdt_aspeed.o
  CC      migration/migration.o
  CC      migration/fd.o
  CC      migration/socket.o
  CC      migration/exec.o
  CC      migration/tls.o
  CC      migration/channel.o
  CC      migration/savevm.o
  CC      migration/colo-comm.o
  CC      migration/colo.o
  CC      migration/colo-failover.o
  CC      migration/vmstate.o
  CC      migration/vmstate-types.o
  CC      migration/page_cache.o
  CC      migration/qemu-file.o
  CC      migration/global_state.o
  CC      migration/qemu-file-channel.o
  CC      migration/xbzrle.o
  CC      migration/postcopy-ram.o
  CC      migration/qjson.o
  CC      migration/block.o
  CC      net/net.o
  CC      net/queue.o
  CC      net/checksum.o
  CC      net/util.o
  CC      net/socket.o
  CC      net/hub.o
  CC      net/dump.o
  CC      net/eth.o
  CC      net/l2tpv3.o
  CC      net/vhost-user.o
  CC      net/slirp.o
  CC      net/filter.o
  CC      net/filter-buffer.o
  CC      net/filter-mirror.o
  CC      net/colo-compare.o
  CC      net/colo.o
  CC      net/filter-rewriter.o
  CC      net/filter-replay.o
  CC      net/tap-linux.o
  CC      qom/cpu.o
  CC      net/tap.o
  CC      replay/replay.o
  CC      replay/replay-internal.o
  CC      replay/replay-events.o
  CC      replay/replay-time.o
/tmp/qemu-test/src/replay/replay-internal.c: In function 'replay_put_array':
/tmp/qemu-test/src/replay/replay-internal.c:65: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result
  CC      replay/replay-input.o
  CC      replay/replay-char.o
  CC      replay/replay-snapshot.o
  CC      replay/replay-net.o
  CC      replay/replay-audio.o
  CC      slirp/cksum.o
  CC      slirp/if.o
  CC      slirp/ip_icmp.o
  CC      slirp/ip6_icmp.o
  CC      slirp/ip6_input.o
  CC      slirp/ip6_output.o
  CC      slirp/ip_input.o
  CC      slirp/ip_output.o
  CC      slirp/dnssearch.o
  CC      slirp/dhcpv6.o
  CC      slirp/slirp.o
  CC      slirp/mbuf.o
  CC      slirp/misc.o
  CC      slirp/sbuf.o
  CC      slirp/socket.o
  CC      slirp/tcp_input.o
  CC      slirp/tcp_output.o
  CC      slirp/tcp_subr.o
  CC      slirp/tcp_timer.o
  CC      slirp/udp.o
  CC      slirp/udp6.o
  CC      slirp/bootp.o
  CC      slirp/tftp.o
  CC      slirp/arp_table.o
/tmp/qemu-test/src/slirp/tcp_input.c: In function 'tcp_input':
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_p' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_len' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_tos' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_id' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_off' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_ttl' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_sum' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_src.s_addr' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_dst.s_addr' may be used uninitialized in this function
/tmp/qemu-test/src/slirp/tcp_input.c:220: warning: 'save_ip6.ip_nh' may be used uninitialized in this function
  CC      slirp/ndp_table.o
  CC      slirp/ncsi.o
  CC      ui/keymaps.o
  CC      ui/console.o
  CC      ui/cursor.o
  CC      ui/qemu-pixman.o
  CC      ui/input.o
  CC      ui/input-keymap.o
  CC      ui/input-legacy.o
  CC      ui/input-linux.o
  CC      ui/sdl.o
  CC      ui/sdl_zoom.o
  CC      ui/vnc.o
  CC      ui/vnc-enc-zlib.o
  CC      ui/vnc-enc-hextile.o
  CC      ui/vnc-enc-tight.o
  CC      ui/vnc-palette.o
  CC      ui/vnc-enc-zrle.o
  CC      ui/vnc-auth-vencrypt.o
  CC      ui/vnc-ws.o
  CC      ui/vnc-jobs.o
  CC      ui/x_keymap.o
  CC      chardev/char.o
  CC      chardev/char-fd.o
  CC      chardev/char-fe.o
  CC      chardev/char-file.o
  CC      chardev/char-io.o
  CC      chardev/char-mux.o
  CC      chardev/char-null.o
  CC      chardev/char-parallel.o
  CC      chardev/char-pipe.o
  CC      chardev/char-pty.o
  CC      chardev/char-ringbuf.o
  CC      chardev/char-serial.o
  CC      chardev/char-socket.o
  CC      chardev/char-udp.o
  CC      chardev/char-stdio.o
  LINK    tests/qemu-iotests/socket_scm_helper
  CC      qga/commands.o
  CC      qga/guest-agent-command-state.o
  CC      qga/main.o
  CC      qga/commands-posix.o
  AS      optionrom/multiboot.o
  CC      qga/channel-posix.o
  CC      qga/qapi-generated/qga-qapi-types.o
  AS      optionrom/linuxboot.o
  CC      optionrom/linuxboot_dma.o
  CC      qga/qapi-generated/qga-qapi-visit.o
cc: unrecognized option '-no-integrated-as'
cc: unrecognized option '-no-integrated-as'
  AS      optionrom/kvmvapic.o
  CC      qga/qapi-generated/qga-qmp-marshal.o
  BUILD   optionrom/multiboot.img
  BUILD   optionrom/linuxboot.img
  AR      libqemuutil.a
  BUILD   optionrom/linuxboot_dma.img
  BUILD   optionrom/kvmvapic.img
  BUILD   optionrom/multiboot.raw
  BUILD   optionrom/linuxboot.raw
  BUILD   optionrom/linuxboot_dma.raw
  BUILD   optionrom/kvmvapic.raw
  CC      qemu-img.o
  SIGN    optionrom/multiboot.bin
  SIGN    optionrom/linuxboot.bin
  SIGN    optionrom/linuxboot_dma.bin
  SIGN    optionrom/kvmvapic.bin
  LINK    ivshmem-client
  LINK    ivshmem-server
  LINK    qemu-nbd
  LINK    qemu-io
  LINK    scsi/qemu-pr-helper
  LINK    qemu-bridge-helper
  LINK    qemu-ga
  LINK    qemu-img
  GEN     x86_64-softmmu/config-target.h
  GEN     x86_64-softmmu/hmp-commands.h
  GEN     x86_64-softmmu/hmp-commands-info.h
  GEN     aarch64-softmmu/config-target.h
  GEN     aarch64-softmmu/hmp-commands.h
  GEN     aarch64-softmmu/hmp-commands-info.h
  CC      x86_64-softmmu/exec.o
  CC      x86_64-softmmu/tcg/tcg.o
  CC      x86_64-softmmu/tcg/optimize.o
  CC      x86_64-softmmu/tcg/tcg-common.o
  CC      x86_64-softmmu/disas.o
  CC      x86_64-softmmu/tcg/tcg-op.o
  CC      x86_64-softmmu/fpu/softfloat.o
  CC      aarch64-softmmu/exec.o
  GEN     x86_64-softmmu/gdbstub-xml.c
  CC      x86_64-softmmu/arch_init.o
  CC      x86_64-softmmu/cpus.o
  CC      x86_64-softmmu/monitor.o
  CC      aarch64-softmmu/tcg/tcg.o
  CC      aarch64-softmmu/tcg/tcg-op.o
  CC      x86_64-softmmu/gdbstub.o
  CC      aarch64-softmmu/tcg/optimize.o
  CC      aarch64-softmmu/tcg/tcg-common.o
  CC      aarch64-softmmu/fpu/softfloat.o
  CC      aarch64-softmmu/disas.o
  GEN     aarch64-softmmu/gdbstub-xml.c
  CC      aarch64-softmmu/arch_init.o
  CC      aarch64-softmmu/cpus.o
  CC      aarch64-softmmu/monitor.o
  CC      x86_64-softmmu/balloon.o
  CC      x86_64-softmmu/ioport.o
  CC      aarch64-softmmu/gdbstub.o
  CC      x86_64-softmmu/numa.o
  CC      x86_64-softmmu/qtest.o
  CC      x86_64-softmmu/memory.o
  CC      x86_64-softmmu/memory_mapping.o
  CC      aarch64-softmmu/balloon.o
  CC      x86_64-softmmu/dump.o
  CC      aarch64-softmmu/ioport.o
  CC      x86_64-softmmu/migration/ram.o
  CC      aarch64-softmmu/numa.o
  CC      aarch64-softmmu/qtest.o
  CC      x86_64-softmmu/accel/accel.o
  CC      x86_64-softmmu/accel/kvm/kvm-all.o
  CC      aarch64-softmmu/memory.o
  CC      x86_64-softmmu/accel/stubs/hax-stub.o
  CC      aarch64-softmmu/memory_mapping.o
  CC      aarch64-softmmu/dump.o
  CC      aarch64-softmmu/migration/ram.o
  CC      x86_64-softmmu/accel/stubs/hvf-stub.o
  CC      x86_64-softmmu/accel/tcg/tcg-all.o
  CC      x86_64-softmmu/accel/tcg/cputlb.o
  CC      x86_64-softmmu/accel/tcg/tcg-runtime.o
  CC      x86_64-softmmu/accel/tcg/cpu-exec.o
  CC      x86_64-softmmu/accel/tcg/cpu-exec-common.o
  CC      x86_64-softmmu/accel/tcg/translate-all.o
  CC      x86_64-softmmu/accel/tcg/translator.o
  CC      x86_64-softmmu/hw/block/virtio-blk.o
  CC      x86_64-softmmu/hw/block/vhost-user-blk.o
  CC      x86_64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      x86_64-softmmu/hw/char/virtio-serial-bus.o
  CC      x86_64-softmmu/hw/core/generic-loader.o
  CC      x86_64-softmmu/hw/core/null-machine.o
  CC      x86_64-softmmu/hw/display/vga.o
  CC      x86_64-softmmu/hw/display/virtio-gpu.o
  CC      x86_64-softmmu/hw/display/virtio-gpu-3d.o
  CC      x86_64-softmmu/hw/display/virtio-gpu-pci.o
  CC      x86_64-softmmu/hw/display/virtio-vga.o
  CC      x86_64-softmmu/hw/intc/apic.o
  CC      x86_64-softmmu/hw/intc/apic_common.o
  CC      x86_64-softmmu/hw/intc/ioapic.o
  CC      x86_64-softmmu/hw/isa/lpc_ich9.o
  CC      aarch64-softmmu/accel/accel.o
  CC      x86_64-softmmu/hw/misc/ivshmem.o
  CC      x86_64-softmmu/hw/misc/pvpanic.o
  CC      x86_64-softmmu/hw/misc/hyperv_testdev.o
  CC      x86_64-softmmu/hw/misc/mmio_interface.o
  CC      aarch64-softmmu/accel/stubs/hax-stub.o
  CC      x86_64-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/accel/stubs/hvf-stub.o
  CC      x86_64-softmmu/hw/net/vhost_net.o
  CC      x86_64-softmmu/hw/net/hv-net.o
  CC      x86_64-softmmu/hw/scsi/virtio-scsi.o
  CC      x86_64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      x86_64-softmmu/hw/scsi/vhost-scsi-common.o
  CC      aarch64-softmmu/accel/stubs/kvm-stub.o
  CC      aarch64-softmmu/accel/tcg/tcg-all.o
  CC      x86_64-softmmu/hw/scsi/vhost-scsi.o
  CC      aarch64-softmmu/accel/tcg/cputlb.o
  CC      aarch64-softmmu/accel/tcg/tcg-runtime.o
  CC      x86_64-softmmu/hw/scsi/vhost-user-scsi.o
  CC      x86_64-softmmu/hw/scsi/hv-scsi.o
In file included from /tmp/qemu-test/src/hw/net/hv-net.c:14:
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:63: error: redefinition of typedef 'VMBusDevice'
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:32: note: previous declaration of 'VMBusDevice' was here
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/accel/tcg/cpu-exec.o
  CC      aarch64-softmmu/accel/tcg/cpu-exec-common.o
  CC      aarch64-softmmu/accel/tcg/translate-all.o
  CC      aarch64-softmmu/accel/tcg/translator.o
  CC      aarch64-softmmu/hw/adc/stm32f2xx_adc.o
  CC      aarch64-softmmu/hw/block/virtio-blk.o
  CC      aarch64-softmmu/hw/block/vhost-user-blk.o
  CC      aarch64-softmmu/hw/block/dataplane/virtio-blk.o
  CC      aarch64-softmmu/hw/char/exynos4210_uart.o
  CC      aarch64-softmmu/hw/char/omap_uart.o
  CC      aarch64-softmmu/hw/char/digic-uart.o
In file included from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:14:
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:63: error: redefinition of typedef 'VMBusDevice'
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:32: note: previous declaration of 'VMBusDevice' was here
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
make: *** [subdir-x86_64-softmmu] Error 2
make: *** Waiting for unfinished jobs....
  CC      aarch64-softmmu/hw/char/stm32f2xx_usart.o
  CC      aarch64-softmmu/hw/char/bcm2835_aux.o
  CC      aarch64-softmmu/hw/char/virtio-serial-bus.o
  CC      aarch64-softmmu/hw/core/generic-loader.o
  CC      aarch64-softmmu/hw/core/null-machine.o
  CC      aarch64-softmmu/hw/cpu/arm11mpcore.o
  CC      aarch64-softmmu/hw/cpu/realview_mpcore.o
  CC      aarch64-softmmu/hw/cpu/a9mpcore.o
  CC      aarch64-softmmu/hw/cpu/a15mpcore.o
  CC      aarch64-softmmu/hw/display/omap_dss.o
  CC      aarch64-softmmu/hw/display/omap_lcdc.o
  CC      aarch64-softmmu/hw/display/pxa2xx_lcd.o
  CC      aarch64-softmmu/hw/display/bcm2835_fb.o
  CC      aarch64-softmmu/hw/display/vga.o
  CC      aarch64-softmmu/hw/display/virtio-gpu.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/hw/display/virtio-gpu-pci.o
  CC      aarch64-softmmu/hw/display/dpcd.o
  CC      aarch64-softmmu/hw/display/xlnx_dp.o
  CC      aarch64-softmmu/hw/dma/xlnx_dpdma.o
  CC      aarch64-softmmu/hw/dma/omap_dma.o
  CC      aarch64-softmmu/hw/dma/soc_dma.o
  CC      aarch64-softmmu/hw/dma/pxa2xx_dma.o
  CC      aarch64-softmmu/hw/dma/bcm2835_dma.o
  CC      aarch64-softmmu/hw/gpio/omap_gpio.o
  CC      aarch64-softmmu/hw/gpio/imx_gpio.o
  CC      aarch64-softmmu/hw/gpio/bcm2835_gpio.o
  CC      aarch64-softmmu/hw/i2c/omap_i2c.o
  CC      aarch64-softmmu/hw/input/pxa2xx_keypad.o
  CC      aarch64-softmmu/hw/input/tsc210x.o
  CC      aarch64-softmmu/hw/intc/armv7m_nvic.o
  CC      aarch64-softmmu/hw/intc/exynos4210_gic.o
  CC      aarch64-softmmu/hw/intc/exynos4210_combiner.o
  CC      aarch64-softmmu/hw/intc/omap_intc.o
  CC      aarch64-softmmu/hw/intc/bcm2835_ic.o
  CC      aarch64-softmmu/hw/intc/bcm2836_control.o
  CC      aarch64-softmmu/hw/intc/allwinner-a10-pic.o
  CC      aarch64-softmmu/hw/intc/aspeed_vic.o
  CC      aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o
  CC      aarch64-softmmu/hw/misc/ivshmem.o
  CC      aarch64-softmmu/hw/misc/arm_sysctl.o
  CC      aarch64-softmmu/hw/misc/cbus.o
  CC      aarch64-softmmu/hw/misc/exynos4210_pmu.o
  CC      aarch64-softmmu/hw/misc/exynos4210_clk.o
  CC      aarch64-softmmu/hw/misc/exynos4210_rng.o
  CC      aarch64-softmmu/hw/misc/imx_ccm.o
  CC      aarch64-softmmu/hw/misc/imx31_ccm.o
  CC      aarch64-softmmu/hw/misc/imx25_ccm.o
  CC      aarch64-softmmu/hw/misc/imx6_ccm.o
  CC      aarch64-softmmu/hw/misc/imx6_src.o
  CC      aarch64-softmmu/hw/misc/mst_fpga.o
  CC      aarch64-softmmu/hw/misc/omap_clk.o
  CC      aarch64-softmmu/hw/misc/omap_gpmc.o
  CC      aarch64-softmmu/hw/misc/omap_l4.o
  CC      aarch64-softmmu/hw/misc/omap_sdrc.o
  CC      aarch64-softmmu/hw/misc/omap_tap.o
  CC      aarch64-softmmu/hw/misc/bcm2835_mbox.o
  CC      aarch64-softmmu/hw/misc/bcm2835_property.o
  CC      aarch64-softmmu/hw/misc/bcm2835_rng.o
  CC      aarch64-softmmu/hw/misc/zynq_slcr.o
  CC      aarch64-softmmu/hw/misc/zynq-xadc.o
  CC      aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
  CC      aarch64-softmmu/hw/misc/mps2-scc.o
  CC      aarch64-softmmu/hw/misc/auxbus.o
  CC      aarch64-softmmu/hw/misc/aspeed_scu.o
  CC      aarch64-softmmu/hw/misc/aspeed_sdmc.o
  CC      aarch64-softmmu/hw/misc/mmio_interface.o
  CC      aarch64-softmmu/hw/misc/msf2-sysreg.o
  CC      aarch64-softmmu/hw/net/virtio-net.o
  CC      aarch64-softmmu/hw/net/vhost_net.o
  CC      aarch64-softmmu/hw/net/hv-net.o
  CC      aarch64-softmmu/hw/pcmcia/pxa2xx.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi.o
  CC      aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o
  CC      aarch64-softmmu/hw/scsi/vhost-scsi-common.o
  CC      aarch64-softmmu/hw/scsi/vhost-scsi.o
  CC      aarch64-softmmu/hw/scsi/vhost-user-scsi.o
  CC      aarch64-softmmu/hw/scsi/hv-scsi.o
  CC      aarch64-softmmu/hw/sd/omap_mmc.o
  CC      aarch64-softmmu/hw/sd/bcm2835_sdhost.o
  CC      aarch64-softmmu/hw/sd/pxa2xx_mmci.o
  CC      aarch64-softmmu/hw/ssi/omap_spi.o
  CC      aarch64-softmmu/hw/ssi/imx_spi.o
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:28:1: warning: "TARGET_LONG_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:30:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:34:1: warning: "TCG_GUEST_DEFAULT_MO" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:36:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:36:1: warning: "CPUArchState" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:53:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:92:1: warning: "CPU_INTERRUPT_VIRQ" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:739:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:115:1: warning: "NB_MMU_MODES" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:919:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:120:1: warning: "TARGET_INSN_START_EXTRA_WORDS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:920:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:780:1: warning: "ENV_GET_CPU" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1350:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:782:1: warning: "ENV_OFFSET" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1352:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2052:1: warning: "TARGET_PAGE_BITS_MIN" redefined
In file included from /tmp/qemu-test/src/target/i386/cpu.h:1626,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/include/exec/cpu-all.h:222:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2056:1: warning: "TARGET_PHYS_ADDR_SPACE_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1553:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2057:1: warning: "TARGET_VIRT_ADDR_SPACE_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1554:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2171:1: warning: "cpu_init" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1567:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2176:1: warning: "cpu_signal_handler" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1578:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2177:1: warning: "cpu_list" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1579:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2314:1: warning: "MMU_USER_IDX" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1586:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:236,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:20,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:14:
/tmp/qemu-test/src/target/arm/cpu.h:2377: error: conflicting types for 'cpu_mmu_index'
/tmp/qemu-test/src/target/i386/cpu.h:1588: note: previous definition of 'cpu_mmu_index' was here
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:236,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:20,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:14:
/tmp/qemu-test/src/target/arm/cpu.h:2716: error: conflicting types for 'cpu_get_tb_cpu_state'
/tmp/qemu-test/src/target/i386/cpu.h:1633: note: previous definition of 'cpu_get_tb_cpu_state' was here
In file included from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/net/hv-net.c:14:
/tmp/qemu-test/src/target/i386/hyperv.h:25: warning: 'struct kvm_hyperv_exit' declared inside parameter list
/tmp/qemu-test/src/target/i386/hyperv.h:25: warning: its scope is only this definition or declaration, which is probably not what you want
In file included from /tmp/qemu-test/src/hw/net/hv-net.c:14:
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:63: error: redefinition of typedef 'VMBusDevice'
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:32: note: previous declaration of 'VMBusDevice' was here
make[1]: *** [hw/net/hv-net.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:28:1: warning: "TARGET_LONG_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:30:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:34:1: warning: "TCG_GUEST_DEFAULT_MO" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:36:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:36:1: warning: "CPUArchState" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:53:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:92:1: warning: "CPU_INTERRUPT_VIRQ" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:739:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:115:1: warning: "NB_MMU_MODES" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:919:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:120:1: warning: "TARGET_INSN_START_EXTRA_WORDS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:920:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:780:1: warning: "ENV_GET_CPU" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1350:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:782:1: warning: "ENV_OFFSET" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1352:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2052:1: warning: "TARGET_PAGE_BITS_MIN" redefined
In file included from /tmp/qemu-test/src/target/i386/cpu.h:1626,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/include/exec/cpu-all.h:222:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2056:1: warning: "TARGET_PHYS_ADDR_SPACE_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1553:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2057:1: warning: "TARGET_VIRT_ADDR_SPACE_BITS" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1554:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2171:1: warning: "cpu_init" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1567:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2176:1: warning: "cpu_signal_handler" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1578:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2177:1: warning: "cpu_list" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1579:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:235,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:19,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/arm/cpu.h:2314:1: warning: "MMU_USER_IDX" redefined
In file included from /tmp/qemu-test/src/target/i386/hyperv.h:18,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:16,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:13:
/tmp/qemu-test/src/target/i386/cpu.h:1586:1: warning: this is the location of the previous definition
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:236,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:20,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:14:
/tmp/qemu-test/src/target/arm/cpu.h:2377: error: conflicting types for 'cpu_mmu_index'
/tmp/qemu-test/src/target/i386/cpu.h:1588: note: previous definition of 'cpu_mmu_index' was here
In file included from /tmp/qemu-test/src/include/sysemu/kvm.h:236,
                 from /tmp/qemu-test/src/target/i386/hyperv.h:20,
                 from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:14:
/tmp/qemu-test/src/target/arm/cpu.h:2716: error: conflicting types for 'cpu_get_tb_cpu_state'
/tmp/qemu-test/src/target/i386/cpu.h:1633: note: previous definition of 'cpu_get_tb_cpu_state' was here
In file included from /tmp/qemu-test/src/include/hw/vmbus/vmbus.h:17,
                 from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:14:
/tmp/qemu-test/src/target/i386/hyperv.h:25: warning: 'struct kvm_hyperv_exit' declared inside parameter list
/tmp/qemu-test/src/target/i386/hyperv.h:25: warning: its scope is only this definition or declaration, which is probably not what you want
In file included from /tmp/qemu-test/src/hw/scsi/hv-scsi.c:14:
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:63: error: redefinition of typedef 'VMBusDevice'
/tmp/qemu-test/src/include/hw/vmbus/vmbus.h:32: note: previous declaration of 'VMBusDevice' was here
make[1]: *** [hw/scsi/hv-scsi.o] Error 1
make: *** [subdir-aarch64-softmmu] Error 2
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 407, in <module>
    sys.exit(main())
  File "./tests/docker/docker.py", line 404, in main
    return args.cmdobj.run(args, argv)
  File "./tests/docker/docker.py", line 261, in run
    return Docker().run(argv, args.keep, quiet=args.quiet)
  File "./tests/docker/docker.py", line 229, in run
    quiet=quiet)
  File "./tests/docker/docker.py", line 147, in _do_check
    return subprocess.check_call(self._command + cmd, **kwargs)
  File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=cb126ff80b8d11e8a35252540069c830', '-u', '0', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-ewnmmm63/src/docker-src.2018-02-06-17.33.29.28900:/var/tmp/qemu:z,ro', 'qemu:min-glib', '/var/tmp/qemu/run', 'test-build']' returned non-zero exit status 2
make[1]: *** [tests/docker/Makefile.include:129: docker-run] Error 1
make: *** [tests/docker/Makefile.include:163: docker-run-test-build@min-glib] Error 2

real	2m7.311s
user	0m5.068s
sys	0m3.611s
=== OUTPUT END ===

Test command exited with code: 2


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC Roman Kagan
@ 2018-02-07 10:45   ` Paolo Bonzini
  2018-02-07 18:37     ` Roman Kagan
  0 siblings, 1 reply; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 10:45 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> +static SynICState *get_synic(X86CPU *cpu)
> +{
> +    SynICState *synic =
> +        SYNIC(object_resolve_path_component(OBJECT(cpu), "synic"));
> +    assert(synic);
> +    return synic;
> +}
> +

This is somewhat slow, maybe add the pointer to X86CPU?

> +void hyperv_synic_add(X86CPU *cpu)
> +{
> +    Object *obj;
> +
> +    obj = object_new(TYPE_SYNIC);
> +    object_property_add_child(OBJECT(cpu), "synic", obj, &error_abort);
> +    object_unref(obj);
> +    object_property_set_bool(obj, true, "realized", &error_abort);
> +}
> +
> +void hyperv_synic_reset(X86CPU *cpu)
> +{
> +    device_reset(DEVICE(get_synic(cpu)));
> +}
> +
> +void hyperv_synic_update(X86CPU *cpu)
> +{
> +    synic_update(get_synic(cpu));
> +}
> +

Maybe rename to x86_cpu_hyperv_{add,get,reset,update}_synic?

Thanks,

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 09/34] hyperv: block SynIC use in QEMU in incompatible configurations
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 09/34] hyperv: block SynIC use in QEMU in incompatible configurations Roman Kagan
@ 2018-02-07 10:46   ` Paolo Bonzini
  2018-02-07 18:49     ` Roman Kagan
  0 siblings, 1 reply; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 10:46 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> Certain configurations do not allow SynIC to be used in QEMU.  In
> particular,
> 
> - when hyperv_vpindex is off, SINT routes can't be used as they refer to
>   the destination vCPU by vp_index
> 
> - older KVM (which doesn't expose KVM_CAP_HYPERV_SYNIC2) zeroes out
>   SynIC message and event pages on every msr load, breaking migration
> 
> OTOH in-KVM users of SynIC -- SynIC timers -- do work in those
> configurations, and we shouldn't stop the guest from using them.
> 
> To cover both scenarios, introduce a (user-invisible) SynIC property
> that disallows to use the SynIC within QEMU but not in KVM.  The
> property is clear by default but is set via compat logic for older
> machine types.
> 
> As a result, when hv_synic and a modern machine type are specified, QEMU
> will refuse to run unless vp_index is on and the kernel is recent
> enough.  OTOH with older machine types QEMU will fine run against an
> older kernel and/or without vp_index enabled but will refuse the in-QEMU
> uses of SynIC (e.g. VMBus).
> 
> Also a function is added that allows the devices to query the status of
> SynIC support across vCPUs.
> 
> Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>

FWIW I'm okay with just requiring a new-enough kernel when using SynIC.
It's always been experimental.

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 11/34] hyperv: add synic message delivery
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 11/34] hyperv: add synic message delivery Roman Kagan
@ 2018-02-07 10:58   ` Paolo Bonzini
  2018-02-07 19:06     ` Roman Kagan
  0 siblings, 1 reply; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 10:58 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> +
> +    HvSintMsgCb msg_cb;
> +    void *msg_cb_data;
> +    struct hyperv_message *msg;
> +    /*
> +     * the state of the message staged in .msg:
> +     * 0        - the staging area is not in use (after init or message
> +     *            successfully delivered to guest)
> +     * -EBUSY   - the staging area is being used in vcpu thread
> +     * -EAGAIN  - delivery attempt failed due to slot being busy, retry
> +     * -EXXXX   - error
> +     */
> +    int msg_status;
> +

Access to these fields needs to be protected by a mutex (the refcount is
okay because it is only released in the bottom half).  Please also add
comments regarding which fields are read-only, which are accessed under
BQL, etc.

Also, msg_status's handling of EBUSY/EAGAIN is a bit strange, like:

+    if (ret == -EBUSY) {
+        return -EAGAIN;
+    }
+    if (ret) {
+        return ret;
+    }

I wonder if it would be better to change -EBUSY to 1, or to split
msg_status into two fields, such as msg_status (filled by the vCPU
thread) and msg_state which can be HYPERV_MSG_STATE_{FREE,BUSY,POSTED}.
msg_status is only valid if the state is POSTED, and sint_msg_bh then
moves the state back to FREE.

Thanks,

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 12/34] hyperv: add synic event flag signaling
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 12/34] hyperv: add synic event flag signaling Roman Kagan
@ 2018-02-07 10:58   ` Paolo Bonzini
  2018-02-07 19:11     ` Roman Kagan
  0 siblings, 1 reply; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 10:58 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> +/*
> + * Set given event flag for a given sint on a given vcpu, and signal the sint.
> + */
> +int hyperv_set_evt_flag(HvSintRoute *sint_route, unsigned evtno)

Any reason (e.g. something from the spec) not to spell "event" and
"eventno" in full?

Thanks,

Paolo


> +{
> +    int ret;
> +    SynICState *synic = sint_route->synic;
> +    unsigned long *flags, set_mask;
> +    unsigned set_idx;
> +
> +    if (evtno > HV_EVENT_FLAGS_COUNT) {
> +        return -EINVAL;
> +    }
> +    if (!synic->enabled || !synic->evt_page_addr) {

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 18/34] hyperv: add support for KVM_HYPERV_EVENTFD
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 18/34] hyperv: add support for KVM_HYPERV_EVENTFD Roman Kagan
@ 2018-02-07 11:01   ` Paolo Bonzini
  2018-02-07 19:19     ` Roman Kagan
  0 siblings, 1 reply; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 11:01 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> When setting up a notifier for Hyper-V event connection, attempt to use
> the KVM-assisted one first, and fall back to userspace handling of the
> hypercall if the kernel doesn't provide the requested feature.
> 
> Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>

As before, I wouldn't mind dropping userspace SIGNAL_EVENT altogether.
It would probably end up in bitrot.

Thanks,

Paolo

> ---
>  include/sysemu/kvm.h |  1 +
>  accel/kvm/kvm-all.c  | 15 +++++++++++++++
>  target/i386/hyperv.c | 21 ++++++++++++++++++++-
>  3 files changed, 36 insertions(+), 1 deletion(-)
> 
> diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
> index bbf12a1723..70ad0a54b7 100644
> --- a/include/sysemu/kvm.h
> +++ b/include/sysemu/kvm.h
> @@ -496,6 +496,7 @@ void kvm_irqchip_set_qemuirq_gsi(KVMState *s, qemu_irq irq, int gsi);
>  void kvm_pc_gsi_handler(void *opaque, int n, int level);
>  void kvm_pc_setup_irq_routing(bool pci_enabled);
>  void kvm_init_irq_routing(KVMState *s);
> +int kvm_set_hv_event_notifier(KVMState *s, uint32_t conn_id, EventNotifier *n);
>  
>  /**
>   * kvm_arch_irqchip_create:
> diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
> index f290f487a5..c3ba87b701 100644
> --- a/accel/kvm/kvm-all.c
> +++ b/accel/kvm/kvm-all.c
> @@ -1423,6 +1423,21 @@ static void kvm_irqchip_create(MachineState *machine, KVMState *s)
>      s->gsimap = g_hash_table_new(g_direct_hash, g_direct_equal);
>  }
>  
> +int kvm_set_hv_event_notifier(KVMState *s, uint32_t conn_id, EventNotifier *n)
> +{
> +    struct kvm_hyperv_eventfd hvevfd = {
> +        .conn_id = conn_id,
> +        .fd = n ? event_notifier_get_fd(n) : -1,
> +        .flags = n ? 0 : KVM_HYPERV_EVENTFD_DEASSIGN,
> +    };
> +
> +    if (!kvm_check_extension(s, KVM_CAP_HYPERV_EVENTFD)) {
> +        return -ENOSYS;
> +    }
> +
> +    return kvm_vm_ioctl(s, KVM_HYPERV_EVENTFD, &hvevfd);
> +}
> +
>  /* Find number of supported CPUs using the recommended
>   * procedure from the kernel API documentation to cope with
>   * older kernels that may be missing capabilities.
> diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c
> index e43cbb9322..63dcb23fa8 100644
> --- a/target/i386/hyperv.c
> +++ b/target/i386/hyperv.c
> @@ -313,7 +313,8 @@ unlock:
>      return ret;
>  }
>  
> -int hyperv_set_evt_notifier(uint32_t conn_id, EventNotifier *notifier)
> +static int hyperv_set_evt_notifier_userspace(uint32_t conn_id,
> +                                             EventNotifier *notifier)
>  {
>      int ret;
>      EvtHandler *eh;
> @@ -346,6 +347,24 @@ unlock:
>      return ret;
>  }
>  
> +static bool hv_evt_notifier_userspace;
> +
> +int hyperv_set_evt_notifier(uint32_t conn_id, EventNotifier *notifier)
> +{
> +    if (!hv_evt_notifier_userspace) {
> +        int ret = kvm_set_hv_event_notifier(kvm_state, conn_id, notifier);
> +        if (ret != -ENOSYS) {
> +            return ret;
> +        }
> +
> +        hv_evt_notifier_userspace = true;
> +        warn_report("Hyper-V event signaling in KVM not supported; "
> +                    "using slower userspace hypercall processing");
> +    }
> +
> +    return hyperv_set_evt_notifier_userspace(conn_id, notifier);
> +}
> +
>  static uint64_t hvcall_post_message(uint64_t param, bool fast)
>  {
>      uint64_t ret;
> 

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 19/34] vmbus: add vmbus protocol definitions
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 19/34] vmbus: add vmbus protocol definitions Roman Kagan
@ 2018-02-07 11:02   ` Paolo Bonzini
  0 siblings, 0 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 11:02 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> +#ifndef _INCLUDE_HYPERV_VMBUS_H_
> +#define _INCLUDE_HYPERV_VMBUS_H_

Please do not start guards with _ (e.g. QEMU_HYPERV_VMBUS_H).

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 21/34] vmbus: build configuration
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 21/34] vmbus: build configuration Roman Kagan
@ 2018-02-07 11:04   ` Paolo Bonzini
  2018-02-07 19:30     ` Roman Kagan
  0 siblings, 1 reply; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 11:04 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> From: Evgeny Yakovlev <eyakovlev@virtuozzo.com>
> 
> Add option to configure and makefiles to enable building vmbus support
> (default to "on" on Linux and "off" otherwise).

Maybe default to on if KVM is supported?  Could it just be

CONFIG_VMBUS=$(CONFIG_KVM)

in default-configs/ instead of having a configure option?

> Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>

Missing Evgeny's SoB.

Paolo

> ---
>  configure        | 11 +++++++++++
>  hw/Makefile.objs |  1 +
>  2 files changed, 12 insertions(+)
> 
> diff --git a/configure b/configure
> index 302fdc92ff..5a0ca5dc4a 100755
> --- a/configure
> +++ b/configure
> @@ -436,6 +436,7 @@ jemalloc="no"
>  replication="yes"
>  vxhs=""
>  libxml2=""
> +vmbus="no"
>  
>  supported_cpu="no"
>  supported_os="no"
> @@ -804,6 +805,7 @@ Linux)
>    vhost_net="yes"
>    vhost_scsi="yes"
>    vhost_vsock="yes"
> +  vmbus="yes"
>    QEMU_INCLUDES="-I\$(SRC_PATH)/linux-headers -I$(pwd)/linux-headers $QEMU_INCLUDES"
>    supported_os="yes"
>  ;;
> @@ -1341,6 +1343,10 @@ for opt do
>    ;;
>    --disable-git-update) git_update=no
>    ;;
> +  --disable-vmbus) vmbus="no"
> +  ;;
> +  --enable-vmbus) vmbus="yes"
> +  ;;
>    *)
>        echo "ERROR: unknown option $opt"
>        echo "Try '$0 --help' for more information"
> @@ -1592,6 +1598,7 @@ disabled with --disable-FEATURE, default is enabled if available:
>    crypto-afalg    Linux AF_ALG crypto backend driver
>    vhost-user      vhost-user support
>    capstone        capstone disassembler support
> +  vmbus           Hyper-V VMBus devices support
>  
>  NOTE: The object files are built at the place where configure is launched
>  EOF
> @@ -5657,6 +5664,7 @@ echo "avx2 optimization $avx2_opt"
>  echo "replication support $replication"
>  echo "VxHS block device $vxhs"
>  echo "capstone          $capstone"
> +echo "vmbus support     $vmbus"
>  
>  if test "$sdl_too_old" = "yes"; then
>  echo "-> Your SDL version is too old - please upgrade to have SDL support"
> @@ -6347,6 +6355,9 @@ fi
>  if test "$have_static_assert" = "yes" ; then
>    echo "CONFIG_STATIC_ASSERT=y" >> $config_host_mak
>  fi
> +if test "$vmbus" = "yes" ; then
> +  echo "CONFIG_VMBUS=y" >> $config_host_mak
> +fi
>  
>  if test "$have_utmpx" = "yes" ; then
>    echo "HAVE_UTMPX=y" >> $config_host_mak
> diff --git a/hw/Makefile.objs b/hw/Makefile.objs
> index cf4cb2010b..c12fc0cc22 100644
> --- a/hw/Makefile.objs
> +++ b/hw/Makefile.objs
> @@ -34,6 +34,7 @@ devices-dirs-$(CONFIG_SOFTMMU) += watchdog/
>  devices-dirs-$(CONFIG_SOFTMMU) += xen/
>  devices-dirs-$(CONFIG_MEM_HOTPLUG) += mem/
>  devices-dirs-$(CONFIG_SOFTMMU) += smbios/
> +devices-dirs-$(CONFIG_VMBUS) += vmbus/
>  devices-dirs-y += core/
>  common-obj-y += $(devices-dirs-y)
>  obj-y += $(devices-dirs-y)
> 

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 22/34] i386: Hyper-V VMBus ACPI DSDT entry
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 22/34] i386: Hyper-V VMBus ACPI DSDT entry Roman Kagan
@ 2018-02-07 11:05   ` Paolo Bonzini
  2018-02-07 19:37     ` Roman Kagan
  0 siblings, 1 reply; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 11:05 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> From: Andrey Smetanin <asmetanin@virtuozzo.com>
> 
> Guest OS uses ACPI to discover vmbus presence.  Add a corresponding
> entry to DSDT in case vmbus has been enabled.
> 
> Experimentally Windows guests were found to require this entry to
> include two IRQ resources, so this patch adds two semi-arbitrarily
> chosen ones (7 and 13).  This results, in particular, in parallel port
> conflicting with vmbus.
> 
> TODO: discover and use spare IRQs to avoid conflicts.

Could they be level-triggered IRQs?  If so you could reuse 10 and 11
which are used by PCI INTx.  Otherwise, the parallel port conflict is
not a huge deal.

> Signed-off-by: Evgeny Yakovlev <eyakovlev@virtuozzo.com>

Somewhat messy SoB chain. :)

Paolo

> Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
> ---
>  hw/i386/acpi-build.c | 42 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
> 
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index ed78c4ed9f..6f8cd3eb41 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -46,6 +46,7 @@
>  #include "sysemu/tpm_backend.h"
>  #include "hw/timer/mc146818rtc_regs.h"
>  #include "sysemu/numa.h"
> +#include "hw/vmbus/vmbus.h"
>  
>  /* Supported chipsets: */
>  #include "hw/acpi/piix4.h"
> @@ -1317,6 +1318,43 @@ static Aml *build_com_device_aml(uint8_t uid)
>      return dev;
>  }
>  
> +static Aml *build_vmbus_device_aml(void)
> +{
> +    Aml *dev;
> +    Aml *method;
> +    Aml *crs;
> +
> +    dev = aml_device("VMBS");
> +    aml_append(dev, aml_name_decl("STA", aml_int(0xF)));
> +    aml_append(dev, aml_name_decl("_HID", aml_string("VMBus")));
> +    aml_append(dev, aml_name_decl("_UID", aml_int(0x0)));
> +    aml_append(dev, aml_name_decl("_DDN", aml_string("VMBUS")));
> +
> +    method = aml_method("_DIS", 0, AML_NOTSERIALIZED);
> +    aml_append(method, aml_store(aml_and(aml_name("STA"), aml_int(0xD), NULL),
> +                                     aml_name("STA")));
> +    aml_append(dev, method);
> +
> +    method = aml_method("_PS0", 0, AML_NOTSERIALIZED);
> +    aml_append(method, aml_store(aml_or(aml_name("STA"), aml_int(0xF), NULL),
> +                                     aml_name("STA")));
> +    aml_append(dev, method);
> +
> +    method = aml_method("_STA", 0, AML_NOTSERIALIZED);
> +    aml_append(method, aml_store(aml_name("STA"), aml_local(0)));
> +    aml_append(method, aml_return(aml_local(0)));
> +    aml_append(dev, method);
> +
> +    aml_append(dev, aml_name_decl("_PS3", aml_int(0x0)));
> +
> +    crs = aml_resource_template();
> +    aml_append(crs, aml_irq_no_flags(7));
> +    aml_append(crs, aml_irq_no_flags(13));
> +    aml_append(dev, aml_name_decl("_CRS", crs));
> +
> +    return dev;
> +}
> +
>  static void build_isa_devices_aml(Aml *table)
>  {
>      ISADevice *fdc = pc_find_fdc0();
> @@ -1343,6 +1381,10 @@ static void build_isa_devices_aml(Aml *table)
>          build_acpi_ipmi_devices(scope, BUS(obj));
>      }
>  
> +    if (vmbus_exists()) {
> +        aml_append(scope, build_vmbus_device_aml());
> +    }
> +
>      aml_append(table, scope);
>  }
>  
> 

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 23/34] i386: en/disable vmbus by a machine property
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 23/34] i386: en/disable vmbus by a machine property Roman Kagan
@ 2018-02-07 11:05   ` Paolo Bonzini
  0 siblings, 0 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 11:05 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> Hyper-V VMBus logically belongs to the machine, so make its presence be
> controlled by a boolean property of the machine.
> 
> TODO: consider doing this through adding the vmbus-bridge device instead

Yeah, that would be nicer.

Paolo



> Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 25/34] scsi: add Hyper-V/VMBus SCSI controller
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 25/34] scsi: add Hyper-V/VMBus SCSI controller Roman Kagan
@ 2018-02-07 11:11   ` Paolo Bonzini
  2018-02-07 11:25     ` Denis V. Lunev
  2018-02-07 20:00     ` Roman Kagan
  0 siblings, 2 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 11:11 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> +    blk_io_plug(d->conf.blk);
> +    if (scsi_req_enqueue(sreq)) {
> +        scsi_req_continue(sreq);
> +    }
> +    blk_io_unplug(d->conf.blk);

Is plug/unplug really useful?

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 27/34] tests: hv-scsi: add start-stop test
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 27/34] tests: hv-scsi: add start-stop test Roman Kagan
@ 2018-02-07 11:15   ` Paolo Bonzini
  2018-02-07 19:40     ` Roman Kagan
  0 siblings, 1 reply; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 11:15 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> +    if (strcmp(arch, "i386") && strcmp(arch, "x86_64")) {
> +        g_printerr("Hyper-V / VMBus are only available on x86\n");
> +        exit(EXIT_FAILURE);
> +    }

This shouldn't be needed.

> +
> +    if (access("/dev/kvm", R_OK | W_OK)) {

Maybe try opening it too?  In theory you could have a /dev/kvm device
that triggers loading the kvm module (see
https://github.com/systemd/systemd/pull/7795 for gory details).

Paolo

> +        g_printerr("Hyper-V / VMBus can only be used with KVM\n");
> +        exit(EXIT_FAILURE);
> +    }
> +
> +    return qtest_pc_boot(cmd, extra_opts ? : "");

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 33/34] vmbus: add support for rom files
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 33/34] vmbus: add support for rom files Roman Kagan
@ 2018-02-07 11:18   ` Paolo Bonzini
  2018-02-07 19:46     ` Roman Kagan
  0 siblings, 1 reply; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 11:18 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> In order to leverage third-party drivers for VMBus devices in firmware
> (in particular, there's a case with iPXE driver for hv-net in SeaBIOS
> and OVMF), introduce an infrastructure to supply such drivers as option
> ROMs.
> 
> To make it easy for the firmware to locate such ROMs, they are stored in
> fw_cfg with names "vmbus/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.rom" for
> default class ROMs (where xxx... is the class GUID) and
> "vmbus/dev/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy.rom" for per-device
> (i.e. specified via .romfile property) ROMs (where yyy... is the device
> instance GUID).
> 
> The format and the calling convention for the ROMs is out of scope for
> this patch: QEMU doesn't try to interpret them.

Out of curiosity, do you have a SCSI driver for SeaBIOS and/or OVMF?

Thanks,

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 32/34] loader: allow arbitrary basename for fw_cfg file roms
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 32/34] loader: allow arbitrary basename for fw_cfg file roms Roman Kagan
@ 2018-02-07 11:22   ` Paolo Bonzini
  0 siblings, 0 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 11:22 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> +        basename = strrchr(fw_path, '/');
> +        if (basename && basename[1] == '\0') {
> +            /* given path terminates with '/', append basename(file) */
> +            basename = strrchr(file, '/');
> +            if (basename) {
> +                basename++;
> +            } else {
> +                basename = file;
> +            }
> +
> +            rom->fw_file = g_strdup_printf("%s%s", fw_path, basename);
>          } else {
> -            basename = rom->fw_file;
> +            rom->fw_file = g_strdup(fw_path);
>          }

Reusing basename is a bit unclear.  Maybe:

	assert(*fw_path);
	if (fw_path[strlen(fw_path) - 1] == '/') {
            /* given path terminates with '/', append basename(file) */
            const char *basename = strrchr(file, '/');
            if (basename) {
                basename++;
            } else {
                basename = file;
            }
	    rom->fw_file = g_strdup_printf("%s%s", fw_path, basename);
	} else {
            rom->fw_file = g_strdup(fw_path);
        }

Thanks,

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 25/34] scsi: add Hyper-V/VMBus SCSI controller
  2018-02-07 11:11   ` Paolo Bonzini
@ 2018-02-07 11:25     ` Denis V. Lunev
  2018-02-07 20:00     ` Roman Kagan
  1 sibling, 0 replies; 75+ messages in thread
From: Denis V. Lunev @ 2018-02-07 11:25 UTC (permalink / raw)
  To: Paolo Bonzini, Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld, si-wei liu,
	Vitaly Kuznetsov, Cathy Avery

On 02/07/2018 02:11 PM, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
>> +    blk_io_plug(d->conf.blk);
>> +    if (scsi_req_enqueue(sreq)) {
>> +        scsi_req_continue(sreq);
>> +    }
>> +    blk_io_unplug(d->conf.blk);
> Is plug/unplug really useful?
>
> Paolo
good point. here - no. plug/unplug should be moved to upper
layer, where we process all requests. Plug/Unplug should
cover all currently available bits.

Den

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 28/34] net: add RNDIS definitions
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 28/34] net: add RNDIS definitions Roman Kagan
@ 2018-02-07 11:26   ` Paolo Bonzini
  0 siblings, 0 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 11:26 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> Add a header with constants used in Microsoft RNDIS protocol.
> 
> The header is taken unchanged from the Linux kernel.
> 
> TODO: reconcile with usb-net

Luckily, that seems pretty easy to do.

Paolo

> Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
> ---
>  hw/net/rndis.h | 391 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 391 insertions(+)
>  create mode 100644 hw/net/rndis.h
> 
> diff --git a/hw/net/rndis.h b/hw/net/rndis.h
> new file mode 100644
> index 0000000000..93c0a64aef
> --- /dev/null
> +++ b/hw/net/rndis.h
> @@ -0,0 +1,391 @@
> +/*
> + * Remote Network Driver Interface Specification (RNDIS)
> + * definitions of the magic numbers used by this protocol
> + */
> +
> +/* Remote NDIS Versions */
> +#define RNDIS_MAJOR_VERSION		0x00000001
> +#define RNDIS_MINOR_VERSION		0x00000000
> +
> +/* Device Flags */
> +#define RNDIS_DF_CONNECTIONLESS		0x00000001U
> +#define RNDIS_DF_CONNECTION_ORIENTED	0x00000002U
> +#define RNDIS_DF_RAW_DATA		0x00000004U
> +
> +/*
> + * Codes for "msg_type" field of rndis messages;
> + * only the data channel uses packet messages (maybe batched);
> + * everything else goes on the control channel.
> + */
> +#define RNDIS_MSG_COMPLETION	0x80000000
> +#define RNDIS_MSG_PACKET	0x00000001	/* 1-N packets */
> +#define RNDIS_MSG_INIT		0x00000002
> +#define RNDIS_MSG_INIT_C	(RNDIS_MSG_INIT|RNDIS_MSG_COMPLETION)
> +#define RNDIS_MSG_HALT		0x00000003
> +#define RNDIS_MSG_QUERY		0x00000004
> +#define RNDIS_MSG_QUERY_C	(RNDIS_MSG_QUERY|RNDIS_MSG_COMPLETION)
> +#define RNDIS_MSG_SET		0x00000005
> +#define RNDIS_MSG_SET_C		(RNDIS_MSG_SET|RNDIS_MSG_COMPLETION)
> +#define RNDIS_MSG_RESET		0x00000006
> +#define RNDIS_MSG_RESET_C	(RNDIS_MSG_RESET|RNDIS_MSG_COMPLETION)
> +#define RNDIS_MSG_INDICATE	0x00000007
> +#define RNDIS_MSG_KEEPALIVE	0x00000008
> +#define RNDIS_MSG_KEEPALIVE_C	(RNDIS_MSG_KEEPALIVE|RNDIS_MSG_COMPLETION)
> +/*
> + * Reserved message type for private communication between lower-layer host
> + * driver and remote device, if necessary.
> + */
> +#define RNDIS_MSG_BUS		0xff000001
> +
> +/* codes for "status" field of completion messages */
> +#define	RNDIS_STATUS_SUCCESS			0x00000000
> +#define RNDIS_STATUS_PENDING			0x00000103
> +
> +/*  Status codes */
> +#define RNDIS_STATUS_NOT_RECOGNIZED		0x00010001
> +#define RNDIS_STATUS_NOT_COPIED			0x00010002
> +#define RNDIS_STATUS_NOT_ACCEPTED		0x00010003
> +#define RNDIS_STATUS_CALL_ACTIVE		0x00010007
> +
> +#define RNDIS_STATUS_ONLINE			0x40010003
> +#define RNDIS_STATUS_RESET_START		0x40010004
> +#define RNDIS_STATUS_RESET_END			0x40010005
> +#define RNDIS_STATUS_RING_STATUS		0x40010006
> +#define RNDIS_STATUS_CLOSED			0x40010007
> +#define RNDIS_STATUS_WAN_LINE_UP		0x40010008
> +#define RNDIS_STATUS_WAN_LINE_DOWN		0x40010009
> +#define RNDIS_STATUS_WAN_FRAGMENT		0x4001000A
> +#define	RNDIS_STATUS_MEDIA_CONNECT		0x4001000B
> +#define	RNDIS_STATUS_MEDIA_DISCONNECT		0x4001000C
> +#define RNDIS_STATUS_HARDWARE_LINE_UP		0x4001000D
> +#define RNDIS_STATUS_HARDWARE_LINE_DOWN		0x4001000E
> +#define RNDIS_STATUS_INTERFACE_UP		0x4001000F
> +#define RNDIS_STATUS_INTERFACE_DOWN		0x40010010
> +#define RNDIS_STATUS_MEDIA_BUSY			0x40010011
> +#define	RNDIS_STATUS_MEDIA_SPECIFIC_INDICATION	0x40010012
> +#define RNDIS_STATUS_WW_INDICATION		RDIA_SPECIFIC_INDICATION
> +#define RNDIS_STATUS_LINK_SPEED_CHANGE		0x40010013L
> +#define RNDIS_STATUS_NETWORK_CHANGE		0x40010018
> +
> +#define RNDIS_STATUS_NOT_RESETTABLE		0x80010001
> +#define RNDIS_STATUS_SOFT_ERRORS		0x80010003
> +#define RNDIS_STATUS_HARD_ERRORS		0x80010004
> +#define RNDIS_STATUS_BUFFER_OVERFLOW		0x80000005
> +
> +#define	RNDIS_STATUS_FAILURE			0xC0000001
> +#define RNDIS_STATUS_RESOURCES			0xC000009A
> +#define	RNDIS_STATUS_NOT_SUPPORTED		0xc00000BB
> +#define RNDIS_STATUS_CLOSING			0xC0010002
> +#define RNDIS_STATUS_BAD_VERSION		0xC0010004
> +#define RNDIS_STATUS_BAD_CHARACTERISTICS	0xC0010005
> +#define RNDIS_STATUS_ADAPTER_NOT_FOUND		0xC0010006
> +#define RNDIS_STATUS_OPEN_FAILED		0xC0010007
> +#define RNDIS_STATUS_DEVICE_FAILED		0xC0010008
> +#define RNDIS_STATUS_MULTICAST_FULL		0xC0010009
> +#define RNDIS_STATUS_MULTICAST_EXISTS		0xC001000A
> +#define RNDIS_STATUS_MULTICAST_NOT_FOUND	0xC001000B
> +#define RNDIS_STATUS_REQUEST_ABORTED		0xC001000C
> +#define RNDIS_STATUS_RESET_IN_PROGRESS		0xC001000D
> +#define RNDIS_STATUS_CLOSING_INDICATING		0xC001000E
> +#define RNDIS_STATUS_INVALID_PACKET		0xC001000F
> +#define RNDIS_STATUS_OPEN_LIST_FULL		0xC0010010
> +#define RNDIS_STATUS_ADAPTER_NOT_READY		0xC0010011
> +#define RNDIS_STATUS_ADAPTER_NOT_OPEN		0xC0010012
> +#define RNDIS_STATUS_NOT_INDICATING		0xC0010013
> +#define RNDIS_STATUS_INVALID_LENGTH		0xC0010014
> +#define	RNDIS_STATUS_INVALID_DATA		0xC0010015
> +#define RNDIS_STATUS_BUFFER_TOO_SHORT		0xC0010016
> +#define RNDIS_STATUS_INVALID_OID		0xC0010017
> +#define RNDIS_STATUS_ADAPTER_REMOVED		0xC0010018
> +#define RNDIS_STATUS_UNSUPPORTED_MEDIA		0xC0010019
> +#define RNDIS_STATUS_GROUP_ADDRESS_IN_USE	0xC001001A
> +#define RNDIS_STATUS_FILE_NOT_FOUND		0xC001001B
> +#define RNDIS_STATUS_ERROR_READING_FILE		0xC001001C
> +#define RNDIS_STATUS_ALREADY_MAPPED		0xC001001D
> +#define RNDIS_STATUS_RESOURCE_CONFLICT		0xC001001E
> +#define RNDIS_STATUS_NO_CABLE			0xC001001F
> +
> +#define RNDIS_STATUS_INVALID_SAP		0xC0010020
> +#define RNDIS_STATUS_SAP_IN_USE			0xC0010021
> +#define RNDIS_STATUS_INVALID_ADDRESS		0xC0010022
> +#define RNDIS_STATUS_VC_NOT_ACTIVATED		0xC0010023
> +#define RNDIS_STATUS_DEST_OUT_OF_ORDER		0xC0010024
> +#define RNDIS_STATUS_VC_NOT_AVAILABLE		0xC0010025
> +#define RNDIS_STATUS_CELLRATE_NOT_AVAILABLE	0xC0010026
> +#define RNDIS_STATUS_INCOMPATABLE_QOS		0xC0010027
> +#define RNDIS_STATUS_AAL_PARAMS_UNSUPPORTED	0xC0010028
> +#define RNDIS_STATUS_NO_ROUTE_TO_DESTINATION	0xC0010029
> +
> +#define RNDIS_STATUS_TOKEN_RING_OPEN_ERROR	0xC0011000
> +
> +/* codes for RNDIS_OID_GEN_PHYSICAL_MEDIUM */
> +#define	RNDIS_PHYSICAL_MEDIUM_UNSPECIFIED	0x00000000
> +#define	RNDIS_PHYSICAL_MEDIUM_WIRELESS_LAN	0x00000001
> +#define	RNDIS_PHYSICAL_MEDIUM_CABLE_MODEM	0x00000002
> +#define	RNDIS_PHYSICAL_MEDIUM_PHONE_LINE	0x00000003
> +#define	RNDIS_PHYSICAL_MEDIUM_POWER_LINE	0x00000004
> +#define	RNDIS_PHYSICAL_MEDIUM_DSL		0x00000005
> +#define	RNDIS_PHYSICAL_MEDIUM_FIBRE_CHANNEL	0x00000006
> +#define	RNDIS_PHYSICAL_MEDIUM_1394		0x00000007
> +#define	RNDIS_PHYSICAL_MEDIUM_WIRELESS_WAN	0x00000008
> +#define	RNDIS_PHYSICAL_MEDIUM_MAX		0x00000009
> +
> +/*  Remote NDIS medium types. */
> +#define RNDIS_MEDIUM_UNSPECIFIED		0x00000000
> +#define RNDIS_MEDIUM_802_3			0x00000000
> +#define RNDIS_MEDIUM_802_5			0x00000001
> +#define RNDIS_MEDIUM_FDDI			0x00000002
> +#define RNDIS_MEDIUM_WAN			0x00000003
> +#define RNDIS_MEDIUM_LOCAL_TALK			0x00000004
> +#define RNDIS_MEDIUM_ARCNET_RAW			0x00000006
> +#define RNDIS_MEDIUM_ARCNET_878_2		0x00000007
> +#define RNDIS_MEDIUM_ATM			0x00000008
> +#define RNDIS_MEDIUM_WIRELESS_LAN		0x00000009
> +#define RNDIS_MEDIUM_IRDA			0x0000000A
> +#define RNDIS_MEDIUM_BPC			0x0000000B
> +#define RNDIS_MEDIUM_CO_WAN			0x0000000C
> +#define RNDIS_MEDIUM_1394			0x0000000D
> +/* Not a real medium, defined as an upper-bound */
> +#define RNDIS_MEDIUM_MAX			0x0000000E
> +
> +/* Remote NDIS medium connection states. */
> +#define RNDIS_MEDIA_STATE_CONNECTED		0x00000000
> +#define RNDIS_MEDIA_STATE_DISCONNECTED		0x00000001
> +
> +/* packet filter bits used by RNDIS_OID_GEN_CURRENT_PACKET_FILTER */
> +#define RNDIS_PACKET_TYPE_DIRECTED		0x00000001
> +#define RNDIS_PACKET_TYPE_MULTICAST		0x00000002
> +#define RNDIS_PACKET_TYPE_ALL_MULTICAST		0x00000004
> +#define RNDIS_PACKET_TYPE_BROADCAST		0x00000008
> +#define RNDIS_PACKET_TYPE_SOURCE_ROUTING	0x00000010
> +#define RNDIS_PACKET_TYPE_PROMISCUOUS		0x00000020
> +#define RNDIS_PACKET_TYPE_SMT			0x00000040
> +#define RNDIS_PACKET_TYPE_ALL_LOCAL		0x00000080
> +#define RNDIS_PACKET_TYPE_GROUP			0x00001000
> +#define RNDIS_PACKET_TYPE_ALL_FUNCTIONAL	0x00002000
> +#define RNDIS_PACKET_TYPE_FUNCTIONAL		0x00004000
> +#define RNDIS_PACKET_TYPE_MAC_FRAME		0x00008000
> +
> +/* RNDIS_OID_GEN_MINIPORT_INFO constants */
> +#define RNDIS_MINIPORT_BUS_MASTER			0x00000001
> +#define RNDIS_MINIPORT_WDM_DRIVER			0x00000002
> +#define RNDIS_MINIPORT_SG_LIST				0x00000004
> +#define RNDIS_MINIPORT_SUPPORTS_MEDIA_QUERY		0x00000008
> +#define RNDIS_MINIPORT_INDICATES_PACKETS		0x00000010
> +#define RNDIS_MINIPORT_IGNORE_PACKET_QUEUE		0x00000020
> +#define RNDIS_MINIPORT_IGNORE_REQUEST_QUEUE		0x00000040
> +#define RNDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS		0x00000080
> +#define RNDIS_MINIPORT_INTERMEDIATE_DRIVER		0x00000100
> +#define RNDIS_MINIPORT_IS_NDIS_5			0x00000200
> +#define RNDIS_MINIPORT_IS_CO				0x00000400
> +#define RNDIS_MINIPORT_DESERIALIZE			0x00000800
> +#define RNDIS_MINIPORT_REQUIRES_MEDIA_POLLING		0x00001000
> +#define RNDIS_MINIPORT_SUPPORTS_MEDIA_SENSE		0x00002000
> +#define RNDIS_MINIPORT_NETBOOT_CARD			0x00004000
> +#define RNDIS_MINIPORT_PM_SUPPORTED			0x00008000
> +#define RNDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE	0x00010000
> +#define RNDIS_MINIPORT_USES_SAFE_BUFFER_APIS		0x00020000
> +#define RNDIS_MINIPORT_HIDDEN				0x00040000
> +#define RNDIS_MINIPORT_SWENUM				0x00080000
> +#define RNDIS_MINIPORT_SURPRISE_REMOVE_OK		0x00100000
> +#define RNDIS_MINIPORT_NO_HALT_ON_SUSPEND		0x00200000
> +#define RNDIS_MINIPORT_HARDWARE_DEVICE			0x00400000
> +#define RNDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS	0x00800000
> +#define RNDIS_MINIPORT_64BITS_DMA			0x01000000
> +
> +#define RNDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA		0x00000001
> +#define RNDIS_MAC_OPTION_RECEIVE_SERIALIZED		0x00000002
> +#define RNDIS_MAC_OPTION_TRANSFERS_NOT_PEND		0x00000004
> +#define RNDIS_MAC_OPTION_NO_LOOPBACK			0x00000008
> +#define RNDIS_MAC_OPTION_FULL_DUPLEX			0x00000010
> +#define RNDIS_MAC_OPTION_EOTX_INDICATION		0x00000020
> +#define RNDIS_MAC_OPTION_8021P_PRIORITY			0x00000040
> +#define RNDIS_MAC_OPTION_RESERVED			0x80000000
> +
> +/* Object Identifiers used by NdisRequest Query/Set Information */
> +/* General (Required) Objects */
> +#define RNDIS_OID_GEN_SUPPORTED_LIST		0x00010101
> +#define RNDIS_OID_GEN_HARDWARE_STATUS		0x00010102
> +#define RNDIS_OID_GEN_MEDIA_SUPPORTED		0x00010103
> +#define RNDIS_OID_GEN_MEDIA_IN_USE		0x00010104
> +#define RNDIS_OID_GEN_MAXIMUM_LOOKAHEAD		0x00010105
> +#define RNDIS_OID_GEN_MAXIMUM_FRAME_SIZE	0x00010106
> +#define RNDIS_OID_GEN_LINK_SPEED		0x00010107
> +#define RNDIS_OID_GEN_TRANSMIT_BUFFER_SPACE	0x00010108
> +#define RNDIS_OID_GEN_RECEIVE_BUFFER_SPACE	0x00010109
> +#define RNDIS_OID_GEN_TRANSMIT_BLOCK_SIZE	0x0001010A
> +#define RNDIS_OID_GEN_RECEIVE_BLOCK_SIZE	0x0001010B
> +#define RNDIS_OID_GEN_VENDOR_ID			0x0001010C
> +#define RNDIS_OID_GEN_VENDOR_DESCRIPTION	0x0001010D
> +#define RNDIS_OID_GEN_CURRENT_PACKET_FILTER	0x0001010E
> +#define RNDIS_OID_GEN_CURRENT_LOOKAHEAD		0x0001010F
> +#define RNDIS_OID_GEN_DRIVER_VERSION		0x00010110
> +#define RNDIS_OID_GEN_MAXIMUM_TOTAL_SIZE	0x00010111
> +#define RNDIS_OID_GEN_PROTOCOL_OPTIONS		0x00010112
> +#define RNDIS_OID_GEN_MAC_OPTIONS		0x00010113
> +#define RNDIS_OID_GEN_MEDIA_CONNECT_STATUS	0x00010114
> +#define RNDIS_OID_GEN_MAXIMUM_SEND_PACKETS	0x00010115
> +#define RNDIS_OID_GEN_VENDOR_DRIVER_VERSION	0x00010116
> +#define RNDIS_OID_GEN_SUPPORTED_GUIDS		0x00010117
> +#define RNDIS_OID_GEN_NETWORK_LAYER_ADDRESSES	0x00010118
> +#define RNDIS_OID_GEN_TRANSPORT_HEADER_OFFSET	0x00010119
> +#define RNDIS_OID_GEN_PHYSICAL_MEDIUM		0x00010202
> +#define RNDIS_OID_GEN_MACHINE_NAME		0x0001021A
> +#define RNDIS_OID_GEN_RNDIS_CONFIG_PARAMETER	0x0001021B
> +#define RNDIS_OID_GEN_VLAN_ID			0x0001021C
> +
> +/* Optional OIDs */
> +#define RNDIS_OID_GEN_MEDIA_CAPABILITIES	0x00010201
> +
> +/* Required statistics OIDs */
> +#define RNDIS_OID_GEN_XMIT_OK			0x00020101
> +#define RNDIS_OID_GEN_RCV_OK			0x00020102
> +#define RNDIS_OID_GEN_XMIT_ERROR		0x00020103
> +#define RNDIS_OID_GEN_RCV_ERROR			0x00020104
> +#define RNDIS_OID_GEN_RCV_NO_BUFFER		0x00020105
> +
> +/* Optional statistics OIDs */
> +#define RNDIS_OID_GEN_DIRECTED_BYTES_XMIT	0x00020201
> +#define RNDIS_OID_GEN_DIRECTED_FRAMES_XMIT	0x00020202
> +#define RNDIS_OID_GEN_MULTICAST_BYTES_XMIT	0x00020203
> +#define RNDIS_OID_GEN_MULTICAST_FRAMES_XMIT	0x00020204
> +#define RNDIS_OID_GEN_BROADCAST_BYTES_XMIT	0x00020205
> +#define RNDIS_OID_GEN_BROADCAST_FRAMES_XMIT	0x00020206
> +#define RNDIS_OID_GEN_DIRECTED_BYTES_RCV	0x00020207
> +#define RNDIS_OID_GEN_DIRECTED_FRAMES_RCV	0x00020208
> +#define RNDIS_OID_GEN_MULTICAST_BYTES_RCV	0x00020209
> +#define RNDIS_OID_GEN_MULTICAST_FRAMES_RCV	0x0002020A
> +#define RNDIS_OID_GEN_BROADCAST_BYTES_RCV	0x0002020B
> +#define RNDIS_OID_GEN_BROADCAST_FRAMES_RCV	0x0002020C
> +
> +#define RNDIS_OID_GEN_RCV_CRC_ERROR		0x0002020D
> +#define RNDIS_OID_GEN_TRANSMIT_QUEUE_LENGTH	0x0002020E
> +
> +#define RNDIS_OID_GEN_GET_TIME_CAPS		0x0002020F
> +#define RNDIS_OID_GEN_GET_NETCARD_TIME		0x00020210
> +
> +#define RNDIS_OID_GEN_NETCARD_LOAD		0x00020211
> +#define RNDIS_OID_GEN_DEVICE_PROFILE		0x00020212
> +#define RNDIS_OID_GEN_INIT_TIME_MS		0x00020213
> +#define RNDIS_OID_GEN_RESET_COUNTS		0x00020214
> +#define RNDIS_OID_GEN_MEDIA_SENSE_COUNTS	0x00020215
> +#define RNDIS_OID_GEN_FRIENDLY_NAME		0x00020216
> +#define RNDIS_OID_GEN_MINIPORT_INFO		0x00020217
> +#define RNDIS_OID_GEN_RESET_VERIFY_PARAMETERS	0x00020218
> +
> +/* These are connection-oriented general OIDs. */
> +/* These replace the above OIDs for connection-oriented media. */
> +#define RNDIS_OID_GEN_CO_SUPPORTED_LIST		0x00010101
> +#define RNDIS_OID_GEN_CO_HARDWARE_STATUS	0x00010102
> +#define RNDIS_OID_GEN_CO_MEDIA_SUPPORTED	0x00010103
> +#define RNDIS_OID_GEN_CO_MEDIA_IN_USE		0x00010104
> +#define RNDIS_OID_GEN_CO_LINK_SPEED		0x00010105
> +#define RNDIS_OID_GEN_CO_VENDOR_ID		0x00010106
> +#define RNDIS_OID_GEN_CO_VENDOR_DESCRIPTION	0x00010107
> +#define RNDIS_OID_GEN_CO_DRIVER_VERSION		0x00010108
> +#define RNDIS_OID_GEN_CO_PROTOCOL_OPTIONS	0x00010109
> +#define RNDIS_OID_GEN_CO_MAC_OPTIONS		0x0001010A
> +#define RNDIS_OID_GEN_CO_MEDIA_CONNECT_STATUS	0x0001010B
> +#define RNDIS_OID_GEN_CO_VENDOR_DRIVER_VERSION	0x0001010C
> +#define RNDIS_OID_GEN_CO_MINIMUM_LINK_SPEED	0x0001010D
> +
> +#define RNDIS_OID_GEN_CO_GET_TIME_CAPS		0x00010201
> +#define RNDIS_OID_GEN_CO_GET_NETCARD_TIME	0x00010202
> +
> +/* These are connection-oriented statistics OIDs. */
> +#define RNDIS_OID_GEN_CO_XMIT_PDUS_OK		0x00020101
> +#define RNDIS_OID_GEN_CO_RCV_PDUS_OK		0x00020102
> +#define RNDIS_OID_GEN_CO_XMIT_PDUS_ERROR	0x00020103
> +#define RNDIS_OID_GEN_CO_RCV_PDUS_ERROR		0x00020104
> +#define RNDIS_OID_GEN_CO_RCV_PDUS_NO_BUFFER	0x00020105
> +
> +
> +#define RNDIS_OID_GEN_CO_RCV_CRC_ERROR		0x00020201
> +#define RNDIS_OID_GEN_CO_TRANSMIT_QUEUE_LENGTH	0x00020202
> +#define RNDIS_OID_GEN_CO_BYTES_XMIT		0x00020203
> +#define RNDIS_OID_GEN_CO_BYTES_RCV		0x00020204
> +#define RNDIS_OID_GEN_CO_BYTES_XMIT_OUTSTANDING	0x00020205
> +#define RNDIS_OID_GEN_CO_NETCARD_LOAD		0x00020206
> +
> +/* These are objects for Connection-oriented media call-managers. */
> +#define RNDIS_OID_CO_ADD_PVC			0xFF000001
> +#define RNDIS_OID_CO_DELETE_PVC			0xFF000002
> +#define RNDIS_OID_CO_GET_CALL_INFORMATION	0xFF000003
> +#define RNDIS_OID_CO_ADD_ADDRESS		0xFF000004
> +#define RNDIS_OID_CO_DELETE_ADDRESS		0xFF000005
> +#define RNDIS_OID_CO_GET_ADDRESSES		0xFF000006
> +#define RNDIS_OID_CO_ADDRESS_CHANGE		0xFF000007
> +#define RNDIS_OID_CO_SIGNALING_ENABLED		0xFF000008
> +#define RNDIS_OID_CO_SIGNALING_DISABLED		0xFF000009
> +
> +/* 802.3 Objects (Ethernet) */
> +#define RNDIS_OID_802_3_PERMANENT_ADDRESS	0x01010101
> +#define RNDIS_OID_802_3_CURRENT_ADDRESS		0x01010102
> +#define RNDIS_OID_802_3_MULTICAST_LIST		0x01010103
> +#define RNDIS_OID_802_3_MAXIMUM_LIST_SIZE	0x01010104
> +#define RNDIS_OID_802_3_MAC_OPTIONS		0x01010105
> +
> +#define RNDIS_802_3_MAC_OPTION_PRIORITY		0x00000001
> +
> +#define RNDIS_OID_802_3_RCV_ERROR_ALIGNMENT	0x01020101
> +#define RNDIS_OID_802_3_XMIT_ONE_COLLISION	0x01020102
> +#define RNDIS_OID_802_3_XMIT_MORE_COLLISIONS	0x01020103
> +
> +#define RNDIS_OID_802_3_XMIT_DEFERRED		0x01020201
> +#define RNDIS_OID_802_3_XMIT_MAX_COLLISIONS	0x01020202
> +#define RNDIS_OID_802_3_RCV_OVERRUN		0x01020203
> +#define RNDIS_OID_802_3_XMIT_UNDERRUN		0x01020204
> +#define RNDIS_OID_802_3_XMIT_HEARTBEAT_FAILURE	0x01020205
> +#define RNDIS_OID_802_3_XMIT_TIMES_CRS_LOST	0x01020206
> +#define RNDIS_OID_802_3_XMIT_LATE_COLLISIONS	0x01020207
> +
> +#define RNDIS_OID_802_11_BSSID				0x0d010101
> +#define RNDIS_OID_802_11_SSID				0x0d010102
> +#define RNDIS_OID_802_11_INFRASTRUCTURE_MODE		0x0d010108
> +#define RNDIS_OID_802_11_ADD_WEP			0x0d010113
> +#define RNDIS_OID_802_11_REMOVE_WEP			0x0d010114
> +#define RNDIS_OID_802_11_DISASSOCIATE			0x0d010115
> +#define RNDIS_OID_802_11_AUTHENTICATION_MODE		0x0d010118
> +#define RNDIS_OID_802_11_PRIVACY_FILTER			0x0d010119
> +#define RNDIS_OID_802_11_BSSID_LIST_SCAN		0x0d01011a
> +#define RNDIS_OID_802_11_ENCRYPTION_STATUS		0x0d01011b
> +#define RNDIS_OID_802_11_ADD_KEY			0x0d01011d
> +#define RNDIS_OID_802_11_REMOVE_KEY			0x0d01011e
> +#define RNDIS_OID_802_11_ASSOCIATION_INFORMATION	0x0d01011f
> +#define RNDIS_OID_802_11_CAPABILITY			0x0d010122
> +#define RNDIS_OID_802_11_PMKID				0x0d010123
> +#define RNDIS_OID_802_11_NETWORK_TYPES_SUPPORTED	0x0d010203
> +#define RNDIS_OID_802_11_NETWORK_TYPE_IN_USE		0x0d010204
> +#define RNDIS_OID_802_11_TX_POWER_LEVEL			0x0d010205
> +#define RNDIS_OID_802_11_RSSI				0x0d010206
> +#define RNDIS_OID_802_11_RSSI_TRIGGER			0x0d010207
> +#define RNDIS_OID_802_11_FRAGMENTATION_THRESHOLD	0x0d010209
> +#define RNDIS_OID_802_11_RTS_THRESHOLD			0x0d01020a
> +#define RNDIS_OID_802_11_SUPPORTED_RATES		0x0d01020e
> +#define RNDIS_OID_802_11_CONFIGURATION			0x0d010211
> +#define RNDIS_OID_802_11_POWER_MODE			0x0d010216
> +#define RNDIS_OID_802_11_BSSID_LIST			0x0d010217
> +
> +/* Plug and Play capabilities */
> +#define RNDIS_OID_PNP_CAPABILITIES		0xFD010100
> +#define RNDIS_OID_PNP_SET_POWER			0xFD010101
> +#define RNDIS_OID_PNP_QUERY_POWER		0xFD010102
> +#define RNDIS_OID_PNP_ADD_WAKE_UP_PATTERN	0xFD010103
> +#define RNDIS_OID_PNP_REMOVE_WAKE_UP_PATTERN	0xFD010104
> +#define RNDIS_OID_PNP_ENABLE_WAKE_UP		0xFD010106
> +
> +/* RNDIS_PNP_CAPABILITIES.Flags constants */
> +#define RNDIS_DEVICE_WAKE_UP_ENABLE			0x00000001
> +#define RNDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE	0x00000002
> +#define RNDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE	0x00000004
> +
> +#define REMOTE_CONDIS_MP_CREATE_VC_MSG		0x00008001
> +#define REMOTE_CONDIS_MP_DELETE_VC_MSG		0x00008002
> +#define REMOTE_CONDIS_MP_ACTIVATE_VC_MSG	0x00008005
> +#define REMOTE_CONDIS_MP_DEACTIVATE_VC_MSG	0x00008006
> +#define REMOTE_CONDIS_INDICATE_STATUS_MSG	0x00008007
> +
> +#define REMOTE_CONDIS_MP_CREATE_VC_CMPLT	0x80008001
> +#define REMOTE_CONDIS_MP_DELETE_VC_CMPLT	0x80008002
> +#define REMOTE_CONDIS_MP_ACTIVATE_VC_CMPLT	0x80008005
> +#define REMOTE_CONDIS_MP_DEACTIVATE_VC_CMPLT	0x80008006
> 

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 20/34] vmbus: vmbus implementation
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 20/34] vmbus: vmbus implementation Roman Kagan
@ 2018-02-07 12:00   ` Paolo Bonzini
  0 siblings, 0 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 12:00 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> Add the VMBus infrastructure -- bus, devices, root bridge, vmbus state
> machine, vmbus channel interactions, etc.
> 
> TODO:
>  - split into smaller palatable pieces
>  - more comments
>  - check and handle corner cases
> 
> Kudos to Evgeny Yakovlev (formerly eyakovlev@virtuozzo.com) and Andrey
> Smetatin (formerly asmetanin@virtuozzo.com) for research and
> prototyping.

I admit I haven't looked at this patch almost at all, but the SCSI code
seems sane so it cannot be that bad. :)  It doesn't seem that easy to
split, too.

Adding doc comments to the header file would be already enough IMO.

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 29/34] net: add Hyper-V/VMBus network protocol definitions
  2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 29/34] net: add Hyper-V/VMBus network protocol definitions Roman Kagan
@ 2018-02-07 12:00   ` Paolo Bonzini
  2018-02-07 20:15     ` Roman Kagan
  0 siblings, 1 reply; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-07 12:00 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel
  Cc: Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On 06/02/2018 21:30, Roman Kagan wrote:
> +/* NdisInitialize message */
> +struct rndis_initialize_request {
> +    uint32_t req_id;
> +    uint32_t major_ver;
> +    uint32_t minor_ver;
> +    uint32_t max_xfer_size;
> +};
> +
> +/* Response to NdisInitialize */
> +struct rndis_initialize_complete {
> +    uint32_t req_id;
> +    uint32_t status;
> +    uint32_t major_ver;
> +    uint32_t minor_ver;
> +    uint32_t dev_flags;
> +    uint32_t medium;
> +    uint32_t max_pkt_per_msg;
> +    uint32_t max_xfer_size;
> +    uint32_t pkt_alignment_factor;
> +    uint32_t af_list_offset;
> +    uint32_t af_list_size;
> +};
> +
> +/* Call manager devices only: Information about an address family */
> +/* supported by the device is appended to the response to NdisInitialize. */
> +struct rndis_co_address_family {
> +    uint32_t address_family;
> +    uint32_t major_ver;
> +    uint32_t minor_ver;
> +};
> +
> +/* NdisHalt message */
> +struct rndis_halt_request {
> +    uint32_t req_id;
> +};
> +
> +/* NdisQueryRequest message */
> +struct rndis_query_request {
> +    uint32_t req_id;
> +    uint32_t oid;
> +    uint32_t info_buflen;
> +    uint32_t info_buf_offset;
> +    uint32_t dev_vc_handle;
> +};
> +
> +/* Response to NdisQueryRequest */
> +struct rndis_query_complete {
> +    uint32_t req_id;
> +    uint32_t status;
> +    uint32_t info_buflen;
> +    uint32_t info_buf_offset;
> +};
> +
> +/* NdisSetRequest message */
> +struct rndis_set_request {
> +    uint32_t req_id;
> +    uint32_t oid;
> +    uint32_t info_buflen;
> +    uint32_t info_buf_offset;
> +    uint32_t dev_vc_handle;
> +};
> +
> +/* Response to NdisSetRequest */
> +struct rndis_set_complete {
> +    uint32_t req_id;
> +    uint32_t status;
> +};
> +
> +/* NdisReset message */
> +struct rndis_reset_request {
> +    uint32_t reserved;
> +};
> +
> +/* Response to NdisReset */
> +struct rndis_reset_complete {
> +    uint32_t status;
> +    uint32_t addressing_reset;
> +};
> +
> +/* NdisMIndicateStatus message */
> +struct rndis_indicate_status {
> +    uint32_t status;
> +    uint32_t status_buflen;
> +    uint32_t status_buf_offset;
> +};
> +
> +/* Diagnostic information passed as the status buffer in */
> +/* struct rndis_indicate_status messages signifying error conditions. */
> +struct rndis_diagnostic_info {
> +    uint32_t diag_status;
> +    uint32_t error_offset;
> +};
> +
> +/* NdisKeepAlive message */
> +struct rndis_keepalive_request {
> +    uint32_t req_id;
> +};
> +
> +/* Response to NdisKeepAlive */
> +struct rndis_keepalive_complete {
> +    uint32_t req_id;
> +    uint32_t status;
> +};
> +

Hmm, these are a bit harder to unify with hw/usb/dev-network.c.  Still
not _that_ hard, just that the USB version has two fields for message
type/length at the beginning.  Probably worth it even if we keep two
versions of the core RNDIS code.

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC
  2018-02-07 10:45   ` Paolo Bonzini
@ 2018-02-07 18:37     ` Roman Kagan
  2018-02-08 14:54       ` Paolo Bonzini
  0 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-07 18:37 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On Wed, Feb 07, 2018 at 11:45:28AM +0100, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
> > +static SynICState *get_synic(X86CPU *cpu)
> > +{
> > +    SynICState *synic =
> > +        SYNIC(object_resolve_path_component(OBJECT(cpu), "synic"));
> > +    assert(synic);
> > +    return synic;
> > +}
> > +
> 
> This is somewhat slow, maybe add the pointer to X86CPU?

It is, but it's only used on slow paths.  I was reluctant to clutter
X86CPU with this stuff.

> > +void hyperv_synic_add(X86CPU *cpu)
> > +{
> > +    Object *obj;
> > +
> > +    obj = object_new(TYPE_SYNIC);
> > +    object_property_add_child(OBJECT(cpu), "synic", obj, &error_abort);
> > +    object_unref(obj);
> > +    object_property_set_bool(obj, true, "realized", &error_abort);
> > +}
> > +
> > +void hyperv_synic_reset(X86CPU *cpu)
> > +{
> > +    device_reset(DEVICE(get_synic(cpu)));
> > +}
> > +
> > +void hyperv_synic_update(X86CPU *cpu)
> > +{
> > +    synic_update(get_synic(cpu));
> > +}
> > +
> 
> Maybe rename to x86_cpu_hyperv_{add,get,reset,update}_synic?

I don't mind, can do.

Thanks,
Roman.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 09/34] hyperv: block SynIC use in QEMU in incompatible configurations
  2018-02-07 10:46   ` Paolo Bonzini
@ 2018-02-07 18:49     ` Roman Kagan
  0 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-07 18:49 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On Wed, Feb 07, 2018 at 11:46:30AM +0100, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
> > Certain configurations do not allow SynIC to be used in QEMU.  In
> > particular,
> > 
> > - when hyperv_vpindex is off, SINT routes can't be used as they refer to
> >   the destination vCPU by vp_index
> > 
> > - older KVM (which doesn't expose KVM_CAP_HYPERV_SYNIC2) zeroes out
> >   SynIC message and event pages on every msr load, breaking migration
> > 
> > OTOH in-KVM users of SynIC -- SynIC timers -- do work in those
> > configurations, and we shouldn't stop the guest from using them.
> > 
> > To cover both scenarios, introduce a (user-invisible) SynIC property
> > that disallows to use the SynIC within QEMU but not in KVM.  The
> > property is clear by default but is set via compat logic for older
> > machine types.
> > 
> > As a result, when hv_synic and a modern machine type are specified, QEMU
> > will refuse to run unless vp_index is on and the kernel is recent
> > enough.  OTOH with older machine types QEMU will fine run against an
> > older kernel and/or without vp_index enabled but will refuse the in-QEMU
> > uses of SynIC (e.g. VMBus).
> > 
> > Also a function is added that allows the devices to query the status of
> > SynIC support across vCPUs.
> > 
> > Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
> 
> FWIW I'm okay with just requiring a new-enough kernel when using SynIC.
> It's always been experimental.

Well, synic timers are available since linux-4.5 and qemu-2.6, and
they're also supported in libvirt for some time, so there probably are
VMs using it.  It would be harsh to make them fail migrating to a new
QEMU.

Roman.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 11/34] hyperv: add synic message delivery
  2018-02-07 10:58   ` Paolo Bonzini
@ 2018-02-07 19:06     ` Roman Kagan
  2018-02-08 14:57       ` Paolo Bonzini
  0 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-07 19:06 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On Wed, Feb 07, 2018 at 11:58:08AM +0100, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
> > +
> > +    HvSintMsgCb msg_cb;
> > +    void *msg_cb_data;
> > +    struct hyperv_message *msg;
> > +    /*
> > +     * the state of the message staged in .msg:
> > +     * 0        - the staging area is not in use (after init or message
> > +     *            successfully delivered to guest)
> > +     * -EBUSY   - the staging area is being used in vcpu thread
> > +     * -EAGAIN  - delivery attempt failed due to slot being busy, retry
> > +     * -EXXXX   - error
> > +     */
> > +    int msg_status;
> > +
> 
> Access to these fields needs to be protected by a mutex (the refcount is
> okay because it is only released in the bottom half).

Hmm, I'll double-check, but the original idea was that this stuff is
only used/ref-d/unref-d in the main thread so no mutex was necessary.

> Please also add
> comments regarding which fields are read-only, which are accessed under
> BQL, etc.
> 
> Also, msg_status's handling of EBUSY/EAGAIN is a bit strange, like:
> 
> +    if (ret == -EBUSY) {
> +        return -EAGAIN;
> +    }
> +    if (ret) {
> +        return ret;
> +    }
> 
> I wonder if it would be better to change -EBUSY to 1, or to split
> msg_status into two fields, such as msg_status (filled by the vCPU
> thread) and msg_state which can be HYPERV_MSG_STATE_{FREE,BUSY,POSTED}.
> msg_status is only valid if the state is POSTED, and sint_msg_bh then
> moves the state back to FREE.

Fair enough, that code isn't easy to follow.  I'll give this your
suggestion a try.

Thanks,
Roman.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 12/34] hyperv: add synic event flag signaling
  2018-02-07 10:58   ` Paolo Bonzini
@ 2018-02-07 19:11     ` Roman Kagan
  2018-02-08 15:02       ` Paolo Bonzini
  0 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-07 19:11 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On Wed, Feb 07, 2018 at 11:58:58AM +0100, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
> > +/*
> > + * Set given event flag for a given sint on a given vcpu, and signal the sint.
> > + */
> > +int hyperv_set_evt_flag(HvSintRoute *sint_route, unsigned evtno)
> 
> Any reason (e.g. something from the spec) not to spell "event" and
> "eventno" in full?

None beyond me being on the "shortest-comprehensible-name" camp :)

I thought "evt" was unambiguously parsed as "event", and "msg" as
"message".  Isn't it?

Thanks,
Roman.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 18/34] hyperv: add support for KVM_HYPERV_EVENTFD
  2018-02-07 11:01   ` Paolo Bonzini
@ 2018-02-07 19:19     ` Roman Kagan
  2018-02-08 15:03       ` Paolo Bonzini
  0 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-07 19:19 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On Wed, Feb 07, 2018 at 12:01:41PM +0100, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
> > When setting up a notifier for Hyper-V event connection, attempt to use
> > the KVM-assisted one first, and fall back to userspace handling of the
> > hypercall if the kernel doesn't provide the requested feature.
> > 
> > Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
> 
> As before, I wouldn't mind dropping userspace SIGNAL_EVENT altogether.

That would mean not allowing vmbus stuff on a range of otherwise usable
kernels, including 4.14 which AFAIK has been declared LTS.
Note that HYPERV_EVENTFD hasn't even landed in the mainline kernel yet
(with any luck it'll make 4.16).

> It would probably end up in bitrot.

Like every compatibilty code...

Thanks,
Roman.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 21/34] vmbus: build configuration
  2018-02-07 11:04   ` Paolo Bonzini
@ 2018-02-07 19:30     ` Roman Kagan
  2018-02-08 15:04       ` Paolo Bonzini
  0 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-07 19:30 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On Wed, Feb 07, 2018 at 12:04:01PM +0100, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
> > From: Evgeny Yakovlev <eyakovlev@virtuozzo.com>
> > 
> > Add option to configure and makefiles to enable building vmbus support
> > (default to "on" on Linux and "off" otherwise).
> 
> Maybe default to on if KVM is supported?  Could it just be
> 
> CONFIG_VMBUS=$(CONFIG_KVM)
> 
> in default-configs/ instead of having a configure option?

Then there won't be an obvious way to turn it off, will there be?

> > Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
> 
> Missing Evgeny's SoB.

Ouch.  Will fix when submitting for inclusion.

Thanks,
Roman.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 22/34] i386: Hyper-V VMBus ACPI DSDT entry
  2018-02-07 11:05   ` Paolo Bonzini
@ 2018-02-07 19:37     ` Roman Kagan
  0 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-07 19:37 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On Wed, Feb 07, 2018 at 12:05:23PM +0100, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
> > From: Andrey Smetanin <asmetanin@virtuozzo.com>
> > 
> > Guest OS uses ACPI to discover vmbus presence.  Add a corresponding
> > entry to DSDT in case vmbus has been enabled.
> > 
> > Experimentally Windows guests were found to require this entry to
> > include two IRQ resources, so this patch adds two semi-arbitrarily
> > chosen ones (7 and 13).  This results, in particular, in parallel port
> > conflicting with vmbus.
> > 
> > TODO: discover and use spare IRQs to avoid conflicts.
> 
> Could they be level-triggered IRQs?

Dunno, I'll have to experiment.  There appears to be no *use* for them,
only their presence seems to matter.

> If so you could reuse 10 and 11
> which are used by PCI INTx.  Otherwise, the parallel port conflict is
> not a huge deal.
> 
> > Signed-off-by: Evgeny Yakovlev <eyakovlev@virtuozzo.com>
> 
> Somewhat messy SoB chain. :)

Yes that happens when the patches circulate within the team before being
posted outside.  Will fix when submitting.

Thanks,
Roman.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 27/34] tests: hv-scsi: add start-stop test
  2018-02-07 11:15   ` Paolo Bonzini
@ 2018-02-07 19:40     ` Roman Kagan
  0 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-07 19:40 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On Wed, Feb 07, 2018 at 12:15:50PM +0100, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
> > +    if (strcmp(arch, "i386") && strcmp(arch, "x86_64")) {
> > +        g_printerr("Hyper-V / VMBus are only available on x86\n");
> > +        exit(EXIT_FAILURE);
> > +    }
> 
> This shouldn't be needed.
> 
> > +
> > +    if (access("/dev/kvm", R_OK | W_OK)) {
> 
> Maybe try opening it too?  In theory you could have a /dev/kvm device
> that triggers loading the kvm module (see
> https://github.com/systemd/systemd/pull/7795 for gory details).

Makes sense, will replace with open(O_RDWR).

Thanks,
Roman.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 33/34] vmbus: add support for rom files
  2018-02-07 11:18   ` Paolo Bonzini
@ 2018-02-07 19:46     ` Roman Kagan
  0 siblings, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-07 19:46 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On Wed, Feb 07, 2018 at 12:18:38PM +0100, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
> > In order to leverage third-party drivers for VMBus devices in firmware
> > (in particular, there's a case with iPXE driver for hv-net in SeaBIOS
> > and OVMF), introduce an infrastructure to supply such drivers as option
> > ROMs.
> > 
> > To make it easy for the firmware to locate such ROMs, they are stored in
> > fw_cfg with names "vmbus/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.rom" for
> > default class ROMs (where xxx... is the class GUID) and
> > "vmbus/dev/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy.rom" for per-device
> > (i.e. specified via .romfile property) ROMs (where yyy... is the device
> > instance GUID).
> > 
> > The format and the calling convention for the ROMs is out of scope for
> > this patch: QEMU doesn't try to interpret them.
> 
> Out of curiosity, do you have a SCSI driver for SeaBIOS and/or OVMF?

Yes, both, can be found at https://src.openvz.org/scm/up/seabios.git and
https://src.openvz.org/scm/up/edk2.git respectively (I mentioned that in
the cover letter).

Roman.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 25/34] scsi: add Hyper-V/VMBus SCSI controller
  2018-02-07 11:11   ` Paolo Bonzini
  2018-02-07 11:25     ` Denis V. Lunev
@ 2018-02-07 20:00     ` Roman Kagan
  1 sibling, 0 replies; 75+ messages in thread
From: Roman Kagan @ 2018-02-07 20:00 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On Wed, Feb 07, 2018 at 12:11:50PM +0100, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
> > +    blk_io_plug(d->conf.blk);
> > +    if (scsi_req_enqueue(sreq)) {
> > +        scsi_req_continue(sreq);
> > +    }
> > +    blk_io_unplug(d->conf.blk);
> 
> Is plug/unplug really useful?

I guess no.  Must have been copied mindlessly from somewhere.

Thanks,
Roman.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 29/34] net: add Hyper-V/VMBus network protocol definitions
  2018-02-07 12:00   ` Paolo Bonzini
@ 2018-02-07 20:15     ` Roman Kagan
  2018-02-08 15:05       ` Paolo Bonzini
  0 siblings, 1 reply; 75+ messages in thread
From: Roman Kagan @ 2018-02-07 20:15 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Ben Warren, Konrad Rzeszutek Wilk, Krish Sadhukhan,
	Marcos E. Matsunaga, Jan Dakinevich, Vadim Rozenfeld,
	Denis V. Lunev, si-wei liu, Vitaly Kuznetsov, Cathy Avery

On Wed, Feb 07, 2018 at 01:00:14PM +0100, Paolo Bonzini wrote:
> On 06/02/2018 21:30, Roman Kagan wrote:
> > +/* NdisInitialize message */
> > +struct rndis_initialize_request {
> > +    uint32_t req_id;
> > +    uint32_t major_ver;
> > +    uint32_t minor_ver;
> > +    uint32_t max_xfer_size;
> > +};
> > +
> > +/* Response to NdisInitialize */
> > +struct rndis_initialize_complete {
> > +    uint32_t req_id;
> > +    uint32_t status;
> > +    uint32_t major_ver;
> > +    uint32_t minor_ver;
> > +    uint32_t dev_flags;
> > +    uint32_t medium;
> > +    uint32_t max_pkt_per_msg;
> > +    uint32_t max_xfer_size;
> > +    uint32_t pkt_alignment_factor;
> > +    uint32_t af_list_offset;
> > +    uint32_t af_list_size;
> > +};
> > +
> > +/* Call manager devices only: Information about an address family */
> > +/* supported by the device is appended to the response to NdisInitialize. */
> > +struct rndis_co_address_family {
> > +    uint32_t address_family;
> > +    uint32_t major_ver;
> > +    uint32_t minor_ver;
> > +};
> > +
> > +/* NdisHalt message */
> > +struct rndis_halt_request {
> > +    uint32_t req_id;
> > +};
> > +
> > +/* NdisQueryRequest message */
> > +struct rndis_query_request {
> > +    uint32_t req_id;
> > +    uint32_t oid;
> > +    uint32_t info_buflen;
> > +    uint32_t info_buf_offset;
> > +    uint32_t dev_vc_handle;
> > +};
> > +
> > +/* Response to NdisQueryRequest */
> > +struct rndis_query_complete {
> > +    uint32_t req_id;
> > +    uint32_t status;
> > +    uint32_t info_buflen;
> > +    uint32_t info_buf_offset;
> > +};
> > +
> > +/* NdisSetRequest message */
> > +struct rndis_set_request {
> > +    uint32_t req_id;
> > +    uint32_t oid;
> > +    uint32_t info_buflen;
> > +    uint32_t info_buf_offset;
> > +    uint32_t dev_vc_handle;
> > +};
> > +
> > +/* Response to NdisSetRequest */
> > +struct rndis_set_complete {
> > +    uint32_t req_id;
> > +    uint32_t status;
> > +};
> > +
> > +/* NdisReset message */
> > +struct rndis_reset_request {
> > +    uint32_t reserved;
> > +};
> > +
> > +/* Response to NdisReset */
> > +struct rndis_reset_complete {
> > +    uint32_t status;
> > +    uint32_t addressing_reset;
> > +};
> > +
> > +/* NdisMIndicateStatus message */
> > +struct rndis_indicate_status {
> > +    uint32_t status;
> > +    uint32_t status_buflen;
> > +    uint32_t status_buf_offset;
> > +};
> > +
> > +/* Diagnostic information passed as the status buffer in */
> > +/* struct rndis_indicate_status messages signifying error conditions. */
> > +struct rndis_diagnostic_info {
> > +    uint32_t diag_status;
> > +    uint32_t error_offset;
> > +};
> > +
> > +/* NdisKeepAlive message */
> > +struct rndis_keepalive_request {
> > +    uint32_t req_id;
> > +};
> > +
> > +/* Response to NdisKeepAlive */
> > +struct rndis_keepalive_complete {
> > +    uint32_t req_id;
> > +    uint32_t status;
> > +};
> > +
> 
> Hmm, these are a bit harder to unify with hw/usb/dev-network.c.  Still
> not _that_ hard, just that the USB version has two fields for message
> type/length at the beginning.

This is my "fault".  At some point I got tired of this pattern so I
factored out the header and the payload.  I'll reconsider with this
unification in mind.

Roman.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC
  2018-02-07 18:37     ` Roman Kagan
@ 2018-02-08 14:54       ` Paolo Bonzini
  0 siblings, 0 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-08 14:54 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel, Ben Warren, Konrad Rzeszutek Wilk,
	Krish Sadhukhan, Marcos E. Matsunaga, Jan Dakinevich,
	Vadim Rozenfeld, Denis V. Lunev, si-wei liu, Vitaly Kuznetsov,
	Cathy Avery

On 07/02/2018 19:37, Roman Kagan wrote:
> On Wed, Feb 07, 2018 at 11:45:28AM +0100, Paolo Bonzini wrote:
>> On 06/02/2018 21:30, Roman Kagan wrote:
>>> +static SynICState *get_synic(X86CPU *cpu)
>>> +{
>>> +    SynICState *synic =
>>> +        SYNIC(object_resolve_path_component(OBJECT(cpu), "synic"));
>>> +    assert(synic);
>>> +    return synic;
>>> +}
>>> +
>>
>> This is somewhat slow, maybe add the pointer to X86CPU?
> 
> It is, but it's only used on slow paths.  I was reluctant to clutter
> X86CPU with this stuff.

Sounds good then.  Maybe add a comment.

Paolo

>>> +void hyperv_synic_add(X86CPU *cpu)
>>> +{
>>> +    Object *obj;
>>> +
>>> +    obj = object_new(TYPE_SYNIC);
>>> +    object_property_add_child(OBJECT(cpu), "synic", obj, &error_abort);
>>> +    object_unref(obj);
>>> +    object_property_set_bool(obj, true, "realized", &error_abort);
>>> +}
>>> +
>>> +void hyperv_synic_reset(X86CPU *cpu)
>>> +{
>>> +    device_reset(DEVICE(get_synic(cpu)));
>>> +}
>>> +
>>> +void hyperv_synic_update(X86CPU *cpu)
>>> +{
>>> +    synic_update(get_synic(cpu));
>>> +}
>>> +
>>
>> Maybe rename to x86_cpu_hyperv_{add,get,reset,update}_synic?
> 
> I don't mind, can do.
> 
> Thanks,
> Roman.
> 

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 11/34] hyperv: add synic message delivery
  2018-02-07 19:06     ` Roman Kagan
@ 2018-02-08 14:57       ` Paolo Bonzini
  0 siblings, 0 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-08 14:57 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel, Ben Warren, Konrad Rzeszutek Wilk,
	Krish Sadhukhan, Marcos E. Matsunaga, Jan Dakinevich,
	Vadim Rozenfeld, Denis V. Lunev, si-wei liu, Vitaly Kuznetsov,
	Cathy Avery

On 07/02/2018 20:06, Roman Kagan wrote:
>>> +    struct hyperv_message *msg;
>>> +    /*
>>> +     * the state of the message staged in .msg:
>>> +     * 0        - the staging area is not in use (after init or message
>>> +     *            successfully delivered to guest)
>>> +     * -EBUSY   - the staging area is being used in vcpu thread
>>> +     * -EAGAIN  - delivery attempt failed due to slot being busy, retry
>>> +     * -EXXXX   - error
>>> +     */
>>> +    int msg_status;
>>> +
>> Access to these fields needs to be protected by a mutex (the refcount is
>> okay because it is only released in the bottom half).
> Hmm, I'll double-check, but the original idea was that this stuff is
> only used/ref-d/unref-d in the main thread so no mutex was necessary.

"Passing the buck" from iothread to vCPU and vice versa should work;
async_run_on_cpu and aio_bh_schedule_oneshot introduce the necessary
ordering.  However you could still have concurrent access to the state.

The mutex is the safest option, but please document whatever you come up
with.

Thanks,

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 12/34] hyperv: add synic event flag signaling
  2018-02-07 19:11     ` Roman Kagan
@ 2018-02-08 15:02       ` Paolo Bonzini
  0 siblings, 0 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-08 15:02 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel, Ben Warren, Konrad Rzeszutek Wilk,
	Krish Sadhukhan, Marcos E. Matsunaga, Jan Dakinevich,
	Vadim Rozenfeld, Denis V. Lunev, si-wei liu, Vitaly Kuznetsov,
	Cathy Avery

On 07/02/2018 20:11, Roman Kagan wrote:
>>> +/*
>>> + * Set given event flag for a given sint on a given vcpu, and signal the sint.
>>> + */
>>> +int hyperv_set_evt_flag(HvSintRoute *sint_route, unsigned evtno)
>> Any reason (e.g. something from the spec) not to spell "event" and
>> "eventno" in full?
> None beyond me being on the "shortest-comprehensible-name" camp :)
> 
> I thought "evt" was unambiguously parsed as "event", and "msg" as
> "message".  Isn't it?

Yes, it's understandable, however my guess would have been that "msg" is
way more common than "evt".  grep seems to agree

  $ git grep '\Bmessage\|message\B' | wc -l
  451
  $ git grep '\Bmsg\|msg\B' | wc -l
  2504

  $ git grep '\Bevent\|event\B' | wc -l
  4998
  $ git grep '\Bevt\|evt\B' | wc -l
  483

where quite a few "evt" instances are matching "devtree" or "devtype".

("\Bfoo|foo\B" avoids the cases where "foo" is an entire word, which
would probably favor "message" and "event" when they appear as English
text).

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 18/34] hyperv: add support for KVM_HYPERV_EVENTFD
  2018-02-07 19:19     ` Roman Kagan
@ 2018-02-08 15:03       ` Paolo Bonzini
  0 siblings, 0 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-08 15:03 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel, Ben Warren, Konrad Rzeszutek Wilk,
	Krish Sadhukhan, Marcos E. Matsunaga, Jan Dakinevich,
	Vadim Rozenfeld, Denis V. Lunev, si-wei liu, Vitaly Kuznetsov,
	Cathy Avery

On 07/02/2018 20:19, Roman Kagan wrote:
>> As before, I wouldn't mind dropping userspace SIGNAL_EVENT altogether.
> That would mean not allowing vmbus stuff on a range of otherwise usable
> kernels, including 4.14 which AFAIK has been declared LTS.
> Note that HYPERV_EVENTFD hasn't even landed in the mainline kernel yet
> (with any luck it'll make 4.16).

Fair enough.

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 21/34] vmbus: build configuration
  2018-02-07 19:30     ` Roman Kagan
@ 2018-02-08 15:04       ` Paolo Bonzini
  0 siblings, 0 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-08 15:04 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel, Ben Warren, Konrad Rzeszutek Wilk,
	Krish Sadhukhan, Marcos E. Matsunaga, Jan Dakinevich,
	Vadim Rozenfeld, Denis V. Lunev, si-wei liu, Vitaly Kuznetsov,
	Cathy Avery

On 07/02/2018 20:30, Roman Kagan wrote:
> On Wed, Feb 07, 2018 at 12:04:01PM +0100, Paolo Bonzini wrote:
>> On 06/02/2018 21:30, Roman Kagan wrote:
>>> From: Evgeny Yakovlev <eyakovlev@virtuozzo.com>
>>>
>>> Add option to configure and makefiles to enable building vmbus support
>>> (default to "on" on Linux and "off" otherwise).
>>
>> Maybe default to on if KVM is supported?  Could it just be
>>
>> CONFIG_VMBUS=$(CONFIG_KVM)
>>
>> in default-configs/ instead of having a configure option?
> 
> Then there won't be an obvious way to turn it off, will there be?

Distros can and do patch default-configs/.  It's not very obvious, I
agree, but then it's what we suggest to do in order to turn off all
those old, hardly maintained ISA devices.  So to some extent it's a
documentation problem.

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: [Qemu-devel] [RFC PATCH 29/34] net: add Hyper-V/VMBus network protocol definitions
  2018-02-07 20:15     ` Roman Kagan
@ 2018-02-08 15:05       ` Paolo Bonzini
  0 siblings, 0 replies; 75+ messages in thread
From: Paolo Bonzini @ 2018-02-08 15:05 UTC (permalink / raw)
  To: Roman Kagan, qemu-devel, Ben Warren, Konrad Rzeszutek Wilk,
	Krish Sadhukhan, Marcos E. Matsunaga, Jan Dakinevich,
	Vadim Rozenfeld, Denis V. Lunev, si-wei liu, Vitaly Kuznetsov,
	Cathy Avery

On 07/02/2018 21:15, Roman Kagan wrote:
>> Hmm, these are a bit harder to unify with hw/usb/dev-network.c.  Still
>> not _that_ hard, just that the USB version has two fields for message
>> type/length at the beginning.
> This is my "fault".  At some point I got tired of this pattern so I
> factored out the header and the payload.  I'll reconsider with this
> unification in mind.

It's okay, we can also do it the other way round.

Paolo

^ permalink raw reply	[flat|nested] 75+ messages in thread

end of thread, other threads:[~2018-02-08 15:05 UTC | newest]

Thread overview: 75+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-06 20:30 [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 01/34] hyperv: ensure VP index equal to QEMU cpu_index Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 02/34] hyperv_testdev: refactor for readability Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 03/34] hyperv: cosmetic: g_malloc -> g_new Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 04/34] hyperv: synic: only setup ack notifier if there's a callback Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 05/34] hyperv: allow passing arbitrary data to sint ack callback Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 06/34] hyperv: address HvSintRoute by X86CPU pointer Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 07/34] hyperv: make HvSintRoute reference-counted Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 08/34] hyperv: qom-ify SynIC Roman Kagan
2018-02-07 10:45   ` Paolo Bonzini
2018-02-07 18:37     ` Roman Kagan
2018-02-08 14:54       ` Paolo Bonzini
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 09/34] hyperv: block SynIC use in QEMU in incompatible configurations Roman Kagan
2018-02-07 10:46   ` Paolo Bonzini
2018-02-07 18:49     ` Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 10/34] hyperv: make overlay pages for SynIC Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 11/34] hyperv: add synic message delivery Roman Kagan
2018-02-07 10:58   ` Paolo Bonzini
2018-02-07 19:06     ` Roman Kagan
2018-02-08 14:57       ` Paolo Bonzini
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 12/34] hyperv: add synic event flag signaling Roman Kagan
2018-02-07 10:58   ` Paolo Bonzini
2018-02-07 19:11     ` Roman Kagan
2018-02-08 15:02       ` Paolo Bonzini
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 13/34] hyperv: process SIGNAL_EVENT hypercall Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 14/34] hyperv: process POST_MESSAGE hypercall Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 15/34] hyperv_testdev: add SynIC message and event testmodes Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 16/34] hyperv: update copyright notices Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 17/34] [not to commit] import HYPERV_EVENTFD stuff from kernel Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 18/34] hyperv: add support for KVM_HYPERV_EVENTFD Roman Kagan
2018-02-07 11:01   ` Paolo Bonzini
2018-02-07 19:19     ` Roman Kagan
2018-02-08 15:03       ` Paolo Bonzini
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 19/34] vmbus: add vmbus protocol definitions Roman Kagan
2018-02-07 11:02   ` Paolo Bonzini
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 20/34] vmbus: vmbus implementation Roman Kagan
2018-02-07 12:00   ` Paolo Bonzini
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 21/34] vmbus: build configuration Roman Kagan
2018-02-07 11:04   ` Paolo Bonzini
2018-02-07 19:30     ` Roman Kagan
2018-02-08 15:04       ` Paolo Bonzini
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 22/34] i386: Hyper-V VMBus ACPI DSDT entry Roman Kagan
2018-02-07 11:05   ` Paolo Bonzini
2018-02-07 19:37     ` Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 23/34] i386: en/disable vmbus by a machine property Roman Kagan
2018-02-07 11:05   ` Paolo Bonzini
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 24/34] scsi: add Hyper-V/VMBus SCSI protocol definitions Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 25/34] scsi: add Hyper-V/VMBus SCSI controller Roman Kagan
2018-02-07 11:11   ` Paolo Bonzini
2018-02-07 11:25     ` Denis V. Lunev
2018-02-07 20:00     ` Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 26/34] hv-scsi: limit the number of requests per notification Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 27/34] tests: hv-scsi: add start-stop test Roman Kagan
2018-02-07 11:15   ` Paolo Bonzini
2018-02-07 19:40     ` Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 28/34] net: add RNDIS definitions Roman Kagan
2018-02-07 11:26   ` Paolo Bonzini
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 29/34] net: add Hyper-V/VMBus network protocol definitions Roman Kagan
2018-02-07 12:00   ` Paolo Bonzini
2018-02-07 20:15     ` Roman Kagan
2018-02-08 15:05       ` Paolo Bonzini
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 30/34] net: add Hyper-V/VMBus net adapter Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 31/34] hv-net: add .bootindex support Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 32/34] loader: allow arbitrary basename for fw_cfg file roms Roman Kagan
2018-02-07 11:22   ` Paolo Bonzini
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 33/34] vmbus: add support for rom files Roman Kagan
2018-02-07 11:18   ` Paolo Bonzini
2018-02-07 19:46     ` Roman Kagan
2018-02-06 20:30 ` [Qemu-devel] [RFC PATCH 34/34] hv-net: define default rom file name Roman Kagan
2018-02-06 21:40 ` [Qemu-devel] [RFC PATCH 00/34] Hyper-V / VMBus no-reply
2018-02-06 21:55 ` no-reply
2018-02-06 21:56 ` no-reply
2018-02-06 22:10 ` no-reply
2018-02-06 22:23 ` no-reply
2018-02-06 22:35 ` no-reply

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.