Z00Q Problem Tyan MB!
Bruno Ducrot
ducrot at poupinou.org
Tue Jan 3 07:20:23 PST 2006
On Fri, Dec 23, 2005 at 09:05:22AM -0800, Nate Lawson wrote:
> You can work around this problem with info from PR kern/89879
>
> http://people.freebsd.org/~ariff/acer_ferrari/
>
> A future acpica import may address this problem. The aml is accessing a
> field before it's defined. The newest acpica adds support for lazy
> evaluation (even though this is out of spec).
No, it won't. There are the following devices:
Device (SIO)
{
...
...
Method (STA, 1, NotSerialized)
{
...
...
}
Device (COM1)
{
...
Method (_STA, 0, NotSerialized)
{
Store (Z00Q, Local0)
And (Local0, 0x01, Local0)
If (LEqual (Local0, 0x01))
{
Return (0x00)
}
Else
{
Return (STA(0x02))
}
}
Device (COM2)
{
...
Method (_STA, 0, NotSerialized)
{
/* same _STA, but
* And (Local0, 0x02, Local0)
*/
...
}
Device (LPT)
{
...
Method (_STA, ...)
{
/* same _STA, but different bits checked
*/
}
}
Since all of those _STA methods call SIO.STA() (and since this method
is used to touch a part of a SuperIO chip (io port 0x2E, etc) in order
to initialize some devices), it's very likely that the 3 devices will not
function even if acpica does lazy evaluations for
non-existing object. If I were the acpi maintainer of the intel acpica,
package, I would add a flag turned off per default.
For the OP. I would suggest trying to add a Z00Q manually.
--- rcall-TyanMP2460.asl 2006/01/03 14:47:05 1.1
+++ rcall-TyanMP2460.asl 2006/01/03 15:10:58
@@ -1256,6 +1256,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
Device (SIO)
{
Name (_HID, EisaId ("PNP0A05"))
+ Name (Z00Q, 1) // bit 1: COM1, bit 2: COM2, bit 3: LPT
OperationRegion (Z00M, SystemIO, 0x80, 0x01)
Field (Z00M, ByteAcc, NoLock, Preserve)
{
@@ -2394,6 +2395,8 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
}
Notify (\_SB.PWRB, 0x02)
+
+ Return(Package(2){0,0})
}
}
and to change the value for Z00Q according to your needs (if you need
both serial ports, then it should be 3, etc).
Cheers,
--
Bruno Ducrot
-- Which is worse: ignorance or apathy?
-- Don't know. Don't care.
More information about the freebsd-acpi
mailing list