* [Qemu-devel] [RFC v3 2/6] acpi-build: allocate mcfg for pxb-pcie host bridges
2018-08-02 2:42 Zihan Yang
@ 2018-08-02 2:42 ` Zihan Yang
0 siblings, 0 replies; 13+ messages in thread
From: Zihan Yang @ 2018-08-02 2:42 UTC (permalink / raw)
To: qemu-devel; +Cc: Zihan Yang
Allocate new segment for pxb-pcie host bridges in MCFG table, and reserve
corresponding MCFG space for them. This allows user-defined pxb-pcie
host bridges to be placed in different pci domain than q35 host.
The pci_host_bridges list is changed to be tail list to ensure the q35 host
is always the first element when traversing the list, because q35 host is
inserted beofre pxb-pcie hosts
Signed-off-by: Zihan Yang <whois.zihan.yang@gmail.com>
---
hw/i386/acpi-build.c | 115 +++++++++++++++++++++++-----
hw/i386/pc.c | 14 +++-
hw/pci-bridge/pci_expander_bridge.c | 57 ++++++++++----
hw/pci-host/q35.c | 2 +
hw/pci/pci.c | 9 ++-
include/hw/i386/pc.h | 1 +
include/hw/pci-bridge/pci_expander_bridge.h | 11 +++
include/hw/pci-host/q35.h | 1 +
include/hw/pci/pci_host.h | 2 +-
9 files changed, 168 insertions(+), 44 deletions(-)
create mode 100644 include/hw/pci-bridge/pci_expander_bridge.h
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 9e8350c..30bd0d5 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -55,6 +55,7 @@
#include "hw/i386/ich9.h"
#include "hw/pci/pci_bus.h"
#include "hw/pci-host/q35.h"
+#include "hw/pci-bridge/pci_expander_bridge.h"
#include "hw/i386/x86-iommu.h"
#include "hw/acpi/aml-build.h"
@@ -89,6 +90,9 @@
typedef struct AcpiMcfgInfo {
uint64_t mcfg_base;
uint32_t mcfg_size;
+ uint32_t domain_nr;
+ uint8_t bus_nr; // start bus number
+ struct AcpiMcfgInfo *next;
} AcpiMcfgInfo;
typedef struct AcpiPmInfo {
@@ -2427,14 +2431,16 @@ build_mcfg_q35(GArray *table_data, BIOSLinker *linker, AcpiMcfgInfo *info)
{
AcpiTableMcfg *mcfg;
const char *sig;
- int len = sizeof(*mcfg) + 1 * sizeof(mcfg->allocation[0]);
+ int len, count = 0;
+ AcpiMcfgInfo *cfg = info;
+
+ while (cfg) {
+ ++count;
+ cfg = cfg->next;
+ }
+ len = sizeof(*mcfg) + count * sizeof(mcfg->allocation[0]);
mcfg = acpi_data_push(table_data, len);
- mcfg->allocation[0].address = cpu_to_le64(info->mcfg_base);
- /* Only a single allocation so no need to play with segments */
- mcfg->allocation[0].pci_segment = cpu_to_le16(0);
- mcfg->allocation[0].start_bus_number = 0;
- mcfg->allocation[0].end_bus_number = PCIE_MMCFG_BUS(info->mcfg_size - 1);
/* MCFG is used for ECAM which can be enabled or disabled by guest.
* To avoid table size changes (which create migration issues),
@@ -2448,6 +2454,16 @@ build_mcfg_q35(GArray *table_data, BIOSLinker *linker, AcpiMcfgInfo *info)
} else {
sig = "MCFG";
}
+
+ while (info) {
+ mcfg[count].allocation[0].address = cpu_to_le64(info->mcfg_base);
+ mcfg[count].allocation[0].pci_segment = cpu_to_le16(info->domain_nr);
+ mcfg[count].allocation[0].start_bus_number = info->bus_nr;
+ mcfg[count++].allocation[0].end_bus_number = info->bus_nr + \
+ PCIE_MMCFG_BUS(info->mcfg_size - 1);
+ info = info->next;
+ }
+
build_header(linker, table_data, (void *)mcfg, sig, len, 1, NULL, NULL);
}
@@ -2602,26 +2618,83 @@ struct AcpiBuildState {
MemoryRegion *linker_mr;
} AcpiBuildState;
-static bool acpi_get_mcfg(AcpiMcfgInfo *mcfg)
+static inline void cleanup_mcfg(AcpiMcfgInfo *mcfg)
+{
+ AcpiMcfgInfo *tmp;
+ while (mcfg) {
+ tmp = mcfg->next;
+ g_free(mcfg);
+ mcfg = tmp;
+ }
+}
+
+static AcpiMcfgInfo *acpi_get_mcfg(void)
{
Object *pci_host;
QObject *o;
+ uint32_t domain_nr;
+ AcpiMcfgInfo *head = NULL, *tail, *mcfg;
pci_host = acpi_get_i386_pci_host();
g_assert(pci_host);
- o = object_property_get_qobject(pci_host, PCIE_HOST_MCFG_BASE, NULL);
- if (!o) {
- return false;
+ while (pci_host) {
+ /* pxb-pcie-hosts does not have domain_nr property, but a link
+ * to PXBDev. We first try to get pxbdev property, if NULL,
+ * then it is q35 host, otherwise it is pxb-pcie-host */
+ Object *obj = object_property_get_link(pci_host,
+ PROP_PXB_PCIE_DEV, NULL);
+ if (!obj) {
+ /* we are in q35 host */
+ obj = pci_host;
+ }
+ o = object_property_get_qobject(obj, PROP_PXB_PCIE_DOMAIN_NR, NULL);
+ assert(o);
+ domain_nr = qnum_get_uint(qobject_to(QNum, o));
+ qobject_unref(o);
+
+ /* Skip bridges that reside in the same domain with q35 host.
+ * Q35 always stays in pci domain 0, and is the first element
+ * in the pci_host_bridges list */
+ if (head && domain_nr == 0) {
+ pci_host = OBJECT(QTAILQ_NEXT(PCI_HOST_BRIDGE(pci_host), next));
+ continue;
+ }
+
+ mcfg = g_new0(AcpiMcfgInfo, 1);
+ mcfg->next = NULL;
+ if (!head) {
+ tail = head = mcfg;
+ } else {
+ tail->next = mcfg;
+ tail = mcfg;
+ }
+ mcfg->domain_nr = domain_nr;
+
+ o = object_property_get_qobject(pci_host, PCIE_HOST_MCFG_BASE, NULL);
+ assert(o);
+ mcfg->mcfg_base = qnum_get_uint(qobject_to(QNum, o));
+ qobject_unref(o);
+
+ /* firmware will overwrite it */
+ o = object_property_get_qobject(pci_host, PCIE_HOST_MCFG_SIZE, NULL);
+ assert(o);
+ mcfg->mcfg_size = qnum_get_uint(qobject_to(QNum, o));
+ qobject_unref(o);
+
+ o = object_property_get_qobject(obj, PROP_PXB_BUS_NR, NULL);
+ if (!o) {
+ /* we are in q35 host again */
+ mcfg->bus_nr = 0;
+ } else {
+ mcfg->bus_nr = qnum_get_uint(qobject_to(QNum, o));
+ qobject_unref(o);
+ }
+
+ pci_host = OBJECT(QTAILQ_NEXT(PCI_HOST_BRIDGE(pci_host), next));
}
- mcfg->mcfg_base = qnum_get_uint(qobject_to(QNum, o));
- qobject_unref(o);
- o = object_property_get_qobject(pci_host, PCIE_HOST_MCFG_SIZE, NULL);
- assert(o);
- mcfg->mcfg_size = qnum_get_uint(qobject_to(QNum, o));
- qobject_unref(o);
- return true;
+ return head;
}
static
@@ -2633,7 +2706,7 @@ void acpi_build(AcpiBuildTables *tables, MachineState *machine)
unsigned facs, dsdt, rsdt, fadt;
AcpiPmInfo pm;
AcpiMiscInfo misc;
- AcpiMcfgInfo mcfg;
+ AcpiMcfgInfo *mcfg;
Range pci_hole, pci_hole64;
uint8_t *u;
size_t aml_len = 0;
@@ -2714,10 +2787,12 @@ void acpi_build(AcpiBuildTables *tables, MachineState *machine)
build_slit(tables_blob, tables->linker);
}
}
- if (acpi_get_mcfg(&mcfg)) {
+ if ((mcfg = acpi_get_mcfg()) != NULL) {
acpi_add_table(table_offsets, tables_blob);
- build_mcfg_q35(tables_blob, tables->linker, &mcfg);
+ build_mcfg_q35(tables_blob, tables->linker, mcfg);
}
+ cleanup_mcfg(mcfg);
+
if (x86_iommu_get_default()) {
IommuType IOMMUType = x86_iommu_get_type();
if (IOMMUType == TYPE_AMD) {
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 83a4444..a7e51af 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -35,6 +35,7 @@
#include "hw/ide.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_bus.h"
+#include "hw/pci-bridge/pci_expander_bridge.h"
#include "hw/nvram/fw_cfg.h"
#include "hw/timer/hpet.h"
#include "hw/smbios/smbios.h"
@@ -1470,15 +1471,24 @@ uint64_t pc_pci_hole64_start(void)
if (pcmc->has_reserved_memory && ms->device_memory->base) {
hole64_start = ms->device_memory->base;
if (!pcmc->broken_reserved_end) {
- hole64_start += memory_region_size(&ms->device_memory->mr);
+ hole64_start += (memory_region_size(&ms->device_memory->mr) + \
+ pxb_pcie_mcfg_hole());
}
} else {
- hole64_start = 0x100000000ULL + pcms->above_4g_mem_size;
+ /* memory layout [RAM Hotplug][MCFG][..ROUND UP..][PCI HOLE] */
+ hole64_start = pc_pci_mcfg_start() + pxb_pcie_mcfg_hole();
}
return ROUND_UP(hole64_start, 1 * GiB);
}
+uint64_t pc_pci_mcfg_start(void)
+{
+ PCMachineState *pcms = PC_MACHINE(qdev_get_machine());
+
+ return ROUND_UP(0x100000000ULL + pcms->above_4g_mem_size, 4 * KiB);
+}
+
qemu_irq pc_allocate_cpu_irq(void)
{
return qemu_allocate_irq(pic_irq_request, NULL, 0);
diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expander_bridge.c
index 6dd38de..f50938f 100644
--- a/hw/pci-bridge/pci_expander_bridge.c
+++ b/hw/pci-bridge/pci_expander_bridge.c
@@ -12,15 +12,19 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
+#include "hw/i386/pc.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_bus.h"
#include "hw/pci/pci_host.h"
#include "hw/pci/pcie_host.h"
#include "hw/pci/pci_bridge.h"
+#include "hw/pci-host/q35.h"
+#include "hw/pci-bridge/pci_expander_bridge.h"
#include "qemu/range.h"
#include "qemu/error-report.h"
#include "sysemu/numa.h"
#include "qapi/visitor.h"
+#include "qemu/units.h"
#define TYPE_PXB_BUS "pxb-bus"
#define PXB_BUS(obj) OBJECT_CHECK(PXBBus, (obj), TYPE_PXB_BUS)
@@ -42,11 +46,7 @@ typedef struct PXBBus {
#define TYPE_PXB_PCIE_DEVICE "pxb-pcie"
#define PXB_PCIE_DEV(obj) OBJECT_CHECK(PXBDev, (obj), TYPE_PXB_PCIE_DEVICE)
-#define PROP_PXB_PCIE_DEV "pxbdev"
-
-#define PROP_PXB_PCIE_DOMAIN_NR "domain_nr"
#define PROP_PXB_PCIE_MAX_BUS "max_bus"
-#define PROP_PXB_BUS_NR "bus_nr"
#define PROP_PXB_NUMA_NODE "numa_node"
typedef struct PXBDev {
@@ -122,6 +122,26 @@ static const TypeInfo pxb_pcie_bus_info = {
.class_init = pxb_bus_class_init,
};
+static uint64_t pxb_mcfg_hole_size = 0;
+
+static void pxb_pcie_foreach(gpointer data, gpointer user_data)
+{
+ PXBDev *pxb = (PXBDev *)data;
+
+ if (pxb->domain_nr > 0) {
+ /* only reserve what users ask for to reduce memory cost. Plus one
+ * as the interval [bus_nr, max_bus] has (max_bus-bus_nr+1) buses */
+ pxb_mcfg_hole_size += ((pxb->max_bus - pxb->bus_nr + 1ULL) * MiB);
+ }
+}
+
+uint64_t pxb_pcie_mcfg_hole(void)
+{
+ /* foreach is necessary as some pxb still reside in domain 0 */
+ g_list_foreach(pxb_dev_list, pxb_pcie_foreach, NULL);
+ return pxb_mcfg_hole_size;
+}
+
static const char *pxb_host_root_bus_path(PCIHostState *host_bridge,
PCIBus *rootbus)
{
@@ -153,14 +173,6 @@ static const char *pxb_pcie_host_root_bus_path(PCIHostState *host_bridge,
return bus->bus_path;
}
-static void pxb_pcie_host_get_mmcfg_size(Object *obj, Visitor *v, const char *name,
- void *opaque, Error **errp)
-{
- PCIExpressHost *e = PCIE_HOST_BRIDGE(obj);
-
- visit_type_uint64(v, name, &e->size, errp);
-}
-
static char *pxb_host_ofw_unit_address(const SysBusDevice *dev)
{
const PCIHostState *pxb_host;
@@ -202,10 +214,6 @@ static void pxb_pcie_host_initfn(Object *obj)
memory_region_init_io(&phb->data_mem, obj, &pci_host_data_le_ops, phb,
"pci-conf-data", 4);
- object_property_add(obj, PCIE_HOST_MCFG_SIZE, "uint64",
- pxb_pcie_host_get_mmcfg_size,
- NULL, NULL, NULL, NULL);
-
object_property_add_link(obj, PROP_PXB_PCIE_DEV, TYPE_PXB_PCIE_DEVICE,
(Object **)&s->pxbdev,
qdev_prop_allow_set_link_before_realize, 0, NULL);
@@ -214,6 +222,7 @@ static void pxb_pcie_host_initfn(Object *obj)
static Property pxb_pcie_host_props[] = {
DEFINE_PROP_UINT64(PCIE_HOST_MCFG_BASE, PXBPCIEHost, parent_obj.base_addr,
PCIE_BASE_ADDR_UNMAPPED),
+ DEFINE_PROP_UINT64(PCIE_HOST_MCFG_SIZE, PXBPCIEHost, parent_obj.size, 0),
DEFINE_PROP_END_OF_LIST(),
};
@@ -310,6 +319,8 @@ static gint pxb_compare(gconstpointer a, gconstpointer b)
0;
}
+static uint64_t pxb_pcie_mcfg_base;
+
static void pxb_dev_realize_common(PCIDevice *dev, bool pcie, Error **errp)
{
PXBDev *pxb = convert_to_pxb(dev);
@@ -333,7 +344,16 @@ static void pxb_dev_realize_common(PCIDevice *dev, bool pcie, Error **errp)
ds = qdev_create(NULL, TYPE_PXB_PCIE_HOST);
object_property_set_link(OBJECT(ds), OBJECT(pxb),
- PROP_PXB_PCIE_DEV, NULL);
+ PROP_PXB_PCIE_DEV, errp);
+
+ /* will be overwritten by firmware, but kept for readability */
+ qdev_prop_set_uint64(ds, PCIE_HOST_MCFG_BASE,
+ pxb->domain_nr ? pxb_pcie_mcfg_base : MCH_HOST_BRIDGE_PCIEXBAR_DEFAULT);
+ /* +1 because [bus_nr, max_bus] has (max_bus-bus_nr+1) buses */
+ qdev_prop_set_uint64(ds, PCIE_HOST_MCFG_SIZE,
+ pxb->domain_nr ? (pxb->max_bus - pxb->bus_nr + 1ULL) * MiB : 0);
+ if (pxb->domain_nr)
+ pxb_pcie_mcfg_base += ((pxb->max_bus + 1ULL) * MiB);
bus = pci_root_bus_new(ds, dev_name, NULL, NULL, 0, TYPE_PXB_PCIE_BUS);
} else {
@@ -445,6 +465,9 @@ static void pxb_pcie_dev_realize(PCIDevice *dev, Error **errp)
return;
}
+ if (0 == pxb_pcie_mcfg_base)
+ pxb_pcie_mcfg_base = pc_pci_mcfg_start();
+
pxb_dev_realize_common(dev, true, errp);
}
diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c
index 02f9576..10e4801 100644
--- a/hw/pci-host/q35.c
+++ b/hw/pci-host/q35.c
@@ -177,6 +177,8 @@ static Property q35_host_props[] = {
mch.below_4g_mem_size, 0),
DEFINE_PROP_SIZE(PCI_HOST_ABOVE_4G_MEM_SIZE, Q35PCIHost,
mch.above_4g_mem_size, 0),
+ /* q35 host bridge should always stay in pci domain 0 */
+ DEFINE_PROP_UINT32("domain_nr", Q35PCIHost, domain_nr, 0),
DEFINE_PROP_BOOL("x-pci-hole64-fix", Q35PCIHost, pci_hole64_fix, true),
DEFINE_PROP_END_OF_LIST(),
};
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 80bc459..ddc27ba 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -196,7 +196,8 @@ static void pci_del_option_rom(PCIDevice *pdev);
static uint16_t pci_default_sub_vendor_id = PCI_SUBVENDOR_ID_REDHAT_QUMRANET;
static uint16_t pci_default_sub_device_id = PCI_SUBDEVICE_ID_QEMU;
-static QLIST_HEAD(, PCIHostState) pci_host_bridges;
+static QTAILQ_HEAD(, PCIHostState) pci_host_bridges =
+ QTAILQ_HEAD_INITIALIZER(pci_host_bridges);
int pci_bar(PCIDevice *d, int reg)
{
@@ -330,7 +331,7 @@ static void pci_host_bus_register(DeviceState *host)
{
PCIHostState *host_bridge = PCI_HOST_BRIDGE(host);
- QLIST_INSERT_HEAD(&pci_host_bridges, host_bridge, next);
+ QTAILQ_INSERT_TAIL(&pci_host_bridges, host_bridge, next);
}
PCIBus *pci_device_root_bus(const PCIDevice *d)
@@ -1798,7 +1799,7 @@ PciInfoList *qmp_query_pci(Error **errp)
PciInfoList *info, *head = NULL, *cur_item = NULL;
PCIHostState *host_bridge;
- QLIST_FOREACH(host_bridge, &pci_host_bridges, next) {
+ QTAILQ_FOREACH(host_bridge, &pci_host_bridges, next) {
info = g_malloc0(sizeof(*info));
info->value = qmp_query_pci_bus(host_bridge->bus,
pci_bus_num(host_bridge->bus));
@@ -2493,7 +2494,7 @@ int pci_qdev_find_device(const char *id, PCIDevice **pdev)
PCIHostState *host_bridge;
int rc = -ENODEV;
- QLIST_FOREACH(host_bridge, &pci_host_bridges, next) {
+ QTAILQ_FOREACH(host_bridge, &pci_host_bridges, next) {
int tmp = pci_qdev_find_recursive(host_bridge->bus, id, pdev);
if (!tmp) {
rc = 0;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 6894f37..7955ef9 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -209,6 +209,7 @@ void pc_memory_init(PCMachineState *pcms,
MemoryRegion *rom_memory,
MemoryRegion **ram_memory);
uint64_t pc_pci_hole64_start(void);
+uint64_t pc_pci_mcfg_start(void);
qemu_irq pc_allocate_cpu_irq(void);
DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus);
void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
diff --git a/include/hw/pci-bridge/pci_expander_bridge.h b/include/hw/pci-bridge/pci_expander_bridge.h
new file mode 100644
index 0000000..870c4cd
--- /dev/null
+++ b/include/hw/pci-bridge/pci_expander_bridge.h
@@ -0,0 +1,11 @@
+#ifndef HW_PCI_EXPANDER_H
+#define HW_PCI_EXPANDER_H
+
+#define PROP_PXB_PCIE_DEV "pxbdev"
+
+#define PROP_PXB_PCIE_DOMAIN_NR "domain_nr"
+#define PROP_PXB_BUS_NR "bus_nr"
+
+uint64_t pxb_pcie_mcfg_hole(void);
+
+#endif
diff --git a/include/hw/pci-host/q35.h b/include/hw/pci-host/q35.h
index 8f4ddde..432e569 100644
--- a/include/hw/pci-host/q35.h
+++ b/include/hw/pci-host/q35.h
@@ -69,6 +69,7 @@ typedef struct Q35PCIHost {
/*< public >*/
bool pci_hole64_fix;
+ uint32_t domain_nr;
MCHPCIState mch;
} Q35PCIHost;
diff --git a/include/hw/pci/pci_host.h b/include/hw/pci/pci_host.h
index ba31595..a5617cf 100644
--- a/include/hw/pci/pci_host.h
+++ b/include/hw/pci/pci_host.h
@@ -47,7 +47,7 @@ struct PCIHostState {
uint32_t config_reg;
PCIBus *bus;
- QLIST_ENTRY(PCIHostState) next;
+ QTAILQ_ENTRY(PCIHostState) next;
};
typedef struct PCIHostBridgeClass {
--
2.7.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain
@ 2018-08-02 2:45 Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 1/6] pci_expander_bridge: add type TYPE_PXB_PCIE_HOST Zihan Yang
` (8 more replies)
0 siblings, 9 replies; 13+ messages in thread
From: Zihan Yang @ 2018-08-02 2:45 UTC (permalink / raw)
To: qemu-devel; +Cc: Zihan Yang
(Forgot about the cc, repost it here)
NOTE: This patch set relies on seabios change. Unfortunately, I haven't got
it fully working in seabios, but I still post them here because patches
involve some port layout change to be reviewed, and it has been a long delay
since my last version. I'm trying to catch things up recently.
If you would like to see current status of seabios part, please refer to
https://mail.coreboot.org/pipermail/seabios/2018-August/012385.html
Currently only q35 host bridge is allocated an item in MCFG table, all pxb
host bridges stay within pci domain 0. This series of patches put each pxb
host bridge in separate pci domain, allocating a new MCFG table item for it.
Users can configure whether to put pxb host bridge into separate domain
by passing parameter domain_nr to pxb pcie device. start_bus property
indicates the Base Bus Number(BBN) of the pxb host bridge. Another property
max_bus specifies the maximum desired bus numbers to reduce MCFG space cost.
Example command is
-device pxb-pcie,id=br3,bus="pcie.0",start_bus=0,domain_nr=1,max_bus=15
Then this pxb-pcie host bridge is placed at pci domain 1, and only reserve
(15+1)=16 buses, which is much smaller than the default 256 buses.
The pxb host does not have an mch in it, as q35 host already has one. All
pxb host bridges just serve as expander bridges in QEMU, which makes them
a little simpler than q35 host bridge.
v3 <- v2:
- Replace duplicate properties in pxb pcie host with link property to PXBDev
- Allow seabios to access config space and data space of expander bridge
through a different ioport, because 0xcf8 is attached only to sysbus.
- Add a new property start_bus to indicate the BBN of pxb host bridge. The
bus_nr property is used as the bus number of pxb-pcie device on pcie.0 bus
v2 <- v1:
- Allow user to configure whether to put pxb-pcie into seperate domain
- Add AML description part of each host bridge
- Modify the location of MCFG space to between RAM hotplug and pci hole64
Zihan Yang (6):
pci_expander_bridge: add type TYPE_PXB_PCIE_HOST
acpi-build: allocate mcfg for pxb-pcie host bridges
i386/acpi-build: describe new pci domain in AML
pci_expander_bridge: Add config_read callback
pci_expander_bridge: Add ioport for pxb host bus
pci_expander_bridge: add start_bus property
hw/i386/acpi-build.c | 193 +++++++++++++++++------
hw/i386/pc.c | 14 +-
hw/pci-bridge/pci_expander_bridge.c | 229 +++++++++++++++++++++++++++-
hw/pci-host/q35.c | 2 +
hw/pci/pci.c | 9 +-
include/hw/i386/pc.h | 1 +
include/hw/pci-bridge/pci_expander_bridge.h | 15 ++
include/hw/pci-host/q35.h | 1 +
include/hw/pci/pci_host.h | 2 +-
9 files changed, 406 insertions(+), 60 deletions(-)
create mode 100644 include/hw/pci-bridge/pci_expander_bridge.h
--
2.7.4
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Qemu-devel] [RFC v3 1/6] pci_expander_bridge: add type TYPE_PXB_PCIE_HOST
2018-08-02 2:45 [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain Zihan Yang
@ 2018-08-02 2:45 ` Zihan Yang
2018-08-06 11:46 ` Marcel Apfelbaum
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 2/6] acpi-build: allocate mcfg for pxb-pcie host bridges Zihan Yang
` (7 subsequent siblings)
8 siblings, 1 reply; 13+ messages in thread
From: Zihan Yang @ 2018-08-02 2:45 UTC (permalink / raw)
To: qemu-devel; +Cc: Zihan Yang, Michael S. Tsirkin, Marcel Apfelbaum
The inner host bridge created by pxb-pcie is TYPE_PXB_PCI_HOST by default,
change it to a new type TYPE_PXB_PCIE_HOST to better utilize ECAM of PCIe
Signed-off-by: Zihan Yang <whois.zihan.yang@gmail.com>
---
hw/pci-bridge/pci_expander_bridge.c | 127 ++++++++++++++++++++++++++++++++++--
1 file changed, 122 insertions(+), 5 deletions(-)
diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expander_bridge.c
index e62de42..6dd38de 100644
--- a/hw/pci-bridge/pci_expander_bridge.c
+++ b/hw/pci-bridge/pci_expander_bridge.c
@@ -15,10 +15,12 @@
#include "hw/pci/pci.h"
#include "hw/pci/pci_bus.h"
#include "hw/pci/pci_host.h"
+#include "hw/pci/pcie_host.h"
#include "hw/pci/pci_bridge.h"
#include "qemu/range.h"
#include "qemu/error-report.h"
#include "sysemu/numa.h"
+#include "qapi/visitor.h"
#define TYPE_PXB_BUS "pxb-bus"
#define PXB_BUS(obj) OBJECT_CHECK(PXBBus, (obj), TYPE_PXB_BUS)
@@ -40,11 +42,20 @@ typedef struct PXBBus {
#define TYPE_PXB_PCIE_DEVICE "pxb-pcie"
#define PXB_PCIE_DEV(obj) OBJECT_CHECK(PXBDev, (obj), TYPE_PXB_PCIE_DEVICE)
+#define PROP_PXB_PCIE_DEV "pxbdev"
+
+#define PROP_PXB_PCIE_DOMAIN_NR "domain_nr"
+#define PROP_PXB_PCIE_MAX_BUS "max_bus"
+#define PROP_PXB_BUS_NR "bus_nr"
+#define PROP_PXB_NUMA_NODE "numa_node"
+
typedef struct PXBDev {
/*< private >*/
PCIDevice parent_obj;
/*< public >*/
+ uint32_t domain_nr; /* PCI domain number, non-zero means separate domain */
+ uint8_t max_bus; /* max bus number to use(including this one) */
uint8_t bus_nr;
uint16_t numa_node;
} PXBDev;
@@ -58,6 +69,16 @@ static PXBDev *convert_to_pxb(PCIDevice *dev)
static GList *pxb_dev_list;
#define TYPE_PXB_HOST "pxb-host"
+#define TYPE_PXB_PCIE_HOST "pxb-pcie-host"
+#define PXB_PCIE_HOST_DEVICE(obj) \
+ OBJECT_CHECK(PXBPCIEHost, (obj), TYPE_PXB_PCIE_HOST)
+
+typedef struct PXBPCIEHost {
+ PCIExpressHost parent_obj;
+
+ /* pointers to PXBDev */
+ PXBDev *pxbdev;
+} PXBPCIEHost;
static int pxb_bus_num(PCIBus *bus)
{
@@ -111,6 +132,35 @@ static const char *pxb_host_root_bus_path(PCIHostState *host_bridge,
return bus->bus_path;
}
+/* Use a dedicated function for PCIe since pxb-host does
+ * not have a domain_nr field */
+static const char *pxb_pcie_host_root_bus_path(PCIHostState *host_bridge,
+ PCIBus *rootbus)
+{
+ if (!pci_bus_is_express(rootbus)) {
+ /* pxb-pcie-host cannot reside on a PCI bus */
+ return NULL;
+ }
+ PXBBus *bus = PXB_PCIE_BUS(rootbus);
+
+ /* get the pointer to PXBDev */
+ Object *obj = object_property_get_link(OBJECT(host_bridge),
+ PROP_PXB_PCIE_DEV, NULL);
+
+ snprintf(bus->bus_path, 8, "%04lx:%02x",
+ object_property_get_uint(obj, PROP_PXB_PCIE_DOMAIN_NR, NULL),
+ pxb_bus_num(rootbus));
+ return bus->bus_path;
+}
+
+static void pxb_pcie_host_get_mmcfg_size(Object *obj, Visitor *v, const char *name,
+ void *opaque, Error **errp)
+{
+ PCIExpressHost *e = PCIE_HOST_BRIDGE(obj);
+
+ visit_type_uint64(v, name, &e->size, errp);
+}
+
static char *pxb_host_ofw_unit_address(const SysBusDevice *dev)
{
const PCIHostState *pxb_host;
@@ -142,6 +192,31 @@ static char *pxb_host_ofw_unit_address(const SysBusDevice *dev)
return NULL;
}
+static void pxb_pcie_host_initfn(Object *obj)
+{
+ PXBPCIEHost *s = PXB_PCIE_HOST_DEVICE(obj);
+ PCIHostState *phb = PCI_HOST_BRIDGE(obj);
+
+ memory_region_init_io(&phb->conf_mem, obj, &pci_host_conf_le_ops, phb,
+ "pci-conf-idx", 4);
+ memory_region_init_io(&phb->data_mem, obj, &pci_host_data_le_ops, phb,
+ "pci-conf-data", 4);
+
+ object_property_add(obj, PCIE_HOST_MCFG_SIZE, "uint64",
+ pxb_pcie_host_get_mmcfg_size,
+ NULL, NULL, NULL, NULL);
+
+ object_property_add_link(obj, PROP_PXB_PCIE_DEV, TYPE_PXB_PCIE_DEVICE,
+ (Object **)&s->pxbdev,
+ qdev_prop_allow_set_link_before_realize, 0, NULL);
+}
+
+static Property pxb_pcie_host_props[] = {
+ DEFINE_PROP_UINT64(PCIE_HOST_MCFG_BASE, PXBPCIEHost, parent_obj.base_addr,
+ PCIE_BASE_ADDR_UNMAPPED),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
static void pxb_host_class_init(ObjectClass *class, void *data)
{
DeviceClass *dc = DEVICE_CLASS(class);
@@ -155,12 +230,34 @@ static void pxb_host_class_init(ObjectClass *class, void *data)
hc->root_bus_path = pxb_host_root_bus_path;
}
+static void pxb_pcie_host_class_init(ObjectClass *class, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(class);
+ SysBusDeviceClass *sbc = SYS_BUS_DEVICE_CLASS(class);
+ PCIHostBridgeClass *hc = PCI_HOST_BRIDGE_CLASS(class);
+
+ dc->fw_name = "pcie";
+ dc->props = pxb_pcie_host_props;
+ /* Reason: Internal part of the pxb/pxb-pcie device, not usable by itself */
+ dc->user_creatable = false;
+ sbc->explicit_ofw_unit_address = pxb_host_ofw_unit_address;
+ hc->root_bus_path = pxb_pcie_host_root_bus_path;
+}
+
static const TypeInfo pxb_host_info = {
.name = TYPE_PXB_HOST,
.parent = TYPE_PCI_HOST_BRIDGE,
.class_init = pxb_host_class_init,
};
+static const TypeInfo pxb_pcie_host_info = {
+ .name = TYPE_PXB_PCIE_HOST,
+ .parent = TYPE_PCIE_HOST_BRIDGE,
+ .instance_size = sizeof(PXBPCIEHost),
+ .instance_init = pxb_pcie_host_initfn,
+ .class_init = pxb_pcie_host_class_init,
+};
+
/*
* Registers the PXB bus as a child of pci host root bus.
*/
@@ -205,7 +302,10 @@ static gint pxb_compare(gconstpointer a, gconstpointer b)
{
const PXBDev *pxb_a = a, *pxb_b = b;
- return pxb_a->bus_nr < pxb_b->bus_nr ? -1 :
+ /* check domain_nr, then bus_nr */
+ return pxb_a->domain_nr < pxb_b->domain_nr ? -1 :
+ pxb_a->domain_nr > pxb_b->domain_nr ? 1 :
+ pxb_a->bus_nr < pxb_b->bus_nr ? -1 :
pxb_a->bus_nr > pxb_b->bus_nr ? 1 :
0;
}
@@ -228,10 +328,16 @@ static void pxb_dev_realize_common(PCIDevice *dev, bool pcie, Error **errp)
dev_name = dev->qdev.id;
}
- ds = qdev_create(NULL, TYPE_PXB_HOST);
if (pcie) {
+ g_assert (pxb->max_bus >= pxb->bus_nr);
+ ds = qdev_create(NULL, TYPE_PXB_PCIE_HOST);
+
+ object_property_set_link(OBJECT(ds), OBJECT(pxb),
+ PROP_PXB_PCIE_DEV, NULL);
+
bus = pci_root_bus_new(ds, dev_name, NULL, NULL, 0, TYPE_PXB_PCIE_BUS);
} else {
+ ds = qdev_create(NULL, TYPE_PXB_HOST);
bus = pci_root_bus_new(ds, "pxb-internal", NULL, NULL, 0, TYPE_PXB_BUS);
bds = qdev_create(BUS(bus), "pci-bridge");
bds->id = dev_name;
@@ -289,8 +395,18 @@ static void pxb_dev_exitfn(PCIDevice *pci_dev)
static Property pxb_dev_properties[] = {
/* Note: 0 is not a legal PXB bus number. */
- DEFINE_PROP_UINT8("bus_nr", PXBDev, bus_nr, 0),
- DEFINE_PROP_UINT16("numa_node", PXBDev, numa_node, NUMA_NODE_UNASSIGNED),
+ DEFINE_PROP_UINT8(PROP_PXB_BUS_NR, PXBDev, bus_nr, 0),
+ DEFINE_PROP_UINT16(PROP_PXB_NUMA_NODE, PXBDev, numa_node, NUMA_NODE_UNASSIGNED),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static Property pxb_pcie_dev_properties[] = {
+ DEFINE_PROP_UINT8(PROP_PXB_BUS_NR, PXBDev, bus_nr, 0),
+ DEFINE_PROP_UINT16(PROP_PXB_NUMA_NODE, PXBDev, numa_node, NUMA_NODE_UNASSIGNED),
+ DEFINE_PROP_UINT32(PROP_PXB_PCIE_DOMAIN_NR, PXBDev, domain_nr, 0),
+ /* set a small default value, bus interval is [bus_nr, max_bus] */
+ DEFINE_PROP_UINT8(PROP_PXB_PCIE_MAX_BUS, PXBDev, max_bus, 16),
+
DEFINE_PROP_END_OF_LIST(),
};
@@ -344,7 +460,7 @@ static void pxb_pcie_dev_class_init(ObjectClass *klass, void *data)
k->class_id = PCI_CLASS_BRIDGE_HOST;
dc->desc = "PCI Express Expander Bridge";
- dc->props = pxb_dev_properties;
+ dc->props = pxb_pcie_dev_properties;
dc->hotpluggable = false;
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
}
@@ -365,6 +481,7 @@ static void pxb_register_types(void)
type_register_static(&pxb_bus_info);
type_register_static(&pxb_pcie_bus_info);
type_register_static(&pxb_host_info);
+ type_register_static(&pxb_pcie_host_info);
type_register_static(&pxb_dev_info);
type_register_static(&pxb_pcie_dev_info);
}
--
2.7.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [RFC v3 2/6] acpi-build: allocate mcfg for pxb-pcie host bridges
2018-08-02 2:45 [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 1/6] pci_expander_bridge: add type TYPE_PXB_PCIE_HOST Zihan Yang
@ 2018-08-02 2:45 ` Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 3/6] i386/acpi-build: describe new pci domain in AML Zihan Yang
` (6 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Zihan Yang @ 2018-08-02 2:45 UTC (permalink / raw)
To: qemu-devel
Cc: Zihan Yang, Michael S. Tsirkin, Igor Mammedov, Paolo Bonzini,
Richard Henderson, Eduardo Habkost, Marcel Apfelbaum
Allocate new segment for pxb-pcie host bridges in MCFG table, and reserve
corresponding MCFG space for them. This allows user-defined pxb-pcie
host bridges to be placed in different pci domain than q35 host.
The pci_host_bridges list is changed to be tail list to ensure the q35 host
is always the first element when traversing the list, because q35 host is
inserted beofre pxb-pcie hosts
Signed-off-by: Zihan Yang <whois.zihan.yang@gmail.com>
---
hw/i386/acpi-build.c | 115 +++++++++++++++++++++++-----
hw/i386/pc.c | 14 +++-
hw/pci-bridge/pci_expander_bridge.c | 57 ++++++++++----
hw/pci-host/q35.c | 2 +
hw/pci/pci.c | 9 ++-
include/hw/i386/pc.h | 1 +
include/hw/pci-bridge/pci_expander_bridge.h | 11 +++
include/hw/pci-host/q35.h | 1 +
include/hw/pci/pci_host.h | 2 +-
9 files changed, 168 insertions(+), 44 deletions(-)
create mode 100644 include/hw/pci-bridge/pci_expander_bridge.h
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 9e8350c..30bd0d5 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -55,6 +55,7 @@
#include "hw/i386/ich9.h"
#include "hw/pci/pci_bus.h"
#include "hw/pci-host/q35.h"
+#include "hw/pci-bridge/pci_expander_bridge.h"
#include "hw/i386/x86-iommu.h"
#include "hw/acpi/aml-build.h"
@@ -89,6 +90,9 @@
typedef struct AcpiMcfgInfo {
uint64_t mcfg_base;
uint32_t mcfg_size;
+ uint32_t domain_nr;
+ uint8_t bus_nr; // start bus number
+ struct AcpiMcfgInfo *next;
} AcpiMcfgInfo;
typedef struct AcpiPmInfo {
@@ -2427,14 +2431,16 @@ build_mcfg_q35(GArray *table_data, BIOSLinker *linker, AcpiMcfgInfo *info)
{
AcpiTableMcfg *mcfg;
const char *sig;
- int len = sizeof(*mcfg) + 1 * sizeof(mcfg->allocation[0]);
+ int len, count = 0;
+ AcpiMcfgInfo *cfg = info;
+
+ while (cfg) {
+ ++count;
+ cfg = cfg->next;
+ }
+ len = sizeof(*mcfg) + count * sizeof(mcfg->allocation[0]);
mcfg = acpi_data_push(table_data, len);
- mcfg->allocation[0].address = cpu_to_le64(info->mcfg_base);
- /* Only a single allocation so no need to play with segments */
- mcfg->allocation[0].pci_segment = cpu_to_le16(0);
- mcfg->allocation[0].start_bus_number = 0;
- mcfg->allocation[0].end_bus_number = PCIE_MMCFG_BUS(info->mcfg_size - 1);
/* MCFG is used for ECAM which can be enabled or disabled by guest.
* To avoid table size changes (which create migration issues),
@@ -2448,6 +2454,16 @@ build_mcfg_q35(GArray *table_data, BIOSLinker *linker, AcpiMcfgInfo *info)
} else {
sig = "MCFG";
}
+
+ while (info) {
+ mcfg[count].allocation[0].address = cpu_to_le64(info->mcfg_base);
+ mcfg[count].allocation[0].pci_segment = cpu_to_le16(info->domain_nr);
+ mcfg[count].allocation[0].start_bus_number = info->bus_nr;
+ mcfg[count++].allocation[0].end_bus_number = info->bus_nr + \
+ PCIE_MMCFG_BUS(info->mcfg_size - 1);
+ info = info->next;
+ }
+
build_header(linker, table_data, (void *)mcfg, sig, len, 1, NULL, NULL);
}
@@ -2602,26 +2618,83 @@ struct AcpiBuildState {
MemoryRegion *linker_mr;
} AcpiBuildState;
-static bool acpi_get_mcfg(AcpiMcfgInfo *mcfg)
+static inline void cleanup_mcfg(AcpiMcfgInfo *mcfg)
+{
+ AcpiMcfgInfo *tmp;
+ while (mcfg) {
+ tmp = mcfg->next;
+ g_free(mcfg);
+ mcfg = tmp;
+ }
+}
+
+static AcpiMcfgInfo *acpi_get_mcfg(void)
{
Object *pci_host;
QObject *o;
+ uint32_t domain_nr;
+ AcpiMcfgInfo *head = NULL, *tail, *mcfg;
pci_host = acpi_get_i386_pci_host();
g_assert(pci_host);
- o = object_property_get_qobject(pci_host, PCIE_HOST_MCFG_BASE, NULL);
- if (!o) {
- return false;
+ while (pci_host) {
+ /* pxb-pcie-hosts does not have domain_nr property, but a link
+ * to PXBDev. We first try to get pxbdev property, if NULL,
+ * then it is q35 host, otherwise it is pxb-pcie-host */
+ Object *obj = object_property_get_link(pci_host,
+ PROP_PXB_PCIE_DEV, NULL);
+ if (!obj) {
+ /* we are in q35 host */
+ obj = pci_host;
+ }
+ o = object_property_get_qobject(obj, PROP_PXB_PCIE_DOMAIN_NR, NULL);
+ assert(o);
+ domain_nr = qnum_get_uint(qobject_to(QNum, o));
+ qobject_unref(o);
+
+ /* Skip bridges that reside in the same domain with q35 host.
+ * Q35 always stays in pci domain 0, and is the first element
+ * in the pci_host_bridges list */
+ if (head && domain_nr == 0) {
+ pci_host = OBJECT(QTAILQ_NEXT(PCI_HOST_BRIDGE(pci_host), next));
+ continue;
+ }
+
+ mcfg = g_new0(AcpiMcfgInfo, 1);
+ mcfg->next = NULL;
+ if (!head) {
+ tail = head = mcfg;
+ } else {
+ tail->next = mcfg;
+ tail = mcfg;
+ }
+ mcfg->domain_nr = domain_nr;
+
+ o = object_property_get_qobject(pci_host, PCIE_HOST_MCFG_BASE, NULL);
+ assert(o);
+ mcfg->mcfg_base = qnum_get_uint(qobject_to(QNum, o));
+ qobject_unref(o);
+
+ /* firmware will overwrite it */
+ o = object_property_get_qobject(pci_host, PCIE_HOST_MCFG_SIZE, NULL);
+ assert(o);
+ mcfg->mcfg_size = qnum_get_uint(qobject_to(QNum, o));
+ qobject_unref(o);
+
+ o = object_property_get_qobject(obj, PROP_PXB_BUS_NR, NULL);
+ if (!o) {
+ /* we are in q35 host again */
+ mcfg->bus_nr = 0;
+ } else {
+ mcfg->bus_nr = qnum_get_uint(qobject_to(QNum, o));
+ qobject_unref(o);
+ }
+
+ pci_host = OBJECT(QTAILQ_NEXT(PCI_HOST_BRIDGE(pci_host), next));
}
- mcfg->mcfg_base = qnum_get_uint(qobject_to(QNum, o));
- qobject_unref(o);
- o = object_property_get_qobject(pci_host, PCIE_HOST_MCFG_SIZE, NULL);
- assert(o);
- mcfg->mcfg_size = qnum_get_uint(qobject_to(QNum, o));
- qobject_unref(o);
- return true;
+ return head;
}
static
@@ -2633,7 +2706,7 @@ void acpi_build(AcpiBuildTables *tables, MachineState *machine)
unsigned facs, dsdt, rsdt, fadt;
AcpiPmInfo pm;
AcpiMiscInfo misc;
- AcpiMcfgInfo mcfg;
+ AcpiMcfgInfo *mcfg;
Range pci_hole, pci_hole64;
uint8_t *u;
size_t aml_len = 0;
@@ -2714,10 +2787,12 @@ void acpi_build(AcpiBuildTables *tables, MachineState *machine)
build_slit(tables_blob, tables->linker);
}
}
- if (acpi_get_mcfg(&mcfg)) {
+ if ((mcfg = acpi_get_mcfg()) != NULL) {
acpi_add_table(table_offsets, tables_blob);
- build_mcfg_q35(tables_blob, tables->linker, &mcfg);
+ build_mcfg_q35(tables_blob, tables->linker, mcfg);
}
+ cleanup_mcfg(mcfg);
+
if (x86_iommu_get_default()) {
IommuType IOMMUType = x86_iommu_get_type();
if (IOMMUType == TYPE_AMD) {
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 83a4444..a7e51af 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -35,6 +35,7 @@
#include "hw/ide.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_bus.h"
+#include "hw/pci-bridge/pci_expander_bridge.h"
#include "hw/nvram/fw_cfg.h"
#include "hw/timer/hpet.h"
#include "hw/smbios/smbios.h"
@@ -1470,15 +1471,24 @@ uint64_t pc_pci_hole64_start(void)
if (pcmc->has_reserved_memory && ms->device_memory->base) {
hole64_start = ms->device_memory->base;
if (!pcmc->broken_reserved_end) {
- hole64_start += memory_region_size(&ms->device_memory->mr);
+ hole64_start += (memory_region_size(&ms->device_memory->mr) + \
+ pxb_pcie_mcfg_hole());
}
} else {
- hole64_start = 0x100000000ULL + pcms->above_4g_mem_size;
+ /* memory layout [RAM Hotplug][MCFG][..ROUND UP..][PCI HOLE] */
+ hole64_start = pc_pci_mcfg_start() + pxb_pcie_mcfg_hole();
}
return ROUND_UP(hole64_start, 1 * GiB);
}
+uint64_t pc_pci_mcfg_start(void)
+{
+ PCMachineState *pcms = PC_MACHINE(qdev_get_machine());
+
+ return ROUND_UP(0x100000000ULL + pcms->above_4g_mem_size, 4 * KiB);
+}
+
qemu_irq pc_allocate_cpu_irq(void)
{
return qemu_allocate_irq(pic_irq_request, NULL, 0);
diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expander_bridge.c
index 6dd38de..f50938f 100644
--- a/hw/pci-bridge/pci_expander_bridge.c
+++ b/hw/pci-bridge/pci_expander_bridge.c
@@ -12,15 +12,19 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
+#include "hw/i386/pc.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_bus.h"
#include "hw/pci/pci_host.h"
#include "hw/pci/pcie_host.h"
#include "hw/pci/pci_bridge.h"
+#include "hw/pci-host/q35.h"
+#include "hw/pci-bridge/pci_expander_bridge.h"
#include "qemu/range.h"
#include "qemu/error-report.h"
#include "sysemu/numa.h"
#include "qapi/visitor.h"
+#include "qemu/units.h"
#define TYPE_PXB_BUS "pxb-bus"
#define PXB_BUS(obj) OBJECT_CHECK(PXBBus, (obj), TYPE_PXB_BUS)
@@ -42,11 +46,7 @@ typedef struct PXBBus {
#define TYPE_PXB_PCIE_DEVICE "pxb-pcie"
#define PXB_PCIE_DEV(obj) OBJECT_CHECK(PXBDev, (obj), TYPE_PXB_PCIE_DEVICE)
-#define PROP_PXB_PCIE_DEV "pxbdev"
-
-#define PROP_PXB_PCIE_DOMAIN_NR "domain_nr"
#define PROP_PXB_PCIE_MAX_BUS "max_bus"
-#define PROP_PXB_BUS_NR "bus_nr"
#define PROP_PXB_NUMA_NODE "numa_node"
typedef struct PXBDev {
@@ -122,6 +122,26 @@ static const TypeInfo pxb_pcie_bus_info = {
.class_init = pxb_bus_class_init,
};
+static uint64_t pxb_mcfg_hole_size = 0;
+
+static void pxb_pcie_foreach(gpointer data, gpointer user_data)
+{
+ PXBDev *pxb = (PXBDev *)data;
+
+ if (pxb->domain_nr > 0) {
+ /* only reserve what users ask for to reduce memory cost. Plus one
+ * as the interval [bus_nr, max_bus] has (max_bus-bus_nr+1) buses */
+ pxb_mcfg_hole_size += ((pxb->max_bus - pxb->bus_nr + 1ULL) * MiB);
+ }
+}
+
+uint64_t pxb_pcie_mcfg_hole(void)
+{
+ /* foreach is necessary as some pxb still reside in domain 0 */
+ g_list_foreach(pxb_dev_list, pxb_pcie_foreach, NULL);
+ return pxb_mcfg_hole_size;
+}
+
static const char *pxb_host_root_bus_path(PCIHostState *host_bridge,
PCIBus *rootbus)
{
@@ -153,14 +173,6 @@ static const char *pxb_pcie_host_root_bus_path(PCIHostState *host_bridge,
return bus->bus_path;
}
-static void pxb_pcie_host_get_mmcfg_size(Object *obj, Visitor *v, const char *name,
- void *opaque, Error **errp)
-{
- PCIExpressHost *e = PCIE_HOST_BRIDGE(obj);
-
- visit_type_uint64(v, name, &e->size, errp);
-}
-
static char *pxb_host_ofw_unit_address(const SysBusDevice *dev)
{
const PCIHostState *pxb_host;
@@ -202,10 +214,6 @@ static void pxb_pcie_host_initfn(Object *obj)
memory_region_init_io(&phb->data_mem, obj, &pci_host_data_le_ops, phb,
"pci-conf-data", 4);
- object_property_add(obj, PCIE_HOST_MCFG_SIZE, "uint64",
- pxb_pcie_host_get_mmcfg_size,
- NULL, NULL, NULL, NULL);
-
object_property_add_link(obj, PROP_PXB_PCIE_DEV, TYPE_PXB_PCIE_DEVICE,
(Object **)&s->pxbdev,
qdev_prop_allow_set_link_before_realize, 0, NULL);
@@ -214,6 +222,7 @@ static void pxb_pcie_host_initfn(Object *obj)
static Property pxb_pcie_host_props[] = {
DEFINE_PROP_UINT64(PCIE_HOST_MCFG_BASE, PXBPCIEHost, parent_obj.base_addr,
PCIE_BASE_ADDR_UNMAPPED),
+ DEFINE_PROP_UINT64(PCIE_HOST_MCFG_SIZE, PXBPCIEHost, parent_obj.size, 0),
DEFINE_PROP_END_OF_LIST(),
};
@@ -310,6 +319,8 @@ static gint pxb_compare(gconstpointer a, gconstpointer b)
0;
}
+static uint64_t pxb_pcie_mcfg_base;
+
static void pxb_dev_realize_common(PCIDevice *dev, bool pcie, Error **errp)
{
PXBDev *pxb = convert_to_pxb(dev);
@@ -333,7 +344,16 @@ static void pxb_dev_realize_common(PCIDevice *dev, bool pcie, Error **errp)
ds = qdev_create(NULL, TYPE_PXB_PCIE_HOST);
object_property_set_link(OBJECT(ds), OBJECT(pxb),
- PROP_PXB_PCIE_DEV, NULL);
+ PROP_PXB_PCIE_DEV, errp);
+
+ /* will be overwritten by firmware, but kept for readability */
+ qdev_prop_set_uint64(ds, PCIE_HOST_MCFG_BASE,
+ pxb->domain_nr ? pxb_pcie_mcfg_base : MCH_HOST_BRIDGE_PCIEXBAR_DEFAULT);
+ /* +1 because [bus_nr, max_bus] has (max_bus-bus_nr+1) buses */
+ qdev_prop_set_uint64(ds, PCIE_HOST_MCFG_SIZE,
+ pxb->domain_nr ? (pxb->max_bus - pxb->bus_nr + 1ULL) * MiB : 0);
+ if (pxb->domain_nr)
+ pxb_pcie_mcfg_base += ((pxb->max_bus + 1ULL) * MiB);
bus = pci_root_bus_new(ds, dev_name, NULL, NULL, 0, TYPE_PXB_PCIE_BUS);
} else {
@@ -445,6 +465,9 @@ static void pxb_pcie_dev_realize(PCIDevice *dev, Error **errp)
return;
}
+ if (0 == pxb_pcie_mcfg_base)
+ pxb_pcie_mcfg_base = pc_pci_mcfg_start();
+
pxb_dev_realize_common(dev, true, errp);
}
diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c
index 02f9576..10e4801 100644
--- a/hw/pci-host/q35.c
+++ b/hw/pci-host/q35.c
@@ -177,6 +177,8 @@ static Property q35_host_props[] = {
mch.below_4g_mem_size, 0),
DEFINE_PROP_SIZE(PCI_HOST_ABOVE_4G_MEM_SIZE, Q35PCIHost,
mch.above_4g_mem_size, 0),
+ /* q35 host bridge should always stay in pci domain 0 */
+ DEFINE_PROP_UINT32("domain_nr", Q35PCIHost, domain_nr, 0),
DEFINE_PROP_BOOL("x-pci-hole64-fix", Q35PCIHost, pci_hole64_fix, true),
DEFINE_PROP_END_OF_LIST(),
};
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 80bc459..ddc27ba 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -196,7 +196,8 @@ static void pci_del_option_rom(PCIDevice *pdev);
static uint16_t pci_default_sub_vendor_id = PCI_SUBVENDOR_ID_REDHAT_QUMRANET;
static uint16_t pci_default_sub_device_id = PCI_SUBDEVICE_ID_QEMU;
-static QLIST_HEAD(, PCIHostState) pci_host_bridges;
+static QTAILQ_HEAD(, PCIHostState) pci_host_bridges =
+ QTAILQ_HEAD_INITIALIZER(pci_host_bridges);
int pci_bar(PCIDevice *d, int reg)
{
@@ -330,7 +331,7 @@ static void pci_host_bus_register(DeviceState *host)
{
PCIHostState *host_bridge = PCI_HOST_BRIDGE(host);
- QLIST_INSERT_HEAD(&pci_host_bridges, host_bridge, next);
+ QTAILQ_INSERT_TAIL(&pci_host_bridges, host_bridge, next);
}
PCIBus *pci_device_root_bus(const PCIDevice *d)
@@ -1798,7 +1799,7 @@ PciInfoList *qmp_query_pci(Error **errp)
PciInfoList *info, *head = NULL, *cur_item = NULL;
PCIHostState *host_bridge;
- QLIST_FOREACH(host_bridge, &pci_host_bridges, next) {
+ QTAILQ_FOREACH(host_bridge, &pci_host_bridges, next) {
info = g_malloc0(sizeof(*info));
info->value = qmp_query_pci_bus(host_bridge->bus,
pci_bus_num(host_bridge->bus));
@@ -2493,7 +2494,7 @@ int pci_qdev_find_device(const char *id, PCIDevice **pdev)
PCIHostState *host_bridge;
int rc = -ENODEV;
- QLIST_FOREACH(host_bridge, &pci_host_bridges, next) {
+ QTAILQ_FOREACH(host_bridge, &pci_host_bridges, next) {
int tmp = pci_qdev_find_recursive(host_bridge->bus, id, pdev);
if (!tmp) {
rc = 0;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 6894f37..7955ef9 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -209,6 +209,7 @@ void pc_memory_init(PCMachineState *pcms,
MemoryRegion *rom_memory,
MemoryRegion **ram_memory);
uint64_t pc_pci_hole64_start(void);
+uint64_t pc_pci_mcfg_start(void);
qemu_irq pc_allocate_cpu_irq(void);
DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus);
void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
diff --git a/include/hw/pci-bridge/pci_expander_bridge.h b/include/hw/pci-bridge/pci_expander_bridge.h
new file mode 100644
index 0000000..870c4cd
--- /dev/null
+++ b/include/hw/pci-bridge/pci_expander_bridge.h
@@ -0,0 +1,11 @@
+#ifndef HW_PCI_EXPANDER_H
+#define HW_PCI_EXPANDER_H
+
+#define PROP_PXB_PCIE_DEV "pxbdev"
+
+#define PROP_PXB_PCIE_DOMAIN_NR "domain_nr"
+#define PROP_PXB_BUS_NR "bus_nr"
+
+uint64_t pxb_pcie_mcfg_hole(void);
+
+#endif
diff --git a/include/hw/pci-host/q35.h b/include/hw/pci-host/q35.h
index 8f4ddde..432e569 100644
--- a/include/hw/pci-host/q35.h
+++ b/include/hw/pci-host/q35.h
@@ -69,6 +69,7 @@ typedef struct Q35PCIHost {
/*< public >*/
bool pci_hole64_fix;
+ uint32_t domain_nr;
MCHPCIState mch;
} Q35PCIHost;
diff --git a/include/hw/pci/pci_host.h b/include/hw/pci/pci_host.h
index ba31595..a5617cf 100644
--- a/include/hw/pci/pci_host.h
+++ b/include/hw/pci/pci_host.h
@@ -47,7 +47,7 @@ struct PCIHostState {
uint32_t config_reg;
PCIBus *bus;
- QLIST_ENTRY(PCIHostState) next;
+ QTAILQ_ENTRY(PCIHostState) next;
};
typedef struct PCIHostBridgeClass {
--
2.7.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [RFC v3 3/6] i386/acpi-build: describe new pci domain in AML
2018-08-02 2:45 [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 1/6] pci_expander_bridge: add type TYPE_PXB_PCIE_HOST Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 2/6] acpi-build: allocate mcfg for pxb-pcie host bridges Zihan Yang
@ 2018-08-02 2:45 ` Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 4/6] pci_expander_bridge: Add config_read callback Zihan Yang
` (5 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Zihan Yang @ 2018-08-02 2:45 UTC (permalink / raw)
To: qemu-devel
Cc: Zihan Yang, Michael S. Tsirkin, Igor Mammedov, Marcel Apfelbaum,
Paolo Bonzini, Richard Henderson, Eduardo Habkost
Describe new pci segments of host bridges in AML as new pci devices,
with _SEG and _BBN to let them be in DSDT
Signed-off-by: Zihan Yang <whois.zihan.yang@gmail.com>
---
hw/i386/acpi-build.c | 78 +++++++++++++++++++++++++++++++++++-----------------
1 file changed, 53 insertions(+), 25 deletions(-)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 30bd0d5..4b6ef78 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -1832,6 +1832,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
aml_append(dev, aml_name_decl("_UID", aml_int(1)));
aml_append(dev, build_q35_osc_method());
aml_append(sb_scope, dev);
+
aml_append(dsdt, sb_scope);
build_hpet_aml(dsdt);
@@ -1875,6 +1876,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
crs_range_set_init(&crs_range_set);
bus = PC_MACHINE(machine)->bus;
+ i = 1; // PCI0 is q35 host, pxb starts from 1
if (bus) {
QLIST_FOREACH(bus, &bus->child, sibling) {
uint8_t bus_num = pci_bus_num(bus);
@@ -1890,10 +1892,9 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
}
scope = aml_scope("\\_SB");
- dev = aml_device("PC%.02X", bus_num);
+ dev = aml_device("PCI%d", i++);
aml_append(dev, aml_name_decl("_UID", aml_int(bus_num)));
aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A03")));
- aml_append(dev, aml_name_decl("_BBN", aml_int(bus_num)));
if (pci_bus_is_express(bus)) {
aml_append(dev, build_q35_osc_method());
}
@@ -2125,36 +2126,63 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
sb_scope = aml_scope("\\_SB");
{
Object *pci_host;
+ QObject *o;
PCIBus *bus = NULL;
+ uint32_t domain_nr;
+ uint8_t bus_nr;
+ int index = 0;
pci_host = acpi_get_i386_pci_host();
- if (pci_host) {
+ while (pci_host) {
+ Object *obj = object_property_get_link(pci_host,
+ PROP_PXB_PCIE_DEV, NULL);
+ if (!obj) {
+ /* we are in q35 host */
+ obj = pci_host;
+ }
+ o = object_property_get_qobject(obj, PROP_PXB_PCIE_DOMAIN_NR, NULL);
+ assert(o);
+ domain_nr = qnum_get_uint(qobject_to(QNum, o));
+ qobject_unref(o);
+
+ o = object_property_get_qobject(pci_host, "bus_nr", NULL);
+ if (!o) {
+ /* we are in q35 host */
+ bus_nr = 0;
+ } else {
+ bus_nr = qnum_get_uint(qobject_to(QNum, o));
+ qobject_unref(o);
+ }
+
bus = PCI_HOST_BRIDGE(pci_host)->bus;
- }
+ if (bus) {
+ Aml *scope = aml_scope("PCI%d", index);
+ aml_append(scope, aml_name_decl("_SEG", aml_int(domain_nr)));
+ aml_append(scope, aml_name_decl("_BBN", aml_int(bus_nr)));
+ /* Scan all PCI buses. Generate tables to support hotplug. */
+ build_append_pci_bus_devices(scope, bus, pm->pcihp_bridge_en);
- if (bus) {
- Aml *scope = aml_scope("PCI0");
- /* Scan all PCI buses. Generate tables to support hotplug. */
- build_append_pci_bus_devices(scope, bus, pm->pcihp_bridge_en);
+ /* Only add TPM once */
+ if (index++ == 0 && TPM_IS_TIS(tpm_find())) {
+ dev = aml_device("ISA.TPM");
+ aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0C31")));
+ aml_append(dev, aml_name_decl("_STA", aml_int(0xF)));
+ crs = aml_resource_template();
+ aml_append(crs, aml_memory32_fixed(TPM_TIS_ADDR_BASE,
+ TPM_TIS_ADDR_SIZE, AML_READ_WRITE));
+ /*
+ FIXME: TPM_TIS_IRQ=5 conflicts with PNP0C0F irqs,
+ Rewrite to take IRQ from TPM device model and
+ fix default IRQ value there to use some unused IRQ
+ */
+ /* aml_append(crs, aml_irq_no_flags(TPM_TIS_IRQ)); */
+ aml_append(dev, aml_name_decl("_CRS", crs));
+ aml_append(scope, dev);
+ }
- if (TPM_IS_TIS(tpm_find())) {
- dev = aml_device("ISA.TPM");
- aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0C31")));
- aml_append(dev, aml_name_decl("_STA", aml_int(0xF)));
- crs = aml_resource_template();
- aml_append(crs, aml_memory32_fixed(TPM_TIS_ADDR_BASE,
- TPM_TIS_ADDR_SIZE, AML_READ_WRITE));
- /*
- FIXME: TPM_TIS_IRQ=5 conflicts with PNP0C0F irqs,
- Rewrite to take IRQ from TPM device model and
- fix default IRQ value there to use some unused IRQ
- */
- /* aml_append(crs, aml_irq_no_flags(TPM_TIS_IRQ)); */
- aml_append(dev, aml_name_decl("_CRS", crs));
- aml_append(scope, dev);
+ aml_append(sb_scope, scope);
}
-
- aml_append(sb_scope, scope);
+ pci_host = OBJECT(QTAILQ_NEXT(PCI_HOST_BRIDGE(pci_host), next));
}
}
--
2.7.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [RFC v3 4/6] pci_expander_bridge: Add config_read callback
2018-08-02 2:45 [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain Zihan Yang
` (2 preceding siblings ...)
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 3/6] i386/acpi-build: describe new pci domain in AML Zihan Yang
@ 2018-08-02 2:45 ` Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 5/6] pci_expander_bridge: Add ioport for pxb host bus Zihan Yang
` (4 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Zihan Yang @ 2018-08-02 2:45 UTC (permalink / raw)
To: qemu-devel; +Cc: Zihan Yang, Michael S. Tsirkin, Marcel Apfelbaum
This allows SeaBIOS to retrieve MCFG base and size when it initializes
pxb host bridges.
A backlink to PXBPCIEHost is added in PXBDev to achieve above goal
Signed-off-by: Zihan Yang <whois.zihan.yang@gmail.com>
---
hw/pci-bridge/pci_expander_bridge.c | 55 +++++++++++++++++++++++++++++
include/hw/pci-bridge/pci_expander_bridge.h | 1 +
2 files changed, 56 insertions(+)
diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expander_bridge.c
index f50938f..cdfdb90 100644
--- a/hw/pci-bridge/pci_expander_bridge.c
+++ b/hw/pci-bridge/pci_expander_bridge.c
@@ -49,11 +49,18 @@ typedef struct PXBBus {
#define PROP_PXB_PCIE_MAX_BUS "max_bus"
#define PROP_PXB_NUMA_NODE "numa_node"
+typedef struct PXBPCIEHost PXBPCIEHost;
+typedef struct PXBDev PXBDev;
+
typedef struct PXBDev {
/*< private >*/
PCIDevice parent_obj;
/*< public >*/
+ /* backlink to PXBPCIEHost, this makes it easier to get
+ * mcfg properties in pxb-pcie-host bridge */
+ PXBPCIEHost *pxbhost;
+
uint32_t domain_nr; /* PCI domain number, non-zero means separate domain */
uint8_t max_bus; /* max bus number to use(including this one) */
uint8_t bus_nr;
@@ -342,9 +349,15 @@ static void pxb_dev_realize_common(PCIDevice *dev, bool pcie, Error **errp)
if (pcie) {
g_assert (pxb->max_bus >= pxb->bus_nr);
ds = qdev_create(NULL, TYPE_PXB_PCIE_HOST);
+ /* attach it under /machine, so that we can resolve a valid path in
+ * object_property_set_link below */
+ object_property_add_child(qdev_get_machine(), "pxb-pcie-host[*]", OBJECT(ds), NULL);
+ /* set link and backlink between PXBPCIEHost and PXBDev */
object_property_set_link(OBJECT(ds), OBJECT(pxb),
PROP_PXB_PCIE_DEV, errp);
+ object_property_set_link(OBJECT(pxb), OBJECT(ds),
+ PROP_PXB_PCIE_HOST, errp);
/* will be overwritten by firmware, but kept for readability */
qdev_prop_set_uint64(ds, PCIE_HOST_MCFG_BASE,
@@ -413,6 +426,36 @@ static void pxb_dev_exitfn(PCIDevice *pci_dev)
pxb_dev_list = g_list_remove(pxb_dev_list, pxb);
}
+static uint32_t pxb_pcie_config_read(PCIDevice *d, uint32_t address, int len)
+{
+ PXBDev *pxb = convert_to_pxb(d);
+ uint32_t val;
+ Object *host;
+
+ switch (address) {
+ case MCH_HOST_BRIDGE_PCIEXBAR:
+ host = object_property_get_link(OBJECT(pxb), PROP_PXB_PCIE_HOST, NULL);
+ assert(host);
+ val = object_property_get_uint(host, PCIE_HOST_MCFG_BASE, NULL) & 0xFFFFFFFF;
+ break;
+ case MCH_HOST_BRIDGE_PCIEXBAR + 4:
+ host = object_property_get_link(OBJECT(pxb), PROP_PXB_PCIE_HOST, NULL);
+ assert(host);
+ val = (object_property_get_uint(host, PCIE_HOST_MCFG_BASE, NULL) >> 32) & 0xFFFFFFFF;
+ break;
+ case MCH_HOST_BRIDGE_PCIEXBAR + 8: // Fix me!
+ host = object_property_get_link(OBJECT(pxb), PROP_PXB_PCIE_HOST, NULL);
+ assert(host);
+ val = object_property_get_uint(host, PCIE_HOST_MCFG_SIZE, NULL) & 0xFFFFFFFF;
+ break;
+ default:
+ val = pci_default_read_config(d, address, len);
+ break;
+ }
+
+ return val;
+}
+
static Property pxb_dev_properties[] = {
/* Note: 0 is not a legal PXB bus number. */
DEFINE_PROP_UINT8(PROP_PXB_BUS_NR, PXBDev, bus_nr, 0),
@@ -447,6 +490,16 @@ static void pxb_dev_class_init(ObjectClass *klass, void *data)
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
}
+static void pxb_pcie_dev_initfn(Object *obj)
+{
+ PXBDev *pxb = PXB_PCIE_DEV(obj);
+
+ /* Add backlink to pxb-pcie-host */
+ object_property_add_link(obj, PROP_PXB_PCIE_HOST, TYPE_PXB_PCIE_HOST,
+ (Object **)&pxb->pxbhost,
+ qdev_prop_allow_set_link_before_realize, 0, NULL);
+}
+
static const TypeInfo pxb_dev_info = {
.name = TYPE_PXB_DEVICE,
.parent = TYPE_PCI_DEVICE,
@@ -478,6 +531,7 @@ static void pxb_pcie_dev_class_init(ObjectClass *klass, void *data)
k->realize = pxb_pcie_dev_realize;
k->exit = pxb_dev_exitfn;
+ k->config_read = pxb_pcie_config_read;
k->vendor_id = PCI_VENDOR_ID_REDHAT;
k->device_id = PCI_DEVICE_ID_REDHAT_PXB_PCIE;
k->class_id = PCI_CLASS_BRIDGE_HOST;
@@ -492,6 +546,7 @@ static const TypeInfo pxb_pcie_dev_info = {
.name = TYPE_PXB_PCIE_DEVICE,
.parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(PXBDev),
+ .instance_init = pxb_pcie_dev_initfn,
.class_init = pxb_pcie_dev_class_init,
.interfaces = (InterfaceInfo[]) {
{ INTERFACE_CONVENTIONAL_PCI_DEVICE },
diff --git a/include/hw/pci-bridge/pci_expander_bridge.h b/include/hw/pci-bridge/pci_expander_bridge.h
index 870c4cd..1119210 100644
--- a/include/hw/pci-bridge/pci_expander_bridge.h
+++ b/include/hw/pci-bridge/pci_expander_bridge.h
@@ -2,6 +2,7 @@
#define HW_PCI_EXPANDER_H
#define PROP_PXB_PCIE_DEV "pxbdev"
+#define PROP_PXB_PCIE_HOST "x-pxb-host"
#define PROP_PXB_PCIE_DOMAIN_NR "domain_nr"
#define PROP_PXB_BUS_NR "bus_nr"
--
2.7.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [RFC v3 5/6] pci_expander_bridge: Add ioport for pxb host bus
2018-08-02 2:45 [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain Zihan Yang
` (3 preceding siblings ...)
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 4/6] pci_expander_bridge: Add config_read callback Zihan Yang
@ 2018-08-02 2:45 ` Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 6/6] pci_expander_bridge: add start_bus property Zihan Yang
` (3 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Zihan Yang @ 2018-08-02 2:45 UTC (permalink / raw)
To: qemu-devel; +Cc: Zihan Yang, Michael S. Tsirkin, Marcel Apfelbaum
This enables seabios to read config file in pxb host bus other than sysbus
Signed-off-by: Zihan Yang <whois.zihan.yang@gmail.com>
---
hw/pci-bridge/pci_expander_bridge.c | 15 +++++++++++++++
include/hw/pci-bridge/pci_expander_bridge.h | 3 +++
2 files changed, 18 insertions(+)
diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expander_bridge.c
index cdfdb90..38212db 100644
--- a/hw/pci-bridge/pci_expander_bridge.c
+++ b/hw/pci-bridge/pci_expander_bridge.c
@@ -226,6 +226,20 @@ static void pxb_pcie_host_initfn(Object *obj)
qdev_prop_allow_set_link_before_realize, 0, NULL);
}
+static void pxb_pcie_host_realize(DeviceState *dev, Error **errp)
+{
+ PCIHostState *pci = PCI_HOST_BRIDGE(dev);
+ SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
+
+ // FIX ME! Use specific port number for pxb-pcie host bridge, not scalable!
+ /* port layout is | pxb1_cmd | pxb1_data | pxb2_cmd | pxb2_data | ... | */
+ sysbus_add_io(sbd, PXB_PCIE_HOST_BRIDGE_CONFIG_ADDR_BASE, &pci->conf_mem);
+ sysbus_init_ioports(sbd, PXB_PCIE_HOST_BRIDGE_CONFIG_ADDR_BASE + g_list_length(pxb_dev_list) * 8, 4);
+
+ sysbus_add_io(sbd, PXB_PCIE_HOST_BRIDGE_CONFIG_DATA_BASE, &pci->data_mem);
+ sysbus_init_ioports(sbd, PXB_PCIE_HOST_BRIDGE_CONFIG_DATA_BASE + g_list_length(pxb_dev_list) * 8, 4);
+}
+
static Property pxb_pcie_host_props[] = {
DEFINE_PROP_UINT64(PCIE_HOST_MCFG_BASE, PXBPCIEHost, parent_obj.base_addr,
PCIE_BASE_ADDR_UNMAPPED),
@@ -254,6 +268,7 @@ static void pxb_pcie_host_class_init(ObjectClass *class, void *data)
dc->fw_name = "pcie";
dc->props = pxb_pcie_host_props;
+ dc->realize = pxb_pcie_host_realize;
/* Reason: Internal part of the pxb/pxb-pcie device, not usable by itself */
dc->user_creatable = false;
sbc->explicit_ofw_unit_address = pxb_host_ofw_unit_address;
diff --git a/include/hw/pci-bridge/pci_expander_bridge.h b/include/hw/pci-bridge/pci_expander_bridge.h
index 1119210..e6d3b67 100644
--- a/include/hw/pci-bridge/pci_expander_bridge.h
+++ b/include/hw/pci-bridge/pci_expander_bridge.h
@@ -7,6 +7,9 @@
#define PROP_PXB_PCIE_DOMAIN_NR "domain_nr"
#define PROP_PXB_BUS_NR "bus_nr"
+#define PXB_PCIE_HOST_BRIDGE_CONFIG_ADDR_BASE 0x1000
+#define PXB_PCIE_HOST_BRIDGE_CONFIG_DATA_BASE 0x1004
+
uint64_t pxb_pcie_mcfg_hole(void);
#endif
--
2.7.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [RFC v3 6/6] pci_expander_bridge: add start_bus property
2018-08-02 2:45 [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain Zihan Yang
` (4 preceding siblings ...)
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 5/6] pci_expander_bridge: Add ioport for pxb host bus Zihan Yang
@ 2018-08-02 2:45 ` Zihan Yang
2018-08-02 4:58 ` [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain no-reply
` (2 subsequent siblings)
8 siblings, 0 replies; 13+ messages in thread
From: Zihan Yang @ 2018-08-02 2:45 UTC (permalink / raw)
To: qemu-devel
Cc: Zihan Yang, Michael S. Tsirkin, Igor Mammedov, Paolo Bonzini,
Richard Henderson, Eduardo Habkost, Marcel Apfelbaum
The former bus_nr property indicates the bus number of pxb-pcie device on
pcie.0 bus, not the Base Bus Number of pxb-pcie host bridge. Use start_bus
property to represent this BBN when building acpi table
Signed-off-by: Zihan Yang <whois.zihan.yang@gmail.com>
---
hw/i386/acpi-build.c | 22 +++++++++++-----------
hw/pci-bridge/pci_expander_bridge.c | 25 ++++++++++++++-----------
include/hw/pci-bridge/pci_expander_bridge.h | 2 +-
3 files changed, 26 insertions(+), 23 deletions(-)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 4b6ef78..874e0fa 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -91,7 +91,7 @@ typedef struct AcpiMcfgInfo {
uint64_t mcfg_base;
uint32_t mcfg_size;
uint32_t domain_nr;
- uint8_t bus_nr; // start bus number
+ uint8_t start_bus; // start bus number
struct AcpiMcfgInfo *next;
} AcpiMcfgInfo;
@@ -2129,7 +2129,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
QObject *o;
PCIBus *bus = NULL;
uint32_t domain_nr;
- uint8_t bus_nr;
+ uint8_t start_bus;
int index = 0;
pci_host = acpi_get_i386_pci_host();
@@ -2145,12 +2145,12 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
domain_nr = qnum_get_uint(qobject_to(QNum, o));
qobject_unref(o);
- o = object_property_get_qobject(pci_host, "bus_nr", NULL);
+ o = object_property_get_qobject(pci_host, "start_bus", NULL);
if (!o) {
/* we are in q35 host */
- bus_nr = 0;
+ start_bus = 0;
} else {
- bus_nr = qnum_get_uint(qobject_to(QNum, o));
+ start_bus = qnum_get_uint(qobject_to(QNum, o));
qobject_unref(o);
}
@@ -2158,7 +2158,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
if (bus) {
Aml *scope = aml_scope("PCI%d", index);
aml_append(scope, aml_name_decl("_SEG", aml_int(domain_nr)));
- aml_append(scope, aml_name_decl("_BBN", aml_int(bus_nr)));
+ aml_append(scope, aml_name_decl("_BBN", aml_int(start_bus)));
/* Scan all PCI buses. Generate tables to support hotplug. */
build_append_pci_bus_devices(scope, bus, pm->pcihp_bridge_en);
@@ -2486,8 +2486,8 @@ build_mcfg_q35(GArray *table_data, BIOSLinker *linker, AcpiMcfgInfo *info)
while (info) {
mcfg[count].allocation[0].address = cpu_to_le64(info->mcfg_base);
mcfg[count].allocation[0].pci_segment = cpu_to_le16(info->domain_nr);
- mcfg[count].allocation[0].start_bus_number = info->bus_nr;
- mcfg[count++].allocation[0].end_bus_number = info->bus_nr + \
+ mcfg[count].allocation[0].start_bus_number = info->start_bus;
+ mcfg[count++].allocation[0].end_bus_number = info->start_bus + \
PCIE_MMCFG_BUS(info->mcfg_size - 1);
info = info->next;
}
@@ -2710,12 +2710,12 @@ static AcpiMcfgInfo *acpi_get_mcfg(void)
mcfg->mcfg_size = qnum_get_uint(qobject_to(QNum, o));
qobject_unref(o);
- o = object_property_get_qobject(obj, PROP_PXB_BUS_NR, NULL);
+ o = object_property_get_qobject(obj, PROP_PXB_PCIE_START_BUS, NULL);
if (!o) {
/* we are in q35 host again */
- mcfg->bus_nr = 0;
+ mcfg->start_bus = 0;
} else {
- mcfg->bus_nr = qnum_get_uint(qobject_to(QNum, o));
+ mcfg->start_bus = qnum_get_uint(qobject_to(QNum, o));
qobject_unref(o);
}
diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expander_bridge.c
index 38212db..85630ff 100644
--- a/hw/pci-bridge/pci_expander_bridge.c
+++ b/hw/pci-bridge/pci_expander_bridge.c
@@ -46,6 +46,7 @@ typedef struct PXBBus {
#define TYPE_PXB_PCIE_DEVICE "pxb-pcie"
#define PXB_PCIE_DEV(obj) OBJECT_CHECK(PXBDev, (obj), TYPE_PXB_PCIE_DEVICE)
+#define PROP_PXB_BUS_NR "bus_nr"
#define PROP_PXB_PCIE_MAX_BUS "max_bus"
#define PROP_PXB_NUMA_NODE "numa_node"
@@ -62,8 +63,9 @@ typedef struct PXBDev {
PXBPCIEHost *pxbhost;
uint32_t domain_nr; /* PCI domain number, non-zero means separate domain */
+ uint8_t start_bus; /* indicates the BBN of pxb-pcie-host bridge */
uint8_t max_bus; /* max bus number to use(including this one) */
- uint8_t bus_nr;
+ uint8_t bus_nr; /* bus number of pxb-pcie device on pcei.0 bus */
uint16_t numa_node;
} PXBDev;
@@ -137,8 +139,8 @@ static void pxb_pcie_foreach(gpointer data, gpointer user_data)
if (pxb->domain_nr > 0) {
/* only reserve what users ask for to reduce memory cost. Plus one
- * as the interval [bus_nr, max_bus] has (max_bus-bus_nr+1) buses */
- pxb_mcfg_hole_size += ((pxb->max_bus - pxb->bus_nr + 1ULL) * MiB);
+ * as the interval [start_bus, max_bus] has (max_bus-start_bus+1) buses */
+ pxb_mcfg_hole_size += ((pxb->max_bus - pxb->start_bus + 1ULL) * MiB);
}
}
@@ -333,11 +335,11 @@ static gint pxb_compare(gconstpointer a, gconstpointer b)
{
const PXBDev *pxb_a = a, *pxb_b = b;
- /* check domain_nr, then bus_nr */
+ /* check domain_nr, then start_bus */
return pxb_a->domain_nr < pxb_b->domain_nr ? -1 :
pxb_a->domain_nr > pxb_b->domain_nr ? 1 :
- pxb_a->bus_nr < pxb_b->bus_nr ? -1 :
- pxb_a->bus_nr > pxb_b->bus_nr ? 1 :
+ pxb_a->start_bus < pxb_b->start_bus ? -1 :
+ pxb_a->start_bus > pxb_b->start_bus ? 1 :
0;
}
@@ -362,7 +364,7 @@ static void pxb_dev_realize_common(PCIDevice *dev, bool pcie, Error **errp)
}
if (pcie) {
- g_assert (pxb->max_bus >= pxb->bus_nr);
+ g_assert (pxb->max_bus >= pxb->start_bus);
ds = qdev_create(NULL, TYPE_PXB_PCIE_HOST);
/* attach it under /machine, so that we can resolve a valid path in
* object_property_set_link below */
@@ -377,9 +379,9 @@ static void pxb_dev_realize_common(PCIDevice *dev, bool pcie, Error **errp)
/* will be overwritten by firmware, but kept for readability */
qdev_prop_set_uint64(ds, PCIE_HOST_MCFG_BASE,
pxb->domain_nr ? pxb_pcie_mcfg_base : MCH_HOST_BRIDGE_PCIEXBAR_DEFAULT);
- /* +1 because [bus_nr, max_bus] has (max_bus-bus_nr+1) buses */
+ /* +1 because [start_bus, max_bus] has (max_bus-start_bus+1) buses */
qdev_prop_set_uint64(ds, PCIE_HOST_MCFG_SIZE,
- pxb->domain_nr ? (pxb->max_bus - pxb->bus_nr + 1ULL) * MiB : 0);
+ pxb->domain_nr ? (pxb->max_bus - pxb->start_bus + 1ULL) * MiB : 0);
if (pxb->domain_nr)
pxb_pcie_mcfg_base += ((pxb->max_bus + 1ULL) * MiB);
@@ -389,7 +391,7 @@ static void pxb_dev_realize_common(PCIDevice *dev, bool pcie, Error **errp)
bus = pci_root_bus_new(ds, "pxb-internal", NULL, NULL, 0, TYPE_PXB_BUS);
bds = qdev_create(BUS(bus), "pci-bridge");
bds->id = dev_name;
- qdev_prop_set_uint8(bds, PCI_BRIDGE_DEV_PROP_CHASSIS_NR, pxb->bus_nr);
+ qdev_prop_set_uint8(bds, PCI_BRIDGE_DEV_PROP_CHASSIS_NR, pxb->start_bus);
qdev_prop_set_bit(bds, PCI_BRIDGE_DEV_PROP_SHPC, false);
}
@@ -482,7 +484,8 @@ static Property pxb_pcie_dev_properties[] = {
DEFINE_PROP_UINT8(PROP_PXB_BUS_NR, PXBDev, bus_nr, 0),
DEFINE_PROP_UINT16(PROP_PXB_NUMA_NODE, PXBDev, numa_node, NUMA_NODE_UNASSIGNED),
DEFINE_PROP_UINT32(PROP_PXB_PCIE_DOMAIN_NR, PXBDev, domain_nr, 0),
- /* set a small default value, bus interval is [bus_nr, max_bus] */
+ DEFINE_PROP_UINT8(PROP_PXB_PCIE_START_BUS, PXBDev, start_bus, 0),
+ /* set a small default value, bus interval is [start_bus, max_bus] */
DEFINE_PROP_UINT8(PROP_PXB_PCIE_MAX_BUS, PXBDev, max_bus, 16),
DEFINE_PROP_END_OF_LIST(),
diff --git a/include/hw/pci-bridge/pci_expander_bridge.h b/include/hw/pci-bridge/pci_expander_bridge.h
index e6d3b67..54b050c 100644
--- a/include/hw/pci-bridge/pci_expander_bridge.h
+++ b/include/hw/pci-bridge/pci_expander_bridge.h
@@ -5,7 +5,7 @@
#define PROP_PXB_PCIE_HOST "x-pxb-host"
#define PROP_PXB_PCIE_DOMAIN_NR "domain_nr"
-#define PROP_PXB_BUS_NR "bus_nr"
+#define PROP_PXB_PCIE_START_BUS "start_bus"
#define PXB_PCIE_HOST_BRIDGE_CONFIG_ADDR_BASE 0x1000
#define PXB_PCIE_HOST_BRIDGE_CONFIG_DATA_BASE 0x1004
--
2.7.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain
2018-08-02 2:45 [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain Zihan Yang
` (5 preceding siblings ...)
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 6/6] pci_expander_bridge: add start_bus property Zihan Yang
@ 2018-08-02 4:58 ` no-reply
2018-08-02 5:01 ` no-reply
2018-08-02 5:23 ` no-reply
8 siblings, 0 replies; 13+ messages in thread
From: no-reply @ 2018-08-02 4:58 UTC (permalink / raw)
To: whois.zihan.yang; +Cc: famz, qemu-devel
Hi,
This series seems to have some coding style problems. See output below for
more information:
Type: series
Message-id: 1533177924-24765-1-git-send-email-whois.zihan.yang@gmail.com
Subject: [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain
=== 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
git config --local diff.algorithm histogram
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'
453612f703 pci_expander_bridge: add start_bus property
7e0df5e261 pci_expander_bridge: Add ioport for pxb host bus
a20115d9f1 pci_expander_bridge: Add config_read callback
05844a4f35 i386/acpi-build: describe new pci domain in AML
97e32a9b49 acpi-build: allocate mcfg for pxb-pcie host bridges
0fd3d73fc5 pci_expander_bridge: add type TYPE_PXB_PCIE_HOST
=== OUTPUT BEGIN ===
Checking PATCH 1/6: pci_expander_bridge: add type TYPE_PXB_PCIE_HOST...
WARNING: line over 80 characters
#92: FILE: hw/pci-bridge/pci_expander_bridge.c:156:
+static void pxb_pcie_host_get_mmcfg_size(Object *obj, Visitor *v, const char *name,
ERROR: space prohibited between function name and open parenthesis '('
#188: FILE: hw/pci-bridge/pci_expander_bridge.c:332:
+ g_assert (pxb->max_bus >= pxb->bus_nr);
WARNING: line over 80 characters
#207: FILE: hw/pci-bridge/pci_expander_bridge.c:399:
+ DEFINE_PROP_UINT16(PROP_PXB_NUMA_NODE, PXBDev, numa_node, NUMA_NODE_UNASSIGNED),
WARNING: line over 80 characters
#213: FILE: hw/pci-bridge/pci_expander_bridge.c:405:
+ DEFINE_PROP_UINT16(PROP_PXB_NUMA_NODE, PXBDev, numa_node, NUMA_NODE_UNASSIGNED),
total: 1 errors, 3 warnings, 211 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 2/6: acpi-build: allocate mcfg for pxb-pcie host bridges...
ERROR: do not use C99 // comments
#34: FILE: hw/i386/acpi-build.c:94:
+ uint8_t bus_nr; // start bus number
ERROR: do not use assignment in if condition
#189: FILE: hw/i386/acpi-build.c:2790:
+ if ((mcfg = acpi_get_mcfg()) != NULL) {
ERROR: do not initialise statics to 0 or NULL
#278: FILE: hw/pci-bridge/pci_expander_bridge.c:125:
+static uint64_t pxb_mcfg_hole_size = 0;
WARNING: line over 80 characters
#353: FILE: hw/pci-bridge/pci_expander_bridge.c:351:
+ pxb->domain_nr ? pxb_pcie_mcfg_base : MCH_HOST_BRIDGE_PCIEXBAR_DEFAULT);
ERROR: braces {} are necessary for all arms of this statement
#357: FILE: hw/pci-bridge/pci_expander_bridge.c:355:
+ if (pxb->domain_nr)
[...]
ERROR: braces {} are necessary for all arms of this statement
#366: FILE: hw/pci-bridge/pci_expander_bridge.c:468:
+ if (0 == pxb_pcie_mcfg_base)
[...]
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#439:
new file mode 100644
total: 5 errors, 2 warnings, 399 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 3/6: i386/acpi-build: describe new pci domain in AML...
ERROR: do not use C99 // comments
#28: FILE: hw/i386/acpi-build.c:1879:
+ i = 1; // PCI0 is q35 host, pxb starts from 1
WARNING: line over 80 characters
#111: FILE: hw/i386/acpi-build.c:2168:
+ aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0C31")));
total: 1 errors, 1 warnings, 112 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 4/6: pci_expander_bridge: Add config_read callback...
ERROR: line over 90 characters
#43: FILE: hw/pci-bridge/pci_expander_bridge.c:354:
+ object_property_add_child(qdev_get_machine(), "pxb-pcie-host[*]", OBJECT(ds), NULL);
ERROR: switch and case should be at the same indent
#63: FILE: hw/pci-bridge/pci_expander_bridge.c:435:
+ switch (address) {
+ case MCH_HOST_BRIDGE_PCIEXBAR:
[...]
+ case MCH_HOST_BRIDGE_PCIEXBAR + 4:
[...]
+ case MCH_HOST_BRIDGE_PCIEXBAR + 8: // Fix me!
[...]
+ default:
WARNING: line over 80 characters
#67: FILE: hw/pci-bridge/pci_expander_bridge.c:439:
+ val = object_property_get_uint(host, PCIE_HOST_MCFG_BASE, NULL) & 0xFFFFFFFF;
ERROR: line over 90 characters
#72: FILE: hw/pci-bridge/pci_expander_bridge.c:444:
+ val = (object_property_get_uint(host, PCIE_HOST_MCFG_BASE, NULL) >> 32) & 0xFFFFFFFF;
ERROR: do not use C99 // comments
#74: FILE: hw/pci-bridge/pci_expander_bridge.c:446:
+ case MCH_HOST_BRIDGE_PCIEXBAR + 8: // Fix me!
WARNING: line over 80 characters
#77: FILE: hw/pci-bridge/pci_expander_bridge.c:449:
+ val = object_property_get_uint(host, PCIE_HOST_MCFG_SIZE, NULL) & 0xFFFFFFFF;
total: 4 errors, 2 warnings, 106 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 5/6: pci_expander_bridge: Add ioport for pxb host bus...
ERROR: do not use C99 // comments
#24: FILE: hw/pci-bridge/pci_expander_bridge.c:234:
+ // FIX ME! Use specific port number for pxb-pcie host bridge, not scalable!
ERROR: line over 90 characters
#27: FILE: hw/pci-bridge/pci_expander_bridge.c:237:
+ sysbus_init_ioports(sbd, PXB_PCIE_HOST_BRIDGE_CONFIG_ADDR_BASE + g_list_length(pxb_dev_list) * 8, 4);
ERROR: line over 90 characters
#30: FILE: hw/pci-bridge/pci_expander_bridge.c:240:
+ sysbus_init_ioports(sbd, PXB_PCIE_HOST_BRIDGE_CONFIG_DATA_BASE + g_list_length(pxb_dev_list) * 8, 4);
total: 3 errors, 0 warnings, 36 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 6/6: pci_expander_bridge: add start_bus property...
ERROR: do not use C99 // comments
#22: FILE: hw/i386/acpi-build.c:94:
+ uint8_t start_bus; // start bus number
WARNING: line over 80 characters
#116: FILE: hw/pci-bridge/pci_expander_bridge.c:142:
+ * as the interval [start_bus, max_bus] has (max_bus-start_bus+1) buses */
ERROR: space prohibited between function name and open parenthesis '('
#141: FILE: hw/pci-bridge/pci_expander_bridge.c:367:
+ g_assert (pxb->max_bus >= pxb->start_bus);
WARNING: line over 80 characters
#162: FILE: hw/pci-bridge/pci_expander_bridge.c:394:
+ qdev_prop_set_uint8(bds, PCI_BRIDGE_DEV_PROP_CHASSIS_NR, pxb->start_bus);
total: 2 errors, 2 warnings, 149 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.
=== OUTPUT END ===
Test command exited with code: 1
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain
2018-08-02 2:45 [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain Zihan Yang
` (6 preceding siblings ...)
2018-08-02 4:58 ` [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain no-reply
@ 2018-08-02 5:01 ` no-reply
2018-08-02 5:23 ` no-reply
8 siblings, 0 replies; 13+ messages in thread
From: no-reply @ 2018-08-02 5:01 UTC (permalink / raw)
To: whois.zihan.yang; +Cc: famz, qemu-devel
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: 1533177924-24765-1-git-send-email-whois.zihan.yang@gmail.com
Subject: [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain
=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-mingw@fedora SHOW_ENV=1 J=8
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
453612f703 pci_expander_bridge: add start_bus property
7e0df5e261 pci_expander_bridge: Add ioport for pxb host bus
a20115d9f1 pci_expander_bridge: Add config_read callback
05844a4f35 i386/acpi-build: describe new pci domain in AML
97e32a9b49 acpi-build: allocate mcfg for pxb-pcie host bridges
0fd3d73fc5 pci_expander_bridge: add type TYPE_PXB_PCIE_HOST
=== OUTPUT BEGIN ===
BUILD fedora
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-zotc4hms/src'
GEN /var/tmp/patchew-tester-tmp-zotc4hms/src/docker-src.2018-08-02-00.59.02.6989/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-zotc4hms/src/docker-src.2018-08-02-00.59.02.6989/qemu.tar.vroot'...
done.
Checking out files: 42% (2687/6322)
Checking out files: 43% (2719/6322)
Checking out files: 44% (2782/6322)
Checking out files: 45% (2845/6322)
Checking out files: 46% (2909/6322)
Checking out files: 47% (2972/6322)
Checking out files: 48% (3035/6322)
Checking out files: 49% (3098/6322)
Checking out files: 50% (3161/6322)
Checking out files: 51% (3225/6322)
Checking out files: 52% (3288/6322)
Checking out files: 53% (3351/6322)
Checking out files: 53% (3366/6322)
Checking out files: 54% (3414/6322)
Checking out files: 55% (3478/6322)
Checking out files: 56% (3541/6322)
Checking out files: 57% (3604/6322)
Checking out files: 58% (3667/6322)
Checking out files: 59% (3730/6322)
Checking out files: 60% (3794/6322)
Checking out files: 61% (3857/6322)
Checking out files: 62% (3920/6322)
Checking out files: 63% (3983/6322)
Checking out files: 64% (4047/6322)
Checking out files: 65% (4110/6322)
Checking out files: 66% (4173/6322)
Checking out files: 67% (4236/6322)
Checking out files: 68% (4299/6322)
Checking out files: 69% (4363/6322)
Checking out files: 70% (4426/6322)
Checking out files: 71% (4489/6322)
Checking out files: 72% (4552/6322)
Checking out files: 73% (4616/6322)
Checking out files: 74% (4679/6322)
Checking out files: 75% (4742/6322)
Checking out files: 76% (4805/6322)
Checking out files: 77% (4868/6322)
Checking out files: 78% (4932/6322)
Checking out files: 79% (4995/6322)
Checking out files: 80% (5058/6322)
Checking out files: 81% (5121/6322)
Checking out files: 82% (5185/6322)
Checking out files: 83% (5248/6322)
Checking out files: 84% (5311/6322)
Checking out files: 85% (5374/6322)
Checking out files: 86% (5437/6322)
Checking out files: 87% (5501/6322)
Checking out files: 88% (5564/6322)
Checking out files: 89% (5627/6322)
Checking out files: 90% (5690/6322)
Checking out files: 91% (5754/6322)
Checking out files: 92% (5817/6322)
Checking out files: 93% (5880/6322)
Checking out files: 94% (5943/6322)
Checking out files: 95% (6006/6322)
Checking out files: 96% (6070/6322)
Checking out files: 97% (6133/6322)
Checking out files: 98% (6196/6322)
Checking out files: 99% (6259/6322)
Checking out files: 100% (6322/6322)
Checking out files: 100% (6322/6322), 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-zotc4hms/src/docker-src.2018-08-02-00.59.02.6989/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-zotc4hms/src/docker-src.2018-08-02-00.59.02.6989/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
COPY RUNNER
RUN test-mingw in qemu:fedora
Packages installed:
SDL2-devel-2.0.8-5.fc28.x86_64
bc-1.07.1-5.fc28.x86_64
bison-3.0.4-9.fc28.x86_64
bluez-libs-devel-5.49-3.fc28.x86_64
brlapi-devel-0.6.7-12.fc28.x86_64
bzip2-1.0.6-26.fc28.x86_64
bzip2-devel-1.0.6-26.fc28.x86_64
ccache-3.4.2-2.fc28.x86_64
clang-6.0.0-5.fc28.x86_64
device-mapper-multipath-devel-0.7.4-2.git07e7bd5.fc28.x86_64
findutils-4.6.0-19.fc28.x86_64
flex-2.6.1-7.fc28.x86_64
gcc-8.1.1-1.fc28.x86_64
gcc-c++-8.1.1-1.fc28.x86_64
gettext-0.19.8.1-14.fc28.x86_64
git-2.17.1-2.fc28.x86_64
glib2-devel-2.56.1-3.fc28.x86_64
glusterfs-api-devel-4.0.2-1.fc28.x86_64
gnutls-devel-3.6.2-1.fc28.x86_64
gtk3-devel-3.22.30-1.fc28.x86_64
hostname-3.20-3.fc28.x86_64
libaio-devel-0.3.110-11.fc28.x86_64
libasan-8.1.1-1.fc28.x86_64
libattr-devel-2.4.47-23.fc28.x86_64
libcap-devel-2.25-9.fc28.x86_64
libcap-ng-devel-0.7.9-1.fc28.x86_64
libcurl-devel-7.59.0-3.fc28.x86_64
libfdt-devel-1.4.6-4.fc28.x86_64
libpng-devel-1.6.34-3.fc28.x86_64
librbd-devel-12.2.5-1.fc28.x86_64
libssh2-devel-1.8.0-7.fc28.x86_64
libubsan-8.1.1-1.fc28.x86_64
libusbx-devel-1.0.21-6.fc28.x86_64
libxml2-devel-2.9.7-4.fc28.x86_64
llvm-6.0.0-11.fc28.x86_64
lzo-devel-2.08-12.fc28.x86_64
make-4.2.1-6.fc28.x86_64
mingw32-SDL2-2.0.5-3.fc27.noarch
mingw32-bzip2-1.0.6-9.fc27.noarch
mingw32-curl-7.57.0-1.fc28.noarch
mingw32-glib2-2.54.1-1.fc28.noarch
mingw32-gmp-6.1.2-2.fc27.noarch
mingw32-gnutls-3.5.13-2.fc27.noarch
mingw32-gtk3-3.22.16-1.fc27.noarch
mingw32-libjpeg-turbo-1.5.1-3.fc27.noarch
mingw32-libpng-1.6.29-2.fc27.noarch
mingw32-libssh2-1.8.0-3.fc27.noarch
mingw32-libtasn1-4.13-1.fc28.noarch
mingw32-nettle-3.3-3.fc27.noarch
mingw32-pixman-0.34.0-3.fc27.noarch
mingw32-pkg-config-0.28-9.fc27.x86_64
mingw64-SDL2-2.0.5-3.fc27.noarch
mingw64-bzip2-1.0.6-9.fc27.noarch
mingw64-curl-7.57.0-1.fc28.noarch
mingw64-glib2-2.54.1-1.fc28.noarch
mingw64-gmp-6.1.2-2.fc27.noarch
mingw64-gnutls-3.5.13-2.fc27.noarch
mingw64-gtk3-3.22.16-1.fc27.noarch
mingw64-libjpeg-turbo-1.5.1-3.fc27.noarch
mingw64-libpng-1.6.29-2.fc27.noarch
mingw64-libssh2-1.8.0-3.fc27.noarch
mingw64-libtasn1-4.13-1.fc28.noarch
mingw64-nettle-3.3-3.fc27.noarch
mingw64-pixman-0.34.0-3.fc27.noarch
mingw64-pkg-config-0.28-9.fc27.x86_64
ncurses-devel-6.1-5.20180224.fc28.x86_64
nettle-devel-3.4-2.fc28.x86_64
nss-devel-3.36.1-1.1.fc28.x86_64
numactl-devel-2.0.11-8.fc28.x86_64
package PyYAML is not installed
package libjpeg-devel is not installed
perl-5.26.2-411.fc28.x86_64
pixman-devel-0.34.0-8.fc28.x86_64
python3-3.6.5-1.fc28.x86_64
snappy-devel-1.1.7-5.fc28.x86_64
sparse-0.5.2-1.fc28.x86_64
spice-server-devel-0.14.0-4.fc28.x86_64
systemtap-sdt-devel-3.2-11.fc28.x86_64
tar-1.30-3.fc28.x86_64
usbredir-devel-0.7.1-7.fc28.x86_64
virglrenderer-devel-0.6.0-4.20170210git76b3da97b.fc28.x86_64
vte3-devel-0.36.5-6.fc28.x86_64
which-2.21-8.fc28.x86_64
xen-devel-4.10.1-3.fc28.x86_64
zlib-devel-1.2.11-8.fc28.x86_64
Environment variables:
TARGET_LIST=
PACKAGES=ccache gettext git tar PyYAML sparse flex bison python3 bzip2 hostname gcc gcc-c++ llvm clang make perl which bc findutils glib2-devel libaio-devel pixman-devel zlib-devel libfdt-devel libasan libubsan bluez-libs-devel brlapi-devel bzip2-devel device-mapper-multipath-devel glusterfs-api-devel gnutls-devel gtk3-devel libattr-devel libcap-devel libcap-ng-devel libcurl-devel libjpeg-devel libpng-devel librbd-devel libssh2-devel libusbx-devel libxml2-devel lzo-devel ncurses-devel nettle-devel nss-devel numactl-devel SDL2-devel snappy-devel spice-server-devel systemtap-sdt-devel usbredir-devel virglrenderer-devel vte3-devel xen-devel mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL2 mingw32-pkg-config 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-SDL2 mingw64-pkg-config mingw64-gtk3 mingw64-gnutls mingw64-nettle mingw64-libtasn1 mingw64-libjpeg-turbo mingw64-libpng mingw64-curl mingw64-libssh2 mingw64-bzip2
J=8
V=
HOSTNAME=187c31620212
DEBUG=
SHOW_ENV=1
PWD=/
HOME=/
CCACHE_DIR=/var/tmp/ccache
DISTTAG=f28container
QEMU_CONFIGURE_OPTS=--python=/usr/bin/python3
FGC=f28
TEST_DIR=/tmp/qemu-test
SHLVL=1
FEATURES=mingw clang pyyaml asan dtc
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAKEFLAGS= -j8
EXTRA_CONFIGURE_OPTS=
_=/usr/bin/env
Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install --python=/usr/bin/python3 --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=2.0 --with-gtkabi=3.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 -DHAS_LIBSSH2_SFTP_FSYNC -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 -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/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
QEMU_LDFLAGS -L$(BUILD_DIR)/dtc/libfdt
make make
install install
python /usr/bin/python3 -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 (2.0.5)
GTK support yes (3.22.16)
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
WHPX support no
TCG support yes
TCG debug enabled no
TCG interpreter no
malloc trim support no
RDMA support no
fdt support git
membarrier no
preadv support no
fdatasync no
madvise no
posix_madvise no
posix_memalign no
libcap-ng support no
vhost-net support no
vhost-crypto 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
mutex debugging 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
docker no
NOTE: cross-compilers enabled: 'x86_64-w64-mingw32-gcc'
GEN config-host.h
GEN x86_64-softmmu/config-devices.mak.tmp
GEN aarch64-softmmu/config-devices.mak.tmp
GEN qemu-options.def
GEN qapi-gen
GEN trace/generated-helpers-wrappers.h
GEN trace/generated-tcg-tracers.h
GEN trace/generated-helpers.h
GEN trace/generated-helpers.c
GEN module_block.h
GEN x86_64-softmmu/config-devices.mak
GEN aarch64-softmmu/config-devices.mak
GEN ui/input-keymap-atset1-to-qcode.c
GEN ui/input-keymap-qcode-to-atset1.c
GEN ui/input-keymap-linux-to-qcode.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-usb-to-qcode.c
GEN ui/input-keymap-qnum-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 ui/input-keymap-osx-to-qcode.c
GEN tests/test-qapi-gen
GEN trace-root.h
GEN accel/kvm/trace.h
GEN accel/tcg/trace.h
GEN audio/trace.h
GEN block/trace.h
GEN chardev/trace.h
GEN crypto/trace.h
GEN hw/9pfs/trace.h
GEN hw/acpi/trace.h
GEN hw/alpha/trace.h
GEN hw/arm/trace.h
GEN hw/audio/trace.h
GEN hw/block/trace.h
GEN hw/block/dataplane/trace.h
GEN hw/char/trace.h
GEN hw/display/trace.h
GEN hw/dma/trace.h
GEN hw/hppa/trace.h
GEN hw/i2c/trace.h
GEN hw/i386/trace.h
GEN hw/i386/xen/trace.h
GEN hw/ide/trace.h
GEN hw/input/trace.h
GEN hw/intc/trace.h
GEN hw/isa/trace.h
GEN hw/mem/trace.h
GEN hw/misc/trace.h
GEN hw/misc/macio/trace.h
GEN hw/net/trace.h
GEN hw/nvram/trace.h
GEN hw/pci/trace.h
GEN hw/pci-host/trace.h
GEN hw/ppc/trace.h
GEN hw/rdma/trace.h
GEN hw/rdma/vmw/trace.h
GEN hw/s390x/trace.h
GEN hw/scsi/trace.h
GEN hw/sd/trace.h
GEN hw/sparc/trace.h
GEN hw/sparc64/trace.h
GEN hw/timer/trace.h
GEN hw/tpm/trace.h
GEN hw/usb/trace.h
GEN hw/vfio/trace.h
GEN hw/virtio/trace.h
GEN hw/xen/trace.h
GEN io/trace.h
GEN linux-user/trace.h
GEN migration/trace.h
GEN nbd/trace.h
GEN net/trace.h
GEN qapi/trace.h
GEN qom/trace.h
GEN scsi/trace.h
GEN target/arm/trace.h
GEN target/i386/trace.h
GEN target/mips/trace.h
GEN target/ppc/trace.h
GEN target/s390x/trace.h
GEN target/sparc/trace.h
GEN ui/trace.h
GEN util/trace.h
GEN trace-root.c
GEN accel/kvm/trace.c
GEN accel/tcg/trace.c
GEN audio/trace.c
GEN block/trace.c
GEN chardev/trace.c
GEN crypto/trace.c
GEN hw/9pfs/trace.c
GEN hw/acpi/trace.c
GEN hw/alpha/trace.c
GEN hw/arm/trace.c
GEN hw/audio/trace.c
GEN hw/block/trace.c
GEN hw/block/dataplane/trace.c
GEN hw/char/trace.c
GEN hw/display/trace.c
GEN hw/dma/trace.c
GEN hw/hppa/trace.c
GEN hw/i2c/trace.c
GEN hw/i386/trace.c
GEN hw/i386/xen/trace.c
GEN hw/ide/trace.c
GEN hw/input/trace.c
GEN hw/intc/trace.c
GEN hw/isa/trace.c
GEN hw/mem/trace.c
GEN hw/misc/trace.c
GEN hw/misc/macio/trace.c
GEN hw/net/trace.c
GEN hw/nvram/trace.c
GEN hw/pci/trace.c
GEN hw/pci-host/trace.c
GEN hw/ppc/trace.c
GEN hw/rdma/trace.c
GEN hw/rdma/vmw/trace.c
GEN hw/s390x/trace.c
GEN hw/scsi/trace.c
GEN hw/sd/trace.c
GEN hw/sparc/trace.c
GEN hw/sparc64/trace.c
GEN hw/timer/trace.c
GEN hw/tpm/trace.c
GEN hw/usb/trace.c
GEN hw/vfio/trace.c
GEN hw/virtio/trace.c
GEN hw/xen/trace.c
GEN io/trace.c
GEN linux-user/trace.c
GEN migration/trace.c
GEN nbd/trace.c
GEN net/trace.c
GEN qapi/trace.c
GEN qom/trace.c
GEN scsi/trace.c
GEN target/arm/trace.c
GEN target/i386/trace.c
GEN target/mips/trace.c
GEN target/ppc/trace.c
GEN target/s390x/trace.c
GEN target/sparc/trace.c
GEN ui/trace.c
GEN util/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/truncated_property.c
DEP /tmp/qemu-test/src/dtc/tests/check_path.c
DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.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/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/char_literal.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/subnode_offset.c
DEP /tmp/qemu-test/src/dtc/tests/path_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/util.c
DEP /tmp/qemu-test/src/dtc/fdtget.c
DEP /tmp/qemu-test/src/dtc/fdtput.c
DEP /tmp/qemu-test/src/dtc/fdtdump.c
DEP /tmp/qemu-test/src/dtc/fdtoverlay.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/data.c
DEP /tmp/qemu-test/src/dtc/dtc.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_wip.o
CC libfdt/fdt_ro.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/qapi-gen
CC qapi/qapi-builtin-types.o
CC qapi/qapi-types.o
CC qapi/qapi-types-block-core.o
CC qapi/qapi-types-block.o
CC qapi/qapi-types-char.o
CC qapi/qapi-types-crypto.o
CC qapi/qapi-types-common.o
CC qapi/qapi-types-introspect.o
CC qapi/qapi-types-job.o
CC qapi/qapi-types-migration.o
CC qapi/qapi-types-misc.o
CC qapi/qapi-types-net.o
CC qapi/qapi-types-rocker.o
CC qapi/qapi-types-run-state.o
CC qapi/qapi-types-sockets.o
CC qapi/qapi-types-tpm.o
CC qapi/qapi-types-trace.o
CC qapi/qapi-types-transaction.o
CC qapi/qapi-types-ui.o
CC qapi/qapi-builtin-visit.o
CC qapi/qapi-visit.o
CC qapi/qapi-visit-block-core.o
CC qapi/qapi-visit-block.o
CC qapi/qapi-visit-char.o
CC qapi/qapi-visit-common.o
CC qapi/qapi-visit-crypto.o
CC qapi/qapi-visit-introspect.o
CC qapi/qapi-visit-job.o
CC qapi/qapi-visit-migration.o
CC qapi/qapi-visit-misc.o
CC qapi/qapi-visit-net.o
CC qapi/qapi-visit-rocker.o
CC qapi/qapi-visit-run-state.o
CC qapi/qapi-visit-sockets.o
CC qapi/qapi-visit-tpm.o
CC qapi/qapi-visit-trace.o
CC qapi/qapi-visit-transaction.o
CC qapi/qapi-visit-ui.o
CC qapi/qapi-events.o
CC qapi/qapi-events-block.o
CC qapi/qapi-events-block-core.o
CC qapi/qapi-events-char.o
CC qapi/qapi-events-common.o
CC qapi/qapi-events-crypto.o
CC qapi/qapi-events-introspect.o
CC qapi/qapi-events-job.o
CC qapi/qapi-events-migration.o
CC qapi/qapi-events-misc.o
CC qapi/qapi-events-net.o
CC qapi/qapi-events-rocker.o
CC qapi/qapi-events-run-state.o
CC qapi/qapi-events-sockets.o
CC qapi/qapi-events-tpm.o
CC qapi/qapi-events-trace.o
CC qapi/qapi-events-transaction.o
CC qapi/qapi-events-ui.o
CC qapi/qapi-introspect.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 qobject/block-qdict.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/aio-wait.o
CC util/thread-pool.o
CC util/qemu-timer.o
CC util/main-loop.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-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-win32.o
CC util/buffer.o
CC util/timed-average.o
CC util/base64.o
CC util/pagesize.o
CC util/log.o
CC util/qdist.o
CC util/qht.o
CC util/range.o
CC util/stats64.o
CC util/systemd.o
CC util/iova-tree.o
CC trace-root.o
CC accel/kvm/trace.o
CC accel/tcg/trace.o
CC audio/trace.o
CC block/trace.o
CC chardev/trace.o
CC crypto/trace.o
CC hw/9pfs/trace.o
CC hw/acpi/trace.o
CC hw/alpha/trace.o
CC hw/arm/trace.o
CC hw/audio/trace.o
CC hw/block/trace.o
CC hw/block/dataplane/trace.o
CC hw/char/trace.o
CC hw/display/trace.o
CC hw/dma/trace.o
CC hw/hppa/trace.o
CC hw/i2c/trace.o
CC hw/i386/trace.o
CC hw/i386/xen/trace.o
CC hw/ide/trace.o
CC hw/input/trace.o
CC hw/intc/trace.o
CC hw/isa/trace.o
CC hw/mem/trace.o
CC hw/misc/trace.o
CC hw/misc/macio/trace.o
CC hw/net/trace.o
CC hw/nvram/trace.o
CC hw/pci/trace.o
CC hw/pci-host/trace.o
CC hw/ppc/trace.o
CC hw/rdma/trace.o
CC hw/rdma/vmw/trace.o
CC hw/s390x/trace.o
CC hw/scsi/trace.o
CC hw/sd/trace.o
CC hw/sparc/trace.o
CC hw/sparc64/trace.o
CC hw/timer/trace.o
CC hw/tpm/trace.o
CC hw/usb/trace.o
CC hw/vfio/trace.o
CC hw/virtio/trace.o
CC hw/xen/trace.o
CC io/trace.o
CC linux-user/trace.o
CC migration/trace.o
CC nbd/trace.o
CC net/trace.o
CC qapi/trace.o
CC qom/trace.o
CC scsi/trace.o
CC target/arm/trace.o
CC target/i386/trace.o
CC target/mips/trace.o
CC target/ppc/trace.o
CC target/sparc/trace.o
CC target/s390x/trace.o
CC ui/trace.o
CC util/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/fd-register.o
CC stubs/qmp_memory_device.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 stubs/ram-block.o
GEN qemu-img-cmds.h
CC block.o
CC blockjob.o
CC job.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/blklogwrites.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/create.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/copy-on-read.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-stub.o
CC block/curl.o
CC block/ssh.o
CC crypto/init.o
CC block/dmg-bz2.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/tlscredspsk.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-essiv.o
CC crypto/ivgen.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 job-qmp.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 qapi/qapi-commands.o
CC qapi/qapi-commands-block-core.o
CC qapi/qapi-commands-block.o
CC qapi/qapi-commands-char.o
CC qapi/qapi-commands-common.o
CC qapi/qapi-commands-crypto.o
CC qapi/qapi-commands-introspect.o
CC qapi/qapi-commands-job.o
CC qapi/qapi-commands-misc.o
CC qapi/qapi-commands-migration.o
CC qapi/qapi-commands-rocker.o
CC qapi/qapi-commands-sockets.o
CC qapi/qapi-commands-net.o
CC qapi/qapi-commands-run-state.o
CC qapi/qapi-commands-tpm.o
CC qapi/qapi-commands-trace.o
CC qapi/qapi-commands-transaction.o
CC qapi/qapi-commands-ui.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/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 backends/cryptodev-vhost.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
CXX disas/libvixl/vixl/a64/disasm-a64.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/parallel-isa.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/split-irq.o
CC hw/core/platform-bus.o
CC hw/cpu/core.o
CC hw/display/ramfb.o
CC hw/display/ramfb-standalone.o
CC hw/display/ads7846.o
CC hw/display/cirrus_vga.o
CC hw/display/pl110.o
CC hw/display/sii9022.o
CC hw/display/ssd0303.o
CC hw/display/ssd0323.o
CC hw/display/vga-pci.o
CC hw/display/bochs-display.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/dma/xlnx-zdma.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/imx_gpcv2.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/isa-superio.o
CC hw/isa/smc37c669-superio.o
CC hw/isa/apm.o
CC hw/mem/pc-dimm.o
CC hw/mem/memory-device.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/pca9552.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/net/can/can_sja1000.o
CC hw/net/can/can_kvaser_pci.o
CC hw/net/can/can_pcm3680_pci.o
CC hw/net/can/can_mioe3680_pci.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-host/designware.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/vmw_pvscsi.o
CC hw/scsi/megasas.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/sdmmc-internal.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/aspeed_smc.o
CC hw/ssi/xilinx_spips.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/xlnx-zynqmp-rtc.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
/tmp/qemu-test/src/hw/pci-bridge/pci_expander_bridge.c: In function 'pxb_pcie_host_root_bus_path':
/tmp/qemu-test/src/hw/pci-bridge/pci_expander_bridge.c:179:37: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t {aka long long unsigned int}' [-Werror=format=]
snprintf(bus->bus_path, 8, "%04lx:%02x",
~~~~^
%04llx
object_property_get_uint(obj, PROP_PXB_PCIE_DOMAIN_NR, NULL),
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [/tmp/qemu-test/src/rules.mak:69: hw/pci-bridge/pci_expander_bridge.o] Error 1
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
File "./tests/docker/docker.py", line 565, in <module>
sys.exit(main())
File "./tests/docker/docker.py", line 562, in main
return args.cmdobj.run(args, argv)
File "./tests/docker/docker.py", line 308, in run
return Docker().run(argv, args.keep, quiet=args.quiet)
File "./tests/docker/docker.py", line 276, in run
quiet=quiet)
File "./tests/docker/docker.py", line 183, 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 '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=ceacc3b2961011e8a4e152540069c830', '-u', '1000', '--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', '/home/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-zotc4hms/src/docker-src.2018-08-02-00.59.02.6989:/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:213: docker-run] Error 1
make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-zotc4hms/src'
make: *** [tests/docker/Makefile.include:247: docker-run-test-mingw@fedora] Error 2
real 2m8.047s
user 0m5.333s
sys 0m4.531s
=== OUTPUT END ===
Test command exited with code: 2
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain
2018-08-02 2:45 [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain Zihan Yang
` (7 preceding siblings ...)
2018-08-02 5:01 ` no-reply
@ 2018-08-02 5:23 ` no-reply
8 siblings, 0 replies; 13+ messages in thread
From: no-reply @ 2018-08-02 5:23 UTC (permalink / raw)
To: whois.zihan.yang; +Cc: famz, qemu-devel
Hi,
This series failed docker-quick@centos7 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: 1533177924-24765-1-git-send-email-whois.zihan.yang@gmail.com
Subject: [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain
=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-quick@centos7 SHOW_ENV=1 J=8
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
453612f703 pci_expander_bridge: add start_bus property
7e0df5e261 pci_expander_bridge: Add ioport for pxb host bus
a20115d9f1 pci_expander_bridge: Add config_read callback
05844a4f35 i386/acpi-build: describe new pci domain in AML
97e32a9b49 acpi-build: allocate mcfg for pxb-pcie host bridges
0fd3d73fc5 pci_expander_bridge: add type TYPE_PXB_PCIE_HOST
=== OUTPUT BEGIN ===
BUILD centos7
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-jyd69_3_/src'
GEN /var/tmp/patchew-tester-tmp-jyd69_3_/src/docker-src.2018-08-02-01.09.12.32601/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-jyd69_3_/src/docker-src.2018-08-02-01.09.12.32601/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-jyd69_3_/src/docker-src.2018-08-02-01.09.12.32601/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-jyd69_3_/src/docker-src.2018-08-02-01.09.12.32601/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
COPY RUNNER
RUN test-quick in qemu:centos7
Packages installed:
SDL-devel-1.2.15-14.el7.x86_64
bison-3.0.4-1.el7.x86_64
bzip2-devel-1.0.6-13.el7.x86_64
ccache-3.3.4-1.el7.x86_64
csnappy-devel-0-6.20150729gitd7bc683.el7.x86_64
flex-2.5.37-3.el7.x86_64
gcc-4.8.5-16.el7_4.2.x86_64
gettext-0.19.8.1-2.el7.x86_64
git-1.8.3.1-12.el7_4.x86_64
glib2-devel-2.50.3-3.el7.x86_64
libepoxy-devel-1.3.1-1.el7.x86_64
libfdt-devel-1.4.6-1.el7.x86_64
lzo-devel-2.06-8.el7.x86_64
make-3.82-23.el7.x86_64
mesa-libEGL-devel-17.0.1-6.20170307.el7.x86_64
mesa-libgbm-devel-17.0.1-6.20170307.el7.x86_64
package g++ is not installed
package librdmacm-devel is not installed
pixman-devel-0.34.0-1.el7.x86_64
spice-glib-devel-0.33-6.el7_4.1.x86_64
spice-server-devel-0.12.8-2.el7.1.x86_64
tar-1.26-32.el7.x86_64
vte-devel-0.28.2-10.el7.x86_64
xen-devel-4.6.6-10.el7.x86_64
zlib-devel-1.2.7-17.el7.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=b090f313f4aa
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=/
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 -Werror -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-strong -Wno-missing-braces -I/usr/include/libpng15 -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
QEMU_LDFLAGS
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 yes (0.28.2)
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 no
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
WHPX support no
TCG support yes
TCG debug enabled no
TCG interpreter no
malloc trim support yes
RDMA support yes
fdt support system
membarrier no
preadv support yes
fdatasync yes
madvise yes
posix_madvise yes
posix_memalign yes
libcap-ng support no
vhost-net support yes
vhost-crypto support yes
vhost-scsi support yes
vhost-vsock support yes
vhost-user support yes
Trace backends log
spice support yes (0.12.12/0.12.8)
rbd support no
xfsctl support no
smartcard support yes
libusb no
usb net redir no
OpenGL support yes
OpenGL dmabufs yes
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
mutex debugging 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 yes
replication support yes
VxHS block device no
capstone no
docker 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
NOTE: cross-compilers enabled: 'cc'
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-gen
GEN trace/generated-helpers-wrappers.h
GEN trace/generated-tcg-tracers.h
GEN trace/generated-helpers.h
GEN trace/generated-helpers.c
GEN x86_64-softmmu/config-devices.mak
GEN module_block.h
GEN aarch64-softmmu/config-devices.mak
GEN ui/input-keymap-atset1-to-qcode.c
GEN ui/input-keymap-qcode-to-atset1.c
GEN ui/input-keymap-linux-to-qcode.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 ui/input-keymap-osx-to-qcode.c
GEN tests/test-qapi-gen
GEN trace-root.h
GEN accel/kvm/trace.h
GEN accel/tcg/trace.h
GEN audio/trace.h
GEN block/trace.h
GEN chardev/trace.h
GEN crypto/trace.h
GEN hw/9pfs/trace.h
GEN hw/acpi/trace.h
GEN hw/alpha/trace.h
GEN hw/arm/trace.h
GEN hw/audio/trace.h
GEN hw/block/trace.h
GEN hw/block/dataplane/trace.h
GEN hw/char/trace.h
GEN hw/display/trace.h
GEN hw/dma/trace.h
GEN hw/hppa/trace.h
GEN hw/i2c/trace.h
GEN hw/i386/trace.h
GEN hw/i386/xen/trace.h
GEN hw/ide/trace.h
GEN hw/input/trace.h
GEN hw/intc/trace.h
GEN hw/isa/trace.h
GEN hw/mem/trace.h
GEN hw/misc/trace.h
GEN hw/misc/macio/trace.h
GEN hw/net/trace.h
GEN hw/nvram/trace.h
GEN hw/pci/trace.h
GEN hw/pci-host/trace.h
GEN hw/ppc/trace.h
GEN hw/rdma/trace.h
GEN hw/rdma/vmw/trace.h
GEN hw/s390x/trace.h
GEN hw/scsi/trace.h
GEN hw/sd/trace.h
GEN hw/sparc/trace.h
GEN hw/sparc64/trace.h
GEN hw/timer/trace.h
GEN hw/tpm/trace.h
GEN hw/usb/trace.h
GEN hw/vfio/trace.h
GEN hw/virtio/trace.h
GEN hw/xen/trace.h
GEN io/trace.h
GEN linux-user/trace.h
GEN migration/trace.h
GEN nbd/trace.h
GEN net/trace.h
GEN qapi/trace.h
GEN qom/trace.h
GEN scsi/trace.h
GEN target/arm/trace.h
GEN target/i386/trace.h
GEN target/mips/trace.h
GEN target/ppc/trace.h
GEN target/s390x/trace.h
GEN target/sparc/trace.h
GEN ui/trace.h
GEN util/trace.h
GEN trace-root.c
GEN accel/kvm/trace.c
GEN accel/tcg/trace.c
GEN audio/trace.c
GEN block/trace.c
GEN chardev/trace.c
GEN crypto/trace.c
GEN hw/9pfs/trace.c
GEN hw/acpi/trace.c
GEN hw/alpha/trace.c
GEN hw/arm/trace.c
GEN hw/audio/trace.c
GEN hw/block/trace.c
GEN hw/block/dataplane/trace.c
GEN hw/char/trace.c
GEN hw/display/trace.c
GEN hw/dma/trace.c
GEN hw/hppa/trace.c
GEN hw/i2c/trace.c
GEN hw/i386/trace.c
GEN hw/i386/xen/trace.c
GEN hw/ide/trace.c
GEN hw/input/trace.c
GEN hw/intc/trace.c
GEN hw/isa/trace.c
GEN hw/mem/trace.c
GEN hw/misc/trace.c
GEN hw/misc/macio/trace.c
GEN hw/net/trace.c
GEN hw/nvram/trace.c
GEN hw/pci/trace.c
GEN hw/pci-host/trace.c
GEN hw/ppc/trace.c
GEN hw/rdma/trace.c
GEN hw/rdma/vmw/trace.c
GEN hw/s390x/trace.c
GEN hw/scsi/trace.c
GEN hw/sd/trace.c
GEN hw/sparc/trace.c
GEN hw/sparc64/trace.c
GEN hw/timer/trace.c
GEN hw/tpm/trace.c
GEN hw/usb/trace.c
GEN hw/vfio/trace.c
GEN hw/virtio/trace.c
GEN hw/xen/trace.c
GEN io/trace.c
GEN linux-user/trace.c
GEN migration/trace.c
GEN nbd/trace.c
GEN net/trace.c
GEN qapi/trace.c
GEN qom/trace.c
GEN scsi/trace.c
GEN target/arm/trace.c
GEN target/i386/trace.c
GEN target/mips/trace.c
GEN target/ppc/trace.c
GEN target/s390x/trace.c
GEN target/sparc/trace.c
GEN ui/trace.c
GEN util/trace.c
GEN config-all-devices.mak
CC tests/qemu-iotests/socket_scm_helper.o
GEN qga/qapi-generated/qapi-gen
CC qapi/qapi-builtin-types.o
CC qapi/qapi-types.o
CC qapi/qapi-types-char.o
CC qapi/qapi-types-block.o
CC qapi/qapi-types-block-core.o
CC qapi/qapi-types-common.o
CC qapi/qapi-types-crypto.o
CC qapi/qapi-types-introspect.o
CC qapi/qapi-types-job.o
CC qapi/qapi-types-migration.o
CC qapi/qapi-types-misc.o
CC qapi/qapi-types-net.o
CC qapi/qapi-types-rocker.o
CC qapi/qapi-types-run-state.o
CC qapi/qapi-types-sockets.o
CC qapi/qapi-types-tpm.o
CC qapi/qapi-types-trace.o
CC qapi/qapi-types-transaction.o
CC qapi/qapi-types-ui.o
CC qapi/qapi-builtin-visit.o
CC qapi/qapi-visit.o
CC qapi/qapi-visit-block-core.o
CC qapi/qapi-visit-block.o
CC qapi/qapi-visit-char.o
CC qapi/qapi-visit-common.o
CC qapi/qapi-visit-crypto.o
CC qapi/qapi-visit-introspect.o
CC qapi/qapi-visit-job.o
CC qapi/qapi-visit-migration.o
CC qapi/qapi-visit-misc.o
CC qapi/qapi-visit-net.o
CC qapi/qapi-visit-rocker.o
CC qapi/qapi-visit-run-state.o
CC qapi/qapi-visit-sockets.o
CC qapi/qapi-visit-tpm.o
CC qapi/qapi-visit-trace.o
CC qapi/qapi-visit-transaction.o
CC qapi/qapi-visit-ui.o
CC qapi/qapi-events.o
CC qapi/qapi-events-block-core.o
CC qapi/qapi-events-block.o
CC qapi/qapi-events-char.o
CC qapi/qapi-events-common.o
CC qapi/qapi-events-crypto.o
CC qapi/qapi-events-introspect.o
CC qapi/qapi-events-job.o
CC qapi/qapi-events-migration.o
CC qapi/qapi-events-misc.o
CC qapi/qapi-events-net.o
CC qapi/qapi-events-rocker.o
CC qapi/qapi-events-run-state.o
CC qapi/qapi-events-sockets.o
CC qapi/qapi-events-trace.o
CC qapi/qapi-events-tpm.o
CC qapi/qapi-events-transaction.o
CC qapi/qapi-events-ui.o
CC qapi/qapi-introspect.o
CC qapi/qapi-visit-core.o
CC qapi/qapi-dealloc-visitor.o
CC qapi/qobject-output-visitor.o
CC qapi/qobject-input-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 qobject/block-qdict.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/aio-wait.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/module.o
CC util/path.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 util/iova-tree.o
CC util/vfio-helpers.o
CC trace-root.o
CC accel/kvm/trace.o
CC accel/tcg/trace.o
CC audio/trace.o
CC block/trace.o
CC chardev/trace.o
CC crypto/trace.o
CC hw/9pfs/trace.o
CC hw/acpi/trace.o
CC hw/alpha/trace.o
CC hw/arm/trace.o
CC hw/audio/trace.o
CC hw/block/trace.o
CC hw/block/dataplane/trace.o
CC hw/char/trace.o
CC hw/display/trace.o
CC hw/dma/trace.o
CC hw/hppa/trace.o
CC hw/i2c/trace.o
CC hw/i386/trace.o
CC hw/i386/xen/trace.o
CC hw/ide/trace.o
CC hw/input/trace.o
CC hw/intc/trace.o
CC hw/isa/trace.o
CC hw/mem/trace.o
CC hw/misc/trace.o
CC hw/misc/macio/trace.o
CC hw/net/trace.o
CC hw/nvram/trace.o
CC hw/pci/trace.o
CC hw/pci-host/trace.o
CC hw/ppc/trace.o
CC hw/rdma/trace.o
CC hw/rdma/vmw/trace.o
CC hw/s390x/trace.o
CC hw/scsi/trace.o
CC hw/sd/trace.o
CC hw/sparc/trace.o
CC hw/sparc64/trace.o
CC hw/timer/trace.o
CC hw/tpm/trace.o
CC hw/usb/trace.o
CC hw/vfio/trace.o
CC hw/virtio/trace.o
CC hw/xen/trace.o
CC io/trace.o
CC linux-user/trace.o
CC migration/trace.o
CC nbd/trace.o
CC net/trace.o
CC qapi/trace.o
CC qom/trace.o
CC scsi/trace.o
CC target/arm/trace.o
CC target/i386/trace.o
CC target/mips/trace.o
CC target/ppc/trace.o
CC target/s390x/trace.o
CC target/sparc/trace.o
CC ui/trace.o
CC util/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_memory_device.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 stubs/ram-block.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 block.o
CC qemu-nbd.o
CC blockjob.o
CC job.o
CC qemu-io-cmds.o
CC replication.o
CC block/raw-format.o
CC block/qcow.o
CC block/vdi.o
CC block/cloop.o
CC block/vmdk.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/blklogwrites.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/create.o
CC block/throttle-groups.o
CC block/nvme.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/copy-on-read.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/hmac-glib.o
CC crypto/hash-glib.o
CC crypto/aes.o
CC crypto/desrfb.o
CC crypto/cipher.o
CC crypto/tlscreds.o
CC crypto/tlscredsanon.o
CC crypto/tlscredspsk.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 job-qmp.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 qapi/qapi-commands.o
CC qapi/qapi-commands-block-core.o
CC qapi/qapi-commands-block.o
CC qapi/qapi-commands-char.o
CC qapi/qapi-commands-common.o
CC qapi/qapi-commands-crypto.o
CC qapi/qapi-commands-introspect.o
CC qapi/qapi-commands-job.o
CC qapi/qapi-commands-migration.o
CC qapi/qapi-commands-misc.o
CC qapi/qapi-commands-net.o
CC qapi/qapi-commands-rocker.o
CC qapi/qapi-commands-run-state.o
CC qapi/qapi-commands-sockets.o
CC qapi/qapi-commands-tpm.o
CC qapi/qapi-commands-trace.o
CC qapi/qapi-commands-transaction.o
CC qapi/qapi-commands-ui.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/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 backends/cryptodev-vhost.o
CC backends/cryptodev-vhost-user.o
CC backends/hostmem-memfd.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/nand.o
CC hw/block/pflash_cfi01.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/parallel-isa.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/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/split-irq.o
CC hw/core/platform-bus.o
CC hw/cpu/core.o
CC hw/display/ramfb.o
CC hw/display/ramfb-standalone.o
CC hw/display/ads7846.o
CC hw/display/cirrus_vga.o
CC hw/display/pl110.o
CC hw/display/sii9022.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/bochs-display.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-logger.o
CC hw/display/qxl.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/dma/xlnx-zdma.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/imx_gpcv2.o
CC hw/intc/ioapic_common.o
CC hw/intc/realview_gic.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/isa-superio.o
CC hw/isa/smc37c669-superio.o
CC hw/isa/apm.o
CC hw/mem/pc-dimm.o
CC hw/mem/memory-device.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/pca9552.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/xgmac.o
CC hw/net/ne2000-isa.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/net/can/can_sja1000.o
CC hw/net/can/can_kvaser_pci.o
CC hw/net/can/can_pcm3680_pci.o
CC hw/net/can/can_mioe3680_pci.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-host/designware.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_port.o
CC hw/pci/pcie_aer.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/lsi53c895a.o
CC hw/scsi/scsi-bus.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/sdmmc-internal.o
CC hw/smbios/smbios.o
CC hw/sd/sdhci.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/xlnx-zynqmp-rtc.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_tis.o
CC hw/tpm/tpm_util.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-bus.o
CC hw/virtio/virtio-rng.o
CC hw/virtio/virtio-pci.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_devconfig.o
CC hw/xen/xen_backend.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/block-dirty-bitmap.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 net/can/can_core.o
CC net/can/can_host.o
CC net/can/can_socketcan.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/dnssearch.o
CC slirp/ip_output.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-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/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
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 audio/ossaudio.o
CC ui/sdl.o
CC ui/sdl_zoom.o
CC ui/x_keymap.o
CC ui/gtk.o
CC ui/gtk-egl.o
CC ui/curses.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
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
CC qga/channel-posix.o
CC qga/qapi-generated/qga-qapi-types.o
CC qga/qapi-generated/qga-qapi-visit.o
AS optionrom/multiboot.o
CC qga/qapi-generated/qga-qapi-commands.o
AS optionrom/linuxboot.o
CC optionrom/linuxboot_dma.o
AR libqemuutil.a
AS optionrom/kvmvapic.o
BUILD optionrom/multiboot.img
CC qemu-img.o
CC ui/shader.o
BUILD optionrom/linuxboot.img
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
SIGN optionrom/linuxboot_dma.bin
SIGN optionrom/multiboot.bin
SIGN optionrom/linuxboot.bin
SIGN optionrom/kvmvapic.bin
LINK qemu-ga
LINK ivshmem-client
LINK ivshmem-server
LINK qemu-nbd
LINK qemu-img
LINK qemu-io
LINK scsi/qemu-pr-helper
LINK qemu-bridge-helper
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/hmp-commands.h
GEN aarch64-softmmu/config-target.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/tcg-op.o
CC x86_64-softmmu/tcg/tcg-op-vec.o
CC x86_64-softmmu/tcg/tcg-op-gvec.o
CC x86_64-softmmu/tcg/tcg-common.o
CC x86_64-softmmu/tcg/optimize.o
CC aarch64-softmmu/exec.o
CC x86_64-softmmu/fpu/softfloat.o
CC x86_64-softmmu/disas.o
GEN x86_64-softmmu/gdbstub-xml.c
CC x86_64-softmmu/arch_init.o
CC aarch64-softmmu/tcg/tcg.o
CC x86_64-softmmu/cpus.o
CC x86_64-softmmu/monitor.o
CC aarch64-softmmu/tcg/tcg-op.o
CC x86_64-softmmu/gdbstub.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 x86_64-softmmu/dump.o
CC x86_64-softmmu/win_dump.o
CC aarch64-softmmu/tcg/tcg-op-vec.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 x86_64-softmmu/accel/stubs/hvf-stub.o
CC x86_64-softmmu/accel/stubs/whpx-stub.o
CC aarch64-softmmu/tcg/tcg-op-gvec.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 aarch64-softmmu/tcg/tcg-common.o
CC x86_64-softmmu/accel/tcg/tcg-runtime-gvec.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 aarch64-softmmu/tcg/optimize.o
CC x86_64-softmmu/accel/tcg/translator.o
CC aarch64-softmmu/fpu/softfloat.o
CC aarch64-softmmu/disas.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
GEN aarch64-softmmu/gdbstub-xml.c
CC x86_64-softmmu/hw/char/virtio-serial-bus.o
CC aarch64-softmmu/arch_init.o
CC aarch64-softmmu/cpus.o
CC x86_64-softmmu/hw/core/generic-loader.o
CC x86_64-softmmu/hw/core/null-machine.o
CC aarch64-softmmu/monitor.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 aarch64-softmmu/gdbstub.o
CC x86_64-softmmu/hw/display/virtio-gpu-pci.o
CC aarch64-softmmu/balloon.o
CC aarch64-softmmu/ioport.o
CC x86_64-softmmu/hw/display/virtio-vga.o
CC aarch64-softmmu/numa.o
CC x86_64-softmmu/hw/intc/apic.o
CC aarch64-softmmu/qtest.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/memory.o
CC aarch64-softmmu/memory_mapping.o
CC aarch64-softmmu/dump.o
CC aarch64-softmmu/migration/ram.o
CC aarch64-softmmu/accel/accel.o
CC x86_64-softmmu/hw/misc/ivshmem.o
CC aarch64-softmmu/accel/stubs/hax-stub.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/hvf-stub.o
CC aarch64-softmmu/accel/stubs/whpx-stub.o
CC x86_64-softmmu/hw/net/virtio-net.o
CC aarch64-softmmu/accel/stubs/kvm-stub.o
CC aarch64-softmmu/accel/tcg/tcg-all.o
CC x86_64-softmmu/hw/net/vhost_net.o
CC aarch64-softmmu/accel/tcg/cputlb.o
CC x86_64-softmmu/hw/rdma/rdma_utils.o
CC aarch64-softmmu/accel/tcg/tcg-runtime.o
CC x86_64-softmmu/hw/rdma/rdma_backend.o
CC x86_64-softmmu/hw/rdma/rdma_rm.o
CC aarch64-softmmu/accel/tcg/tcg-runtime-gvec.o
CC x86_64-softmmu/hw/rdma/vmw/pvrdma_dev_ring.o
CC x86_64-softmmu/hw/rdma/vmw/pvrdma_cmd.o
CC x86_64-softmmu/hw/rdma/vmw/pvrdma_qp_ops.o
CC x86_64-softmmu/hw/rdma/vmw/pvrdma_main.o
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 x86_64-softmmu/hw/scsi/virtio-scsi.o
CC aarch64-softmmu/accel/tcg/translator.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/adc/stm32f2xx_adc.o
CC x86_64-softmmu/hw/scsi/vhost-scsi.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 x86_64-softmmu/hw/scsi/vhost-user-scsi.o
CC aarch64-softmmu/hw/char/exynos4210_uart.o
CC x86_64-softmmu/hw/timer/mc146818rtc.o
CC aarch64-softmmu/hw/char/omap_uart.o
CC x86_64-softmmu/hw/vfio/common.o
CC x86_64-softmmu/hw/vfio/pci.o
CC aarch64-softmmu/hw/char/digic-uart.o
CC x86_64-softmmu/hw/vfio/pci-quirks.o
CC aarch64-softmmu/hw/char/stm32f2xx_usart.o
CC aarch64-softmmu/hw/char/bcm2835_aux.o
CC x86_64-softmmu/hw/vfio/display.o
CC x86_64-softmmu/hw/vfio/platform.o
CC aarch64-softmmu/hw/char/virtio-serial-bus.o
CC x86_64-softmmu/hw/vfio/spapr.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 x86_64-softmmu/hw/virtio/virtio.o
CC aarch64-softmmu/hw/cpu/a9mpcore.o
CC x86_64-softmmu/hw/virtio/virtio-balloon.o
CC aarch64-softmmu/hw/cpu/a15mpcore.o
CC x86_64-softmmu/hw/virtio/virtio-crypto.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 x86_64-softmmu/hw/virtio/virtio-crypto-pci.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 x86_64-softmmu/hw/virtio/vhost.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 x86_64-softmmu/hw/virtio/vhost-backend.o
CC aarch64-softmmu/hw/dma/xlnx_dpdma.o
CC x86_64-softmmu/hw/virtio/vhost-user.o
CC aarch64-softmmu/hw/dma/omap_dma.o
CC x86_64-softmmu/hw/virtio/vhost-vsock.o
CC x86_64-softmmu/hw/xen/xen-host-pci-device.o
CC aarch64-softmmu/hw/dma/soc_dma.o
CC aarch64-softmmu/hw/dma/pxa2xx_dma.o
CC x86_64-softmmu/hw/xen/xen_pt.o
CC x86_64-softmmu/hw/xen/xen_pt_config_init.o
CC x86_64-softmmu/hw/xen/xen_pt_graphics.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 x86_64-softmmu/hw/xen/xen_pt_msi.o
CC aarch64-softmmu/hw/i2c/omap_i2c.o
CC x86_64-softmmu/hw/xen/xen_pt_load_rom.o
CC aarch64-softmmu/hw/input/pxa2xx_keypad.o
CC x86_64-softmmu/hw/i386/multiboot.o
CC x86_64-softmmu/hw/i386/pc.o
CC x86_64-softmmu/hw/i386/pc_piix.o
CC aarch64-softmmu/hw/input/tsc210x.o
CC x86_64-softmmu/hw/i386/pc_q35.o
CC x86_64-softmmu/hw/i386/pc_sysfw.o
CC aarch64-softmmu/hw/intc/armv7m_nvic.o
CC aarch64-softmmu/hw/intc/exynos4210_gic.o
CC x86_64-softmmu/hw/i386/x86-iommu.o
CC x86_64-softmmu/hw/i386/intel_iommu.o
CC aarch64-softmmu/hw/intc/exynos4210_combiner.o
CC x86_64-softmmu/hw/i386/amd_iommu.o
CC aarch64-softmmu/hw/intc/omap_intc.o
CC x86_64-softmmu/hw/i386/vmport.o
CC aarch64-softmmu/hw/intc/bcm2835_ic.o
CC x86_64-softmmu/hw/i386/vmmouse.o
CC x86_64-softmmu/hw/i386/kvmvapic.o
CC aarch64-softmmu/hw/intc/bcm2836_control.o
CC x86_64-softmmu/hw/i386/acpi-build.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 x86_64-softmmu/hw/i386/../xenpv/xen_machine_pv.o
CC x86_64-softmmu/hw/i386/kvm/clock.o
CC aarch64-softmmu/hw/misc/ivshmem.o
CC aarch64-softmmu/hw/misc/arm_sysctl.o
CC x86_64-softmmu/hw/i386/kvm/apic.o
CC x86_64-softmmu/hw/i386/kvm/i8259.o
CC aarch64-softmmu/hw/misc/cbus.o
CC x86_64-softmmu/hw/i386/kvm/ioapic.o
CC aarch64-softmmu/hw/misc/exynos4210_pmu.o
CC x86_64-softmmu/hw/i386/kvm/i8254.o
CC aarch64-softmmu/hw/misc/exynos4210_clk.o
CC aarch64-softmmu/hw/misc/exynos4210_rng.o
CC x86_64-softmmu/hw/i386/xen/xen_platform.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 x86_64-softmmu/hw/i386/xen/xen_apic.o
CC aarch64-softmmu/hw/misc/imx6_ccm.o
CC x86_64-softmmu/hw/i386/xen/xen_pvdevice.o
CC aarch64-softmmu/hw/misc/imx6_src.o
CC x86_64-softmmu/hw/i386/xen/xen-hvm.o
CC x86_64-softmmu/hw/i386/xen/xen-mapcache.o
CC aarch64-softmmu/hw/misc/imx7_ccm.o
CC aarch64-softmmu/hw/misc/imx2_wdt.o
CC x86_64-softmmu/target/i386/helper.o
CC aarch64-softmmu/hw/misc/imx7_snvs.o
CC x86_64-softmmu/target/i386/cpu.o
CC x86_64-softmmu/target/i386/gdbstub.o
CC x86_64-softmmu/target/i386/xsave_helper.o
CC aarch64-softmmu/hw/misc/imx7_gpr.o
CC x86_64-softmmu/target/i386/translate.o
CC x86_64-softmmu/target/i386/bpt_helper.o
CC x86_64-softmmu/target/i386/cc_helper.o
CC x86_64-softmmu/target/i386/excp_helper.o
CC aarch64-softmmu/hw/misc/mst_fpga.o
CC aarch64-softmmu/hw/misc/omap_clk.o
CC x86_64-softmmu/target/i386/fpu_helper.o
CC aarch64-softmmu/hw/misc/omap_gpmc.o
CC x86_64-softmmu/target/i386/int_helper.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 x86_64-softmmu/target/i386/mem_helper.o
CC aarch64-softmmu/hw/misc/bcm2835_rng.o
CC aarch64-softmmu/hw/misc/zynq_slcr.o
CC x86_64-softmmu/target/i386/misc_helper.o
CC x86_64-softmmu/target/i386/mpx_helper.o
CC x86_64-softmmu/target/i386/seg_helper.o
CC aarch64-softmmu/hw/misc/zynq-xadc.o
CC x86_64-softmmu/target/i386/smm_helper.o
CC x86_64-softmmu/target/i386/svm_helper.o
CC x86_64-softmmu/target/i386/machine.o
CC aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
CC aarch64-softmmu/hw/misc/mps2-fpgaio.o
CC aarch64-softmmu/hw/misc/mps2-scc.o
CC x86_64-softmmu/target/i386/arch_memory_mapping.o
CC aarch64-softmmu/hw/misc/tz-mpc.o
CC x86_64-softmmu/target/i386/arch_dump.o
CC x86_64-softmmu/target/i386/monitor.o
CC aarch64-softmmu/hw/misc/tz-ppc.o
CC x86_64-softmmu/target/i386/kvm.o
CC aarch64-softmmu/hw/misc/iotkit-secctl.o
CC x86_64-softmmu/target/i386/hyperv.o
CC aarch64-softmmu/hw/misc/auxbus.o
CC x86_64-softmmu/target/i386/sev.o
CC aarch64-softmmu/hw/misc/aspeed_scu.o
CC aarch64-softmmu/hw/misc/aspeed_sdmc.o
GEN trace/generated-helpers.c
CC x86_64-softmmu/trace/control-target.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 x86_64-softmmu/gdbstub-xml.o
CC aarch64-softmmu/hw/net/vhost_net.o
CC x86_64-softmmu/trace/generated-helpers.o
CC aarch64-softmmu/hw/pcmcia/pxa2xx.o
CC aarch64-softmmu/hw/rdma/rdma_utils.o
CC aarch64-softmmu/hw/rdma/rdma_backend.o
CC aarch64-softmmu/hw/rdma/rdma_rm.o
CC aarch64-softmmu/hw/rdma/vmw/pvrdma_dev_ring.o
CC aarch64-softmmu/hw/rdma/vmw/pvrdma_cmd.o
CC aarch64-softmmu/hw/rdma/vmw/pvrdma_qp_ops.o
CC aarch64-softmmu/hw/rdma/vmw/pvrdma_main.o
CC aarch64-softmmu/hw/scsi/virtio-scsi.o
LINK x86_64-softmmu/qemu-system-x86_64
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/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/usb/chipidea.o
CC aarch64-softmmu/hw/vfio/common.o
CC aarch64-softmmu/hw/vfio/pci.o
CC aarch64-softmmu/hw/vfio/pci-quirks.o
CC aarch64-softmmu/hw/vfio/display.o
CC aarch64-softmmu/hw/vfio/platform.o
CC aarch64-softmmu/hw/vfio/calxeda-xgmac.o
CC aarch64-softmmu/hw/vfio/amd-xgbe.o
CC aarch64-softmmu/hw/vfio/spapr.o
CC aarch64-softmmu/hw/virtio/virtio-balloon.o
CC aarch64-softmmu/hw/virtio/virtio.o
CC aarch64-softmmu/hw/virtio/virtio-crypto.o
CC aarch64-softmmu/hw/virtio/vhost.o
CC aarch64-softmmu/hw/virtio/virtio-crypto-pci.o
CC aarch64-softmmu/hw/virtio/vhost-backend.o
CC aarch64-softmmu/hw/virtio/vhost-user.o
CC aarch64-softmmu/hw/virtio/vhost-vsock.o
CC aarch64-softmmu/hw/arm/boot.o
CC aarch64-softmmu/hw/arm/virt.o
CC aarch64-softmmu/hw/arm/sysbus-fdt.o
CC aarch64-softmmu/hw/arm/virt-acpi-build.o
CC aarch64-softmmu/hw/arm/digic_boards.o
CC aarch64-softmmu/hw/arm/exynos4_boards.o
CC aarch64-softmmu/hw/arm/highbank.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/netduino2.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/gumstix.o
CC aarch64-softmmu/hw/arm/spitz.o
CC aarch64-softmmu/hw/arm/tosa.o
CC aarch64-softmmu/hw/arm/z2.o
CC aarch64-softmmu/hw/arm/realview.o
CC aarch64-softmmu/hw/arm/stellaris.o
CC aarch64-softmmu/hw/arm/collie.o
CC aarch64-softmmu/hw/arm/vexpress.o
CC aarch64-softmmu/hw/arm/versatilepb.o
CC aarch64-softmmu/hw/arm/xilinx_zynq.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/strongarm.o
CC aarch64-softmmu/hw/arm/allwinner-a10.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/mps2-tz.o
CC aarch64-softmmu/hw/arm/msf2-soc.o
CC aarch64-softmmu/hw/arm/msf2-som.o
CC aarch64-softmmu/hw/arm/iotkit.o
CC aarch64-softmmu/hw/arm/fsl-imx7.o
CC aarch64-softmmu/hw/arm/mcimx7d-sabre.o
CC aarch64-softmmu/hw/arm/smmu-common.o
CC aarch64-softmmu/hw/arm/smmuv3.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/vec_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 aarch64-softmmu/target/arm/decode-sve.inc.c
CC aarch64-softmmu/target/arm/sve_helper.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
CC aarch64-softmmu/target/arm/translate-sve.o
LINK aarch64-softmmu/qemu-system-aarch64
TEST tests/qapi-schema/alternate-any.out
TEST tests/qapi-schema/alternate-array.out
TEST tests/qapi-schema/alternate-clash.out
TEST tests/qapi-schema/alternate-conflict-dict.out
TEST tests/qapi-schema/alternate-base.out
TEST tests/qapi-schema/alternate-conflict-enum-bool.out
TEST tests/qapi-schema/alternate-conflict-string.out
TEST tests/qapi-schema/alternate-conflict-enum-int.out
TEST tests/qapi-schema/alternate-conflict-bool-string.out
TEST tests/qapi-schema/alternate-conflict-num-string.out
TEST tests/qapi-schema/alternate-empty.out
TEST tests/qapi-schema/alternate-nested.out
TEST tests/qapi-schema/alternate-unknown.out
TEST tests/qapi-schema/args-alternate.out
TEST tests/qapi-schema/args-any.out
TEST tests/qapi-schema/args-array-empty.out
TEST tests/qapi-schema/args-array-unknown.out
TEST tests/qapi-schema/args-bad-boxed.out
TEST tests/qapi-schema/args-boxed-anon.out
TEST tests/qapi-schema/args-boxed-empty.out
TEST tests/qapi-schema/args-boxed-string.out
TEST tests/qapi-schema/args-int.out
TEST tests/qapi-schema/args-invalid.out
TEST tests/qapi-schema/args-member-array-bad.out
TEST tests/qapi-schema/args-member-case.out
TEST tests/qapi-schema/args-member-unknown.out
TEST tests/qapi-schema/args-name-clash.out
TEST tests/qapi-schema/args-union.out
TEST tests/qapi-schema/args-unknown.out
TEST tests/qapi-schema/bad-base.out
TEST tests/qapi-schema/bad-data.out
TEST tests/qapi-schema/bad-ident.out
TEST tests/qapi-schema/bad-if.out
TEST tests/qapi-schema/bad-if-empty.out
TEST tests/qapi-schema/bad-if-empty-list.out
TEST tests/qapi-schema/bad-if-list.out
TEST tests/qapi-schema/bad-type-bool.out
TEST tests/qapi-schema/bad-type-dict.out
TEST tests/qapi-schema/bad-type-int.out
TEST tests/qapi-schema/base-cycle-direct.out
TEST tests/qapi-schema/base-cycle-indirect.out
TEST tests/qapi-schema/command-int.out
TEST tests/qapi-schema/comments.out
TEST tests/qapi-schema/doc-bad-alternate-member.out
TEST tests/qapi-schema/doc-bad-command-arg.out
TEST tests/qapi-schema/doc-bad-section.out
TEST tests/qapi-schema/doc-bad-symbol.out
TEST tests/qapi-schema/doc-bad-union-member.out
TEST tests/qapi-schema/doc-before-include.out
TEST tests/qapi-schema/doc-before-pragma.out
TEST tests/qapi-schema/doc-duplicated-arg.out
TEST tests/qapi-schema/doc-duplicated-return.out
TEST tests/qapi-schema/doc-duplicated-since.out
TEST tests/qapi-schema/doc-empty-arg.out
TEST tests/qapi-schema/doc-empty-section.out
TEST tests/qapi-schema/doc-empty-symbol.out
TEST tests/qapi-schema/doc-interleaved-section.out
TEST tests/qapi-schema/doc-good.out
TEST tests/qapi-schema/doc-invalid-end.out
TEST tests/qapi-schema/doc-invalid-end2.out
TEST tests/qapi-schema/doc-invalid-return.out
TEST tests/qapi-schema/doc-invalid-section.out
TEST tests/qapi-schema/doc-invalid-start.out
TEST tests/qapi-schema/doc-missing-colon.out
TEST tests/qapi-schema/doc-missing-expr.out
TEST tests/qapi-schema/doc-missing-space.out
TEST tests/qapi-schema/doc-missing.out
TEST tests/qapi-schema/doc-no-symbol.out
TEST tests/qapi-schema/double-data.out
TEST tests/qapi-schema/duplicate-key.out
TEST tests/qapi-schema/double-type.out
TEST tests/qapi-schema/empty.out
TEST tests/qapi-schema/enum-bad-name.out
TEST tests/qapi-schema/enum-bad-prefix.out
TEST tests/qapi-schema/enum-clash-member.out
TEST tests/qapi-schema/enum-dict-member.out
TEST tests/qapi-schema/enum-int-member.out
TEST tests/qapi-schema/enum-member-case.out
TEST tests/qapi-schema/enum-missing-data.out
TEST tests/qapi-schema/enum-wrong-data.out
TEST tests/qapi-schema/escape-outside-string.out
TEST tests/qapi-schema/escape-too-big.out
TEST tests/qapi-schema/escape-too-short.out
TEST tests/qapi-schema/event-boxed-empty.out
TEST tests/qapi-schema/event-case.out
TEST tests/qapi-schema/event-nest-struct.out
TEST tests/qapi-schema/flat-union-array-branch.out
TEST tests/qapi-schema/flat-union-bad-base.out
TEST tests/qapi-schema/flat-union-bad-discriminator.out
TEST tests/qapi-schema/flat-union-base-any.out
TEST tests/qapi-schema/flat-union-base-union.out
TEST tests/qapi-schema/flat-union-clash-member.out
TEST tests/qapi-schema/flat-union-empty.out
TEST tests/qapi-schema/flat-union-inline.out
TEST tests/qapi-schema/flat-union-int-branch.out
TEST tests/qapi-schema/flat-union-invalid-branch-key.out
TEST tests/qapi-schema/flat-union-invalid-discriminator.out
TEST tests/qapi-schema/flat-union-no-base.out
TEST tests/qapi-schema/flat-union-optional-discriminator.out
TEST tests/qapi-schema/funny-char.out
TEST tests/qapi-schema/ident-with-escape.out
TEST tests/qapi-schema/include-before-err.out
TEST tests/qapi-schema/flat-union-string-discriminator.out
TEST tests/qapi-schema/include-cycle.out
TEST tests/qapi-schema/include-extra-junk.out
TEST tests/qapi-schema/include-format-err.out
TEST tests/qapi-schema/include-nested-err.out
TEST tests/qapi-schema/include-no-file.out
TEST tests/qapi-schema/include-non-file.out
TEST tests/qapi-schema/include-relpath.out
TEST tests/qapi-schema/include-repetition.out
TEST tests/qapi-schema/include-self-cycle.out
TEST tests/qapi-schema/include-simple.out
TEST tests/qapi-schema/indented-expr.out
TEST tests/qapi-schema/leading-comma-list.out
TEST tests/qapi-schema/leading-comma-object.out
TEST tests/qapi-schema/missing-colon.out
TEST tests/qapi-schema/missing-comma-list.out
TEST tests/qapi-schema/missing-comma-object.out
TEST tests/qapi-schema/missing-type.out
TEST tests/qapi-schema/nested-struct-data.out
TEST tests/qapi-schema/non-objects.out
TEST tests/qapi-schema/oob-test.out
TEST tests/qapi-schema/allow-preconfig-test.out
TEST tests/qapi-schema/pragma-doc-required-crap.out
TEST tests/qapi-schema/pragma-extra-junk.out
TEST tests/qapi-schema/pragma-name-case-whitelist-crap.out
TEST tests/qapi-schema/pragma-non-dict.out
TEST tests/qapi-schema/pragma-returns-whitelist-crap.out
TEST tests/qapi-schema/qapi-schema-test.out
TEST tests/qapi-schema/redefined-builtin.out
TEST tests/qapi-schema/quoted-structural-chars.out
TEST tests/qapi-schema/redefined-command.out
TEST tests/qapi-schema/redefined-event.out
TEST tests/qapi-schema/redefined-type.out
TEST tests/qapi-schema/reserved-command-q.out
TEST tests/qapi-schema/reserved-enum-q.out
TEST tests/qapi-schema/reserved-member-has.out
TEST tests/qapi-schema/reserved-member-u.out
TEST tests/qapi-schema/reserved-member-q.out
TEST tests/qapi-schema/reserved-member-underscore.out
TEST tests/qapi-schema/reserved-type-kind.out
TEST tests/qapi-schema/reserved-type-list.out
TEST tests/qapi-schema/returns-alternate.out
TEST tests/qapi-schema/returns-array-bad.out
TEST tests/qapi-schema/returns-dict.out
TEST tests/qapi-schema/returns-unknown.out
TEST tests/qapi-schema/returns-whitelist.out
TEST tests/qapi-schema/struct-base-clash-deep.out
TEST tests/qapi-schema/struct-base-clash.out
TEST tests/qapi-schema/struct-data-invalid.out
TEST tests/qapi-schema/struct-member-invalid.out
TEST tests/qapi-schema/trailing-comma-list.out
TEST tests/qapi-schema/trailing-comma-object.out
TEST tests/qapi-schema/type-bypass-bad-gen.out
TEST tests/qapi-schema/unclosed-list.out
TEST tests/qapi-schema/unclosed-object.out
TEST tests/qapi-schema/unclosed-string.out
TEST tests/qapi-schema/unicode-str.out
TEST tests/qapi-schema/union-base-empty.out
TEST tests/qapi-schema/union-base-no-discriminator.out
TEST tests/qapi-schema/union-branch-case.out
TEST tests/qapi-schema/union-clash-branches.out
TEST tests/qapi-schema/union-empty.out
TEST tests/qapi-schema/union-invalid-base.out
TEST tests/qapi-schema/union-unknown.out
TEST tests/qapi-schema/union-optional-branch.out
TEST tests/qapi-schema/unknown-escape.out
TEST tests/qapi-schema/unknown-expr-key.out
GEN tests/qapi-schema/doc-good.test.texi
CC tests/check-block-qdict.o
CC tests/test-char.o
CC tests/check-qstring.o
CC tests/check-qnull.o
CC tests/check-qnum.o
CC tests/check-qlist.o
CC tests/check-qobject.o
CC tests/check-qjson.o
CC tests/check-qlit.o
CC tests/test-qobject-output-visitor.o
CC tests/test-qapi-visit.o
CC tests/test-qapi-types.o
CC tests/test-qapi-events.o
CC tests/test-qapi-introspect.o
CC tests/test-clone-visitor.o
CC tests/test-qobject-input-visitor.o
CC tests/test-qmp-cmds.o
CC tests/test-qapi-commands.o
CC tests/test-string-input-visitor.o
CC tests/test-string-output-visitor.o
CC tests/test-qmp-event.o
CC tests/test-opts-visitor.o
CC tests/test-coroutine.o
CC tests/iothread.o
CC tests/test-visitor-serialization.o
CC tests/test-iov.o
CC tests/test-aio.o
CC tests/test-aio-multithread.o
CC tests/test-throttle.o
CC tests/test-thread-pool.o
CC tests/test-hbitmap.o
CC tests/test-bdrv-drain.o
CC tests/test-blockjob.o
CC tests/test-blockjob-txn.o
CC tests/test-block-backend.o
CC tests/test-x86-cpuid.o
CC tests/test-xbzrle.o
CC tests/test-vmstate.o
CC tests/test-cutils.o
CC tests/test-shift128.o
CC tests/test-mul64.o
CC tests/test-int128.o
CC tests/rcutorture.o
CC tests/test-rcu-list.o
CC tests/test-qdist.o
CC tests/test-qht.o
CC tests/test-qht-par.o
CC tests/qht-bench.o
CC tests/test-bitops.o
CC tests/test-qdev-global-props.o
CC tests/test-bitcnt.o
CC tests/check-qom-proplist.o
CC tests/check-qom-interface.o
CC tests/test-qemu-opts.o
CC tests/test-keyval.o
CC tests/test-write-threshold.o
CC tests/test-crypto-hash.o
CC tests/test-crypto-hmac.o
CC tests/test-crypto-cipher.o
CC tests/test-crypto-secret.o
CC tests/test-qga.o
CC tests/libqtest.o
CC tests/test-timed-average.o
CC tests/test-util-sockets.o
CC tests/socket-helpers.o
CC tests/test-io-task.o
CC tests/test-io-channel-socket.o
CC tests/io-channel-helpers.o
CC tests/test-io-channel-file.o
CC tests/test-io-channel-command.o
CC tests/test-io-channel-buffer.o
CC tests/test-base64.o
CC tests/test-crypto-ivgen.o
CC tests/test-crypto-afsplit.o
CC tests/test-crypto-xts.o
CC tests/test-crypto-block.o
CC tests/test-logging.o
CC tests/test-replication.o
CC tests/test-bufferiszero.o
CC tests/test-uuid.o
CC tests/ptimer-test.o
CC tests/ptimer-test-stubs.o
CC tests/test-qapi-util.o
CC tests/vhost-user-test.o
CC tests/libqos/pci.o
CC tests/libqos/fw_cfg.o
CC tests/libqos/malloc.o
CC tests/libqos/i2c.o
CC tests/libqos/libqos.o
CC tests/libqos/malloc-spapr.o
CC tests/libqos/libqos-spapr.o
CC tests/libqos/rtas.o
CC tests/libqos/pci-spapr.o
CC tests/libqos/pci-pc.o
CC tests/libqos/malloc-pc.o
CC tests/libqos/libqos-pc.o
CC tests/libqos/ahci.o
CC tests/libqos/virtio.o
CC tests/libqos/virtio-pci.o
CC tests/libqos/virtio-mmio.o
CC tests/libqos/malloc-generic.o
CC tests/endianness-test.o
CC tests/fdc-test.o
CC tests/ide-test.o
CC tests/ahci-test.o
CC tests/hd-geo-test.o
CC tests/boot-order-test.o
CC tests/boot-sector.o
CC tests/bios-tables-test.o
CC tests/acpi-utils.o
CC tests/boot-serial-test.o
CC tests/pxe-test.o
CC tests/rtc-test.o
CC tests/ipmi-kcs-test.o
CC tests/ipmi-bt-test.o
CC tests/i440fx-test.o
CC tests/fw_cfg-test.o
CC tests/drive_del-test.o
CC tests/wdt_ib700-test.o
CC tests/tco-test.o
CC tests/e1000-test.o
CC tests/e1000e-test.o
CC tests/rtl8139-test.o
CC tests/pcnet-test.o
CC tests/ne2000-test.o
CC tests/eepro100-test.o
CC tests/nvme-test.o
CC tests/ac97-test.o
CC tests/es1370-test.o
CC tests/virtio-net-test.o
CC tests/virtio-balloon-test.o
CC tests/virtio-blk-test.o
CC tests/virtio-rng-test.o
CC tests/virtio-scsi-test.o
CC tests/virtio-serial-test.o
CC tests/virtio-console-test.o
CC tests/tpci200-test.o
CC tests/ipoctal232-test.o
CC tests/display-vga-test.o
CC tests/intel-hda-test.o
CC tests/ivshmem-test.o
CC tests/megasas-test.o
CC tests/vmxnet3-test.o
CC tests/pvpanic-test.o
CC tests/i82801b11-test.o
CC tests/ioh3420-test.o
CC tests/usb-hcd-ohci-test.o
CC tests/libqos/usb.o
CC tests/usb-hcd-uhci-test.o
CC tests/usb-hcd-ehci-test.o
CC tests/usb-hcd-xhci-test.o
CC tests/cpu-plug-test.o
CC tests/q35-test.o
CC tests/vmgenid-test.o
CC tests/tpm-crb-swtpm-test.o
CC tests/tpm-emu.o
CC tests/tpm-util.o
CC tests/tpm-tests.o
CC tests/tpm-crb-test.o
CC tests/tpm-tis-swtpm-test.o
CC tests/tpm-tis-test.o
CC tests/test-netfilter.o
CC tests/test-filter-redirector.o
CC tests/test-filter-mirror.o
CC tests/migration-test.o
CC tests/test-x86-cpuid-compat.o
CC tests/numa-test.o
CC tests/sdhci-test.o
CC tests/qmp-test.o
CC tests/device-introspect-test.o
CC tests/cdrom-test.o
CC tests/machine-none-test.o
CC tests/qom-test.o
CC tests/test-hmp.o
TEST decodetree.py
LINK tests/check-block-qdict
LINK tests/test-char
LINK tests/check-qnum
LINK tests/check-qstring
LINK tests/check-qlist
LINK tests/check-qnull
LINK tests/check-qobject
LINK tests/check-qjson
LINK tests/check-qlit
LINK tests/test-qobject-output-visitor
LINK tests/test-clone-visitor
LINK tests/test-qobject-input-visitor
LINK tests/test-qmp-cmds
LINK tests/test-string-input-visitor
LINK tests/test-string-output-visitor
LINK tests/test-qmp-event
LINK tests/test-opts-visitor
LINK tests/test-coroutine
LINK tests/test-visitor-serialization
LINK tests/test-iov
LINK tests/test-aio
LINK tests/test-aio-multithread
LINK tests/test-throttle
LINK tests/test-thread-pool
LINK tests/test-hbitmap
LINK tests/test-bdrv-drain
LINK tests/test-blockjob
LINK tests/test-blockjob-txn
LINK tests/test-block-backend
LINK tests/test-x86-cpuid
LINK tests/test-xbzrle
LINK tests/test-vmstate
LINK tests/test-cutils
LINK tests/test-shift128
LINK tests/test-mul64
LINK tests/test-int128
LINK tests/rcutorture
LINK tests/test-rcu-list
LINK tests/test-qdist
LINK tests/test-qht
LINK tests/qht-bench
LINK tests/test-bitops
LINK tests/test-bitcnt
LINK tests/test-qdev-global-props
LINK tests/check-qom-interface
LINK tests/check-qom-proplist
LINK tests/test-qemu-opts
LINK tests/test-keyval
LINK tests/test-write-threshold
LINK tests/test-crypto-hash
LINK tests/test-crypto-hmac
LINK tests/test-crypto-cipher
LINK tests/test-crypto-secret
LINK tests/test-qga
LINK tests/test-timed-average
LINK tests/test-util-sockets
LINK tests/test-io-task
LINK tests/test-io-channel-socket
LINK tests/test-io-channel-file
LINK tests/test-io-channel-command
LINK tests/test-io-channel-buffer
LINK tests/test-base64
LINK tests/test-crypto-ivgen
LINK tests/test-crypto-afsplit
LINK tests/test-crypto-xts
LINK tests/test-crypto-block
LINK tests/test-logging
LINK tests/test-replication
LINK tests/test-bufferiszero
LINK tests/test-uuid
LINK tests/ptimer-test
LINK tests/test-qapi-util
LINK tests/vhost-user-test
LINK tests/endianness-test
LINK tests/fdc-test
LINK tests/ide-test
LINK tests/ahci-test
LINK tests/hd-geo-test
LINK tests/boot-order-test
LINK tests/bios-tables-test
LINK tests/boot-serial-test
LINK tests/pxe-test
LINK tests/rtc-test
LINK tests/ipmi-kcs-test
LINK tests/ipmi-bt-test
LINK tests/i440fx-test
LINK tests/fw_cfg-test
LINK tests/drive_del-test
LINK tests/wdt_ib700-test
LINK tests/tco-test
LINK tests/e1000-test
LINK tests/e1000e-test
LINK tests/rtl8139-test
LINK tests/pcnet-test
LINK tests/eepro100-test
LINK tests/ne2000-test
LINK tests/nvme-test
LINK tests/ac97-test
LINK tests/es1370-test
LINK tests/virtio-net-test
LINK tests/virtio-balloon-test
LINK tests/virtio-blk-test
LINK tests/virtio-rng-test
LINK tests/virtio-scsi-test
LINK tests/virtio-serial-test
LINK tests/virtio-console-test
LINK tests/tpci200-test
LINK tests/ipoctal232-test
LINK tests/display-vga-test
LINK tests/intel-hda-test
LINK tests/ivshmem-test
LINK tests/megasas-test
LINK tests/vmxnet3-test
LINK tests/pvpanic-test
LINK tests/i82801b11-test
LINK tests/ioh3420-test
LINK tests/usb-hcd-ohci-test
LINK tests/usb-hcd-uhci-test
LINK tests/usb-hcd-ehci-test
LINK tests/usb-hcd-xhci-test
LINK tests/cpu-plug-test
LINK tests/q35-test
LINK tests/vmgenid-test
LINK tests/tpm-crb-swtpm-test
LINK tests/tpm-crb-test
LINK tests/tpm-tis-swtpm-test
LINK tests/tpm-tis-test
LINK tests/test-netfilter
LINK tests/test-filter-mirror
LINK tests/test-filter-redirector
LINK tests/migration-test
LINK tests/test-x86-cpuid-compat
LINK tests/numa-test
LINK tests/sdhci-test
LINK tests/qmp-test
LINK tests/device-introspect-test
LINK tests/cdrom-test
LINK tests/machine-none-test
LINK tests/qom-test
LINK tests/test-hmp
GTESTER tests/check-block-qdict
GTESTER tests/test-char
GTESTER tests/check-qnum
GTESTER tests/check-qstring
GTESTER tests/check-qlist
GTESTER tests/check-qnull
GTESTER tests/check-qobject
GTESTER tests/check-qlit
GTESTER tests/check-qjson
GTESTER tests/test-clone-visitor
GTESTER tests/test-qobject-output-visitor
GTESTER tests/test-qobject-input-visitor
GTESTER tests/test-qmp-cmds
GTESTER tests/test-string-input-visitor
GTESTER tests/test-string-output-visitor
GTESTER tests/test-qmp-event
GTESTER tests/test-opts-visitor
GTESTER tests/test-coroutine
GTESTER tests/test-visitor-serialization
GTESTER tests/test-iov
GTESTER tests/test-aio
GTESTER tests/test-aio-multithread
GTESTER tests/test-throttle
GTESTER tests/test-thread-pool
GTESTER tests/test-hbitmap
GTESTER tests/test-bdrv-drain
GTESTER tests/test-blockjob
GTESTER tests/test-blockjob-txn
GTESTER tests/test-block-backend
GTESTER tests/test-x86-cpuid
GTESTER tests/test-xbzrle
GTESTER tests/test-vmstate
GTESTER tests/test-cutils
GTESTER tests/test-shift128
GTESTER tests/test-mul64
GTESTER tests/test-int128
GTESTER tests/rcutorture
GTESTER tests/test-rcu-list
GTESTER tests/test-qdist
GTESTER tests/test-qht
LINK tests/test-qht-par
GTESTER tests/test-bitops
GTESTER tests/test-bitcnt
GTESTER tests/test-qdev-global-props
GTESTER tests/check-qom-interface
GTESTER tests/check-qom-proplist
GTESTER tests/test-qemu-opts
GTESTER tests/test-keyval
GTESTER tests/test-write-threshold
GTESTER tests/test-crypto-hash
GTESTER tests/test-crypto-hmac
GTESTER tests/test-crypto-cipher
GTESTER tests/test-crypto-secret
GTESTER tests/test-qga
GTESTER tests/test-timed-average
GTESTER tests/test-util-sockets
GTESTER tests/test-io-task
GTESTER tests/test-io-channel-socket
GTESTER tests/test-io-channel-file
GTESTER tests/test-io-channel-command
GTESTER tests/test-io-channel-buffer
GTESTER tests/test-base64
GTESTER tests/test-crypto-ivgen
GTESTER tests/test-crypto-afsplit
GTESTER tests/test-crypto-xts
GTESTER tests/test-crypto-block
GTESTER tests/test-logging
GTESTER tests/test-replication
GTESTER tests/test-bufferiszero
GTESTER tests/test-uuid
GTESTER tests/ptimer-test
GTESTER tests/test-qapi-util
GTESTER check-qtest-x86_64
GTESTER check-qtest-aarch64
GTESTER tests/test-qht-par
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S742b5ac82cc465c2b2b0479cfef7d160
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
GTester: last random seed: R02Se170a847aacf15d61e9e3bd025850c07
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sff04b8e486e47a19050105768e77485e
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S9868b817b6c493175f6578f6819ce827
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa348e0513ef43b792d1e5af0f977a0c2
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S481fc1ee3a57d584b1fc3f26a1ba0068
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S207a6db6cd18bb6f9e288655337c64ca
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S3cc18149c22321f8a414865064e73daa
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S0ad718e5158bb866d6ebec3c8d48a953
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sab3747b60593325b1bf91f7a7b6823dd
GTester: last random seed: R02S5274349878236c813fd6c843ae0ad68e
GTester: last random seed: R02Sd1db640004c68b7d1727f26f864f7ac3
ide-test: /tmp/qemu-test/src/tests/libqos/pci-pc.c:122: qpci_init_pc: Assertion `qts' failed.
GTester: last random seed: R02S4b3dcebd0a57fd2aba1a6ec869f58dd3
ide-test: /tmp/qemu-test/src/tests/libqos/pci-pc.c:122: qpci_init_pc: Assertion `qts' failed.
GTester: last random seed: R02Se521e39a1befc0858b3b8b0141bef511
ide-test: /tmp/qemu-test/src/tests/libqos/pci-pc.c:122: qpci_init_pc: Assertion `qts' failed.
GTester: last random seed: R02Sf845673a407d16fdb3a6ed13229dd53c
ide-test: /tmp/qemu-test/src/tests/libqos/pci-pc.c:122: qpci_init_pc: Assertion `qts' failed.
GTester: last random seed: R02Sb5b5c4d3633bf41d8d62c89c20986ee3
GTester: last random seed: R02Sf583b3341fe686c589fc99b065a97393
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S48504c0e689c4b35e9df96fb7c4e0e4f
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sd0e14277065f4fab705678735a42e08b
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sef25e1e4d44b74253a43116daf7fe0be
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S193c3590f39596c2c183b9964eceb17d
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa9d5566f9d824bc97a4615408e7461ac
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S0360243503eb3a3852d523df0078d6a4
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S28623554089ffda4ca0ccea3111dfbd9
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sf3c2e99b344bfeea66d3ac30a0ba177f
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S8a6084312137862de1e7b4d1e043c2ab
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sf897006c4bf34e284125a951ce8f5c36
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sd3f036f6c6cd3e92d32d6c1f2742a4e3
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sf3521392f1973dbadfea323b64559482
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sdc08efebed2506fc97b3fdbd7e63d06d
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S0727d371511a511a448da70725b6a73a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S9863df57a8591c43b679b0e4a109e6b4
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S6b025fd3b63bf8db3530b35a73a693bd
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa930f4ce6be6dcf005a5825576cff73f
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S9962344c87dfaadef53e6d4518dac1ad
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S6562668b5c86aea7c655b71e424fc05e
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S20730d7364ea1abfd9da51a79b6cb7c4
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S7115eb83cb1cdf16eeb469906b91556b
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S0079d2400a6a06cecebf08d0b055bf1c
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Scfae6b39a4a2067d9b5c69ed5732752a
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S15cff34f106edefdc4f9df95d614814d
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S71fe754ff2ad5f153024149c289e2214
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S479b059bd649faa6836659ab1167fab5
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sb227542e8ba200c7a2791536b427f7e7
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S2b0872cd0d3317639ea7438bb7d0112f
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S1c53eec44d77041b6d2f495da7a1108e
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S97cdfdf2c47cc7ec86cdda7aa08ab242
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S01efa53cb1ab3bdd6f59f7c74243bdf3
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Se0895adffaff36d934de7eb4f6e9a999
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S956039e585dbd5c7662b734495d14d95
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S5d764583633fa913b46b9c3f2ca063f1
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S59373a540b12e1fa8c21ddd999d64a44
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S134c91ba17a1588e4af0aac0f5c1d57a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa4c1e2d4add9659fa8b5cb770c4aa6de
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sf84dce16afe4334c15e793721f87fe78
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Scd1061d679678059e48e80ba482d8cbb
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S99b8ad88b18be03a7280d597db144986
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S55ee4b3517b9a3c58eb98289ee9d4a6e
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S4fb0a0445a7bf93c047f6f472787f57c
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S9b6692c70299009d2ca1f2d0cec3fb49
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S0d1fe5a18dd45ee0123a87c22a10d9e4
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S3c2f761c0e8e7e457e07723cd5bd118b
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S841d76469b8a0c548ba93ba0e2471d95
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S550c190bc53c10085a600db138399cc0
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S7d111de247ce88a43e7c7d5fa1898a3b
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S95912b0a8fea0e8713ba0fb617a8c083
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sba0f87b01d672ca998c168ca5fa04cad
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S44033f8e7190bb849ad52ec3fae404c0
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sfdbafe8afad33fd3fb6ff9364717d0d6
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sed3b495ce43639e540b515a8c2727dba
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S2df4f458663744aacc546577cde86414
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S39170891f77c8f624f833ac270e82084
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S1f2d3b46cbf6000736fa31bbee2f509a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S353b208a51796710f7a2bea603a17709
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S876f897d963c4ab644510380f6ad6062
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S97ee245f913409a57dc2437a63d06ac4
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sf86057fed4ac0396ce7493bb0705b7af
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S2a920bc08aaeb09bd648e766192b6958
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sb2a473b7f521ae0d0a40a86ddd8a5b4f
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sc504aeb8b35ba2d375e1c14fb76dcc1a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Scc9e71496a342ffb3362c6df7a20dca2
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S3242b709ec6768e6b147f095e14fd8b8
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S9dfa86fa3b6c419959c81e5d5c114534
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S4852ceb7565a42fc91083c1abad5d398
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sb66d94c00a10ed710dee042455763e55
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S77bb100d6b526b7348a18c5ab97e7fcb
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sf19e3103943ff41d27bd9db55a1eca08
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S2a531a4e61acaac9a95daa2be583e642
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa2e4c56fb48a9d32b931b3a2ef6d838e
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S2a9aee780ebbba73f79c5090c36e435b
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S3b7b0b833ee932ac0f9e1574473ea8a6
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S92fe0909b306eff83193b0af2dc367e0
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S0be2470bc2cf1b5e0ea2e80f3db95cf6
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S21452e480ba27d5dba0daaa31bd932ec
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S68a89dd829e17fafba8889275499f9a6
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sd9c5d552f4068cc64a79e8ea641bceda
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S193e27c012c9a5a035548f836ead038c
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S1dd86db059fab846f2c6bc7dc57b0d7d
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S6f32dcec937e6b5837ac4ff18ac186c8
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S3419f5b8e09174b0615d68f4d580a99c
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S70d58b4aa2c748084a197c5446bc62e6
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sc2f2a5a71c2aa2d19c797dd4ba67e7d1
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S40027e6135f13097773cbafe115003ab
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sc827bae2d1398d25cba996b50b878b6a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sd8a48675a91ac3f5c241331a04899b75
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S41fd2ffa1b4781b25513cf16b2ffb1cc
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S4d318f2c1af93603a3d1da0cd1c846e9
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S4033f9a6e454a2e8be3bbdfb41af46fc
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S99b1cc2ac87384fc6c2d6c08246e09c4
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S9c5848462e1119cf60aeb27da56644d8
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sd21476b336ceba00497ae79a4ab0bb32
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S13435b235e219be0ab8f50f33e3daf5a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa31c282dd7d264329a8357d734430e7a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S97405f21d372e65f3d6070b3df611699
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sbfb60502c08d53631fe0741bfe02597f
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S15e276cb4f8dd58cce92f61f35891fc0
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S981bebff7e6eb52cca00b950cb78ca00
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S28062ef87bca931ad1ef62536e1fc34f
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S2a3dcabd6361ea5f2c0a550bed57f231
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S53890ff4872004d97a3ebc2773f25eb2
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S6c38e0357c1a524ca89ceb68a6879c62
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sf8d047cfa1f147ce3b485aa8a10071b2
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S7b9e6eff1340e5bf64b6a89babae941c
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa8fc7139a2c4df3aec6311678e00c23f
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sb51d6b51716400070b765884a0a13f7b
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S40255a9cb6724567db112ab7d1c3426b
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Se5dd7d3b65df22615747d339d2afa05c
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa4575f09800190d90d6f5f5f7c2206e0
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S5008da6177f40522f23eb6c1e8bc0be4
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S1b7eb10dd221d173c52bc0d6da8f92c4
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S32dc7c8531646f67c23c2a7867cae729
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sdd0958d8e73ca531534ded85de294c21
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S572807bc23c03930dbf2dc6ba495f4e8
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S5d77ff8174b755c9f9c8baa4a76c463c
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Scd8e9e46b537cc2332d790cc3b4a3615
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sddd6d71ef4ec5b5d26f5bc4ff7499e20
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S691d280bbe2c6f285bc9b1ac05098ace
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Se592a419d16d81fe616dc4e32f6b1d3a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S91e6f804bb223207e85a44bb84bb1a9f
(tests/test-filter-mirror:12541): GLib-CRITICAL **: g_hook_destroy_link: assertion 'hook != NULL' failed
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S09dcb9238e155022304dd4a89b949ad6
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S964904c9f999c959962b12f183a6366f
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Se343cdc3a0de1d8f0610155b64af9412
Broken pipe
GTester: last random seed: R02S1f3d3876f81786c296f962a664bb14a1
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S30b3afca822102e869adecf407e90a34
Broken pipe
GTester: last random seed: R02Sb1556abe9819798ca3ab8588e8d566ef
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S1ff9c2ea04ac3fa6b0668b6fd043c29d
**
ERROR:/tmp/qemu-test/src/tests/test-x86-cpuid-compat.c:206:test_plus_minus: child process (/x86/cpuid/parsing-plus-minus/subprocess [12584]) failed unexpectedly
GTester: last random seed: R02S40823ac2b623b113d79edb429333fb75
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Saa9e1b0d5096becf07d147cc207ef17a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S558cd16ccd293ee3d2ca9815ef2cdfac
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S90df65f903f2d5674be43e54dce0a2a6
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa75c0289c080ea59ccd1b52154a39df5
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Se8514aa61d4b5ed7cc1e72127492c7ba
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S995711088d4fa259a0f56ddf43609740
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sf3b702e91042c3b4a505009c70664d94
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S6447ec5fd5c2c7592c3797860bc48857
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa9750c4ec1ba22e441041d6a6e25a91d
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S0d1d4625ade44f1aaeb8f75e449dba91
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S96c1777b6d5df05b451a5dad398d3eb7
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sd58c81740b6fa30592f6c9bc7fd3cd34
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S567e833f7ff94ca3614d29798270545c
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S50686b9561aa9242f44c3c1286d49883
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sab573b07a0d19fa6c0878181e8e2e7f3
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S84d065854358b8edbcf65bb8049def8b
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S9e519026bd5a72e4503c722f9b49802b
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S2d7e8ab99eefd6aa659710443be9d167
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S746e9f4e4599f99bff7907166571fdf3
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S55ad39f70ead73dc8c9400bc48b6d973
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sdc8e7313c03933a4cd03cdce3c088fd1
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sfe3bcad5d83f8f1c2a228087f3835549
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S95b555ec0f9c074905164fd9a6bacae7
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa013e47bdf19f3cd4b3a1c241484f752
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sbea1ecc1d0cb013b829faa4da475033a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa62825c7a174be9d0367b0b36d71570e
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S1be9e91ea585ccd77142cf81429f8d62
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S7e0abb50befba3be229452cf72d2be6b
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sf9dbd8fd6c131c7681217dcb174b7500
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sb65fa1e7a3ce76d34ce233020f7ac30d
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S0e1fec4c4f1e18c059c0e165a5defa5d
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S3eb64bd5d255e5f9dbe4e2a9eae20254
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S19a21d32a3ba32e639610afc7dc4d74d
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sc988c4d038b61e717747fec6bde0ab64
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sa496e4f084fc43d7c02da4ca69e9da4f
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sb909ca52763a81ffaa0f896bf3642fcb
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S9be22f7d371b82537f16828b3ab664c6
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S83d4c918582bb383b023fe7fac806320
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S6ddf0ad850b7981b56bd9558515e09b1
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Scdbf2a2a1ef3dbd28b77785bbb5424c0
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S84168e8c95800ef44f53252b672796a7
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sc9937533a9f2b69717da366f73dccafb
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sb4a71a2b5b7963f370f8b1e7b7ee707f
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S4d2fc6965db2bed8e3f41bea9c34a9e6
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S43e3773b18dbd06ea48c8a952fe8d959
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S49a9fa8c6fef826177620bb3c5f6b34b
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S13e42486c813df3b934528bcb3e8e636
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sfc5ac5da5d748e7a71ccd723a8153615
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S0247fa6f9dd53d0511a3c42d6ed2d1f5
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S21df447f48bcce60f7a9bc003b6b3b74
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S95c86219557c207598d295ac2f2dc1ed
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S3dbe2842724971add03cfc76de0dacf2
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Se3bdab465fbb8525f34a9770bac1b992
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S61a250f8c5958fddefd8812d8d68940b
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S60fc118e1a7538a724b245ed542033a7
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sd8514f8b8aeeece6582bf05f34859f5d
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Se904367d2c7720f6cc756fcf0d9dada8
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S8cc46e1e3e4cf15f5fba0836c870f0f5
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S178aba34f02542da8a18cccff72da4f7
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S7dba2948130cff2c6b2618144830e9e5
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S71668d0aa08021216d9ccd43a1669e82
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S21b87d4b1bafc9d1bd8061f0ac50530c
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S463ddb538156fa73838714e52999f264
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sefbe062f39e0659519105a4104583f55
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S6b204200f462b3efe909920cbd487df6
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S74a0fb126f652f77026ef2033c8d2cb6
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S0022f3d8297b410d738cafd3cb53b0f2
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S0cf5d62dafdfa0a64381ff4c402a6428
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S6128ad5f6d183a0168459a096ef0c576
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sf4636e5a7968486f8f492c5d31b9063c
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Se01bb8434afc139b65d1f39100da0d01
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S1e7e12c7fea108978ca61716f7876384
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S3f4501e89e34c2e01ffade807ac8383a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S6a53b1f32dff79f7e07b65109ba03b7f
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S70a8346ccdb8d3fa8b4439f56aaa869a
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sf1597945aae585bd6af899531dcccadb
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sac078c310bf097e9df89fcf1567ea2e4
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Sd1e1307b904991fbd24b3dc3173a2dee
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S7dd3e5f7063b07e04f454c6e6fd50a88
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02S822a5e5fd7a175e0eea1446db9e90e19
qemu-system-x86_64: /tmp/qemu-test/src/hw/i386/acpi-build.c:2144: build_dsdt: Assertion `o' failed.
Broken pipe
GTester: last random seed: R02Saa923108bba86843ab259496a991daf0
make: *** [check-qtest-x86_64] Error 1
Traceback (most recent call last):
File "./tests/docker/docker.py", line 565, in <module>
sys.exit(main())
File "./tests/docker/docker.py", line 562, in main
return args.cmdobj.run(args, argv)
File "./tests/docker/docker.py", line 308, in run
return Docker().run(argv, args.keep, quiet=args.quiet)
File "./tests/docker/docker.py", line 276, in run
quiet=quiet)
File "./tests/docker/docker.py", line 183, 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 '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=3b45ded6961211e8ae2c52540069c830', '-u', '1000', '--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', '/home/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-jyd69_3_/src/docker-src.2018-08-02-01.09.12.32601:/var/tmp/qemu:z,ro', 'qemu:centos7', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 2
make[1]: *** [tests/docker/Makefile.include:213: docker-run] Error 1
make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-jyd69_3_/src'
make: *** [tests/docker/Makefile.include:247: docker-run-test-quick@centos7] Error 2
real 14m17.830s
user 0m5.194s
sys 0m4.407s
=== OUTPUT END ===
Test command exited with code: 2
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [RFC v3 1/6] pci_expander_bridge: add type TYPE_PXB_PCIE_HOST
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 1/6] pci_expander_bridge: add type TYPE_PXB_PCIE_HOST Zihan Yang
@ 2018-08-06 11:46 ` Marcel Apfelbaum
2018-08-07 5:18 ` Zihan Yang
0 siblings, 1 reply; 13+ messages in thread
From: Marcel Apfelbaum @ 2018-08-06 11:46 UTC (permalink / raw)
To: Zihan Yang, qemu-devel; +Cc: Michael S. Tsirkin
On 08/02/2018 05:45 AM, Zihan Yang wrote:
> The inner host bridge created by pxb-pcie is TYPE_PXB_PCI_HOST by default,
> change it to a new type TYPE_PXB_PCIE_HOST to better utilize ECAM of PCIe
After an offline conversation we decided to not review this version
and wait for the next one, that will come with a SeaBIOS counterpart series.
Zihan, please be sure to add 'patch 0 ' to the series where we can discuss
the series status.
Thanks,
Marcel
> Signed-off-by: Zihan Yang <whois.zihan.yang@gmail.com>
> ---
> hw/pci-bridge/pci_expander_bridge.c | 127 ++++++++++++++++++++++++++++++++++--
> 1 file changed, 122 insertions(+), 5 deletions(-)
>
> diff --git a/hw/pci-bridge/pci_expander_bridge.c b/hw/pci-bridge/pci_expander_bridge.c
> index e62de42..6dd38de 100644
> --- a/hw/pci-bridge/pci_expander_bridge.c
> +++ b/hw/pci-bridge/pci_expander_bridge.c
> @@ -15,10 +15,12 @@
> #include "hw/pci/pci.h"
> #include "hw/pci/pci_bus.h"
> #include "hw/pci/pci_host.h"
> +#include "hw/pci/pcie_host.h"
> #include "hw/pci/pci_bridge.h"
> #include "qemu/range.h"
> #include "qemu/error-report.h"
> #include "sysemu/numa.h"
> +#include "qapi/visitor.h"
>
> #define TYPE_PXB_BUS "pxb-bus"
> #define PXB_BUS(obj) OBJECT_CHECK(PXBBus, (obj), TYPE_PXB_BUS)
> @@ -40,11 +42,20 @@ typedef struct PXBBus {
> #define TYPE_PXB_PCIE_DEVICE "pxb-pcie"
> #define PXB_PCIE_DEV(obj) OBJECT_CHECK(PXBDev, (obj), TYPE_PXB_PCIE_DEVICE)
>
> +#define PROP_PXB_PCIE_DEV "pxbdev"
> +
> +#define PROP_PXB_PCIE_DOMAIN_NR "domain_nr"
> +#define PROP_PXB_PCIE_MAX_BUS "max_bus"
> +#define PROP_PXB_BUS_NR "bus_nr"
> +#define PROP_PXB_NUMA_NODE "numa_node"
> +
> typedef struct PXBDev {
> /*< private >*/
> PCIDevice parent_obj;
> /*< public >*/
>
> + uint32_t domain_nr; /* PCI domain number, non-zero means separate domain */
> + uint8_t max_bus; /* max bus number to use(including this one) */
> uint8_t bus_nr;
> uint16_t numa_node;
> } PXBDev;
> @@ -58,6 +69,16 @@ static PXBDev *convert_to_pxb(PCIDevice *dev)
> static GList *pxb_dev_list;
>
> #define TYPE_PXB_HOST "pxb-host"
> +#define TYPE_PXB_PCIE_HOST "pxb-pcie-host"
> +#define PXB_PCIE_HOST_DEVICE(obj) \
> + OBJECT_CHECK(PXBPCIEHost, (obj), TYPE_PXB_PCIE_HOST)
> +
> +typedef struct PXBPCIEHost {
> + PCIExpressHost parent_obj;
> +
> + /* pointers to PXBDev */
> + PXBDev *pxbdev;
> +} PXBPCIEHost;
>
> static int pxb_bus_num(PCIBus *bus)
> {
> @@ -111,6 +132,35 @@ static const char *pxb_host_root_bus_path(PCIHostState *host_bridge,
> return bus->bus_path;
> }
>
> +/* Use a dedicated function for PCIe since pxb-host does
> + * not have a domain_nr field */
> +static const char *pxb_pcie_host_root_bus_path(PCIHostState *host_bridge,
> + PCIBus *rootbus)
> +{
> + if (!pci_bus_is_express(rootbus)) {
> + /* pxb-pcie-host cannot reside on a PCI bus */
> + return NULL;
> + }
> + PXBBus *bus = PXB_PCIE_BUS(rootbus);
> +
> + /* get the pointer to PXBDev */
> + Object *obj = object_property_get_link(OBJECT(host_bridge),
> + PROP_PXB_PCIE_DEV, NULL);
> +
> + snprintf(bus->bus_path, 8, "%04lx:%02x",
> + object_property_get_uint(obj, PROP_PXB_PCIE_DOMAIN_NR, NULL),
> + pxb_bus_num(rootbus));
> + return bus->bus_path;
> +}
> +
> +static void pxb_pcie_host_get_mmcfg_size(Object *obj, Visitor *v, const char *name,
> + void *opaque, Error **errp)
> +{
> + PCIExpressHost *e = PCIE_HOST_BRIDGE(obj);
> +
> + visit_type_uint64(v, name, &e->size, errp);
> +}
> +
> static char *pxb_host_ofw_unit_address(const SysBusDevice *dev)
> {
> const PCIHostState *pxb_host;
> @@ -142,6 +192,31 @@ static char *pxb_host_ofw_unit_address(const SysBusDevice *dev)
> return NULL;
> }
>
> +static void pxb_pcie_host_initfn(Object *obj)
> +{
> + PXBPCIEHost *s = PXB_PCIE_HOST_DEVICE(obj);
> + PCIHostState *phb = PCI_HOST_BRIDGE(obj);
> +
> + memory_region_init_io(&phb->conf_mem, obj, &pci_host_conf_le_ops, phb,
> + "pci-conf-idx", 4);
> + memory_region_init_io(&phb->data_mem, obj, &pci_host_data_le_ops, phb,
> + "pci-conf-data", 4);
> +
> + object_property_add(obj, PCIE_HOST_MCFG_SIZE, "uint64",
> + pxb_pcie_host_get_mmcfg_size,
> + NULL, NULL, NULL, NULL);
> +
> + object_property_add_link(obj, PROP_PXB_PCIE_DEV, TYPE_PXB_PCIE_DEVICE,
> + (Object **)&s->pxbdev,
> + qdev_prop_allow_set_link_before_realize, 0, NULL);
> +}
> +
> +static Property pxb_pcie_host_props[] = {
> + DEFINE_PROP_UINT64(PCIE_HOST_MCFG_BASE, PXBPCIEHost, parent_obj.base_addr,
> + PCIE_BASE_ADDR_UNMAPPED),
> + DEFINE_PROP_END_OF_LIST(),
> +};
> +
> static void pxb_host_class_init(ObjectClass *class, void *data)
> {
> DeviceClass *dc = DEVICE_CLASS(class);
> @@ -155,12 +230,34 @@ static void pxb_host_class_init(ObjectClass *class, void *data)
> hc->root_bus_path = pxb_host_root_bus_path;
> }
>
> +static void pxb_pcie_host_class_init(ObjectClass *class, void *data)
> +{
> + DeviceClass *dc = DEVICE_CLASS(class);
> + SysBusDeviceClass *sbc = SYS_BUS_DEVICE_CLASS(class);
> + PCIHostBridgeClass *hc = PCI_HOST_BRIDGE_CLASS(class);
> +
> + dc->fw_name = "pcie";
> + dc->props = pxb_pcie_host_props;
> + /* Reason: Internal part of the pxb/pxb-pcie device, not usable by itself */
> + dc->user_creatable = false;
> + sbc->explicit_ofw_unit_address = pxb_host_ofw_unit_address;
> + hc->root_bus_path = pxb_pcie_host_root_bus_path;
> +}
> +
> static const TypeInfo pxb_host_info = {
> .name = TYPE_PXB_HOST,
> .parent = TYPE_PCI_HOST_BRIDGE,
> .class_init = pxb_host_class_init,
> };
>
> +static const TypeInfo pxb_pcie_host_info = {
> + .name = TYPE_PXB_PCIE_HOST,
> + .parent = TYPE_PCIE_HOST_BRIDGE,
> + .instance_size = sizeof(PXBPCIEHost),
> + .instance_init = pxb_pcie_host_initfn,
> + .class_init = pxb_pcie_host_class_init,
> +};
> +
> /*
> * Registers the PXB bus as a child of pci host root bus.
> */
> @@ -205,7 +302,10 @@ static gint pxb_compare(gconstpointer a, gconstpointer b)
> {
> const PXBDev *pxb_a = a, *pxb_b = b;
>
> - return pxb_a->bus_nr < pxb_b->bus_nr ? -1 :
> + /* check domain_nr, then bus_nr */
> + return pxb_a->domain_nr < pxb_b->domain_nr ? -1 :
> + pxb_a->domain_nr > pxb_b->domain_nr ? 1 :
> + pxb_a->bus_nr < pxb_b->bus_nr ? -1 :
> pxb_a->bus_nr > pxb_b->bus_nr ? 1 :
> 0;
> }
> @@ -228,10 +328,16 @@ static void pxb_dev_realize_common(PCIDevice *dev, bool pcie, Error **errp)
> dev_name = dev->qdev.id;
> }
>
> - ds = qdev_create(NULL, TYPE_PXB_HOST);
> if (pcie) {
> + g_assert (pxb->max_bus >= pxb->bus_nr);
> + ds = qdev_create(NULL, TYPE_PXB_PCIE_HOST);
> +
> + object_property_set_link(OBJECT(ds), OBJECT(pxb),
> + PROP_PXB_PCIE_DEV, NULL);
> +
> bus = pci_root_bus_new(ds, dev_name, NULL, NULL, 0, TYPE_PXB_PCIE_BUS);
> } else {
> + ds = qdev_create(NULL, TYPE_PXB_HOST);
> bus = pci_root_bus_new(ds, "pxb-internal", NULL, NULL, 0, TYPE_PXB_BUS);
> bds = qdev_create(BUS(bus), "pci-bridge");
> bds->id = dev_name;
> @@ -289,8 +395,18 @@ static void pxb_dev_exitfn(PCIDevice *pci_dev)
>
> static Property pxb_dev_properties[] = {
> /* Note: 0 is not a legal PXB bus number. */
> - DEFINE_PROP_UINT8("bus_nr", PXBDev, bus_nr, 0),
> - DEFINE_PROP_UINT16("numa_node", PXBDev, numa_node, NUMA_NODE_UNASSIGNED),
> + DEFINE_PROP_UINT8(PROP_PXB_BUS_NR, PXBDev, bus_nr, 0),
> + DEFINE_PROP_UINT16(PROP_PXB_NUMA_NODE, PXBDev, numa_node, NUMA_NODE_UNASSIGNED),
> + DEFINE_PROP_END_OF_LIST(),
> +};
> +
> +static Property pxb_pcie_dev_properties[] = {
> + DEFINE_PROP_UINT8(PROP_PXB_BUS_NR, PXBDev, bus_nr, 0),
> + DEFINE_PROP_UINT16(PROP_PXB_NUMA_NODE, PXBDev, numa_node, NUMA_NODE_UNASSIGNED),
> + DEFINE_PROP_UINT32(PROP_PXB_PCIE_DOMAIN_NR, PXBDev, domain_nr, 0),
> + /* set a small default value, bus interval is [bus_nr, max_bus] */
> + DEFINE_PROP_UINT8(PROP_PXB_PCIE_MAX_BUS, PXBDev, max_bus, 16),
> +
> DEFINE_PROP_END_OF_LIST(),
> };
>
> @@ -344,7 +460,7 @@ static void pxb_pcie_dev_class_init(ObjectClass *klass, void *data)
> k->class_id = PCI_CLASS_BRIDGE_HOST;
>
> dc->desc = "PCI Express Expander Bridge";
> - dc->props = pxb_dev_properties;
> + dc->props = pxb_pcie_dev_properties;
> dc->hotpluggable = false;
> set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
> }
> @@ -365,6 +481,7 @@ static void pxb_register_types(void)
> type_register_static(&pxb_bus_info);
> type_register_static(&pxb_pcie_bus_info);
> type_register_static(&pxb_host_info);
> + type_register_static(&pxb_pcie_host_info);
> type_register_static(&pxb_dev_info);
> type_register_static(&pxb_pcie_dev_info);
> }
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [RFC v3 1/6] pci_expander_bridge: add type TYPE_PXB_PCIE_HOST
2018-08-06 11:46 ` Marcel Apfelbaum
@ 2018-08-07 5:18 ` Zihan Yang
0 siblings, 0 replies; 13+ messages in thread
From: Zihan Yang @ 2018-08-07 5:18 UTC (permalink / raw)
To: qemu-devel, Marcel Apfelbaum; +Cc: Michael S. Tsirkin
Marcel Apfelbaum <marcel.apfelbaum@gmail.com> 于2018年8月6日周一 下午7:46写道:
>
>
>
> On 08/02/2018 05:45 AM, Zihan Yang wrote:
> > The inner host bridge created by pxb-pcie is TYPE_PXB_PCI_HOST by default,
> > change it to a new type TYPE_PXB_PCIE_HOST to better utilize ECAM of PCIe
>
> After an offline conversation we decided to not review this version
> and wait for the next one, that will come with a SeaBIOS counterpart series.
Yes, there are also a few trivial bugs that I fix later. I'm preparing
for a new patch set,
and a patch set in seabios.
> Zihan, please be sure to add 'patch 0 ' to the series where we can discuss
> the series status.
There actually is a patch 0, but it seems the cccmd does not apply the
patch 0 automatically,
I will cc you the cover letter too next time.
Thanks,
Zihan
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2018-08-07 5:19 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-02 2:45 [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 1/6] pci_expander_bridge: add type TYPE_PXB_PCIE_HOST Zihan Yang
2018-08-06 11:46 ` Marcel Apfelbaum
2018-08-07 5:18 ` Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 2/6] acpi-build: allocate mcfg for pxb-pcie host bridges Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 3/6] i386/acpi-build: describe new pci domain in AML Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 4/6] pci_expander_bridge: Add config_read callback Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 5/6] pci_expander_bridge: Add ioport for pxb host bus Zihan Yang
2018-08-02 2:45 ` [Qemu-devel] [RFC v3 6/6] pci_expander_bridge: add start_bus property Zihan Yang
2018-08-02 4:58 ` [Qemu-devel] [RFC v3 0/6] pci_expander_brdige: Put pxb-pcie host bridge into separate pci domain no-reply
2018-08-02 5:01 ` no-reply
2018-08-02 5:23 ` no-reply
-- strict thread matches above, loose matches on Subject: below --
2018-08-02 2:42 Zihan Yang
2018-08-02 2:42 ` [Qemu-devel] [RFC v3 2/6] acpi-build: allocate mcfg for pxb-pcie host bridges Zihan Yang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).