osilinux

Firmware Test Suite - osilinux test

Section 5.7.2 of version 4.0a of the ACPI specification describes the _OSI (Operating System Interfaces) object. This object provides the firmware with the ability to query the operating system to determine the set of ACPI related interfaces, behaviours, or features that the operating system supports. For example, Windows Vista requires the latest ACPI backlight functionality (see Appendix B of the ACPI specification) and the firmware can use _OSI to detect this version of the operating system to enable this extra functionality.

Linux attempts to be compatible with the latest version of Windows, and will always return true to _OSI with all known Windows version strings. The intention is to make it impossible for the firmware to tell if the machine is running Linux. The implementation of _OSI can be found in the kernel sources in drivers/acpi/osl.c

_OSI has been used to detect an operating system version to try to work around bugs in the operating system. Trying to working around a Linux bug by detecting an operating system version using _OSI should be avoided at all costs - these workarounds can break with new versions of the kernel.

This test checks to see the _OSI() object can match on "Linux", which is redundant and unwanted since Linux does not identify itself as Linux. It seems that most firmware seems to fail this test.

Examples:

fwts oslinux -

..runs the test on your machine and dumps the output to stdout.

Explanation of test results

Certain test results may require a little more explanation. This section will try and give some context to specific test failures.

Error ID

Explanation

NoDSDT

Could not find the DSDT. Normally implies a broken ACPI implementation.

FirmwareTestSuite/Reference/osilinux (last edited 2016-01-11 07:25:23 by anthonywong)