diff options
| author | Jung-uk Kim <jkim@FreeBSD.org> | 2015-11-25 21:04:42 +0000 | 
|---|---|---|
| committer | Jung-uk Kim <jkim@FreeBSD.org> | 2015-11-25 21:04:42 +0000 | 
| commit | b9098066cd6284319bca922f13e59517f774a103 (patch) | |
| tree | f01fd6c9053cb01ed84c00cb42ee789adafceaf5 /source/compiler/asllisting.c | |
| parent | 1e24cf365bc9c8df179b145c90d52852724e54ee (diff) | |
Notes
Diffstat (limited to 'source/compiler/asllisting.c')
| -rw-r--r-- | source/compiler/asllisting.c | 71 | 
1 files changed, 49 insertions, 22 deletions
| diff --git a/source/compiler/asllisting.c b/source/compiler/asllisting.c index 34277459844e..91ddcac43a23 100644 --- a/source/compiler/asllisting.c +++ b/source/compiler/asllisting.c @@ -212,6 +212,12 @@ LsAmlListingWalk (          return (AE_OK);      } +    if ((FileId == ASL_FILE_ASM_INCLUDE_OUTPUT) || +        (FileId == ASL_FILE_C_INCLUDE_OUTPUT)) +    { +        return (AE_OK); +    } +      /* Write the hex bytes to the listing file(s) (if requested) */      for (i = 0; i < Op->Asl.FinalAmlLength; i++) @@ -221,6 +227,7 @@ LsAmlListingWalk (              FlFileError (ASL_FILE_AML_OUTPUT, ASL_MSG_READ);              AslAbort ();          } +          LsWriteListingHexBytes (&FileByte, 1, FileId);      } @@ -316,7 +323,7 @@ LsWriteNodeToListing (      {          switch (Op->Asl.ParseOpcode)          { -        case PARSEOP_DEFINITIONBLOCK: +        case PARSEOP_DEFINITION_BLOCK:          case PARSEOP_METHODCALL:          case PARSEOP_INCLUDE:          case PARSEOP_INCLUDE_END: @@ -362,36 +369,46 @@ LsWriteNodeToListing (      switch (Op->Asl.ParseOpcode)      { -    case PARSEOP_DEFINITIONBLOCK: +    case PARSEOP_DEFINITION_BLOCK:          LsWriteSourceLines (Op->Asl.EndLine, Op->Asl.EndLogicalLine, FileId);          /* Use the table Signature and TableId to build a unique name */ -        if (FileId == ASL_FILE_ASM_SOURCE_OUTPUT) +        switch (FileId)          { +        case ASL_FILE_ASM_SOURCE_OUTPUT: +              FlPrintFile (FileId,                  "%s_%s_Header \\\n",                  Gbl_TableSignature, Gbl_TableId); -        } -        if (FileId == ASL_FILE_C_SOURCE_OUTPUT) -        { +            break; + +        case ASL_FILE_C_SOURCE_OUTPUT: +              FlPrintFile (FileId,                  "    unsigned char    %s_%s_Header [] =\n    {\n",                  Gbl_TableSignature, Gbl_TableId); -        } -        if (FileId == ASL_FILE_ASM_INCLUDE_OUTPUT) -        { +            break; + +        case ASL_FILE_ASM_INCLUDE_OUTPUT: +              FlPrintFile (FileId,                  "extrn %s_%s_Header : byte\n",                  Gbl_TableSignature, Gbl_TableId); -        } -        if (FileId == ASL_FILE_C_INCLUDE_OUTPUT) -        { +            break; + +        case ASL_FILE_C_INCLUDE_OUTPUT: +              FlPrintFile (FileId,                  "extern unsigned char    %s_%s_Header [];\n",                  Gbl_TableSignature, Gbl_TableId); +            break; + +        default: +            break;          } +          return; @@ -540,31 +557,41 @@ LsWriteNodeToListing (                          /* Create the appropriate symbol in the output file */ -                        if (FileId == ASL_FILE_ASM_SOURCE_OUTPUT) +                        switch (FileId)                          { +                        case ASL_FILE_ASM_SOURCE_OUTPUT: +                              FlPrintFile (FileId,                                  "%s_%s_%s  \\\n",                                  Gbl_TableSignature, Gbl_TableId, &Pathname[1]); -                        } -                        if (FileId == ASL_FILE_C_SOURCE_OUTPUT) -                        { +                            break; + +                        case ASL_FILE_C_SOURCE_OUTPUT: +                              FlPrintFile (FileId,                                  "    unsigned char    %s_%s_%s [] =\n    {\n",                                  Gbl_TableSignature, Gbl_TableId, &Pathname[1]); -                        } -                        if (FileId == ASL_FILE_ASM_INCLUDE_OUTPUT) -                        { +                            break; + +                        case ASL_FILE_ASM_INCLUDE_OUTPUT: +                              FlPrintFile (FileId,                                  "extrn %s_%s_%s : byte\n",                                  Gbl_TableSignature, Gbl_TableId, &Pathname[1]); -                        } -                        if (FileId == ASL_FILE_C_INCLUDE_OUTPUT) -                        { +                            break; + +                        case ASL_FILE_C_INCLUDE_OUTPUT: +                              FlPrintFile (FileId,                                  "extern unsigned char    %s_%s_%s [];\n",                                  Gbl_TableSignature, Gbl_TableId, &Pathname[1]); +                            break; + +                        default: +                            break;                          }                      } +                      ACPI_FREE (Pathname);                  }                  break; | 
