const uint64_t *legacy_align, Error **errp)
{
Error *local_err = NULL;
- uint64_t addr;
int slot;
slot = object_property_get_int(OBJECT(dimm), PC_DIMM_SLOT_PROP,
memory_device_pre_plug(MEMORY_DEVICE(dimm), machine, legacy_align,
&local_err);
- if (local_err) {
- goto out;
- }
-
- addr = object_property_get_uint(OBJECT(dimm), PC_DIMM_ADDR_PROP,
- &error_abort);
- trace_mhp_pc_dimm_assigned_address(addr);
out:
error_propagate(errp, local_err);
}
void pc_dimm_plug(PCDIMMDevice *dimm, MachineState *machine, Error **errp)
{
PCDIMMDeviceClass *ddc = PC_DIMM_GET_CLASS(dimm);
- MemoryDeviceClass *mdc = MEMORY_DEVICE_GET_CLASS(dimm);
MemoryRegion *vmstate_mr = ddc->get_vmstate_memory_region(dimm,
&error_abort);
- MemoryRegion *mr = mdc->get_memory_region(MEMORY_DEVICE(dimm),
- &error_abort);
- uint64_t addr;
-
- addr = object_property_get_uint(OBJECT(dimm), PC_DIMM_ADDR_PROP,
- &error_abort);
- memory_device_plug_region(machine, mr, addr);
+ memory_device_plug(MEMORY_DEVICE(dimm), machine);
vmstate_register_ram(vmstate_mr, DEVICE(dimm));
}
void pc_dimm_unplug(PCDIMMDevice *dimm, MachineState *machine)
{
PCDIMMDeviceClass *ddc = PC_DIMM_GET_CLASS(dimm);
- MemoryDeviceClass *mdc = MEMORY_DEVICE_GET_CLASS(dimm);
MemoryRegion *vmstate_mr = ddc->get_vmstate_memory_region(dimm,
&error_abort);
- MemoryRegion *mr = mdc->get_memory_region(MEMORY_DEVICE(dimm),
- &error_abort);
- memory_device_unplug_region(machine, mr);
+ memory_device_unplug(MEMORY_DEVICE(dimm), machine);
vmstate_unregister_ram(vmstate_mr, DEVICE(dimm));
}