diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2016-05-27 21:40:35 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2016-05-27 21:40:35 +0000 |
commit | 4d46bb7749ef0cf25eb2b25f2d7324023cb754b4 (patch) | |
tree | f7064866b29ad07c184316d5bbb13a4cb187326b /source/components/disassembler | |
parent | 2331c681155dd7b2f78bd28ca0c183e2f98ff44f (diff) |
Notes
Diffstat (limited to 'source/components/disassembler')
-rw-r--r-- | source/components/disassembler/dmopcode.c | 11 | ||||
-rw-r--r-- | source/components/disassembler/dmwalk.c | 29 |
2 files changed, 27 insertions, 13 deletions
diff --git a/source/components/disassembler/dmopcode.c b/source/components/disassembler/dmopcode.c index f4d13191c2f8..7ca171cbbbeb 100644 --- a/source/components/disassembler/dmopcode.c +++ b/source/components/disassembler/dmopcode.c @@ -971,7 +971,16 @@ AcpiDmDisassembleOneOp ( case AML_EXTERNAL_OP: - break; + if (AcpiGbl_DmEmitExternalOpcodes) + { + AcpiOsPrintf ("/* Opcode 0x15 */ "); + + /* Fallthrough */ + } + else + { + break; + } default: diff --git a/source/components/disassembler/dmwalk.c b/source/components/disassembler/dmwalk.c index 7465e75d3804..3c953f5465e1 100644 --- a/source/components/disassembler/dmwalk.c +++ b/source/components/disassembler/dmwalk.c @@ -462,21 +462,26 @@ AcpiDmDescendingOp ( { NextOp->Common.DisasmFlags |= ACPI_PARSEOP_PARAMETER_LIST; - /* - * A Zero predicate indicates the possibility of one or more - * External() opcodes within the If() block. - */ - if (NextOp->Common.AmlOpcode == AML_ZERO_OP) - { - NextOp2 = NextOp->Common.Next; + /* Don't emit the actual embedded externals unless asked */ - if (NextOp2 && - (NextOp2->Common.AmlOpcode == AML_EXTERNAL_OP)) + if (!AcpiGbl_DmEmitExternalOpcodes) + { + /* + * A Zero predicate indicates the possibility of one or more + * External() opcodes within the If() block. + */ + if (NextOp->Common.AmlOpcode == AML_ZERO_OP) { - /* Ignore the If 0 block and all children */ + NextOp2 = NextOp->Common.Next; + + if (NextOp2 && + (NextOp2->Common.AmlOpcode == AML_EXTERNAL_OP)) + { + /* Ignore the If 0 block and all children */ - Op->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE; - return (AE_CTRL_DEPTH); + Op->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE; + return (AE_CTRL_DEPTH); + } } } } |