From: "Michael S. Tsirkin" <mst@redhat.com>
To: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH 09/25] pci: introduce pcibus_t to represent pci bus address/size instead of uint32_t
Date: Sun, 4 Oct 2009 12:06:23 +0200 [thread overview]
Message-ID: <20091004100623.GK16887@redhat.com> (raw)
In-Reply-To: <1254514577-11896-10-git-send-email-yamahata@valinux.co.jp>
On Sat, Oct 03, 2009 at 05:16:01AM +0900, Isaku Yamahata wrote:
> This patch is preliminary for 64 bit BAR support.
> Introduce dedicated type, pcibus_t, to represent pci bus address/size
> instead of uint32_t.
> Later this type will be changed to uint64_t.
>
> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> hw/ac97.c | 2 +-
> hw/cirrus_vga.c | 4 ++--
> hw/e1000.c | 6 +++---
> hw/eepro100.c | 4 ++--
> hw/es1370.c | 2 +-
> hw/ide/pci.c | 4 ++--
> hw/lsi53c895a.c | 6 +++---
> hw/macio.c | 2 +-
> hw/msix.c | 2 +-
> hw/msix.h | 3 ++-
> hw/ne2000.c | 2 +-
> hw/openpic.c | 2 +-
> hw/pci.c | 7 ++++---
> hw/pci.h | 12 +++++++-----
> hw/pcnet.c | 4 ++--
> hw/rtl8139.c | 4 ++--
> hw/sun4u.c | 2 +-
> hw/usb-ohci.c | 2 +-
> hw/usb-uhci.c | 2 +-
> hw/vga-pci.c | 2 +-
> hw/virtio-pci.c | 2 +-
> hw/vmware_vga.c | 4 ++--
> hw/wdt_i6300esb.c | 2 +-
> 23 files changed, 43 insertions(+), 39 deletions(-)
>
> diff --git a/hw/ac97.c b/hw/ac97.c
> index 610ca60..e3f0dbc 100644
> --- a/hw/ac97.c
> +++ b/hw/ac97.c
> @@ -1250,7 +1250,7 @@ static int ac97_load (QEMUFile *f, void *opaque, int version_id)
> }
>
> static void ac97_map (PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> AC97LinkState *s = DO_UPCAST (AC97LinkState, dev, pci_dev);
> PCIDevice *d = &s->dev;
> diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
> index fd2367a..2a6aba8 100644
> --- a/hw/cirrus_vga.c
> +++ b/hw/cirrus_vga.c
> @@ -3170,7 +3170,7 @@ void isa_cirrus_vga_init(void)
> ***************************************/
>
> static void cirrus_pci_lfb_map(PCIDevice *d, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> CirrusVGAState *s = &DO_UPCAST(PCICirrusVGAState, dev, d)->cirrus_vga;
>
> @@ -3191,7 +3191,7 @@ static void cirrus_pci_lfb_map(PCIDevice *d, int region_num,
> }
>
> static void cirrus_pci_mmio_map(PCIDevice *d, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> CirrusVGAState *s = &DO_UPCAST(PCICirrusVGAState, dev, d)->cirrus_vga;
>
> diff --git a/hw/e1000.c b/hw/e1000.c
> index 95c471c..c07eb42 100644
> --- a/hw/e1000.c
> +++ b/hw/e1000.c
> @@ -142,8 +142,8 @@ static const char phy_regcap[0x20] = {
> };
>
> static void
> -ioport_map(PCIDevice *pci_dev, int region_num, uint32_t addr,
> - uint32_t size, int type)
> +ioport_map(PCIDevice *pci_dev, int region_num, pcibus_t addr,
> + pcibus_t size, int type)
> {
> DBGOUT(IO, "e1000_ioport_map addr=0x%04x size=0x%08x\n", addr, size);
> }
> @@ -1030,7 +1030,7 @@ static CPUReadMemoryFunc * const e1000_mmio_read[] = {
>
> static void
> e1000_mmio_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> E1000State *d = DO_UPCAST(E1000State, dev, pci_dev);
> int i;
> diff --git a/hw/eepro100.c b/hw/eepro100.c
> index 3f84e26..1a1a0da 100644
> --- a/hw/eepro100.c
> +++ b/hw/eepro100.c
> @@ -1374,7 +1374,7 @@ static void ioport_write4(void *opaque, uint32_t addr, uint32_t val)
> /* PCI EEPRO100 definitions */
>
> static void pci_map(PCIDevice * pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> EEPRO100State *s = DO_UPCAST(EEPRO100State, dev, pci_dev);
>
> @@ -1453,7 +1453,7 @@ static CPUReadMemoryFunc * const pci_mmio_read[] = {
> };
>
> static void pci_mmio_map(PCIDevice * pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> EEPRO100State *s = DO_UPCAST(EEPRO100State, dev, pci_dev);
>
> diff --git a/hw/es1370.c b/hw/es1370.c
> index 9071a48..b42809d 100644
> --- a/hw/es1370.c
> +++ b/hw/es1370.c
> @@ -907,7 +907,7 @@ static void es1370_adc_callback (void *opaque, int avail)
> }
>
> static void es1370_map (PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> ES1370State *s = DO_UPCAST (ES1370State, dev, pci_dev);
>
> diff --git a/hw/ide/pci.c b/hw/ide/pci.c
> index 89ecd44..125f04d 100644
> --- a/hw/ide/pci.c
> +++ b/hw/ide/pci.c
> @@ -60,7 +60,7 @@ typedef struct PCIIDEState {
> static void cmd646_update_irq(PCIIDEState *d);
>
> static void ide_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> PCIIDEState *d = (PCIIDEState *)pci_dev;
> IDEBus *bus;
> @@ -245,7 +245,7 @@ static void bmdma_addr_writel(void *opaque, uint32_t addr, uint32_t val)
> }
>
> static void bmdma_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> PCIIDEState *d = (PCIIDEState *)pci_dev;
> int i;
> diff --git a/hw/lsi53c895a.c b/hw/lsi53c895a.c
> index 62bdca8..d62581a 100644
> --- a/hw/lsi53c895a.c
> +++ b/hw/lsi53c895a.c
> @@ -1926,7 +1926,7 @@ static void lsi_io_writel(void *opaque, uint32_t addr, uint32_t val)
> }
>
> static void lsi_io_mapfunc(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> LSIState *s = DO_UPCAST(LSIState, dev, pci_dev);
>
> @@ -1941,7 +1941,7 @@ static void lsi_io_mapfunc(PCIDevice *pci_dev, int region_num,
> }
>
> static void lsi_ram_mapfunc(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> LSIState *s = DO_UPCAST(LSIState, dev, pci_dev);
>
> @@ -1951,7 +1951,7 @@ static void lsi_ram_mapfunc(PCIDevice *pci_dev, int region_num,
> }
>
> static void lsi_mmio_mapfunc(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> LSIState *s = DO_UPCAST(LSIState, dev, pci_dev);
>
> diff --git a/hw/macio.c b/hw/macio.c
> index 8cfadfc..f3340da 100644
> --- a/hw/macio.c
> +++ b/hw/macio.c
> @@ -40,7 +40,7 @@ struct macio_state_t {
> };
>
> static void macio_map (PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> macio_state_t *macio_state;
> int i;
> diff --git a/hw/msix.c b/hw/msix.c
> index 3782994..4300c4e 100644
> --- a/hw/msix.c
> +++ b/hw/msix.c
> @@ -201,7 +201,7 @@ static CPUReadMemoryFunc * const msix_mmio_read[] = {
>
> /* Should be called from device's map method. */
> void msix_mmio_map(PCIDevice *d, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> uint8_t *config = d->config + d->msix_cap;
> uint32_t table = pci_get_long(config + MSIX_TABLE_OFFSET);
> diff --git a/hw/msix.h b/hw/msix.h
> index 9367ba3..2ff754a 100644
> --- a/hw/msix.h
> +++ b/hw/msix.h
> @@ -2,6 +2,7 @@
> #define QEMU_MSIX_H
>
> #include "qemu-common.h"
> +#include "pci.h"
>
> int msix_init(struct PCIDevice *dev, unsigned short nentries,
> unsigned bar_nr, unsigned bar_size,
> @@ -11,7 +12,7 @@ void msix_write_config(PCIDevice *pci_dev, uint32_t address,
> uint32_t val, int len);
>
> void msix_mmio_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type);
> + pcibus_t addr, pcibus_t size, int type);
>
> int msix_uninit(PCIDevice *d);
>
> diff --git a/hw/ne2000.c b/hw/ne2000.c
> index 87f1e59..d77ea73 100644
> --- a/hw/ne2000.c
> +++ b/hw/ne2000.c
> @@ -715,7 +715,7 @@ static int pci_ne2000_load(QEMUFile* f, void* opaque, int version_id)
> /* PCI NE2000 definitions */
>
> static void ne2000_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> PCINE2000State *d = DO_UPCAST(PCINE2000State, dev, pci_dev);
> NE2000State *s = &d->ne2000;
> diff --git a/hw/openpic.c b/hw/openpic.c
> index 74dde6d..a2f3990 100644
> --- a/hw/openpic.c
> +++ b/hw/openpic.c
> @@ -1026,7 +1026,7 @@ static CPUReadMemoryFunc * const openpic_read[] = {
> };
>
> static void openpic_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> openpic_t *opp;
>
> diff --git a/hw/pci.c b/hw/pci.c
> index 21e23b0..674daba 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -396,12 +396,12 @@ int pci_unregister_device(PCIDevice *pci_dev)
> }
>
> void pci_register_bar(PCIDevice *pci_dev, int region_num,
> - uint32_t size, int type,
> + pcibus_t size, int type,
> PCIMapIORegionFunc *map_func)
> {
> PCIIORegion *r;
> uint32_t addr;
> - uint32_t wmask;
> + pcibus_t wmask;
>
> if ((unsigned int)region_num >= PCI_NUM_REGIONS)
> return;
> @@ -435,7 +435,8 @@ static void pci_update_mappings(PCIDevice *d)
> {
> PCIIORegion *r;
> int cmd, i;
> - uint32_t last_addr, new_addr, config_ofs;
> + pcibus_t last_addr, new_addr;
> + uint32_t config_ofs;
>
> cmd = pci_get_word(d->config + PCI_COMMAND);
> for(i = 0; i < PCI_NUM_REGIONS; i++) {
> diff --git a/hw/pci.h b/hw/pci.h
> index e79540a..8e46aba 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -71,12 +71,14 @@ extern target_phys_addr_t pci_mem_base;
> #define PCI_DEVICE_ID_VIRTIO_BALLOON 0x1002
> #define PCI_DEVICE_ID_VIRTIO_CONSOLE 0x1003
>
> +typedef uint32_t pcibus_t;
> +
> typedef void PCIConfigWriteFunc(PCIDevice *pci_dev,
> uint32_t address, uint32_t data, int len);
> typedef uint32_t PCIConfigReadFunc(PCIDevice *pci_dev,
> uint32_t address, int len);
> typedef void PCIMapIORegionFunc(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type);
> + pcibus_t addr, pcibus_t size, int type);
> typedef int PCIUnregisterFunc(PCIDevice *pci_dev);
>
> #define PCI_ADDRESS_SPACE_MEM 0x00
> @@ -84,9 +86,9 @@ typedef int PCIUnregisterFunc(PCIDevice *pci_dev);
> #define PCI_ADDRESS_SPACE_MEM_PREFETCH 0x08
>
> typedef struct PCIIORegion {
> - uint32_t addr; /* current PCI mapping address. -1 means not mapped */
> -#define PCI_BAR_UNMAPPED (~(uint32_t)0)
> - uint32_t size;
> + pcibus_t addr; /* current PCI mapping address. -1 means not mapped */
> +#define PCI_BAR_UNMAPPED (~(pcibus_t)0)
> + pcibus_t size;
> uint8_t type;
> PCIMapIORegionFunc *map_func;
> } PCIIORegion;
> @@ -232,7 +234,7 @@ PCIDevice *pci_register_device(PCIBus *bus, const char *name,
> int pci_unregister_device(PCIDevice *pci_dev);
>
> void pci_register_bar(PCIDevice *pci_dev, int region_num,
> - uint32_t size, int type,
> + pcibus_t size, int type,
> PCIMapIORegionFunc *map_func);
>
> int pci_add_capability(PCIDevice *pci_dev, uint8_t cap_id, uint8_t cap_size);
> diff --git a/hw/pcnet.c b/hw/pcnet.c
> index ae98a20..2789574 100644
> --- a/hw/pcnet.c
> +++ b/hw/pcnet.c
> @@ -1761,7 +1761,7 @@ static uint32_t pcnet_ioport_readl(void *opaque, uint32_t addr)
> }
>
> static void pcnet_ioport_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> PCNetState *d = &DO_UPCAST(PCIPCNetState, pci_dev, pci_dev)->state;
>
> @@ -1989,7 +1989,7 @@ static CPUReadMemoryFunc * const pcnet_mmio_read[] = {
> };
>
> static void pcnet_mmio_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> PCIPCNetState *d = DO_UPCAST(PCIPCNetState, pci_dev, pci_dev);
>
> diff --git a/hw/rtl8139.c b/hw/rtl8139.c
> index 83cb1ff..6856b23 100644
> --- a/hw/rtl8139.c
> +++ b/hw/rtl8139.c
> @@ -3324,7 +3324,7 @@ static int rtl8139_load(QEMUFile* f,void* opaque,int version_id)
> /* PCI RTL8139 definitions */
>
> static void rtl8139_mmio_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> RTL8139State *s = DO_UPCAST(RTL8139State, dev, pci_dev);
>
> @@ -3332,7 +3332,7 @@ static void rtl8139_mmio_map(PCIDevice *pci_dev, int region_num,
> }
>
> static void rtl8139_ioport_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> RTL8139State *s = DO_UPCAST(RTL8139State, dev, pci_dev);
>
> diff --git a/hw/sun4u.c b/hw/sun4u.c
> index 2c97d9d..5812782 100644
> --- a/hw/sun4u.c
> +++ b/hw/sun4u.c
> @@ -344,7 +344,7 @@ static const int parallel_io[MAX_PARALLEL_PORTS] = { 0x378, 0x278, 0x3bc };
> static const int parallel_irq[MAX_PARALLEL_PORTS] = { 7, 7, 7 };
>
> static void ebus_mmio_mapfunc(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> DPRINTF("Mapping region %d registers at %08x\n", region_num, addr);
> switch (region_num) {
> diff --git a/hw/usb-ohci.c b/hw/usb-ohci.c
> index 6e428c4..7a92efd 100644
> --- a/hw/usb-ohci.c
> +++ b/hw/usb-ohci.c
> @@ -1707,7 +1707,7 @@ typedef struct {
> } OHCIPCIState;
>
> static void ohci_mapfunc(PCIDevice *pci_dev, int i,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> OHCIPCIState *ohci = DO_UPCAST(OHCIPCIState, pci_dev, pci_dev);
> cpu_register_physical_memory(addr, size, ohci->state.mem);
> diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
> index 6807413..abeb552 100644
> --- a/hw/usb-uhci.c
> +++ b/hw/usb-uhci.c
> @@ -1059,7 +1059,7 @@ static void uhci_frame_timer(void *opaque)
> }
>
> static void uhci_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> UHCIState *s = (UHCIState *)pci_dev;
>
> diff --git a/hw/vga-pci.c b/hw/vga-pci.c
> index 6038cec..b0e4262 100644
> --- a/hw/vga-pci.c
> +++ b/hw/vga-pci.c
> @@ -71,7 +71,7 @@ void vga_dirty_log_start(VGACommonState *s)
> }
>
> static void vga_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> PCIVGAState *d = (PCIVGAState *)pci_dev;
> VGACommonState *s = &d->vga;
> diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
> index bd5a7c4..e68823a 100644
> --- a/hw/virtio-pci.c
> +++ b/hw/virtio-pci.c
> @@ -342,7 +342,7 @@ static void virtio_pci_config_writel(void *opaque, uint32_t addr, uint32_t val)
> }
>
> static void virtio_map(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> VirtIOPCIProxy *proxy = container_of(pci_dev, VirtIOPCIProxy, pci_dev);
> VirtIODevice *vdev = proxy->vdev;
> diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c
> index a273f35..945d57e 100644
> --- a/hw/vmware_vga.c
> +++ b/hw/vmware_vga.c
> @@ -1174,7 +1174,7 @@ static int pci_vmsvga_load(QEMUFile *f, void *opaque, int version_id)
> }
>
> static void pci_vmsvga_map_ioport(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> struct pci_vmsvga_state_s *d = (struct pci_vmsvga_state_s *) pci_dev;
> struct vmsvga_state_s *s = &d->chip;
> @@ -1194,7 +1194,7 @@ static void pci_vmsvga_map_ioport(PCIDevice *pci_dev, int region_num,
> }
>
> static void pci_vmsvga_map_mem(PCIDevice *pci_dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> struct pci_vmsvga_state_s *d = (struct pci_vmsvga_state_s *) pci_dev;
> struct vmsvga_state_s *s = &d->chip;
> diff --git a/hw/wdt_i6300esb.c b/hw/wdt_i6300esb.c
> index 3abaa87..d3ab3c8 100644
> --- a/hw/wdt_i6300esb.c
> +++ b/hw/wdt_i6300esb.c
> @@ -347,7 +347,7 @@ static void i6300esb_mem_writel(void *vp, target_phys_addr_t addr, uint32_t val)
> }
>
> static void i6300esb_map(PCIDevice *dev, int region_num,
> - uint32_t addr, uint32_t size, int type)
> + pcibus_t addr, pcibus_t size, int type)
> {
> static CPUReadMemoryFunc * const mem_read[3] = {
> i6300esb_mem_readb,
> --
> 1.6.0.2
>
>
next prev parent reply other threads:[~2009-10-04 10:08 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-02 20:15 [Qemu-devel] [PATCH 00/25] pci: various pci clean up and pci express support. V3 Isaku Yamahata
2009-10-02 20:15 ` [Qemu-devel] [PATCH 01/25] pci: fix PCI_DPRINTF() wrt variadic macro Isaku Yamahata
2009-10-02 20:15 ` [Qemu-devel] [PATCH 02/25] pci: use appropriate PRIs in PCI_DPRINTF() for portability Isaku Yamahata
2009-10-04 9:51 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-05 9:30 ` Isaku Yamahata
2009-10-05 9:56 ` Michael S. Tsirkin
2009-10-02 20:15 ` [Qemu-devel] [PATCH 03/25] pci: introduce constant PCI_NUM_PINS for the number of interrupt pins, 4 Isaku Yamahata
2009-10-04 10:04 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-05 9:32 ` Isaku Yamahata
2009-10-02 20:15 ` [Qemu-devel] [PATCH 04/25] pci: use the symbolic constant, PCI_ROM_ADDRESS_ENABLE instead of 1 Isaku Yamahata
2009-10-04 10:06 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:15 ` [Qemu-devel] [PATCH 05/25] pci: use PCI_SLOT() and PCI_FUNC() Isaku Yamahata
2009-10-04 10:02 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:15 ` [Qemu-devel] [PATCH 06/25] pci: define a constant to represent a unmapped bar and use it Isaku Yamahata
2009-10-04 10:04 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:15 ` [Qemu-devel] [PATCH 07/25] pci: helper functions to access PCIDevice::config Isaku Yamahata
2009-10-04 9:48 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 08/25] pci: use helper functions to access pci config space Isaku Yamahata
2009-10-04 9:47 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 09/25] pci: introduce pcibus_t to represent pci bus address/size instead of uint32_t Isaku Yamahata
2009-10-04 10:06 ` Michael S. Tsirkin [this message]
2009-10-02 20:16 ` [Qemu-devel] [PATCH 10/25] pci: introduce FMT_pcibus for printf format for pcibus_t Isaku Yamahata
2009-10-04 9:46 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 11/25] pci: typedef pcibus_t as uint64_t instead of uint32_t Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 12/25] pci: 64bit bar support Isaku Yamahata
2009-10-04 10:26 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-05 9:45 ` Isaku Yamahata
2009-10-05 10:08 ` Michael S. Tsirkin
2009-10-05 10:26 ` Isaku Yamahata
2009-10-05 11:04 ` Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 13/25] pci: make pci configuration transaction more accurate Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 14/25] pci: factor out the logic to get pci device from address Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 15/25] pci_host.h: split non-inline static function in pci_host.h into pci_host.c Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 16/25] pci: pcie host and mmcfg support Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 17/25] pci: fix pci_default_write_config() Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 18/25] pci: add helper functions for pci config write function Isaku Yamahata
2009-10-04 10:30 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 19/25] pci: use helper function in pci_default_write_config() Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 20/25] pci: factor out config update logic Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 21/25] pci: make bar update function aware of pci bridge Isaku Yamahata
2009-10-04 10:53 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-05 9:47 ` Isaku Yamahata
2009-10-05 10:10 ` Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 22/25] pci/brdige: qdevfy and initialize secondary bus and subordinate bus Isaku Yamahata
2009-10-04 11:04 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-05 9:51 ` Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 23/25] pci: add helper function to initialize wmask Isaku Yamahata
2009-10-04 11:05 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 24/25] pci: initialize wmask according to pci header type Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 25/25] pci/monitor: print out bridge's filtering values and so on Isaku Yamahata
2009-10-04 11:10 ` [Qemu-devel] " 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=20091004100623.GK16887@redhat.com \
--to=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--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.