Initialize PCI BAR config data.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1824 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
6a8826434f
commit
d7ce493a38
7
hw/pci.c
7
hw/pci.c
@ -124,6 +124,7 @@ void pci_register_io_region(PCIDevice *pci_dev, int region_num,
|
|||||||
PCIMapIORegionFunc *map_func)
|
PCIMapIORegionFunc *map_func)
|
||||||
{
|
{
|
||||||
PCIIORegion *r;
|
PCIIORegion *r;
|
||||||
|
uint32_t addr;
|
||||||
|
|
||||||
if ((unsigned int)region_num >= PCI_NUM_REGIONS)
|
if ((unsigned int)region_num >= PCI_NUM_REGIONS)
|
||||||
return;
|
return;
|
||||||
@ -132,6 +133,12 @@ void pci_register_io_region(PCIDevice *pci_dev, int region_num,
|
|||||||
r->size = size;
|
r->size = size;
|
||||||
r->type = type;
|
r->type = type;
|
||||||
r->map_func = map_func;
|
r->map_func = map_func;
|
||||||
|
if (region_num == PCI_ROM_SLOT) {
|
||||||
|
addr = 0x30;
|
||||||
|
} else {
|
||||||
|
addr = 0x10 + region_num * 4;
|
||||||
|
}
|
||||||
|
*(uint32_t *)(pci_dev->config + addr) = cpu_to_le32(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void pci_addr_writel(void* opaque, uint32_t addr, uint32_t val)
|
static void pci_addr_writel(void* opaque, uint32_t addr, uint32_t val)
|
||||||
|
Loading…
Reference in New Issue
Block a user