NMIs and cross-core trapframe inspection
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 19 May 2011 20:50:11 +0000 (13:50 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:36:03 +0000 (17:36 -0700)
commitd7a05f354d2fd895b61a844af9d9d354eaf4f42f
tree1e83baac0c367ec5db6fff3d51157c4d96bfb9c2
parentc2a76c4ec587aa0d51b42607ee71a505160924cc
NMIs and cross-core trapframe inspection

x86 can send NMIs, the handler for which prints the trapframe and what
function the EIP is in.  Use it from the monitor with:

ROS(Core 0)> trace coretf OS_COREID

It will work regardless of whether or not IRQs are disabled or whether
or not the core is in the kernel or userspace.

Sparc doesn't have this yet, though the stubs are there.
kern/arch/i686/apic.h
kern/arch/i686/kdebug.c
kern/arch/i686/trap.c
kern/arch/sparc/trap.c
kern/include/trap.h
kern/src/monitor.c