qemu-e2k/include/hw
Benjamin Herrenschmidt b7d1f77ada spapr: Locate RTAS and device-tree based on real RMA
We currently calculate the final RTAS and FDT location based on
the early estimate of the RMA size, cropped to 256M on KVM since
we only know the real RMA size at reset time which happens much
later in the boot process.

This means the FDT and RTAS end up right below 256M while they
could be much higher, using precious RMA space and limiting
what the OS bootloader can put there which has proved to be
a problem with some OSes (such as when using very large initrd's)

Fortunately, we do the actual copy of the device-tree into guest
memory much later, during reset, late enough to be able to do it
using the final RMA value, we just need to move the calculation
to the right place.

However, RTAS is still loaded too early, so we change the code to
load the tiny blob into qemu memory early on, and then copy it into
guest memory at reset time. It's small enough that the memory usage
doesn't matter.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
[aik: fixed errors from checkpatch.pl, defined RTAS_MAX_ADDR]
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
[agraf: fix compilation on 32bit hosts]
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-09-08 12:50:48 +02:00
..
acpi Add ACPI tables for TPM 2014-08-25 00:16:06 +02:00
arm arm: armv7m: Rename address_space_mem -> system_memory 2014-08-19 19:02:40 +01:00
audio
block block: Pass errp in blkconf_geometry 2014-08-26 13:20:44 +02:00
char hw/arm/digic: add UART support 2013-12-17 20:12:51 +00:00
cpu icc_bus: QOM'ify ICC 2013-12-24 18:02:18 +01:00
cris cris: Remove the CRIS PIC glue 2014-02-03 14:04:00 +00:00
i2c smbus: return -1 if nothing found at the given address 2014-05-07 19:14:46 +03:00
i386 pc: reserve more memory for ACPI for new machine types 2014-08-25 00:16:06 +02:00
input input: switch hid mouse and tablet to the new input layer api. 2014-05-26 08:42:43 +02:00
intc arm: vgic device control api support 2014-02-26 17:20:00 +00:00
ipack ipack: Move IndustryPack out of hw/char/ 2014-02-14 21:11:53 +01:00
isa i2c: Rename i2c_bus to I2CBus 2014-02-14 16:22:31 +01:00
kvm
lm32 lm32_juart: Relocate and tidy header 2013-07-29 21:06:27 +02:00
m68k
mem qmp: add query-memory-devices command 2014-06-19 18:44:22 +03:00
mips hw/mips: Add API to convert KVM guest KSEG0 <-> GPA 2014-06-18 16:58:10 +02:00
misc vfio: Add vfio_container_ioctl() 2014-06-27 13:48:23 +02:00
net allwinner-emac: set autonegotiation complete bit on link up 2014-04-17 21:34:06 +01:00
nvram sun4m: Set HostID in NVRAM 2014-02-27 10:01:40 +00:00
pci pcie: Rename the pcie_cap_ari_* functions to pcie_cap_arifwd_* 2014-08-25 00:16:06 +02:00
pci-host pci-host: update obsolete reference about piix_pci.c 2014-08-15 18:54:06 +04:00
ppc spapr: Locate RTAS and device-tree based on real RMA 2014-09-08 12:50:48 +02:00
s390x sclp-s390: Add device to manage s390 memory hotplug 2014-09-01 09:25:32 +02:00
scsi scsi-bus: Convert DeviceClass init to realize 2014-08-26 13:20:44 +02:00
sh4
sparc
timer allwinner-a10-pit: implement prescaler and source selection 2014-04-17 21:34:06 +01:00
tricore target-tricore: Add board for systemmode 2014-09-01 14:49:20 +01:00
unicore32
usb usb: move ehci register defines to header file 2014-06-02 16:28:59 +02:00
virtio virtio-serial: create a linked list of all active devices 2014-08-18 22:42:37 +05:30
xen xen_backend: introduce xenstore_read_uint64 and xenstore_read_fe_uint64 2014-07-07 10:37:40 +00:00
boards.h numa: introduce memory_region_allocate_system_memory 2014-06-19 18:44:19 +03:00
bt.h Preparation for usb-bt-dongle conditional build 2013-09-10 11:14:41 +02:00
devices.h
elf_ops.h elf-loader: add more return codes 2014-03-05 03:06:46 +01:00
empty_slot.h
fw-path-provider.h fw-path-provider: Change GPL version to 2+ 2014-04-07 15:36:07 +02:00
hotplug.h define hotplug interface 2014-02-10 10:23:35 +02:00
hw.h linux-user: Fix compilation failure 2013-06-27 15:38:35 -05:00
ide.h Call pci_piix3_xen_ide_unplug from unplug_disks 2014-02-20 17:28:08 +00:00
irq.h irq: Slim conversion of qemu_irq to QOM 2014-07-01 04:12:48 +02:00
loader.h loader: Add load_image_size() to replace load_image() 2014-09-08 12:50:48 +02:00
nmi.h cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
pcmcia.h pcmcia: QOM'ify PCMCIACardState and MicroDriveState 2013-11-05 18:06:52 +01:00
ptimer.h vmstate: Make VMSTATE_STRUCT_POINTER take type, not ptr-to-type 2014-02-04 15:51:45 +01:00
qdev-core.h qdev: correctly send DEVICE_DELETED for recursively-deleted devices 2014-07-01 10:20:42 +02:00
qdev-dma.h qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
qdev-properties.h qdev: drop iothread property type 2014-07-01 09:15:02 +02:00
qdev.h
sd.h
ssi.h ssi: Name the CS GPIO 2014-05-28 17:36:21 +02:00
stream.h
sysbus.h sysbus: remove unused function sysbus_del_io 2014-08-17 23:25:24 +02:00
usb.h usb: add usb_bus_release function 2014-08-29 12:51:44 +02:00