From: Igor Mammedov <imammedo@redhat.com>
To: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Cc: peter.maydell@linaro.org, sameo@linux.intel.com,
shannon.zhaosl@gmail.com, qemu-devel@nongnu.org,
xuwei5@hisilicon.com, linuxarm@huawei.com, eric.auger@redhat.com,
qemu-arm@nongnu.org, sebastien.boeuf@intel.com
Subject: Re: [Qemu-arm] [PATCH v2 08/11] hw/arm/boot: Expose the PC-DIMM nodes in the DT
Date: Mon, 11 Mar 2019 15:58:57 +0100 [thread overview]
Message-ID: <20190311155857.78c6703d@redhat.com> (raw)
In-Reply-To: <20190308114218.26692-9-shameerali.kolothum.thodi@huawei.com>
On Fri, 8 Mar 2019 11:42:15 +0000
Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> wrote:
> This patch adds memory nodes corresponding to PC-DIMM regions.
>
> NVDIMM and ACPI_NVDIMM configs are not yet set for ARM so we
> don't need to care about NVDIMM at this stage.
>
> Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> ---
> hw/arm/boot.c | 42 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
>
> diff --git a/hw/arm/boot.c b/hw/arm/boot.c
> index a830655..4caaf91 100644
> --- a/hw/arm/boot.c
> +++ b/hw/arm/boot.c
> @@ -19,6 +19,7 @@
> #include "sysemu/numa.h"
> #include "hw/boards.h"
> #include "hw/loader.h"
> +#include "hw/mem/memory-device.h"
> #include "elf.h"
> #include "sysemu/device_tree.h"
> #include "qemu/config-file.h"
> @@ -522,6 +523,41 @@ static void fdt_add_psci_node(void *fdt)
> qemu_fdt_setprop_cell(fdt, "/psci", "migrate", migrate_fn);
> }
>
> +static int fdt_add_hotpluggable_memory_nodes(void *fdt,
> + uint32_t acells, uint32_t scells) {
> + MemoryDeviceInfoList *info, *info_list = qmp_memory_device_list();
> + MemoryDeviceInfo *mi;
> + int ret = 0;
> +
> + for (info = info_list; info != NULL; info = info->next) {
> + mi = info->value;
> + switch (mi->type) {
> + case MEMORY_DEVICE_INFO_KIND_DIMM:
> + {
> + PCDIMMDeviceInfo *di = mi->u.dimm.data;
> +
> + ret = fdt_add_memory_node(fdt, acells, di->addr,
> + scells, di->size, di->node);
> + if (ret) {
> + fprintf(stderr,
> + "couldn't add PCDIMM /memory@%"PRIx64" node\n",
> + di->addr);
> + goto out;
> + }
> + break;
> + }
> + default:
> + fprintf(stderr, "%s memory nodes are not yet supported\n",
> + MemoryDeviceInfoKind_str(mi->type));
> + ret = -ENOENT;
> + goto out;
> + }
> + }
> +out:
> + qapi_free_MemoryDeviceInfoList(info_list);
> + return ret;
> +}
> +
> int arm_load_dtb(hwaddr addr, const struct arm_boot_info *binfo,
> hwaddr addr_limit, AddressSpace *as)
> {
> @@ -621,6 +657,12 @@ int arm_load_dtb(hwaddr addr, const struct arm_boot_info *binfo,
> }
> }
>
> + rc = fdt_add_hotpluggable_memory_nodes(fdt, acells, scells);
According to Eric's test, guest kernel picks this up. So it probably
should be an opt-in feature to avoid conflict with ACPI definition in DSDT.
> + if (rc < 0) {
> + fprintf(stderr, "couldn't add hotpluggable memory nodes\n");
> + goto fail;
> + }
> +
> rc = fdt_path_offset(fdt, "/chosen");
> if (rc < 0) {
> qemu_fdt_add_subnode(fdt, "/chosen");
WARNING: multiple messages have this Message-ID (diff)
From: Igor Mammedov <imammedo@redhat.com>
To: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Cc: qemu-devel@nongnu.org, qemu-arm@nongnu.org,
eric.auger@redhat.com, peter.maydell@linaro.org,
shannon.zhaosl@gmail.com, sameo@linux.intel.com,
sebastien.boeuf@intel.com, linuxarm@huawei.com,
xuwei5@hisilicon.com
Subject: Re: [Qemu-devel] [PATCH v2 08/11] hw/arm/boot: Expose the PC-DIMM nodes in the DT
Date: Mon, 11 Mar 2019 15:58:57 +0100 [thread overview]
Message-ID: <20190311155857.78c6703d@redhat.com> (raw)
In-Reply-To: <20190308114218.26692-9-shameerali.kolothum.thodi@huawei.com>
On Fri, 8 Mar 2019 11:42:15 +0000
Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> wrote:
> This patch adds memory nodes corresponding to PC-DIMM regions.
>
> NVDIMM and ACPI_NVDIMM configs are not yet set for ARM so we
> don't need to care about NVDIMM at this stage.
>
> Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> ---
> hw/arm/boot.c | 42 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
>
> diff --git a/hw/arm/boot.c b/hw/arm/boot.c
> index a830655..4caaf91 100644
> --- a/hw/arm/boot.c
> +++ b/hw/arm/boot.c
> @@ -19,6 +19,7 @@
> #include "sysemu/numa.h"
> #include "hw/boards.h"
> #include "hw/loader.h"
> +#include "hw/mem/memory-device.h"
> #include "elf.h"
> #include "sysemu/device_tree.h"
> #include "qemu/config-file.h"
> @@ -522,6 +523,41 @@ static void fdt_add_psci_node(void *fdt)
> qemu_fdt_setprop_cell(fdt, "/psci", "migrate", migrate_fn);
> }
>
> +static int fdt_add_hotpluggable_memory_nodes(void *fdt,
> + uint32_t acells, uint32_t scells) {
> + MemoryDeviceInfoList *info, *info_list = qmp_memory_device_list();
> + MemoryDeviceInfo *mi;
> + int ret = 0;
> +
> + for (info = info_list; info != NULL; info = info->next) {
> + mi = info->value;
> + switch (mi->type) {
> + case MEMORY_DEVICE_INFO_KIND_DIMM:
> + {
> + PCDIMMDeviceInfo *di = mi->u.dimm.data;
> +
> + ret = fdt_add_memory_node(fdt, acells, di->addr,
> + scells, di->size, di->node);
> + if (ret) {
> + fprintf(stderr,
> + "couldn't add PCDIMM /memory@%"PRIx64" node\n",
> + di->addr);
> + goto out;
> + }
> + break;
> + }
> + default:
> + fprintf(stderr, "%s memory nodes are not yet supported\n",
> + MemoryDeviceInfoKind_str(mi->type));
> + ret = -ENOENT;
> + goto out;
> + }
> + }
> +out:
> + qapi_free_MemoryDeviceInfoList(info_list);
> + return ret;
> +}
> +
> int arm_load_dtb(hwaddr addr, const struct arm_boot_info *binfo,
> hwaddr addr_limit, AddressSpace *as)
> {
> @@ -621,6 +657,12 @@ int arm_load_dtb(hwaddr addr, const struct arm_boot_info *binfo,
> }
> }
>
> + rc = fdt_add_hotpluggable_memory_nodes(fdt, acells, scells);
According to Eric's test, guest kernel picks this up. So it probably
should be an opt-in feature to avoid conflict with ACPI definition in DSDT.
> + if (rc < 0) {
> + fprintf(stderr, "couldn't add hotpluggable memory nodes\n");
> + goto fail;
> + }
> +
> rc = fdt_path_offset(fdt, "/chosen");
> if (rc < 0) {
> qemu_fdt_add_subnode(fdt, "/chosen");
next prev parent reply other threads:[~2019-03-11 15:07 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-08 11:42 [Qemu-arm] [PATCH v2 00/11] ARM virt: ACPI memory hotplug support Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 01/11] hw/acpi: Move constant definitions to header files Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-08 16:09 ` [Qemu-arm] " Auger Eric
2019-03-08 16:09 ` [Qemu-devel] " Auger Eric
2019-03-08 17:16 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-08 17:16 ` [Qemu-devel] " Shameerali Kolothum Thodi
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 02/11] hw/acpi: Make ACPI IO address space configurable Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-08 16:13 ` [Qemu-arm] " Auger Eric
2019-03-08 16:13 ` [Qemu-devel] " Auger Eric
2019-03-08 11:42 ` [Qemu-devel] [PATCH v2 03/11] hw/acpi: Do not create memory hotplug method when handler is not defined Shameer Kolothum
2019-03-08 11:42 ` Shameer Kolothum
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 04/11] hw/arm/virt: Add virtual ACPI device Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 13:24 ` Auger Eric
2019-03-11 17:36 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-11 17:36 ` [Qemu-devel] " Shameerali Kolothum Thodi
2019-03-12 15:48 ` [Qemu-arm] " Igor Mammedov
2019-03-14 16:55 ` [Qemu-devel] " Shameerali Kolothum Thodi
2019-03-15 8:41 ` [Qemu-arm] " Igor Mammedov
2019-03-15 12:08 ` [Qemu-devel] " Shameerali Kolothum Thodi
2019-03-08 11:42 ` [Qemu-devel] [PATCH v2 05/11] hw/arm/virt: Add memory hotplug framework Shameer Kolothum
2019-03-08 11:42 ` Shameer Kolothum
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 06/11] hw/arm/virt: Add ACPI support for device memory cold-plug Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 13:32 ` Auger Eric
2019-03-11 17:37 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-11 17:37 ` [Qemu-devel] " Shameerali Kolothum Thodi
2019-03-11 17:58 ` [Qemu-arm] " Auger Eric
2019-03-11 17:58 ` [Qemu-devel] " Auger Eric
2019-03-12 14:34 ` [Qemu-arm] " Igor Mammedov
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 07/11] hw/arm/virt-acpi-build: Add PC-DIMM in SRAT Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 14:55 ` [Qemu-arm] " Igor Mammedov
2019-03-11 14:55 ` [Qemu-devel] " Igor Mammedov
2019-03-12 9:57 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-12 12:50 ` Igor Mammedov
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 08/11] hw/arm/boot: Expose the PC-DIMM nodes in the DT Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 14:58 ` Igor Mammedov [this message]
2019-03-11 14:58 ` Igor Mammedov
2019-03-12 15:13 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-12 15:38 ` [Qemu-arm] [Qemu-devel] " Auger Eric
2019-03-12 16:39 ` Shameerali Kolothum Thodi
2019-03-12 16:47 ` Auger Eric
2019-03-12 16:56 ` Shameerali Kolothum Thodi
2019-03-13 11:12 ` Auger Eric
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 09/11] hw/acpi: Add ACPI Generic Event Device Support Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 20:23 ` Auger Eric
2019-03-14 11:33 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-18 12:26 ` [Qemu-devel] " Igor Mammedov
2019-03-18 15:04 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-18 17:00 ` Igor Mammedov
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 10/11] hw/arm/virt: Add GED device configuration and build aml Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-11 21:11 ` [Qemu-arm] " Auger Eric
2019-03-11 21:11 ` [Qemu-devel] " Auger Eric
2019-03-08 11:42 ` [Qemu-arm] [PATCH v2 11/11] hw/arm/virt: Add GED irq routing and Enable memory hotplug Shameer Kolothum
2019-03-08 11:42 ` [Qemu-devel] " Shameer Kolothum
2019-03-08 15:54 ` [Qemu-devel] [PATCH v2 00/11] ARM virt: ACPI memory hotplug support Auger Eric
2019-03-08 16:00 ` [Qemu-arm] " Shameerali Kolothum Thodi
2019-03-08 16:00 ` [Qemu-devel] " Shameerali Kolothum Thodi
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=20190311155857.78c6703d@redhat.com \
--to=imammedo@redhat.com \
--cc=eric.auger@redhat.com \
--cc=linuxarm@huawei.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=sameo@linux.intel.com \
--cc=sebastien.boeuf@intel.com \
--cc=shameerali.kolothum.thodi@huawei.com \
--cc=shannon.zhaosl@gmail.com \
--cc=xuwei5@hisilicon.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.