From: Hannes Reinecke Date: Thu, 6 Nov 2014 13:31:56 +0000 (+0100) Subject: megasas: read addional PCI I/O bar X-Git-Tag: rel-1.8.0~50 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=09f876f11743c1143c73a52eb889ae9231f7a5b3;p=people%2Fandrewcoop%2Fseabios.git megasas: read addional PCI I/O bar Some newer cards have the I/O bar at BAR 0, so we need to check that, too, if we cannot get an address for BAR 2. Without this patch the new 'megasas-gen2' emulation in qemu is not detected. Signed-off-by: Hannes Reinecke Signed-off-by: Gerd Hoffmann --- diff --git a/src/hw/megasas.c b/src/hw/megasas.c index a5dc14f..b2a65e4 100644 --- a/src/hw/megasas.c +++ b/src/hw/megasas.c @@ -357,6 +357,10 @@ init_megasas(struct pci_device *pci) u32 iobase = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_2) & PCI_BASE_ADDRESS_IO_MASK; + if (!iobase) + iobase = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_0) + & PCI_BASE_ADDRESS_IO_MASK; + dprintf(1, "found MegaRAID SAS at %02x:%02x.%x, io @ %x\n", pci_bdf_to_bus(bdf), pci_bdf_to_dev(bdf), pci_bdf_to_fn(bdf), iobase);