hw/arm/smmu-common: Fix the name of the iommu memory regions

At the point smmu_find_add_as() gets called, the bus number might
not be computed. Let's change the name of IOMMU memory region and
just use the devfn and an incrementing index.

The name only is used for debug.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20180921070138.10114-2-eric.auger@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: changed 'uint' to 'unsigned int']
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Eric Auger 2018-09-25 14:02:32 +01:00 committed by Peter Maydell
parent bb626e5b43
commit 6ce9297be6

View File

@ -311,6 +311,7 @@ static AddressSpace *smmu_find_add_as(PCIBus *bus, void *opaque, int devfn)
SMMUState *s = opaque; SMMUState *s = opaque;
SMMUPciBus *sbus = g_hash_table_lookup(s->smmu_pcibus_by_busptr, bus); SMMUPciBus *sbus = g_hash_table_lookup(s->smmu_pcibus_by_busptr, bus);
SMMUDevice *sdev; SMMUDevice *sdev;
static unsigned int index;
if (!sbus) { if (!sbus) {
sbus = g_malloc0(sizeof(SMMUPciBus) + sbus = g_malloc0(sizeof(SMMUPciBus) +
@ -321,9 +322,8 @@ static AddressSpace *smmu_find_add_as(PCIBus *bus, void *opaque, int devfn)
sdev = sbus->pbdev[devfn]; sdev = sbus->pbdev[devfn];
if (!sdev) { if (!sdev) {
char *name = g_strdup_printf("%s-%d-%d", char *name = g_strdup_printf("%s-%d-%d", s->mrtypename, devfn, index++);
s->mrtypename,
pci_bus_num(bus), devfn);
sdev = sbus->pbdev[devfn] = g_new0(SMMUDevice, 1); sdev = sbus->pbdev[devfn] = g_new0(SMMUDevice, 1);
sdev->smmu = s; sdev->smmu = s;