All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH V5 00/29] pci: various pci clean up and pci express support.
@ 2009-10-09  6:28 Isaku Yamahata
  2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 01/29] pci: fix PCI_DPRINTF() wrt variadic macro Isaku Yamahata
                   ` (28 more replies)
  0 siblings, 29 replies; 68+ messages in thread
From: Isaku Yamahata @ 2009-10-09  6:28 UTC (permalink / raw)
  To: qemu-devel, mst; +Cc: yamahata

Again thanks to Michael's review, patches have been much cleaned up.
And I suppose sparc64 issue is also fixed.
The qemu repository has many commits and I rebased to it.


- pci: add helper functions for pci config write function.
I'd like to sent out patches as soon as possible after big commit,
so I didn't have time to fully addressed the following patch fully. 
This patch would need more spin.

- pci_host.h: move functions in pci_host.h into .c file.
This uses some macro trick. Or should I duplicate function
instead of tricky macro?


This patch set is preliminary for q35 based chipset support.
This patch sets does various pci related clean ups and 
64bit bar, pciemmconfig and pci bridge support.

I'm aware that some of patches are already conflicting with
other's patch. It is appriciated to merge some first part of
patches which doesn't conflict.

thanks,

changes from V4:
- rebased to ad323081aa0e20d3d573ea64e88a893d576c05e0
- reordered patches.
- many clean up
- more consolidation of pci host stuff into pci_host.c
- move pci host stuff to pci_host.c
- move pcie host stuff to pcie_host.c
- introduced QEMU_PCI_CAP_EXPRESS

changes from V3:
- indentation
- reworked helper function to update pci configuration space
- dropped pci_conf_init[blw]()
- pci: use PCI_SLOT() and PCI_FUNC(). two more use.
  I kept the acked-by hoping Michael won't be against it.
- pci 64bit bar
  - comment
  - s/PCI_BASE_ADDRESS_SPACE_MEM_64/PCI_BASE_ADDRESS_MEM_TYPE_64/g
  - s/pci_bar_is_64big/pci_bar_is_mem64/g
- pci bridge
  - refined pci_bar_config_offset(). 
- bridge/qdevfy
  - pass -1 for vmstate_register()
  - use pci_create_simple()
  - some clean up
- pci/monitor: print out bridge's filtering values and so on. 
  - fixed io range calculation
  - unified case
  - indentation

changes from V2:
- bug fix pointed out by Gerd Hoffmann
  pci_find_devie()
  pci: make pci configuration transaction more accurate.

changes from V1:
- introduced pcibus_t
- dropped pci_config_[sg]et_xxx()
- many code clean up
- reworked pci_host.h
- reworked pci bus search to introduce tree representation for pci bus
- dropped some non essential patches

Isaku Yamahata (29):
  pci: fix PCI_DPRINTF() wrt variadic macro.
  pci: introduce constant PCI_NUM_PINS for the number of interrupt
    pins, 4.
  pci: use PCI_SLOT() and PCI_FUNC().
  pci: define a constant to represent a unmapped bar and use it.
  pci: helper functions to access PCIDevice::config
  pci: use helper functions to access pci config space.
  pci/bridge: clean up of pci_bridge_initfn()
  pci: s/PCI_ADDRESS_SPACE_/PCI_BASE_ADDRESS_SPACE_/ to match
    pci_regs.h
  pci: clean up of pci_default_read_config.
  pci: make pci_bar() aware of header type 1.
  pci_host.h: move functions in pci_host.h into .c file.
  pci_host: consolidate pci config address access.
  pci: introduce pcibus_t to represent pci bus address/size instead of
    uint32_t
  pci: introduce FMT_PCIBUS for printf format for pcibus_t.
  pci: typedef pcibus_t as uint64_t instead of uint32_t.
  pci: 64bit bar support.
  pci: make pci configuration transaction more accurate.
  pci: factor out the conversion logic from io port address into pci
    device.
  pci: split out ioport address parsing from pci configuration access
    logic.
  pci: move pci host stuff from pci.c to pci_host.c
  pci_host: change the signature of pci_data_{read, write}.
  vmstate: add VMSTATE_ARRAY_POINTER for pointer to array.
  pci: pcie host and mmcfg support.
  pci: fix pci_default_write_config()
  pci: add helper functions for pci config write function.
  pci: use helper function in pci_default_write_config()
  pci/bridge: don't update bar mapping when bar2-5 is changed.
  pci: initialize pci config headers depending it pci header type.
  pci/monitor: print out bridge's filtering values and so on.

 Makefile.target                        |    2 +-
 hw/ac97.c                              |    7 +-
 hw/apb_pci.c                           |   72 +----
 hw/cirrus_vga.c                        |   11 +-
 hw/e1000.c                             |   16 +-
 hw/eepro100.c                          |   28 +-
 hw/es1370.c                            |    4 +-
 hw/grackle_pci.c                       |   69 +----
 hw/gt64xxx.c                           |   11 +-
 hw/hw.h                                |   22 ++
 hw/ide/pci.c                           |   16 +-
 hw/lsi53c895a.c                        |   12 +-
 hw/macio.c                             |    4 +-
 hw/msix.c                              |    2 +-
 hw/msix.h                              |    3 +-
 hw/ne2000.c                            |    4 +-
 hw/openpic.c                           |    4 +-
 hw/pci-hotplug.c                       |    4 +-
 hw/pci.c                               |  582 ++++++++++++++++++++++----------
 hw/pci.h                               |  169 +++++++++-
 hw/pci_host.c                          |  215 ++++++++++++
 hw/pci_host.h                          |   93 +-----
 hw/{pci_host.h => pci_host_template.h} |   36 +--
 hw/pcie_host.c                         |  166 +++++++++
 hw/pcie_host.h                         |   53 +++
 hw/pcnet.c                             |   14 +-
 hw/piix_pci.c                          |   26 +--
 hw/ppc4xx_pci.c                        |   18 +-
 hw/ppce500_pci.c                       |   51 +---
 hw/prep_pci.c                          |   24 +--
 hw/rtl8139.c                           |    8 +-
 hw/sun4u.c                             |    6 +-
 hw/unin_pci.c                          |  121 +------
 hw/usb-ohci.c                          |    4 +-
 hw/usb-uhci.c                          |    4 +-
 hw/vga-pci.c                           |    6 +-
 hw/virtio-pci.c                        |    6 +-
 hw/vmware_vga.c                        |    8 +-
 hw/wdt_i6300esb.c                      |    7 +-
 39 files changed, 1165 insertions(+), 743 deletions(-)
 create mode 100644 hw/pci_host.c
 copy hw/{pci_host.h => pci_host_template.h} (80%)
 create mode 100644 hw/pcie_host.c
 create mode 100644 hw/pcie_host.h

^ permalink raw reply	[flat|nested] 68+ messages in thread

end of thread, other threads:[~2009-10-14  8:58 UTC | newest]

Thread overview: 68+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-09  6:28 [Qemu-devel] [PATCH V5 00/29] pci: various pci clean up and pci express support Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 01/29] pci: fix PCI_DPRINTF() wrt variadic macro Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 02/29] pci: introduce constant PCI_NUM_PINS for the number of interrupt pins, 4 Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 03/29] pci: use PCI_SLOT() and PCI_FUNC() Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 04/29] pci: define a constant to represent a unmapped bar and use it Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 05/29] pci: helper functions to access PCIDevice::config Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 06/29] pci: use helper functions to access pci config space Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 07/29] pci/bridge: clean up of pci_bridge_initfn() Isaku Yamahata
2009-10-09  6:53   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-13 13:20     ` Isaku Yamahata
2009-10-13 14:17       ` Michael S. Tsirkin
2009-10-13 15:12       ` Blue Swirl
2009-10-13 15:26         ` Michael S. Tsirkin
2009-10-13 16:32           ` Blue Swirl
2009-10-09  6:54   ` Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 08/29] pci: s/PCI_ADDRESS_SPACE_/PCI_BASE_ADDRESS_SPACE_/ to match pci_regs.h Isaku Yamahata
2009-10-09  6:57   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-13 13:21     ` Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 09/29] pci: clean up of pci_default_read_config Isaku Yamahata
2009-10-09  6:50   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-09  6:58   ` Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 10/29] pci: make pci_bar() aware of header type 1 Isaku Yamahata
2009-10-09  7:06   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-10 19:29   ` Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 11/29] pci_host.h: move functions in pci_host.h into .c file Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 12/29] pci_host: consolidate pci config address access Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 13/29] pci: introduce pcibus_t to represent pci bus address/size instead of uint32_t Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 14/29] pci: introduce FMT_PCIBUS for printf format for pcibus_t Isaku Yamahata
2009-10-10 19:32   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 15/29] pci: typedef pcibus_t as uint64_t instead of uint32_t Isaku Yamahata
2009-10-11 10:43   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-13 13:31     ` Isaku Yamahata
2009-10-13 14:39       ` Michael S. Tsirkin
2009-10-14  4:35         ` Isaku Yamahata
2009-10-14  8:55           ` Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 16/29] pci: 64bit bar support Isaku Yamahata
2009-10-10 19:39   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-13 13:52     ` Isaku Yamahata
2009-10-13 15:00       ` Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 17/29] pci: make pci configuration transaction more accurate Isaku Yamahata
2009-10-09 12:52   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 18/29] pci: factor out the conversion logic from io port address into pci device Isaku Yamahata
2009-10-10 19:41   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 19/29] pci: split out ioport address parsing from pci configuration access logic Isaku Yamahata
2009-10-10 19:45   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-13 14:14     ` Isaku Yamahata
2009-10-13 14:49       ` Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 20/29] pci: move pci host stuff from pci.c to pci_host.c Isaku Yamahata
2009-10-10 19:46   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 21/29] pci_host: change the signature of pci_data_{read, write} Isaku Yamahata
2009-10-09 12:02   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 22/29] vmstate: add VMSTATE_ARRAY_POINTER for pointer to array Isaku Yamahata
2009-10-11 10:37   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 23/29] pci: pcie host and mmcfg support Isaku Yamahata
2009-10-11 10:26   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 24/29] pci: fix pci_default_write_config() Isaku Yamahata
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 25/29] pci: add helper functions for pci config write function Isaku Yamahata
2009-10-10 19:58   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-09  6:28 ` [Qemu-devel] [PATCH V5 26/29] pci: use helper function in pci_default_write_config() Isaku Yamahata
2009-10-09  6:29 ` [Qemu-devel] [PATCH V5 27/29] pci/bridge: don't update bar mapping when bar2-5 is changed Isaku Yamahata
2009-10-09 10:35   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-09  6:29 ` [Qemu-devel] [PATCH V5 28/29] pci: initialize pci config headers depending it pci header type Isaku Yamahata
2009-10-09 10:42   ` [Qemu-devel] " Michael S. Tsirkin
2009-10-13 14:31     ` Isaku Yamahata
2009-10-13 14:52       ` Michael S. Tsirkin
2009-10-13 15:06       ` Michael S. Tsirkin
2009-10-09  6:29 ` [Qemu-devel] [PATCH V5 29/29] pci/monitor: print out bridge's filtering values and so on Isaku Yamahata
2009-10-10 20:05   ` [Qemu-devel] " Michael S. Tsirkin

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.