qemu/include/hw/pci-host
Alexey Kardashevskiy b194df478a spapr-pci: Enable huge BARs
At the moment sPAPR only supports 512MB window for MMIO BARs. However
modern devices might want bigger 64bit BARs.

This extends MMIO window from 512MB to 62GB (aligned to
SPAPR_PCI_WINDOW_SPACING) and advertises it in 2 records in
the PHB "ranges" property. 32bit gets the space from
SPAPR_PCI_MEM_WIN_BUS_OFFSET till the end of 4GB, 64bit gets the rest
of the space. If no space is left, 64bit range is not advertised.

The MMIO space size is set to old value of 0x20000000 by default
for pseries machines older than 2.3.

The approach changes the device tree which is a guest visible change, however
it won't break migration as:
1. we do not support migration to older QEMU versions
2. migration to newer QEMU will migrate the device tree as well and since
the new layout only extends the old one and does not change address mappigns,
no breakage is expected here too.

SLOF change is required to utilize this extension.

Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-03-09 14:59:54 +01:00
..
apb.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
gpex.h pci: Add generic PCIe host bridge 2015-02-13 05:46:07 +00:00
pam.h pci-host: update obsolete reference about piix_pci.c 2014-08-15 18:54:06 +04:00
ppce500.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
q35.h intel-iommu: add Intel IOMMU emulation to q35 and add a machine option "iommu" as a switch 2014-08-28 23:10:22 +02:00
spapr.h spapr-pci: Enable huge BARs 2015-03-09 14:59:54 +01:00