aboutsummaryrefslogtreecommitdiff
path: root/tests/libqos/pci-pc.c
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2014-08-04 17:11:24 -0400
committerStefan Hajnoczi <stefanha@redhat.com>2014-08-15 18:03:13 +0100
commit6ce7100e7ff986c1f214f6bccca89dfd7256d8ec (patch)
tree5a972532cb08f88c3ac4d0ff131d9f957a9f45e6 /tests/libqos/pci-pc.c
parent7f2a5ae6c1194b1676f1a7239fbcacd9d59637be (diff)
downloadqemu-6ce7100e7ff986c1f214f6bccca89dfd7256d8ec.zip
qemu-6ce7100e7ff986c1f214f6bccca89dfd7256d8ec.tar.gz
qemu-6ce7100e7ff986c1f214f6bccca89dfd7256d8ec.tar.bz2
libqos: allow qpci_iomap to return BAR mapping size
This patch allows qpci_iomap to return the size of the BAR mapping that it created, to allow driver applications (e.g, ahci-test) to make determinations about the suitability or the mapping size, or in the specific case of AHCI, how many ports are supported by the HBA. Signed-off-by: John Snow <jsnow@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'tests/libqos/pci-pc.c')
-rw-r--r--tests/libqos/pci-pc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/tests/libqos/pci-pc.c b/tests/libqos/pci-pc.c
index f5d6469..0609294 100644
--- a/tests/libqos/pci-pc.c
+++ b/tests/libqos/pci-pc.c
@@ -144,7 +144,7 @@ static void qpci_pc_config_writel(QPCIBus *bus, int devfn, uint8_t offset, uint3
outl(0xcfc, value);
}
-static void *qpci_pc_iomap(QPCIBus *bus, QPCIDevice *dev, int barno)
+static void *qpci_pc_iomap(QPCIBus *bus, QPCIDevice *dev, int barno, uint64_t *sizeptr)
{
QPCIBusPC *s = container_of(bus, QPCIBusPC, bus);
static const int bar_reg_map[] = {
@@ -173,6 +173,9 @@ static void *qpci_pc_iomap(QPCIBus *bus, QPCIDevice *dev, int barno)
if (size == 0) {
return NULL;
}
+ if (sizeptr) {
+ *sizeptr = size;
+ }
if (io_type == PCI_BASE_ADDRESS_SPACE_IO) {
uint16_t loc;