qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/5] QMP: add inject-nmi qmp command


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 2/5] QMP: add inject-nmi qmp command
Date: Sat, 4 Jun 2011 11:34:17 +0300

On Wed, Jun 1, 2011 at 6:54 PM, Luiz Capitulino <address@hidden> wrote:
> From: Lai Jiangshan <address@hidden>
>
> inject-nmi command injects an NMI on all CPUs of guest.
> It is only supported for x86 guest currently, it will
> returns "Unsupported" error for non-x86 guest.

Please rename the command to 'x-inject-nmi' to point out that it will
be replaced by a generic method later.

> Signed-off-by: Luiz Capitulino <address@hidden>
> ---
>  monitor.c       |   17 +++++++++++++++++
>  qmp-commands.hx |   27 +++++++++++++++++++++++++++
>  2 files changed, 44 insertions(+), 0 deletions(-)
>
> diff --git a/monitor.c b/monitor.c
> index f63cce0..81d3c9b 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -2555,6 +2555,23 @@ static void do_inject_nmi(Monitor *mon, const QDict 
> *qdict)
>             break;
>         }
>  }
> +
> +static int do_inject_nmi_all(Monitor *mon, const QDict *qdict, QObject 
> **ret_data)
> +{
> +    CPUState *env;
> +
> +    for (env = first_cpu; env != NULL; env = env->next_cpu) {
> +        cpu_interrupt(env, CPU_INTERRUPT_NMI);
> +    }
> +
> +    return 0;
> +}
> +#else
> +static int do_inject_nmi_all(Monitor *mon, const QDict *qdict, QObject 
> **ret_data)
> +{
> +    qerror_report(QERR_UNSUPPORTED);
> +    return -1;
> +}
>  #endif
>
>  static void do_info_status_print(Monitor *mon, const QObject *data)
> diff --git a/qmp-commands.hx b/qmp-commands.hx
> index a9f109a..ae08b7a 100644
> --- a/qmp-commands.hx
> +++ b/qmp-commands.hx
> @@ -430,6 +430,33 @@ Example:
>  EQMP
>
>     {
> +        .name       = "inject-nmi",
> +        .args_type  = "",
> +        .params     = "",
> +        .help       = "",
> +        .user_print = monitor_user_noop,
> +        .mhandler.cmd_new = do_inject_nmi_all,
> +    },
> +
> +SQMP
> +inject-nmi
> +----------
> +
> +Inject an NMI on guest's CPUs.
> +
> +Arguments: None.
> +
> +Example:
> +
> +-> { "execute": "inject-nmi" }
> +<- { "return": {} }
> +
> +Note: inject-nmi is only supported for x86 guest currently, it will
> +      returns "Unsupported" error for non-x86 guest.
> +
> +EQMP
> +
> +    {
>         .name       = "migrate",
>         .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
>         .params     = "[-d] [-b] [-i] uri",
> --
> 1.7.4.4
>
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]