Hi BIOS! My Name Is “Linux”, Or Is It?
|
|
Comments (5)
that is worth reading. I think it will help explain why strange things happen when Linux is installed on some hardware.
Link to the PDF: ftp://ftp.suse.com/pub/people/trenn/
ACPI_BIOS_on_Linux_guide/acpi_guideline_for_vendors.pdf
Reading through that, it occurs to me how really badly designed that ACPI in the BIOS (and the BIOS in general) really is. It's so bad that http://boycottnovell.com/2008/07/25/foxconn-bios-acpi/ doesn't seem too far fetched anymore. Checking version strings is really a big no-no. BIOS designers should be checking for capabilities and not worry about what OS is running. E.g.:
If ( _Have ("MonitorSuspend", "1.0") ) { # Do something clever }
If ( _Have("HDDSuspend", "2.0") ) { # Do something smart } Else { If ( _Have("HDDSuspend", "1.0") ) { # Do something a bit less smart } }
etcetera. This is really API design 101. Bad ACPI designers. No twinkie for you!
Reading through that, it occurs to me how really badly designed that ACPI in the BIOS (and the BIOS in general) really is. It's so bad that http://boycottnovell.com/2008/07/25/foxconn-bios-acpi/ doesn't seem too far fetched anymore. Checking version strings is really a big no-no. BIOS designers should be checking for capabilities and not worry about what OS is running. E.g.:
If ( _Have ("MonitorSuspend", "1.0") ) { # Do something clever }
If ( _Have("HDDSuspend", "2.0") ) { # Do something smart } Else { If ( _Have("HDDSuspend", "1.0") ) { # Do something a bit less smart } }
etcetera. This is really API design 101. Bad ACPI designers. No twinkie for you!
Sander, your ftp link broke formating.
Should be fixed now.
thanks, I can read the whole thing now.
Post a comment
A free account is needed to post. Write your comment here first: your text is kept in this browser while you sign up or log in, and is waiting for you when you come back.
Your message:Markdown: **bold**, *italic*, [text](https://link), - lists, > quotes, $x^2$ for math. Formatting help
Sign up and post (it is free) or Log in and post
