Bug 6441

Summary: Can not disassemble/compile DSDT - external methods invoked - Toshiba Tecra S3
Product: ACPI Reporter: Ivan Gracia (izanmail)
Component: ACPICA-CoreAssignee: Robert Moore (Robert.Moore)
Status: CLOSED CODE_FIX    
Severity: normal CC: acpi-bugzilla, Robert.Moore
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.15-20-686 #1 SMP PREEMPT Tue Apr 4 18:37:00 UTC 2006 i686 GN Subsystem:
Regression: --- Bisected commit-id:
Attachments: Output of acpidump
dsdt code with lates version of iasl (v.20060331)
Dmesg output
dsdt obtained with cat /proc/acpi/dsdt
output of dmidecode

Description Ivan Gracia 2006-04-25 13:31:34 UTC
Distribution: 
     Ubuntu Dapper Beta

Hardware Environment: 
     Intel
Comment 1 Ivan Gracia 2006-04-25 13:38:18 UTC
Created attachment 7954 [details]
Output of acpidump
Comment 2 Ivan Gracia 2006-04-25 13:40:16 UTC
Created attachment 7955 [details]
dsdt code with lates version of iasl (v.20060331)
Comment 3 Ivan Gracia 2006-04-25 13:41:03 UTC
Created attachment 7956 [details]
Dmesg output
Comment 4 Ivan Gracia 2006-04-25 13:44:45 UTC
Created attachment 7957 [details]
dsdt obtained with cat /proc/acpi/dsdt
Comment 5 Ivan Gracia 2006-04-25 13:45:43 UTC
Created attachment 7958 [details]
output of dmidecode
Comment 6 Robert Moore 2006-04-25 13:56:38 UTC
This is an issue with the disassembler where it gets confused when it finds 
control method invocations that refer to methods in other tables (SSDTs). 
Fortunately, this is rather rare.

BTW, here are the really juicy flaws in this DSDT: (this is a new compiler 
warning)

C:\Acpi\Bugs\Syntax>iasldebug dsdt.dsl

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20060421 [Apr 21 2006]
Copyright (C) 2000 - 2006 Intel Corporation
Supports ACPI Specification Revision 3.0a

dsdt.dsl  1046:                                 Wait (\_SB.PCI0.PCIB.DKSQ, 
0x0BB8)
Warning  1103 -                            Possible operator timeout is 
ignored ^

dsdt.dsl  1065:                             Wait (\_SB.PCI0.PCIB.DKSQ, 0x1388)
Warning  1103 -                        Possible operator timeout is ignored ^

dsdt.dsl  3403:                         Wait (\_SB.PCI0.PCIB.DKSQ, 0x0BB8)
Warning  1103 -                    Possible operator timeout is ignored ^

dsdt.dsl  3420:                 Wait (\_SB.PCI0.PCIB.DKSQ, 0x1388)
Warning  1103 -            Possible operator timeout is ignored ^

and

dsdt.dsl  3864:             Increment (Local0)
Error    4049 -                             ^ Method local variable is not 
initialized (Local0)

Comment 7 Robert Moore 2006-04-25 14:04:31 UTC
I take it that this message is the root problem:

ACPI: Looking for DSDT ... not found!

I don't know where this comes from, or what it really means.
Comment 8 Len Brown 2006-04-26 18:55:01 UTC
> ACPI: Looking for DSDT ... not found!

This message is from Ubuntu, not from the upstream kernel.
Please file a bug with them to delete this message.
I expected that they made the same mistake that SuSE made,
they included the initrd DSDT over-ride patch that has been
repeatedly rejected from upstream kernel.

That said, this bug report boils down to if the disassembler/compiler
can be taught to handle this multiple table problem.

Also, please file a bug on why you are disassembling/compiling
the DSDT in the first place -- you should not have to do this.
Comment 9 Robert Moore 2006-05-12 14:34:38 UTC
Disassembler enhanced to automatically generate externals for unresolved 
symbols in ACPI CA version 20060512.

Close this one an open another for whatever system table issue is at the root 
of the problem -- this one is too full of table disassembly and compile issues.
Comment 10 Len Brown 2006-07-05 19:19:03 UTC
20060512 shipped before 2.6.18-rc1.
closed.