|
ReactOS 0.4.17-dev-683-g0dafdc5
|
#include <uacpi/platform/atomic.h>#include <uacpi/internal/osi.h>#include <uacpi/internal/helpers.h>#include <uacpi/internal/stdlib.h>#include <uacpi/internal/utilities.h>#include <uacpi/internal/mutex.h>#include <uacpi/kernel_api.h>
Go to the source code of this file.
Classes | |
| struct | registered_interface |
Macros | |
| #define | WINDOWS(string, interface) |
| #define | HOST_FEATURE(string, type) |
Variables | |
| static uacpi_handle | interface_mutex |
| static struct registered_interface * | registered_interfaces |
| static uacpi_interface_handler | interface_handler |
| static uacpi_u32 | latest_queried_interface |
| static struct registered_interface | predefined_interfaces [] |
|
static |
Definition at line 279 of file osi.c.
Referenced by uacpi_disable_host_interface(), and uacpi_enable_host_interface().
|
static |
|
static |
Definition at line 141 of file osi.c.
| uacpi_status uacpi_bulk_configure_interfaces | ( | uacpi_interface_action | action, |
| uacpi_interface_kind | kind | ||
| ) |
Bulk interface configuration, used to disable or enable all interfaces that match 'kind'.
This is generally only needed to work around buggy hardware, for example if requested from the kernel command line.
By default, all vendor strings (like "Windows 2000") are enabled, and all host features (like "3.0 Thermal Model") are disabled.
Definition at line 337 of file osi.c.
Definition at line 106 of file osi.c.
Referenced by uacpi_state_reset().
| uacpi_status uacpi_disable_host_interface | ( | uacpi_host_interface | type | ) |
| uacpi_status uacpi_enable_host_interface | ( | uacpi_host_interface | type | ) |
Same as install/uninstall interface, but comes with an enum of known interfaces defined by the ACPI specification. These are disabled by default as they depend on the host kernel support.
| uacpi_status uacpi_handle_osi | ( | const uacpi_char * | string, |
| uacpi_bool * | out_value | ||
| ) |
Definition at line 362 of file osi.c.
Referenced by uacpi_osi().
| uacpi_status uacpi_initialize_interfaces | ( | void | ) |
Definition at line 90 of file osi.c.
Referenced by uacpi_initialize().
| uacpi_status uacpi_install_interface | ( | const uacpi_char * | name, |
| uacpi_interface_kind | kind | ||
| ) |
Install or uninstall an interface.
The interface kind is used for matching during interface enumeration in uacpi_bulk_configure_interfaces().
After installing an interface, all _OSI queries report it as supported.
Definition at line 173 of file osi.c.
| uacpi_vendor_interface uacpi_latest_queried_vendor_interface | ( | void | ) |
Returns the "latest" AML-queried _OSI vendor interface.
E.g. for the following AML code: _OSI("Windows 2021") _OSI("Windows 2000")
This function will return UACPI_VENDOR_INTERFACE_WINDOWS_11, since this is the latest version of the interface the code queried, even though the "Windows 2000" query came after "Windows 2021".
Definition at line 136 of file osi.c.
| uacpi_status uacpi_set_interface_query_handler | ( | uacpi_interface_handler | handler | ) |
Set a custom interface query (_OSI) handler.
This callback will be invoked for each _OSI query with the value passed in the _OSI, as well as whether the interface was detected as supported. The callback is able to override the return value dynamically or leave it untouched if desired (e.g. if it simply wants to log something or do internal bookkeeping of some kind).
| uacpi_status uacpi_uninstall_interface | ( | const uacpi_char * | name | ) |
Definition at line 226 of file osi.c.
|
static |
Definition at line 28 of file osi.c.
Referenced by uacpi_deinitialize_interfaces(), uacpi_handle_osi(), and uacpi_set_interface_query_handler().
|
static |
Definition at line 26 of file osi.c.
Referenced by configure_host_interface(), uacpi_bulk_configure_interfaces(), uacpi_deinitialize_interfaces(), uacpi_handle_osi(), uacpi_initialize_interfaces(), uacpi_install_interface(), uacpi_set_interface_query_handler(), and uacpi_uninstall_interface().
|
static |
Definition at line 29 of file osi.c.
Referenced by uacpi_deinitialize_interfaces(), uacpi_handle_osi(), and uacpi_latest_queried_vendor_interface().
|
static |
Definition at line 53 of file osi.c.
Referenced by uacpi_initialize_interfaces().
|
static |
Definition at line 27 of file osi.c.
Referenced by find_host_interface_unlocked(), find_interface_unlocked(), uacpi_bulk_configure_interfaces(), uacpi_deinitialize_interfaces(), uacpi_initialize_interfaces(), and uacpi_uninstall_interface().