All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Gonglei <arei.gonglei@huawei.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Andreas Färber" <afaerber@suse.de>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 1/2] hw: report invalid disable-legacy|modern usage for virtio-1-only devs
Date: Mon, 20 May 2019 10:56:11 +0100	[thread overview]
Message-ID: <20190520095611.GD21976@redhat.com> (raw)
In-Reply-To: <20190517190129.GA17245@habkost.net>

On Fri, May 17, 2019 at 04:01:29PM -0300, Eduardo Habkost wrote:
> Hi,
> 
> Sorry for taking so long to look at this more closely:
> 
> On Fri, Feb 15, 2019 at 10:32:38AM +0000, Daniel P. Berrangé wrote:
> > A number of virtio devices (gpu, crypto, mouse, keyboard, tablet) only
> > support the virtio-1 (aka modern) mode. Currently if the user launches
> > QEMU, setting those devices to enable legacy mode, QEMU will silently
> > create them in modern mode, ignoring the user's (mistaken) request.
> > 
> > This patch introduces proper data validation so that an attempt to
> > configure a virtio-1-only devices in legacy mode gets reported as an
> > error to the user.
> > 
> > Checking this required introduction of a new field to explicitly track
> > what operating model is to be used for a device, separately from the
> > disable_modern and disable_legacy fields that record the user's
> > requested configuration.
> 
> I'm still trying to understand why we need to add a new field.
> 
> If disable_modern, disable_legacy and mode are always expected to
> be consistent with each other, why do we need another field?
> 
> If they are not always consistent with each other, when exactly
> do we want them to be inconsistent, and why?

The pain point is that we're using the existing variables to record
two distinct pieces of information

 - The user's request for modern vs legacy
 - The PCI bus requirements for modern vs legacy

The existing code would overwrite the user's setting for
"disable_legacy" when deciding whether the device is in
a PCI or PCIe port. This happens in virtio_pci_realize.

We can only report errors with the user's requested config
after the sub-classes call virtio_pci_force_virtio_1, but
this doesn't happen until virtio_${subclass}_pci_release.

So by the time we're able to report errors, virtio_pci_realize
has already overwritten the user's disable_legacy setting, so
we've lost the very piece of info we need to check to report
errors with.

Given the ordering of virtio_pci_realize vs the calls
to virtio_pci_force_virtio_1 by subclasses, I don't see any
option other than to use separate variables for the two
distinct pieces of information.

