ACPI problem on EPOX MVP3C2 (Fixed)
±ç
vader at lavabit.com
Fri Jan 18 20:36:16 PST 2008
After researching MVP3C2 ASL code & Google searching over a week,
I got the easy way from AOPEN AX59Pro ASL to solve
both PCI IRQ & lost FDC0 with ACPI problem on MVP3C2.
(ACPI bad read / write from port 0x4D1 on PCI Links & exceed buffer on FDC0)
1. Fix the PCI IRQ problem leading to NIC watchdog timeout.
Here is a example, find the section in Device (LNKA) as below
(Also in Device (LNKB/C/D):
Method (_DIS, 0, NotSerialized)
{
Store (0x01, Local3)
And (PIRA, 0xF0, Local1)
ShiftRight (Local1, 0x04, Local1)
Store (Local1, Local2)
If (LGreater (Local1, 0x07))
{
Subtract (Local1, 0x08, Local1)
}
ShiftLeft (Local3, Local1, Local3)
Not (Local3, Local3)
If (LGreater (Local2, 0x07))
{
And (ELC2, Local3, ELC2)
}
Else
{
If (LNotEqual (Local2, 0x00))
{
And (ELC1, Local3, ELC1)
}
}
And (PIRA, 0x0F, PIRA)
}
Then remove some lines to change it as below (the AX59 Pro's way):
Method (_DIS, 0, NotSerialized)
{
And (PIRA, 0x0F, PIRA)
}
Modify all 4 Device (LNKA/B/C/D),
in Device (LNKB/C/D) leave PIBC / PIRD as they were.
2. Fix lost FDC0 (FDD) problem,
change two 0x19 to 0x11 & two 0x1C to 0x14 in Device (FDC0)
Then use isal with parameter "-oa" to make customed AML,
load it in loader.conf, no more NIC watchdog timeout & lost FDC0.
Here is my modified sample for your referece
http://vader.hopto.org/freenas/acpi/mvp3c2aml.zip
Here's a article on M$ website talking about forbbid BIOS AML directly access
H/W resource including ELCR.
http://www.microsoft.com/whdc/system/pnppwr/powermgmt/BIOSAML.mspx
The newer BIOS (after 2003?) will never use such code in their ACPI table.
That's all, then I will try to make ACPI debug work,
make sure no other trouble would be caused by these modification.
More information about the freebsd-acpi
mailing list