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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).