> -----Original Message-----
> From: Igor Mammedov [mailto:imamm...@redhat.com]
> Sent: 11 March 2019 14:55
> To: Shameerali Kolothum Thodi <shameerali.kolothum.th...@huawei.com>
> Cc: qemu-devel@nongnu.org; qemu-...@nongnu.org;
> eric.au...@redhat.com; peter.mayd...@linaro.org;
> shannon.zha...@gmail.com; sa...@linux.intel.com;
> sebastien.bo...@intel.com; Linuxarm <linux...@huawei.com>; xuwei (O)
> <xuw...@huawei.com>
> Subject: Re: [PATCH v2 07/11] hw/arm/virt-acpi-build: Add PC-DIMM in SRAT
>
> On Fri, 8 Mar 2019 11:42:14 +0000
> Shameer Kolothum <shameerali.kolothum.th...@huawei.com> wrote:
>
> > Generate Memory Affinity Structures for PC-DIMM ranges.
> >
> > Signed-off-by: Shameer Kolothum <shameerali.kolothum.th...@huawei.com>
> > Signed-off-by: Eric Auger <eric.au...@redhat.com>
> > Reviewed-by: Igor Mammedov <imamm...@redhat.com>
> > ---
> > hw/arm/virt-acpi-build.c | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> > index 87d66da..6cb7263 100644
> > --- a/hw/arm/virt-acpi-build.c
> > +++ b/hw/arm/virt-acpi-build.c
> > @@ -524,6 +524,7 @@ build_srat(GArray *table_data, BIOSLinker *linker,
> VirtMachineState *vms)
> > int i, srat_start;
> > uint64_t mem_base;
> > MachineClass *mc = MACHINE_GET_CLASS(vms);
> > + MachineState *ms = MACHINE(vms);
> > const CPUArchIdList *cpu_list =
> mc->possible_cpu_arch_ids(MACHINE(vms));
> >
> > srat_start = table_data->len;
> > @@ -549,6 +550,14 @@ build_srat(GArray *table_data, BIOSLinker *linker,
> VirtMachineState *vms)
> > }
> > }
> >
> > + if (ms->device_memory) {
> > + numamem = acpi_data_push(table_data, sizeof *numamem);
> > + build_srat_memory(numamem, ms->device_memory->base,
> > +
> memory_region_size(&ms->device_memory->mr),
> > + nb_numa_nodes - 1,
> > + MEM_AFFINITY_HOTPLUGGABLE |
> MEM_AFFINITY_ENABLED);
> > + }
> > +
>
> do we care about 'Windows' guests?
> if yes then we should drop this patch,
> see commit for reasoning dbb6da8ba7e
If I understood that commit, that is reverting to use a single entry for whole
hotplug area instead of splitting into multiple entries. ie, remove
build_srat_hotpluggable_memory() and use build_srat_memory() instead,
which is what this patch does.
May be I am missing something here. Please let me know.
Thanks,
Shameer
> > build_header(linker, table_data, (void *)(table_data->data +
> srat_start),
> > "SRAT", table_data->len - srat_start, 3, NULL, NULL);
> > }