Hi Richard,
I normally do not reply to threads started by someone (arc@gnu.org) who is unwilling to state his/her real name and announces that he has blacklisted the e-mail address of the founder of coreboot.
Then again, this reply is directed to you, Richard, because you made some very good points and I wish to supply you with quotable statements to justify a free firmware/BIOS.
On 01.05.2008 12:11, Richard M Stallman wrote:
It could be that the Coreboot developers can find statements which are misleading or false, and publish an article which would put pressure on Intel.
Some of the points are simply distractions or illogical. For instance:
BIOS is a part of the reliability and performance promise of the hardware.
Is that true? If so, so what? That is no reason not to let us run our own BIOS.
Yes, it is true. The BIOS is responsible to fix up (work around) all the soft-fixable bugs in the hardware so the OS won't see them. Initialization of the various buses and memory has to be done correctly and in an efficient way. Setting up things the wrong way or without efficiency/performance considerations has serious effects on benchmarks and reliablity.
However, that's exactly the reason why we MUST have a free/open BIOS/firmware. - It allows us to get the best possible performance. AMD has stated that the coreboot Hypertransport setup is the most efficient one available. (I can probably dig up who made that statement.) - We get the ablity to fix hardware bugs even at times when the vendor doesn't care anymore (and that happens faster than most people like). - We also can add new features for old mainboards as long as the hardware can do it. The IDE LBA48 hard drive support in proprietary BIOS versions was one such example. Vendors simply didn't care about older boards and didn't release BIOS updates which could have added LBA48 support for IDE hard drives with sizes over 127 GB (a pure software thing) and people were forced to upgrade to newer boards. With coreboot, people would have recompiled a new BIOS version for their board, using the generic LBA48 support without any problems.
If the "proprietary low-level chipset initialization code" is in ROM on the chips that it initializes, then it is tolerable. (It might as well be circuits on that chip.) Otherwise, it is insufficient unless made complete.
None of the current mainstream x86 board manufacturers uses real ROMs anymore. There are simply too many bugs in the hardware and firmware to be able to afford a no-upgrade solution. Besides that, EEPROMs are very cheap nowadays and the firmware for the board and the separate firmware for the onboard NIC can be stored in the same EEPROM which saves board space.
Regards, Carl-Daniel