[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3.2 11/31] numa: introduce memory_region_alloca
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH v3.2 11/31] numa: introduce memory_region_allocate_system_memory |
Date: |
Wed, 14 May 2014 17:30:23 -0300 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, May 14, 2014 at 05:43:15PM +0800, Hu Tao wrote:
> From: Paolo Bonzini <address@hidden>
>
> Signed-off-by: Paolo Bonzini <address@hidden>
> Signed-off-by: Hu Tao <address@hidden>
> ---
> hw/i386/pc.c | 4 +---
> include/hw/boards.h | 6 +++++-
> include/sysemu/sysemu.h | 1 +
> numa.c | 9 +++++++++
> 4 files changed, 16 insertions(+), 4 deletions(-)
>
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index 3673da8..3778d41 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -1210,9 +1210,7 @@ FWCfgState *pc_memory_init(QEMUMachineInitArgs *args,
> * with older qemus that used qemu_ram_alloc().
> */
> ram = g_malloc(sizeof(*ram));
> - memory_region_init_ram(ram, NULL, "pc.ram",
> - below_4g_mem_size + above_4g_mem_size);
> - vmstate_register_ram_global(ram);
> + memory_region_allocate_system_memory(ram, NULL, "pc.ram",
> args->ram_size);
I had to check if below_4g_mem_size+above_4g_mem_size can be always
safely replaced by args->ram_size. Personally, wouldn't change the
ram_size expression in the same patch that adds the new function, but:
Reviewed-by: Eduardo Habkost <address@hidden>
Maybe we could at least add:
assert(below_4g_mem_size + above_4g_mem_size == args->ram_size);
to the code, later?
> *ram_memory = ram;
> ram_below_4g = g_malloc(sizeof(*ram_below_4g));
> memory_region_init_alias(ram_below_4g, NULL, "ram-below-4g", ram,
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index 4345bd0..3f1c17d 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -50,9 +50,13 @@ struct QEMUMachine {
> const char *hw_version;
> };
>
> -#define TYPE_MACHINE_SUFFIX "-machine"
> +void memory_region_allocate_system_memory(MemoryRegion *mr, Object *owner,
> + const char *name,
> + uint64_t ram_size);
> +
> int qemu_register_machine(QEMUMachine *m);
>
> +#define TYPE_MACHINE_SUFFIX "-machine"
> #define TYPE_MACHINE "machine"
> #undef MACHINE /* BSD defines it and QEMU does not use it */
> #define MACHINE(obj) \
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index 423d49e..caf88dd 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -10,6 +10,7 @@
> #include "qemu/notify.h"
> #include "qemu/main-loop.h"
> #include "qemu/bitmap.h"
> +#include "qom/object.h"
>
> /* vl.c */
>
> diff --git a/numa.c b/numa.c
> index 439df87..bcd7b04 100644
> --- a/numa.c
> +++ b/numa.c
> @@ -33,6 +33,7 @@
> #include "qapi/opts-visitor.h"
> #include "qapi/dealloc-visitor.h"
> #include "qapi/qmp/qerror.h"
> +#include "hw/boards.h"
>
> QemuOptsList qemu_numa_opts = {
> .name = "numa",
> @@ -194,3 +195,11 @@ void set_numa_modes(void)
> }
> }
> }
> +
> +void memory_region_allocate_system_memory(MemoryRegion *mr, Object *owner,
> + const char *name,
> + uint64_t ram_size)
> +{
> + memory_region_init_ram(mr, owner, name, ram_size);
> + vmstate_register_ram_global(mr);
> +}
> --
> 1.8.5.2.229.g4448466
>
>
--
Eduardo
- [Qemu-devel] [PATCH v3.2 07/31] vl: redo -object parsing, (continued)
- [Qemu-devel] [PATCH v3.2 07/31] vl: redo -object parsing, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 08/31] qmp: allow object-add completion handler to get canonical path, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 09/31] qmp: improve error reporting for -object and object-add, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 02/31] NUMA: check if the total numa memory size is equal to ram_size, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 10/31] pc: pass QEMUMachineInitArgs to pc_memory_init, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 15/31] memory: move mem_path handling to memory_region_allocate_system_memory, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 04/31] NUMA: convert -numa option to use OptsVisitor, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 11/31] numa: introduce memory_region_allocate_system_memory, Hu Tao, 2014/05/14
- Re: [Qemu-devel] [PATCH v3.2 11/31] numa: introduce memory_region_allocate_system_memory,
Eduardo Habkost <=
- [Qemu-devel] [PATCH v3.2 12/31] add memdev backend infrastructure, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 14/31] memory: reorganize file-based allocation, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 17/31] memory: move preallocation code out of exec.c, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 13/31] numa: add -numa node, memdev= option, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 18/31] memory: move RAM_PREALLOC_MASK to exec.c, rename, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 16/31] memory: add error propagation to file-based RAM allocation, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 19/31] hostmem: add file-based HostMemoryBackend, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 20/31] hostmem: separate allocation from UserCreatable complete method, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 22/31] hostmem: allow preallocation of any memory region, Hu Tao, 2014/05/14
- [Qemu-devel] [PATCH v3.2 21/31] hostmem: add merge and dump properties, Hu Tao, 2014/05/14