Commit dc1c0b749fac857b8abb864577cc3f6d7a5279a1
1 parent
e6e514c5
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
Showing
1 changed file
with
17 additions
and
0 deletions
monitor.c
| ... | ... | @@ -1283,6 +1283,19 @@ static void do_wav_capture (const char *path, |
| 1283 | 1283 | } |
| 1284 | 1284 | #endif |
| 1285 | 1285 | |
| 1286 | +#if defined(TARGET_I386) | |
| 1287 | +static void do_inject_nmi(int cpu_index) | |
| 1288 | +{ | |
| 1289 | + CPUState *env; | |
| 1290 | + | |
| 1291 | + for (env = first_cpu; env != NULL; env = env->next_cpu) | |
| 1292 | + if (env->cpu_index == cpu_index) { | |
| 1293 | + cpu_interrupt(env, CPU_INTERRUPT_NMI); | |
| 1294 | + break; | |
| 1295 | + } | |
| 1296 | +} | |
| 1297 | +#endif | |
| 1298 | + | |
| 1286 | 1299 | static term_cmd_t term_cmds[] = { |
| 1287 | 1300 | { "help|?", "s?", do_help, |
| 1288 | 1301 | "[cmd]", "show the help" }, |
| ... | ... | @@ -1356,6 +1369,10 @@ static term_cmd_t term_cmds[] = { |
| 1356 | 1369 | "addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", }, |
| 1357 | 1370 | { "pmemsave", "lis", do_physical_memory_save, |
| 1358 | 1371 | "addr size file", "save to disk physical memory dump starting at 'addr' of size 'size'", }, |
| 1372 | +#if defined(TARGET_I386) | |
| 1373 | + { "nmi", "i", do_inject_nmi, | |
| 1374 | + "cpu", "inject an NMI on the given CPU", }, | |
| 1375 | +#endif | |
| 1359 | 1376 | { NULL, NULL, }, |
| 1360 | 1377 | }; |
| 1361 | 1378 | ... | ... |