Message ID | 1446051411-7363-1-git-send-email-mst@redhat.com |
---|---|
State | New |
Headers | show |
On Wed, 28 Oct 2015 18:57:00 +0200 "Michael S. Tsirkin" <mst@redhat.com> wrote: > This reverts commit aa8580cddf011e8cedcf87f7a0fdea7549fc4704. > > As described in > http://article.gmane.org/gmane.comp.emulators.qemu/371432 > that commit causes linux guests to crash on memory hot-unplug. > > The original problem it's trying to solve has now > been addressed within virtio. > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > include/hw/i386/pc.h | 1 - > hw/i386/pc.c | 6 ++---- > hw/i386/pc_piix.c | 1 - > hw/i386/pc_q35.c | 1 - > 4 files changed, 2 insertions(+), 7 deletions(-) > > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h > index c5961d7..93c6dab 100644 > --- a/include/hw/i386/pc.h > +++ b/include/hw/i386/pc.h > @@ -60,7 +60,6 @@ struct PCMachineClass { > > /*< public >*/ > bool broken_reserved_end; > - bool inter_dimm_gap; > HotplugHandler *(*get_hotplug_handler)(MachineState *machine, > DeviceState *dev); > }; > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index 208f553..b1800fc 100644 > --- a/hw/i386/pc.c > +++ b/hw/i386/pc.c > @@ -1614,7 +1614,6 @@ static void pc_dimm_plug(HotplugHandler > *hotplug_dev, HotplugHandlerClass *hhc; > Error *local_err = NULL; > PCMachineState *pcms = PC_MACHINE(hotplug_dev); > - PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms); > PCDIMMDevice *dimm = PC_DIMM(dev); > PCDIMMDeviceClass *ddc = PC_DIMM_GET_CLASS(dimm); > MemoryRegion *mr = ddc->get_memory_region(dimm); > @@ -1630,8 +1629,8 @@ static void pc_dimm_plug(HotplugHandler > *hotplug_dev, goto out; > } > > - pc_dimm_memory_plug(dev, &pcms->hotplug_memory, mr, align, > - pcmc->inter_dimm_gap, &local_err); > + pc_dimm_memory_plug(dev, &pcms->hotplug_memory, mr, align, false, > + &local_err); > if (local_err) { > goto out; > } > @@ -1951,7 +1950,6 @@ static void pc_machine_class_init(ObjectClass > *oc, void *data) PCMachineClass *pcmc = PC_MACHINE_CLASS(oc); > HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(oc); > > - pcmc->inter_dimm_gap = true; > pcmc->get_hotplug_handler = mc->get_hotplug_handler; > mc->get_hotplug_handler = pc_get_hotpug_handler; > mc->cpu_index_to_socket_id = pc_cpu_index_to_socket_id; > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index 0eacde1..153a445 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -482,7 +482,6 @@ static void > pc_i440fx_2_4_machine_options(MachineClass *m) m->alias = NULL; > m->is_default = 0; > pcmc->broken_reserved_end = true; > - pcmc->inter_dimm_gap = false; > SET_MACHINE_COMPAT(m, PC_COMPAT_2_4); > } > > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c > index 3744abd..2f8f396 100644 > --- a/hw/i386/pc_q35.c > +++ b/hw/i386/pc_q35.c > @@ -385,7 +385,6 @@ static void > pc_q35_2_4_machine_options(MachineClass *m) > pc_q35_2_5_machine_options(m); m->alias = NULL; > pcmc->broken_reserved_end = true; > - pcmc->inter_dimm_gap = false; > SET_MACHINE_COMPAT(m, PC_COMPAT_2_4); > } >
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index c5961d7..93c6dab 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -60,7 +60,6 @@ struct PCMachineClass { /*< public >*/ bool broken_reserved_end; - bool inter_dimm_gap; HotplugHandler *(*get_hotplug_handler)(MachineState *machine, DeviceState *dev); }; diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 208f553..b1800fc 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1614,7 +1614,6 @@ static void pc_dimm_plug(HotplugHandler *hotplug_dev, HotplugHandlerClass *hhc; Error *local_err = NULL; PCMachineState *pcms = PC_MACHINE(hotplug_dev); - PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms); PCDIMMDevice *dimm = PC_DIMM(dev); PCDIMMDeviceClass *ddc = PC_DIMM_GET_CLASS(dimm); MemoryRegion *mr = ddc->get_memory_region(dimm); @@ -1630,8 +1629,8 @@ static void pc_dimm_plug(HotplugHandler *hotplug_dev, goto out; } - pc_dimm_memory_plug(dev, &pcms->hotplug_memory, mr, align, - pcmc->inter_dimm_gap, &local_err); + pc_dimm_memory_plug(dev, &pcms->hotplug_memory, mr, align, false, + &local_err); if (local_err) { goto out; } @@ -1951,7 +1950,6 @@ static void pc_machine_class_init(ObjectClass *oc, void *data) PCMachineClass *pcmc = PC_MACHINE_CLASS(oc); HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(oc); - pcmc->inter_dimm_gap = true; pcmc->get_hotplug_handler = mc->get_hotplug_handler; mc->get_hotplug_handler = pc_get_hotpug_handler; mc->cpu_index_to_socket_id = pc_cpu_index_to_socket_id; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 0eacde1..153a445 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -482,7 +482,6 @@ static void pc_i440fx_2_4_machine_options(MachineClass *m) m->alias = NULL; m->is_default = 0; pcmc->broken_reserved_end = true; - pcmc->inter_dimm_gap = false; SET_MACHINE_COMPAT(m, PC_COMPAT_2_4); } diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 3744abd..2f8f396 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -385,7 +385,6 @@ static void pc_q35_2_4_machine_options(MachineClass *m) pc_q35_2_5_machine_options(m); m->alias = NULL; pcmc->broken_reserved_end = true; - pcmc->inter_dimm_gap = false; SET_MACHINE_COMPAT(m, PC_COMPAT_2_4); }
This reverts commit aa8580cddf011e8cedcf87f7a0fdea7549fc4704. As described in http://article.gmane.org/gmane.comp.emulators.qemu/371432 that commit causes linux guests to crash on memory hot-unplug. The original problem it's trying to solve has now been addressed within virtio. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- include/hw/i386/pc.h | 1 - hw/i386/pc.c | 6 ++---- hw/i386/pc_piix.c | 1 - hw/i386/pc_q35.c | 1 - 4 files changed, 2 insertions(+), 7 deletions(-)