summaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2014-01-08 13:43:34 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-01-08 15:31:36 +0100
commit671cc68dc61f029d44b43a681356078e02d8dab8 (patch)
tree1f349e17ae952e874df16770e3e25bf86008df9b /include/acpi
parentb1c1029d72730bd18cee3518965cf699af708322 (diff)
ACPICA: Back port and refine validation of the XSDT root table.
Some platforms contain an XSDT that is ill-formed or otherwise invalid (such as containing some or all entries that are NULL pointers). This change adds a new function to validate the XSDT before actually using it. If the XSDT is found to be invalid, ACPICA will now fall back to using the RSDT instead. This feature is already in the Linux kernel. When it is back ported to ACPICA, code is refined to follow ACPICA coding style and this patch is the generation of the integration. Original-by: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/actbl.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/acpi/actbl.h b/include/acpi/actbl.h
index 94970880126..325aeae1fa9 100644
--- a/include/acpi/actbl.h
+++ b/include/acpi/actbl.h
@@ -182,6 +182,9 @@ struct acpi_table_xsdt {
u64 table_offset_entry[1]; /* Array of pointers to ACPI tables */
};
+#define ACPI_RSDT_ENTRY_SIZE (sizeof (u32))
+#define ACPI_XSDT_ENTRY_SIZE (sizeof (u64))
+
/*******************************************************************************
*
* FACS - Firmware ACPI Control Structure (FACS)