From patchwork Thu Aug 13 13:50:17 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [18/29] monitor: Port handler_10 to use QDict From: Luiz Capitulino X-Patchwork-Id: 31318 Message-Id: <1250171428-29308-19-git-send-email-lcapitulino@redhat.com> To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, avi@redhat.com Date: Thu, 13 Aug 2009 10:50:17 -0300 This commit ports command handlers that receive ten arguments to use the new monitor's dictionary. Signed-off-by: Luiz Capitulino --- monitor.c | 26 ++++++++------------------ 1 files changed, 8 insertions(+), 18 deletions(-) diff --git a/monitor.c b/monitor.c index 645d9e2..675b321 100644 --- a/monitor.c +++ b/monitor.c @@ -1765,18 +1765,15 @@ static void do_acl_remove(Monitor *mon, const QDict *qdict) } #if defined(TARGET_I386) -static void do_inject_mce(Monitor *mon, - int cpu_index, int bank, - unsigned status_hi, unsigned status_lo, - unsigned mcg_status_hi, unsigned mcg_status_lo, - unsigned addr_hi, unsigned addr_lo, - unsigned misc_hi, unsigned misc_lo) +static void do_inject_mce(Monitor *mon, const QDict *qdict) { CPUState *cenv; - uint64_t status = ((uint64_t)status_hi << 32) | status_lo; - uint64_t mcg_status = ((uint64_t)mcg_status_hi << 32) | mcg_status_lo; - uint64_t addr = ((uint64_t)addr_hi << 32) | addr_lo; - uint64_t misc = ((uint64_t)misc_hi << 32) | misc_lo; + int cpu_index = qdict_get_int(qdict, "cpu_index"); + int bank = qdict_get_int(qdict, "bank"); + uint64_t status = qdict_get_uint64(qdict, "status"); + uint64_t mcg_status = qdict_get_uint64(qdict, "mcg_status"); + uint64_t addr = qdict_get_uint64(qdict, "addr"); + uint64_t misc = qdict_get_uint64(qdict, "misc"); for (cenv = first_cpu; cenv != NULL; cenv = cenv->next_cpu) if (cenv->cpu_index == cpu_index && cenv->mcg_cap) { @@ -2666,9 +2663,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_10)(Monitor *mon, void *arg0, void *arg1, void *arg2, - void *arg3, void *arg4, void *arg5, void *arg6, - void *arg7, void *arg8, void *arg9); #ifdef DEBUG monitor_printf(mon, "command='%s'\n", cmdline); @@ -2948,14 +2942,10 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline) case 5: case 6: case 7: + case 10: handler_d = cmd->handler; handler_d(mon, qdict); break; - case 10: - handler_10 = cmd->handler; - handler_10(mon, args[0], args[1], args[2], args[3], args[4], args[5], - args[6], args[7], args[8], args[9]); - break; default: monitor_printf(mon, "unsupported number of arguments: %d\n", nb_args); goto fail;