We'll be factoring out some pc-dimm specific and some memory-device checks next.
Signed-off-by: David Hildenbrand <da...@redhat.com> --- hw/i386/pc.c | 2 ++ hw/mem/pc-dimm.c | 5 +++++ hw/ppc/spapr.c | 1 + include/hw/mem/pc-dimm.h | 2 ++ 4 files changed, 10 insertions(+) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 017396fe84..dc8e7b033b 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1695,6 +1695,8 @@ static void pc_dimm_pre_plug(HotplugHandler *hotplug_dev, DeviceState *dev, error_setg(errp, "nvdimm is not enabled: missing 'nvdimm' in '-M'"); return; } + + pc_dimm_memory_pre_plug(dev, MACHINE(hotplug_dev), errp); } static void pc_dimm_plug(HotplugHandler *hotplug_dev, diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c index bc79dd04d8..995ce22d8d 100644 --- a/hw/mem/pc-dimm.c +++ b/hw/mem/pc-dimm.c @@ -27,6 +27,11 @@ #include "sysemu/numa.h" #include "trace.h" +void pc_dimm_memory_pre_plug(DeviceState *dev, MachineState *machine, + Error **errp) +{ +} + void pc_dimm_memory_plug(DeviceState *dev, MachineState *machine, uint64_t align, Error **errp) { diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 214286fd2f..54eddc0069 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -3202,6 +3202,7 @@ static void spapr_memory_pre_plug(HotplugHandler *hotplug_dev, DeviceState *dev, goto out; } + pc_dimm_memory_pre_plug(dev, MACHINE(hotplug_dev), errp); out: g_free(mem_dev); } diff --git a/include/hw/mem/pc-dimm.h b/include/hw/mem/pc-dimm.h index f0e6867803..7d46a0a0cb 100644 --- a/include/hw/mem/pc-dimm.h +++ b/include/hw/mem/pc-dimm.h @@ -80,6 +80,8 @@ typedef struct PCDIMMDeviceClass { int pc_dimm_get_free_slot(const int *hint, int max_slots, Error **errp); +void pc_dimm_memory_pre_plug(DeviceState *dev, MachineState *machine, + Error **errp); void pc_dimm_memory_plug(DeviceState *dev, MachineState *machine, uint64_t align, Error **errp); void pc_dimm_memory_unplug(DeviceState *dev, MachineState *machine); -- 2.17.1