diff options
author | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-04-27 23:52:12 +0000 |
---|---|---|
committer | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-04-27 23:52:12 +0000 |
commit | dc1c0b749fac857b8abb864577cc3f6d7a5279a1 (patch) | |
tree | 5340d79223e3196bb82a4eb5469adbe1393f092e /monitor.c | |
parent | e6e514c529446824c638d47286338db8da7edf0e (diff) | |
download | qemu-dc1c0b749fac857b8abb864577cc3f6d7a5279a1.zip qemu-dc1c0b749fac857b8abb864577cc3f6d7a5279a1.tar.gz qemu-dc1c0b749fac857b8abb864577cc3f6d7a5279a1.tar.bz2 |
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
Diffstat (limited to 'monitor.c')
-rw-r--r-- | monitor.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -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, }, }; |