From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [PATCH v5 11/79] arm/collie: use memdev for RAM
Date: Wed, 19 Feb 2020 15:05:13 +0100 [thread overview]
Message-ID: <312e18b0-3b77-245e-bfd5-0045b6748ec0@redhat.com> (raw)
In-Reply-To: <20200219144402.51cf1213@redhat.com>
On 2/19/20 2:44 PM, Igor Mammedov wrote:
> On Tue, 18 Feb 2020 18:16:14 +0100
> Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
>> Hi Igor,
>>
>> On 2/17/20 6:33 PM, Igor Mammedov wrote:
>>> memory_region_allocate_system_memory() API is going away, so
>>> replace it with memdev allocated MemoryRegion. The later is
>>> initialized by generic code, so board only needs to opt in
>>> to memdev scheme by providing
>>> MachineClass::default_ram_id
>>> and using MachineState::ram instead of manually initializing
>>> RAM memory region.
>>>
>>> PS:
>>> - while at it add check for user supplied RAM size and error
>>> out if it mismatches board expected value.
>>> - introduce RAM_ADDR_UFMT to avoid build errors on 32-bit hosts
>>> when specifying format string for ram_addr_t type
>>
>> Since v3 the 2nd comment is not valid anymore (also in other patches
>> from this series).
>
> I looks like the last remnant of RAM_ADDR_UFMT
> I'll remove it in v6
Thanks.
>
>>>
>>> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
>>> Reviewed-by: Andrew Jones <drjones@redhat.com>
>>> ---
>>> v2:
>>> * fix format string causing build failure on 32-bit host
>>> (Philippe Mathieu-Daudé <philmd@redhat.com>)
>>> v3:
>>> * instead of RAM_ADDR_UFMT adding use size_to_str()
>>> Philippe Mathieu-Daudé <philmd@redhat.com>
>>> ---
>>> hw/arm/collie.c | 17 ++++++++++++-----
>>> 1 file changed, 12 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/hw/arm/collie.c b/hw/arm/collie.c
>>> index 970a4405cc..024893fc9e 100644
>>> --- a/hw/arm/collie.c
>>> +++ b/hw/arm/collie.c
>>> @@ -10,6 +10,7 @@
>>> */
>>> #include "qemu/osdep.h"
>>> #include "qemu/units.h"
>>> +#include "qemu/cutils.h"
>>> #include "hw/sysbus.h"
>>> #include "hw/boards.h"
>>> #include "strongarm.h"
>>> @@ -20,20 +21,24 @@
>>>
>>> static struct arm_boot_info collie_binfo = {
>>> .loader_start = SA_SDCS0,
>>> - .ram_size = 0x20000000,
>>
>> This doesn't seem correct, this field is used do_cpu_reset() ->
>> set_kernel_args() (see hw/arm/boot.c).
>
> Thanks,
> fixed in v6.
>
> I'll respin series as already several amended patches accumulated by this time.
With the arm_boot_info ram_size unmodified, please add
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>
>>
>>> };
>>>
>>> static void collie_init(MachineState *machine)
>>> {
>>> StrongARMState *s;
>>> DriveInfo *dinfo;
>>> - MemoryRegion *sdram = g_new(MemoryRegion, 1);
>>> + MachineClass *mc = MACHINE_GET_CLASS(machine);
>>> +
>>> + if (machine->ram_size != mc->default_ram_size) {
>>> + char *sz = size_to_str(mc->default_ram_size);
>>> + error_report("Invalid RAM size, should be %s", sz);
>>> + g_free(sz);
>>> + exit(EXIT_FAILURE);
>>> + }
>>>
>>> s = sa1110_init(machine->cpu_type);
>>>
>>> - memory_region_allocate_system_memory(sdram, NULL, "strongarm.sdram",
>>> - collie_binfo.ram_size);
>>> - memory_region_add_subregion(get_system_memory(), SA_SDCS0, sdram);
>>> + memory_region_add_subregion(get_system_memory(), SA_SDCS0, machine->ram);
>>>
>>> dinfo = drive_get(IF_PFLASH, 0, 0);
>>> pflash_cfi01_register(SA_CS0, "collie.fl1", 0x02000000,
>>> @@ -57,6 +62,8 @@ static void collie_machine_init(MachineClass *mc)
>>> mc->init = collie_init;
>>> mc->ignore_memory_transaction_failures = true;
>>> mc->default_cpu_type = ARM_CPU_TYPE_NAME("sa1110");
>>> + mc->default_ram_size = 0x20000000;
>>> + mc->default_ram_id = "strongarm.sdram";
>>> }
>>>
>>> DEFINE_MACHINE("collie", collie_machine_init)
>>>
>>
>>
>
next prev parent reply other threads:[~2020-02-19 14:06 UTC|newest]
Thread overview: 187+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-17 17:33 [PATCH v5 00/79] refactor main RAM allocation to use hostmem backend Igor Mammedov
2020-02-17 17:33 ` [PATCH v5 01/79] numa: remove deprecated -mem-path fallback to anonymous RAM Igor Mammedov
2020-02-17 18:42 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 02/79] machine: introduce memory-backend property Igor Mammedov
2020-02-17 18:43 ` Richard Henderson
2020-02-18 17:10 ` Philippe Mathieu-Daudé
2020-02-17 17:33 ` [PATCH v5 03/79] machine: alias -mem-path and -mem-prealloc into memory-foo backend Igor Mammedov
2020-02-17 17:33 ` [PATCH v5 04/79] machine: introduce convenience MachineState::ram Igor Mammedov
2020-02-17 18:45 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 05/79] initialize MachineState::ram in NUMA case Igor Mammedov
2020-02-17 17:33 ` [PATCH v5 06/79] vl.c: move -m parsing after memory backends has been processed Igor Mammedov
2020-02-17 17:33 ` [PATCH v5 07/79] vl.c: ensure that ram_size matches size of machine.memory-backend Igor Mammedov
2020-02-17 18:47 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 08/79] alpha/dp264: use memdev for RAM Igor Mammedov
2020-02-17 17:33 ` [PATCH v5 09/79] arm/aspeed: actually check RAM size Igor Mammedov
2020-02-17 18:48 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 10/79] arm/aspeed: use memdev for RAM Igor Mammedov
2020-02-17 18:48 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 11/79] arm/collie: " Igor Mammedov
2020-02-17 18:49 ` Richard Henderson
2020-02-18 17:16 ` Philippe Mathieu-Daudé
2020-02-19 13:44 ` Igor Mammedov
2020-02-19 14:05 ` Philippe Mathieu-Daudé [this message]
2020-02-17 17:33 ` [PATCH v5 12/79] arm/cubieboard: " Igor Mammedov
2020-02-17 18:50 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 13/79] arm/digic_boards: " Igor Mammedov
2020-02-17 18:51 ` Richard Henderson
2020-02-18 17:18 ` Philippe Mathieu-Daudé
2020-02-17 17:33 ` [PATCH v5 14/79] arm/highbank: " Igor Mammedov
2020-02-17 18:52 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 15/79] arm/imx25_pdk: drop RAM size fixup Igor Mammedov
2020-02-17 18:56 ` Richard Henderson
2020-02-18 6:51 ` Philippe Mathieu-Daudé
2020-02-18 15:42 ` [PATCH v6 " Igor Mammedov
2020-02-17 17:33 ` [PATCH v5 16/79] arm/imx25_pdk: use memdev for RAM Igor Mammedov
2020-02-17 18:57 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 17/79] arm/integratorcp: " Igor Mammedov
2020-02-17 18:58 ` Richard Henderson
2020-02-18 6:55 ` Philippe Mathieu-Daudé
2020-02-18 8:04 ` Igor Mammedov
2020-02-18 16:41 ` Igor Mammedov
2020-02-18 17:09 ` Philippe Mathieu-Daudé
2020-02-17 17:33 ` [PATCH v5 18/79] arm/kzm: drop RAM size fixup Igor Mammedov
2020-02-17 18:58 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 19/79] arm/kzm: use memdev for RAM Igor Mammedov
2020-02-17 18:59 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 20/79] arm/mcimx6ul-evk: " Igor Mammedov
2020-02-17 19:00 ` Richard Henderson
2020-02-18 17:18 ` Philippe Mathieu-Daudé
2020-02-17 17:33 ` [PATCH v5 21/79] arm/mcimx7d-sabre: " Igor Mammedov
2020-02-17 19:01 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 22/79] arm/mps2-tz: " Igor Mammedov
2020-02-17 19:02 ` Richard Henderson
2020-02-18 6:56 ` Philippe Mathieu-Daudé
2020-02-17 17:33 ` [PATCH v5 23/79] arm/mps2: " Igor Mammedov
2020-02-17 19:03 ` Richard Henderson
2020-02-18 6:57 ` Philippe Mathieu-Daudé
2020-02-17 17:33 ` [PATCH v5 24/79] arm/musicpal: " Igor Mammedov
2020-02-17 19:11 ` Richard Henderson
2020-02-18 6:58 ` Philippe Mathieu-Daudé
2020-02-18 8:59 ` Igor Mammedov
2020-02-18 17:29 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 25/79] arm/nseries: " Igor Mammedov
2020-02-17 19:12 ` Richard Henderson
2020-02-17 17:33 ` [PATCH v5 26/79] arm/omap_sx1: " Igor Mammedov
2020-02-17 19:13 ` Richard Henderson
2020-02-18 17:20 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 27/79] arm/palm: " Igor Mammedov
2020-02-17 19:14 ` Richard Henderson
2020-02-18 17:22 ` Philippe Mathieu-Daudé
2020-02-19 13:44 ` Igor Mammedov
2020-02-19 14:05 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 28/79] arm/sabrelite: " Igor Mammedov
2020-02-17 19:17 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 29/79] arm/raspi: " Igor Mammedov
2020-02-17 18:06 ` Philippe Mathieu-Daudé
2020-02-17 19:17 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 30/79] arm/sbsa-ref: " Igor Mammedov
2020-02-17 19:18 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 31/79] arm/versatilepb: " Igor Mammedov
2020-02-17 19:18 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 32/79] arm/vexpress: " Igor Mammedov
2020-02-17 19:20 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 33/79] arm/virt: " Igor Mammedov
2020-02-17 19:20 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 34/79] arm/xilinx_zynq: drop RAM size fixup Igor Mammedov
2020-02-17 19:23 ` Richard Henderson
2020-02-18 17:23 ` Philippe Mathieu-Daudé
2020-02-19 13:44 ` Igor Mammedov
2020-02-19 14:07 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 35/79] arm/xilinx_zynq: use memdev for RAM Igor Mammedov
2020-02-17 19:24 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 36/79] arm/xlnx-versal-virt: " Igor Mammedov
2020-02-17 19:25 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 37/79] arm/xlnx-zcu102: " Igor Mammedov
2020-02-17 19:25 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 38/79] s390x/s390-virtio-ccw: " Igor Mammedov
2020-02-17 19:26 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 39/79] null-machine: " Igor Mammedov
2020-02-17 19:26 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 40/79] cris/axis_dev88: " Igor Mammedov
2020-02-17 19:27 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 41/79] hppa: " Igor Mammedov
2020-02-17 18:33 ` Richard Henderson
2020-02-18 7:00 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 42/79] x86/microvm: " Igor Mammedov
2020-02-17 19:27 ` Richard Henderson
2020-02-18 17:25 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 43/79] x86/pc: " Igor Mammedov
2020-02-17 19:28 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 44/79] lm32/lm32_boards: " Igor Mammedov
2020-02-17 19:29 ` Richard Henderson
2020-02-18 17:26 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 45/79] lm32/milkymist: " Igor Mammedov
2020-02-17 19:29 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 46/79] m68k/an5206: " Igor Mammedov
2020-02-17 19:30 ` Richard Henderson
2020-02-18 17:44 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 47/79] m68k/q800: " Igor Mammedov
2020-02-17 19:30 ` Richard Henderson
2020-02-18 7:05 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 48/79] m68k/mcf5208: " Igor Mammedov
2020-02-17 19:30 ` Richard Henderson
2020-02-18 17:44 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 49/79] m68k/next-cube: " Igor Mammedov
2020-02-17 19:31 ` Richard Henderson
2020-02-18 7:04 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 50/79] mips/boston: " Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 51/79] mips/mips_fulong2e: drop RAM size fixup Igor Mammedov
2020-02-18 17:29 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 52/79] mips/mips_fulong2e: use memdev for RAM Igor Mammedov
2020-02-18 17:28 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 53/79] mips/mips_jazz: " Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 54/79] mips/mips_jazz: add max ram size check Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 55/79] mips/mips_malta: use memdev for RAM Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 56/79] mips/mips_mipssim: " Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 57/79] mips/mips_r4k: " Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 58/79] ppc/e500: drop RAM size fixup Igor Mammedov
2020-02-17 19:32 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 59/79] ppc/e500: use memdev for RAM Igor Mammedov
2020-02-17 19:32 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 60/79] ppc/mac_newworld: " Igor Mammedov
2020-02-17 19:32 ` Richard Henderson
2020-02-18 17:46 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 61/79] ppc/mac_oldworld: " Igor Mammedov
2020-02-17 19:32 ` Richard Henderson
2020-02-18 17:46 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 62/79] ppc/pnv: " Igor Mammedov
2020-02-17 19:33 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 63/79] ppc/ppc405_boards: add RAM size checks Igor Mammedov
2020-02-17 19:34 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 64/79] ppc/ppc405_boards: use memdev for RAM Igor Mammedov
2020-02-17 19:37 ` Richard Henderson
2020-02-18 15:43 ` [PATCH v6 " Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 65/79] ppc/{ppc440_bamboo, sam460ex}: drop RAM size fixup Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 66/79] ppc/{ppc440_bamboo, sam460ex}: use memdev for RAM Igor Mammedov
2020-02-18 15:45 ` [PATCH v6 " Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 67/79] ppc/spapr: " Igor Mammedov
2020-02-17 19:39 ` Richard Henderson
2020-02-18 17:30 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 68/79] ppc/virtex_ml507: " Igor Mammedov
2020-02-17 19:40 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 69/79] sparc/leon3: " Igor Mammedov
2020-02-17 19:40 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 70/79] sparc/sun4m: " Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 71/79] sparc/niagara: " Igor Mammedov
2020-02-17 19:42 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 72/79] remove no longer used memory_region_allocate_system_memory() Igor Mammedov
2020-02-17 18:37 ` Richard Henderson
2020-02-18 17:40 ` Philippe Mathieu-Daudé
2020-02-17 17:34 ` [PATCH v5 73/79] exec: cleanup qemu_minrampagesize()/qemu_maxrampagesize() Igor Mammedov
2020-02-17 18:39 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 74/79] exec: drop bogus mem_path from qemu_ram_alloc_from_fd() Igor Mammedov
2020-02-17 18:40 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 75/79] make mem_path local variable Igor Mammedov
2020-02-17 18:40 ` Richard Henderson
2020-02-17 17:34 ` [PATCH v5 76/79] hostmem: introduce "prealloc-threads" property Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 77/79] hostmem: fix strict bind policy Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 78/79] tests/numa-test: make top level args dynamic and g_autofree(cli) cleanups Igor Mammedov
2020-02-17 17:34 ` [PATCH v5 79/79] tests:numa-test: use explicit memdev to specify node RAM Igor Mammedov
2020-02-18 17:51 ` Philippe Mathieu-Daudé
2020-02-19 13:00 ` Igor Mammedov
2020-02-19 14:06 ` Philippe Mathieu-Daudé
2020-02-19 14:30 ` Igor Mammedov
2020-02-17 20:44 ` [PATCH v5 00/79] refactor main RAM allocation to use hostmem backend no-reply
2020-02-18 15:47 ` Igor Mammedov
2020-02-18 15:50 ` Igor Mammedov
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=312e18b0-3b77-245e-bfd5-0045b6748ec0@redhat.com \
--to=philmd@redhat.com \
--cc=imammedo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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).