mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-19 22:18:37 -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-defs.h | ||
| acpi.h | ||
| acpi_dev_interface.h | ||
| aml-build.h | ||
| bios-linker-loader.h | ||
| cpu.h | ||
| cpu_hotplug.h | ||
| ich9.h | ||
| ipmi.h | ||
| memory_hotplug.h | ||
| pc-hotplug.h | ||
| pcihp.h | ||
| piix4.h | ||
| tco.h | ||
| tpm.h | ||
| vmgenid.h | ||