On Aug 17, 2013, at 6:58 PM, Mouse <mouse at rodents-montreal.org> wrote:
It is contributing to, albeit not compelling, the
walking-wounded
support for legacy x86, such as they way some PCI cards simply don't
work if the host can't/won't run x86 code
How is this any different than
the historical "all the world's a VAX"
(or more modern "all the world's a 32-bit Linux machine") attitude
that often plauges/plagued *nix software compatibility across
architectures?
It's baked into hardware. If it were common for Unibus (or Qbus) cards
to have VAX code in ROM which the host had to execute in order for the
card to operate, I'd say the analogy were fair.
Actually, that wasn't terribly uncommon, especially for SCSI cards.
My CQD-220 has both PDP-11 and VAX code baked into the ROM which
you can run a sequence of console commands to dump it into RAM and
execute from there. It's primarily only the setup utility, so it's
not exactly *necessary* for the card to run, but 99% of people need
to use it to set up their drives.
Of course, Unibus and Qbus were only used by PDP-11 and VAXen (not
counting microprocessors on the cards themselves, like the 8086
that runs the CQD-220). PCI is another matter; Intel may have been
one of the primary driving forces behind its implementation, but it
was VERY rapidly adopted by architectures other than x86 PCs. I'm
more than a little annoyed that OpenFirmware style portable boot
bytecode didn't take off beyond the OpenFirmware world (Suns, Macs,
various IBM machines) with the advent of PCI, which was a much more
portable bus architecture than, say, ISA or VME.
No, the x86 doesn't make designers do that. But
its ubiquity
encourages it - hence "contributing to, albeit not compelling".
Exactly. It's a lot like the situation with Linux and buggy BIOS
implementations in the '90s and early 2000s (and probably still
today, albeit in a somewhat more limited sense). Most motherboard
manufacturers just hacked on the BIOS until it booted Windows,
which occasionally left some seriously nasty surprises for folks
booting other operating systems on a BIOS that didn't set things
up exactly to spec. It's laziness, sometimes born out of quite
constrained resources.
- Dave