goto out;
}
- pc_dimm_memory_plug(dev, MACHINE(pcms)->device_memory, align, &local_err);
+ pc_dimm_memory_plug(dev, MACHINE(pcms), align, &local_err);
if (local_err) {
goto out;
}
goto out;
}
- pc_dimm_memory_unplug(dev, MACHINE(pcms)->device_memory);
+ pc_dimm_memory_unplug(dev, MACHINE(pcms));
object_unparent(OBJECT(dev));
out:
Error **errp;
} pc_dimms_capacity;
-void pc_dimm_memory_plug(DeviceState *dev, MemoryHotplugState *hpms,
+void pc_dimm_memory_plug(DeviceState *dev, MachineState *machine,
uint64_t align, Error **errp)
{
int slot;
- MachineState *machine = MACHINE(qdev_get_machine());
+ MemoryHotplugState *hpms = machine->device_memory;
PCDIMMDevice *dimm = PC_DIMM(dev);
PCDIMMDeviceClass *ddc = PC_DIMM_GET_CLASS(dimm);
MemoryRegion *vmstate_mr = ddc->get_vmstate_memory_region(dimm);
error_propagate(errp, local_err);
}
-void pc_dimm_memory_unplug(DeviceState *dev, MemoryHotplugState *hpms)
+void pc_dimm_memory_unplug(DeviceState *dev, MachineState *machine)
{
PCDIMMDevice *dimm = PC_DIMM(dev);
PCDIMMDeviceClass *ddc = PC_DIMM_GET_CLASS(dimm);
MemoryRegion *vmstate_mr = ddc->get_vmstate_memory_region(dimm);
MemoryRegion *mr = ddc->get_memory_region(dimm, &error_abort);
- memory_region_del_subregion(&hpms->mr, mr);
+ memory_region_del_subregion(&machine->device_memory->mr, mr);
vmstate_unregister_ram(vmstate_mr, dev);
}
align = memory_region_get_alignment(mr);
size = memory_region_size(mr);
- pc_dimm_memory_plug(dev, MACHINE(ms)->device_memory, align, &local_err);
+ pc_dimm_memory_plug(dev, MACHINE(ms), align, &local_err);
if (local_err) {
goto out;
}
return;
out_unplug:
- pc_dimm_memory_unplug(dev, MACHINE(ms)->device_memory);
+ pc_dimm_memory_unplug(dev, MACHINE(ms));
out:
error_propagate(errp, local_err);
}
* Now that all the LMBs have been removed by the guest, call the
* pc-dimm unplug handler to cleanup up the pc-dimm device.
*/
- pc_dimm_memory_unplug(dev, MACHINE(spapr)->device_memory);
+ pc_dimm_memory_unplug(dev, MACHINE(spapr));
object_unparent(OBJECT(dev));
spapr_pending_dimm_unplugs_remove(spapr, ds);
}
int pc_dimm_get_free_slot(const int *hint, int max_slots, Error **errp);
uint64_t pc_existing_dimms_capacity(Error **errp);
-void pc_dimm_memory_plug(DeviceState *dev, MemoryHotplugState *hpms,
+void pc_dimm_memory_plug(DeviceState *dev, MachineState *machine,
uint64_t align, Error **errp);
-void pc_dimm_memory_unplug(DeviceState *dev, MemoryHotplugState *hpms);
+void pc_dimm_memory_unplug(DeviceState *dev, MachineState *machine);
#endif