qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 30/31] pc: ACPI BIOS: reserve SRAT entry for


From: Igor Mammedov
Subject: Re: [Qemu-devel] [PATCH v2 30/31] pc: ACPI BIOS: reserve SRAT entry for hotplug mem hole
Date: Wed, 21 May 2014 09:56:13 +0200

On Tue, 20 May 2014 18:38:15 +0300
"Michael S. Tsirkin" <address@hidden> wrote:

> On Tue, May 20, 2014 at 05:15:33PM +0200, Igor Mammedov wrote:
> > Needed for Windows to use hotplugged memory device, otherwise
> > it complains that server is not configured for memory hotplug.
> > Tests shows that aftewards it uses dynamically provided
> > proximity value from _PXM() method if available.
> > 
> > Signed-off-by: Igor Mammedov <address@hidden>
> > ---
> >  hw/i386/acpi-build.c |   14 ++++++++++++++
> >  1 files changed, 14 insertions(+), 0 deletions(-)
> > 
> > diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> > index 58e7306..97e3a82 100644
> > --- a/hw/i386/acpi-build.c
> > +++ b/hw/i386/acpi-build.c
> > @@ -1199,6 +1199,8 @@ build_srat(GArray *table_data, GArray *linker,
> >      uint64_t curnode;
> >      int srat_start, numa_start, slots;
> >      uint64_t mem_len, mem_base, next_base;
> > +    PCMachineState *pcms = PC_MACHINE(qdev_get_machine());
> > +    ram_addr_t hotplug_as_size = memory_region_size(&pcms->hotplug_memory);
> >  
> >      srat_start = table_data->len;
> >  
> > @@ -1263,6 +1265,18 @@ build_srat(GArray *table_data, GArray *linker,
> >          acpi_build_srat_memory(numamem, 0, 0, 0, MEM_AFFINITY_NOFLAGS);
> >      }
> >  
> > +    /*
> > +     * Fake entry required by Windows to enable memory hotplug in OS.
> > +     * Individual DIMM devices override proximity set here via _PXM method,
> > +     * which returns associated with it NUMA node id.
> 
> Failed to parse this last sentence. what returns what associated with
> what? Maybe split to 3-4 short sentences.
How about:
"
Entry is required for Windows to enable memory hotplug in OS.
Memory devices may override proximity set by this entry,
providing _PXM method if necessary.
"

> 
> > +     */
> > +    if (hotplug_as_size) {
> > +        numamem = acpi_data_push(table_data, sizeof *numamem);
> > +        acpi_build_srat_memory(numamem, pcms->hotplug_memory_base,
> > +                               hotplug_as_size, 0, 
> > MEM_AFFINITY_HOTPLUGGABLE |
> > +                               MEM_AFFINITY_ENABLED);
> > +    }
> > +
> >      build_header(linker, table_data,
> >                   (void *)(table_data->data + srat_start),
> >                   "SRAT",
> > -- 
> > 1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]