Message ID | 20230530113838.257755-6-david@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | memory-device: Some cleanups | expand |
On 30/5/23 13:38, David Hildenbrand wrote: > Let's use our new helper. > > Cc: Xiaojuan Yang <yangxiaojuan@loongson.cn> > Cc: Song Gao <gaosong@loongson.cn> > Signed-off-by: David Hildenbrand <david@redhat.com> > --- > hw/loongarch/virt.c | 14 ++++---------- > 1 file changed, 4 insertions(+), 10 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
在 2023/5/30 下午7:38, David Hildenbrand 写道: > Let's use our new helper. > > Cc: Xiaojuan Yang <yangxiaojuan@loongson.cn> > Cc: Song Gao <gaosong@loongson.cn> > Signed-off-by: David Hildenbrand <david@redhat.com> > --- > hw/loongarch/virt.c | 14 ++++---------- > 1 file changed, 4 insertions(+), 10 deletions(-) > > diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c > index ceddec1b23..a6790714fe 100644 > --- a/hw/loongarch/virt.c > +++ b/hw/loongarch/virt.c > @@ -45,7 +45,7 @@ > #include "sysemu/block-backend.h" > #include "hw/block/flash.h" > #include "qemu/error-report.h" > - > +#include "hw/mem/memory-device.h" > > static void virt_flash_create(LoongArchMachineState *lams) > { > @@ -805,8 +805,8 @@ static void loongarch_init(MachineState *machine) > > /* initialize device memory address space */ > if (machine->ram_size < machine->maxram_size) { > - machine->device_memory = g_malloc0(sizeof(*machine->device_memory)); > ram_addr_t device_mem_size = machine->maxram_size - machine->ram_size; > + hwaddr device_mem_base; > > if (machine->ram_slots > ACPI_MAX_RAM_SLOTS) { > error_report("unsupported amount of memory slots: %"PRIu64, > @@ -821,14 +821,8 @@ static void loongarch_init(MachineState *machine) > exit(EXIT_FAILURE); > } > /* device memory base is the top of high memory address. */ > - machine->device_memory->base = 0x90000000 + highram_size; > - machine->device_memory->base = > - ROUND_UP(machine->device_memory->base, 1 * GiB); > - > - memory_region_init(&machine->device_memory->mr, OBJECT(lams), > - "device-memory", device_mem_size); > - memory_region_add_subregion(address_space_mem, machine->device_memory->base, > - &machine->device_memory->mr); > + device_mem_base = ROUND_UP(0x90000000 + highram_size, 1 * GiB); Use VIRT_HIGHMEM_BASE. Otherwise, Reviewed-by: Song Gao <gaosong@loongson.cn> Thanks. Song Gao > + memory_devices_init(machine, device_mem_base, device_mem_size); > } > > /* Add isa io region */
diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c index ceddec1b23..a6790714fe 100644 --- a/hw/loongarch/virt.c +++ b/hw/loongarch/virt.c @@ -45,7 +45,7 @@ #include "sysemu/block-backend.h" #include "hw/block/flash.h" #include "qemu/error-report.h" - +#include "hw/mem/memory-device.h" static void virt_flash_create(LoongArchMachineState *lams) { @@ -805,8 +805,8 @@ static void loongarch_init(MachineState *machine) /* initialize device memory address space */ if (machine->ram_size < machine->maxram_size) { - machine->device_memory = g_malloc0(sizeof(*machine->device_memory)); ram_addr_t device_mem_size = machine->maxram_size - machine->ram_size; + hwaddr device_mem_base; if (machine->ram_slots > ACPI_MAX_RAM_SLOTS) { error_report("unsupported amount of memory slots: %"PRIu64, @@ -821,14 +821,8 @@ static void loongarch_init(MachineState *machine) exit(EXIT_FAILURE); } /* device memory base is the top of high memory address. */ - machine->device_memory->base = 0x90000000 + highram_size; - machine->device_memory->base = - ROUND_UP(machine->device_memory->base, 1 * GiB); - - memory_region_init(&machine->device_memory->mr, OBJECT(lams), - "device-memory", device_mem_size); - memory_region_add_subregion(address_space_mem, machine->device_memory->base, - &machine->device_memory->mr); + device_mem_base = ROUND_UP(0x90000000 + highram_size, 1 * GiB); + memory_devices_init(machine, device_mem_base, device_mem_size); } /* Add isa io region */
Let's use our new helper. Cc: Xiaojuan Yang <yangxiaojuan@loongson.cn> Cc: Song Gao <gaosong@loongson.cn> Signed-off-by: David Hildenbrand <david@redhat.com> --- hw/loongarch/virt.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-)