From: BALATON Zoltan Date: Fri, 21 Jul 2023 22:13:20 +0000 (+0200) Subject: ppc/pegasos2: Fix reg property of 64 bit BARs in device tree X-Git-Tag: v8.1.0-rc3~13^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6b6d4c1a0116c51098975131c16ecf7cefe68e79;p=thirdparty%2Fqemu.git ppc/pegasos2: Fix reg property of 64 bit BARs in device tree The board firmware handles this correctly following the Open Firmware standard which we missed. This fixes 64 bit BARs when using VOF. Signed-off-by: BALATON Zoltan Reviewed-by: Daniel Henrique Barboza Message-ID: <20230721221320.1311E7456AB@zero.eik.bme.hu> Signed-off-by: Daniel Henrique Barboza --- diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 6475acfbeda..075367d94d0 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -781,7 +781,11 @@ static void add_pci_device(PCIBus *bus, PCIDevice *d, void *opaque) if (d->io_regions[i].type & PCI_BASE_ADDRESS_SPACE_IO) { cells[j] |= cpu_to_be32(1 << 24); } else { - cells[j] |= cpu_to_be32(2 << 24); + if (d->io_regions[i].type & PCI_BASE_ADDRESS_MEM_TYPE_64) { + cells[j] |= cpu_to_be32(3 << 24); + } else { + cells[j] |= cpu_to_be32(2 << 24); + } if (d->io_regions[i].type & PCI_BASE_ADDRESS_MEM_PREFETCH) { cells[j] |= cpu_to_be32(4 << 28); }