aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2012-07-15 21:25:27 -0400
committerLen Brown <len.brown@intel.com>2012-07-17 00:05:49 -0400
commit62cdd14191cdc6749fbc5e489cf80f5149c9ca15 (patch)
tree362f22ede200a078a44a5accab1705c9818b54fd
parentbc7db1453902ec53cdbcb6a9807db0c527be990f (diff)
ACPICA: Add new interfaces for BIOS(firmware) errors and warnings
These new interfaces will be deployed across ACPICA in order to point a finger directly at any detected BIOS issues -- such as issues with ACPI tables, etc. https://www.acpica.org/bugzilla/show_bug.cgi?id=843 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>
-rw-r--r--drivers/acpi/acpica/utxferror.c68
-rw-r--r--include/acpi/acoutput.h4
-rw-r--r--include/acpi/acpixf.h8
3 files changed, 80 insertions, 0 deletions
diff --git a/drivers/acpi/acpica/utxferror.c b/drivers/acpi/acpica/utxferror.c
index 52b568af1819..87aaddf130ec 100644
--- a/drivers/acpi/acpica/utxferror.c
+++ b/drivers/acpi/acpica/utxferror.c
@@ -82,6 +82,8 @@ extern FILE *acpi_gbl_output_file;
82#define ACPI_MSG_EXCEPTION "ACPI Exception: " 82#define ACPI_MSG_EXCEPTION "ACPI Exception: "
83#define ACPI_MSG_WARNING "ACPI Warning: " 83#define ACPI_MSG_WARNING "ACPI Warning: "
84#define ACPI_MSG_INFO "ACPI: " 84#define ACPI_MSG_INFO "ACPI: "
85#define ACPI_MSG_BIOS_ERROR "ACPI BIOS Bug: Error: "
86#define ACPI_MSG_BIOS_WARNING "ACPI BIOS Bug: Warning: "
85/* 87/*
86 * Common message suffix 88 * Common message suffix
87 */ 89 */
@@ -218,6 +220,72 @@ acpi_info(const char *module_name, u32 line_number, const char *format, ...)
218 220
219ACPI_EXPORT_SYMBOL(acpi_info) 221ACPI_EXPORT_SYMBOL(acpi_info)
220 222
223/*******************************************************************************
224 *
225 * FUNCTION: acpi_bios_error
226 *
227 * PARAMETERS: module_name - Caller's module name (for error output)
228 * line_number - Caller's line number (for error output)
229 * format - Printf format string + additional args
230 *
231 * RETURN: None
232 *
233 * DESCRIPTION: Print "ACPI Firmware Error" message with module/line/version
234 * info
235 *
236 ******************************************************************************/
237void ACPI_INTERNAL_VAR_XFACE
238acpi_bios_error(const char *module_name,
239 u32 line_number, const char *format, ...)
240{
241 va_list arg_list;
242
243 ACPI_MSG_REDIRECT_BEGIN;
244 acpi_os_printf(ACPI_MSG_BIOS_ERROR);
245
246 va_start(arg_list, format);
247 acpi_os_vprintf(format, arg_list);
248 ACPI_MSG_SUFFIX;
249 va_end(arg_list);
250
251 ACPI_MSG_REDIRECT_END;
252}
253
254ACPI_EXPORT_SYMBOL(acpi_bios_error)
255
256/*******************************************************************************
257 *
258 * FUNCTION: acpi_bios_warning
259 *
260 * PARAMETERS: module_name - Caller's module name (for error output)
261 * line_number - Caller's line number (for error output)
262 * format - Printf format string + additional args
263 *
264 * RETURN: None
265 *
266 * DESCRIPTION: Print "ACPI Firmware Warning" message with module/line/version
267 * info
268 *
269 ******************************************************************************/
270void ACPI_INTERNAL_VAR_XFACE
271acpi_bios_warning(const char *module_name,
272 u32 line_number, const char *format, ...)
273{
274 va_list arg_list;
275
276 ACPI_MSG_REDIRECT_BEGIN;
277 acpi_os_printf(ACPI_MSG_BIOS_WARNING);
278
279 va_start(arg_list, format);
280 acpi_os_vprintf(format, arg_list);
281 ACPI_MSG_SUFFIX;
282 va_end(arg_list);
283
284 ACPI_MSG_REDIRECT_END;
285}
286
287ACPI_EXPORT_SYMBOL(acpi_bios_warning)
288
221/* 289/*
222 * The remainder of this module contains internal error functions that may 290 * The remainder of this module contains internal error functions that may
223 * be configured out. 291 * be configured out.
diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h
index d7bd661bfae7..f1cb332fe59e 100644
--- a/include/acpi/acoutput.h
+++ b/include/acpi/acoutput.h
@@ -213,6 +213,8 @@
213#define ACPI_WARNING(plist) acpi_warning plist 213#define ACPI_WARNING(plist) acpi_warning plist
214#define ACPI_EXCEPTION(plist) acpi_exception plist 214#define ACPI_EXCEPTION(plist) acpi_exception plist
215#define ACPI_ERROR(plist) acpi_error plist 215#define ACPI_ERROR(plist) acpi_error plist
216#define ACPI_BIOS_WARNING(plist) acpi_bios_warning plist
217#define ACPI_BIOS_ERROR(plist) acpi_bios_error plist
216#define ACPI_DEBUG_OBJECT(obj,l,i) acpi_ex_do_debug_object(obj,l,i) 218#define ACPI_DEBUG_OBJECT(obj,l,i) acpi_ex_do_debug_object(obj,l,i)
217 219
218#else 220#else
@@ -223,6 +225,8 @@
223#define ACPI_WARNING(plist) 225#define ACPI_WARNING(plist)
224#define ACPI_EXCEPTION(plist) 226#define ACPI_EXCEPTION(plist)
225#define ACPI_ERROR(plist) 227#define ACPI_ERROR(plist)
228#define ACPI_BIOS_WARNING(plist)
229#define ACPI_BIOS_ERROR(plist)
226#define ACPI_DEBUG_OBJECT(obj,l,i) 230#define ACPI_DEBUG_OBJECT(obj,l,i)
227 231
228#endif /* ACPI_NO_ERROR_MESSAGES */ 232#endif /* ACPI_NO_ERROR_MESSAGES */
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index 18f023a5e964..8f83f95c109d 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -529,6 +529,14 @@ void ACPI_INTERNAL_VAR_XFACE
529acpi_info(const char *module_name, 529acpi_info(const char *module_name,
530 u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3); 530 u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3);
531 531
532void ACPI_INTERNAL_VAR_XFACE
533acpi_bios_error(const char *module_name,
534 u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3);
535
536void ACPI_INTERNAL_VAR_XFACE
537acpi_bios_warning(const char *module_name,
538 u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3);
539
532/* 540/*
533 * Debug output 541 * Debug output
534 */ 542 */