From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>,
Laurent Vivier <laurent@vivier.eu>,
Thomas Huth <thuth@redhat.com>
Subject: [Qemu-devel] [PATCH 20/71] tests/libqos: pci-pc driver and interface nodes
Date: Mon, 3 Dec 2018 16:32:33 +0100 [thread overview]
Message-ID: <1543851204-41186-21-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1543851204-41186-1-git-send-email-pbonzini@redhat.com>
From: Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>
Add pci-bus-pc node, move QPCIBusPC struct declaration in its header
(since it will be needed by other drivers) and introduce a setter method
for drivers that do not need to allocate but have to initialize QPCIBusPC.
Signed-off-by: Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
tests/Makefile.include | 6 +++-
tests/libqos/pci-pc.c | 83 ++++++++++++++++++++++++++++++++------------------
tests/libqos/pci-pc.h | 17 +++++++++--
tests/libqos/pci.c | 32 +++++++++++++++++--
tests/libqos/pci.h | 12 ++++++++
5 files changed, 115 insertions(+), 35 deletions(-)
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 905841e..93f31e8 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -675,11 +675,15 @@ libqos-imx-obj-y = $(libqos-obj-y) tests/libqos/i2c-imx.o
libqos-usb-obj-y = $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/libqos/usb.o
libqos-virtio-obj-y = $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/libqos/virtio.o tests/libqos/virtio-pci.o tests/libqos/virtio-mmio.o
+# Devices
+qos-test-obj-y = tests/qos-test.o $(libqgraph-obj-y)
+qos-test-obj-y += $(libqos-pc-obj-y)
+
check-unit-y += tests/test-qgraph$(EXESUF)
tests/test-qgraph$(EXESUF): tests/test-qgraph.o $(libqgraph-obj-y)
check-qtest-generic-y += tests/qos-test$(EXESUF)
-tests/qos-test$(EXESUF): tests/qos-test.o $(libqgraph-obj-y)
+tests/qos-test$(EXESUF): $(qos-test-obj-y)
tests/qmp-test$(EXESUF): tests/qmp-test.o
tests/qmp-cmd-test$(EXESUF): tests/qmp-cmd-test.o
diff --git a/tests/libqos/pci-pc.c b/tests/libqos/pci-pc.c
index d21f3e8..041bfed 100644
--- a/tests/libqos/pci-pc.c
+++ b/tests/libqos/pci-pc.c
@@ -18,15 +18,9 @@
#include "qemu-common.h"
-
#define ACPI_PCIHP_ADDR 0xae00
#define PCI_EJ_BASE 0x0008
-typedef struct QPCIBusPC
-{
- QPCIBus bus;
-} QPCIBusPC;
-
static uint8_t qpci_pc_pio_readb(QPCIBus *bus, uint32_t addr)
{
return inb(addr);
@@ -115,44 +109,65 @@ static void qpci_pc_config_writel(QPCIBus *bus, int devfn, uint8_t offset, uint3
outl(0xcfc, value);
}
-QPCIBus *qpci_new_pc(QTestState *qts, QGuestAllocator *alloc)
+static void *qpci_pc_get_driver(void *obj, const char *interface)
{
- QPCIBusPC *ret = g_new0(QPCIBusPC, 1);
+ QPCIBusPC *qpci = obj;
+ if (!g_strcmp0(interface, "pci-bus")) {
+ return &qpci->bus;
+ }
+ fprintf(stderr, "%s not present in pci-bus-pc\n", interface);
+ g_assert_not_reached();
+}
+void qpci_init_pc(QPCIBusPC *qpci, QTestState *qts, QGuestAllocator *alloc)
+{
assert(qts);
- ret->bus.pio_readb = qpci_pc_pio_readb;
- ret->bus.pio_readw = qpci_pc_pio_readw;
- ret->bus.pio_readl = qpci_pc_pio_readl;
- ret->bus.pio_readq = qpci_pc_pio_readq;
+ qpci->bus.pio_readb = qpci_pc_pio_readb;
+ qpci->bus.pio_readw = qpci_pc_pio_readw;
+ qpci->bus.pio_readl = qpci_pc_pio_readl;
+ qpci->bus.pio_readq = qpci_pc_pio_readq;
+
+ qpci->bus.pio_writeb = qpci_pc_pio_writeb;
+ qpci->bus.pio_writew = qpci_pc_pio_writew;
+ qpci->bus.pio_writel = qpci_pc_pio_writel;
+ qpci->bus.pio_writeq = qpci_pc_pio_writeq;
+
+ qpci->bus.memread = qpci_pc_memread;
+ qpci->bus.memwrite = qpci_pc_memwrite;
- ret->bus.pio_writeb = qpci_pc_pio_writeb;
- ret->bus.pio_writew = qpci_pc_pio_writew;
- ret->bus.pio_writel = qpci_pc_pio_writel;
- ret->bus.pio_writeq = qpci_pc_pio_writeq;
+ qpci->bus.config_readb = qpci_pc_config_readb;
+ qpci->bus.config_readw = qpci_pc_config_readw;
+ qpci->bus.config_readl = qpci_pc_config_readl;
- ret->bus.memread = qpci_pc_memread;
- ret->bus.memwrite = qpci_pc_memwrite;
+ qpci->bus.config_writeb = qpci_pc_config_writeb;
+ qpci->bus.config_writew = qpci_pc_config_writew;
+ qpci->bus.config_writel = qpci_pc_config_writel;
- ret->bus.config_readb = qpci_pc_config_readb;
- ret->bus.config_readw = qpci_pc_config_readw;
- ret->bus.config_readl = qpci_pc_config_readl;
+ qpci->bus.qts = qts;
+ qpci->bus.pio_alloc_ptr = 0xc000;
+ qpci->bus.mmio_alloc_ptr = 0xE0000000;
+ qpci->bus.mmio_limit = 0x100000000ULL;
- ret->bus.config_writeb = qpci_pc_config_writeb;
- ret->bus.config_writew = qpci_pc_config_writew;
- ret->bus.config_writel = qpci_pc_config_writel;
+ qpci->obj.get_driver = qpci_pc_get_driver;
+}
- ret->bus.qts = qts;
- ret->bus.pio_alloc_ptr = 0xc000;
- ret->bus.mmio_alloc_ptr = 0xE0000000;
- ret->bus.mmio_limit = 0x100000000ULL;
+QPCIBus *qpci_new_pc(QTestState *qts, QGuestAllocator *alloc)
+{
+ QPCIBusPC *qpci = g_new0(QPCIBusPC, 1);
+ qpci_init_pc(qpci, qts, alloc);
- return &ret->bus;
+ return &qpci->bus;
}
void qpci_free_pc(QPCIBus *bus)
{
- QPCIBusPC *s = container_of(bus, QPCIBusPC, bus);
+ QPCIBusPC *s;
+
+ if (!bus) {
+ return;
+ }
+ s = container_of(bus, QPCIBusPC, bus);
g_free(s);
}
@@ -171,3 +186,11 @@ void qpci_unplug_acpi_device_test(const char *id, uint8_t slot)
qmp_eventwait("DEVICE_DELETED");
}
+
+static void qpci_pc_register_nodes(void)
+{
+ qos_node_create_driver("pci-bus-pc", NULL);
+ qos_node_produces("pci-bus-pc", "pci-bus");
+}
+
+libqos_init(qpci_pc_register_nodes);
diff --git a/tests/libqos/pci-pc.h b/tests/libqos/pci-pc.h
index 84cc300..7b0751d 100644
--- a/tests/libqos/pci-pc.h
+++ b/tests/libqos/pci-pc.h
@@ -15,9 +15,22 @@
#include "libqos/pci.h"
#include "libqos/malloc.h"
+#include "libqos/qgraph.h"
-/* qpci_new_pc():
-* this function creates a new QPCIBusPC object,
+typedef struct QPCIBusPC {
+ QOSGraphObject obj;
+ QPCIBus bus;
+} QPCIBusPC;
+
+/* qpci_init_pc():
+ * this function initialize an already allocated
+ * QPCIBusPC object.
+ *
+ * @ret must be a valid QPCIBusPC * pointer.
+ */
+void qpci_init_pc(QPCIBusPC *ret, QTestState *qts, QGuestAllocator *alloc);
+/* qpci_pc_new():
+ * this function creates a new QPCIBusPC object,
* and properly initialize its fields.
*
* returns the QPCIBus *bus field of a newly
diff --git a/tests/libqos/pci.c b/tests/libqos/pci.c
index e8c342c..8257904 100644
--- a/tests/libqos/pci.c
+++ b/tests/libqos/pci.c
@@ -15,6 +15,7 @@
#include "hw/pci/pci_regs.h"
#include "qemu/host-utils.h"
+#include "libqos/qgraph.h"
void qpci_device_foreach(QPCIBus *bus, int vendor_id, int device_id,
void (*func)(QPCIDevice *dev, int devfn, void *data),
@@ -50,13 +51,20 @@ void qpci_device_foreach(QPCIBus *bus, int vendor_id, int device_id,
}
}
+static void qpci_device_set(QPCIDevice *dev, QPCIBus *bus, int devfn)
+{
+ g_assert(dev);
+
+ dev->bus = bus;
+ dev->devfn = devfn;
+}
+
QPCIDevice *qpci_device_find(QPCIBus *bus, int devfn)
{
QPCIDevice *dev;
dev = g_malloc0(sizeof(*dev));
- dev->bus = bus;
- dev->devfn = devfn;
+ qpci_device_set(dev, bus, devfn);
if (qpci_config_readw(dev, PCI_VENDOR_ID) == 0xFFFF) {
g_free(dev);
@@ -66,6 +74,17 @@ QPCIDevice *qpci_device_find(QPCIBus *bus, int devfn)
return dev;
}
+void qpci_device_init(QPCIDevice *dev, QPCIBus *bus, QPCIAddress *addr)
+{
+ uint16_t vendor_id, device_id;
+
+ qpci_device_set(dev, bus, addr->devfn);
+ vendor_id = qpci_config_readw(dev, PCI_VENDOR_ID);
+ device_id = qpci_config_readw(dev, PCI_DEVICE_ID);
+ g_assert(!addr->vendor_id || vendor_id == addr->vendor_id);
+ g_assert(!addr->device_id || device_id == addr->device_id);
+}
+
void qpci_device_enable(QPCIDevice *dev)
{
uint16_t cmd;
@@ -395,3 +414,12 @@ QPCIBar qpci_legacy_iomap(QPCIDevice *dev, uint16_t addr)
QPCIBar bar = { .addr = addr };
return bar;
}
+
+void add_qpci_address(QOSGraphEdgeOptions *opts, QPCIAddress *addr)
+{
+ g_assert(addr);
+ g_assert(opts);
+
+ opts->arg = addr;
+ opts->size_arg = sizeof(QPCIAddress);
+}
diff --git a/tests/libqos/pci.h b/tests/libqos/pci.h
index 0b7e936..9fd521a 100644
--- a/tests/libqos/pci.h
+++ b/tests/libqos/pci.h
@@ -14,6 +14,7 @@
#define LIBQOS_PCI_H
#include "libqtest.h"
+#include "libqos/qgraph.h"
#define QPCI_PIO_LIMIT 0x10000
@@ -22,6 +23,7 @@
typedef struct QPCIDevice QPCIDevice;
typedef struct QPCIBus QPCIBus;
typedef struct QPCIBar QPCIBar;
+typedef struct QPCIAddress QPCIAddress;
struct QPCIBus {
uint8_t (*pio_readb)(QPCIBus *bus, uint32_t addr);
@@ -51,6 +53,7 @@ struct QPCIBus {
QTestState *qts;
uint16_t pio_alloc_ptr;
uint64_t mmio_alloc_ptr, mmio_limit;
+
};
struct QPCIBar {
@@ -66,10 +69,17 @@ struct QPCIDevice
uint64_t msix_table_off, msix_pba_off;
};
+struct QPCIAddress {
+ uint32_t devfn;
+ uint16_t vendor_id;
+ uint16_t device_id;
+};
+
void qpci_device_foreach(QPCIBus *bus, int vendor_id, int device_id,
void (*func)(QPCIDevice *dev, int devfn, void *data),
void *data);
QPCIDevice *qpci_device_find(QPCIBus *bus, int devfn);
+void qpci_device_init(QPCIDevice *dev, QPCIBus *bus, QPCIAddress *addr);
void qpci_device_enable(QPCIDevice *dev);
uint8_t qpci_find_capability(QPCIDevice *dev, uint8_t id);
@@ -110,4 +120,6 @@ void qpci_iounmap(QPCIDevice *dev, QPCIBar addr);
QPCIBar qpci_legacy_iomap(QPCIDevice *dev, uint16_t addr);
void qpci_unplug_acpi_device_test(const char *id, uint8_t slot);
+
+void add_qpci_address(QOSGraphEdgeOptions *opts, QPCIAddress *addr);
#endif
--
1.8.3.1
next prev parent reply other threads:[~2018-12-03 15:34 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-03 15:32 [Qemu-devel] [PATCH for-4.0 00/71] qtest: qgraph driver framework Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 01/71] vhost-net: move stubs to a separate file Paolo Bonzini
2018-12-03 21:10 ` Eric Blake
2018-12-04 16:04 ` Thomas Huth
2018-12-03 15:32 ` [Qemu-devel] [PATCH 02/71] vhost-net-user: add stubs for when no virtio-net device is present Paolo Bonzini
2018-12-06 13:29 ` Thomas Huth
2018-12-03 15:32 ` [Qemu-devel] [PATCH 03/71] vhost: restrict Linux dependency to kernel vhost Paolo Bonzini
2018-12-06 13:36 ` Thomas Huth
2018-12-03 15:32 ` [Qemu-devel] [PATCH 04/71] vhost-net: compile it on all targets that have virtio-net Paolo Bonzini
2018-12-06 13:45 ` Thomas Huth
2018-12-03 15:32 ` [Qemu-devel] [PATCH 05/71] vhost-net: revamp configure logic Paolo Bonzini
2018-12-06 16:12 ` Thomas Huth
2018-12-03 15:32 ` [Qemu-devel] [PATCH 06/71] vhost-user-test: use g_cond_broadcast Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 07/71] vhost-user-test: signal data_cond when s->rings changes Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 08/71] vhost-user: support cross-endian vnet headers Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 09/71] vhost-user-test: support VHOST_USER_PROTOCOL_F_CROSS_ENDIAN Paolo Bonzini
2018-12-06 16:15 ` Thomas Huth
2018-12-06 20:06 ` Paolo Bonzini
2018-12-07 5:50 ` Thomas Huth
2018-12-03 15:32 ` [Qemu-devel] [PATCH 10/71] vhost-user-test: skip if there is no memory at address 0 Paolo Bonzini
2018-12-06 16:26 ` Thomas Huth
2018-12-06 20:06 ` Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 11/71] vhost-user-test: reduce usage of global_qtest Paolo Bonzini
2018-12-06 16:36 ` Thomas Huth
2018-12-06 20:08 ` Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 12/71] vhost-user-test: create a main loop per TestServer Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 13/71] vhost-user-test: small changes to init_hugepagefs Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 14/71] vhost-user-test: create a temporary directory per TestServer Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 15/71] tests/libqos: introduce virtio_start_device Paolo Bonzini
2018-12-07 9:16 ` Thomas Huth
2018-12-03 15:32 ` [Qemu-devel] [PATCH 16/71] tests/libqos: rename qpci_init_pc and qpci_init_spapr functions Paolo Bonzini
2018-12-07 9:23 ` Thomas Huth
2018-12-03 15:32 ` [Qemu-devel] [PATCH 17/71] tests: remove rule for nonexisting qdev-monitor-test Paolo Bonzini
2018-12-07 9:24 ` Thomas Huth
2018-12-12 14:12 ` Philippe Mathieu-Daudé
2018-12-03 15:32 ` [Qemu-devel] [PATCH 18/71] tests/libqos: embed allocators instead of malloc-ing them Paolo Bonzini
2018-12-07 12:32 ` Thomas Huth
2018-12-07 13:57 ` Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 19/71] tests: qgraph API for the qtest driver framework Paolo Bonzini
2018-12-07 12:42 ` Thomas Huth
2018-12-07 13:57 ` Paolo Bonzini
2018-12-07 15:38 ` Thomas Huth
2018-12-12 11:09 ` Paolo Bonzini
2018-12-12 11:47 ` Thomas Huth
2018-12-03 15:32 ` Paolo Bonzini [this message]
2018-12-03 15:32 ` [Qemu-devel] [PATCH 21/71] tests/libqos: x86_64/pc machine node Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 22/71] tests/libqos: sdhci driver and interface nodes Paolo Bonzini
2018-12-12 14:35 ` Philippe Mathieu-Daudé
2018-12-12 15:25 ` Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 23/71] tests/libqos: arm/raspi2 machine node Paolo Bonzini
2018-12-12 15:26 ` Philippe Mathieu-Daudé
2018-12-03 15:32 ` [Qemu-devel] [PATCH 24/71] tests/libqos: arm/smdkc210 " Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 25/71] tests/libqos: arm/sabrelite " Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 26/71] tests/libqos: arm/xilinx-zynq-a9 " Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 27/71] tests/libqos: aarch64/xlnx-zcu102 " Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 28/71] qos-test: sdhci test node Paolo Bonzini
2018-12-12 14:28 ` Philippe Mathieu-Daudé
2018-12-03 15:32 ` [Qemu-devel] [PATCH 29/71] tests/qgraph: add generic PCI testcases Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 30/71] tests/libqos: pci-spapr driver and interface nodes Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 31/71] tests/qgraph: ppc64/pseries machine node Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 32/71] tests/libqos: has_buggy_msi flag Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 33/71] tests/libqos: e1000e driver and interface nodes Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 34/71] qos-test: e1000e test node Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 35/71] tests/libqos: virtio-pci driver and interface nodes Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 36/71] tests/libqos: remove global_qtest from virtio endianness checks Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 37/71] tests/libqos: virtio-mmio driver and interface nodes Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 38/71] tests/libqos: arm/virt machine node Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 39/71] tests/qgraph: add generic virtio testcases Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 40/71] tests/libqos: virtio-serial driver and interface nodes Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 41/71] qos-test: virtio-console and virtio-serial test node Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 42/71] tests/libqos: virtio-9p driver and interface nodes Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 43/71] qos-test: virtio-9p test node Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 44/71] tests/libqos: virtio-balloon driver and interface nodes Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 45/71] tests/qgraph: remove virtio-balloon-test Paolo Bonzini
2018-12-03 15:32 ` [Qemu-devel] [PATCH 46/71] tests/libqos: virtio-rng driver and interface nodes Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 47/71] qos-test: virtio-rng test node Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 48/71] tests/libqos: virtio-blk driver and interface nodes Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 49/71] qos-test: virtio-blk test node Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 50/71] tests/libqos: virtio-net driver and interface nodes Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 51/71] qos-test: virtio-net test node Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 52/71] tests/libqos: support multiqueue for virtio-net Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 53/71] vhost-user-test: always use 256 MiB of guest memory Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 54/71] qos-test: vhost-user test node Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 55/71] tests/libqos: virtio-scsi driver and interface nodes Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 56/71] qos-test: virtio-scsi test node Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 57/71] tests/libqos: remove pre-qgraph QVirtioPCIDevice API Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 58/71] tests: move virtio entirely to qos-test Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 59/71] qos-test: ac97 test node Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 60/71] qos-test: tpci200 " Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 61/71] qos-test: ipoctal232 " Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 62/71] qos-test: ne2k_pci " Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 63/71] qos-test: nvme " Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 64/71] qos-test: pcnet " Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 65/71] qos-test: spapr-phb " Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 66/71] qos-test: usb-hcd-ohci " Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 67/71] qos-test: vmxnet3 " Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 68/71] qos-test: es1370 " Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 69/71] qos-test: eepro100 " Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 70/71] qos-test: e1000 " Paolo Bonzini
2018-12-03 15:33 ` [Qemu-devel] [PATCH 71/71] qos-test: megasas " Paolo Bonzini
2018-12-03 20:45 ` [Qemu-devel] [PATCH for-4.0 00/71] qtest: qgraph driver framework no-reply
2018-12-12 15:15 ` Philippe Mathieu-Daudé
2018-12-12 15:31 ` Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1543851204-41186-21-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=e.emanuelegiuseppe@gmail.com \
--cc=laurent@vivier.eu \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).