[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACP
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACPI device |
Date: |
Fri, 11 Apr 2014 11:14:00 +0200 |
On Mon, 7 Apr 2014 18:14:51 +0300
"Michael S. Tsirkin" <address@hidden> wrote:
> On Mon, Apr 07, 2014 at 04:32:16PM +0200, Igor Mammedov wrote:
> > On Mon, 7 Apr 2014 13:23:54 +0300
> > "Michael S. Tsirkin" <address@hidden> wrote:
> >
> > > On Fri, Apr 04, 2014 at 03:36:53PM +0200, Igor Mammedov wrote:
> > > > Notify PIIX4_PM/ICH9LPC device about hotplug event,
> > > > so that it would send SCI to guest notifying about
> > > > newly added memory.
> > > >
> > > > Signed-off-by: Igor Mammedov <address@hidden>
> > > > ---
> > > > hw/i386/pc.c | 13 +++++++++++++
> > > > 1 file changed, 13 insertions(+)
> > > >
> > > > diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> > > > index 734c6ee..ee5cf88 100644
> > > > --- a/hw/i386/pc.c
> > > > +++ b/hw/i386/pc.c
> > > > @@ -60,6 +60,8 @@
> > > > #include "acpi-build.h"
> > > > #include "hw/mem/dimm.h"
> > > > #include "trace.h"
> > > > +#include "hw/acpi/piix4.h"
> > > > +#include "hw/i386/ich9.h"
> > > >
> > > > /* debug PC/ISA interrupts */
> > > > //#define DEBUG_IRQ
> > > > @@ -1484,6 +1486,8 @@ void qemu_register_pc_machine(QEMUMachine *m)
> > > > static void pc_dimm_plug(HotplugHandler *hotplug_dev,
> > > > DeviceState *dev, Error **errp)
> > > > {
> > > > + Object *acpi_dev;
> > > > + HotplugHandlerClass *hhc;
> > > > Error *local_err = NULL;
> > > > PCMachineState *pcms = PC_MACHINE(hotplug_dev);
> > > > DimmDevice *dimm = DIMM(dev);
> > > > @@ -1517,10 +1521,19 @@ static void pc_dimm_plug(HotplugHandler
> > > > *hotplug_dev,
> > > > }
> > > > trace_mhp_pc_dimm_assigned_slot(dimm->slot);
> > > >
> > > > + acpi_dev = (acpi_dev = piix4_pm_find()) ? acpi_dev :
> > > > ich9_lpc_find();
> > > > + if (!acpi_dev) {
> > > > + error_setg(&local_err,
> > > > + "memory hotplug is not enabled: missing acpi
> > > > device");
> > > > + return;
> > > > + }
> > > > +
> > > > + hhc = HOTPLUG_HANDLER_GET_CLASS(acpi_dev);
> > >
> > > How about simply looking for a hotplug handler type device instead?
> > > We aren't likely to have many of these, are we?
> >
> > How about adding link<acpi_device> to PCMachine when it's created
> > and use it instead of piix4_pm_find()/ich9_lpc_find() everywhere?
> > that would allow to remove above searches in QOM tree and simplify
> > code including acpi-build.c
>
> So each acpi implementation registers a link at a pre-defined path?
> I'm fine with this, need an ack from afaerber though.
It could be a just plain pointer since it points to system device which
won't disappear suddenly (i.e. it's not hot-unplugable).
>
> > > > memory_region_add_subregion(&pcms->hotplug_memory,
> > > > addr - pcms->hotplug_memory_base,
> > > > mr);
> > > > vmstate_register_ram(mr, dev);
> > > > + hhc->plug(HOTPLUG_HANDLER(acpi_dev), dev, &local_err);
> > > >
> > > > out:
> > > > error_propagate(errp, local_err);
> > > > --
> > > > 1.9.0
>
--
Regards,
Igor
- Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACPI device, (continued)
Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACPI device, Michael S. Tsirkin, 2014/04/07
- Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACPI device, Igor Mammedov, 2014/04/07
- Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACPI device, Igor Mammedov, 2014/04/07
- Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACPI device, Michael S. Tsirkin, 2014/04/07
- Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACPI device,
Igor Mammedov <=
- Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACPI device, Paolo Bonzini, 2014/04/14
- Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACPI device, Igor Mammedov, 2014/04/14
Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACPI device, Michael S. Tsirkin, 2014/04/16
Re: [Qemu-devel] [PATCH 28/35] pc: propagate memory hotplug event to ACPI device, Igor Mammedov, 2014/04/16
[Qemu-devel] [PATCH 35/35] pc: ACPI BIOS: update pregenerated ACPI table blobs, Igor Mammedov, 2014/04/04
[Qemu-devel] [PATCH 24/35] acpi:piix4: add memory hotplug handling, Igor Mammedov, 2014/04/04
[Qemu-devel] [PATCH 21/35] trace: add acpi memory hotplug IO region events, Igor Mammedov, 2014/04/04
Re: [Qemu-devel] [PATCH 00/35] pc: ACPI memory hotplug, Dr. David Alan Gilbert, 2014/04/04