[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 05/29] Add wrappers to functions used by the Monitor
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] [PATCH 05/29] Add wrappers to functions used by the Monitor |
Date: |
Thu, 13 Aug 2009 10:50:04 -0300 |
Some functions exported to be used by the Monitor as command
handlers are also called in other places as regular functions.
When those functions got ported to use the Monitor dictionary
to pass argments, the callers will have to setup a dictionary
to be able to call them.
To avoid this problem, this commit add wrappers to those functions,
so that we change the wrapper to accept the dictionary, letting
the current functions as is.
The following wrappers are being added:
- do_help_cmd()
- do_pci_device_hot_remove()
- qemu_loadvm()
Signed-off-by: Luiz Capitulino <address@hidden>
---
hw/pci-hotplug.c | 5 +++++
monitor.c | 5 +++++
qemu-monitor.hx | 4 ++--
savevm.c | 7 ++++++-
sysemu.h | 2 ++
vl.c | 2 +-
6 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/hw/pci-hotplug.c b/hw/pci-hotplug.c
index 4da916c..678993e 100644
--- a/hw/pci-hotplug.c
+++ b/hw/pci-hotplug.c
@@ -200,6 +200,11 @@ void pci_device_hot_remove(Monitor *mon, const char
*pci_addr)
qemu_system_device_hot_add(bus, slot, 0);
}
+void do_pci_device_hot_remove(Monitor *mon, const char *pci_addr)
+{
+ pci_device_hot_remove(mon, pci_addr);
+}
+
static int pci_match_fn(void *dev_private, void *arg)
{
PCIDevice *dev = dev_private;
diff --git a/monitor.c b/monitor.c
index 362322b..73f6c36 100644
--- a/monitor.c
+++ b/monitor.c
@@ -251,6 +251,11 @@ static void help_cmd(Monitor *mon, const char *name)
}
}
+static void do_help_cmd(Monitor *mon, const char *name)
+{
+ help_cmd(mon, name);
+}
+
static void do_commit(Monitor *mon, const char *device)
{
int all_devices;
diff --git a/qemu-monitor.hx b/qemu-monitor.hx
index 11bdb2c..8936e93 100644
--- a/qemu-monitor.hx
+++ b/qemu-monitor.hx
@@ -9,7 +9,7 @@ STEXI
@table @option
ETEXI
- { "help|?", "s?", help_cmd, "[cmd]", "show the help" },
+ { "help|?", "s?", do_help_cmd, "[cmd]", "show the help" },
STEXI
@item help or ? address@hidden
Show the help for all commands or just for command @var{cmd}.
@@ -519,7 +519,7 @@ Hot-add PCI device.
ETEXI
#if defined(TARGET_I386)
- { "pci_del", "s", pci_device_hot_remove, "[[<domain>:]<bus>:]<slot>", "hot
remove PCI device" },
+ { "pci_del", "s", do_pci_device_hot_remove, "[[<domain>:]<bus>:]<slot>",
"hot remove PCI device" },
#endif
STEXI
@item pci_del
diff --git a/savevm.c b/savevm.c
index 570377f..9f988e6 100644
--- a/savevm.c
+++ b/savevm.c
@@ -1145,7 +1145,7 @@ void do_savevm(Monitor *mon, const char *name)
vm_start();
}
-void do_loadvm(Monitor *mon, const char *name)
+void qemu_loadvm(Monitor *mon, const char *name)
{
DriveInfo *dinfo;
BlockDriverState *bs, *bs1;
@@ -1217,6 +1217,11 @@ void do_loadvm(Monitor *mon, const char *name)
vm_start();
}
+void do_loadvm(Monitor *mon, const char *name)
+{
+ qemu_loadvm(mon, name);
+}
+
void do_delvm(Monitor *mon, const char *name)
{
DriveInfo *dinfo;
diff --git a/sysemu.h b/sysemu.h
index dffb2f1..84810e0 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -52,6 +52,7 @@ void qemu_system_reset(void);
void do_savevm(Monitor *mon, const char *name);
void do_loadvm(Monitor *mon, const char *name);
+void qemu_loadvm(Monitor *mon, const char *name);
void do_delvm(Monitor *mon, const char *name);
void do_info_snapshots(Monitor *mon);
@@ -205,6 +206,7 @@ void destroy_bdrvs(dev_match_fn *match_fn, void *arg);
void pci_device_hot_add(Monitor *mon, const char *pci_addr, const char *type,
const char *opts);
void drive_hot_add(Monitor *mon, const char *pci_addr, const char *opts);
+void do_pci_device_hot_remove(Monitor *mon, const char *pci_addr);
void pci_device_hot_remove(Monitor *mon, const char *pci_addr);
void pci_device_hot_remove_success(int pcibus, int slot);
diff --git a/vl.c b/vl.c
index 8b2b289..401cb6a 100644
--- a/vl.c
+++ b/vl.c
@@ -6037,7 +6037,7 @@ int main(int argc, char **argv, char **envp)
}
if (loadvm)
- do_loadvm(cur_mon, loadvm);
+ qemu_loadvm(cur_mon, loadvm);
if (incoming) {
autostart = 0;
--
1.6.4.67.gea5b1
- [Qemu-devel] [PATCH v0 00/29] QMonitor, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 03/29] Introduce QString, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 04/29] Introduce QDict, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 05/29] Add wrappers to functions used by the Monitor,
Luiz Capitulino <=
- [Qemu-devel] [PATCH 06/29] monitor: New format for handlers argument types, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 07/29] monitor: Setup a QDict with arguments to handlers, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 09/29] monitor: Port handler_0 to use QDict, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 08/29] monitor: Export QDict header, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 11/29] monitor: Port handler_2 to use QDict, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 10/29] monitor: Port handler_1 to use QDict, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 13/29] monitor: Port handler_4 to use QDict, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 12/29] monitor: Port handler_3 to use QDict, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 14/29] monitor: Port handler_5 to use QDict, Luiz Capitulino, 2009/08/13
- [Qemu-devel] [PATCH 16/29] monitor: Port handler_7 to use QDict, Luiz Capitulino, 2009/08/13