This is not supposed to be a troll, although I expect that some will interpret it as such. There are two parts; the first is how does this work, followed by some philosophical stuff. AFTER I get answers to the first part I want to make up my mind about the second part. Then you can flame.
It appears that I don't know how things work. I prefer open source for a few reasons, but when it comes to motherboard BIOSes there is no real choice, so I just hope that the manufacturers are competent and trustworthy. What is the story with CPUs and video cards? My attitude to non-free firmware is in flux. At the moment I am annoyed by it, but accept it as a fact of life and just install it. In the olden days CPUs and graphics cards were hard wired. If they didn't work you had to throw them out, change the masks and manufacture new ones. Remember the Pentium division error? Modern devices are far too complex for that to work. They have code that is variously known as; firmware, CPU microcode, or a video BIOS. Now the bits that I don't know about... Does a modern CPU run *at all* without microcode? I assume that when you buy a CPU it has microcode in ROM on the chip. Then at powerup it copies the code from ROM to working memory where it is run until either powerdown or it is over written with a newer version of the same thing. Is that right? As I understand it, microcode is usually used to emulate CISC instructions on RISC hardware. Can a consumer tell the difference? Would the manufacturers tell us, even if we asked nicely? If we do know which instructions are run on hardware and which are run in microcode, does is change from one chip to the next? Can gcc be configured to only produce the subset of instructions that run on the hardware? There are a couple of references in man gcc, but they seem to refer to the PowerPC, not x86. Same problem with video cards. According to Wikipedia, since EGA hit the market in 1984, all video cards have their own BIOS. Is *possible* to run anything better than CGA without using closed source code? If you physically removed the chip containing the video BIOS from a video card would you even be able to look at the motherboard's BIOS? Is there any practical, or moral, difference between; downloading and installing the latest firmware on boot, downloading and flashing the video BIOS, flashing the video BIOS from a floppy that came with the video card, waiting until cards with a good BIOS get distributed before buying. Should a truly free distribution say; "detected a VGA video card and/or a Pentium II, refusing to install"? Is there any choice? An open source BIOS an arm chip and a text only display? -- blind Pete Sig goes here...
