Memdev allocated MemoryRegion is initialized by generic code,
so board only needs to opt in to memdev scheme by providing
MachineClass::default_ram_id and using MachineState::ram
instead of manually initializing RAM memory region.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/sh4/r2d.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/hw/sh4/r2d.c b/hw/sh4/r2d.c
index 51c7c3e2e07..5fd06b3b731 100644
--- a/hw/sh4/r2d.c
+++ b/hw/sh4/r2d.c
@@ -252,7 +252,7 @@ static void r2d_init(MachineState *machine)
USBBus *usb_bus;
r2d_fpga_t *fpga;
hwaddr sdram_base;
- uint64_t sdram_size = SDRAM_SIZE;
+ uint64_t sdram_size = machine->ram_size;
switch (machine->ram_size) {
case 64 * MiB:
@@ -272,7 +272,7 @@ static void r2d_init(MachineState *machine)
qemu_register_reset(main_cpu_reset, reset_info);
/* Allocate memory space */
- memory_region_init_ram(sdram, NULL, "r2d.sdram", sdram_size, &error_fatal);
+ memory_region_init_alias(sdram, NULL, "sdram", machine->ram, 0, sdram_size);
memory_region_add_subregion(address_space_mem, sdram_base, sdram);
/* Register peripherals */
s = sh7750_init(cpu, address_space_mem);
@@ -396,6 +396,8 @@ static void r2d_machine_init(MachineClass *mc)
mc->init = r2d_init;
mc->block_default_type = IF_IDE;
mc->default_cpu_type = TYPE_SH7751R_CPU;
+ mc->default_ram_size = 64 * MiB;
+ mc->default_ram_id = "ram";
mc->default_nic = "rtl8139";
}
--
2.51.0