On Jan 31, 2022, at 1:10 PM, Johnny Billquist
<bqt(a)softjar.se> wrote:
Well, in this case it's a piece of hardware that have existed since (almost) forever,
and have not changed since, and if enabled, is used a lot. I have a hard time believing it
wouldn't work without it being noticed.
But yeah, the kind of error you mentioned are fun. There is a weird microcode bug in the
11/60 CPU, which force the OS do so some silly things in general, in order to run
correctly one that one CPU. Things that are just wasting a few cycles on all other CPUs. I
bet DEC had fun figuring that one out...
(I don't remember the exact details now, but I could go in and read the code to find
out again, if needed, unless someone else remember the specifics.)
The RSTS initialization code has a check for an 11/60 bug where, judging from the test,
writing to the CPU Error Register would cause the next word to be skipped. If your 11/60
does that you get a message reporting missing ECOs:
This PDP-11/60 is missing the following ECO's:
Module M7872: ECO #7 Module M7873: ECO #6
There's also a check somewhat earlier that says a "cache sweep" is needed
before enabling the cache on an 11/60, but not on any other machine. That seems to be
what is commonly called a "cache invalidate"; it appears in the memory parity
handler.
RSTS actually has a bunch of checks like the one above, looking for various bugs in
assorted processors and peripherals. Sometimes it would work around a missing ECO; in
other cases it would reject the device entirely, or refuse to run at all. In any case it
would identify precisely what ECO was missing, so the fix would be easy to apply.
paul