From 6ce7100e7ff986c1f214f6bccca89dfd7256d8ec Mon Sep 17 00:00:00 2001 From: John Snow Date: Mon, 4 Aug 2014 17:11:24 -0400 Subject: 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 Signed-off-by: Stefan Hajnoczi --- tests/libqos/pci-pc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'tests/libqos/pci-pc.c') diff --git a/tests/libqos/pci-pc.c b/tests/libqos/pci-pc.c index f5d646984c..0609294af0 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; -- cgit v1.2.3