aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/tables
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
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')
-rw-r--r--drivers/acpi/tables/tbconvrt.c17
-rw-r--r--drivers/acpi/tables/tbget.c37
-rw-r--r--drivers/acpi/tables/tbgetall.c21
-rw-r--r--drivers/acpi/tables/tbinstal.c10
-rw-r--r--drivers/acpi/tables/tbrsdt.c18
-rw-r--r--drivers/acpi/tables/tbutils.c27
-rw-r--r--drivers/acpi/tables/tbxface.c19
-rw-r--r--drivers/acpi/tables/tbxfroot.c21
8 files changed, 102 insertions, 68 deletions
diff --git a/drivers/acpi/tables/tbconvrt.c b/drivers/acpi/tables/tbconvrt.c
index 48290b7e6ba..03b37d2223b 100644
--- a/drivers/acpi/tables/tbconvrt.c
+++ b/drivers/acpi/tables/tbconvrt.c
@@ -501,8 +501,8 @@ acpi_status acpi_tb_convert_table_fadt(void)
501 * at least as long as the version 1.0 FADT 501 * at least as long as the version 1.0 FADT
502 */ 502 */
503 if (acpi_gbl_FADT->length < sizeof(struct fadt_descriptor_rev1)) { 503 if (acpi_gbl_FADT->length < sizeof(struct fadt_descriptor_rev1)) {
504 ACPI_REPORT_ERROR(("FADT is invalid, too short: 0x%X\n", 504 ACPI_ERROR((AE_INFO, "FADT is invalid, too short: 0x%X",
505 acpi_gbl_FADT->length)); 505 acpi_gbl_FADT->length));
506 return_ACPI_STATUS(AE_INVALID_TABLE_LENGTH); 506 return_ACPI_STATUS(AE_INVALID_TABLE_LENGTH);
507 } 507 }
508 508
@@ -517,7 +517,10 @@ acpi_status acpi_tb_convert_table_fadt(void)
517 if (acpi_gbl_FADT->length < sizeof(struct fadt_descriptor_rev2)) { 517 if (acpi_gbl_FADT->length < sizeof(struct fadt_descriptor_rev2)) {
518 /* Length is too short to be a V2.0 table */ 518 /* Length is too short to be a V2.0 table */
519 519
520 ACPI_REPORT_WARNING(("Inconsistent FADT length (0x%X) and revision (0x%X), using FADT V1.0 portion of table\n", acpi_gbl_FADT->length, acpi_gbl_FADT->revision)); 520 ACPI_WARNING((AE_INFO,
521 "Inconsistent FADT length (0x%X) and revision (0x%X), using FADT V1.0 portion of table",
522 acpi_gbl_FADT->length,
523 acpi_gbl_FADT->revision));
521 524
522 acpi_tb_convert_fadt1(local_fadt, 525 acpi_tb_convert_fadt1(local_fadt,
523 (void *)acpi_gbl_FADT); 526 (void *)acpi_gbl_FADT);
@@ -582,13 +585,15 @@ acpi_status acpi_tb_build_common_facs(struct acpi_table_desc *table_info)
582 /* Absolute minimum length is 24, but the ACPI spec says 64 */ 585 /* Absolute minimum length is 24, but the ACPI spec says 64 */
583 586
584 if (acpi_gbl_FACS->length < 24) { 587 if (acpi_gbl_FACS->length < 24) {
585 ACPI_REPORT_ERROR(("Invalid FACS table length: 0x%X\n", 588 ACPI_ERROR((AE_INFO, "Invalid FACS table length: 0x%X",
586 acpi_gbl_FACS->length)); 589 acpi_gbl_FACS->length));
587 return_ACPI_STATUS(AE_INVALID_TABLE_LENGTH); 590 return_ACPI_STATUS(AE_INVALID_TABLE_LENGTH);
588 } 591 }
589 592
590 if (acpi_gbl_FACS->length < 64) { 593 if (acpi_gbl_FACS->length < 64) {
591 ACPI_REPORT_WARNING(("FACS is shorter than the ACPI specification allows: 0x%X, using anyway\n", acpi_gbl_FACS->length)); 594 ACPI_WARNING((AE_INFO,
595 "FACS is shorter than the ACPI specification allows: 0x%X, using anyway",
596 acpi_gbl_FACS->length));
592 } 597 }
593 598
594 /* Copy fields to the new FACS */ 599 /* Copy fields to the new FACS */
diff --git a/drivers/acpi/tables/tbget.c b/drivers/acpi/tables/tbget.c
index 0fedf4b27ea..09b4ee6dfd6 100644
--- a/drivers/acpi/tables/tbget.c
+++ b/drivers/acpi/tables/tbget.c
@@ -91,9 +91,9 @@ acpi_tb_get_table(struct acpi_pointer *address,
91 91
92 status = acpi_tb_get_table_body(address, &header, table_info); 92 status = acpi_tb_get_table_body(address, &header, table_info);
93 if (ACPI_FAILURE(status)) { 93 if (ACPI_FAILURE(status)) {
94 ACPI_REPORT_ERROR(("Could not get ACPI table (size %X), %s\n", 94 ACPI_EXCEPTION((AE_INFO, status,
95 header.length, 95 "Could not get ACPI table (size %X)",
96 acpi_format_exception(status))); 96 header.length));
97 return_ACPI_STATUS(status); 97 return_ACPI_STATUS(status);
98 } 98 }
99 99
@@ -148,7 +148,6 @@ acpi_tb_get_table_header(struct acpi_pointer *address,
148 sizeof(struct acpi_table_header), 148 sizeof(struct acpi_table_header),
149 (void *)&header); 149 (void *)&header);
150 if (ACPI_FAILURE(status)) { 150 if (ACPI_FAILURE(status)) {
151 ACPI_REPORT_ERROR(("Could not map memory at %8.8X%8.8X for length %X\n", ACPI_FORMAT_UINT64(address->pointer.physical), sizeof(struct acpi_table_header)));
152 return_ACPI_STATUS(status); 151 return_ACPI_STATUS(status);
153 } 152 }
154 153
@@ -161,8 +160,8 @@ acpi_tb_get_table_header(struct acpi_pointer *address,
161 160
162 default: 161 default:
163 162
164 ACPI_REPORT_ERROR(("Invalid address flags %X\n", 163 ACPI_ERROR((AE_INFO, "Invalid address flags %X",
165 address->pointer_type)); 164 address->pointer_type));
166 return_ACPI_STATUS(AE_BAD_PARAMETER); 165 return_ACPI_STATUS(AE_BAD_PARAMETER);
167 } 166 }
168 167
@@ -253,8 +252,8 @@ acpi_tb_table_override(struct acpi_table_header *header,
253 if (ACPI_FAILURE(status)) { 252 if (ACPI_FAILURE(status)) {
254 /* Some severe error from the OSL, but we basically ignore it */ 253 /* Some severe error from the OSL, but we basically ignore it */
255 254
256 ACPI_REPORT_ERROR(("Could not override ACPI table, %s\n", 255 ACPI_EXCEPTION((AE_INFO, status,
257 acpi_format_exception(status))); 256 "Could not override ACPI table"));
258 return_ACPI_STATUS(status); 257 return_ACPI_STATUS(status);
259 } 258 }
260 259
@@ -273,15 +272,14 @@ acpi_tb_table_override(struct acpi_table_header *header,
273 272
274 status = acpi_tb_get_this_table(&address, new_table, table_info); 273 status = acpi_tb_get_this_table(&address, new_table, table_info);
275 if (ACPI_FAILURE(status)) { 274 if (ACPI_FAILURE(status)) {
276 ACPI_REPORT_ERROR(("Could not copy override ACPI table, %s\n", 275 ACPI_EXCEPTION((AE_INFO, status, "Could not copy ACPI table"));
277 acpi_format_exception(status)));
278 return_ACPI_STATUS(status); 276 return_ACPI_STATUS(status);
279 } 277 }
280 278
281 /* Copy the table info */ 279 /* Copy the table info */
282 280
283 ACPI_REPORT_INFO(("Table [%4.4s] replaced by host OS\n", 281 ACPI_INFO((AE_INFO, "Table [%4.4s] replaced by host OS",
284 table_info->pointer->signature)); 282 table_info->pointer->signature));
285 283
286 return_ACPI_STATUS(AE_OK); 284 return_ACPI_STATUS(AE_OK);
287} 285}
@@ -327,7 +325,9 @@ acpi_tb_get_this_table(struct acpi_pointer *address,
327 325
328 full_table = ACPI_MEM_ALLOCATE(header->length); 326 full_table = ACPI_MEM_ALLOCATE(header->length);
329 if (!full_table) { 327 if (!full_table) {
330 ACPI_REPORT_ERROR(("Could not allocate table memory for [%4.4s] length %X\n", header->signature, header->length)); 328 ACPI_ERROR((AE_INFO,
329 "Could not allocate table memory for [%4.4s] length %X",
330 header->signature, header->length));
331 return_ACPI_STATUS(AE_NO_MEMORY); 331 return_ACPI_STATUS(AE_NO_MEMORY);
332 } 332 }
333 333
@@ -351,7 +351,12 @@ acpi_tb_get_this_table(struct acpi_pointer *address,
351 (acpi_size) header->length, 351 (acpi_size) header->length,
352 (void *)&full_table); 352 (void *)&full_table);
353 if (ACPI_FAILURE(status)) { 353 if (ACPI_FAILURE(status)) {
354 ACPI_REPORT_ERROR(("Could not map memory for table [%4.4s] at %8.8X%8.8X for length %X\n", header->signature, ACPI_FORMAT_UINT64(address->pointer.physical), header->length)); 354 ACPI_ERROR((AE_INFO,
355 "Could not map memory for table [%4.4s] at %8.8X%8.8X for length %X",
356 header->signature,
357 ACPI_FORMAT_UINT64(address->pointer.
358 physical),
359 header->length));
355 return (status); 360 return (status);
356 } 361 }
357 362
@@ -362,8 +367,8 @@ acpi_tb_get_this_table(struct acpi_pointer *address,
362 367
363 default: 368 default:
364 369
365 ACPI_REPORT_ERROR(("Invalid address flags %X\n", 370 ACPI_ERROR((AE_INFO, "Invalid address flags %X",
366 address->pointer_type)); 371 address->pointer_type));
367 return_ACPI_STATUS(AE_BAD_PARAMETER); 372 return_ACPI_STATUS(AE_BAD_PARAMETER);
368 } 373 }
369 374
diff --git a/drivers/acpi/tables/tbgetall.c b/drivers/acpi/tables/tbgetall.c
index 496f336b3e3..134e5dce0bc 100644
--- a/drivers/acpi/tables/tbgetall.c
+++ b/drivers/acpi/tables/tbgetall.c
@@ -152,7 +152,9 @@ acpi_tb_get_secondary_table(struct acpi_pointer *address,
152 /* Signature must match request */ 152 /* Signature must match request */
153 153
154 if (ACPI_STRNCMP(header.signature, signature, ACPI_NAME_SIZE)) { 154 if (ACPI_STRNCMP(header.signature, signature, ACPI_NAME_SIZE)) {
155 ACPI_REPORT_ERROR(("Incorrect table signature - wanted [%s] found [%4.4s]\n", signature, header.signature)); 155 ACPI_ERROR((AE_INFO,
156 "Incorrect table signature - wanted [%s] found [%4.4s]",
157 signature, header.signature));
156 return_ACPI_STATUS(AE_BAD_SIGNATURE); 158 return_ACPI_STATUS(AE_BAD_SIGNATURE);
157 } 159 }
158 160
@@ -231,14 +233,18 @@ acpi_status acpi_tb_get_required_tables(void)
231 */ 233 */
232 status = acpi_tb_get_primary_table(&address, &table_info); 234 status = acpi_tb_get_primary_table(&address, &table_info);
233 if ((status != AE_OK) && (status != AE_TABLE_NOT_SUPPORTED)) { 235 if ((status != AE_OK) && (status != AE_TABLE_NOT_SUPPORTED)) {
234 ACPI_REPORT_WARNING(("%s, while getting table at %8.8X%8.8X\n", acpi_format_exception(status), ACPI_FORMAT_UINT64(address.pointer.value))); 236 ACPI_WARNING((AE_INFO,
237 "%s, while getting table at %8.8X%8.8X",
238 acpi_format_exception(status),
239 ACPI_FORMAT_UINT64(address.pointer.
240 value)));
235 } 241 }
236 } 242 }
237 243
238 /* We must have a FADT to continue */ 244 /* We must have a FADT to continue */
239 245
240 if (!acpi_gbl_FADT) { 246 if (!acpi_gbl_FADT) {
241 ACPI_REPORT_ERROR(("No FADT present in RSDT/XSDT\n")); 247 ACPI_ERROR((AE_INFO, "No FADT present in RSDT/XSDT"));
242 return_ACPI_STATUS(AE_NO_ACPI_TABLES); 248 return_ACPI_STATUS(AE_NO_ACPI_TABLES);
243 } 249 }
244 250
@@ -248,7 +254,8 @@ acpi_status acpi_tb_get_required_tables(void)
248 */ 254 */
249 status = acpi_tb_convert_table_fadt(); 255 status = acpi_tb_convert_table_fadt();
250 if (ACPI_FAILURE(status)) { 256 if (ACPI_FAILURE(status)) {
251 ACPI_REPORT_ERROR(("Could not convert FADT to internal common format\n")); 257 ACPI_ERROR((AE_INFO,
258 "Could not convert FADT to internal common format"));
252 return_ACPI_STATUS(status); 259 return_ACPI_STATUS(status);
253 } 260 }
254 261
@@ -258,8 +265,8 @@ acpi_status acpi_tb_get_required_tables(void)
258 265
259 status = acpi_tb_get_secondary_table(&address, FACS_SIG, &table_info); 266 status = acpi_tb_get_secondary_table(&address, FACS_SIG, &table_info);
260 if (ACPI_FAILURE(status)) { 267 if (ACPI_FAILURE(status)) {
261 ACPI_REPORT_ERROR(("Could not get/install the FACS, %s\n", 268 ACPI_EXCEPTION((AE_INFO, status,
262 acpi_format_exception(status))); 269 "Could not get/install the FACS"));
263 return_ACPI_STATUS(status); 270 return_ACPI_STATUS(status);
264 } 271 }
265 272
@@ -278,7 +285,7 @@ acpi_status acpi_tb_get_required_tables(void)
278 285
279 status = acpi_tb_get_secondary_table(&address, DSDT_SIG, &table_info); 286 status = acpi_tb_get_secondary_table(&address, DSDT_SIG, &table_info);
280 if (ACPI_FAILURE(status)) { 287 if (ACPI_FAILURE(status)) {
281 ACPI_REPORT_ERROR(("Could not get/install the DSDT\n")); 288 ACPI_ERROR((AE_INFO, "Could not get/install the DSDT"));
282 return_ACPI_STATUS(status); 289 return_ACPI_STATUS(status);
283 } 290 }
284 291
diff --git a/drivers/acpi/tables/tbinstal.c b/drivers/acpi/tables/tbinstal.c
index e1c9faa3982..7ffd0fddb4e 100644
--- a/drivers/acpi/tables/tbinstal.c
+++ b/drivers/acpi/tables/tbinstal.c
@@ -128,8 +128,8 @@ acpi_status acpi_tb_install_table(struct acpi_table_desc *table_info)
128 128
129 status = acpi_ut_acquire_mutex(ACPI_MTX_TABLES); 129 status = acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
130 if (ACPI_FAILURE(status)) { 130 if (ACPI_FAILURE(status)) {
131 ACPI_REPORT_ERROR(("Could not acquire table mutex, %s\n", 131 ACPI_EXCEPTION((AE_INFO, status,
132 acpi_format_exception(status))); 132 "Could not acquire table mutex"));
133 return_ACPI_STATUS(status); 133 return_ACPI_STATUS(status);
134 } 134 }
135 135
@@ -146,9 +146,9 @@ acpi_status acpi_tb_install_table(struct acpi_table_desc *table_info)
146 146
147 status = acpi_tb_init_table_descriptor(table_info->type, table_info); 147 status = acpi_tb_init_table_descriptor(table_info->type, table_info);
148 if (ACPI_FAILURE(status)) { 148 if (ACPI_FAILURE(status)) {
149 ACPI_REPORT_ERROR(("Could not install table [%4.4s], %s\n", 149 ACPI_EXCEPTION((AE_INFO, status,
150 table_info->pointer->signature, 150 "Could not install table [%4.4s]",
151 acpi_format_exception(status))); 151 table_info->pointer->signature));
152 } 152 }
153 153
154 ACPI_DEBUG_PRINT((ACPI_DB_INFO, "%s located at %p\n", 154 ACPI_DEBUG_PRINT((ACPI_DB_INFO, "%s located at %p\n",
diff --git a/drivers/acpi/tables/tbrsdt.c b/drivers/acpi/tables/tbrsdt.c
index 17830902685..4d308220225 100644
--- a/drivers/acpi/tables/tbrsdt.c
+++ b/drivers/acpi/tables/tbrsdt.c
@@ -192,16 +192,21 @@ acpi_status acpi_tb_validate_rsdt(struct acpi_table_header *table_ptr)
192 if (no_match) { 192 if (no_match) {
193 /* Invalid RSDT or XSDT signature */ 193 /* Invalid RSDT or XSDT signature */
194 194
195 ACPI_REPORT_ERROR(("Invalid signature where RSDP indicates RSDT/XSDT should be located. RSDP:\n")); 195 ACPI_ERROR((AE_INFO,
196 "Invalid signature where RSDP indicates RSDT/XSDT should be located. RSDP:"));
196 197
197 ACPI_DUMP_BUFFER(acpi_gbl_RSDP, 20); 198 ACPI_DUMP_BUFFER(acpi_gbl_RSDP, 20);
198 199
199 ACPI_REPORT_ERROR(("RSDT/XSDT signature at %X (%p) is invalid\n", acpi_gbl_RSDP->rsdt_physical_address, (void *)(acpi_native_uint) acpi_gbl_RSDP->rsdt_physical_address)); 200 ACPI_ERROR((AE_INFO,
201 "RSDT/XSDT signature at %X (%p) is invalid",
202 acpi_gbl_RSDP->rsdt_physical_address,
203 (void *)(acpi_native_uint) acpi_gbl_RSDP->
204 rsdt_physical_address));
200 205
201 if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) { 206 if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) {
202 ACPI_REPORT_ERROR(("Looking for RSDT\n")) 207 ACPI_ERROR((AE_INFO, "Looking for RSDT"));
203 } else { 208 } else {
204 ACPI_REPORT_ERROR(("Looking for XSDT\n")) 209 ACPI_ERROR((AE_INFO, "Looking for XSDT"));
205 } 210 }
206 211
207 ACPI_DUMP_BUFFER((char *)table_ptr, 48); 212 ACPI_DUMP_BUFFER((char *)table_ptr, 48);
@@ -238,9 +243,8 @@ acpi_status acpi_tb_get_table_rsdt(void)
238 table_info.type = ACPI_TABLE_XSDT; 243 table_info.type = ACPI_TABLE_XSDT;
239 status = acpi_tb_get_table(&address, &table_info); 244 status = acpi_tb_get_table(&address, &table_info);
240 if (ACPI_FAILURE(status)) { 245 if (ACPI_FAILURE(status)) {
241 ACPI_REPORT_ERROR(("Could not get the RSDT/XSDT, %s\n", 246 ACPI_EXCEPTION((AE_INFO, status,
242 acpi_format_exception(status))); 247 "Could not get the RSDT/XSDT"));
243
244 return_ACPI_STATUS(status); 248 return_ACPI_STATUS(status);
245 } 249 }
246 250
diff --git a/drivers/acpi/tables/tbutils.c b/drivers/acpi/tables/tbutils.c
index 38c6749e43d..bc571592f08 100644
--- a/drivers/acpi/tables/tbutils.c
+++ b/drivers/acpi/tables/tbutils.c
@@ -149,8 +149,8 @@ acpi_tb_validate_table_header(struct acpi_table_header *table_header)
149 /* Verify that this is a valid address */ 149 /* Verify that this is a valid address */
150 150
151 if (!acpi_os_readable(table_header, sizeof(struct acpi_table_header))) { 151 if (!acpi_os_readable(table_header, sizeof(struct acpi_table_header))) {
152 ACPI_REPORT_ERROR(("Cannot read table header at %p\n", 152 ACPI_ERROR((AE_INFO,
153 table_header)); 153 "Cannot read table header at %p", table_header));
154 154
155 return (AE_BAD_ADDRESS); 155 return (AE_BAD_ADDRESS);
156 } 156 }
@@ -159,10 +159,12 @@ acpi_tb_validate_table_header(struct acpi_table_header *table_header)
159 159
160 ACPI_MOVE_32_TO_32(&signature, table_header->signature); 160 ACPI_MOVE_32_TO_32(&signature, table_header->signature);
161 if (!acpi_ut_valid_acpi_name(signature)) { 161 if (!acpi_ut_valid_acpi_name(signature)) {
162 ACPI_REPORT_ERROR(("Table signature at %p [%p] has invalid characters\n", table_header, &signature)); 162 ACPI_ERROR((AE_INFO,
163 "Table signature at %p [%p] has invalid characters",
164 table_header, &signature));
163 165
164 ACPI_REPORT_WARNING(("Invalid table signature found: [%4.4s]\n", 166 ACPI_WARNING((AE_INFO, "Invalid table signature found: [%4.4s]",
165 ACPI_CAST_PTR(char, &signature))); 167 ACPI_CAST_PTR(char, &signature)));
166 168
167 ACPI_DUMP_BUFFER(table_header, 169 ACPI_DUMP_BUFFER(table_header,
168 sizeof(struct acpi_table_header)); 170 sizeof(struct acpi_table_header));
@@ -172,9 +174,13 @@ acpi_tb_validate_table_header(struct acpi_table_header *table_header)
172 /* Validate the table length */ 174 /* Validate the table length */
173 175
174 if (table_header->length < sizeof(struct acpi_table_header)) { 176 if (table_header->length < sizeof(struct acpi_table_header)) {
175 ACPI_REPORT_ERROR(("Invalid length in table header %p name %4.4s\n", table_header, (char *)&signature)); 177 ACPI_ERROR((AE_INFO,
178 "Invalid length in table header %p name %4.4s",
179 table_header, (char *)&signature));
176 180
177 ACPI_REPORT_WARNING(("Invalid table header length (0x%X) found\n", (u32) table_header->length)); 181 ACPI_WARNING((AE_INFO,
182 "Invalid table header length (0x%X) found",
183 (u32) table_header->length));
178 184
179 ACPI_DUMP_BUFFER(table_header, 185 ACPI_DUMP_BUFFER(table_header,
180 sizeof(struct acpi_table_header)); 186 sizeof(struct acpi_table_header));
@@ -213,7 +219,10 @@ acpi_tb_verify_table_checksum(struct acpi_table_header * table_header)
213 /* Return the appropriate exception */ 219 /* Return the appropriate exception */
214 220
215 if (checksum) { 221 if (checksum) {
216 ACPI_REPORT_WARNING(("Invalid checksum in table [%4.4s] (%02X, sum %02X is not zero)\n", table_header->signature, (u32) table_header->checksum, (u32) checksum)); 222 ACPI_WARNING((AE_INFO,
223 "Invalid checksum in table [%4.4s] (%02X, sum %02X is not zero)",
224 table_header->signature,
225 (u32) table_header->checksum, (u32) checksum));
217 226
218 status = AE_BAD_CHECKSUM; 227 status = AE_BAD_CHECKSUM;
219 } 228 }
@@ -286,7 +295,7 @@ acpi_tb_handle_to_object(u16 table_id,
286 } 295 }
287 } 296 }
288 297
289 ACPI_REPORT_ERROR(("table_id=%X does not exist\n", table_id)); 298 ACPI_ERROR((AE_INFO, "table_id=%X does not exist", table_id));
290 return (AE_BAD_PARAMETER); 299 return (AE_BAD_PARAMETER);
291} 300}
292#endif 301#endif
diff --git a/drivers/acpi/tables/tbxface.c b/drivers/acpi/tables/tbxface.c
index 83a9ca8cb98..9fe53c9d5b9 100644
--- a/drivers/acpi/tables/tbxface.c
+++ b/drivers/acpi/tables/tbxface.c
@@ -75,8 +75,7 @@ acpi_status acpi_load_tables(void)
75 status = acpi_os_get_root_pointer(ACPI_LOGICAL_ADDRESSING, 75 status = acpi_os_get_root_pointer(ACPI_LOGICAL_ADDRESSING,
76 &rsdp_address); 76 &rsdp_address);
77 if (ACPI_FAILURE(status)) { 77 if (ACPI_FAILURE(status)) {
78 ACPI_REPORT_ERROR(("Could not get RSDP, %s\n", 78 ACPI_EXCEPTION((AE_INFO, status, "Could not get the RSDP"));
79 acpi_format_exception(status)));
80 goto error_exit; 79 goto error_exit;
81 } 80 }
82 81
@@ -86,8 +85,7 @@ acpi_status acpi_load_tables(void)
86 85
87 status = acpi_tb_verify_rsdp(&rsdp_address); 86 status = acpi_tb_verify_rsdp(&rsdp_address);
88 if (ACPI_FAILURE(status)) { 87 if (ACPI_FAILURE(status)) {
89 ACPI_REPORT_ERROR(("RSDP Failed validation: %s\n", 88 ACPI_EXCEPTION((AE_INFO, status, "During RSDP validation"));
90 acpi_format_exception(status)));
91 goto error_exit; 89 goto error_exit;
92 } 90 }
93 91
@@ -95,8 +93,7 @@ acpi_status acpi_load_tables(void)
95 93
96 status = acpi_tb_get_table_rsdt(); 94 status = acpi_tb_get_table_rsdt();
97 if (ACPI_FAILURE(status)) { 95 if (ACPI_FAILURE(status)) {
98 ACPI_REPORT_ERROR(("Could not load RSDT: %s\n", 96 ACPI_EXCEPTION((AE_INFO, status, "Could not load RSDT"));
99 acpi_format_exception(status)));
100 goto error_exit; 97 goto error_exit;
101 } 98 }
102 99
@@ -104,7 +101,8 @@ acpi_status acpi_load_tables(void)
104 101
105 status = acpi_tb_get_required_tables(); 102 status = acpi_tb_get_required_tables();
106 if (ACPI_FAILURE(status)) { 103 if (ACPI_FAILURE(status)) {
107 ACPI_REPORT_ERROR(("Could not get all required tables (DSDT/FADT/FACS): %s\n", acpi_format_exception(status))); 104 ACPI_EXCEPTION((AE_INFO, status,
105 "Could not get all required tables (DSDT/FADT/FACS)"));
108 goto error_exit; 106 goto error_exit;
109 } 107 }
110 108
@@ -114,17 +112,14 @@ acpi_status acpi_load_tables(void)
114 112
115 status = acpi_ns_load_namespace(); 113 status = acpi_ns_load_namespace();
116 if (ACPI_FAILURE(status)) { 114 if (ACPI_FAILURE(status)) {
117 ACPI_REPORT_ERROR(("Could not load namespace: %s\n", 115 ACPI_EXCEPTION((AE_INFO, status, "Could not load namespace"));
118 acpi_format_exception(status)));
119 goto error_exit; 116 goto error_exit;
120 } 117 }
121 118
122 return_ACPI_STATUS(AE_OK); 119 return_ACPI_STATUS(AE_OK);
123 120
124 error_exit: 121 error_exit:
125 ACPI_REPORT_ERROR(("Could not load tables: %s\n", 122 ACPI_EXCEPTION((AE_INFO, status, "Could not load tables"));
126 acpi_format_exception(status)));
127
128 return_ACPI_STATUS(status); 123 return_ACPI_STATUS(status);
129} 124}
130 125
diff --git a/drivers/acpi/tables/tbxfroot.c b/drivers/acpi/tables/tbxfroot.c
index 6538ed818f5..a62db6af83c 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