From: "Michael S. Tsirkin" <mst@redhat.com>
To: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: stefano.stabellini@eu.citrix.com, jan.kiszka@siemens.com,
allen.m.kay@intel.com, qemu-devel@nongnu.org,
blauwirbel@gmail.com, kraxel@redhat.com, jean.guyader@gmail.com
Subject: [Qemu-devel] Re: [PATCH 00/10] pci: pci to pci bridge clean up and enhancement
Date: Thu, 17 Jun 2010 13:02:43 +0300 [thread overview]
Message-ID: <20100617100243.GF7912@redhat.com> (raw)
In-Reply-To: <cover.1276755023.git.yamahata@valinux.co.jp>
On Thu, Jun 17, 2010 at 03:15:42PM +0900, Isaku Yamahata wrote:
> This patch series cleans up pci to pci bridge layer by introducing
> pci bridge layer. and some bug fixes.
> Although pci bridge implementation would belong to pci.c,
> I split it out into pci_bridge.c because pci.c is already big enough.
>
> This might seem over engineering, but it's also a preparation for
> pci express root/upstream/downstream port emulators.
> Those express ports are similar, but different from each other.
> So new pci bridge layer helps here.
> Once this patch series is merged, the express ports patch will follow.
A separate patchset with just bugfixes and cleanups, would be easier to
merge.
For example, forcing all devices to call pci_reset_default
in their reset routines does not look like a good cleanup:
the less boilerplate, the better IMO. New APIs seem undocumented
and it is not obvious what they do. For example, what does
qdev_reset do? Adding more callbacks
also does not make me very happy, they are hard to follow
and to debug. Maybe it would be better to look at the bridge layer when
we see how it helps pci express. But it would be even better IMO to avoid
layers, and just export some common functions that can be reused,
without forcing all devices to go through them.
> Isaku Yamahata (10):
> pci_bridge: split out pci bridge code into pci_bridge.c from pci.c
> qdev: export qdev_reset() for later use.
> pci: fix pci_bus_reset() with 64bit BAR and several clean ups.
> pci_bridge: introduce pci bridge layer.
> pci bridge: add helper function for ssvid capability.
> pci: eliminate work around in pci_device_reset().
> pci: fix pci domain registering.
> pci: remove PCIDeviceInfo::header_type
> pci: set PCI multi-function bit appropriately.
> pci: don't overwrite multi functio bit in pci header type.
>
> Makefile.objs | 2 +-
> hw/ac97.c | 1 -
> hw/acpi_piix4.c | 1 -
> hw/apb_pci.c | 43 ++++++++-----
> hw/dec_pci.c | 31 ++++++---
> hw/e1000.c | 1 +
> hw/grackle_pci.c | 1 -
> hw/ide/cmd646.c | 1 -
> hw/ide/piix.c | 1 -
> hw/lsi53c895a.c | 2 +
> hw/macio.c | 1 -
> hw/ne2000.c | 1 -
> hw/openpic.c | 1 -
> hw/pci.c | 194 +++++++++++++++++++++++------------------------------
> hw/pci.h | 22 +++++-
> hw/pci_bridge.c | 188 +++++++++++++++++++++++++++++++++++++++++++++++++++
> hw/pci_bridge.h | 71 +++++++++++++++++++
> hw/pcnet.c | 2 +-
> hw/piix4.c | 3 +-
> hw/piix_pci.c | 5 +-
> hw/prep_pci.c | 1 -
> hw/qdev.c | 13 +++-
> hw/qdev.h | 1 +
> hw/rtl8139.c | 3 +-
> hw/sun4u.c | 1 -
> hw/unin_pci.c | 4 -
> hw/usb-uhci.c | 1 -
> hw/vga-pci.c | 1 -
> hw/virtio-pci.c | 2 +-
> hw/vmware_vga.c | 1 -
> hw/wdt_i6300esb.c | 1 -
> qemu-common.h | 1 +
> 32 files changed, 430 insertions(+), 172 deletions(-)
> create mode 100644 hw/pci_bridge.c
> create mode 100644 hw/pci_bridge.h
next prev parent reply other threads:[~2010-06-17 10:07 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-17 6:15 [Qemu-devel] [PATCH 00/10] pci: pci to pci bridge clean up and enhancement Isaku Yamahata
2010-06-17 6:15 ` [Qemu-devel] [PATCH 01/10] pci_bridge: split out pci bridge code into pci_bridge.c from pci.c Isaku Yamahata
2010-06-17 6:15 ` [Qemu-devel] [PATCH 02/10] qdev: export qdev_reset() for later use Isaku Yamahata
2010-06-17 7:01 ` Markus Armbruster
2010-06-17 10:05 ` [Qemu-devel] " Michael S. Tsirkin
2010-06-17 6:15 ` [Qemu-devel] [PATCH 03/10] pci: fix pci_bus_reset() with 64bit BAR and several clean ups Isaku Yamahata
2010-06-17 10:58 ` [Qemu-devel] " Michael S. Tsirkin
2010-06-17 6:15 ` [Qemu-devel] [PATCH 04/10] pci_bridge: introduce pci bridge layer Isaku Yamahata
2010-06-17 9:52 ` [Qemu-devel] " Michael S. Tsirkin
2010-06-17 6:15 ` [Qemu-devel] [PATCH 05/10] pci bridge: add helper function for ssvid capability Isaku Yamahata
2010-06-17 10:01 ` [Qemu-devel] " Michael S. Tsirkin
2010-06-17 6:15 ` [Qemu-devel] [PATCH 06/10] pci: eliminate work around in pci_device_reset() Isaku Yamahata
2010-06-17 6:15 ` [Qemu-devel] [PATCH 07/10] pci: fix pci domain registering Isaku Yamahata
2010-06-17 6:15 ` [Qemu-devel] [PATCH 08/10] pci: remove PCIDeviceInfo::header_type Isaku Yamahata
2010-06-17 6:15 ` [Qemu-devel] [PATCH 09/10] pci: set PCI multi-function bit appropriately Isaku Yamahata
2010-06-17 9:37 ` [Qemu-devel] " Michael S. Tsirkin
2010-06-18 2:40 ` Isaku Yamahata
2010-06-18 12:44 ` Michael S. Tsirkin
2010-06-18 13:38 ` Isaku Yamahata
2010-06-18 14:59 ` Michael S. Tsirkin
2010-06-18 15:22 ` Jamie Lokier
2010-06-20 10:03 ` Michael S. Tsirkin
2010-06-17 6:15 ` [Qemu-devel] [PATCH 10/10] pci: don't overwrite multi functio bit in pci header type Isaku Yamahata
2010-06-17 9:41 ` [Qemu-devel] " Michael S. Tsirkin
2010-06-17 10:02 ` Michael S. Tsirkin [this message]
2010-06-17 11:57 ` [Qemu-devel] Re: [PATCH 00/10] pci: pci to pci bridge clean up and enhancement Michael S. Tsirkin
2010-06-18 3:26 ` Isaku Yamahata
2010-06-18 12:46 ` Michael S. Tsirkin
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=20100617100243.GF7912@redhat.com \
--to=mst@redhat.com \
--cc=allen.m.kay@intel.com \
--cc=blauwirbel@gmail.com \
--cc=jan.kiszka@siemens.com \
--cc=jean.guyader@gmail.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=yamahata@valinux.co.jp \
/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.