Skip to content

Commit

Permalink
mips/mips_r4k: use memdev for RAM
Browse files Browse the repository at this point in the history
memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later 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: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200219160953.13771-58-imammedo@redhat.com>
  • Loading branch information
Igor Mammedov authored and patchew-importer committed Feb 19, 2020
1 parent ceefaa3 commit ec88838
Showing 1 changed file with 4 additions and 8 deletions.
12 changes: 4 additions & 8 deletions hw/mips/mips_r4k.c
Expand Up @@ -171,13 +171,11 @@ static const int sector_len = 32 * KiB;
static
void mips_r4k_init(MachineState *machine)
{
ram_addr_t ram_size = machine->ram_size;
const char *kernel_filename = machine->kernel_filename;
const char *kernel_cmdline = machine->kernel_cmdline;
const char *initrd_filename = machine->initrd_filename;
char *filename;
MemoryRegion *address_space_mem = get_system_memory();
MemoryRegion *ram = g_new(MemoryRegion, 1);
MemoryRegion *bios;
MemoryRegion *iomem = g_new(MemoryRegion, 1);
MemoryRegion *isa_io = g_new(MemoryRegion, 1);
Expand All @@ -203,14 +201,12 @@ void mips_r4k_init(MachineState *machine)
qemu_register_reset(main_cpu_reset, reset_info);

/* allocate RAM */
if (ram_size > 256 * MiB) {
if (machine->ram_size > 256 * MiB) {
error_report("Too much memory for this machine: %" PRId64 "MB,"
" maximum 256MB", ram_size / MiB);
exit(1);
}
memory_region_allocate_system_memory(ram, NULL, "mips_r4k.ram", ram_size);

memory_region_add_subregion(address_space_mem, 0, ram);
memory_region_add_subregion(address_space_mem, 0, machine->ram);

memory_region_init_io(iomem, NULL, &mips_qemu_ops,
NULL, "mips-qemu", 0x10000);
Expand Down Expand Up @@ -261,7 +257,7 @@ void mips_r4k_init(MachineState *machine)
g_free(filename);

if (kernel_filename) {
loaderparams.ram_size = ram_size;
loaderparams.ram_size = machine->ram_size;
loaderparams.kernel_filename = kernel_filename;
loaderparams.kernel_cmdline = kernel_cmdline;
loaderparams.initrd_filename = initrd_filename;
Expand Down Expand Up @@ -316,7 +312,7 @@ static void mips_machine_init(MachineClass *mc)
#else
mc->default_cpu_type = MIPS_CPU_TYPE_NAME("24Kf");
#endif

mc->default_ram_id = "mips_r4k.ram";
}

DEFINE_MACHINE("mips", mips_machine_init)

0 comments on commit ec88838

Please sign in to comment.