This patch address a couple of long-standing issues revolving around kernel panics and use of rdb. Previously, rdb simply did not work on mp systems, as it assumed a splhi was sufficient to lock system resources. On an mp system, unless the uart ISR happened to be wired to the same CPU that has dropped into rdb, I/O will be stolen from the getc poll rdb relies on to communicate with the remote debugger. To fix this behavior, rdb must lock out other machs to avoid sharing resources. panic is similarly afflicted. A splhi is issued which is typically not enough, often resulting in corrupted dumpstack output from prints on other machs. Another interesting side-effect is that procs will continue to run on machs not participating in the panic. These changes made panic a first class citizen rather than a variant of shutdown. To handle both cases, panic (and each arch) have been updated to stall out other machs on the next clock interrupt. This is somewhat similiar to the exiting mechanism. The difference is that this allows the system to pre-emptively shutdown machs apart from exit, which happens too late. A nice side-effect of this change is that not only does this correct rdb behavior, but it also handles the corrupted dumpstack and racing procs issues nicely. A final change introduced a new plan9.ini conf variable, consdebug which enables ^T^Td at boot, which permits use of rdb early in the boot process.