[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/21] Monitor: Convert pci_device_hot_add() to cmd_
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] [PATCH 09/21] Monitor: Convert pci_device_hot_add() to cmd_new_ret() |
Date: |
Wed, 10 Feb 2010 23:49:55 -0200 |
Signed-off-by: Luiz Capitulino <address@hidden>
---
hw/pci-hotplug.c | 16 +++++++++++-----
qemu-monitor.hx | 2 +-
sysemu.h | 2 +-
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/hw/pci-hotplug.c b/hw/pci-hotplug.c
index 0fb96f0..6cc70d5 100644
--- a/hw/pci-hotplug.c
+++ b/hw/pci-hotplug.c
@@ -254,7 +254,7 @@ void pci_device_hot_add_print(Monitor *mon, const QObject
*data)
*
* { "domain": 0, "bus": 0, "slot": 5, "function": 0 }
*/
-void 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)
{
PCIDevice *dev = NULL;
const char *pci_addr = qdict_get_str(qdict, "pci_addr");
@@ -273,20 +273,26 @@ void pci_device_hot_add(Monitor *mon, const QDict *qdict,
QObject **ret_data)
if (!strcmp(pci_addr, "auto"))
pci_addr = NULL;
- if (strcmp(type, "nic") == 0)
+ if (strcmp(type, "nic") == 0) {
dev = qemu_pci_hot_add_nic(mon, pci_addr, opts);
- else if (strcmp(type, "storage") == 0)
+ } else if (strcmp(type, "storage") == 0) {
dev = qemu_pci_hot_add_storage(mon, pci_addr, opts);
- else
+ } else {
monitor_printf(mon, "invalid type: %s\n", type);
+ return -1;
+ }
if (dev) {
*ret_data =
qobject_from_jsonf("{ 'domain': 0, 'bus': %d, 'slot': %d, "
"'function': %d }", pci_bus_num(dev->bus),
PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn));
- } else
+ } else {
monitor_printf(mon, "failed to add %s\n", opts);
+ return -1;
+ }
+
+ return 0;
}
#endif
diff --git a/qemu-monitor.hx b/qemu-monitor.hx
index 6e84f76..2831055 100644
--- a/qemu-monitor.hx
+++ b/qemu-monitor.hx
@@ -857,7 +857,7 @@ ETEXI
.params = "auto|[[<domain>:]<bus>:]<slot> nic|storage
[[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...",
.help = "hot-add PCI device",
.user_print = pci_device_hot_add_print,
- .mhandler.cmd_new = pci_device_hot_add,
+ .cmd_new_ret = pci_device_hot_add,
},
#endif
diff --git a/sysemu.h b/sysemu.h
index 9c3b281..d41a338 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -213,7 +213,7 @@ DriveInfo *add_init_drive(const char *opts);
/* pci-hotplug */
void pci_device_hot_add_print(Monitor *mon, const QObject *data);
-void 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 pci_device_hot_remove(Monitor *mon, const char *pci_addr);
void do_pci_device_hot_remove(Monitor *mon, const QDict *qdict,
--
1.6.6
- [Qemu-devel] [PATCH v0 00/21]: Monitor: improve handlers error handling, Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 01/21] Monitor: Introduce cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 03/21] Monitor: Convert do_cont() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 02/21] Monitor: Convert simple handlers to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 04/21] Monitor: Convert do_eject() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 05/21] Monitor: Convert do_cpu_set() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 06/21] Monitor: Convert do_block_set_passwd() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 07/21] Monitor: Convert do_getfd() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 08/21] Monitor: Convert do_closefd() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 09/21] Monitor: Convert pci_device_hot_add() to cmd_new_ret(),
Luiz Capitulino <=
- [Qemu-devel] [PATCH 10/21] Monitor: Convert pci_device_hot_remove() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 11/21] Monitor: Convert do_migrate() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 12/21] Monitor: Convert do_memory_save() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 13/21] Monitor: Convert do_physical_memory_save() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 14/21] Monitor: Convert do_info() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 15/21] Monitor: Convert do_change() to cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 16/21] Monitor: Rename cmd_new_ret(), Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 17/21] Monitor: Debugging support, Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 18/21] Monitor: Drop the print disabling mechanism, Luiz Capitulino, 2010/02/10
- [Qemu-devel] [PATCH 19/21] Monitor: Audit handler return, Luiz Capitulino, 2010/02/10