From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MduHR-0002Cu-4e for qemu-devel@nongnu.org; Wed, 19 Aug 2009 19:09:21 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MduHL-00024E-K8 for qemu-devel@nongnu.org; Wed, 19 Aug 2009 19:09:19 -0400 Received: from [199.232.76.173] (port=49897 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MduHK-000242-Vg for qemu-devel@nongnu.org; Wed, 19 Aug 2009 19:09:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:22071) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MduHK-0005XH-GC for qemu-devel@nongnu.org; Wed, 19 Aug 2009 19:09:14 -0400 From: Luiz Capitulino Date: Wed, 19 Aug 2009 20:07:45 -0300 Message-Id: <1250723280-3509-15-git-send-email-lcapitulino@redhat.com> In-Reply-To: <1250723280-3509-1-git-send-email-lcapitulino@redhat.com> References: <1250723280-3509-1-git-send-email-lcapitulino@redhat.com> Subject: [Qemu-devel] [PATCH 14/29] monitor: Port handler_5 to use QDict List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, avi@redhat.com 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 --- monitor.c | 52 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 31 insertions(+), 21 deletions(-) diff --git a/monitor.c b/monitor.c index 983a6e1..5d68454 100644 --- a/monitor.c +++ b/monitor.c @@ -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_uint64(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_uint64(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_uint64(qdict, "val"); + #if TARGET_PHYS_ADDR_BITS == 32 switch(format) { case 'o': @@ -1226,9 +1232,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) { @@ -1689,13 +1698,19 @@ 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_exists(qdict, "index"); + int index = -1; qemu_acl *acl = find_acl(mon, aclname); int deny, ret; + if (has_index) + index = qdict_get_int(qdict, "index"); + if (acl) { if (strcmp(policy, "allow") == 0) { deny = 0; @@ -2635,8 +2650,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, @@ -2926,13 +2939,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]); -- 1.6.4.67.gea5b1