summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/nsinit.c
diff options
context:
space:
mode:
authorMatthew Garrett <mjg@redhat.com>2010-05-26 11:50:48 +0800
committerLen Brown <len.brown@intel.com>2010-06-12 00:55:50 -0400
commitb681f7d9ab4d697a214fa4428795790c3a937a89 (patch)
treec5653b6da518198ca3d7fd13f5f8442428955e1f /drivers/acpi/acpica/nsinit.c
parent9cbfa18e8a7b34a32eddbd914a07f085962f50a8 (diff)
downloadlinux-b681f7d9ab4d697a214fa4428795790c3a937a89.tar.bz2
ACPICA: Truncate I/O addresses to 16 bits for Windows compatibility
This feature is optional and is enabled if the BIOS requests any Windows OSI strings. It can also be enabled by the host OS. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/acpica/nsinit.c')
-rw-r--r--drivers/acpi/acpica/nsinit.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/acpi/acpica/nsinit.c b/drivers/acpi/acpica/nsinit.c
index 9bd6f050f299..4e5272c313e0 100644
--- a/drivers/acpi/acpica/nsinit.c
+++ b/drivers/acpi/acpica/nsinit.c
@@ -193,6 +193,15 @@ acpi_status acpi_ns_initialize_devices(void)
acpi_ns_init_one_device, NULL, &info,
NULL);
+ /*
+ * Any _OSI requests should be completed by now. If the BIOS has
+ * requested any Windows OSI strings, we will always truncate
+ * I/O addresses to 16 bits -- for Windows compatibility.
+ */
+ if (acpi_gbl_osi_data >= ACPI_OSI_WIN_2000) {
+ acpi_gbl_truncate_io_addresses = TRUE;
+ }
+
ACPI_FREE(info.evaluate_info);
if (ACPI_FAILURE(status)) {
goto error_exit;