aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2016-11-30 02:21:34 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-12-01 08:28:23 -0500
commit173fcf80269969378c1ce4cb96b8f518f7081855 (patch)
tree32b5501d6ec97595e3935358130cb2d73f8ae9f5
parent170564d90b2e1fee4c85adc691f5b9c92e7813ea (diff)
ACPICA: Tables: Add an error message complaining driver bugs
ACPICA commit 68af3c3aa238dd8040e846ac6b4827a016434d8d During early OS boot stage, drivers that have mapped system memory should unmap it during the same stage. Linux kernel has an error message indicating the unbalanced early memory mappings. This patch back ports such error message into ACPICA for the early table mappings, so that ACPICA development environment is also aware of this OS specific requirement and thus is able to ensure the consistent quality locally. Lv Zheng. Link: https://github.com/acpica/acpica/commit/68af3c3a 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>
-rw-r--r--drivers/acpi/acpica/tbxface.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/acpi/acpica/tbxface.c b/drivers/acpi/acpica/tbxface.c
index 4ab6b9cd0aec..d5adb7ac4684 100644
--- a/drivers/acpi/acpica/tbxface.c
+++ b/drivers/acpi/acpica/tbxface.c
@@ -167,6 +167,7 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_initialize_tables)
167acpi_status ACPI_INIT_FUNCTION acpi_reallocate_root_table(void) 167acpi_status ACPI_INIT_FUNCTION acpi_reallocate_root_table(void)
168{ 168{
169 acpi_status status; 169 acpi_status status;
170 u32 i;
170 171
171 ACPI_FUNCTION_TRACE(acpi_reallocate_root_table); 172 ACPI_FUNCTION_TRACE(acpi_reallocate_root_table);
172 173
@@ -178,6 +179,21 @@ acpi_status ACPI_INIT_FUNCTION acpi_reallocate_root_table(void)
178 return_ACPI_STATUS(AE_SUPPORT); 179 return_ACPI_STATUS(AE_SUPPORT);
179 } 180 }
180 181
182 /*
183 * Ensure OS early boot logic, which is required by some hosts. If the
184 * table state is reported to be wrong, developers should fix the
185 * issue by invoking acpi_put_table() for the reported table during the
186 * early stage.
187 */
188 for (i = 0; i < acpi_gbl_root_table_list.current_table_count; ++i) {
189 if (acpi_gbl_root_table_list.tables[i].pointer) {
190 ACPI_ERROR((AE_INFO,
191 "Table [%4.4s] is not invalidated during early boot stage",
192 acpi_gbl_root_table_list.tables[i].
193 signature.ascii));
194 }
195 }
196
181 acpi_gbl_root_table_list.flags |= ACPI_ROOT_ALLOW_RESIZE; 197 acpi_gbl_root_table_list.flags |= ACPI_ROOT_ALLOW_RESIZE;
182 198
183 status = acpi_tb_resize_root_table_list(); 199 status = acpi_tb_resize_root_table_list();