diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2017-02-28 20:06:31 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2017-02-28 20:06:31 +0000 |
commit | 691d1929c1c1f25857086b168ef9973b2472de41 (patch) | |
tree | 04e90e804d87765833c7230981b2cca94e2ebf94 /source/compiler/asloptions.c | |
parent | a0b3a9cf1fc8fe1d9f95e69cdf8914bb6ebcee03 (diff) |
Notes
Diffstat (limited to 'source/compiler/asloptions.c')
-rw-r--r-- | source/compiler/asloptions.c | 63 |
1 files changed, 58 insertions, 5 deletions
diff --git a/source/compiler/asloptions.c b/source/compiler/asloptions.c index bc167df8eb999..a982143f9f42d 100644 --- a/source/compiler/asloptions.c +++ b/source/compiler/asloptions.c @@ -68,7 +68,7 @@ AslDoResponseFile ( #define ASL_TOKEN_SEPARATORS " \t\n" -#define ASL_SUPPORTED_OPTIONS "@:a:b|c|d^D:e:f^gh^i|I:l^m:no|p:P^r:s|t|T+G^v^w|x:z" +#define ASL_SUPPORTED_OPTIONS "@:a:b|c|d^D:e:f^gh^i|I:l^m:no|p:P^q^r:s|t|T+G^v^w|x:z" static char ASL_BUILD_DATE[] = __DATE__; static char ASL_BUILD_TIME[] = __TIME__; @@ -209,6 +209,24 @@ AslDoOptions ( switch (AcpiGbl_Optarg[0]) { + + case 'c': + + printf ("Debug ASL to ASL+ conversion\n"); + + Gbl_DoAslConversion = TRUE; + Gbl_FoldConstants = FALSE; + Gbl_IntegerOptimizationFlag = FALSE; + Gbl_ReferenceOptimizationFlag = FALSE; + Gbl_OptimizeTrivialParseNodes = FALSE; + Gbl_CaptureComments = TRUE; + AcpiGbl_DoDisassemblerOptimizations = FALSE; + AcpiGbl_DebugAslConversion = TRUE; + AcpiGbl_DmEmitExternalOpcodes = TRUE; + Gbl_DoExternalsInPlace = TRUE; + + return (0); + case 'f': AslCompilerdebug = 1; /* same as yydebug */ @@ -260,6 +278,22 @@ AslDoOptions ( switch (AcpiGbl_Optarg[0]) { + + case 'a': + + printf ("Convert ASL to ASL+ with comments\n"); + Gbl_DoAslConversion = TRUE; + Gbl_FoldConstants = FALSE; + Gbl_IntegerOptimizationFlag = FALSE; + Gbl_ReferenceOptimizationFlag = FALSE; + Gbl_OptimizeTrivialParseNodes = FALSE; + Gbl_CaptureComments = TRUE; + AcpiGbl_DoDisassemblerOptimizations = FALSE; + AcpiGbl_DmEmitExternalOpcodes = TRUE; + Gbl_DoExternalsInPlace = TRUE; + + return (0); + case 'r': Gbl_NoResourceChecking = TRUE; @@ -552,6 +586,8 @@ AslDoOptions ( Gbl_FoldConstants = FALSE; Gbl_IntegerOptimizationFlag = FALSE; Gbl_ReferenceOptimizationFlag = FALSE; + Gbl_OptimizeTrivialParseNodes = FALSE; + break; case 'c': @@ -570,15 +606,21 @@ AslDoOptions ( case 'e': - /* iASL: Disable External opcode generation */ - - Gbl_DoExternals = FALSE; - /* Disassembler: Emit embedded external operators */ AcpiGbl_DmEmitExternalOpcodes = TRUE; break; + case 'E': + + /* + * iASL: keep External opcodes in place. + * No affect if Gbl_DoExternals is false. + */ + + Gbl_DoExternalsInPlace = TRUE; + break; + case 'f': /* Disable folding on "normal" expressions */ @@ -643,6 +685,17 @@ AslDoOptions ( Gbl_UseDefaultAmlFilename = FALSE; break; + case 'q': /* ASL/ASl+ converter: compile only and leave badaml. */ + + printf ("Convert ASL to ASL+ with comments\n"); + Gbl_FoldConstants = FALSE; + Gbl_IntegerOptimizationFlag = FALSE; + Gbl_ReferenceOptimizationFlag = FALSE; + Gbl_OptimizeTrivialParseNodes = FALSE; + Gbl_CaptureComments = TRUE; + Gbl_DoExternalsInPlace = TRUE; + return (0); + case 'r': /* Override revision found in table header */ Gbl_RevisionOverride = (UINT8) strtoul (AcpiGbl_Optarg, NULL, 0); |