All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alistair Francis <alistair23@gmail.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: "Paul Burton" <pburton@wavecomp.com>,
	"Jan Kiszka" <jan.kiszka@web.de>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
	"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
	"KONRAD Frederic" <frederic.konrad@adacore.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	"Rob Herring" <robh@kernel.org>,
	"Andrey Smirnov" <andrew.smirnov@gmail.com>,
	"Helge Deller" <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Hervé Poussineau" <hpoussin@reactos.org>,
	"Antony Pavlov" <antonynpavlov@gmail.com>,
	"Aleksandar Rikalo" <aleksandar.rikalo@rt-rk.com>,
	"David Gibson" <david@gibson.dropbear.id.au>,
	"Artyom Tarasenko" <atar4qemu@gmail.com>,
	"Joel Stanley" <joel@jms.id.au>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Alistair Francis" <alistair@alistair23.me>,
	"Leif Lindholm" <leif.lindholm@linaro.org>,
	"Beniamino Galvani" <b.galvani@gmail.com>,
	qemu-arm <qemu-arm@nongnu.org>,
	"Peter Chubb" <peter.chubb@nicta.com.au>,
	"Fabien Chouteau" <chouteau@adacore.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Richard Henderson" <rth@twiddle.net>,
	"Radoslaw Biernacki" <radoslaw.biernacki@linaro.org>,
	"Thomas Huth" <huth@tuxfamily.org>,
	"Andrew Baumann" <Andrew.Baumann@microsoft.com>,
	"Jean-Christophe Dubois" <jcd@tribudubois.net>,
	"Andrew Jeffery" <andrew@aj.id.au>,
	"Michael Walle" <michael@walle.cc>,
	"open list:New World" <qemu-ppc@nongnu.org>,
	"Aleksandar Markovic" <amarkovic@wavecomp.com>,
	"Igor Mammedov" <imammedo@redhat.com>,
	"Aurelien Jarno" <aurelien@aurel32.net>,
	"Cédric Le Goater" <clg@kaod.org>
Subject: Re: [PATCH 09/21] hw: Let memory_region_allocate_system_memory take MachineState argument
Date: Mon, 21 Oct 2019 16:19:12 -0700	[thread overview]
Message-ID: <CAKmqyKP-XsjkzAkXzs1AK9rfec=SK_gijbd6J4CLwK08DGQYFw@mail.gmail.com> (raw)
In-Reply-To: <20191020225650.3671-10-philmd@redhat.com>

