aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2009-08-28 15:27:16 -0300
committerAnthony Liguori <aliguori@us.ibm.com>2009-09-04 09:37:31 -0500
commitafe67ef295358b885c7af25c150a865ef6cc5a37 (patch)
tree93308f4f3d52347158c92efa05c61f448d3cc32c
parent1d4daa91ff0b77e86b3944faf8fc7f978cf51c84 (diff)
monitor: Port handler_4 to use QDict
This commit ports command handlers that receive four arguments to use the new monitor's dictionary. Note that GET_TLONG() and GET_TPHYSADDR() macros are not used anymore. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--monitor.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/monitor.c b/monitor.c
index 8607d6c2f4..b3939bb948 100644
--- a/monitor.c
+++ b/monitor.c
@@ -859,11 +859,12 @@ static void do_print(Monitor *mon, int count, int format, int size,
monitor_printf(mon, "\n");
}
-static void do_memory_save(Monitor *mon, unsigned int valh, unsigned int vall,
- uint32_t size, const char *filename)
+static void do_memory_save(Monitor *mon, const QDict *qdict)
{
FILE *f;
- target_long addr = GET_TLONG(valh, vall);
+ uint32_t size = qdict_get_int(qdict, "size");
+ const char *filename = qdict_get_str(qdict, "filename");
+ target_long addr = qdict_get_int(qdict, "val");
uint32_t l;
CPUState *env;
uint8_t buf[1024];
@@ -889,14 +890,14 @@ static void do_memory_save(Monitor *mon, unsigned int valh, unsigned int vall,
fclose(f);
}
-static void do_physical_memory_save(Monitor *mon, unsigned int valh,
- unsigned int vall, uint32_t size,
- const char *filename)
+static void do_physical_memory_save(Monitor *mon, const QDict *qdict)
{
FILE *f;
uint32_t l;
uint8_t buf[1024];
- target_phys_addr_t addr = GET_TPHYSADDR(valh, vall);
+ uint32_t size = qdict_get_int(qdict, "size");
+ const char *filename = qdict_get_str(qdict, "filename");
+ target_phys_addr_t addr = qdict_get_int(qdict, "val");
f = fopen(filename, "wb");
if (!f) {
@@ -2585,8 +2586,6 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline)
void *str_allocated[MAX_ARGS];
void *args[MAX_ARGS];
void (*handler_d)(Monitor *mon, const QDict *qdict);
- void (*handler_4)(Monitor *mon, void *arg0, void *arg1, void *arg2,
- void *arg3);
void (*handler_5)(Monitor *mon, void *arg0, void *arg1, void *arg2,
void *arg3, void *arg4);
void (*handler_6)(Monitor *mon, void *arg0, void *arg1, void *arg2,
@@ -2878,13 +2877,10 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline)
case 1:
case 2:
case 3:
+ case 4:
handler_d = cmd->handler;
handler_d(mon, qdict);
break;
- case 4:
- handler_4 = cmd->handler;
- handler_4(mon, args[0], args[1], args[2], args[3]);
- break;
case 5:
handler_5 = cmd->handler;
handler_5(mon, args[0], args[1], args[2], args[3], args[4]);