qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: pbonzini@redhat.com, arei.gonglei@huawei.com, kraxel@redhat.com,
	qemu-devel@nongnu.org, afaerber@suse.de
Subject: Re: [Qemu-devel] [PATCH 00/10] pci: Partial conversion to realize
Date: Thu, 5 Feb 2015 13:07:49 +0100	[thread overview]
Message-ID: <20150205120749.GD30113@redhat.com> (raw)
In-Reply-To: <1421679157-3510-1-git-send-email-armbru@redhat.com>

On Mon, Jan 19, 2015 at 03:52:27PM +0100, Markus Armbruster wrote:
> I posted this series as RFC back in October, but it depended on
> patches then still under review, so I put it aside, and promptly
> forgot.  Fortunately, rebasing and updating it wasn't much trouble.
> 
> While discussing Gonglei's "[PATCH v2 00/19] usb: convert device init
> to realize", Paolo called the PCI conversion job "Gargantuan".  This
> series attempts to crack it into manageable jobs.
> 
> The basic idea comes from qdev core: have the core deal with just
> realize, but default the device models' realize() method to one that
> calls the old init() method.  Unconverted device models don't set
> their realize(), thus get one that calls their init().  We can then
> convert device by device instead of having to convert of all of PCI in
> one Gargantuan go.
> 
> Since PCI's exit() cannot fail, I chose not to add an unrealize().
> Precedence: USBDeviceClass method handle_destroy(), called on USB
> unrealize.
> 
> Aside: USBDeviceClass also has an unrealize() method, but it's never
> set and never called.
> 
> PATCH 01 converts the interface between PCI core and qdev to realize.
> 
> PATCH 02 adds realize to the interface between PCI core and PCI device
> models.  Once all device models are converted to realize, the old init
> interface can be dropped, completing the Gargantuan job.
> 
> PATCH 03-04 convert device models that cannot fail initialization.
> 
> PATCH 05-10 convert a few that can fail, but are really easy to
> convert.

As you posted the test RFC now, I applied this in my tree.
Pls do complete the test though, we need this upstream.

> Markus Armbruster (10):
>   pci: Convert core to realize
>   pci: Permit incremental conversion of device models to realize
>   pci: Trivial device model conversions to realize
>   pcnet: pcnet_common_init() always returns 0, change to void
>   pcnet: Convert to realize
>   serial-pci: Convert to realize
>   ide/ich: Convert to realize
>   cirrus-vga: Convert to realize
>   qxl: Convert to realize
>   pci-assign: Convert to realize
> 
>  hw/acpi/piix4.c            |   5 +-
>  hw/audio/ac97.c            |   5 +-
>  hw/audio/es1370.c          |   5 +-
>  hw/audio/intel-hda.c       |   6 +--
>  hw/char/serial-pci.c       |  22 ++++-----
>  hw/display/cirrus_vga.c    |  11 ++---
>  hw/display/qxl.c           |  36 +++++++--------
>  hw/display/vga-pci.c       |  11 ++---
>  hw/display/vmware_vga.c    |   6 +--
>  hw/i2c/smbus_ich9.c        |   5 +-
>  hw/i386/kvm/pci-assign.c   |  10 ++--
>  hw/ide/cmd646.c            |   5 +-
>  hw/ide/ich.c               |  13 +++---
>  hw/ide/piix.c              |  10 ++--
>  hw/ide/via.c               |   6 +--
>  hw/ipack/tpci200.c         |   6 +--
>  hw/isa/i82378.c            |   6 +--
>  hw/isa/piix4.c             |   5 +-
>  hw/isa/vt82c686.c          |  24 ++++------
>  hw/misc/pci-testdev.c      |   6 +--
>  hw/net/e1000.c             |   6 +--
>  hw/net/eepro100.c          |   6 +--
>  hw/net/lance.c             |   3 +-
>  hw/net/ne2000.c            |   6 +--
>  hw/net/pcnet-pci.c         |   6 +--
>  hw/net/pcnet.c             |   4 +-
>  hw/net/pcnet.h             |   2 +-
>  hw/net/rtl8139.c           |   6 +--
>  hw/net/vmxnet3.c           |   6 +--
>  hw/pci-bridge/dec.c        |   5 +-
>  hw/pci-host/apb.c          |   5 +-
>  hw/pci-host/bonito.c       |   6 +--
>  hw/pci-host/grackle.c      |   5 +-
>  hw/pci-host/piix.c         |  12 ++---
>  hw/pci-host/ppce500.c      |   6 +--
>  hw/pci-host/prep.c         |   6 +--
>  hw/pci-host/q35.c          |   5 +-
>  hw/pci-host/uninorth.c     |  20 ++++----
>  hw/pci-host/versatile.c    |   5 +-
>  hw/pci/pci.c               | 113 ++++++++++++++++++++++++++-------------------
>  hw/sd/sdhci.c              |   5 +-
>  hw/usb/hcd-ehci-pci.c      |   6 +--
>  hw/usb/hcd-xhci.c          |   6 +--
>  hw/watchdog/wdt_i6300esb.c |   6 +--
>  include/hw/pci/pci.h       |   3 +-
>  45 files changed, 203 insertions(+), 259 deletions(-)
> 
> -- 
> 1.9.3

  parent reply	other threads:[~2015-02-05 12:08 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-19 14:52 [Qemu-devel] [PATCH 00/10] pci: Partial conversion to realize Markus Armbruster
2015-01-19 14:52 ` [Qemu-devel] [PATCH 01/10] pci: Convert core " Markus Armbruster
2015-01-19 14:52 ` [Qemu-devel] [PATCH 02/10] pci: Permit incremental conversion of device models " Markus Armbruster
2015-01-19 14:52 ` [Qemu-devel] [PATCH 03/10] pci: Trivial device model conversions " Markus Armbruster
2015-01-19 14:52 ` [Qemu-devel] [PATCH 04/10] pcnet: pcnet_common_init() always returns 0, change to void Markus Armbruster
2015-01-19 14:52 ` [Qemu-devel] [PATCH 05/10] pcnet: Convert to realize Markus Armbruster
2015-01-19 14:52 ` [Qemu-devel] [PATCH 06/10] serial-pci: " Markus Armbruster
2015-01-19 14:52 ` [Qemu-devel] [PATCH 07/10] ide/ich: " Markus Armbruster
2015-01-19 14:52 ` [Qemu-devel] [PATCH 08/10] cirrus-vga: " Markus Armbruster
2015-01-19 14:52 ` [Qemu-devel] [PATCH 09/10] qxl: " Markus Armbruster
2015-01-19 14:52 ` [Qemu-devel] [PATCH 10/10] pci-assign: " Markus Armbruster
2015-01-19 15:09 ` [Qemu-devel] [PATCH 00/10] pci: Partial conversion " Andreas Färber
2015-01-19 16:00   ` Markus Armbruster
2015-01-19 21:39     ` Michael S. Tsirkin
2015-02-04  9:34 ` Markus Armbruster
2015-02-04  9:40   ` Michael S. Tsirkin
2015-02-04  9:43 ` Gonglei
2015-02-04 10:30   ` Markus Armbruster
2015-02-04 10:37     ` Gonglei
2015-02-05 12:07 ` Michael S. Tsirkin [this message]
2015-02-05 16:07   ` Markus Armbruster

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=20150205120749.GD30113@redhat.com \
    --to=mst@redhat.com \
    --cc=afaerber@suse.de \
    --cc=arei.gonglei@huawei.com \
    --cc=armbru@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=pbonzini@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 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).