On Sun, Oct 20, 2019 at 4:12 PM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> All the codebase calls memory_region_allocate_system_memory() with
> a NULL 'owner' from the board_init() function.
> Let pass a MachineState argument, and enforce the QOM ownership of
> the system memory.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  hw/core/numa.c      | 11 +++++++----
>  include/hw/boards.h |  6 ++++--
>  2 files changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/hw/core/numa.c b/hw/core/numa.c
> index 038c96d4ab..2e29e4bfe0 100644
> --- a/hw/core/numa.c
> +++ b/hw/core/numa.c
> @@ -520,21 +520,24 @@ static void allocate_system_memory_nonnuma(MemoryRegion *mr, Object *owner,
>      vmstate_register_ram_global(mr);
>  }
>
> -void memory_region_allocate_system_memory(MemoryRegion *mr, Object *owner,
> +void memory_region_allocate_system_memory(MemoryRegion *mr, MachineState *ms,
>                                            const char *name,
>                                            uint64_t ram_size)
>  {
>      uint64_t addr = 0;
>      int i;
> -    MachineState *ms = MACHINE(qdev_get_machine());
> +
> +    if (!ms) {
> +        ms = MACHINE(qdev_get_machine());
> +    }
>
>      if (ms->numa_state == NULL ||
>          ms->numa_state->num_nodes == 0 || !have_memdevs) {
> -        allocate_system_memory_nonnuma(mr, owner, name, ram_size);
> +        allocate_system_memory_nonnuma(mr, OBJECT(ms), name, ram_size);
>          return;
>      }
>
> -    memory_region_init(mr, owner, name, ram_size);
> +    memory_region_init(mr, OBJECT(ms), name, ram_size);
>      for (i = 0; i < ms->numa_state->num_nodes; i++) {
>          uint64_t size = ms->numa_state->nodes[i].node_mem;
>          HostMemoryBackend *backend = ms->numa_state->nodes[i].node_memdev;
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index de45087f34..3b6cb82b6c 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -14,7 +14,7 @@
>  /**
>   * memory_region_allocate_system_memory - Allocate a board's main memory
>   * @mr: the #MemoryRegion to be initialized
> - * @owner: the object that tracks the region's reference count
> + * @ms: the #MachineState object that own the system memory
>   * @name: name of the memory region
>   * @ram_size: size of the region in bytes
>   *
> @@ -38,8 +38,10 @@
>   * Smaller pieces of memory (display RAM, static RAMs, etc) don't need
>   * to be backed via the -mem-path memory backend and can simply
>   * be created via memory_region_init_ram().
> + *
> + * The #MachineState object will track the region's reference count.
>   */
> -void memory_region_allocate_system_memory(MemoryRegion *mr, Object *owner,
> +void memory_region_allocate_system_memory(MemoryRegion *mr, MachineState *ms,
>                                            const char *name,
>                                            uint64_t ram_size);
>
> --
> 2.21.0
>
>


  parent reply	other threads:[~2019-10-21 23:26 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-20 22:56 [PATCH 00/21] hw: Let the machine be the owner of the system memory Philippe Mathieu-Daudé
2019-10-20 22:56 ` [PATCH 01/21] hw/arm/xilinx_zynq: Use the IEC binary prefix definitions Philippe Mathieu-Daudé
2019-10-21 16:49   ` Richard Henderson
2019-10-21 20:47   ` Alistair Francis
2019-10-20 22:56 ` [PATCH 02/21] hw/arm/mps2: " Philippe Mathieu-Daudé
2019-10-21 16:50   ` Richard Henderson
2019-10-21 20:47   ` Alistair Francis
2019-10-20 22:56 ` [PATCH 03/21] hw/arm/collie: Create the RAM in the board Philippe Mathieu-Daudé
2019-10-21 16:55   ` Richard Henderson
2019-10-21 20:49   ` Alistair Francis
2019-10-20 22:56 ` [PATCH 04/21] hw/arm/omap2: " Philippe Mathieu-Daudé
2019-10-21 16:59   ` Richard Henderson
2019-10-21 17:18     ` Philippe Mathieu-Daudé
2019-10-20 22:56 ` [PATCH 05/21] hw/arm/omap1: " Philippe Mathieu-Daudé
2019-10-21 17:03   ` Richard Henderson
2019-10-20 22:56 ` [PATCH 06/21] hw/arm/digic4: Inline digic4_board_setup_ram() function Philippe Mathieu-Daudé
2019-10-21 17:04   ` Richard Henderson
2019-10-21 20:51   ` Alistair Francis
2019-10-20 22:56 ` [PATCH 07/21] hw: Drop QOM ownership on memory_region_allocate_system_memory() calls Philippe Mathieu-Daudé
2019-10-21 23:18   ` Alistair Francis
2019-10-22  9:47     ` Artyom Tarasenko
2019-10-20 22:56 ` [PATCH 08/21] hw/alpha/dp264: Create the RAM in the board Philippe Mathieu-Daudé
2019-10-21  8:53   ` Philippe Mathieu-Daudé
2019-10-21 17:27   ` Richard Henderson
2019-10-21 17:34     ` Philippe Mathieu-Daudé
2019-10-20 22:56 ` [PATCH 09/21] hw: Let memory_region_allocate_system_memory take MachineState argument Philippe Mathieu-Daudé
2019-10-21  7:27   ` Thomas Huth
2019-10-21  8:32     ` Philippe Mathieu-Daudé
2019-10-21 23:19   ` Alistair Francis [this message]
2019-10-20 22:56 ` [PATCH 10/21] hw/core: Let the machine be the owner of the system memory Philippe Mathieu-Daudé
2019-10-21 23:20   ` Alistair Francis
2019-10-20 22:56 ` [PATCH 11/21] hw/alpha: " Philippe Mathieu-Daudé
2019-10-21 17:14   ` Richard Henderson
2019-10-21 17:19     ` Richard Henderson
2019-10-21 17:26       ` Philippe Mathieu-Daudé
2019-10-20 22:56 ` [PATCH 12/21] hw/arm: " Philippe Mathieu-Daudé
2019-10-21  9:22   ` Peter Maydell
2019-10-21  9:33     ` Philippe Mathieu-Daudé
2019-10-21  9:39       ` Peter Maydell
2019-10-21 10:24         ` Philippe Mathieu-Daudé
2019-10-21 14:57           ` Dr. David Alan Gilbert
2021-02-03 16:05             ` Philippe Mathieu-Daudé
2019-10-20 22:56 ` [PATCH 13/21] hw/cris: " Philippe Mathieu-Daudé
2019-10-21 17:28   ` Richard Henderson
2019-10-21 20:56   ` Alistair Francis
2019-10-20 22:56 ` [PATCH 14/21] hw/hppa: " Philippe Mathieu-Daudé
2019-10-21 17:29   ` Richard Henderson
2019-10-21 20:56   ` Alistair Francis
2019-10-20 22:56 ` [PATCH 15/21] hw/i386: " Philippe Mathieu-Daudé
2019-10-21 17:29   ` Richard Henderson
2019-10-21 20:56   ` Alistair Francis
2019-10-20 22:56 ` [PATCH 16/21] hw/lm32: " Philippe Mathieu-Daudé
2019-10-21 17:30   ` Richard Henderson
2019-10-21 20:57   ` Alistair Francis
2019-10-20 22:56 ` [PATCH 17/21] hw/m68k: " Philippe Mathieu-Daudé
2019-10-21  7:28   ` Thomas Huth
2019-10-21 17:31   ` Richard Henderson
2019-10-21 20:57   ` Alistair Francis
2019-10-20 22:56 ` [PATCH 18/21] hw/mips: " Philippe Mathieu-Daudé
2019-10-21  6:25   ` Aleksandar Markovic
2019-10-21  8:34     ` Philippe Mathieu-Daudé
2019-10-21 10:56       ` Aleksandar Markovic
2019-10-21 11:05         ` Philippe Mathieu-Daudé
2019-10-21 11:10           ` Aleksandar Markovic
2019-10-21 11:28             ` Philippe Mathieu-Daudé
2019-10-21 12:10               ` Aleksandar Markovic
2019-10-21 19:24   ` [EXTERNAL][PATCH " Aleksandar Markovic
2019-10-20 22:56 ` [PATCH 19/21] hw/ppc: " Philippe Mathieu-Daudé
2019-10-21  0:44   ` David Gibson
2019-10-21 17:33   ` Richard Henderson
2019-10-20 22:56 ` [PATCH 20/21] hw/sparc: " Philippe Mathieu-Daudé
2019-10-21 17:33   ` Richard Henderson
2019-10-20 22:56 ` [PATCH 21/21] hw/core: Assert memory_region_allocate_system_memory has machine owner Philippe Mathieu-Daudé
2019-10-21 17:41   ` Richard Henderson
2019-10-21 21:00   ` Alistair Francis
2019-10-21  0:03 ` [PATCH 00/21] hw: Let the machine be the owner of the system memory no-reply
2019-10-21  8:52 ` Philippe Mathieu-Daudé
2019-10-21 14:31   ` Philippe Mathieu-Daudé

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='CAKmqyKP-XsjkzAkXzs1AK9rfec=SK_gijbd6J4CLwK08DGQYFw@mail.gmail.com' \
    --to=alistair23@gmail.com \
    --cc=Andrew.Baumann@microsoft.com \
    --cc=aleksandar.rikalo@rt-rk.com \
    --cc=alistair@alistair23.me \
    --cc=amarkovic@wavecomp.com \
    --cc=andrew.smirnov@gmail.com \
    --cc=andrew@aj.id.au \
    --cc=antonynpavlov@gmail.com \
    --cc=armbru@redhat.com \
    --cc=atar4qemu@gmail.com \
    --cc=aurelien@aurel32.net \
    --cc=b.galvani@gmail.com \
    --cc=chouteau@adacore.com \
    --cc=clg@kaod.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=deller@gmx.de \
    --cc=edgar.iglesias@gmail.com \
    --cc=ehabkost@redhat.com \
    --cc=frederic.konrad@adacore.com \
    --cc=hpoussin@reactos.org \
    --cc=huth@tuxfamily.org \
    --cc=imammedo@redhat.com \
    --cc=jan.kiszka@web.de \
    --cc=jcd@tribudubois.net \
    --cc=joel@jms.id.au \
    --cc=leif.lindholm@linaro.org \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=michael@walle.cc \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=pburton@wavecomp.com \
    --cc=peter.chubb@nicta.com.au \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=radoslaw.biernacki@linaro.org \
    --cc=robh@kernel.org \
    --cc=rth@twiddle.net \
    /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.