diff options
Diffstat (limited to 'source/components/disassembler/dmwalk.c')
| -rw-r--r-- | source/components/disassembler/dmwalk.c | 27 | 
1 files changed, 25 insertions, 2 deletions
| diff --git a/source/components/disassembler/dmwalk.c b/source/components/disassembler/dmwalk.c index 0fa4049935529..02c92a39fa5df 100644 --- a/source/components/disassembler/dmwalk.c +++ b/source/components/disassembler/dmwalk.c @@ -5,7 +5,7 @@   ******************************************************************************/  /* - * Copyright (C) 2000 - 2012, Intel Corp. + * Copyright (C) 2000 - 2013, Intel Corp.   * All rights reserved.   *   * Redistribution and use in source and binary forms, with or without @@ -441,7 +441,30 @@ AcpiDmDescendingOp (               * This is a first-level element of a term list,               * indent a new line               */ -            AcpiDmIndent (Level); +            switch (Op->Common.AmlOpcode) +            { +            case AML_NOOP_OP: +                /* +                 * Optionally just ignore this opcode. Some tables use +                 * NoOp opcodes for "padding" out packages that the BIOS +                 * changes dynamically. This can leave hundreds or +                 * thousands of NoOp opcodes that if disassembled, +                 * cannot be compiled because they are syntactically +                 * incorrect. +                 */ +                if (AcpiGbl_IgnoreNoopOperator) +                { +                    Op->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE; +                    return (AE_OK); +                } + +                /* Fallthrough */ + +            default: +                AcpiDmIndent (Level); +                break; +            } +              Info->LastLevel = Level;              Info->Count = 0;      } | 
