mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-19 14:08:39 -07:00
Currently we do device realization like below: hotplug_handler_pre_plug() dc->realize() hotplug_handler_plug() Before we do device realization and plug, we should allocate necessary resources and check if memory-hotplug-support property is enabled. At the piix4 and ich9, the memory-hotplug-support property is checked at plug stage. This means that device has been realized and mapped into guest address space 'pc_dimm_plug()' by the time acpi plug handler is called, where it might fail and crash QEMU due to reaching g_assert_not_reached() (piix4) or error_abort (ich9). Fix it by checking if memory hotplug is enabled at pre_plug stage where we can gracefully abort hotplug request. Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> CC: Igor Mammedov <imammedo@redhat.com> CC: Eric Blake <eblake@redhat.com> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> Message-Id: <20190301033548.6691-1-richardw.yang@linux.intel.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> |
||
|---|---|---|
| .. | ||
| acpi-stub.c | ||
| acpi_interface.c | ||
| aml-build.c | ||
| bios-linker-loader.c | ||
| core.c | ||
| cpu.c | ||
| cpu_hotplug.c | ||
| ich9.c | ||
| ipmi-stub.c | ||
| ipmi.c | ||
| Kconfig | ||
| Makefile.objs | ||
| memory_hotplug.c | ||
| nvdimm.c | ||
| pcihp.c | ||
| piix4.c | ||
| tco.c | ||
| tpm.c | ||
| trace-events | ||
| vmgenid.c | ||