Revision e9b4b432
b/hmp-commands.hx | ||
---|---|---|
740 | 740 |
#if defined(TARGET_I386) |
741 | 741 |
{ |
742 | 742 |
.name = "nmi", |
743 |
.args_type = "cpu_index:i", |
|
744 |
.params = "cpu", |
|
745 |
.help = "inject an NMI on the given CPU", |
|
746 |
.mhandler.cmd = do_inject_nmi, |
|
743 |
.args_type = "", |
|
744 |
.params = "", |
|
745 |
.help = "inject an NMI on all guest's CPUs", |
|
746 |
.user_print = monitor_user_noop, |
|
747 |
.mhandler.cmd_new = do_inject_nmi, |
|
747 | 748 |
}, |
748 | 749 |
#endif |
749 | 750 |
STEXI |
b/monitor.c | ||
---|---|---|
2544 | 2544 |
#endif |
2545 | 2545 |
|
2546 | 2546 |
#if defined(TARGET_I386) |
2547 |
static void do_inject_nmi(Monitor *mon, const QDict *qdict) |
|
2548 |
{ |
|
2549 |
CPUState *env; |
|
2550 |
int cpu_index = qdict_get_int(qdict, "cpu_index"); |
|
2551 |
|
|
2552 |
for (env = first_cpu; env != NULL; env = env->next_cpu) |
|
2553 |
if (env->cpu_index == cpu_index) { |
|
2554 |
cpu_interrupt(env, CPU_INTERRUPT_NMI); |
|
2555 |
break; |
|
2556 |
} |
|
2557 |
} |
|
2558 |
|
|
2559 |
static int do_inject_nmi_all(Monitor *mon, const QDict *qdict, QObject **ret_data) |
|
2547 |
static int do_inject_nmi(Monitor *mon, const QDict *qdict, QObject **ret_data) |
|
2560 | 2548 |
{ |
2561 | 2549 |
CPUState *env; |
2562 | 2550 |
|
... | ... | |
2567 | 2555 |
return 0; |
2568 | 2556 |
} |
2569 | 2557 |
#else |
2570 |
static int do_inject_nmi_all(Monitor *mon, const QDict *qdict, QObject **ret_data)
|
|
2558 |
static int do_inject_nmi(Monitor *mon, const QDict *qdict, QObject **ret_data) |
|
2571 | 2559 |
{ |
2572 | 2560 |
qerror_report(QERR_UNSUPPORTED); |
2573 | 2561 |
return -1; |
b/qmp-commands.hx | ||
---|---|---|
435 | 435 |
.params = "", |
436 | 436 |
.help = "", |
437 | 437 |
.user_print = monitor_user_noop, |
438 |
.mhandler.cmd_new = do_inject_nmi_all,
|
|
438 |
.mhandler.cmd_new = do_inject_nmi, |
|
439 | 439 |
}, |
440 | 440 |
|
441 | 441 |
SQMP |
Also available in: Unified diff