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>
This commit is contained in:
Luiz Capitulino 2009-08-28 15:27:16 -03:00 committed by Anthony Liguori
parent 1d4daa91ff
commit afe67ef295

View File

@ -859,11 +859,12 @@ static void do_print(Monitor *mon, int count, int format, int size,
monitor_printf(mon, "\n"); monitor_printf(mon, "\n");
} }
static void do_memory_save(Monitor *mon, unsigned int valh, unsigned int vall, static void do_memory_save(Monitor *mon, const QDict *qdict)
uint32_t size, const char *filename)
{ {
FILE *f; 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; uint32_t l;
CPUState *env; CPUState *env;
uint8_t buf[1024]; uint8_t buf[1024];
@ -889,14 +890,14 @@ static void do_memory_save(Monitor *mon, unsigned int valh, unsigned int vall,
fclose(f); fclose(f);
} }
static void do_physical_memory_save(Monitor *mon, unsigned int valh, static void do_physical_memory_save(Monitor *mon, const QDict *qdict)
unsigned int vall, uint32_t size,
const char *filename)
{ {
FILE *f; FILE *f;
uint32_t l; uint32_t l;
uint8_t buf[1024]; 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"); f = fopen(filename, "wb");
if (!f) { if (!f) {
@ -2585,8 +2586,6 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline)
void *str_allocated[MAX_ARGS]; void *str_allocated[MAX_ARGS];
void *args[MAX_ARGS]; void *args[MAX_ARGS];
void (*handler_d)(Monitor *mon, const QDict *qdict); 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 (*handler_5)(Monitor *mon, void *arg0, void *arg1, void *arg2,
void *arg3, void *arg4); void *arg3, void *arg4);
void (*handler_6)(Monitor *mon, void *arg0, void *arg1, void *arg2, 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 1:
case 2: case 2:
case 3: case 3:
case 4:
handler_d = cmd->handler; handler_d = cmd->handler;
handler_d(mon, qdict); handler_d(mon, qdict);
break; break;
case 4:
handler_4 = cmd->handler;
handler_4(mon, args[0], args[1], args[2], args[3]);
break;
case 5: case 5:
handler_5 = cmd->handler; handler_5 = cmd->handler;
handler_5(mon, args[0], args[1], args[2], args[3], args[4]); handler_5(mon, args[0], args[1], args[2], args[3], args[4]);