mirror of https://github.com/xemu-project/xemu.git
HMP: Use QMP inject nmi implementation
This **CHANGES** the human monitor "nmi" command behavior. Currently it accepts an CPU argument which, when provided, will send the NMI to the specified CPU. This feature is of discussable value though and HMP shouldn't have more features than QMP, so let's use QMP's instead (it's also simpler). Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
parent
a404666457
commit
e9b4b432e7
|
@ -740,10 +740,11 @@ ETEXI
|
|||
#if defined(TARGET_I386)
|
||||
{
|
||||
.name = "nmi",
|
||||
.args_type = "cpu_index:i",
|
||||
.params = "cpu",
|
||||
.help = "inject an NMI on the given CPU",
|
||||
.mhandler.cmd = do_inject_nmi,
|
||||
.args_type = "",
|
||||
.params = "",
|
||||
.help = "inject an NMI on all guest's CPUs",
|
||||
.user_print = monitor_user_noop,
|
||||
.mhandler.cmd_new = do_inject_nmi,
|
||||
},
|
||||
#endif
|
||||
STEXI
|
||||
|
|
16
monitor.c
16
monitor.c
|
@ -2544,19 +2544,7 @@ static void do_wav_capture(Monitor *mon, const QDict *qdict)
|
|||
#endif
|
||||
|
||||
#if defined(TARGET_I386)
|
||||
static void do_inject_nmi(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
CPUState *env;
|
||||
int cpu_index = qdict_get_int(qdict, "cpu_index");
|
||||
|
||||
for (env = first_cpu; env != NULL; env = env->next_cpu)
|
||||
if (env->cpu_index == cpu_index) {
|
||||
cpu_interrupt(env, CPU_INTERRUPT_NMI);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static int do_inject_nmi_all(Monitor *mon, const QDict *qdict, QObject **ret_data)
|
||||
static int do_inject_nmi(Monitor *mon, const QDict *qdict, QObject **ret_data)
|
||||
{
|
||||
CPUState *env;
|
||||
|
||||
|
@ -2567,7 +2555,7 @@ static int do_inject_nmi_all(Monitor *mon, const QDict *qdict, QObject **ret_dat
|
|||
return 0;
|
||||
}
|
||||
#else
|
||||
static int do_inject_nmi_all(Monitor *mon, const QDict *qdict, QObject **ret_data)
|
||||
static int do_inject_nmi(Monitor *mon, const QDict *qdict, QObject **ret_data)
|
||||
{
|
||||
qerror_report(QERR_UNSUPPORTED);
|
||||
return -1;
|
||||
|
|
|
@ -435,7 +435,7 @@ EQMP
|
|||
.params = "",
|
||||
.help = "",
|
||||
.user_print = monitor_user_noop,
|
||||
.mhandler.cmd_new = do_inject_nmi_all,
|
||||
.mhandler.cmd_new = do_inject_nmi,
|
||||
},
|
||||
|
||||
SQMP
|
||||
|
|
Loading…
Reference in New Issue