Take for instance nForce2 chipset and please correct me if i am wrong. Linux have full hardware support for it right ? (it should since i use one) Linux doesnt use bios functions because it controlls all the hardware on the motherboard right? So if there is a way for linux to controll the hardware why is it impossible to implement it in a free bios?
What is so special about linux bios that needs special vendor support that linux os doesnt?
On 3/8/07, Michal Pomorski f03mp@student.lth.se wrote:
What is so special about linux bios that needs special vendor support that linux os doesnt?
There is almost as much complexity in the chipsets that is manage by the bios as there is in the OS. you never see this complexity, and most people don't even know about it. It's quite messy.
ron
Hi,
On Fri, Mar 09, 2007 at 01:58:38AM +0100, Michal Pomorski wrote:
Take for instance nForce2 chipset and please correct me if i am wrong. Linux have full hardware support for it right ? (it should since i use one) Linux doesnt use bios functions because it controlls all the hardware on the motherboard right? So if there is a way for linux to controll the hardware why is it impossible to implement it in a free bios?
What is so special about linux bios that needs special vendor support that linux os doesnt?
One important thing is RAM initialization. When Linux takes over, the BIOS has already programmed the northbridge/chipset to properly set up and enable the RAM of your computer. So Linux doesn't have to care about setting up RAM...
In the BIOS, we must do just that, and that requires totally different code than what is in Linux itself. And special knowledge from datasheets which are probably not so common and easily available than data sheets for the "higher level" stuff...
Uwe.
Uwe Hermann wrote:
What is so special about linux bios that needs special vendor support that linux os doesnt?
One important thing is RAM initialization. When Linux takes over, the BIOS has already programmed the northbridge/chipset to properly set up and enable the RAM of your computer. So Linux doesn't have to care about setting up RAM...
In the BIOS, we must do just that, and that requires totally different code than what is in Linux itself. And special knowledge from datasheets which are probably not so common and easily available than data sheets for the "higher level" stuff...
Are the datasheets enough to get the board supported by LinuxBIOS?
If so, which board has been supported by only relying on the datasheets?
Also, the factory bios contains a lot of ram timing info; can't this be used to get a generic/blind LinuxBIOS to init ram, and then payload from flash?
Thanks!
-- Al
* Al Boldi a1426z@gawab.com [070309 14:25]:
Are the datasheets enough to get the board supported by LinuxBIOS?
If so, which board has been supported by only relying on the datasheets?
This depends on the data sheets. The AMD64 (AMD8111/AMD8131) port has completely been developed from publicly available data sheets (including the publically available bios and kernel developers guide).
Very often, there are no publically available data sheets, or the publically available versions are censored and do not contain the required information to write a BIOS/Firmware. This is the case for basically all modern Intel chipsets.
Also, the factory bios contains a lot of ram timing info; can't this be used to get a generic/blind LinuxBIOS to init ram, and then payload from flash?
The ram timing info is stored on the RAM modules themselfes, in a small chip called SPD-ROM (Serial Presence Detect). The BIOS has to look at each single RAM module and find out a common denominator that works with all modules used in the system.
Stefan
Quoting Stefan Reinauer stepan@coresystems.de:
- Al Boldi a1426z@gawab.com [070309 14:25]:
Are the datasheets enough to get the board supported by LinuxBIOS?
If so, which board has been supported by only relying on the datasheets?
This depends on the data sheets. The AMD64 (AMD8111/AMD8131) port has completely been developed from publicly available data sheets (including the publically available bios and kernel developers guide).
Very often, there are no publically available data sheets, or the publically available versions are censored and do not contain the required information to write a BIOS/Firmware. This is the case for basically all modern Intel chipsets.
Also, the factory bios contains a lot of ram timing info; can't this be used to get a generic/blind LinuxBIOS to init ram, and then payload from flash?
The ram timing info is stored on the RAM modules themselfes, in a small chip called SPD-ROM (Serial Presence Detect). The BIOS has to look at each single RAM module and find out a common denominator that works with all modules used in the system.
Stefan
-- coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br. Tel.: +49 761 7668825 • Fax: +49 761 7664613 Email: info@coresystems.de • http://www.coresystems.de/ Registergericht: Amtsgericht Freiburg • HRB 7656 Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866
--
Correct me if I am wrong, can't the SPD-ROM be read through the i2c (smbus). I know, if you have a supported super IO you can use lmsensors to read the SPD-ROM. Would that be helpful in this case?
Thanks - Joe
* joe@smittys.pointclark.net joe@smittys.pointclark.net [070309 17:40]:
Correct me if I am wrong, can't the SPD-ROM be read through the i2c (smbus). I know, if you have a supported super IO you can use lmsensors to read the SPD-ROM. Would that be helpful in this case?
Yes, this is correct. SPD-ROM can be read via the i2c bus. This means the initial requirement for LinuxBIOS basically looks like this:
* get superio working (serial output) * get i2c working (spdrom) * get ram init working.
looking at lmsensors might give you a hint, but all the linux framework it containss, it is a lot more complex than our i2c drivers.
Stefan
On Fri, 9 Mar 2007, Michal Pomorski wrote:
Take for instance nForce2 chipset and please correct me if i am wrong. Linux have full hardware support for it right ? (it should since i use one) Linux doesnt use bios functions because it controlls all the hardware on the motherboard right? So if there is a way for linux to controll the hardware why is it impossible to implement it in a free bios?
What is so special about linux bios that needs special vendor support that linux os doesnt?
When you turn on your computer the only thing working is the power supply, the cpu, and the bios chip. Everything else is a pile of junk. So the cpu runs a little program that resides in the bios to initialize enough of the hardware to turn the box into a working computer.
In the old days the bios chip contained a part of the operating system in addition to the startup code. Linux does not use that old os.
Linux bios needs the same information that was given to the factory bios people: How to do the initial turn-on of "xxx".
russ
So we know that Gigabyte GA-M57SLI-S4 works well with linuxbios. How about other models from the same producer. GA-M55S-S3 for instance...
On Tue, Mar 13, 2007 at 04:33:33PM +0100, Michal wrote:
So we know that Gigabyte GA-M57SLI-S4 works well with linuxbios. How about other models from the same producer. GA-M55S-S3 for instance...
It looks similar, but nForce 550 instead of nForce 570 could cause problems. Can you send lspci?
//Peter