Commit 1cf70ae6 authored by Changbin Du's avatar Changbin Du Committed by Rafael J. Wysocki

Documentation: ACPI: move osi.txt to firmware-guide/acpi and convert to reST

This converts the plain text documentation to reStructuredText format
and adds it to Sphinx TOC tree.

No essential content change.
Signed-off-by: default avatarChangbin Du <changbin.du@gmail.com>
Reviewed-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent c24bc66e
...@@ -9,3 +9,4 @@ ACPI Support ...@@ -9,3 +9,4 @@ ACPI Support
namespace namespace
enumeration enumeration
osi
.. SPDX-License-Identifier: GPL-2.0
==========================
ACPI _OSI and _REV methods ACPI _OSI and _REV methods
-------------------------- ==========================
An ACPI BIOS can use the "Operating System Interfaces" method (_OSI) An ACPI BIOS can use the "Operating System Interfaces" method (_OSI)
to find out what the operating system supports. Eg. If BIOS to find out what the operating system supports. Eg. If BIOS
...@@ -14,7 +17,7 @@ This document explains how and why the BIOS and Linux should use these methods. ...@@ -14,7 +17,7 @@ This document explains how and why the BIOS and Linux should use these methods.
It also explains how and why they are widely misused. It also explains how and why they are widely misused.
How to use _OSI How to use _OSI
--------------- ===============
Linux runs on two groups of machines -- those that are tested by the OEM Linux runs on two groups of machines -- those that are tested by the OEM
to be compatible with Linux, and those that were never tested with Linux, to be compatible with Linux, and those that were never tested with Linux,
...@@ -62,7 +65,7 @@ the string when that support is added to the kernel. ...@@ -62,7 +65,7 @@ the string when that support is added to the kernel.
That was easy. Read on, to find out how to do it wrong. That was easy. Read on, to find out how to do it wrong.
Before _OSI, there was _OS Before _OSI, there was _OS
-------------------------- ==========================
ACPI 1.0 specified "_OS" as an ACPI 1.0 specified "_OS" as an
"object that evaluates to a string that identifies the operating system." "object that evaluates to a string that identifies the operating system."
...@@ -96,7 +99,7 @@ That is the *only* viable strategy, as that is what modern Windows does, ...@@ -96,7 +99,7 @@ That is the *only* viable strategy, as that is what modern Windows does,
and so doing otherwise could steer the BIOS down an untested path. and so doing otherwise could steer the BIOS down an untested path.
_OSI is born, and immediately misused _OSI is born, and immediately misused
-------------------------------------- =====================================
With _OSI, the *BIOS* provides the string describing an interface, With _OSI, the *BIOS* provides the string describing an interface,
and asks the OS: "YES/NO, are you compatible with this interface?" and asks the OS: "YES/NO, are you compatible with this interface?"
...@@ -144,7 +147,7 @@ catastrophic failure resulting from the BIOS taking paths that ...@@ -144,7 +147,7 @@ catastrophic failure resulting from the BIOS taking paths that
were never validated under *any* OS. were never validated under *any* OS.
Do not use _REV Do not use _REV
--------------- ===============
Since _OSI("Linux") went away, some BIOS writers used _REV Since _OSI("Linux") went away, some BIOS writers used _REV
to support Linux and Windows differences in the same BIOS. to support Linux and Windows differences in the same BIOS.
...@@ -164,7 +167,7 @@ from mid-2015 onward. The ACPI specification will also be updated ...@@ -164,7 +167,7 @@ from mid-2015 onward. The ACPI specification will also be updated
to reflect that _REV is deprecated, and always returns 2. to reflect that _REV is deprecated, and always returns 2.
Apple Mac and _OSI("Darwin") Apple Mac and _OSI("Darwin")
---------------------------- ============================
On Apple's Mac platforms, the ACPI BIOS invokes _OSI("Darwin") On Apple's Mac platforms, the ACPI BIOS invokes _OSI("Darwin")
to determine if the machine is running Apple OSX. to determine if the machine is running Apple OSX.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment