diff options
Diffstat (limited to 'monitor.c')
-rw-r--r-- | monitor.c | 22 |
1 files changed, 9 insertions, 13 deletions
@@ -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]); |