[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 15/22] hw/acpi-build: only indicate nvdimm an
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH v3 15/22] hw/acpi-build: only indicate nvdimm and pc-dimm |
Date: |
Mon, 24 Sep 2018 16:22:15 +0200 |
On Thu, 20 Sep 2018 12:32:36 +0200
David Hildenbrand <address@hidden> wrote:
> Once we have other memory devices that are not ACPI devices (e.g.
> virtio based), we cannot indicate them via ACPI. So let's skip these
> devices.
>
> Signed-off-by: David Hildenbrand <address@hidden>
dimm specific entries in SRAT will be removed so this patch is not needed
(http://patchwork.ozlabs.org/patch/967512/)
> ---
> hw/i386/acpi-build.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index e1ee8ae9e0..2278522b87 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -2266,7 +2266,6 @@ static void build_srat_hotpluggable_memory(GArray
> *table_data, uint64_t base,
> for (cur = base, info = info_list;
> cur < end;
> cur += size, info = info->next) {
> - numamem = acpi_data_push(table_data, sizeof *numamem);
>
> if (!info) {
> /*
> @@ -2278,19 +2277,30 @@ static void build_srat_hotpluggable_memory(GArray
> *table_data, uint64_t base,
> * Memory devices may override proximity set by this entry,
> * providing _PXM method if necessary.
> */
> + numamem = acpi_data_push(table_data, sizeof *numamem);
> build_srat_memory(numamem, end - 1, 1, default_node,
> MEM_AFFINITY_HOTPLUGGABLE |
> MEM_AFFINITY_ENABLED);
> break;
> }
>
> mi = info->value;
> + if (mi->type != MEMORY_DEVICE_INFO_KIND_DIMM &&
> + mi->type != MEMORY_DEVICE_INFO_KIND_NVDIMM) {
> + /*
> + * Don't indicate memory devices that are not proper ACPI
> devices,
> + * merge them with the empty ranges.
> + */
> + size = 0;
> + continue;
> + }
> +
> is_nvdimm = (mi->type == MEMORY_DEVICE_INFO_KIND_NVDIMM);
> di = !is_nvdimm ? mi->u.dimm.data : mi->u.nvdimm.data;
>
> if (cur < di->addr) {
> + numamem = acpi_data_push(table_data, sizeof *numamem);
> build_srat_memory(numamem, cur, di->addr - cur, default_node,
> MEM_AFFINITY_HOTPLUGGABLE |
> MEM_AFFINITY_ENABLED);
> - numamem = acpi_data_push(table_data, sizeof *numamem);
> }
>
> size = di->size;
> @@ -2303,6 +2313,7 @@ static void build_srat_hotpluggable_memory(GArray
> *table_data, uint64_t base,
> flags |= MEM_AFFINITY_NON_VOLATILE;
> }
>
> + numamem = acpi_data_push(table_data, sizeof *numamem);
> build_srat_memory(numamem, di->addr, size, di->node, flags);
> }
>
- Re: [Qemu-devel] [PATCH v3 12/22] memory-device: complete factoring out plug handling, (continued)
- [Qemu-devel] [PATCH v3 13/22] memory-device: complete factoring out unplug handling, David Hildenbrand, 2018/09/20
- [Qemu-devel] [PATCH v3 14/22] memory-device: trace when pre_assigning/assigning/unassigning addresses, David Hildenbrand, 2018/09/20
- [Qemu-devel] [PATCH v3 15/22] hw/acpi-build: only indicate nvdimm and pc-dimm, David Hildenbrand, 2018/09/20
- Re: [Qemu-devel] [PATCH v3 15/22] hw/acpi-build: only indicate nvdimm and pc-dimm,
Igor Mammedov <=
- [Qemu-devel] [PATCH v3 16/22] memory-device: add optional function get_device_id(), David Hildenbrand, 2018/09/20
- [Qemu-devel] [PATCH v3 17/22] virtio-pmem: prototype, David Hildenbrand, 2018/09/20