From: Igor Mammedov <imammedo@redhat.com>
To: Auger Eric <eric.auger@redhat.com>
Cc: peter.maydell@linaro.org, drjones@redhat.com, david@redhat.com,
qemu-devel@nongnu.org, shameerali.kolothum.thodi@huawei.com,
dgilbert@redhat.com, agraf@suse.de, qemu-arm@nongnu.org,
david@gibson.dropbear.id.au, eric.auger.pro@gmail.com
Subject: Re: [Qemu-arm] [RFC v3 08/15] hw/arm/boot: introduce fdt_add_memory_node helper
Date: Thu, 9 Aug 2018 10:57:46 +0200 [thread overview]
Message-ID: <20180809105746.78156191@redhat.com> (raw)
In-Reply-To: <ff206af7-91fb-1ed7-9f92-c24980044254@redhat.com>
On Wed, 8 Aug 2018 11:44:14 +0200
Auger Eric <eric.auger@redhat.com> wrote:
> Hi Igor,
>
> On 07/18/2018 04:04 PM, Igor Mammedov wrote:
> > On Tue, 3 Jul 2018 09:19:51 +0200
> > Eric Auger <eric.auger@redhat.com> wrote:
> >
> >> From: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
> >>
> >> We introduce an helper to create a memory node.
> >>
> >> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> >> Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
> >>
> >> ---
> >>
> >> v1 -> v2:
> >> - nop of existing /memory nodes was already handled
> >> ---
> >> hw/arm/boot.c | 54 ++++++++++++++++++++++++++++++++++--------------------
> >> 1 file changed, 34 insertions(+), 20 deletions(-)
> >>
> >> diff --git a/hw/arm/boot.c b/hw/arm/boot.c
> >> index e09201c..5243a25 100644
> >> --- a/hw/arm/boot.c
> >> +++ b/hw/arm/boot.c
> >> @@ -413,6 +413,36 @@ static void set_kernel_args_old(const struct arm_boot_info *info,
> >> }
> >> }
> >>
> >> +static int fdt_add_memory_node(void *fdt, uint32_t acells, hwaddr mem_base,
> >> + uint32_t scells, hwaddr mem_len,
> >> + int numa_node_id)
> >> +{
> >> + char *nodename = NULL;
> >> + int ret;
> >> +
> >> + nodename = g_strdup_printf("/memory@%" PRIx64, mem_base);
> >> + qemu_fdt_add_subnode(fdt, nodename);
> >> + qemu_fdt_setprop_string(fdt, nodename, "device_type", "memory");
> >> + ret = qemu_fdt_setprop_sized_cells(fdt, nodename, "reg", acells, mem_base,
> >> + scells, mem_len);
> >> + if (ret < 0) {
> >> + fprintf(stderr, "couldn't set %s/reg\n", nodename);
> >> + goto out;
> >> + }
> >> + if (numa_node_id < 0) {
> >> + goto out;
> >> + }
> >> +
> >> + ret = qemu_fdt_setprop_cell(fdt, nodename, "numa-node-id", numa_node_id);
> >> + if (ret < 0) {
> >> + fprintf(stderr, "couldn't set %s/numa-node-id\n", nodename);
> >> + }
> >> +
> >> +out:
> >> + g_free(nodename);
> >> + return ret;
> >> +}
> >> +
> >
> > not related question from hotplug POV,
> > is entry size fixed?
> Sorry I don't get what entry you are referring to?
> > can we estimate exact size for #slots number of dimms and reserve it in advance
> > in FDT 'rom'?
> Not sure I get your drift either.
>
> patch "[RFC v3 09/15] hw/arm/boot: Expose the PC-DIMM nodes in the DT"
> builds the DT nodes for each node, by enumerating the MemoryDeviceInfoList.
In case of hotplug we don not care about adding DTB node at runtime
(guest won't see it anyways). However if we reboot machine it's reasonable
to regenerate DTB on reboot so guest would see previously hotplugged DIMMs.
Problem is that DTB is stored in fixed size 'rom' that's copied into guest's
RAM, so we should reserve a space for possible slots in advance or switch
to another mechanism to provide DTB to guest. (it could be a memory region
mapped outside of RAM)
[...]
next prev parent reply other threads:[~2018-08-09 8:58 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-03 7:19 [Qemu-arm] [RFC v3 00/15] ARM virt: PCDIMM/NVDIMM at 2TB Eric Auger
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 01/15] linux-headers: header update for KVM/ARM KVM_ARM_GET_MAX_VM_PHYS_SHIFT Eric Auger
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 02/15] hw/boards: Add a MachineState parameter to kvm_type callback Eric Auger
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 03/15] kvm: add kvm_arm_get_max_vm_phys_shift Eric Auger
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 04/15] hw/arm/virt: support kvm_type property Eric Auger
2018-07-03 7:19 ` [Qemu-devel] [RFC v3 05/15] hw/arm/virt: handle max_vm_phys_shift conflicts on migration Eric Auger
2018-07-03 18:41 ` [Qemu-arm] " David Hildenbrand
2018-07-03 19:32 ` [Qemu-arm] [Qemu-devel] " Auger Eric
2018-07-04 11:53 ` David Hildenbrand
2018-07-04 12:50 ` Auger Eric
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 06/15] hw/arm/virt: Allocate device_memory Eric Auger
2018-07-03 18:25 ` David Hildenbrand
2018-07-03 19:27 ` Auger Eric
2018-07-04 12:05 ` David Hildenbrand
2018-07-05 11:42 ` [Qemu-arm] [Qemu-devel] " Auger Eric
2018-07-05 11:54 ` David Hildenbrand
2018-07-05 12:00 ` Auger Eric
2018-07-05 12:09 ` [Qemu-arm] " David Hildenbrand
2018-07-05 12:17 ` Auger Eric
2018-07-05 13:19 ` Shameerali Kolothum Thodi
2018-07-05 14:27 ` Auger Eric
2018-07-11 13:17 ` Igor Mammedov
2018-07-12 14:22 ` Auger Eric
2018-07-12 14:45 ` [Qemu-arm] " Andrew Jones
2018-07-12 14:53 ` Auger Eric
2018-07-12 15:15 ` Andrew Jones
2018-07-18 13:00 ` Igor Mammedov
2018-08-08 9:33 ` Auger Eric
2018-08-09 8:45 ` Igor Mammedov
2018-08-09 9:54 ` Auger Eric
2018-07-18 13:05 ` [Qemu-arm] " Igor Mammedov
2018-08-08 9:33 ` Auger Eric
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 07/15] hw/arm/virt: Add memory hotplug framework Eric Auger
2018-07-03 18:28 ` David Hildenbrand
2018-07-03 19:28 ` Auger Eric
2018-07-03 18:44 ` David Hildenbrand
2018-07-03 19:34 ` Auger Eric
2018-07-04 11:47 ` David Hildenbrand
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 08/15] hw/arm/boot: introduce fdt_add_memory_node helper Eric Auger
2018-07-18 14:04 ` Igor Mammedov
2018-08-08 9:44 ` Auger Eric
2018-08-09 8:57 ` Igor Mammedov [this message]
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 09/15] hw/arm/boot: Expose the PC-DIMM nodes in the DT Eric Auger
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 10/15] acpi: move build_srat_hotpluggable_memory to generic ACPI source Eric Auger
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 11/15] hw/arm/virt-acpi-build: Add PC-DIMM in SRAT Eric Auger
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 12/15] nvdimm: use configurable ACPI IO base and size Eric Auger
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 13/15] hw/arm/virt: Add nvdimm hot-plug infrastructure Eric Auger
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 14/15] hw/arm/boot: Expose the pmem nodes in the DT Eric Auger
2018-07-03 7:19 ` [Qemu-arm] [RFC v3 15/15] hw/arm/virt: Add nvdimm and nvdimm-persistence options Eric Auger
2018-07-18 14:08 ` [Qemu-arm] [RFC v3 00/15] ARM virt: PCDIMM/NVDIMM at 2TB Igor Mammedov
2018-10-18 12:56 ` Auger Eric
2018-10-03 13:49 ` Auger Eric
2018-10-03 14:13 ` Dr. David Alan Gilbert
2018-10-03 14:42 ` Auger Eric
2018-10-03 14:46 ` Dr. David Alan Gilbert
2018-10-04 11:11 ` [Qemu-arm] [Qemu-devel] " Igor Mammedov
2018-10-04 11:32 ` Auger Eric
2018-10-04 12:02 ` [Qemu-arm] " David Hildenbrand
2018-10-04 12:07 ` Auger Eric
2018-10-04 13:16 ` Igor Mammedov
2018-10-04 14:16 ` [Qemu-arm] " Dr. David Alan Gilbert
2018-10-05 8:18 ` 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=20180809105746.78156191@redhat.com \
--to=imammedo@redhat.com \
--cc=agraf@suse.de \
--cc=david@gibson.dropbear.id.au \
--cc=david@redhat.com \
--cc=dgilbert@redhat.com \
--cc=drjones@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=eric.auger@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=shameerali.kolothum.thodi@huawei.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).