[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 64/79] ppc/ppc405_boards: use memdev for RAM
From: |
Igor Mammedov |
Subject: |
[PATCH v5 64/79] ppc/ppc405_boards: use memdev for RAM |
Date: |
Mon, 17 Feb 2020 12:34:37 -0500 |
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.
PS:
in ref405ep alias RAM into ram_memories[] to avoid re-factoring
its user ppc405ep_init(), which would be invasive and out of
scope this patch.
Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
---
hw/ppc/ppc405_boards.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c
index 057882a5d2..f9c5b7791e 100644
--- a/hw/ppc/ppc405_boards.c
+++ b/hw/ppc/ppc405_boards.c
@@ -170,8 +170,8 @@ static void ref405ep_init(MachineState *machine)
}
/* XXX: fix this */
- memory_region_allocate_system_memory(&ram_memories[0], NULL, "ef405ep.ram",
- machine->ram_size);
+ memory_region_init_alias(&ram_memories[0], NULL, "ef405ep.ram.alias",
+ machine->ram, 0, machine->ram_size);
ram_bases[0] = 0;
ram_sizes[0] = machine->ram_size;
memory_region_init(&ram_memories[1], NULL, "ef405ep.ram1", 0);
@@ -312,6 +312,7 @@ static void ref405ep_class_init(ObjectClass *oc, void *data)
mc->desc = "ref405ep";
mc->init = ref405ep_init;
mc->default_ram_size = 0x08000000;
+ mc->default_ram_id = "ef405ep.ram";
}
static const TypeInfo ref405ep_type = {
@@ -424,7 +425,6 @@ static void taihu_405ep_init(MachineState *machine)
MemoryRegion *sysmem = get_system_memory();
MemoryRegion *bios;
MemoryRegion *ram_memories = g_new(MemoryRegion, 2);
- MemoryRegion *ram = g_malloc0(sizeof(*ram));
hwaddr ram_bases[2], ram_sizes[2];
long bios_size;
target_ulong kernel_base, initrd_base;
@@ -439,18 +439,16 @@ static void taihu_405ep_init(MachineState *machine)
g_free(sz);
exit(EXIT_FAILURE);
}
- memory_region_allocate_system_memory(ram, NULL, "taihu_405ep.ram",
- machine->ram_size);
ram_bases[0] = 0;
ram_sizes[0] = 0x04000000;
memory_region_init_alias(&ram_memories[0], NULL,
- "taihu_405ep.ram-0", ram, ram_bases[0],
+ "taihu_405ep.ram-0", machine->ram, ram_bases[0],
ram_sizes[0]);
ram_bases[1] = 0x04000000;
ram_sizes[1] = 0x04000000;
memory_region_init_alias(&ram_memories[1], NULL,
- "taihu_405ep.ram-1", ram, ram_bases[1],
+ "taihu_405ep.ram-1", machine->ram, ram_bases[1],
ram_sizes[1]);
ppc405ep_init(sysmem, ram_memories, ram_bases, ram_sizes,
33333333, &pic, kernel_filename == NULL ? 0 : 1);
@@ -546,6 +544,7 @@ static void taihu_class_init(ObjectClass *oc, void *data)
mc->desc = "taihu";
mc->init = taihu_405ep_init;
mc->default_ram_size = 0x08000000;
+ mc->default_ram_id = "ef405ep.ram";
}
static const TypeInfo taihu_type = {
--
2.18.1
- [PATCH v5 59/79] ppc/e500: use memdev for RAM, (continued)
- [PATCH v5 59/79] ppc/e500: use memdev for RAM, Igor Mammedov, 2020/02/17
- [PATCH v5 62/79] ppc/pnv: use memdev for RAM, Igor Mammedov, 2020/02/17
- [PATCH v5 60/79] ppc/mac_newworld: use memdev for RAM, Igor Mammedov, 2020/02/17
- [PATCH v5 61/79] ppc/mac_oldworld: use memdev for RAM, Igor Mammedov, 2020/02/17
- [PATCH v5 63/79] ppc/ppc405_boards: add RAM size checks, Igor Mammedov, 2020/02/17
- [PATCH v5 64/79] ppc/ppc405_boards: use memdev for RAM,
Igor Mammedov <=
- [PATCH v5 66/79] ppc/{ppc440_bamboo, sam460ex}: use memdev for RAM, Igor Mammedov, 2020/02/17
- [PATCH v5 68/79] ppc/virtex_ml507: use memdev for RAM, Igor Mammedov, 2020/02/17
- [PATCH v5 69/79] sparc/leon3: use memdev for RAM, Igor Mammedov, 2020/02/17
- [PATCH v5 67/79] ppc/spapr: use memdev for RAM, Igor Mammedov, 2020/02/17