diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2011-05-05 13:05:32 -0500 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2011-05-05 13:05:32 -0500 |
commit | 3964f535c35c08470ac69bd553282af500bc8bb0 (patch) | |
tree | ba83992b5bcfda451371174ce3e8be1496c70c73 /hw/wdt_i6300esb.c | |
parent | a69fb35079f682f99dd4d077b76232763d832d42 (diff) | |
parent | 5300f1a5487f67f0bde8ee1081b799108668cb1d (diff) |
Merge remote-tracking branch 'mst/for_anthony' into staging
Diffstat (limited to 'hw/wdt_i6300esb.c')
-rw-r--r-- | hw/wdt_i6300esb.c | 42 |
1 files changed, 15 insertions, 27 deletions
diff --git a/hw/wdt_i6300esb.c b/hw/wdt_i6300esb.c index 4a7fba7f2a..07917212c3 100644 --- a/hw/wdt_i6300esb.c +++ b/hw/wdt_i6300esb.c @@ -355,31 +355,6 @@ static void i6300esb_mem_writel(void *vp, target_phys_addr_t addr, uint32_t val) } } -static void i6300esb_map(PCIDevice *dev, int region_num, - pcibus_t addr, pcibus_t size, int type) -{ - static CPUReadMemoryFunc * const mem_read[3] = { - i6300esb_mem_readb, - i6300esb_mem_readw, - i6300esb_mem_readl, - }; - static CPUWriteMemoryFunc * const mem_write[3] = { - i6300esb_mem_writeb, - i6300esb_mem_writew, - i6300esb_mem_writel, - }; - I6300State *d = DO_UPCAST(I6300State, dev, dev); - int io_mem; - - i6300esb_debug("addr = %"FMT_PCIBUS", size = %"FMT_PCIBUS", type = %d\n", - addr, size, type); - - io_mem = cpu_register_io_memory(mem_read, mem_write, d, - DEVICE_NATIVE_ENDIAN); - cpu_register_physical_memory (addr, 0x10, io_mem); - /* qemu_register_coalesced_mmio (addr, 0x10); ? */ -} - static const VMStateDescription vmstate_i6300esb = { .name = "i6300esb_wdt", .version_id = sizeof(I6300State), @@ -407,6 +382,17 @@ static int i6300esb_init(PCIDevice *dev) { I6300State *d = DO_UPCAST(I6300State, dev, dev); uint8_t *pci_conf; + int io_mem; + static CPUReadMemoryFunc * const mem_read[3] = { + i6300esb_mem_readb, + i6300esb_mem_readw, + i6300esb_mem_readl, + }; + static CPUWriteMemoryFunc * const mem_write[3] = { + i6300esb_mem_writeb, + i6300esb_mem_writew, + i6300esb_mem_writel, + }; i6300esb_debug("I6300State = %p\n", d); @@ -418,8 +404,10 @@ static int i6300esb_init(PCIDevice *dev) pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_ESB_9); pci_config_set_class(pci_conf, PCI_CLASS_SYSTEM_OTHER); - pci_register_bar(&d->dev, 0, 0x10, - PCI_BASE_ADDRESS_SPACE_MEMORY, i6300esb_map); + io_mem = cpu_register_io_memory(mem_read, mem_write, d, + DEVICE_NATIVE_ENDIAN); + pci_register_bar_simple(&d->dev, 0, 0x10, 0, io_mem); + /* qemu_register_coalesced_mmio (addr, 0x10); ? */ return 0; } |