mirror of https://github.com/xqemu/xqemu.git
Monitor: Convert pci_device_hot_remove() to cmd_new_ret()
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
395560c8d1
commit
053801bc49
|
@ -296,26 +296,26 @@ int pci_device_hot_add(Monitor *mon, const QDict *qdict, QObject **ret_data)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void pci_device_hot_remove(Monitor *mon, const char *pci_addr)
|
int pci_device_hot_remove(Monitor *mon, const char *pci_addr)
|
||||||
{
|
{
|
||||||
PCIDevice *d;
|
PCIDevice *d;
|
||||||
int dom, bus;
|
int dom, bus;
|
||||||
unsigned slot;
|
unsigned slot;
|
||||||
|
|
||||||
if (pci_read_devaddr(mon, pci_addr, &dom, &bus, &slot)) {
|
if (pci_read_devaddr(mon, pci_addr, &dom, &bus, &slot)) {
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
d = pci_find_device(pci_find_root_bus(0), bus, slot, 0);
|
d = pci_find_device(pci_find_root_bus(0), bus, slot, 0);
|
||||||
if (!d) {
|
if (!d) {
|
||||||
monitor_printf(mon, "slot %d empty\n", slot);
|
monitor_printf(mon, "slot %d empty\n", slot);
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
qdev_unplug(&d->qdev);
|
return qdev_unplug(&d->qdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
void do_pci_device_hot_remove(Monitor *mon, const QDict *qdict,
|
int do_pci_device_hot_remove(Monitor *mon, const QDict *qdict,
|
||||||
QObject **ret_data)
|
QObject **ret_data)
|
||||||
{
|
{
|
||||||
pci_device_hot_remove(mon, qdict_get_str(qdict, "pci_addr"));
|
return pci_device_hot_remove(mon, qdict_get_str(qdict, "pci_addr"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -874,7 +874,7 @@ ETEXI
|
||||||
.params = "[[<domain>:]<bus>:]<slot>",
|
.params = "[[<domain>:]<bus>:]<slot>",
|
||||||
.help = "hot remove PCI device",
|
.help = "hot remove PCI device",
|
||||||
.user_print = monitor_user_noop,
|
.user_print = monitor_user_noop,
|
||||||
.mhandler.cmd_new = do_pci_device_hot_remove,
|
.cmd_new_ret = do_pci_device_hot_remove,
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
4
sysemu.h
4
sysemu.h
|
@ -215,8 +215,8 @@ DriveInfo *add_init_drive(const char *opts);
|
||||||
void pci_device_hot_add_print(Monitor *mon, const QObject *data);
|
void pci_device_hot_add_print(Monitor *mon, const QObject *data);
|
||||||
int pci_device_hot_add(Monitor *mon, const QDict *qdict, QObject **ret_data);
|
int pci_device_hot_add(Monitor *mon, const QDict *qdict, QObject **ret_data);
|
||||||
void drive_hot_add(Monitor *mon, const QDict *qdict);
|
void drive_hot_add(Monitor *mon, const QDict *qdict);
|
||||||
void pci_device_hot_remove(Monitor *mon, const char *pci_addr);
|
int pci_device_hot_remove(Monitor *mon, const char *pci_addr);
|
||||||
void do_pci_device_hot_remove(Monitor *mon, const QDict *qdict,
|
int do_pci_device_hot_remove(Monitor *mon, const QDict *qdict,
|
||||||
QObject **ret_data);
|
QObject **ret_data);
|
||||||
|
|
||||||
/* serial ports */
|
/* serial ports */
|
||||||
|
|
Loading…
Reference in New Issue