* Mike Larkin on Wed, May 05, 2010 at 09:04:06PM -0700:
> If you haven't sent an acpidump yet, send it over.

/*
RSD PTR: Checksum=20, OEMID=PTLTD, RsdtAddress=0x3fefcf28
 */
/*
RSDT: Length=44, Revision=1, Checksum=13,
        OEMID=PTLTD, OEM Table ID=  RSDT, OEM Revision=0x6040000,
        Creator ID= LTP, Creator Revision=0x0
 */
/*
        Entries={ 0x3fefef2e, 0x3fefefa2 }
 */
/*
        DSDT=0x3fefcf54
        INT_MODEL=PIC
        SCI_INT=9
        SMI_CMD=0x802f, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
        PM1a_EVT_BLK=0x8000-0x8003
        PM1a_CNT_BLK=0x8004-0x8005
        PM2_TMR_BLK=0x8008-0x800b
        PM2_GPE0_BLK=0x8020-0x8023
        P_LVL2_LAT=101ms, P_LVL3_LAT=1001ms
        FLUSH_SIZE=0, FLUSH_STRIDE=0
        DUTY_OFFSET=1, DUTY_WIDTH=0
        DAY_ALRM=13, MON_ALRM=0, CENTURY=50
        Flags={WBINVD,PROC_C1}
 */
/*
DSDT: Length=8154, Revision=1, Checksum=247,
        OEMID=AMD, OEM Table ID=AMDACPI, OEM Revision=0x6040000,
        Creator ID=MSFT, Creator Revision=0x100000d
 */
DefinitionBlock (
"acpi_dsdt.aml",        //Output filename
"DSDT",                 //Signature
0x1,                    //DSDT Revision
"AMD",                  //OEMID
"AMDACPI",              //TABLE ID
0x6040000                       //OEM Revision
)

{
Scope(\_PR_) {
    Processor(CPU0, 0, 0x8010, 0x6) {
    }
    Processor(CPU1, 1, 0x0, 0x0) {
    }
}
Name(\_S0_, Package(0x4) {
    0x0,
    0x0,
    0x0,
    0x0,
})
Name(\_S1_, Package(0x4) {
    0x1,
    0x1,
    0x1,
    0x1,
})
Name(\_S4_, Package(0x4) {
    0x6,
    0x6,
    0x6,
    0x6,
})
Name(\_S5_, Package(0x4) {
    0x7,
    0x7,
    0x7,
    0x7,
})
Name(OSFL, 0x0)
Method(STRC, 2) {
    If(LNot(LEqual(SizeOf(Arg0), SizeOf(Arg1)))) {
        Return(0x0)
    }
    Add(SizeOf(Arg0), 0x1, Local0)
    Name(BUF0, Buffer(Local0) { })
    Name(BUF1, Buffer(Local0) { })
    Store(Arg0, BUF0)
    Store(Arg1, BUF1)
    While(Local0) {
        Decrement(Local0)
        If(LNot(LEqual(DerefOf(Index(BUF0, Local0)), DerefOf(Index(BUF1, 
Local0))))) {
            Return(Zero)
        }
    }
    Return(One)
}
OperationRegion(\DEBG, SystemIO, 0x80, 0x1)
Field(\DEBG, ByteAcc, NoLock, Preserve) {
    DBG1,       8
}
OperationRegion(KBC_, SystemIO, 0x64, 0x1)
Field(KBC_, ByteAcc, NoLock, Preserve) {
    KCMD,       8
}
OperationRegion(EXTM, SystemMemory, 0x000ff830, 0x10)
Field(EXTM, WordAcc, NoLock, Preserve) {
    ROM1,       16,
    RMS1,       16,
    ROM2,       16,
    RMS2,       16,
    ROM3,       16,
    RMS3,       16,
    AMEM,       32
}
OperationRegion(VGAM, SystemMemory, 0x000c0002, 0x1)
Field(VGAM, ByteAcc, Lock, Preserve) {
    VGA1,       8
}
OperationRegion(GRAM, SystemMemory, 0x0400, 0x0100)
Field(GRAM, ByteAcc, Lock, Preserve) {
    Offset(0x10),
    FLG0,       8
}
OperationRegion(ELCR, SystemIO, 0x04d0, 0x2)
Field(ELCR, ByteAcc, NoLock, Preserve) {
    ELC1,       8,
    ELC2,       8
}
OperationRegion(\PSC_, SystemIO, 0x8027, 0x1)
Field(\PSC_, ByteAcc, NoLock, Preserve) {
    PSCC,       8
}
OperationRegion(\STUS, SystemIO, 0x8028, 0x1)
Field(\STUS, ByteAcc, NoLock, Preserve) {
    G_ST,       8
}
OperationRegion(\STUB, SystemIO, 0x8029, 0x1)
Field(\STUB, ByteAcc, NoLock, Preserve) {
    G_SB,       8
}
OperationRegion(\SMIC, SystemIO, 0x802f, 0x1)
Field(\SMIC, ByteAcc, NoLock, Preserve) {
    SCP_,       8
}
OperationRegion(\OPS0, SystemIO, 0x21, 0x1)
Field(\OPS0, ByteAcc, NoLock, Preserve) {
    IMR0,       8
}
OperationRegion(\OPS1, SystemIO, 0xa1, 0x1)
Field(\OPS1, ByteAcc, NoLock, Preserve) {
    IMR1,       8
}
OperationRegion(\GSE_, SystemIO, 0x802a, 0x1)
Field(\GSE_, ByteAcc, NoLock, Preserve) {
    IRQR,       8
}
OperationRegion(\FANC, SystemIO, 0x80f8, 0x2)
Field(\FANC, ByteAcc, NoLock, Preserve) {
    FAN0,       8,
    FAN1,       8
}
OperationRegion(\PM21, SystemIO, 0x8021, 0x1)
Field(\PM21, ByteAcc, NoLock, Preserve) {
    IO21,       8
}
OperationRegion(\PM23, SystemIO, 0x8023, 0x1)
Field(\PM23, ByteAcc, NoLock, Preserve) {
    IO23,       8
}
OperationRegion(\GP1_, SystemIO, 0x80c0, 0x20)
Field(\GP1_, ByteAcc, NoLock, Preserve) {
    GP00,       8,
    GP01,       8,
    GP02,       8,
    GP03,       8,
    GP04,       8,
    GP05,       8,
    GP06,       8,
    GP07,       8,
    GP08,       8,
    GP09,       8,
    GP10,       8,
    GP11,       8,
    GP12,       8,
    GP13,       8,
    GP14,       8,
    GP15,       8,
    GP16,       8,
    GP17,       8,
    GP18,       8,
    GP19,       8,
    GP20,       8,
    GP21,       8,
    GP22,       8,
    GP23,       8,
    GP24,       8,
    GP25,       8,
    GP26,       8,
    GP27,       8,
    GP28,       8,
    GP29,       8,
    GP30,       8,
    GP31,       8
}
Name(PICF, 0x0)
Method(_PIC, 1) {
    Store(Arg0, PICF)
}
Scope(\) {
    Method(DISD, 1) {
        Store(Local0, Local0)
    }
    Method(CKIO, 2) {
        Store(Local0, Local0)
    }
    Method(SLDM, 2) {
        Store(Local0, Local0)
    }
}
Scope(_GPE) {
    Method(_L08) {
        Notify(\_SB_.PCI0, 0x2)
        Notify(\_SB_.PCI0.OP2P, 0x2)
    }
    Method(_L0F) {
        Notify(\_SB_.PCI0.OP2P.USB0, 0x2)
    }
}
Method(\_PTS, 1) {
    Or(Arg0, 0xf0, Local0)
    Store(Local0, DBG1)
    Or(IRQR, 0x10, IRQR)
    Or(IO23, 0x1, IO23)
    Store(IO23, Local0)
    Store(Local0, DBG1)
    Sleep(0x0200)
    If(LEqual(Arg0, 0x1)) {
        Store(IO21, Local1)
        Store(Local1, IO21)
    }
    If(LEqual(Arg0, 0x4)) {
        Store(G_ST, Local1)
        Store(Local1, G_ST)
        Store(G_SB, Local1)
        Store(Local1, G_SB)
    }
    If(LEqual(Arg0, 0x5)) {
        Store(G_ST, Local1)
        Store(Local1, G_ST)
        Store(G_SB, Local1)
        Store(Local1, G_SB)
        And(IO2B, 0xfe, IO2B)
    }
}
Method(\_WAK, 1) {
    Store(G_ST, Local1)
    Store(Local1, G_ST)
    Store(G_SB, Local1)
    Store(Local1, G_SB)
    And(IRQR, 0xef, IRQR)
    Notify(\_SB_.PWRB, 0x2)
}
Scope(\_SI_) {
    Method(_MSG, 1) {
        Store(Local0, Local0)
    }
    Method(_SST, 1) {
        Store(Local0, Local0)
    }
}
Scope(\_SB_) {
    Device(PWRB) {
        Name(_HID, 0x0c0cd041)
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(MEM_) {
        Name(_HID, 0x010cd041)
        Method(_CRS) {
            Name(BUF0, Buffer(0x3e) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xfc, 0xff, 
0x0, 0x0, 0x4, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xc0, 0xff, 0x0, 0x0, 0x38, 
0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 
0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 
0x0, 0xe, 0x0, 0x0, 0x0, 0x2, 0x0, 0x79, 0x0 })
            CreateDWordField(BUF0, 0x2c, EMEM)
            Subtract(AMEM, 0x00100000, EMEM)
            Return(BUF0)
        }
    }
    Device(PCI0) {
        Name(_HID, 0x030ad041)
        Name(_ADR, 0x0)
        Method(_STA) {
            Return(0xf)
        }
        Name(_PRW, Package(0x2) {
            0x8,
            0x5,
        })
        Method(_INI) {
            If(STRC(\_OS_, "Microsoft Windows")) {
                Store(0x1, OSFL)
            }
            If(STRC(\_OS_, "Microsoft WindowsME: Millennium Edition")) {
                Store(0x1, OSFL)
            }
        }
        Method(_CRS) {
            Name(BUF0, Buffer(0x9a) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 
0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 
0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 
0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0x7f, 0x0, 
0x0, 0x0, 0x73, 0x47, 0x1, 0x0, 0x80, 0x0, 0x80, 0x1, 0x80, 0x47, 0x1, 0x80, 
0x80, 0x80, 0x80, 0x1, 0x80, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 
0x81, 0xff, 0xff, 0x0, 0x0, 0x0, 0xaf, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x80, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x10, 0x0, 0xff, 0xff, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb0, 
0xfe, 0x86, 0x9, 0x0, 0x1, 0x0, 0x80, 0xd, 0x0, 0x0, 0x40, 0x0, 0x0, 0x79, 0x0 
})
            CreateDWordField(BUF0, 0x66, VMAX)
            CreateDWordField(BUF0, 0x6e, VLEN)
            ShiftLeft(VGA1, 0x9, Local0)
            Add(Local0, 0x000bffff, VMAX)
            Add(Local0, 0x00020000, VLEN)
            CreateDWordField(BUF0, 0x7c, TCMM)
            CreateDWordField(BUF0, 0x88, TOMM)
            Store(AMEM, TCMM)
            Subtract(0xfec00000, TCMM, TOMM)
            Return(BUF0)
        }
        Method(_PRT) {
            If(LNot(PICF)) {
                Store("Returning PCI0 PIC Mode", Debug)
                Return(PICM)
            }
            Else {
                Store("Returning PCI0 APIC Mode", Debug)
                Return(APIC)
            }
        }
        Name(APIC, Package(0xc) {
            Package(0x4) {
                0x0008ffff,
                0x0,
                0x0,
                0x14,
            },
            Package(0x4) {
                0x0008ffff,
                0x1,
                0x0,
                0x15,
            },
            Package(0x4) {
                0x0008ffff,
                0x2,
                0x0,
                0x16,
            },
            Package(0x4) {
                0x0008ffff,
                0x3,
                0x0,
                0x17,
            },
            Package(0x4) {
                0x0009ffff,
                0x0,
                0x0,
                0x15,
            },
            Package(0x4) {
                0x0009ffff,
                0x1,
                0x0,
                0x16,
            },
            Package(0x4) {
                0x0009ffff,
                0x2,
                0x0,
                0x17,
            },
            Package(0x4) {
                0x0009ffff,
                0x3,
                0x0,
                0x14,
            },
            Package(0x4) {
                0x000affff,
                0x0,
                0x0,
                0x16,
            },
            Package(0x4) {
                0x000affff,
                0x1,
                0x0,
                0x17,
            },
            Package(0x4) {
                0x000affff,
                0x2,
                0x0,
                0x14,
            },
            Package(0x4) {
                0x000affff,
                0x3,
                0x0,
                0x15,
            },
        })
        Name(PICM, Package(0xc) {
            Package(0x4) {
                0x0008ffff,
                0x0,
                \_SB_.PCI0.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0008ffff,
                0x1,
                \_SB_.PCI0.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0008ffff,
                0x2,
                \_SB_.PCI0.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0008ffff,
                0x3,
                \_SB_.PCI0.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x0,
                \_SB_.PCI0.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x1,
                \_SB_.PCI0.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x2,
                \_SB_.PCI0.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x3,
                \_SB_.PCI0.LNKA,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x0,
                \_SB_.PCI0.LNKC,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x1,
                \_SB_.PCI0.LNKD,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x2,
                \_SB_.PCI0.LNKA,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x3,
                \_SB_.PCI0.LNKB,
                0x0,
            },
        })
        Device(AGP_) {
            Name(_ADR, 0x00010000)
            Method(_PRT) {
                If(LNot(PICF)) {
                    Return(PICP)
                }
                Else {
                    Return(APIP)
                }
            }
            Name(PICP, Package(0x2) {
                Package(0x4) {
                    0x0005ffff,
                    0x0,
                    \_SB_.PCI0.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x1,
                    \_SB_.PCI0.LNKD,
                    0x0,
                },
            })
            Name(APIP, Package(0x2) {
                Package(0x4) {
                    0x0005ffff,
                    0x0,
                    0x0,
                    0x12,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x1,
                    0x0,
                    0x13,
                },
            })
        }
        Device(SBC0) {
            Name(_ADR, 0x00070000)
            OperationRegion(IOAP, PCI_Config, 0x4b, 0x1)
            Field(\_SB_.PCI0.SBC0.IOAP, ByteAcc, NoLock, Preserve) {
                APC1,   8
            }
            OperationRegion(PAD_, PCI_Config, 0x90, 0x1)
            Scope(\) {
                Field(\_SB_.PCI0.SBC0.PAD_, ByteAcc, NoLock, Preserve) {
                    IPAD,       8
                }
            }
        }
        Device(IDE1) {
            Name(_ADR, 0x00070001)
        }
        Device(SBC3) {
            Name(_ADR, 0x00070003)
            OperationRegion(PIRQ, PCI_Config, 0x56, 0x2)
            Scope(\) {
                Field(\_SB_.PCI0.SBC3.PIRQ, ByteAcc, NoLock, Preserve) {
                    PIRA,       8,
                    PIRC,       8
                }
            }
        }
        Device(OP2P) {
            Name(_ADR, 0x00100000)
            Name(_PRW, Package(0x2) {
                0x8,
                0x5,
            })
            Method(_PRT) {
                If(LNot(PICF)) {
                    Store("Returning OP2P PIC Mode", Debug)
                    Return(PICM)
                }
                Else {
                    Store("Returning OP2P APIC Mode", Debug)
                    Return(APIC)
                }
            }
            Name(APIC, Package(0x15) {
                Package(0x4) {
                    0x0004ffff,
                    0x0,
                    0x0,
                    0x10,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x1,
                    0x0,
                    0x11,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x2,
                    0x0,
                    0x12,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x3,
                    0x0,
                    0x13,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x0,
                    0x0,
                    0x11,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x1,
                    0x0,
                    0x12,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x2,
                    0x0,
                    0x13,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x3,
                    0x0,
                    0x10,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x0,
                    0x0,
                    0x12,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x1,
                    0x0,
                    0x13,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x2,
                    0x0,
                    0x10,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x3,
                    0x0,
                    0x11,
                },
                Package(0x4) {
                    0x0007ffff,
                    0x0,
                    0x0,
                    0x13,
                },
                Package(0x4) {
                    0x0007ffff,
                    0x1,
                    0x0,
                    0x10,
                },
                Package(0x4) {
                    0x0007ffff,
                    0x2,
                    0x0,
                    0x11,
                },
                Package(0x4) {
                    0x0007ffff,
                    0x3,
                    0x0,
                    0x12,
                },
                Package(0x4) {
                    0x0008ffff,
                    0x0,
                    0x0,
                    0x13,
                },
                Package(0x4) {
                    0xffff,
                    0x0,
                    0x0,
                    0x10,
                },
                Package(0x4) {
                    0xffff,
                    0x1,
                    0x0,
                    0x11,
                },
                Package(0x4) {
                    0xffff,
                    0x2,
                    0x0,
                    0x12,
                },
                Package(0x4) {
                    0xffff,
                    0x3,
                    0x0,
                    0x13,
                },
            })
            Name(PICM, Package(0x15) {
                Package(0x4) {
                    0x0004ffff,
                    0x0,
                    \_SB_.PCI0.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x1,
                    \_SB_.PCI0.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x2,
                    \_SB_.PCI0.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x3,
                    \_SB_.PCI0.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x0,
                    \_SB_.PCI0.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x1,
                    \_SB_.PCI0.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x2,
                    \_SB_.PCI0.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x3,
                    \_SB_.PCI0.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x0,
                    \_SB_.PCI0.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x1,
                    \_SB_.PCI0.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x2,
                    \_SB_.PCI0.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x3,
                    \_SB_.PCI0.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0007ffff,
                    0x0,
                    \_SB_.PCI0.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0007ffff,
                    0x1,
                    \_SB_.PCI0.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0007ffff,
                    0x2,
                    \_SB_.PCI0.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0007ffff,
                    0x3,
                    \_SB_.PCI0.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0008ffff,
                    0x0,
                    \_SB_.PCI0.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0xffff,
                    0x0,
                    \_SB_.PCI0.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0xffff,
                    0x1,
                    \_SB_.PCI0.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0xffff,
                    0x2,
                    \_SB_.PCI0.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0xffff,
                    0x3,
                    \_SB_.PCI0.LNKD,
                    0x0,
                },
            })
            Device(USB0) {
                Name(_ADR, 0x0)
                Name(_PRW, Package(0x2) {
                    0xf,
                    0x1,
                })
            }
        }
        Device(LNKA) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x1)
            Method(_STA) {
                And(PIRA, 0xf, Local0)
                If(LEqual(Local0, 0x0)) {
                    Return(0x9)
                }
                Else {
                    Return(0xb)
                }
            }
            Method(_PRS) {
                Name(BUFA, Buffer(0x6) {0x23, 0x28, 0xc, 0x18, 0x79, 0x0 })
                Return(BUFA)
            }
            Method(_DIS) {
                And(PIRA, 0xf0, PIRA)
            }
            Method(_CRS) {
                Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateByteField(BUFA, 0x1, IRA1)
                CreateByteField(BUFA, 0x2, IRA2)
                Store(0x0, Local3)
                Store(0x0, Local4)
                And(PIRA, 0xf, Local1)
                If(LNot(LEqual(Local1, 0x0))) {
                    If(LGreater(Local1, 0x7)) {
                        Subtract(Local1, 0x8, Local2)
                        ShiftLeft(One, Local2, Local4)
                    }
                    Else {
                        If(LGreater(Local1, 0x0)) {
                            ShiftLeft(One, Local1, Local3)
                        }
                    }
                    Store(Local3, IRA1)
                    Store(Local4, IRA2)
                }
                Return(BUFA)
            }
            Method(_SRS, 1) {
                CreateByteField(Arg0, 0x1, IRA1)
                CreateByteField(Arg0, 0x2, IRA2)
                ShiftLeft(IRA2, 0x8, Local0)
                Or(Local0, IRA1, Local0)
                Store(0x0, Local1)
                ShiftRight(Local0, 0x1, Local0)
                While(LGreater(Local0, 0x0)) {
                    Increment(Local1)
                    ShiftRight(Local0, 0x1, Local0)
                }
                And(PIRA, 0xf0, PIRA)
                Or(PIRA, Local1, PIRA)
            }
        }
        Device(LNKB) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x2)
            Method(_STA) {
                And(PIRA, 0xf0, Local0)
                If(LEqual(Local0, 0x0)) {
                    Return(0x9)
                }
                Else {
                    Return(0xb)
                }
            }
            Method(_PRS) {
                Name(BUFB, Buffer(0x6) {0x23, 0x28, 0xc, 0x18, 0x79, 0x0 })
                Return(BUFB)
            }
            Method(_DIS) {
                And(PIRA, 0xf, PIRA)
            }
            Method(_CRS) {
                Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateByteField(BUFB, 0x1, IRB1)
                CreateByteField(BUFB, 0x2, IRB2)
                Store(0x0, Local3)
                Store(0x0, Local4)
                And(PIRA, 0xf0, Local1)
                ShiftRight(Local1, 0x4, Local1)
                If(LNot(LEqual(Local1, 0x0))) {
                    If(LGreater(Local1, 0x7)) {
                        Subtract(Local1, 0x8, Local2)
                        ShiftLeft(One, Local2, Local4)
                    }
                    Else {
                        If(LGreater(Local1, 0x0)) {
                            ShiftLeft(One, Local1, Local3)
                        }
                    }
                    Store(Local3, IRB1)
                    Store(Local4, IRB2)
                }
                Return(BUFB)
            }
            Method(_SRS, 1) {
                CreateByteField(Arg0, 0x1, IRB1)
                CreateByteField(Arg0, 0x2, IRB2)
                ShiftLeft(IRB2, 0x8, Local0)
                Or(Local0, IRB1, Local0)
                Store(0x0, Local1)
                ShiftRight(Local0, 0x1, Local0)
                While(LGreater(Local0, 0x0)) {
                    Increment(Local1)
                    ShiftRight(Local0, 0x1, Local0)
                }
                And(PIRA, 0xf, PIRA)
                ShiftLeft(Local1, 0x4, Local1)
                Or(PIRA, Local1, PIRA)
            }
        }
        Device(LNKC) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x3)
            Method(_STA) {
                And(PIRC, 0xf, Local0)
                If(LEqual(Local0, 0x0)) {
                    Return(0x9)
                }
                Else {
                    Return(0xb)
                }
            }
            Method(_PRS) {
                Name(BUFA, Buffer(0x6) {0x23, 0x28, 0xc, 0x18, 0x79, 0x0 })
                Return(BUFA)
            }
            Method(_DIS) {
                And(PIRC, 0xf0, PIRC)
            }
            Method(_CRS) {
                Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateByteField(BUFA, 0x1, IRA1)
                CreateByteField(BUFA, 0x2, IRA2)
                Store(0x0, Local3)
                Store(0x0, Local4)
                And(PIRC, 0xf, Local1)
                If(LNot(LEqual(Local1, 0x0))) {
                    If(LGreater(Local1, 0x7)) {
                        Subtract(Local1, 0x8, Local2)
                        ShiftLeft(One, Local2, Local4)
                    }
                    Else {
                        If(LGreater(Local1, 0x0)) {
                            ShiftLeft(One, Local1, Local3)
                        }
                    }
                    Store(Local3, IRA1)
                    Store(Local4, IRA2)
                }
                Return(BUFA)
            }
            Method(_SRS, 1) {
                CreateByteField(Arg0, 0x1, IRA1)
                CreateByteField(Arg0, 0x2, IRA2)
                ShiftLeft(IRA2, 0x8, Local0)
                Or(Local0, IRA1, Local0)
                Store(0x0, Local1)
                ShiftRight(Local0, 0x1, Local0)
                While(LGreater(Local0, 0x0)) {
                    Increment(Local1)
                    ShiftRight(Local0, 0x1, Local0)
                }
                And(PIRC, 0xf0, PIRC)
                Or(PIRC, Local1, PIRC)
            }
        }
        Device(LNKD) {
            Name(_HID, 0x0f0cd041)
            Name(_UID, 0x4)
            Method(_STA) {
                And(PIRC, 0xf0, Local0)
                If(LEqual(Local0, 0x0)) {
                    Return(0x9)
                }
                Else {
                    Return(0xb)
                }
            }
            Method(_PRS) {
                Name(BUFB, Buffer(0x6) {0x23, 0x28, 0xc, 0x18, 0x79, 0x0 })
                Return(BUFB)
            }
            Method(_DIS) {
                And(PIRC, 0xf, PIRC)
            }
            Method(_CRS) {
                Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                CreateByteField(BUFB, 0x1, IRB1)
                CreateByteField(BUFB, 0x2, IRB2)
                Store(0x0, Local3)
                Store(0x0, Local4)
                And(PIRC, 0xf0, Local1)
                ShiftRight(Local1, 0x4, Local1)
                If(LNot(LEqual(Local1, 0x0))) {
                    If(LGreater(Local1, 0x7)) {
                        Subtract(Local1, 0x8, Local2)
                        ShiftLeft(One, Local2, Local4)
                    }
                    Else {
                        If(LGreater(Local1, 0x0)) {
                            ShiftLeft(One, Local1, Local3)
                        }
                    }
                    Store(Local3, IRB1)
                    Store(Local4, IRB2)
                }
                Return(BUFB)
            }
            Method(_SRS, 1) {
                CreateByteField(Arg0, 0x1, IRB1)
                CreateByteField(Arg0, 0x2, IRB2)
                ShiftLeft(IRB2, 0x8, Local0)
                Or(Local0, IRB1, Local0)
                Store(0x0, Local1)
                ShiftRight(Local0, 0x1, Local0)
                While(LGreater(Local0, 0x0)) {
                    Increment(Local1)
                    ShiftRight(Local0, 0x1, Local0)
                }
                And(PIRC, 0xf, PIRC)
                ShiftLeft(Local1, 0x4, Local1)
                Or(PIRC, Local1, PIRC)
            }
        }
        Device(PIC_) {
            Name(_HID, 0xd041)
            Name(_CRS, Buffer(0x16) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 
0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x23, 0x4, 0x0, 0x1, 0x79, 0x0 })
        }
        Device(DMA1) {
            Name(_HID, 0x0002d041)
            Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 
0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x10, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 
0x1, 0x20, 0x2a, 0x10, 0x2, 0x79, 0x0 })
        }
        Device(TMR_) {
            Name(_HID, 0x0001d041)
            Name(_CRS, Buffer(0xe) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 
0x23, 0x1, 0x0, 0x1, 0x79, 0x0 })
        }
        Device(RTC_) {
            Name(_HID, 0x000bd041)
            Name(_CRS, Buffer(0xe) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x6, 
0x23, 0x0, 0x1, 0x1, 0x79, 0x0 })
        }
        Device(SPKR) {
            Name(_HID, 0x0008d041)
            Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 
0x79, 0x0 })
        }
        Device(COPR) {
            Name(_HID, 0x040cd041)
            Name(_CRS, Buffer(0xe) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x10, 
0x23, 0x0, 0x20, 0x1, 0x79, 0x0 })
        }
        Device(SYSR) {
            Name(_HID, 0x020cd041)
            Name(_CRS, Buffer(0x52) {0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 
0x47, 0x1, 0x10, 0x0, 0x10, 0x0, 0x1, 0x10, 0x47, 0x1, 0x22, 0x0, 0x22, 0x0, 
0x1, 0x1e, 0x47, 0x1, 0x44, 0x0, 0x44, 0x0, 0x1, 0x1c, 0x47, 0x1, 0x62, 0x0, 
0x62, 0x0, 0x1, 0x2, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0xb, 0x47, 0x1, 
0x76, 0x0, 0x76, 0x0, 0x1, 0xa, 0x47, 0x1, 0x90, 0x0, 0x90, 0x0, 0x1, 0x10, 
0x47, 0x1, 0xa2, 0x0, 0xa2, 0x0, 0x1, 0x1e, 0x47, 0x1, 0xe0, 0x0, 0xe0, 0x0, 
0x1, 0x10, 0x79, 0x0 })
        }
        Device(PS2M) {
            Name(_HID, 0x130fd041)
            Method(_STA) {
                And(FLG0, 0x4, Local0)
                If(LEqual(Local0, 0x4)) {
                    Return(0xf)
                }
                Else {
                    Return(0x0)
                }
            }
            Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 })
        }
        Device(PS2K) {
            Name(_HID, 0x0303d041)
            Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 
0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 })
        }
        Device(SIO_) {
            Name(_HID, 0x050ad041)
            OperationRegion(SIBP, SystemIO, 0x2e, 0x2)
            Field(SIBP, ByteAcc, NoLock, Preserve) {
                BPIO,   8
            }
            OperationRegion(SIIO, SystemIO, 0x2e, 0x2)
            Field(SIIO, ByteAcc, NoLock, Preserve) {
                INDX,   8,
                DATA,   8
            }
            OperationRegion(\RTC_, SystemIO, 0x70, 0x2)
            Field(\RTC_, ByteAcc, NoLock, Preserve) {
                RTCI,   8,
                RTCD,   8
            }
            IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
                Offset(0x7),
                LDN_,   8,
                Offset(0x22),
                POW_,   8,
                Offset(0x30),
                ACT_,   8,
                Offset(0x60),
                IOBH,   8,
                IOBL,   8,
                Offset(0x70),
                INT_,   8,
                Offset(0x74),
                DMAS,   8,
                Offset(0xe0),
                REG0,   8,
                Offset(0xe4),
                REG4,   8,
                Offset(0xf0),
                MODE,   3
            }
            Method(CFG_, 1) {
                Store(0x20, INDX)
                While(LNot(LEqual(DATA, 0x52))) {
                    Store(0x87, BPIO)
                    Store(0x87, BPIO)
                    Store(0x20, INDX)
                }
                Store(Arg0, LDN_)
            }
            Method(XCFG) {
                Store(0xaa, BPIO)
            }
            Method(DIS_, 1) {
                CFG_(Arg0)
                Store(0x0, ACT_)
                XCFG()
            }
            Method(ENA_, 1) {
                CFG_(Arg0)
                Store(0x1, ACT_)
                XCFG()
            }
            Method(STA_, 1) {
                CFG_(Arg0)
                If(ACT_) {
                    Store(0xf, Local0)
                }
                Else {
                    Store(0xd, Local0)
                }
                XCFG()
                Return(Local0)
            }
            Method(PS0_, 1) {
                ENA_(Arg0)
                Return(Zero)
            }
            Method(PS3_, 1) {
                DIS_(Arg0)
                Return(0x3)
            }
            Name(TIO_, Buffer(0xa) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 
0x79, 0x0 })
            Method(RIO_, 1) {
                CreateWordField(TIO_, 0x2, IO1N)
                CreateWordField(TIO_, 0x4, IO1X)
                CreateField(TIO_, 0x10, 0x20, OUT_)
                ShiftLeft(IOBH, 0x8, Local0)
                Add(IOBL, Local0, Local0)
                Add(Local0, Arg0, Local1)
                Store(Local1, IO1N)
                Store(Local1, IO1X)
                Return(OUT_)
            }
            Method(WIO1, 1) {
                CreateByteField(TIO_, 0x2, IOLL)
                CreateByteField(TIO_, 0x3, IOLH)
                Store(Arg0, TIO_)
                Store(IOLL, IOBL)
                Store(IOLH, IOBH)
            }
            Name(TIRQ, Buffer(0x6) {0x23, 0x10, 0x0, 0x1, 0x79, 0x0 })
            Method(RIRQ) {
                CreateWordField(TIRQ, 0x1, IRQ1)
                CreateField(TIRQ, 0x0, 0x20, OUT_)
                ShiftLeft(0x1, INT_, IRQ1)
                Return(OUT_)
            }
            Method(WIRQ, 1) {
                CreateWordField(TIRQ, 0x1, IRQ1)
                Store(Arg0, TIRQ)
                FindSetRightBit(IRQ1, Local0)
                Subtract(Local0, 0x1, Local0)
                Store(Local0, INT_)
            }
            Name(TDMA, Buffer(0x5) {0x2a, 0x1, 0x0, 0x79, 0x0 })
            Method(RDMA) {
                CreateByteField(TDMA, 0x1, DMAA)
                CreateField(TDMA, 0x0, 0x18, OUT_)
                Store(DMAS, Local0)
                ShiftLeft(0x1, Local0, DMAA)
                Return(OUT_)
            }
            Method(WDMA, 1) {
                CreateByteField(TDMA, 0x1, DMAA)
                Store(Arg0, TDMA)
                FindSetRightBit(DMAA, Local0)
                Subtract(Local0, 0x1, DMAS)
            }
            Device(COM1) {
                Name(_HID, 0x0105d041)
                Name(_UID, 0x1)
                Name(_PSC, 0x0)
                Name(RSRC, Buffer(0xe) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 
0x8, 0x23, 0x10, 0x0, 0x1, 0x79, 0x0 })
                Name(_PRS, Buffer(0x3b) {0x31, 0x4, 0x47, 0x1, 0xf8, 0x3, 0xf8, 
0x3, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x31, 0x4, 0x47, 0x1, 0xf8, 0x2, 0xf8, 
0x2, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x31, 0x4, 0x47, 0x1, 0xe8, 0x3, 0xe8, 
0x3, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x31, 0x4, 0x47, 0x1, 0xe8, 0x2, 0xe8, 
0x2, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x38, 0x79, 0x0 })
                Method(_CRS) {
                    CreateField(RSRC, 0x10, 0x20, IO1_)
                    CreateField(RSRC, 0x40, 0x20, IRQ1)
                    CFG_(0x2)
                    Store(RIO_(0x0), IO1_)
                    Store(RIRQ(), IRQ1)
                    XCFG()
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    CreateField(RSRC, 0x0, 0x40, IO1_)
                    CreateWordField(RSRC, 0x2, IOXX)
                    CreateField(RSRC, 0x40, 0x20, IRQ1)
                    CFG_(0x2)
                    Store(Arg0, RSRC)
                    WIO1(IO1_)
                    WIRQ(IRQ1)
                    XCFG()
                    Store(IOXX, Local0)
                }
                Method(_DIS) {
                    DIS_(0x2)
                }
                Method(_PS0) {
                    PS0_(0x2)
                    ENA_(0x2)
                    Store(0x0, _PSC)
                }
                Method(_PS3) {
                    PS3_(0x2)
                    Store(0x3, _PSC)
                }
                Method(_STA) {
                    Store(IPAD, Local0)
                    And(Local0, 0x1, Local0)
                    If(LEqual(Local0, 0x1)) {
                        Return(0x0)
                    }
                    Else {
                        Return(STA_(0x2))
                    }
                }
            }
            Device(COM2) {
                Name(_HID, 0x0105d041)
                Name(_UID, 0x2)
                Name(_PSC, 0x0)
                Name(NUM0, 0x1)
                Name(RSRC, Buffer(0xe) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 
0x8, 0x23, 0x10, 0x0, 0x1, 0x79, 0x0 })
                Name(_PRS, Buffer(0x3b) {0x31, 0x4, 0x47, 0x1, 0xf8, 0x2, 0xf8, 
0x2, 0x1, 0x8, 0x23, 0xb8, 0x16, 0x1, 0x31, 0x4, 0x47, 0x1, 0xe8, 0x2, 0xe8, 
0x2, 0x1, 0x8, 0x23, 0xb8, 0x16, 0x1, 0x31, 0x4, 0x47, 0x1, 0xf8, 0x3, 0xf8, 
0x3, 0x1, 0x8, 0x23, 0xb8, 0x16, 0x1, 0x31, 0x4, 0x47, 0x1, 0xe8, 0x3, 0xe8, 
0x3, 0x1, 0x8, 0x23, 0xb8, 0x16, 0x1, 0x38, 0x79, 0x0 })
                Method(_CRS) {
                    CreateField(RSRC, 0x10, 0x20, IO1_)
                    CreateField(RSRC, 0x40, 0x20, IRQ1)
                    CFG_(0x3)
                    Store(RIO_(0x0), IO1_)
                    Store(RIRQ(), IRQ1)
                    XCFG()
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    CFG_(0x3)
                    CreateField(RSRC, 0x0, 0x40, IO1_)
                    CreateWordField(RSRC, 0x2, IOXX)
                    CreateField(RSRC, 0x40, 0x20, IRQ1)
                    Store(Arg0, RSRC)
                    WIO1(IO1_)
                    WIRQ(IRQ1)
                    XCFG()
                    Store(IOXX, Local0)
                }
                Method(_DIS) {
                    DIS_(0x3)
                }
                Method(_PS0) {
                    PS0_(0x3)
                    Store(0x0, _PSC)
                }
                Method(_PS3) {
                    PS3_(0x3)
                    Store(0x3, _PSC)
                }
                Method(_STA) {
                    Store(IPAD, Local0)
                    And(Local0, 0x2, Local0)
                    If(LEqual(Local0, 0x2)) {
                        Return(0x0)
                    }
                    Else {
                        Return(STA_(0x3))
                    }
                }
            }
            Device(LPT_) {
                Name(_PSC, 0x0)
                Method(ECP_) {
                    CFG_(0x1)
                    And(MODE, 0x2, Local0)
                    XCFG()
                    If(LEqual(Local0, 0x0)) {
                        Return(0x0)
                    }
                    Else {
                        Return(0x1)
                    }
                }
                Method(_HID) {
                    If(ECP_()) {
                        Return(0x0104d041)
                    }
                    Else {
                        Return(0x0004d041)
                    }
                }
                Method(_PRS) {
                    If(ECP_()) {
                        Return(ECPB)
                    }
                    Else {
                        Return(EPPB)
                    }
                }
                Name(ECPT, Buffer(0x19) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 
0x8, 0x23, 0x20, 0x0, 0x1, 0x2a, 0x2, 0x0, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 
0x1, 0x8, 0x79, 0x0 })
                Name(EPPT, Buffer(0x16) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 
0x8, 0x23, 0x80, 0x0, 0x1, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x79, 0x0 
})
                Name(ECPB, Buffer(0x4e) {0x31, 0x4, 0x47, 0x1, 0x78, 0x3, 0x78, 
0x3, 0x1, 0x8, 0x23, 0xa0, 0x0, 0x1, 0x2a, 0xa, 0x0, 0x47, 0x1, 0x78, 0x7, 
0x78, 0x7, 0x1, 0x8, 0x31, 0x4, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 
0x23, 0xa0, 0x0, 0x1, 0x2a, 0xa, 0x0, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 
0x8, 0x31, 0x4, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x8, 0x23, 0xa0, 0x0, 
0x1, 0x2a, 0xa, 0x0, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x8, 0x38, 0x79, 0x0 
})
                Name(EPPB, Buffer(0x45) {0x31, 0x4, 0x47, 0x1, 0x78, 0x3, 0x78, 
0x3, 0x1, 0x8, 0x23, 0xa0, 0x0, 0x1, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 
0x31, 0x4, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x23, 0xa0, 0x0, 0x1, 
0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x31, 0x4, 0x47, 0x1, 0xbc, 0x3, 
0xbc, 0x3, 0x1, 0x8, 0x23, 0xa0, 0x0, 0x1, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 
0x1, 0x8, 0x38, 0x79, 0x0 })
                Method(_CRS) {
                    If(ECP_()) {
                        CreateField(ECPT, 0x10, 0x20, IO1_)
                        CreateField(ECPT, 0x40, 0x20, IRQ1)
                        CreateField(ECPT, 0x60, 0x18, DMA1)
                        CreateField(ECPT, 0x88, 0x20, IO2_)
                        CFG_(0x1)
                        Store(RIO_(0x0), IO1_)
                        Store(RIRQ(), IRQ1)
                        Store(RDMA(), DMA1)
                        Store(RIO_(0x0400), IO2_)
                        XCFG()
                        Return(ECPT)
                    }
                    Else {
                        CreateField(EPPT, 0x10, 0x20, IO3_)
                        CreateField(EPPT, 0x40, 0x20, IRQ3)
                        CFG_(0x1)
                        Store(RIO_(0x0), IO3_)
                        Store(RIRQ(), IRQ3)
                        XCFG()
                        Return(EPPT)
                    }
                }
                Method(_SRS, 1) {
                    If(ECP_()) {
                        CreateField(ECPT, 0x0, 0x40, IO1_)
                        CreateWordField(ECPT, 0x2, IOXX)
                        CreateField(ECPT, 0x40, 0x20, IRQ1)
                        CreateField(ECPT, 0x60, 0x18, DMA1)
                        Store(Arg0, ECPT)
                        CFG_(0x1)
                        WIO1(IO1_)
                        WIRQ(IRQ1)
                        WDMA(DMA1)
                        Store(IOXX, Local0)
                    }
                    Else {
                        CreateField(EPPT, 0x0, 0x40, IO2_)
                        CreateWordField(EPPT, 0x2, IOXY)
                        CreateField(EPPT, 0x40, 0x20, IRQ2)
                        Store(Arg0, EPPT)
                        CFG_(0x1)
                        WIO1(IO2_)
                        WIRQ(IRQ2)
                        Store(IOXY, Local0)
                    }
                    XCFG()
                }
                Method(_DIS) {
                    DIS_(0x1)
                }
                Method(_PS0) {
                    PS0_(0x1)
                    ENA_(0x1)
                    Store(0x0, _PSC)
                }
                Method(_PS3) {
                    PS3_(0x1)
                    Store(0x3, _PSC)
                }
                Method(_STA) {
                    Store(IPAD, Local0)
                    And(Local0, 0x4, Local0)
                    If(LEqual(Local0, 0x4)) {
                        Return(0x0)
                    }
                    Else {
                        Return(STA_(0x1))
                    }
                }
            }
            Device(FDC0) {
                Name(_HID, 0x0007d041)
                Name(_PSC, 0x0)
                Name(RSRC, Buffer(0x19) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 
0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x23, 0x40, 0x0, 0x1, 0x2a, 
0x4, 0x0, 0x79, 0x0 })
                Name(_PRS, Buffer(0x35) {0x31, 0x0, 0x47, 0x1, 0xf0, 0x3, 0xf0, 
0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x23, 0x40, 0x0, 0x1, 
0x2a, 0x4, 0x0, 0x31, 0x4, 0x47, 0x1, 0x70, 0x3, 0x70, 0x3, 0x1, 0x6, 0x47, 
0x1, 0x77, 0x3, 0x77, 0x3, 0x1, 0x1, 0x23, 0x40, 0x0, 0x1, 0x2a, 0x4, 0x0, 
0x38, 0x79, 0x0 })
                Method(_CRS) {
                    CreateField(RSRC, 0x10, 0x20, IO1_)
                    CreateField(RSRC, 0x50, 0x20, IO2_)
                    CreateWordField(RSRC, 0xa, IOA_)
                    CreateWordField(RSRC, 0xc, IOB_)
                    CreateField(RSRC, 0x80, 0x20, IRQ1)
                    CreateField(RSRC, 0xa0, 0x18, DMA1)
                    CFG_(0x0)
                    Store(RIO_(0x0), IO1_)
                    Store(RIO_(0x7), IO2_)
                    Store(RIRQ(), IRQ1)
                    Store(RDMA(), DMA1)
                    XCFG()
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    CFG_(0x0)
                    CreateWordField(RSRC, 0x2, IOXX)
                    CreateField(RSRC, 0x0, 0x40, IO1_)
                    CreateField(RSRC, 0x80, 0x20, IRQ1)
                    CreateField(RSRC, 0xa0, 0x18, DMA1)
                    Store(Arg0, RSRC)
                    WIO1(IO1_)
                    WIRQ(IRQ1)
                    WDMA(DMA1)
                    XCFG()
                    Store(IOXX, Local0)
                    If(LEqual(Local0, 0x03f0)) {
                    }
                    If(LEqual(Local0, 0x0370)) {
                    }
                }
                Method(_DIS) {
                    DIS_(0x0)
                }
                Method(_PS3) {
                    PS3_(0x0)
                    Store(0x3, _PSC)
                }
                Method(_PS0) {
                    PS0_(0x0)
                    ENA_(0x0)
                    Store(0x0, _PSC)
                }
                Method(_STA) {
                    Return(STA_(0x0))
                }
            }
        }
    }
}

}
/*
APIC: Length=94, Revision=1, Checksum=72,
        OEMID=PTLTD, OEM Table ID=       APIC, OEM Revision=0x6040000,
        Creator ID= LTP, Creator Revision=0x0
 */

Reply via email to