Specifically, the CPU that hangs is identified as a MB86907 (made by
Fujitsu), running at 170 MHz. It hangs when running the same code
under either Solaris 2.5.1 or NetBSD 1.3_ALPHA, so I believe the bug
is not OS-related.
As far as I can tell, the CPU wedges completely; all response from I/O
peripherals is dead, including L1-A on the keyboard and break on a
serial console.
To review, the sequence of instructions that causes the hang is:
L1:
b,a L1
retl
I have not exhaustively tested other instructions in the branch delay
slot, but `ret' and `nop' also appear to `work' (i.e. cause the hang).
It appears to be the branch instruction alone that's responsible for
the hang. A non-annulled branch does not have the same effect.