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