* ron minnich rminnich@lanl.gov [040601 22:50]:
word from someone who knows that acpi tables have many errors. Windows drivers work around the bugs in acpi tables. Linux follows the spec closely, hence the problems people see with linux+acpi.
Ron,
you are perfectly right with the fact that ACPI tables are very often buggy. But this strengthens the case against (some) commercial bios writers rather than against ACPI as a concept. Still it is a sound argument that the complexity of something that could be really simple drives bios writers to include these bugs.
Yet, there's often the case of ACPI tables working around bugs in Windows' ACPI implementation which can cause problems on Linux. Another one of the most stupid things I've ever seen is that ACPI can have different code paths for different OSes. Thus, of course ACPI writers go the usual way: "Works with Windows, we can ship it." I have seen quite a couple boards that were able to cope fine with Linux ACPI after Linux has been told to pass the Windows ID string to the ACPI code.
One thing that is generally good about ACPI (well in some sense) is that it is free of callbacks, which I often hear as a disadvantage of Open Firmware's interface. (While dropping callbacks in OF is just a matter of directly providing the FCode drivers to the OS and let a hosted Open Source OF implementation use it there)
Stefan