diff options
author | jkim <jkim@FreeBSD.org> | 2013-01-17 21:32:03 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2013-01-17 21:32:03 +0000 |
commit | abc354e563147ac3d2faf9a74de5cbcb23ff6d73 (patch) | |
tree | 4bd397d55198bfd01fc6744430f25faf08f18b0c /source/components/disassembler/dmwalk.c | |
parent | 8f7c8be022add76a280165a4247448f1fcd77631 (diff) | |
download | FreeBSD-src-abc354e563147ac3d2faf9a74de5cbcb23ff6d73.zip FreeBSD-src-abc354e563147ac3d2faf9a74de5cbcb23ff6d73.tar.gz |
Import ACPICA 20130117.
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 0fa4049..02c92a3 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; } |