Message ID | 20220519153402.41540-5-damien.hedde@greensocs.com |
---|---|
State | New |
Headers | show |
Series | QAPI support for device cold-plug | expand |
Tested-by: Jim Shu <jim.shu@sifive.com> On Thu, May 19, 2022 at 11:37 PM Damien Hedde <damien.hedde@greensocs.com> wrote: > Instead of checking the phase everytime, just store the result > in a flag. We will use more of it in the following commit. > > Signed-off-by: Damien Hedde <damien.hedde@greensocs.com> > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > softmmu/qdev-monitor.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c > index 12fe60c467..d68ef883b5 100644 > --- a/softmmu/qdev-monitor.c > +++ b/softmmu/qdev-monitor.c > @@ -619,6 +619,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict > *opts, > char *id; > DeviceState *dev = NULL; > BusState *bus = NULL; > + bool is_hotplug = phase_check(PHASE_MACHINE_READY); > > driver = qdict_get_try_str(opts, "driver"); > if (!driver) { > @@ -662,7 +663,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict > *opts, > return NULL; > } > > - if (phase_check(PHASE_MACHINE_READY) && bus && > !qbus_is_hotpluggable(bus)) { > + if (is_hotplug && bus && !qbus_is_hotpluggable(bus)) { > error_setg(errp, QERR_BUS_NO_HOTPLUG, bus->name); > return NULL; > } > @@ -676,7 +677,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict > *opts, > dev = qdev_new(driver); > > /* Check whether the hotplug is allowed by the machine */ > - if (phase_check(PHASE_MACHINE_READY)) { > + if (is_hotplug) { > if (!qdev_hotplug_allowed(dev, errp)) { > goto err_del_dev; > } > -- > 2.36.1 > > >
diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c index 12fe60c467..d68ef883b5 100644 --- a/softmmu/qdev-monitor.c +++ b/softmmu/qdev-monitor.c @@ -619,6 +619,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts, char *id; DeviceState *dev = NULL; BusState *bus = NULL; + bool is_hotplug = phase_check(PHASE_MACHINE_READY); driver = qdict_get_try_str(opts, "driver"); if (!driver) { @@ -662,7 +663,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts, return NULL; } - if (phase_check(PHASE_MACHINE_READY) && bus && !qbus_is_hotpluggable(bus)) { + if (is_hotplug && bus && !qbus_is_hotpluggable(bus)) { error_setg(errp, QERR_BUS_NO_HOTPLUG, bus->name); return NULL; } @@ -676,7 +677,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts, dev = qdev_new(driver); /* Check whether the hotplug is allowed by the machine */ - if (phase_check(PHASE_MACHINE_READY)) { + if (is_hotplug) { if (!qdev_hotplug_allowed(dev, errp)) { goto err_del_dev; }