From: Igor Mammedov <imammedo@redhat.com>
To: Hu Tao <hutao@cn.fujitsu.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>,
Paolo Bonzini <pbonzini@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
qemu-devel@nongnu.org, Eduardo Habkost <ehabkost@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v4 09/29] pc: pass MachineState to pc_memory_init
Date: Mon, 9 Jun 2014 15:14:58 +0200 [thread overview]
Message-ID: <20140609151458.3206a19d@thinkpad> (raw)
In-Reply-To: <bf0785f05b6d7a866f55b8f2fe9a49c9c9004976.1402299637.git.hutao@cn.fujitsu.com>
On Mon, 9 Jun 2014 18:25:14 +0800
Hu Tao <hutao@cn.fujitsu.com> wrote:
> From: Paolo Bonzini <pbonzini@redhat.com>
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
> ---
> hw/i386/pc.c | 23 +++++++++++------------
> hw/i386/pc_piix.c | 8 +++-----
> hw/i386/pc_q35.c | 4 +---
> include/hw/i386/pc.h | 7 +++----
> 4 files changed, 18 insertions(+), 24 deletions(-)
Reviewed-By: Igor Mammedov <imammedo@redhat.com>
>
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index 2c75ecc..9860e3f 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -1194,10 +1194,8 @@ void pc_acpi_init(const char *default_dsdt)
> }
> }
>
> -FWCfgState *pc_memory_init(MemoryRegion *system_memory,
> - const char *kernel_filename,
> - const char *kernel_cmdline,
> - const char *initrd_filename,
> +FWCfgState *pc_memory_init(MachineState *machine,
> + MemoryRegion *system_memory,
> ram_addr_t below_4g_mem_size,
> ram_addr_t above_4g_mem_size,
> MemoryRegion *rom_memory,
> @@ -1208,18 +1206,18 @@ FWCfgState *pc_memory_init(MemoryRegion
> *system_memory, MemoryRegion *ram, *option_rom_mr;
> MemoryRegion *ram_below_4g, *ram_above_4g;
> FWCfgState *fw_cfg;
> - ram_addr_t ram_size = below_4g_mem_size + above_4g_mem_size;
> - MachineState *machine = MACHINE(qdev_get_machine());
> PCMachineState *pcms = PC_MACHINE(machine);
>
> - linux_boot = (kernel_filename != NULL);
> + assert(machine->ram_size == below_4g_mem_size + above_4g_mem_size);
> +
> + linux_boot = (machine->kernel_filename != NULL);
>
> /* Allocate RAM. We allocate it as a single memory region and use
> * aliases to address portions of it, mostly for backwards compatibility
> * with older qemus that used qemu_ram_alloc().
> */
> ram = g_malloc(sizeof(*ram));
> - memory_region_init_ram(ram, NULL, "pc.ram", ram_size);
> + memory_region_init_ram(ram, NULL, "pc.ram", machine->ram_size);
> vmstate_register_ram_global(ram);
> *ram_memory = ram;
> ram_below_4g = g_malloc(sizeof(*ram_below_4g));
> @@ -1238,7 +1236,7 @@ FWCfgState *pc_memory_init(MemoryRegion *system_memory,
>
> if (!guest_info->has_reserved_memory &&
> (machine->ram_slots ||
> - (machine->maxram_size > ram_size))) {
> + (machine->maxram_size > machine->ram_size))) {
> MachineClass *mc = MACHINE_GET_CLASS(machine);
>
> error_report("\"-memory 'slots|maxmem'\" is not supported by: %s",
> @@ -1248,9 +1246,9 @@ FWCfgState *pc_memory_init(MemoryRegion *system_memory,
>
> /* initialize hotplug memory address space */
> if (guest_info->has_reserved_memory &&
> - (ram_size < machine->maxram_size)) {
> + (machine->ram_size < machine->maxram_size)) {
> ram_addr_t hotplug_mem_size =
> - machine->maxram_size - ram_size;
> + machine->maxram_size - machine->ram_size;
>
> if (machine->ram_slots > ACPI_MAX_RAM_SLOTS) {
> error_report("unsupported amount of memory slots: %"PRIu64,
> @@ -1295,7 +1293,8 @@ FWCfgState *pc_memory_init(MemoryRegion *system_memory,
> }
>
> if (linux_boot) {
> - load_linux(fw_cfg, kernel_filename, initrd_filename,
> kernel_cmdline, below_4g_mem_size);
> + load_linux(fw_cfg, machine->kernel_filename,
> machine->initrd_filename,
> + machine->kernel_cmdline, below_4g_mem_size);
> }
>
> for (i = 0; i < nb_option_roms; i++) {
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index a13e8d6..3e7524b 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -156,11 +156,9 @@ static void pc_init1(MachineState *machine,
>
> /* allocate ram and load rom/bios */
> if (!xen_enabled()) {
> - fw_cfg = pc_memory_init(system_memory,
> - machine->kernel_filename, machine->kernel_cmdline,
> - machine->initrd_filename,
> - below_4g_mem_size, above_4g_mem_size,
> - rom_memory, &ram_memory, guest_info);
> + fw_cfg = pc_memory_init(machine, system_memory,
> + below_4g_mem_size, above_4g_mem_size,
> + rom_memory, &ram_memory, guest_info);
> }
>
> gsi_state = g_malloc0(sizeof(*gsi_state));
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 629eb2d..aa71332 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -143,9 +143,7 @@ static void pc_q35_init(MachineState *machine)
>
> /* allocate ram and load rom/bios */
> if (!xen_enabled()) {
> - pc_memory_init(get_system_memory(),
> - machine->kernel_filename, machine->kernel_cmdline,
> - machine->initrd_filename,
> + pc_memory_init(machine, get_system_memory(),
> below_4g_mem_size, above_4g_mem_size,
> rom_memory, &ram_memory, guest_info);
> }
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index fe9e18b..f337d54 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -3,6 +3,7 @@
>
> #include "qemu-common.h"
> #include "exec/memory.h"
> +#include "hw/boards.h"
> #include "hw/isa/isa.h"
> #include "hw/block/fdc.h"
> #include "net/net.h"
> @@ -183,10 +184,8 @@ PcGuestInfo *pc_guest_info_init(ram_addr_t
> below_4g_mem_size, void pc_pci_as_mapping_init(Object *owner, MemoryRegion
> *system_memory, MemoryRegion *pci_address_space);
>
> -FWCfgState *pc_memory_init(MemoryRegion *system_memory,
> - const char *kernel_filename,
> - const char *kernel_cmdline,
> - const char *initrd_filename,
> +FWCfgState *pc_memory_init(MachineState *machine,
> + MemoryRegion *system_memory,
> ram_addr_t below_4g_mem_size,
> ram_addr_t above_4g_mem_size,
> MemoryRegion *rom_memory,
> --
> 1.9.3
>
--
Regards,
Igor
next prev parent reply other threads:[~2014-06-09 13:15 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-09 10:25 [Qemu-devel] [PATCH v4 00/29] NUMA series and hostmem improvements Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 01/29] NUMA: move numa related code to new file numa.c Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 02/29] NUMA: check if the total numa memory size is equal to ram_size Hu Tao
2014-06-09 23:02 ` Eric Blake
2014-06-10 2:29 ` Hu Tao
2014-06-10 2:36 ` Eric Blake
2014-06-10 2:52 ` Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 03/29] NUMA: Add numa_info structure to contain numa nodes info Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 04/29] NUMA: convert -numa option to use OptsVisitor Hu Tao
2014-06-16 14:08 ` Eduardo Habkost
2014-06-16 14:16 ` Paolo Bonzini
2014-06-16 14:23 ` [Qemu-devel] [libvirt] " Eric Blake
2014-06-16 14:32 ` Paolo Bonzini
2014-06-16 15:39 ` Eduardo Habkost
2014-06-16 15:46 ` Paolo Bonzini
2014-06-16 16:05 ` Eric Blake
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 05/29] NUMA: expand MAX_NODES from 64 to 128 Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 06/29] man: improve -numa doc Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 07/29] vl: redo -object parsing Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 08/29] qmp: improve error reporting for -object and object-add Hu Tao
2014-06-09 15:57 ` Igor Mammedov
2014-06-10 2:07 ` Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 09/29] pc: pass MachineState to pc_memory_init Hu Tao
2014-06-09 13:14 ` Igor Mammedov [this message]
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 10/29] numa: introduce memory_region_allocate_system_memory Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 11/29] hostmem: separate allocation from UserCreatable complete method Hu Tao
2014-06-09 10:47 ` Igor Mammedov
2014-06-10 1:55 ` Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 12/29] numa: add -numa node,memdev= option Hu Tao
2014-06-09 17:22 ` [Qemu-devel] [PATCH v4 12/29] numa: add -numa node, memdev= option Eric Blake
2014-06-10 2:23 ` Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 13/29] memory: reorganize file-based allocation Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 14/29] memory: move mem_path handling to memory_region_allocate_system_memory Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 15/29] memory: add error propagation to file-based RAM allocation Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 16/29] memory: move preallocation code out of exec.c Hu Tao
2014-06-18 19:14 ` Michael S. Tsirkin
2014-06-19 0:43 ` Hu Tao
2014-06-20 3:26 ` Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 17/29] memory: move RAM_PREALLOC_MASK to exec.c, rename Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 18/29] hostmem: add file-based HostMemoryBackend Hu Tao
2014-06-09 11:32 ` Igor Mammedov
2014-06-09 11:35 ` Michael S. Tsirkin
2014-06-09 12:06 ` Igor Mammedov
2014-06-10 2:00 ` Hu Tao
2014-06-10 5:09 ` Paolo Bonzini
2014-06-10 8:30 ` Hu Tao
2014-06-10 8:56 ` Paolo Bonzini
2014-06-10 9:21 ` Hu Tao
2014-06-10 9:59 ` Michael S. Tsirkin
2014-06-10 11:12 ` Paolo Bonzini
2014-06-10 11:23 ` Michael S. Tsirkin
2014-06-10 11:29 ` Paolo Bonzini
2014-06-10 11:35 ` Michael S. Tsirkin
2014-06-10 11:43 ` Paolo Bonzini
2014-06-10 11:48 ` Michael S. Tsirkin
2014-06-10 11:51 ` Paolo Bonzini
2014-06-10 9:07 ` Igor Mammedov
2014-06-10 9:54 ` Michael S. Tsirkin
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 19/29] hostmem: add merge and dump properties Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 20/29] hostmem: allow preallocation of any memory region Hu Tao
2014-06-09 12:28 ` Igor Mammedov
2014-06-09 12:32 ` Paolo Bonzini
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 21/29] hostmem: add property to map memory with MAP_SHARED Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 22/29] configure: add Linux libnuma detection Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 23/29] hostmem: add properties for NUMA memory policy Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 24/29] Introduce signed range Hu Tao
2014-06-09 10:42 ` Peter Maydell
2014-06-09 10:59 ` Michael S. Tsirkin
2014-06-10 6:51 ` Hu Tao
2014-06-10 9:50 ` Michael S. Tsirkin
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 25/29] qapi: make string input visitor parse int list Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 26/29] qapi: make string output " Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 27/29] qom: introduce object_property_get_enum and object_property_get_uint16List Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 28/29] qmp: add query-memdev Hu Tao
2014-06-09 12:36 ` Igor Mammedov
2014-06-09 12:58 ` Paolo Bonzini
2014-06-09 13:32 ` Igor Mammedov
2014-06-09 13:40 ` Paolo Bonzini
2014-06-09 14:08 ` Igor Mammedov
2014-06-09 17:15 ` Eric Blake
2014-06-09 17:24 ` Eric Blake
2014-06-10 2:25 ` Hu Tao
2014-06-09 10:25 ` [Qemu-devel] [PATCH v4 29/29] hmp: add info memdev Hu Tao
2014-06-09 10:30 ` [Qemu-devel] [PATCH v4 00/29] NUMA series and hostmem improvements Michael S. Tsirkin
2014-06-09 11:40 ` Michael S. Tsirkin
2014-06-10 1:55 ` Hu Tao
2014-06-10 9:51 ` Hu Tao
2014-06-10 9:56 ` Michael S. Tsirkin
2014-06-10 9:57 ` Hu Tao
2014-06-10 10:19 ` Hu Tao
2014-06-10 10:27 ` Michael S. Tsirkin
2014-06-10 11:09 ` Hu Tao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140609151458.3206a19d@thinkpad \
--to=imammedo@redhat.com \
--cc=ehabkost@redhat.com \
--cc=hutao@cn.fujitsu.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=y-goto@jp.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.