summaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2008-12-31 03:06:06 +0800
committerLen Brown <len.brown@intel.com>2008-12-31 01:17:09 -0500
commit06f5541960d02d5e0ddd8fd5c9a1554d85d94fa9 (patch)
tree2a86b61dd4e63d6a74450198c13f8c7430be9e69 /include/acpi
parent1685bd404dc2ecce2fdae6410e85ded2f2c0136d (diff)
downloadlinux-06f5541960d02d5e0ddd8fd5c9a1554d85d94fa9.tar.bz2
ACPICA: FADT parsing changes and fixes
1) Update the register lengths for the PM1 event blocks. The length must be divided by two in order to use these to access the status registers. 2) Add run-time option to use default register lengths to override a faulty FADT. 3) Add warning message if any of the X64 address structures contain a length that does not match the legacy length earlier in the FADT. 4) Move all FADT warning messages into the ValidateFadt function. 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 'include/acpi')
-rw-r--r--include/acpi/acglobal.h6
-rw-r--r--include/acpi/actypes.h8
2 files changed, 13 insertions, 1 deletions
diff --git a/include/acpi/acglobal.h b/include/acpi/acglobal.h
index 78f3c149f7ba..55eb5d618764 100644
--- a/include/acpi/acglobal.h
+++ b/include/acpi/acglobal.h
@@ -102,6 +102,12 @@ ACPI_EXTERN u8 ACPI_INIT_GLOBAL(acpi_gbl_create_osi_method, TRUE);
*/
ACPI_EXTERN u8 ACPI_INIT_GLOBAL(acpi_gbl_leave_wake_gpes_disabled, TRUE);
+/*
+ * Optionally use default values for the ACPI register widths. Set this to
+ * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
+ */
+ACPI_EXTERN u8 ACPI_INIT_GLOBAL(acpi_gbl_use_default_register_widths, FALSE);
+
/*****************************************************************************
*
* Debug support
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 24b2cef5a13f..03744d28dcf6 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -309,10 +309,16 @@ typedef u32 acpi_physical_address;
*
*****************************************************************************/
-/* Number of distinct GPE register blocks and register width */
+/* Number of distinct FADT-based GPE register blocks (GPE0 and GPE1) */
#define ACPI_MAX_GPE_BLOCKS 2
+
+/* Default ACPI register widths */
+
#define ACPI_GPE_REGISTER_WIDTH 8
+#define ACPI_PM1_REGISTER_WIDTH 16
+#define ACPI_PM2_REGISTER_WIDTH 8
+#define ACPI_PM_TIMER_WIDTH 32
/* Names within the namespace are 4 bytes long */