qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH 3/4] hw/arm/virt: Enable pc-dimm hotplug sup


From: Igor Mammedov
Subject: Re: [Qemu-devel] [RFC PATCH 3/4] hw/arm/virt: Enable pc-dimm hotplug support
Date: Fri, 1 Mar 2019 11:33:52 +0100

On Fri, 1 Mar 2019 11:26:35 +0100
Igor Mammedov <address@hidden> wrote:

> On Fri, 1 Mar 2019 09:23:11 +0000
> Shameerali Kolothum Thodi <address@hidden> wrote:
> 
> > > -----Original Message-----
> > > From: Igor Mammedov [mailto:address@hidden
> > > Sent: 01 March 2019 09:12
> > > To: Shameerali Kolothum Thodi <address@hidden>
> > > Cc: address@hidden; address@hidden;
> > > address@hidden; address@hidden; address@hidden;
> > > Linuxarm <address@hidden>; xuwei (O) <address@hidden>
> > > Subject: Re: [Qemu-devel] [RFC PATCH 3/4] hw/arm/virt: Enable pc-dimm
> > > hotplug support
> > > 
> > > On Mon, 28 Jan 2019 11:05:45 +0000
> > > Shameer Kolothum <address@hidden> wrote:
> > >     
> > > > pc-dimm memory hotplug is enabled using GPIO(Pin 2) based ACPI
> > > > event. Hot removal functionality is not yet supported.
> > > >
> > > > Signed-off-by: Shameer Kolothum <address@hidden>
> > > > ---
> > > >  hw/arm/virt.c | 57    
> > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++--    
> > > >  1 file changed, 55 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> > > > index 884960d..cf64554 100644
> > > > --- a/hw/arm/virt.c
> > > > +++ b/hw/arm/virt.c
> > > > @@ -62,6 +62,7 @@
> > > >  #include "hw/mem/pc-dimm.h"
> > > >  #include "hw/mem/nvdimm.h"
> > > >  #include "hw/acpi/acpi.h"
> > > > +#include "hw/acpi/pc-hotplug.h"    
> > > it looks like x86 specific file, what is this here for?    
> > 
> > Yes. That is for ACPI_MEMORY_HOTPLUG_BASE which is only used by x86
> > at the moment. I guess, it can be moved to hw/acpi/memory_hotplug.h ?  
> it's GPA and pc/q35 impl. specific so you should use it,
s/should/should not/

> this address will always be board specific one.
> Makeup a virt specific one
> 
> >   
> > > >
> > > >  #define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \
> > > >      static void virt_##major##_##minor##_class_init(ObjectClass *oc, \
> > > > @@ -1651,7 +1652,14 @@ static void machvirt_init(MachineState    
> > > *machine)    
> > > >          nvdimm_init_acpi_state(acpi_nvdimm_state, sysmem,
> > > >                                 vms->fw_cfg, OBJECT(vms));
> > > >      }
> > > > +    if (vms->acpi_memhp_state.is_enabled) {
> > > > +        MemHotplugState *state =  &vms->acpi_memhp_state;
> > > > +        hwaddr base;
> > > >
> > > > +        state->hw_reduced_acpi = true;
> > > > +        base = vms->memmap[VIRT_ACPI_IO].base +    
> > > ACPI_MEMORY_HOTPLUG_BASE;    
> well, this is confusing, why adding 2 base addresses?
> If vms->memmap[VIRT_ACPI_IO].base is already set than why not use it
> as is without adding an offset?
> 
> 
> > > > +        acpi_memory_hotplug_init(sysmem, OBJECT(vms), state, base);
> > > > +    }
> > > >      vms->bootinfo.ram_size = machine->ram_size;
> > > >      vms->bootinfo.kernel_filename = machine->kernel_filename;
> > > >      vms->bootinfo.kernel_cmdline = machine->kernel_cmdline;    
> > > [...]    
> 
> 




reply via email to

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