aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/tables/tbxfroot.c
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2006-01-27 16:43:00 -0500
committerLen Brown <len.brown@intel.com>2006-01-31 03:25:09 -0500
commitb8e4d89357fc434618a59c1047cac72641191805 (patch)
treeac97fcc6fdc277c682365900663872c96f2420bd /drivers/acpi/tables/tbxfroot.c
parent292dd876ee765c478b27c93cc51e93a558ed58bf (diff)
[ACPI] ACPICA 20060127
Implemented support in the Resource Manager to allow unresolved namestring references within resource package objects for the _PRT method. This support is in addition to the previously implemented unresolved reference support within the AML parser. If the interpreter slack mode is enabled (true on Linux unless acpi=strict), these unresolved references will be passed through to the caller as a NULL package entry. http://bugzilla.kernel.org/show_bug.cgi?id=5741 Implemented and deployed new macros and functions for error and warning messages across the subsystem. These macros are simpler and generate less code than their predecessors. The new macros ACPI_ERROR, ACPI_EXCEPTION, ACPI_WARNING, and ACPI_INFO replace the ACPI_REPORT_* macros. Implemented the acpi_cpu_flags type to simplify host OS integration of the Acquire/Release Lock OSL interfaces. Suggested by Steven Rostedt and Andrew Morton. Fixed a problem where Alias ASL operators are sometimes not correctly resolved. causing AE_AML_INTERNAL http://bugzilla.kernel.org/show_bug.cgi?id=5189 http://bugzilla.kernel.org/show_bug.cgi?id=5674 Fixed several problems with the implementation of the ConcatenateResTemplate ASL operator. As per the ACPI specification, zero length buffers are now treated as a single EndTag. One-length buffers always cause a fatal exception. Non-zero length buffers that do not end with a full 2-byte EndTag cause a fatal exception. Fixed a possible structure overwrite in the AcpiGetObjectInfo external interface. (With assistance from Thomas Renninger) Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/tables/tbxfroot.c')
-rw-r--r--drivers/acpi/tables/tbxfroot.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/drivers/acpi/tables/tbxfroot.c b/drivers/acpi/tables/tbxfroot.c
index 6538ed818f5b..a62db6af83c9 100644
--- a/drivers/acpi/tables/tbxfroot.c
+++ b/drivers/acpi/tables/tbxfroot.c
@@ -396,8 +396,8 @@ acpi_status acpi_find_root_pointer(u32 flags, struct acpi_pointer *rsdp_address)
396 396
397 status = acpi_tb_find_rsdp(&table_info, flags); 397 status = acpi_tb_find_rsdp(&table_info, flags);
398 if (ACPI_FAILURE(status)) { 398 if (ACPI_FAILURE(status)) {
399 ACPI_REPORT_ERROR(("RSDP structure not found, %s Flags=%X\n", 399 ACPI_EXCEPTION((AE_INFO, status,
400 acpi_format_exception(status), flags)); 400 "RSDP structure not found - Flags=%X", flags));
401 401
402 return_ACPI_STATUS(AE_NO_ACPI_TABLES); 402 return_ACPI_STATUS(AE_NO_ACPI_TABLES);
403 } 403 }
@@ -502,7 +502,10 @@ acpi_tb_find_rsdp(struct acpi_table_desc *table_info, u32 flags)
502 ACPI_EBDA_PTR_LENGTH, 502 ACPI_EBDA_PTR_LENGTH,
503 (void *)&table_ptr); 503 (void *)&table_ptr);
504 if (ACPI_FAILURE(status)) { 504 if (ACPI_FAILURE(status)) {
505 ACPI_REPORT_ERROR(("Could not map memory at %8.8X for length %X\n", ACPI_EBDA_PTR_LOCATION, ACPI_EBDA_PTR_LENGTH)); 505 ACPI_ERROR((AE_INFO,
506 "Could not map memory at %8.8X for length %X",
507 ACPI_EBDA_PTR_LOCATION,
508 ACPI_EBDA_PTR_LENGTH));
506 509
507 return_ACPI_STATUS(status); 510 return_ACPI_STATUS(status);
508 } 511 }
@@ -526,7 +529,10 @@ acpi_tb_find_rsdp(struct acpi_table_desc *table_info, u32 flags)
526 ACPI_EBDA_WINDOW_SIZE, 529 ACPI_EBDA_WINDOW_SIZE,
527 (void *)&table_ptr); 530 (void *)&table_ptr);
528 if (ACPI_FAILURE(status)) { 531 if (ACPI_FAILURE(status)) {
529 ACPI_REPORT_ERROR(("Could not map memory at %8.8X for length %X\n", physical_address, ACPI_EBDA_WINDOW_SIZE)); 532 ACPI_ERROR((AE_INFO,
533 "Could not map memory at %8.8X for length %X",
534 physical_address,
535 ACPI_EBDA_WINDOW_SIZE));
530 536
531 return_ACPI_STATUS(status); 537 return_ACPI_STATUS(status);
532 } 538 }
@@ -556,7 +562,10 @@ acpi_tb_find_rsdp(struct acpi_table_desc *table_info, u32 flags)
556 (void *)&table_ptr); 562 (void *)&table_ptr);
557 563
558 if (ACPI_FAILURE(status)) { 564 if (ACPI_FAILURE(status)) {
559 ACPI_REPORT_ERROR(("Could not map memory at %8.8X for length %X\n", ACPI_HI_RSDP_WINDOW_BASE, ACPI_HI_RSDP_WINDOW_SIZE)); 565 ACPI_ERROR((AE_INFO,
566 "Could not map memory at %8.8X for length %X",
567 ACPI_HI_RSDP_WINDOW_BASE,
568 ACPI_HI_RSDP_WINDOW_SIZE));
560 569
561 return_ACPI_STATUS(status); 570 return_ACPI_STATUS(status);
562 } 571 }
@@ -625,7 +634,7 @@ acpi_tb_find_rsdp(struct acpi_table_desc *table_info, u32 flags)
625 634
626 /* A valid RSDP was not found */ 635 /* A valid RSDP was not found */
627 636
628 ACPI_REPORT_ERROR(("No valid RSDP was found\n")); 637 ACPI_ERROR((AE_INFO, "No valid RSDP was found"));
629 return_ACPI_STATUS(AE_NOT_FOUND); 638 return_ACPI_STATUS(AE_NOT_FOUND);
630} 639}
631 640