If you press control-shift-D at the system console, the system will enter CONSOLE DIAG mode. Here, all the CPU's are halted at softint level. They can process device interrupts but they cannot execute any thread-level code. The source for this stuff is in oz_knl_diag.c.

You are given this menu:

          1=ShowProcs     10=ShowDate      15=ShowDevs       20=ThreadTrace
          2=ShowThreads   11=PeekPoke      16=AbortThread
          3=ShowKthreads  12=Exit          17=SuspendThread
          4=ThreadLevel   13=DumpNpp       18=ResumeThread
          5=Logon         14=DumpEvents    19=CallDebugger
Make a selection by typing the number and pressing Enter. 12 is the exit code that will return the system to normal operation.

Selection 4 is slightly special. It will put the diag routines in thread-level. So the other CPU's are now free to execute normally. The current cpu, however will present you with this menu:

          1=SoftintLevel  4=CreateLnm    7=MountVol   10=CopyFile
          2=RunImage      5=DisplayFile  8=ListDir    11=DismVol
          3=ShowLogical   6=InitVol      9=CreateDir  12=Exit
Different options here. But 12 returns the console to normal operation. 1 returns back to the softint level menu (above).

These prompts were originally my startup routine before I had a command-line interpreter (shell).

One thing you can do that is very useful is if your startup script is messed up and you can't log on. You can start the shell by going into diag mode then:

  1. type in 4 to start thread level
  2. type in 12 to exit softint level
  3. type in 2 to run an image
  4. type in oz_cli.elf as the name of image to run
  5. type in 12 to exit diag mode
It will dump out a few things about the image then you should get the oz_cli> prompt. You can fix your startup script then shutdown -reboot.