On Wed, 2008-02-20 at 17:32 +0000, Matthew Garrett wrote: > Let's look at this differently. Most hardware is produced by vendors who > don't care about Linux. We need to make that hardware work anyway. The > only way we can achieve that is to be bug-compatible with Windows. > Therefore, any way in which Linux behaviour varies from Windows > behaviour is a bug. The only reason to export any indication that the > kernel is Linux is because our behaviour is not identical to Windows. > But, given that that's a bug, the solution should be to fix Linux and > not to encourage vendors to put workarounds in their firmware. So to what Windows version are we compatible? We currently return true for "Windows 2006". According to drivers/acpi/utilities/uteval.c we return true for all of these: "Windows 2000", /* Windows 2000 */ "Windows 2001", /* Windows XP */ "Windows 2001 SP1", /* Windows XP SP1 */ "Windows 2001 SP2", /* Windows XP SP2 */ "Windows 2001.1", /* Windows Server 2003 */ "Windows 2001.1 SP1", /* Windows Server 2003 SP1 - Added 03/2006 */ "Windows 2006", /* Windows Vista - Added 03/2006 */ Stuff added for "Windows 2001 SP2" might break Windows 2006. How do you want to handle this? Do you want to remove lower versions at some time? What about Longhorn or whatever coming up? Then these strings might branch into a server and a workstation Windows, to which one do you want to stay compatible, both again? All this does not make sense and it does not work. All this is an advantage for vendors who do not care about Linux, but it makes life really hard for vendors who want to support it. The _OSI interface is not thought for Linux kernel developers to stay compatible with Windows. It got invented for vendors being able to provide hot-fixes for their BIOS for Operating Systems they are willing to support. So what should a vendor do if he has a BIOS hotfix for Windows 2003 only. The fix workarounds an old W2003 AML bug. But this fix will break Linux and Vista on his machine. For Vista he can take care, Linux will break. And you are going to try to implement a workaround for an old W2003 OS bug (after people got angry because their machine they bought with Linux pre-loaded does not boot anymore after a BIOS update)... Your scenario only makes sense for Windows 2006 vendor fixes but also these are outdated soon, all this simply does not work... Thomas - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html