acpi, piix4: Add unplug cb for piix4.
Memory and CPU hot unplug are both asynchronous procedures. When the unplug operation happens, unplug request cb is called first. And when guest OS finished handling unplug, unplug cb will be called to do the real removal of device. This patch adds hotunplug cb to piix4, which memory and CPU hot unplug will use it. Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com> Signed-off-by: Zhu Guihua <zhugh.fnst@cn.fujitsu.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
		
				
					committed by
					
						 Michael S. Tsirkin
						Michael S. Tsirkin
					
				
			
			
				
	
			
			
			
						parent
						
							91a734a6fa
						
					
				
				
					commit
					c0e57a6022
				
			| @@ -370,6 +370,13 @@ static void piix4_device_unplug_request_cb(HotplugHandler *hotplug_dev, | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void piix4_device_unplug_cb(HotplugHandler *hotplug_dev, | ||||
|                                    DeviceState *dev, Error **errp) | ||||
| { | ||||
|     error_setg(errp, "acpi: device unplug for not supported device" | ||||
|                " type: %s", object_get_typename(OBJECT(dev))); | ||||
| } | ||||
|  | ||||
| static void piix4_update_bus_hotplug(PCIBus *pci_bus, void *opaque) | ||||
| { | ||||
|     PIIX4PMState *s = opaque; | ||||
| @@ -609,6 +616,7 @@ static void piix4_pm_class_init(ObjectClass *klass, void *data) | ||||
|     dc->hotpluggable = false; | ||||
|     hc->plug = piix4_device_plug_cb; | ||||
|     hc->unplug_request = piix4_device_unplug_request_cb; | ||||
|     hc->unplug = piix4_device_unplug_cb; | ||||
|     adevc->ospm_status = piix4_ospm_status; | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user