Re: Do not return true to all kind of Windows OSI calls

Thomas Renninger
2008-08-03T14:07:19Z

On Saturday 02 August 2008 09:48:43 pm Matthew Garrett wrote:
> http://www.microsoft.com/whdc/archive/_OSI-method.mspx :
>
> "Any follow-on operating system from Microsoft that can support the
> Windows XP feature set will also return TRUE for Windows 2001. For
> example, if Microsoft released a follow-on operating system in 2003, it
> will probably be assigned a string of Windows 2003. This operating
> system would then return TRUE for the strings Windows 2001 and Windows
> 2003, and it would return FALSE for all other strings."
>
> So, no, it is not a test for Linux. Windows reports all versions, not
> just the current one.

Yes that seems to be right.
Later versions explicitly check for linux/bsd:

If (\_OSI ("Windows 2006"))
{
Store (0x01, \WVIS)
}

If (\_OSI ("Linux"))
{
Store (0x01, \LNUX)
}

If (\_OSI ("FreeBSD"))
{
Store (0x01, \LNUX)
}

This is even worse, because that means that Lenovo and everyone
else who has to add Windows hotfixes to their BIOS and potentially
have to break their Linux supported OS by that cannot guarantee
their customers full Linux support (without providing a separate
Linux BIOS).

Thomas