qemu-patch-raspberry4/hw
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
..
9pfs virtio: feature bit manipulation helpers 2015-02-26 13:04:07 +01:00
acpi aml-build: fix build for glib < 2.22 2015-03-03 17:42:18 +01:00
alpha QOM infrastructure fixes and device conversions 2015-03-02 13:20:43 +00:00
arm error: Use error_report_err() where appropriate 2015-02-18 10:51:09 +01:00
audio pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
block virtio: add feature checking helpers 2015-02-26 13:04:07 +01:00
bt l2cap: fix access to freed memory 2014-08-15 19:12:48 +04:00
char pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
core pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
cpu icc_bus: fix typo ICC_BRIGDE -> ICC_BRIDGE 2014-11-03 19:51:56 +03:00
cris hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
display pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
dma vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
gpio PPC: Add MPC8XXX gpio controller 2014-11-04 23:26:12 +01:00
i2c pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
i386 pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
ide pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
input Add trace to ps2.c. 2015-02-10 09:27:20 +03:00
intc hmp: Name HMP info handler functions hmp_info_SUBCOMMAND() 2015-02-18 11:58:50 +01:00
ipack pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
isa acpi, ich9: Add unplug cb for ich9. 2015-02-26 12:42:18 +01:00
lm32 acpi-build: make ROMs RAM blocks resizeable 2015-01-08 13:17:55 +02:00
m68k hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
mem pc-dimm: add a function to calculate VM's current RAM size 2015-03-04 13:00:04 -05:00
microblaze hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
mips QOM infrastructure fixes and device conversions 2015-03-02 13:20:43 +00:00
misc pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
moxie memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
net pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
nvram fw_cfg: fix endianness in fw_cfg_data_mem_read() / _write() 2015-01-16 11:54:30 +00:00
openrisc hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
pci pci-hotplug-old: Has been dead for five major releases, bury 2015-03-01 12:37:54 +01:00
pci-bridge pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
pci-host pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
pcmcia hmp: Remove "info pcmcia" 2014-10-24 12:19:11 +01:00
ppc spapr-pci: Enable huge BARs 2015-03-09 14:59:54 +01:00
s390x balloon: call qdev_alias_all_properties for proxy dev in balloon class init 2015-03-01 12:32:59 +01:00
scsi pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
sd pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
sh4 r2d: Don't use legacy -usbdevice support for setting up board 2015-02-18 10:53:10 +01:00
sparc hmp: Name HMP info handler functions hmp_info_SUBCOMMAND() 2015-02-18 11:58:50 +01:00
sparc64 QOM infrastructure fixes and device conversions 2015-03-02 13:20:43 +00:00
ssi ssi: xilinx_spi: Initialise CS GPIOs as NULL 2014-08-15 18:54:40 +04:00
timer fix mc146818rtc wrong subsection name to avoid vmstate_subsection_load() fail 2015-02-05 17:16:14 +01:00
tpm tpm: Support for capability flags of TIS 1.3 2015-03-01 12:33:21 +01:00
tricore target-tricore: check return value before using it 2014-11-02 10:04:34 +03:00
unicore32 memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
usb pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
vfio vfio-pci: Enable device request notification support 2015-03-02 11:38:55 -07:00
virtio pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
watchdog pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
xen xen-pt: Fix PCI devices re-attach failed 2015-01-13 11:49:46 +00:00
xenpv hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
xtensa target-xtensa: xtfpga: fix ml605 flash size 2015-03-07 15:27:55 +03:00
Makefile.objs vfio: move hw/misc/vfio.c to hw/vfio/pci.c Move vfio.h into include/hw/vfio 2014-12-19 15:24:06 -07:00