diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2011-03-17 00:29:53 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2011-03-17 00:29:53 +0000 |
commit | dcbce41eb01f6089df0375d9a4fcfbc47de2324b (patch) | |
tree | fe5f720ee49b8903a9521b4bfb2be2eccb814c80 /sys/contrib/dev/acpica/compiler/aslcompiler.y | |
parent | e22b8a5a3b64fae412818dd70c82d067b434c88a (diff) | |
parent | 4d8fe534b7309d798d941e14e51985eed6b511bc (diff) |
Merge ACPICA 20110316.
Notes
Notes:
svn path=/head/; revision=219707
Diffstat (limited to 'sys/contrib/dev/acpica/compiler/aslcompiler.y')
-rw-r--r-- | sys/contrib/dev/acpica/compiler/aslcompiler.y | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/contrib/dev/acpica/compiler/aslcompiler.y b/sys/contrib/dev/acpica/compiler/aslcompiler.y index 6a8d4a42d98d..cc57aaa4e0ce 100644 --- a/sys/contrib/dev/acpica/compiler/aslcompiler.y +++ b/sys/contrib/dev/acpica/compiler/aslcompiler.y @@ -728,6 +728,21 @@ ASLCode | error {YYABORT; $$ = NULL;} ; +/* + * Note concerning support for "module-level code". + * + * ACPI 1.0 allowed Type1 and Type2 executable opcodes outside of control + * methods (the so-called module-level code.) This support was explicitly + * removed in ACPI 2.0, but this type of code continues to be created by + * BIOS vendors. In order to support the disassembly and recompilation of + * such code (and the porting of ASL code to iASL), iASL supports this + * code in violation of the current ACPI specification. + * + * The grammar change to support module-level code is to revert the + * {ObjectList} portion of the DefinitionBlockTerm in ACPI 2.0 to the + * original use of {TermList} instead (see below.) This allows the use + * of Type1 and Type2 opcodes at module level. + */ DefinitionBlockTerm : PARSEOP_DEFINITIONBLOCK '(' {$<n>$ = TrCreateLeafNode (PARSEOP_DEFINITIONBLOCK);} String ',' |