aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2014-01-08 00:43:34 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-01-08 09:31:36 -0500
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 94970880126f..325aeae1fa99 100644
--- a/include/acpi/actbl.h
+++ b/include/acpi/actbl.h
@@ -182,6 +182,9 @@ struct acpi_table_xsdt {
182 u64 table_offset_entry[1]; /* Array of pointers to ACPI tables */ 182 u64 table_offset_entry[1]; /* Array of pointers to ACPI tables */
183}; 183};
184 184
185#define ACPI_RSDT_ENTRY_SIZE (sizeof (u32))
186#define ACPI_XSDT_ENTRY_SIZE (sizeof (u64))
187
185/******************************************************************************* 188/*******************************************************************************
186 * 189 *
187 * FACS - Firmware ACPI Control Structure (FACS) 190 * FACS - Firmware ACPI Control Structure (FACS)