Rudolf Marek wrote:
Maybe DSDT version is bad?
Test dsdt: DefinitionBlock ("DSDT.aml", "DSDT", 2, "CORE ", "COREBOOT", 1) { Scope (_PR) { Processor (CPU0, 1, Add(2, 3), 4) {} } }
iasl dsdt.asl: |ASL Input: dsdt.asl - 9 lines, 128 bytes, 3 keywords |AML Output: DSDT.aml - 60 bytes, 2 named objects, 1 executable opcodes | |Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 1 Optimizations
iasl -d DSDT.aml: |Loading Acpi table from file DSDT.aml |Acpi table [DSDT] successfully installed and loaded |Pass 1 parse of [DSDT] |Pass 2 parse of [DSDT] |Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions) | |Parsing completed |Disassembly completed, written to "DSDT.dsl"
So far so good, but the output doesn't match the original input: |ACPI Error: Found unknown opcode 0x2 at AML address 0x1d14af7 offset 0x13, ignoring (20100528/psloop-232) |ACPI Error: Found unknown opcode 0x4 at AML address 0x1d14afb offset 0x17, ignoring (20100528/psloop-232) |ACPI Error: Found unknown opcode 0x2 at AML address 0x1d14af7 offset 0x13, ignoring (20100528/psloop-232) |ACPI Error: Found unknown opcode 0x4 at AML address 0x1d14afb offset 0x17, ignoring (20100528/psloop-232) |/* | * Intel ACPI Component Architecture | * AML Disassembler version 20100528 [...] |DefinitionBlock ("DSDT.aml", "DSDT", 2, "CORE ", "COREBOOT", 0x00000001) |{ | Scope (_PR) | { | Processor (CPU0, 0x01, 0x00000000, 0x0A) | { | 0x03 | Zero | } | } |}
Definitively a iasl problem, it can't even disassemble it's own output back to something equivalent to the input file. It seems to be generating Bytecode for the Add where it shouldn't.