From patchwork Wed Aug 26 17:05:37 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Capitulino X-Patchwork-Id: 32185 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by bilbo.ozlabs.org (Postfix) with ESMTPS id B0244B70CF for ; Thu, 27 Aug 2009 04:04:50 +1000 (EST) Received: from localhost ([127.0.0.1]:59552 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MgMrW-0007BN-SW for incoming@patchwork.ozlabs.org; Wed, 26 Aug 2009 14:04:46 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MgLxV-0003Z8-3M for qemu-devel@nongnu.org; Wed, 26 Aug 2009 13:06:53 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MgLxS-0003WR-Mx for qemu-devel@nongnu.org; Wed, 26 Aug 2009 13:06:52 -0400 Received: from [199.232.76.173] (port=45814 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MgLxS-0003WB-Gt for qemu-devel@nongnu.org; Wed, 26 Aug 2009 13:06:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60909) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MgLxR-0000lI-Hw for qemu-devel@nongnu.org; Wed, 26 Aug 2009 13:06:49 -0400 Received: from int-mx05.intmail.prod.int.phx2.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.18]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7QH6mb5029641; Wed, 26 Aug 2009 13:06:48 -0400 Received: from localhost (vpn-10-90.bos.redhat.com [10.16.10.90]) by int-mx05.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id n7QH6lFQ021102; Wed, 26 Aug 2009 13:06:47 -0400 From: Luiz Capitulino To: qemu-devel@nongnu.org Date: Wed, 26 Aug 2009 14:05:37 -0300 Message-Id: <1251306352-31316-15-git-send-email-lcapitulino@redhat.com> In-Reply-To: <1251306352-31316-1-git-send-email-lcapitulino@redhat.com> References: <1251306352-31316-1-git-send-email-lcapitulino@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.18 X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. Cc: aliguori@us.ibm.com, avi@redhat.com Subject: [Qemu-devel] [PATCH 14/29] monitor: Port handler_5 to use QDict X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org 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 | 49 ++++++++++++++++++++++++++++--------------------- 1 files changed, 28 insertions(+), 21 deletions(-) diff --git a/monitor.c b/monitor.c index bab7ef0..f301fa0 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_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; @@ -2575,8 +2587,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, @@ -2866,13 +2876,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]);