[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PULL 27/33] spapr: move memory hotplug support check into sp
From: |
David Gibson |
Subject: |
[Qemu-ppc] [PULL 27/33] spapr: move memory hotplug support check into spapr_memory_pre_plug() |
Date: |
Tue, 12 Jun 2018 16:44:57 +1000 |
From: David Hildenbrand <address@hidden>
Let's finish cleaning up the hotplug handler. This check can be
performed in the pre_plug code as the very first thing.
Signed-off-by: David Hildenbrand <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Signed-off-by: David Gibson <address@hidden>
---
hw/ppc/spapr.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 1f577b274b..9b8b4068b1 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -3184,12 +3184,18 @@ out:
static void spapr_memory_pre_plug(HotplugHandler *hotplug_dev, DeviceState
*dev,
Error **errp)
{
+ const sPAPRMachineClass *smc = SPAPR_MACHINE_GET_CLASS(hotplug_dev);
PCDIMMDevice *dimm = PC_DIMM(dev);
PCDIMMDeviceClass *ddc = PC_DIMM_GET_CLASS(dimm);
MemoryRegion *mr;
uint64_t size;
char *mem_dev;
+ if (!smc->dr_lmb_enabled) {
+ error_setg(errp, "Memory hotplug not supported for this machine");
+ return;
+ }
+
mr = ddc->get_memory_region(dimm, errp);
if (!mr) {
return;
@@ -3571,14 +3577,7 @@ out:
static void spapr_machine_device_plug(HotplugHandler *hotplug_dev,
DeviceState *dev, Error **errp)
{
- MachineState *ms = MACHINE(hotplug_dev);
- sPAPRMachineClass *smc = SPAPR_MACHINE_GET_CLASS(ms);
-
if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) {
- if (!smc->dr_lmb_enabled) {
- error_setg(errp, "Memory hotplug not supported for this machine");
- return;
- }
spapr_memory_plug(hotplug_dev, dev, errp);
} else if (object_dynamic_cast(OBJECT(dev), TYPE_SPAPR_CPU_CORE)) {
spapr_core_plug(hotplug_dev, dev, errp);
--
2.17.1
- [Qemu-ppc] [PULL 31/33] ppc/pnv: fix LPC HC firmware address space, (continued)
- [Qemu-ppc] [PULL 31/33] ppc/pnv: fix LPC HC firmware address space, David Gibson, 2018/06/12
- [Qemu-ppc] [PULL 21/33] mos6522: convert VMSTATE_TIMER_PTR_TEST to VMSTATE_TIMER_PTR, David Gibson, 2018/06/12
- [Qemu-ppc] [PULL 26/33] spapr: move lookup of the node into spapr_memory_plug(), David Gibson, 2018/06/12
- [Qemu-ppc] [PULL 33/33] spapr_pci: Remove unhelpful pagesize warning, David Gibson, 2018/06/12
- [Qemu-ppc] [PULL 24/33] target/ppc: Allow PIR read in privileged mode, David Gibson, 2018/06/12
- [Qemu-ppc] [PULL 25/33] spapr: no need to verify the node, David Gibson, 2018/06/12
- [Qemu-ppc] [PULL 23/33] ppc4xx_i2c: Clean up and improve error logging, David Gibson, 2018/06/12
- [Qemu-ppc] [PULL 32/33] xics_kvm: use KVM helpers, David Gibson, 2018/06/12
- [Qemu-ppc] [PULL 27/33] spapr: move memory hotplug support check into spapr_memory_pre_plug(),
David Gibson <=
- [Qemu-ppc] [PULL 28/33] spapr: introduce machine unplug handler, David Gibson, 2018/06/12
- Re: [Qemu-ppc] [PULL 00/33] ppc-for-3.0 queue 20180612, Peter Maydell, 2018/06/12