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 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).