From dc1c0b749fac857b8abb864577cc3f6d7a5279a1 Mon Sep 17 00:00:00 2001 From: aurel32 Date: Sun, 27 Apr 2008 23:52:12 +0000 Subject: Add a monitor command to raise NMI (Jan Kiszka) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4271 c046a42c-6fe2-441c-8c8c-71466251a162 --- monitor.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'monitor.c') diff --git a/monitor.c b/monitor.c index 574973d..fab3f71 100644 --- a/monitor.c +++ b/monitor.c @@ -1283,6 +1283,19 @@ static void do_wav_capture (const char *path, } #endif +#if defined(TARGET_I386) +static void do_inject_nmi(int cpu_index) +{ + CPUState *env; + + for (env = first_cpu; env != NULL; env = env->next_cpu) + if (env->cpu_index == cpu_index) { + cpu_interrupt(env, CPU_INTERRUPT_NMI); + break; + } +} +#endif + static term_cmd_t term_cmds[] = { { "help|?", "s?", do_help, "[cmd]", "show the help" }, @@ -1356,6 +1369,10 @@ static term_cmd_t term_cmds[] = { "addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", }, { "pmemsave", "lis", do_physical_memory_save, "addr size file", "save to disk physical memory dump starting at 'addr' of size 'size'", }, +#if defined(TARGET_I386) + { "nmi", "i", do_inject_nmi, + "cpu", "inject an NMI on the given CPU", }, +#endif { NULL, NULL, }, }; -- cgit v1.1