[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/3] nmi: make cpu-index argument optional
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 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100423 Thunderbird/3.0.4 |
On 12/21/2010 12:58 AM, Markus Armbruster wrote:
> Lai Jiangshan <address@hidden> 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 <address@hidden>
>> ---
>> 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.