[Mageia-dev] free software purity question

blind Pete 0123peter at gmail.com
Thu Jul 19 04:35:48 CEST 2012


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...  



More information about the Mageia-dev mailing list