diff options
Diffstat (limited to 'source/compiler/asllisting.c')
-rw-r--r-- | source/compiler/asllisting.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/source/compiler/asllisting.c b/source/compiler/asllisting.c index 04c5179..c8e2a6e 100644 --- a/source/compiler/asllisting.c +++ b/source/compiler/asllisting.c @@ -157,6 +157,8 @@ LsGenerateListing ( if (FileId == ASL_FILE_C_OFFSET_OUTPUT) { + Gbl_CurrentAmlOffset = 0; + /* Offset table file has a special header and footer */ LsDoOffsetTableHeader (FileId); @@ -265,9 +267,10 @@ LsTreeWriteWalk ( DbgPrint (ASL_TREE_OUTPUT, "%5.5d [%2d]", Op->Asl.LogicalLineNumber, Level); + UtPrintFormattedName (Op->Asl.ParseOpcode, Level); - DbgPrint (ASL_TREE_OUTPUT, "\n"); + DbgPrint (ASL_TREE_OUTPUT, " (%.4X)\n", Op->Asl.ParseOpcode); return (AE_OK); } @@ -319,16 +322,20 @@ LsWriteNodeToListing ( break; default: + switch (OpClass) { case AML_CLASS_NAMED_OBJECT: + switch (Op->Asl.AmlOpcode) { case AML_SCOPE_OP: case AML_ALIAS_OP: + break; default: + if (Op->Asl.ExternalName) { LsFlushListingBuffer (FileId); @@ -339,7 +346,9 @@ LsWriteNodeToListing ( break; default: + /* Don't care about other objects */ + break; } break; @@ -427,7 +436,9 @@ LsWriteNodeToListing ( default: + /* All other opcodes have an AML opcode */ + break; } @@ -443,7 +454,6 @@ LsWriteNodeToListing ( break; - case AML_CLASS_NAMED_OBJECT: switch (Op->Asl.AmlOpcode) @@ -451,7 +461,6 @@ LsWriteNodeToListing ( case AML_FIELD_OP: case AML_INDEX_FIELD_OP: case AML_BANK_FIELD_OP: - /* * For fields, we want to dump all the AML after the * entire definition @@ -479,6 +488,7 @@ LsWriteNodeToListing ( break; default: + LsWriteSourceLines (Op->Asl.LineNumber, Op->Asl.LogicalLineNumber, FileId); break; @@ -503,7 +513,6 @@ LsWriteNodeToListing ( case ASL_FILE_C_SOURCE_OUTPUT: case ASL_FILE_ASM_INCLUDE_OUTPUT: case ASL_FILE_C_INCLUDE_OUTPUT: - /* * For named objects, we will create a valid symbol so that the * AML code can be referenced from C or ASM @@ -558,7 +567,9 @@ LsWriteNodeToListing ( break; default: + /* Nothing to do for listing file */ + break; } } @@ -579,6 +590,7 @@ LsWriteNodeToListing ( break; case AML_CLASS_UNKNOWN: + break; } } |