[ Meant to go to list, but sent to DMR only by mistake. ]
On Wed, 4 Oct 2006 dmr(a)plan9.bell-labs.com wrote:
It contains
the famous Thrust Meter, a few papers by Yours Truly, and
I think it has the short assembly program that would bring a PDP-11/70
to its knees (the infamous "SPL" firmware bug).
Was this the feature (not really a bug; it's in the manual) that SPL
suppressed interrupts for one instruction after the SPL? I suppose it
was indeed a bug that this happened even in user mode where SPL was
intended to be a no-op.
Yep, that's the one. I regard it as a bug because it indeed happened in
user mode...
I remember trying this. It depends on completely
filling memory with
SPLs, which I could not figure out how to do using an instruction
sequence. However, putting a bunch of SPLs into a file and reading it
in over the program did the job.
There was a clever assembly program that did it; it relied upon the
instruction counter wrapping around (I can't remember in which direction,
or whether it first relocated itself). Anyone, it managed to fill memory
with SPLs, so the next instruction after overwriting its last instruction
was SPL, and for the foreseeable future after that...
If I find the article I'll post it here; I don't think there are too many
11/70s still in public operation.
It was a bit hard to break out of--the halt switch
didn't work. At first
I thought that power-off was the only solution, but it turned out that
holding down both reset and halt simultaneously did the job.
I'll remember that, should I ever see an emulator :-) I still remember
Ian Johnstone cursing me...
-- Dave