qemu-patch-raspberry4/hw
Eric Auger 350a9c9e18 hw/arm/virt: Split the memory map description
In the prospect to introduce an extended memory map supporting more
RAM, let's split the memory map array into two parts:

- the former a15memmap, renamed base_memmap, contains regions below
  and including the RAM. MemMapEntries initialized in this array
  have a static size and base address.
- extended_memmap, only initialized with entries located after the
  RAM. MemMapEntries initialized in this array only get their size
  initialized. Their base address is dynamically computed depending
  on the the top of the RAM, with same alignment as their size.

Eventually base_memmap entries are copied into the extended_memmap
array. Using two separate arrays however clarifies which entries
are statically allocated and those which are dynamically allocated.

This new split will allow to grow the RAM size without changing the
description of the high IO entries.

We introduce a new virt_set_memmap() helper function which
"freezes" the memory map. We call it in machvirt_init as
memory attributes of the machine are not yet set when
virt_instance_init() gets called.

The memory map is unchanged (the top of the initial RAM still is
256GiB). Then come the high IO regions with same layout as before.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-id: 20190304101339.25970-4-eric.auger@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-03-05 15:55:09 +00:00
..
9pfs xen: re-name XenDevice to XenLegacyDevice... 2019-01-14 13:45:40 +00:00
acpi i2c:pm_smbus: Fix state transfer 2019-02-27 21:06:08 -06:00
adc Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
alpha hw/alpha/Makefile.objs: Create CONFIG_* for alpha 2019-02-05 16:50:20 +01:00
arm hw/arm/virt: Split the memory map description 2019-03-05 15:55:09 +00:00
audio i2c: have I2C receive operation return uint8_t 2019-02-27 21:06:08 -06:00
block xen-block: stop leaking memory in xen_block_drive_create() 2019-02-28 17:21:12 +00:00
bt char: allow specifying a GMainContext at opening time 2019-02-13 14:23:39 +01:00
char hw/char/pl011: Use '0x' prefix when logging hex numbers 2019-02-21 18:17:46 +00:00
core virtio-blk: add "discard" and "write-zeroes" properties 2019-02-22 09:42:16 +00:00
cpu hw/cpu/cluster: Mark the cpu-cluster device with user_creatable = false 2019-02-06 15:55:56 +01:00
cris hw/cris/Makefile.objs: Create CONFIG_* for cris 2019-02-05 16:50:20 +01:00
display i2c: have I2C receive operation return uint8_t 2019-02-27 21:06:08 -06:00
dma hw/dma/i8257: Use qemu_log_mask(UNIMP) instead of fprintf 2019-02-14 11:46:30 +01:00
gpio i2c: have I2C receive operation return uint8_t 2019-02-27 21:06:08 -06:00
hppa hw/hppa/dino: mask out lower 2 bits of PCI config addr 2019-02-21 10:16:19 -08:00
hyperv hw/hyperv: fix NULL dereference with pure-kvm SynIC 2018-11-26 14:14:38 -02:00
i2c i2c: Verify that the count passed in to smbus_eeprom_init() is valid 2019-02-27 21:06:08 -06:00
i386 boards.h: Ignore migration for SMBus devices on older machines 2019-02-27 21:06:08 -06:00
ide hw/ide: drop iov field from IDEDMA 2019-02-22 09:42:13 +00:00
input i2c: have I2C receive operation return uint8_t 2019-02-27 21:06:08 -06:00
intc hw/ppc: Use object_initialize_child for correct reference counting 2019-02-26 09:21:25 +11:00
ipack hw/ipack: Use the IEC binary prefix definitions 2018-07-02 15:41:12 +02:00
ipmi ipmi: Use proper struct reference for BT vmstate 2018-08-23 18:46:25 +02:00
isa i2c: Split smbus into parts 2019-02-27 21:06:08 -06:00
lm32 hw/lm32/Makefile.objs: Conditionally build lm32 and milkmyst 2019-02-05 16:50:20 +01:00
m68k hw/m68k/mcf5208: Support loading of bios images 2019-02-28 12:18:18 +01:00
mem pc-dimm: use same mechanism for [get|set]_addr 2019-02-21 12:28:41 -05:00
microblaze hw/microblaze/Makefile.objs: Create configs for petalogix and xilinx boards 2019-02-05 16:50:19 +01:00
mips i2c: Split smbus into parts 2019-02-27 21:06:08 -06:00
misc This has been out there long enough, I need to get this in. 2019-03-01 11:20:49 +00:00
moxie hw/moxie/Makefile.objs: Conditionally build moxie 2019-02-05 16:50:20 +01:00
net virtio-net: Allow qemu_announce_self to trigger virtio announcements 2019-03-05 11:27:41 +08:00
nios2 hw/nios2/Makefile.objs: Conditionally build nios2 2019-02-05 16:50:20 +01:00
nvram i2c: have I2C receive operation return uint8_t 2019-02-27 21:06:08 -06:00
openrisc hw/openrisc/Makefile.objs: Create CONFIG_* for openrisc 2019-02-05 16:50:21 +01:00
pci pci: Sanity test minimum downstream LNKSTA 2019-02-22 10:51:31 -05:00
pci-bridge pci/shpc: perform unplug via the hotplug handler 2018-12-20 11:19:12 -05:00
pci-host hw/pci-host/bonito.c: Add PCI mem region mapped at the correct address 2019-02-21 19:36:47 +01:00
pcmcia hw: Clean up includes 2016-01-29 15:07:25 +00:00
ppc This has been out there long enough, I need to get this in. 2019-03-01 11:20:49 +00:00
rdma hw/rdma: modify struct initialization 2019-01-19 11:01:33 +02:00
riscv riscv: Ensure the kernel start address is correctly cast 2019-02-11 15:56:22 -08:00
s390x s390x/vfio-ap: Implement hot plug/unplug of vfio-ap device 2019-03-04 11:49:31 +01:00
scsi qdev: pass an Object * to qbus_set_hotplug_handler() 2019-02-17 21:54:02 +11:00
sd hw: sd: set category of the sd memory card 2019-01-30 10:24:20 +01:00
sh4 * cpu-exec fixes (Emilio, Laurent) 2019-02-05 19:39:22 +00:00
smbios hw/smbios: fix offset of type 3 sku field 2019-02-22 10:51:31 -05:00
sparc qemu-sparc queue 2019-02-07 16:49:30 +00:00
sparc64 hw/sparc64: Explicitly set default_display = "std" 2019-02-14 11:46:30 +01:00
ssi aspeed/smc: snoop SPI transfers to fake dummy cycles 2019-01-29 11:46:05 +00:00
timer i2c: have I2C receive operation return uint8_t 2019-02-27 21:06:08 -06:00
tpm tpm_tis: convert tpm_tis_show_buffer() to use trace event 2019-02-24 14:46:14 -05:00
tricore hw/tricore/Makefile.objs: Create CONFIG_* for tricore 2019-02-05 16:50:21 +01:00
unicore32 hw/unicore32/puv3: Drop useless inclusion of "hw/i386/pc.h" 2019-02-06 15:54:12 +01:00
usb hw/usb: switch MTP to use new inotify APIs 2019-02-26 15:25:58 +00:00
vfio s390x updates: 2019-03-04 13:38:54 +00:00
virtio pci, pc, virtio: fixes, cleanups, tests 2019-03-04 11:04:31 +00:00
watchdog hw/watchdog/wdt_i6300esb: remove a unnecessary comment 2019-01-11 15:46:55 +01:00
xen xen: fix xen-bus state model to allow frontend re-connection 2019-02-04 11:04:49 +00:00
xenpv xen: Replace few mentions of xend by libxl 2019-01-14 13:45:40 +00:00
xtensa hw/xtensa/Makefile.objs: Build xtensa_sim and xtensa_fpga conditionally 2019-02-05 16:50:20 +01:00
Makefile.objs hw/vfio/Makefile.objs: Create new CONFIG_* variables for VFIO core and PCI 2019-02-05 16:50:21 +01:00