aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/executer/exdump.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/executer/exdump.c')
-rw-r--r--drivers/acpi/executer/exdump.c69
1 files changed, 49 insertions, 20 deletions
diff --git a/drivers/acpi/executer/exdump.c b/drivers/acpi/executer/exdump.c
index 51c9c29987c3..74f1b22601b3 100644
--- a/drivers/acpi/executer/exdump.c
+++ b/drivers/acpi/executer/exdump.c
@@ -5,7 +5,7 @@
5 *****************************************************************************/ 5 *****************************************************************************/
6 6
7/* 7/*
8 * Copyright (C) 2000 - 2007, R. Byron Moore 8 * Copyright (C) 2000 - 2008, Intel Corp.
9 * All rights reserved. 9 * All rights reserved.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
@@ -500,25 +500,28 @@ void acpi_ex_dump_operand(union acpi_operand_object *obj_desc, u32 depth)
500 acpi_os_printf("Reference: Debug\n"); 500 acpi_os_printf("Reference: Debug\n");
501 break; 501 break;
502 502
503 case AML_NAME_OP: 503 case AML_INDEX_OP:
504 504
505 ACPI_DUMP_PATHNAME(obj_desc->reference.object, 505 acpi_os_printf("Reference: Index %p\n",
506 "Reference: Name: ", ACPI_LV_INFO, 506 obj_desc->reference.object);
507 _COMPONENT);
508 ACPI_DUMP_ENTRY(obj_desc->reference.object,
509 ACPI_LV_INFO);
510 break; 507 break;
511 508
512 case AML_INDEX_OP: 509 case AML_LOAD_OP:
513 510
514 acpi_os_printf("Reference: Index %p\n", 511 acpi_os_printf("Reference: [DdbHandle] TableIndex %p\n",
515 obj_desc->reference.object); 512 obj_desc->reference.object);
516 break; 513 break;
517 514
518 case AML_REF_OF_OP: 515 case AML_REF_OF_OP:
519 516
520 acpi_os_printf("Reference: (RefOf) %p\n", 517 acpi_os_printf("Reference: (RefOf) %p [%s]\n",
521 obj_desc->reference.object); 518 obj_desc->reference.object,
519 acpi_ut_get_type_name(((union
520 acpi_operand_object
521 *)obj_desc->
522 reference.
523 object)->common.
524 type));
522 break; 525 break;
523 526
524 case AML_ARG_OP: 527 case AML_ARG_OP:
@@ -559,8 +562,9 @@ void acpi_ex_dump_operand(union acpi_operand_object *obj_desc, u32 depth)
559 562
560 case AML_INT_NAMEPATH_OP: 563 case AML_INT_NAMEPATH_OP:
561 564
562 acpi_os_printf("Reference.Node->Name %X\n", 565 acpi_os_printf("Reference: Namepath %X [%4.4s]\n",
563 obj_desc->reference.node->name.integer); 566 obj_desc->reference.node->name.integer,
567 obj_desc->reference.node->name.ascii);
564 break; 568 break;
565 569
566 default: 570 default:
@@ -640,8 +644,8 @@ void acpi_ex_dump_operand(union acpi_operand_object *obj_desc, u32 depth)
640 acpi_os_printf("\n"); 644 acpi_os_printf("\n");
641 } else { 645 } else {
642 acpi_os_printf(" base %8.8X%8.8X Length %X\n", 646 acpi_os_printf(" base %8.8X%8.8X Length %X\n",
643 ACPI_FORMAT_UINT64(obj_desc->region. 647 ACPI_FORMAT_NATIVE_UINT(obj_desc->region.
644 address), 648 address),
645 obj_desc->region.length); 649 obj_desc->region.length);
646 } 650 }
647 break; 651 break;
@@ -877,20 +881,43 @@ static void acpi_ex_dump_reference_obj(union acpi_operand_object *obj_desc)
877 ret_buf.length = ACPI_ALLOCATE_LOCAL_BUFFER; 881 ret_buf.length = ACPI_ALLOCATE_LOCAL_BUFFER;
878 882
879 if (obj_desc->reference.opcode == AML_INT_NAMEPATH_OP) { 883 if (obj_desc->reference.opcode == AML_INT_NAMEPATH_OP) {
880 acpi_os_printf("Named Object %p ", obj_desc->reference.node); 884 acpi_os_printf(" Named Object %p ", obj_desc->reference.node);
881 885
882 status = 886 status =
883 acpi_ns_handle_to_pathname(obj_desc->reference.node, 887 acpi_ns_handle_to_pathname(obj_desc->reference.node,
884 &ret_buf); 888 &ret_buf);
885 if (ACPI_FAILURE(status)) { 889 if (ACPI_FAILURE(status)) {
886 acpi_os_printf("Could not convert name to pathname\n"); 890 acpi_os_printf(" Could not convert name to pathname\n");
887 } else { 891 } else {
888 acpi_os_printf("%s\n", (char *)ret_buf.pointer); 892 acpi_os_printf("%s\n", (char *)ret_buf.pointer);
889 ACPI_FREE(ret_buf.pointer); 893 ACPI_FREE(ret_buf.pointer);
890 } 894 }
891 } else if (obj_desc->reference.object) { 895 } else if (obj_desc->reference.object) {
892 acpi_os_printf("\nReferenced Object: %p\n", 896 if (ACPI_GET_DESCRIPTOR_TYPE(obj_desc) ==
893 obj_desc->reference.object); 897 ACPI_DESC_TYPE_OPERAND) {
898 acpi_os_printf(" Target: %p",
899 obj_desc->reference.object);
900 if (obj_desc->reference.opcode == AML_LOAD_OP) {
901 /*
902 * For DDBHandle reference,
903 * obj_desc->Reference.Object is the table index
904 */
905 acpi_os_printf(" [DDBHandle]\n");
906 } else {
907 acpi_os_printf(" [%s]\n",
908 acpi_ut_get_type_name(((union
909 acpi_operand_object
910 *)
911 obj_desc->
912 reference.
913 object)->
914 common.
915 type));
916 }
917 } else {
918 acpi_os_printf(" Target: %p\n",
919 obj_desc->reference.object);
920 }
894 } 921 }
895} 922}
896 923
@@ -976,7 +1003,9 @@ acpi_ex_dump_package_obj(union acpi_operand_object *obj_desc,
976 1003
977 case ACPI_TYPE_LOCAL_REFERENCE: 1004 case ACPI_TYPE_LOCAL_REFERENCE:
978 1005
979 acpi_os_printf("[Object Reference] "); 1006 acpi_os_printf("[Object Reference] %s",
1007 (acpi_ps_get_opcode_info
1008 (obj_desc->reference.opcode))->name);
980 acpi_ex_dump_reference_obj(obj_desc); 1009 acpi_ex_dump_reference_obj(obj_desc);
981 break; 1010 break;
982 1011