From patchwork Mon Aug 3 16:57:11 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Capitulino X-Patchwork-Id: 30667 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 5DE3EB6F20 for ; Tue, 4 Aug 2009 05:46:42 +1000 (EST) Received: from localhost ([127.0.0.1]:36204 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MY3US-0008KN-FD for incoming@patchwork.ozlabs.org; Mon, 03 Aug 2009 15:46:36 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MY0s7-0006Dr-JH for qemu-devel@nongnu.org; Mon, 03 Aug 2009 12:58:51 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MY0s2-0006AT-DU for qemu-devel@nongnu.org; Mon, 03 Aug 2009 12:58:50 -0400 Received: from [199.232.76.173] (port=55285 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MY0s1-0006AI-Iu for qemu-devel@nongnu.org; Mon, 03 Aug 2009 12:58:45 -0400 Received: from mx2.redhat.com ([66.187.237.31]:56349) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MY0s0-0003Bk-Us for qemu-devel@nongnu.org; Mon, 03 Aug 2009 12:58:45 -0400 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n73Gwi8C026337; Mon, 3 Aug 2009 12:58:44 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n73GwhDQ015428; Mon, 3 Aug 2009 12:58:43 -0400 Received: from localhost (vpn-10-1.bos.redhat.com [10.16.10.1]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n73Gwfr0030135; Mon, 3 Aug 2009 12:58:42 -0400 From: Luiz Capitulino To: qemu-devel@nongnu.org Date: Mon, 3 Aug 2009 13:57:11 -0300 Message-Id: <1249318642-19324-15-git-send-email-lcapitulino@redhat.com> In-Reply-To: <1249318642-19324-1-git-send-email-lcapitulino@redhat.com> References: <1249318642-19324-1-git-send-email-lcapitulino@redhat.com> X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Cc: jan.kiszka@siemens.com, aliguori@us.ibm.com, avi@redhat.com Subject: [Qemu-devel] [PATCH 14/25] monitor: Port handler_5 to use the dictionary 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. Signed-off-by: Luiz Capitulino --- monitor.c | 49 +++++++++++++++++++++++++++++++------------------ 1 files changed, 31 insertions(+), 18 deletions(-) diff --git a/monitor.c b/monitor.c index cbfe284..f051de7 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 QDict *qdict) { + int count = (long) qdict_get(qdict, "count"); + int format = (long) qdict_get(qdict, "format"); + int size = (long) qdict_get(qdict, "size"); + + uint32_t addrh = (long) qdict_get(qdict, "addr_h"); + uint32_t addrl = (long) qdict_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 QDict *qdict) { + int count = (long) qdict_get(qdict, "count"); + int format = (long) qdict_get(qdict, "format"); + int size = (long) qdict_get(qdict, "size"); + uint32_t addrh = (long) qdict_get(qdict, "addr_h"); + uint32_t addrl = (long) qdict_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 QDict *qdict) { + int format = (long) qdict_get(qdict, "format"); + unsigned int valh = (long) qdict_get(qdict, "val_h"); + unsigned int vall = (long) qdict_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 QDict *qdict) { + int size = (long) qdict_get(qdict, "size"); + int addr = (long) qdict_get(qdict, "addr"); + int val = (long) qdict_get(qdict, "val"); + addr &= IOPORTS_MASK; switch (size) { @@ -1698,10 +1713,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(qdict, "aclname"); + const char *match = qdict_get(qdict, "match"); + const char *policy = qdict_get(qdict, "policy"); + int has_index = qdict_exists(qdict, "index"); + int index = (long) qdict_get(qdict, "index"); qemu_acl *acl = find_acl(mon, aclname); int deny, ret; @@ -2675,8 +2693,6 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline) void *args[MAX_ARGS]; QDict *qdict; 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, @@ -2975,13 +2991,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]);