diff options
author | Luiz Capitulino <lcapitulino@redhat.com> | 2009-08-28 15:27:17 -0300 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-09-04 09:37:31 -0500 |
commit | 1bd1442e401082d2aebf086626dfec2c377579b2 (patch) | |
tree | 1998d296567fdf1f4e9088744689fb641a30c912 /monitor.c | |
parent | afe67ef295358b885c7af25c150a865ef6cc5a37 (diff) |
monitor: Port handler_5 to use QDict
This commit ports command handlers that receive five 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>
Diffstat (limited to 'monitor.c')
-rw-r--r-- | monitor.c | 49 |
1 files changed, 28 insertions, 21 deletions
@@ -792,10 +792,13 @@ static void memory_dump(Monitor *mon, int count, int format, int wsize, #define GET_TLONG(h, l) (l) #endif -static void do_memory_dump(Monitor *mon, int count, int format, int size, - uint32_t addrh, uint32_t addrl) +static void do_memory_dump(Monitor *mon, const QDict *qdict) { - target_long addr = GET_TLONG(addrh, addrl); + int count = qdict_get_int(qdict, "count"); + int format = qdict_get_int(qdict, "format"); + int size = qdict_get_int(qdict, "size"); + target_long addr = qdict_get_int(qdict, "addr"); + memory_dump(mon, count, format, size, addr, 0); } @@ -805,18 +808,21 @@ static void do_memory_dump(Monitor *mon, int count, int format, int size, #define GET_TPHYSADDR(h, l) (l) #endif -static void do_physical_memory_dump(Monitor *mon, int count, int format, - int size, uint32_t addrh, uint32_t addrl) - +static void do_physical_memory_dump(Monitor *mon, const QDict *qdict) { - target_phys_addr_t addr = GET_TPHYSADDR(addrh, addrl); + int count = qdict_get_int(qdict, "count"); + int format = qdict_get_int(qdict, "format"); + int size = qdict_get_int(qdict, "size"); + target_phys_addr_t addr = qdict_get_int(qdict, "addr"); + memory_dump(mon, count, format, size, addr, 1); } -static void do_print(Monitor *mon, int count, int format, int size, - unsigned int valh, unsigned int vall) +static void do_print(Monitor *mon, const QDict *qdict) { - target_phys_addr_t val = GET_TPHYSADDR(valh, vall); + int format = qdict_get_int(qdict, "format"); + target_phys_addr_t val = qdict_get_int(qdict, "val"); + #if TARGET_PHYS_ADDR_BITS == 32 switch(format) { case 'o': @@ -1223,9 +1229,12 @@ static void do_ioport_read(Monitor *mon, int count, int format, int size, suffix, addr, size * 2, val); } -static void do_ioport_write(Monitor *mon, int count, int format, int size, - int addr, int val) +static void do_ioport_write(Monitor *mon, const QDict *qdict) { + int size = qdict_get_int(qdict, "size"); + int addr = qdict_get_int(qdict, "addr"); + int val = qdict_get_int(qdict, "val"); + addr &= IOPORTS_MASK; switch (size) { @@ -1631,10 +1640,13 @@ static void do_acl_policy(Monitor *mon, const QDict *qdict) } } -static void do_acl_add(Monitor *mon, const char *aclname, - const char *match, const char *policy, - int has_index, int index) +static void do_acl_add(Monitor *mon, const QDict *qdict) { + const char *aclname = qdict_get_str(qdict, "aclname"); + const char *match = qdict_get_str(qdict, "match"); + const char *policy = qdict_get_str(qdict, "policy"); + int has_index = qdict_haskey(qdict, "index"); + int index = qdict_get_try_int(qdict, "index", -1); qemu_acl *acl = find_acl(mon, aclname); int deny, ret; @@ -2586,8 +2598,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_5)(Monitor *mon, void *arg0, void *arg1, void *arg2, - void *arg3, void *arg4); void (*handler_6)(Monitor *mon, void *arg0, void *arg1, void *arg2, void *arg3, void *arg4, void *arg5); void (*handler_7)(Monitor *mon, void *arg0, void *arg1, void *arg2, @@ -2878,13 +2888,10 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline) case 2: case 3: case 4: + case 5: handler_d = cmd->handler; handler_d(mon, qdict); break; - case 5: - handler_5 = cmd->handler; - handler_5(mon, args[0], args[1], args[2], args[3], args[4]); - break; case 6: handler_6 = cmd->handler; handler_6(mon, args[0], args[1], args[2], args[3], args[4], args[5]); |