Most of you here had probably followed the "regressions" pointed out some weeks ago by Phoronix. I will not repeat all what have been told, except that the true guilt are the badly programmed BIOS. A good article sums up this on LWN ( lwn.net/Articles/449448 ) and probably elsewhere.
Most of time (always?) the BIOS are programmed in assembly. Like everywhere in computer science, it is important having a BIOS which respects standards, like ACPI. The ACPI tables are "compiled" (the word is probably not the perfect one) with a compiler. Several vendors provide compilers. For example: Microsoft, Intel, Award, etc. Some compilers seems to be more strict at the compile time, which seems to be the case of the Intel compiler, "iasl" (Intel ACPI Source Language compiler/decompiler). Furthermore, Intel provides a reference ACPI implementation called ACPICA ( acpica.org ) which is included within Linux. For your information, the ACPI standard is co-developed by Intel, Microsoft, Toshiba, HP, Phoenix and maybe other. That said, this doesn't means that they implement correctly the standards. Microsoft is a member of the W3C Consortium and however we see their HTML and CSS implementations...
What I have heard during these last events is that Microsoft (through its ACPI compiler) overlooks more easily "errors", knowing it can workaround them in the OS. Obviously this *can* results in BIOS more or less buggy, penalizing the others OS. Motherboards vendors (BIOS vendor to be correct) have the possibility to use the compiler of their choice. Have you ever noted on vendor's web sites, logos like "XXX recommends Windows"? Personally I don't feel this attractive and this is why I am interrogating on the good Linux support. Are the BIOS tested only with Windows?
This is why I want to collect here several BIOS data: which compiler use the vendors, etc. To do so, it's easy:
1ST STEP:
# yum install pmtools
# acpidump > acpi.dump
# acpixtract -l acpi.dump
Post here the results of the last command. Report also your motherboard model (you can get useful data thanks to dmidecode) and BIOS version. I will update my database. I have personally tested several motherboards. With help of different French Linux forums, I have collected more data already.
2ND STEP:
Intel provides a Linux-ready Firmware Kit, available on a LiveCD (79 MB) ( http://linuxfirmwarekit.org/download/firmwarekit-r3.iso ). You only have to launch it, wait 1 or 2 minutes, and there is a summary of the results based on different topics (memory handling, PCI resources, HPET, ACPI tables, and more). The results is a number of "Fail", "Warn" and "Pass" flags. This Linux-ready Firmware Kit seems to not be developed anymore, but I guess it can give us a idea of the quality of the BIOS.
RESULTS:
All the collected data are here:
Note 1) One thing that must become clearer is if the Linux-ready Firmware Kit can have different results if the BIOS parameters change (example: if the SpeedStep/Cool'n'Quiet is enabled/disabled).
Note 2) I'm not a BIOS or ACPI expert. So if I tell something wrong, please tell me. I will correct this!
Note 3) I don't know if the Linux-ready Firmware Kit can be executed on a running system.
Note 4) I'm not English native speaker.
Most of time (always?) the BIOS are programmed in assembly. Like everywhere in computer science, it is important having a BIOS which respects standards, like ACPI. The ACPI tables are "compiled" (the word is probably not the perfect one) with a compiler. Several vendors provide compilers. For example: Microsoft, Intel, Award, etc. Some compilers seems to be more strict at the compile time, which seems to be the case of the Intel compiler, "iasl" (Intel ACPI Source Language compiler/decompiler). Furthermore, Intel provides a reference ACPI implementation called ACPICA ( acpica.org ) which is included within Linux. For your information, the ACPI standard is co-developed by Intel, Microsoft, Toshiba, HP, Phoenix and maybe other. That said, this doesn't means that they implement correctly the standards. Microsoft is a member of the W3C Consortium and however we see their HTML and CSS implementations...
What I have heard during these last events is that Microsoft (through its ACPI compiler) overlooks more easily "errors", knowing it can workaround them in the OS. Obviously this *can* results in BIOS more or less buggy, penalizing the others OS. Motherboards vendors (BIOS vendor to be correct) have the possibility to use the compiler of their choice. Have you ever noted on vendor's web sites, logos like "XXX recommends Windows"? Personally I don't feel this attractive and this is why I am interrogating on the good Linux support. Are the BIOS tested only with Windows?
This is why I want to collect here several BIOS data: which compiler use the vendors, etc. To do so, it's easy:
1ST STEP:
# yum install pmtools
# acpidump > acpi.dump
# acpixtract -l acpi.dump
Post here the results of the last command. Report also your motherboard model (you can get useful data thanks to dmidecode) and BIOS version. I will update my database. I have personally tested several motherboards. With help of different French Linux forums, I have collected more data already.
2ND STEP:
Intel provides a Linux-ready Firmware Kit, available on a LiveCD (79 MB) ( http://linuxfirmwarekit.org/download/firmwarekit-r3.iso ). You only have to launch it, wait 1 or 2 minutes, and there is a summary of the results based on different topics (memory handling, PCI resources, HPET, ACPI tables, and more). The results is a number of "Fail", "Warn" and "Pass" flags. This Linux-ready Firmware Kit seems to not be developed anymore, but I guess it can give us a idea of the quality of the BIOS.
RESULTS:
All the collected data are here:
Note 1) One thing that must become clearer is if the Linux-ready Firmware Kit can have different results if the BIOS parameters change (example: if the SpeedStep/Cool'n'Quiet is enabled/disabled).
Note 2) I'm not a BIOS or ACPI expert. So if I tell something wrong, please tell me. I will correct this!
Note 3) I don't know if the Linux-ready Firmware Kit can be executed on a running system.
Note 4) I'm not English native speaker.
Comment