[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 032/136] arm/vexpress: use memdev for RAM
From: |
Paolo Bonzini |
Subject: |
[PULL 032/136] arm/vexpress: use memdev for RAM |
Date: |
Tue, 25 Feb 2020 12:49:22 +0100 |
From: Igor Mammedov <address@hidden>
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 <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>
---
hw/arm/vexpress.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c
index 4673a88..ed683ee 100644
--- a/hw/arm/vexpress.c
+++ b/hw/arm/vexpress.c
@@ -273,7 +273,6 @@ static void a9_daughterboard_init(const
VexpressMachineState *vms,
{
MachineState *machine = MACHINE(vms);
MemoryRegion *sysmem = get_system_memory();
- MemoryRegion *ram = g_new(MemoryRegion, 1);
MemoryRegion *lowram = g_new(MemoryRegion, 1);
ram_addr_t low_ram_size;
@@ -283,8 +282,6 @@ static void a9_daughterboard_init(const
VexpressMachineState *vms,
exit(1);
}
- memory_region_allocate_system_memory(ram, NULL, "vexpress.highmem",
- ram_size);
low_ram_size = ram_size;
if (low_ram_size > 0x4000000) {
low_ram_size = 0x4000000;
@@ -293,9 +290,10 @@ static void a9_daughterboard_init(const
VexpressMachineState *vms,
* address space should in theory be remappable to various
* things including ROM or RAM; we always map the RAM there.
*/
- memory_region_init_alias(lowram, NULL, "vexpress.lowmem", ram, 0,
low_ram_size);
+ memory_region_init_alias(lowram, NULL, "vexpress.lowmem", machine->ram,
+ 0, low_ram_size);
memory_region_add_subregion(sysmem, 0x0, lowram);
- memory_region_add_subregion(sysmem, 0x60000000, ram);
+ memory_region_add_subregion(sysmem, 0x60000000, machine->ram);
/* 0x1e000000 A9MPCore (SCU) private memory region */
init_cpus(machine, cpu_type, TYPE_A9MPCORE_PRIV, 0x1e000000, pic,
@@ -360,7 +358,6 @@ static void a15_daughterboard_init(const
VexpressMachineState *vms,
{
MachineState *machine = MACHINE(vms);
MemoryRegion *sysmem = get_system_memory();
- MemoryRegion *ram = g_new(MemoryRegion, 1);
MemoryRegion *sram = g_new(MemoryRegion, 1);
{
@@ -375,10 +372,8 @@ static void a15_daughterboard_init(const
VexpressMachineState *vms,
}
}
- memory_region_allocate_system_memory(ram, NULL, "vexpress.highmem",
- ram_size);
/* RAM is from 0x80000000 upwards; there is no low-memory alias for it. */
- memory_region_add_subregion(sysmem, 0x80000000, ram);
+ memory_region_add_subregion(sysmem, 0x80000000, machine->ram);
/* 0x2c000000 A15MPCore private memory region (GIC) */
init_cpus(machine, cpu_type, TYPE_A15MPCORE_PRIV,
@@ -795,6 +790,7 @@ static void vexpress_class_init(ObjectClass *oc, void *data)
mc->init = vexpress_common_init;
mc->max_cpus = 4;
mc->ignore_memory_transaction_failures = true;
+ mc->default_ram_id = "vexpress.highmem";
}
static void vexpress_a9_class_init(ObjectClass *oc, void *data)
--
1.8.3.1
- [PULL 022/136] arm/mps2-tz: use memdev for RAM, (continued)
- [PULL 022/136] arm/mps2-tz: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 023/136] arm/mps2: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 025/136] arm/nseries: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 017/136] arm/integratorcp: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 027/136] arm/palm: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 024/136] arm/musicpal: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 019/136] arm/kzm: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 020/136] arm/mcimx6ul-evk: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 021/136] arm/mcimx7d-sabre: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 028/136] arm/sabrelite: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 032/136] arm/vexpress: use memdev for RAM,
Paolo Bonzini <=
- [PULL 026/136] arm/omap_sx1: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 031/136] arm/versatilepb: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 029/136] arm/raspi: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 035/136] arm/xilinx_zynq: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 039/136] null-machine: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 034/136] arm/xilinx_zynq: drop RAM size fixup, Paolo Bonzini, 2020/02/25
- [PULL 038/136] s390x/s390-virtio-ccw: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 033/136] arm/virt: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 030/136] arm/sbsa-ref: use memdev for RAM, Paolo Bonzini, 2020/02/25
- [PULL 042/136] x86/microvm: use memdev for RAM, Paolo Bonzini, 2020/02/25