> 
> > 
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> [...]
> > diff --git a/hw/virtio/virtio-pci.h b/hw/virtio/virtio-pci.h
> > index bd223a6e3b..16ef4c0a3f 100644
> > --- a/hw/virtio/virtio-pci.h
> > +++ b/hw/virtio/virtio-pci.h
> > @@ -15,6 +15,7 @@
> >  #ifndef QEMU_VIRTIO_PCI_H
> >  #define QEMU_VIRTIO_PCI_H
> >  
> > +#include "qapi/error.h"
> >  #include "hw/pci/msi.h"
> >  #include "hw/virtio/virtio-bus.h"
> >  
> > @@ -118,6 +119,12 @@ typedef struct VirtIOPCIQueue {
> >    uint32_t used[2];
> >  } VirtIOPCIQueue;
> >  
> > +typedef enum {
> > +    VIRTIO_PCI_MODE_LEGACY,
> > +    VIRTIO_PCI_MODE_TRANSITIONAL,
> > +    VIRTIO_PCI_MODE_MODERN,
> > +} VirtIOPCIMode;
> > +
> >  struct VirtIOPCIProxy {
> >      PCIDevice pci_dev;
> >      MemoryRegion bar;
> > @@ -142,6 +149,7 @@ struct VirtIOPCIProxy {
> >      bool disable_modern;
> >      bool ignore_backend_features;
> >      OnOffAuto disable_legacy;
> > +    VirtIOPCIMode mode;
> >      uint32_t class_code;
> >      uint32_t nvectors;
> >      uint32_t dfselect;
> > @@ -156,23 +164,34 @@ struct VirtIOPCIProxy {
> >  
> >  static inline bool virtio_pci_modern(VirtIOPCIProxy *proxy)
> >  {
> > -    return !proxy->disable_modern;
> > +    return proxy->mode != VIRTIO_PCI_MODE_LEGACY;
> >  }
> >  
> >  static inline bool virtio_pci_legacy(VirtIOPCIProxy *proxy)
> >  {
> > -    return proxy->disable_legacy == ON_OFF_AUTO_OFF;
> > +    return proxy->mode != VIRTIO_PCI_MODE_MODERN;
> >  }
> >  
> > -static inline void virtio_pci_force_virtio_1(VirtIOPCIProxy *proxy)
> > +static inline bool virtio_pci_force_virtio_1(VirtIOPCIProxy *proxy,
> > +                                             Error **errp)
> >  {
> > -    proxy->disable_modern = false;
> > -    proxy->disable_legacy = ON_OFF_AUTO_ON;
> > +    if (proxy->disable_legacy == ON_OFF_AUTO_OFF) {
> > +        error_setg(errp, "Unable to set disable-legacy=off on a virtio-1.0 "
> > +                   "only device");
> > +        return false;
> > +    }
> > +    if (proxy->disable_modern == true) {
> > +        error_setg(errp, "Unable to set disable-modern=on on a virtio-1.0 "
> > +                   "only device");
> > +        return false;
> > +    }
> > +    proxy->mode = VIRTIO_PCI_MODE_MODERN;
> > +    return true;
> >  }
> >  
> >  static inline void virtio_pci_disable_modern(VirtIOPCIProxy *proxy)
> >  {
> > -    proxy->disable_modern = true;
> > +    proxy->mode = VIRTIO_PCI_MODE_LEGACY;
> >  }
> >  
> >  /*
> > -- 
> > 2.20.1
> > 
> > 
> 
> -- 
> Eduardo
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


  reply	other threads:[~2019-05-20  9:57 UTC|newest]

Thread overview: 289+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-15 10:32 [Qemu-devel] [PATCH v2 0/2] hw: provide error checking of disable-legacy/modern property usage Daniel P. Berrangé
2019-02-15 10:32 ` [Qemu-devel] [PATCH v2 1/2] hw: report invalid disable-legacy|modern usage for virtio-1-only devs Daniel P. Berrangé
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 01/36] " Michael S. Tsirkin
2019-05-16 12:17   ` [Qemu-devel] [PULL 01/37] " Michael S. Tsirkin
2019-05-17 19:01   ` [Qemu-devel] [PATCH v2 1/2] " Eduardo Habkost
2019-05-20  9:56     ` Daniel P. Berrangé [this message]
2019-05-20 20:59       ` Eduardo Habkost
2019-05-21  9:23         ` Daniel P. Berrangé
2019-02-15 10:32 ` [Qemu-devel] [PATCH v2 2/2] Revert "globals: Allow global properties to be optional" Daniel P. Berrangé
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 02/36] " Michael S. Tsirkin
2019-05-16 12:17   ` [Qemu-devel] [PULL 02/37] " Michael S. Tsirkin
2019-05-20 21:00   ` [Qemu-devel] [PATCH v2 2/2] " Eduardo Habkost
2019-04-02 16:18 [Qemu-devel] [PATCH 0/3] acpi: More trace points Markus Armbruster
2019-04-02 16:18 ` [Qemu-devel] [PATCH 1/3] acpi/piix4: Convert debug printf()s to trace events Markus Armbruster
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 11/36] " Michael S. Tsirkin
2019-05-16 12:19   ` [Qemu-devel] [PULL 11/37] " Michael S. Tsirkin
2019-04-04 10:07   ` [Qemu-devel] [PATCH 1/3] " Igor Mammedov
2019-04-02 16:18 ` [Qemu-devel] [PATCH 2/3] acpi/pcihp: " Markus Armbruster
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 12/36] " Michael S. Tsirkin
2019-05-16 12:19   ` [Qemu-devel] [PULL 12/37] " Michael S. Tsirkin
2019-04-04 10:13   ` [Qemu-devel] [PATCH 2/3] " Igor Mammedov
2019-04-02 16:19 ` [Qemu-devel] [PATCH 3/3] acpi/pcihp: Add a few more trace points related to unplug Markus Armbruster
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 13/36] " Michael S. Tsirkin
2019-05-16 12:19   ` [Qemu-devel] [PULL 13/37] " Michael S. Tsirkin
2019-04-04 10:14   ` [Qemu-devel] [PATCH 3/3] " Igor Mammedov
2019-04-04 12:54     ` Laszlo Ersek
2019-04-04 14:19       ` Igor Mammedov
2019-04-02 19:24 ` [Qemu-devel] [PATCH 0/3] acpi: More trace points Philippe Mathieu-Daudé
2019-05-08 11:19 ` Markus Armbruster
2019-05-08 16:30   ` Michael S. Tsirkin
2019-04-09 15:00 [Qemu-devel] [PATCH for-4.1] q35: acpi: do not create dummy MCFG table Igor Mammedov
2019-05-20 23:10 ` [Qemu-devel] [PULL v2 14/36] " Michael S. Tsirkin
2019-05-16 12:19 ` [Qemu-devel] [PULL 14/37] " Michael S. Tsirkin
2019-04-09 15:00 ` [Qemu-devel] [PATCH for-4.1] " Igor Mammedov
2019-04-10  1:12 ` Wei Yang
2019-04-10  1:12   ` Wei Yang
2019-04-10  9:08   ` Igor Mammedov
2019-04-10  9:08     ` Igor Mammedov
2019-04-10 14:01     ` Wei Yang
2019-04-10 14:01       ` Wei Yang
2019-04-10 14:11       ` Igor Mammedov
2019-04-10 14:11         ` Igor Mammedov
2019-04-10 14:27 ` Wei Yang
2019-04-10 14:27   ` Wei Yang
2019-04-10 15:01   ` Igor Mammedov
2019-04-10 15:01     ` Igor Mammedov
2019-04-11  1:32     ` Wei Yang
2019-04-11  1:32       ` Wei Yang
2019-04-11 11:46       ` Igor Mammedov
2019-04-11 11:46         ` Igor Mammedov
2019-04-11 22:15         ` Wei Yang
2019-04-11 22:15           ` Wei Yang
2019-04-11 22:16 ` Wei Yang
2019-04-11 22:16   ` Wei Yang
2019-04-16 18:46 [Qemu-devel] [PATCH 0/2] vhost-user race condition on shutdown Dan Streetman
2019-04-16 18:46 ` [Qemu-devel] [PATCH 1/2] add VirtIONet vhost_stopped flag to prevent multiple stops Dan Streetman
2019-04-19 23:14   ` Michael S. Tsirkin
2019-04-22 20:31     ` Dan Streetman
2019-04-22  2:50   ` Jason Wang
2019-04-22 20:14     ` Dan Streetman
2019-04-22 20:14       ` Dan Streetman
2019-04-23  2:58       ` Jason Wang
2019-04-23  2:58         ` Jason Wang
2019-04-23  8:49         ` Dan Streetman
2019-04-23  8:49           ` Dan Streetman
2019-04-24  9:46           ` Jason Wang
2019-04-24  9:46             ` Jason Wang
2019-04-16 18:46 ` [Qemu-devel] [PATCH 2/2] do not call vhost_net_cleanup() on running net from char user event Dan Streetman
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 15/36] " Michael S. Tsirkin
2019-05-16 12:19   ` [Qemu-devel] [PULL 15/37] " Michael S. Tsirkin
2019-04-19 23:12 ` [Qemu-devel] [PATCH 0/2] vhost-user race condition on shutdown Michael S. Tsirkin
2019-04-19 23:12   ` Michael S. Tsirkin
2019-04-19  0:30 [Qemu-devel] [PATCH v4 0/6] Extract build_mcfg Wei Yang
2019-04-19  0:30 ` Wei Yang
2019-04-19  0:30 ` [Qemu-devel] [PATCH v4 1/6] q35: acpi: do not create dummy MCFG table Wei Yang
2019-04-19  0:30   ` Wei Yang
2019-04-19  0:30 ` [Qemu-devel] [PATCH v4 2/6] hw/arm/virt-acpi-build: remove unnecessary variable mcfg_start Wei Yang
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 16/36] " Michael S. Tsirkin
2019-05-16 12:19   ` [Qemu-devel] [PULL 16/37] " Michael S. Tsirkin
2019-04-19  0:30   ` [Qemu-devel] [PATCH v4 2/6] " Wei Yang
2019-04-19  0:30 ` [Qemu-devel] [PATCH v4 3/6] i386, acpi: remove mcfg_ prefix in AcpiMcfgInfo members Wei Yang
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 17/36] " Michael S. Tsirkin
2019-05-16 12:19   ` [Qemu-devel] [PULL 17/37] " Michael S. Tsirkin
2019-04-19  0:30   ` [Qemu-devel] [PATCH v4 3/6] " Wei Yang
2019-04-19  0:30 ` [Qemu-devel] [PATCH v4 4/6] hw/arm/virt-acpi-build: pass AcpiMcfgInfo to build_mcfg() Wei Yang
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 18/36] " Michael S. Tsirkin
2019-05-16 12:19   ` [Qemu-devel] [PULL 18/37] " Michael S. Tsirkin
2019-04-19  0:30   ` [Qemu-devel] [PATCH v4 4/6] " Wei Yang
2019-04-19  0:30 ` [Qemu-devel] [PATCH v4 5/6] hw/acpi: Consolidate build_mcfg to pci.c Wei Yang
2019-05-16 12:19   ` [Qemu-devel] [PULL 19/37] " Michael S. Tsirkin
2019-04-19  0:30   ` [Qemu-devel] [PATCH v4 5/6] " Wei Yang
2019-05-16 18:35   ` Philippe Mathieu-Daudé
2019-05-17  0:33     ` Wei Yang
2019-04-19  0:30 ` [Qemu-devel] [PATCH v4 6/6] acpi: pci: use build_append_foo() API to construct MCFG Wei Yang
2019-04-19  0:30   ` Wei Yang
2019-05-15  1:10   ` Michael S. Tsirkin
2019-05-15  5:29     ` Philippe Mathieu-Daudé
2019-05-15  8:53       ` Wei Yang
2019-05-16  7:41       ` Wei Yang
2019-05-16 11:01         ` Philippe Mathieu-Daudé
2019-05-16 17:00           ` Igor Mammedov
2019-05-20 23:04             ` Michael S. Tsirkin
2019-05-15  8:46     ` Wei Yang
2019-05-10 21:22 ` [Qemu-devel] [PATCH v4 0/6] Extract build_mcfg Wei Yang
2019-05-10 23:59   ` Michael S. Tsirkin
2019-05-11  0:10     ` Wei Yang
2019-04-20  9:10 [Qemu-devel] [PATCH] libvhost-user: fix bad vu_log_write Li Feng
2019-05-20 23:11 ` [Qemu-devel] [PULL v2 19/36] " Michael S. Tsirkin
2019-05-16 12:19 ` [Qemu-devel] [PULL 20/37] " Michael S. Tsirkin
2019-04-21 16:48 ` [Qemu-devel] [PATCH] " Marc-André Lureau
2019-04-21 16:48   ` Marc-André Lureau
2019-04-24  4:19 [Qemu-devel] [PATCH v2 0/3] Simplify some not-really-necessary PCI bus callbacks David Gibson
2019-04-24  4:19 ` David Gibson
2019-04-24  4:19 ` [Qemu-devel] [PATCH v2 1/3] pcie: Remove redundant test in pcie_mmcfg_data_{read, write}() David Gibson
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 20/36] " Michael S. Tsirkin
2019-05-16 12:19   ` [Qemu-devel] [PULL 21/37] " Michael S. Tsirkin
2019-04-24  4:19   ` [Qemu-devel] [PATCH v2 1/3] " David Gibson
2019-04-24 16:04   ` Greg Kurz
2019-04-24 16:04     ` Greg Kurz
2019-04-24  4:19 ` [Qemu-devel] [PATCH v2 2/3] pci: Simplify pci_bus_is_root() David Gibson
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 21/36] " Michael S. Tsirkin
2019-05-16 12:20   ` [Qemu-devel] [PULL 22/37] " Michael S. Tsirkin
2019-04-24  4:19   ` [Qemu-devel] [PATCH v2 2/3] " David Gibson
2019-05-22  6:11   ` [Qemu-devel] [PULL v2 21/36] " David Gibson
2019-04-24  4:19 ` [Qemu-devel] [PATCH v2 3/3] pcie: Simplify pci_adjust_config_limit() David Gibson
2019-04-24  4:19   ` David Gibson
2019-04-24 16:09   ` Greg Kurz
2019-04-24 16:09     ` Greg Kurz
2019-04-26  6:40   ` [Qemu-devel] [Qemu-ppc] " Alexey Kardashevskiy
2019-05-07  4:48     ` David Gibson
2019-05-12 18:13       ` Michael S. Tsirkin
2019-05-13  6:20         ` David Gibson
2019-05-02 14:51 [Qemu-devel] [PATCH v4 00/15] tests: acpi: add UEFI (ARM) testing support Igor Mammedov
2019-05-02 14:51 ` Igor Mammedov
2019-05-02 14:51 ` [Qemu-devel] [PATCH v4 01/15] tests: acpi: rename acpi_parse_rsdp_table() into acpi_fetch_rsdp_table() Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 22/36] " Michael S. Tsirkin
2019-05-16 12:20   ` [Qemu-devel] [PULL 23/37] " Michael S. Tsirkin
2019-05-02 14:51   ` [Qemu-devel] [PATCH v4 01/15] " Igor Mammedov
2019-05-12 18:19   ` Michael S. Tsirkin
2019-05-13  9:04     ` Igor Mammedov
2019-05-13  9:35       ` Igor Mammedov
2019-05-17  7:55   ` [Qemu-devel] [PULL 23/37] " Igor Mammedov
2019-05-17  8:04     ` Philippe Mathieu-Daudé
2019-05-02 14:51 ` [Qemu-devel] [PATCH v4 02/15] tests: acpi: make acpi_fetch_table() take size of fetched table pointer Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 23/36] " Michael S. Tsirkin
2019-05-16 12:20   ` [Qemu-devel] [PULL 24/37] " Michael S. Tsirkin
2019-05-02 14:51   ` [Qemu-devel] [PATCH v4 02/15] " Igor Mammedov
2019-05-05  0:58   ` Wei Yang
2019-05-05  0:58     ` Wei Yang
2019-05-02 14:51 ` [Qemu-devel] [PATCH v4 03/15] tests: acpi: make RSDT test routine handle XSDT Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 24/36] " Michael S. Tsirkin
2019-05-16 12:20   ` [Qemu-devel] [PULL 25/37] " Michael S. Tsirkin
2019-05-02 14:51   ` [Qemu-devel] [PATCH v4 03/15] " Igor Mammedov
2019-05-05  1:14   ` Wei Yang
2019-05-05  1:14     ` Wei Yang
2019-05-02 14:51 ` [Qemu-devel] [PATCH v4 04/15] tests: acpi: make pointer to RSDP 64bit Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 25/36] " Michael S. Tsirkin
2019-05-16 12:20   ` [Qemu-devel] [PULL 26/37] " Michael S. Tsirkin
2019-05-02 14:51   ` [Qemu-devel] [PATCH v4 04/15] " Igor Mammedov
2019-05-05  1:18   ` Wei Yang
2019-05-05  1:18     ` Wei Yang
2019-05-08  6:15   ` Philippe Mathieu-Daudé
2019-05-02 14:51 ` [Qemu-devel] [PATCH v4 05/15] tests: acpi: fetch X_DSDT if pointer to DSDT is 0 Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 26/36] " Michael S. Tsirkin
2019-05-16 12:20   ` [Qemu-devel] [PULL 27/37] " Michael S. Tsirkin
2019-05-02 14:51   ` [Qemu-devel] [PATCH v4 05/15] " Igor Mammedov
2019-05-05  1:27   ` Wei Yang
2019-05-05  1:27     ` Wei Yang
2019-05-07 10:04     ` Igor Mammedov
2019-05-08  5:51       ` Wei Yang
2019-05-02 14:51 ` [Qemu-devel] [PATCH v4 06/15] tests: acpi: skip FACS table if board uses hw reduced ACPI profile Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 27/36] " Michael S. Tsirkin
2019-05-16 12:20   ` [Qemu-devel] [PULL 28/37] " Michael S. Tsirkin
2019-05-02 14:51   ` [Qemu-devel] [PATCH v4 06/15] " Igor Mammedov
2019-05-02 14:51 ` [Qemu-devel] [PATCH v4 07/15] tests: acpi: move boot_sector_init() into x86 tests branch Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 28/36] " Michael S. Tsirkin
2019-05-16 12:20   ` [Qemu-devel] [PULL 29/37] " Michael S. Tsirkin
2019-05-02 14:51   ` [Qemu-devel] [PATCH v4 07/15] " Igor Mammedov
2019-05-08  6:13   ` Philippe Mathieu-Daudé
2019-05-02 14:51 ` [Qemu-devel] [PATCH v4 08/15] tests: acpi: add acpi_find_rsdp_address_uefi() helper Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 29/36] " Michael S. Tsirkin
2019-05-16 12:20   ` [Qemu-devel] [PULL 30/37] " Michael S. Tsirkin
2019-05-02 14:51   ` [Qemu-devel] [PATCH v4 08/15] " Igor Mammedov
2019-05-02 14:51 ` [Qemu-devel] [PATCH v4 09/15] tests: acpi: add a way to start tests with UEFI firmware Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 30/36] " Michael S. Tsirkin
2019-05-16 12:20   ` [Qemu-devel] [PULL 31/37] " Michael S. Tsirkin
2019-05-02 14:51   ` [Qemu-devel] [PATCH v4 09/15] " Igor Mammedov
2019-05-02 14:51 ` [Qemu-devel] [PATCH v4 10/15] tests: acpi: ignore SMBIOS tests when UEFI firmware is used Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 31/36] " Michael S. Tsirkin
2019-05-16 12:20   ` [Qemu-devel] [PULL 32/37] " Michael S. Tsirkin
2019-05-02 14:51   ` [Qemu-devel] [PATCH v4 10/15] " Igor Mammedov
2019-05-08  6:12   ` Philippe Mathieu-Daudé
2019-05-02 14:51 ` [Qemu-devel] [PATCH v4 11/15] tests: acpi: allow to override default accelerator Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 32/36] " Michael S. Tsirkin
2019-05-16 12:21   ` [Qemu-devel] [PULL 33/37] " Michael S. Tsirkin
2019-05-02 14:51   ` [Qemu-devel] [PATCH v4 11/15] " Igor Mammedov
2019-05-02 18:36   ` Laszlo Ersek
2019-05-02 14:52 ` [Qemu-devel] [PATCH v4 12/15] tests: add expected ACPI tables for arm/virt board Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 33/36] " Michael S. Tsirkin
2019-05-16 12:21   ` [Qemu-devel] [PULL 34/37] " Michael S. Tsirkin
2019-05-02 14:52   ` [Qemu-devel] [PATCH v4 12/15] " Igor Mammedov
2019-05-02 14:52 ` [Qemu-devel] [PATCH v4 13/15] tests: acpi: add simple arm/virt testcase Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 34/36] " Michael S. Tsirkin
2019-05-16 12:21   ` [Qemu-devel] [PULL 35/37] " Michael S. Tsirkin
2019-05-02 14:52   ` [Qemu-devel] [PATCH v4 13/15] " Igor Mammedov
2019-05-02 18:38   ` Laszlo Ersek
2019-05-02 14:52 ` [Qemu-devel] [PATCH v4 14/15] tests: acpi: refactor rebuild-expected-aml.sh to dump ACPI tables for a specified list of targets Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 35/36] " Michael S. Tsirkin
2019-05-16 12:21   ` [Qemu-devel] [PULL 36/37] " Michael S. Tsirkin
2019-05-02 14:52   ` [Qemu-devel] [PATCH v4 14/15] " Igor Mammedov
2019-05-05  1:30   ` Wei Yang
2019-05-05  1:30     ` Wei Yang
2019-05-02 14:52 ` [Qemu-devel] [PATCH v4 15/15] tests: acpi: print error unable to dump ACPI table during rebuild Igor Mammedov
2019-05-20 23:11   ` [Qemu-devel] [PULL v2 36/36] " Michael S. Tsirkin
2019-05-16 12:21   ` [Qemu-devel] [PULL 37/37] " Michael S. Tsirkin
2019-05-02 14:52   ` [Qemu-devel] [PATCH v4 15/15] " Igor Mammedov
2019-05-02 15:16 ` [Qemu-devel] [PATCH v4 00/15] tests: acpi: add UEFI (ARM) testing support Wei Xu
2019-05-02 15:16   ` Wei Xu
2019-05-16 12:17 [Qemu-devel] [PULL 00/37] pci, pc, virtio: features, fixes Michael S. Tsirkin
2019-05-16 12:17 ` [Qemu-devel] [PULL 03/37] docs: reST-ify vhost-user documentation Michael S. Tsirkin
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 03/36] " Michael S. Tsirkin
2019-05-16 12:18 ` [Qemu-devel] [PULL 04/37] virtio: Introduce started flag to VirtioDevice Michael S. Tsirkin
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 04/36] " Michael S. Tsirkin
2019-05-24 10:19   ` Greg Kurz
2019-05-24 11:56     ` Yongji Xie
2019-05-27 10:44       ` Greg Kurz
2019-05-27 13:04         ` Yongji Xie
2019-05-27 15:45           ` Greg Kurz
2019-05-27 18:53         ` Michael S. Tsirkin
2019-05-28  2:48           ` Yongji Xie
2019-05-31 19:36             ` Eduardo Habkost
2019-06-01 15:49               ` Greg Kurz
2019-06-24 17:54                 ` Laurent Vivier
2019-07-05 13:45                   ` Greg Kurz
2019-05-28  0:08     ` David Gibson
2019-05-28  6:39       ` Greg Kurz
2019-05-29 11:18         ` Dr. David Alan Gilbert
2019-05-29 11:54           ` Greg Kurz
2019-05-29 12:38             ` Dr. David Alan Gilbert
2019-05-29 13:02               ` Greg Kurz
2019-05-29 13:40                 ` Dr. David Alan Gilbert
2019-05-29 14:35                   ` Yongji Xie
2019-05-29 14:42                     ` Dr. David Alan Gilbert
2019-05-30  0:39                       ` Yongji Xie
2019-05-30  9:06                         ` Dr. David Alan Gilbert
2019-05-30  9:26                           ` Yongji Xie
2019-05-30  9:34                             ` Dr. David Alan Gilbert
2019-05-29 13:57                 ` Yongji Xie
2019-05-16 12:18 ` [Qemu-devel] [PULL 05/37] virtio: Use started flag in virtio_vmstate_change() Michael S. Tsirkin
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 05/36] " Michael S. Tsirkin
2019-05-16 12:18 ` [Qemu-devel] [PULL 06/37] vhost-user-blk: Use started flag in vhost_user_blk_set_status() Michael S. Tsirkin
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 06/36] " Michael S. Tsirkin
2019-05-16 12:18 ` [Qemu-devel] [PULL 07/37] vhost-user-blk: Only start vhost-user backend with the first kick Michael S. Tsirkin
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 07/36] " Michael S. Tsirkin
2019-05-16 12:18 ` [Qemu-devel] [PULL 08/37] vhost-user-blk: Add return value for vhost_user_blk_start() Michael S. Tsirkin
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 08/36] " Michael S. Tsirkin
2019-05-16 12:18 ` [Qemu-devel] [PULL 09/37] vhost-user-blk: Add support to reconnect backend Michael S. Tsirkin
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 09/36] " Michael S. Tsirkin
2019-05-16 12:18 ` [Qemu-devel] [PULL 10/37] contrib/vhost-user-blk: enable inflight I/O tracking Michael S. Tsirkin
2019-05-20 23:10   ` [Qemu-devel] [PULL v2 10/36] " Michael S. Tsirkin
2019-05-16 16:04 ` [Qemu-devel] [PULL 00/37] pci, pc, virtio: features, fixes Peter Maydell
2019-05-16 18:33   ` Philippe Mathieu-Daudé
2019-05-16 18:53     ` Philippe Mathieu-Daudé
2019-05-17  1:48       ` Wei Yang
2019-05-17  8:12         ` Philippe Mathieu-Daudé
2019-05-17  8:18           ` Thomas Huth
2019-05-17  8:37             ` Philippe Mathieu-Daudé
2019-05-17  2:59       ` Wei Yang
2019-05-17  3:12         ` Wei Yang
2019-05-17  8:14           ` Philippe Mathieu-Daudé
2019-05-17  8:19             ` Wei Yang
2019-05-17 11:13         ` Igor Mammedov
2019-05-20  0:33           ` Wei Yang
2019-05-20 22:59     ` Michael S. Tsirkin
2019-05-20 22:57   ` Michael S. Tsirkin
2019-05-20 23:10 [Qemu-devel] [PULL v2 00/36] " Michael S. Tsirkin
2019-05-21 11:49 ` Peter Maydell
2019-05-21 13:26   ` Michael S. Tsirkin
2019-05-22 13:06     ` Igor Mammedov
2019-05-22 14:22       ` Laszlo Ersek
2019-05-22 21:15         ` Peter Maydell
2019-05-23 11:30           ` Laszlo Ersek
2019-05-23  0:51         ` Laszlo Ersek
2019-05-23  0:57           ` Laszlo Ersek
2019-05-23  8:37           ` Peter Maydell
2019-05-24 10:56             ` Laszlo Ersek
2019-05-21 13:35   ` Michael S. Tsirkin
2019-05-21 13:42   ` Michael S. Tsirkin
2019-05-21 14:56     ` Peter Maydell

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=20190520095611.GD21976@redhat.com \
    --to=berrange@redhat.com \
    --cc=afaerber@suse.de \
    --cc=arei.gonglei@huawei.com \
    --cc=ehabkost@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.