From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MVuof-0000ry-Dj for qemu-devel@nongnu.org; Tue, 28 Jul 2009 18:06:37 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MVuoZ-0000iJ-Tf for qemu-devel@nongnu.org; Tue, 28 Jul 2009 18:06:36 -0400 Received: from [199.232.76.173] (port=49658 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MVuoZ-0000hu-FT for qemu-devel@nongnu.org; Tue, 28 Jul 2009 18:06:31 -0400 Received: from mx2.redhat.com ([66.187.237.31]:37528) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MVuoY-0000az-Me for qemu-devel@nongnu.org; Tue, 28 Jul 2009 18:06:31 -0400 From: Luiz Capitulino Date: Tue, 28 Jul 2009 19:05:02 -0300 Message-Id: <1248818713-11261-15-git-send-email-lcapitulino@redhat.com> In-Reply-To: <1248818713-11261-1-git-send-email-lcapitulino@redhat.com> References: <1248818713-11261-1-git-send-email-lcapitulino@redhat.com> Subject: [Qemu-devel] [PATCH 14/25] monitor: Port handler_5 to use the dictionary List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: jan.kiszka@siemens.com, aliguori@us.ibm.com, dlaor@redhat.com, avi@redhat.com, Luiz Capitulino This commit ports command handlers that receive five arguments to use the new monitor's dictionary. Signed-off-by: Luiz Capitulino --- monitor.c | 49 +++++++++++++++++++++++++++++++------------------ 1 files changed, 31 insertions(+), 18 deletions(-) diff --git a/monitor.c b/monitor.c index f9ab788..3729ee1 100644 --- a/monitor.c +++ b/monitor.c @@ -796,9 +796,14 @@ static inline uint32_t GET_TLONG(uint32_t h, uint32_t 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 struct qemu_dict *qdict) { + long count = (long) qemu_dict_get(qdict, "count"); + long format = (long) qemu_dict_get(qdict, "format"); + long size = (long) qemu_dict_get(qdict, "size"); + + uint32_t addrh = (long) qemu_dict_get(qdict, "addr_h"); + uint32_t addrl = (long) qemu_dict_get(qdict, "addr_l"); target_long addr = GET_TLONG(addrh, addrl); memory_dump(mon, count, format, size, addr, 0); } @@ -813,17 +818,24 @@ static inline uint32_t GET_TPHYSADDR(uint32_t h, uint32_t 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 struct qemu_dict *qdict) { + long count = (long) qemu_dict_get(qdict, "count"); + long format = (long) qemu_dict_get(qdict, "format"); + long size = (long) qemu_dict_get(qdict, "size"); + uint32_t addrh = (long) qemu_dict_get(qdict, "addr_h"); + uint32_t addrl = (long) qemu_dict_get(qdict, "addr_l"); + target_phys_addr_t addr = GET_TPHYSADDR(addrh, addrl); 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 struct qemu_dict *qdict) { + long format = (long) qemu_dict_get(qdict, "format"); + unsigned int valh = (long) qemu_dict_get(qdict, "val_h"); + unsigned int vall = (long) qemu_dict_get(qdict, "val_l"); + target_phys_addr_t val = GET_TPHYSADDR(valh, vall); #if TARGET_PHYS_ADDR_BITS == 32 switch(format) { @@ -1235,9 +1247,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 struct qemu_dict *qdict) { + long size = (long) qemu_dict_get(qdict, "size"); + long addr = (long) qemu_dict_get(qdict, "addr"); + long val = (long) qemu_dict_get(qdict, "val"); + addr &= IOPORTS_MASK; switch (size) { @@ -1698,10 +1713,13 @@ static void do_acl_policy(Monitor *mon, const struct qemu_dict *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 struct qemu_dict *qdict) { + const char *aclname = qemu_dict_get(qdict, "aclname"); + const char *match = qemu_dict_get(qdict, "match"); + const char *policy = qemu_dict_get(qdict, "policy"); + int has_index = qemu_dict_exists(qdict, "index"); + long index = (long) qemu_dict_get(qdict, "index"); qemu_acl *acl = find_acl(mon, aclname); int deny, ret; @@ -2673,8 +2691,6 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline) void *args[MAX_ARGS]; struct qemu_dict *qdict; void (*handler_d)(Monitor *mon, const struct qemu_dict *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, @@ -2973,13 +2989,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.rc3.12.gdf73a