summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/components/disassembler/dmwalk.c
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2013-01-17 23:56:43 +0000
committerjkim <jkim@FreeBSD.org>2013-01-17 23:56:43 +0000
commit2a54ee62b3fb5d0e9bf39d81edd2cc14a56166a4 (patch)
treea7cdf321edb5a438878660c0df9e9bf8a70038e1 /sys/contrib/dev/acpica/components/disassembler/dmwalk.c
parent39b667a9d0968b8b54185d03b5b8bb2670346424 (diff)
parent8f7c8be022add76a280165a4247448f1fcd77631 (diff)
downloadFreeBSD-src-2a54ee62b3fb5d0e9bf39d81edd2cc14a56166a4.zip
FreeBSD-src-2a54ee62b3fb5d0e9bf39d81edd2cc14a56166a4.tar.gz
Merge ACPICA 20130117.
Diffstat (limited to 'sys/contrib/dev/acpica/components/disassembler/dmwalk.c')
-rw-r--r--sys/contrib/dev/acpica/components/disassembler/dmwalk.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/sys/contrib/dev/acpica/components/disassembler/dmwalk.c b/sys/contrib/dev/acpica/components/disassembler/dmwalk.c
index f0d65b6..67a7965 100644
--- a/sys/contrib/dev/acpica/components/disassembler/dmwalk.c
+++ b/sys/contrib/dev/acpica/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;
}
OpenPOWER on IntegriCloud