From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lai Jiangshan Subject: Re: [Qemu-devel] [PATCH 2/3] nmi: make cpu-index argument optional Date: Tue, 21 Dec 2010 14:05:56 +0800 Message-ID: <4D1043C4.8000108@cn.fujitsu.com> References: <4D0EF39A.4030406@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Luiz Capitulino , qemu-devel@nongnu.org, aliguori@us.ibm.com, kvm@vger.kernel.org, Avi Kivity To: Markus Armbruster Return-path: Received: from cn.fujitsu.com ([222.73.24.84]:57881 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1751797Ab0LUGEb (ORCPT ); Tue, 21 Dec 2010 01:04:31 -0500 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 12/21/2010 12:58 AM, Markus Armbruster wrote: > Lai Jiangshan writes: > >> When the argument "cpu-index" is not given, >> then "nmi" command will inject NMI on all CPUs. >> >> This simulate the nmi button on physical machine. >> >> Signed-off-by: Lai Jiangshan >> --- >> diff --git a/hmp-commands.hx b/hmp-commands.hx >> index 8de7aa3..d8fe4c0 100644 >> --- a/hmp-commands.hx >> +++ b/hmp-commands.hx >> @@ -721,9 +721,9 @@ ETEXI >> #if defined(TARGET_I386) >> { >> .name = "nmi", >> - .args_type = "cpu-index:i", >> - .params = "cpu", >> - .help = "inject an NMI on the given CPU", >> + .args_type = "cpu-index:i?", >> + .params = "[cpu]", >> + .help = "inject an NMI on all CPUs or the given CPU", >> .mhandler.cmd = do_inject_nmi, >> }, >> #endif >> diff --git a/monitor.c b/monitor.c >> index c16b39d..45a8dc2 100644 >> --- a/monitor.c >> +++ b/monitor.c >> @@ -2410,7 +2410,13 @@ static void do_wav_capture(Monitor *mon, const QDict *qdict) >> static void do_inject_nmi(Monitor *mon, const QDict *qdict) >> { >> CPUState *env; >> - int cpu_index = qdict_get_int(qdict, "cpu-index"); >> + int cpu_index = qdict_get_try_int(qdict, "cpu-index", -1); > > Note that we interpret "nmi -1" as "nmi" (no argument). Doesn't matter > now. Does matter after the next patch, because that patch makes the > command when the argument doesn't make sense. Except it doesn't for the > non-sensical argument -1. Same problem with every existing use of > qdict_get_try_int() in the monitor. Do we care? > Good catch!! I will fix it. Tanks, Lai.