Hi, This series is based on Igor's "eliminate remaining places that abuse memory_region_allocate_system_memory()": https://lists.gnu.org/archive/html/qemu-devel/2019-10/msg01601.html
It is quite simple, we enforce all machines to be the QOM owner of the system memory. This changes the memory tree from: (qemu) info mtree -o memory-region: pc.ram 0000000000000000-0000000007ffffff (prio 0, ram): pc.ram parent:{obj path=/machine/unattached} to: (qemu) info mtree -o memory-region: pc.ram 0000000000000000-0000000007ffffff (prio 0, ram): pc.ram owner:{obj path=/machine} Few patches are required to clean the codebase first, to unify the creation of the system memory in the board/machine code. Mostly some old ARM machines (pre-QOM) were affected. Please review (as a generic codebase cleanup). Regards, Phil. Based-on: <20191008113318.7012-1-imamm...@redhat.com> Philippe Mathieu-Daudé (21): hw/arm/xilinx_zynq: Use the IEC binary prefix definitions hw/arm/mps2: Use the IEC binary prefix definitions hw/arm/collie: Create the RAM in the board hw/arm/omap2: Create the RAM in the board hw/arm/omap1: Create the RAM in the board hw/arm/digic4: Inline digic4_board_setup_ram() function hw: Drop QOM ownership on memory_region_allocate_system_memory() calls hw/alpha/dp264: Create the RAM in the board hw: Let memory_region_allocate_system_memory take MachineState argument hw/core: Let the machine be the owner of the system memory hw/alpha: Let the machine be the owner of the system memory hw/arm: Let the machine be the owner of the system memory hw/cris: Let the machine be the owner of the system memory hw/hppa: Let the machine be the owner of the system memory hw/i386: Let the machine be the owner of the system memory hw/lm32: Let the machine be the owner of the system memory hw/m68k: Let the machine be the owner of the system memory hw/mips: Let the machine be the owner of the system memory hw/ppc: Let the machine be the owner of the system memory hw/sparc: Let the machine be the owner of the system memory hw/core: Assert memory_region_allocate_system_memory has machine owner hw/alpha/alpha_sys.h | 2 +- hw/alpha/dp264.c | 11 ++++++++++- hw/alpha/typhoon.c | 9 +-------- hw/arm/aspeed.c | 2 +- hw/arm/collie.c | 8 ++++++-- hw/arm/cubieboard.c | 2 +- hw/arm/digic_boards.c | 14 +++++--------- hw/arm/highbank.c | 3 ++- hw/arm/imx25_pdk.c | 2 +- hw/arm/integratorcp.c | 2 +- hw/arm/kzm.c | 2 +- hw/arm/mcimx6ul-evk.c | 2 +- hw/arm/mcimx7d-sabre.c | 2 +- hw/arm/mps2-tz.c | 5 +++-- hw/arm/mps2.c | 5 +++-- hw/arm/musicpal.c | 2 +- hw/arm/nseries.c | 10 +++++++--- hw/arm/omap1.c | 12 +++++------- hw/arm/omap2.c | 13 +++++-------- hw/arm/omap_sx1.c | 8 ++++++-- hw/arm/palm.c | 8 ++++++-- hw/arm/raspi.c | 2 +- hw/arm/sabrelite.c | 2 +- hw/arm/sbsa-ref.c | 2 +- hw/arm/strongarm.c | 7 +------ hw/arm/strongarm.h | 4 +--- hw/arm/versatilepb.c | 2 +- hw/arm/vexpress.c | 4 ++-- hw/arm/virt.c | 2 +- hw/arm/xilinx_zynq.c | 5 +++-- hw/arm/xlnx-versal-virt.c | 2 +- hw/arm/xlnx-zcu102.c | 2 +- hw/core/null-machine.c | 2 +- hw/core/numa.c | 9 +++++---- hw/cris/axis_dev88.c | 2 +- hw/hppa/machine.c | 2 +- hw/i386/pc.c | 2 +- hw/lm32/lm32_boards.c | 4 ++-- hw/lm32/milkymist.c | 2 +- hw/m68k/an5206.c | 2 +- hw/m68k/mcf5208.c | 2 +- hw/m68k/next-cube.c | 2 +- hw/mips/boston.c | 2 +- hw/mips/mips_fulong2e.c | 3 ++- hw/mips/mips_jazz.c | 2 +- hw/mips/mips_malta.c | 2 +- hw/mips/mips_mipssim.c | 2 +- hw/mips/mips_r4k.c | 3 ++- hw/ppc/e500.c | 3 ++- hw/ppc/mac_newworld.c | 3 ++- hw/ppc/mac_oldworld.c | 2 +- hw/ppc/pnv.c | 2 +- hw/ppc/ppc405_boards.c | 6 +++--- hw/ppc/prep.c | 3 ++- hw/ppc/spapr.c | 2 +- hw/ppc/virtex_ml507.c | 2 +- hw/sparc/leon3.c | 2 +- hw/sparc/sun4m.c | 2 +- include/hw/arm/omap.h | 10 +++------- include/hw/boards.h | 6 ++++-- 60 files changed, 127 insertions(+), 117 deletions(-) -- 2.21.0