Re: ACPI issue with ASUS P5A motherboard on 5.2-RELEASE

From: Gregory Poudrel <chojin_at_chojin.info>
Date: Sun, 18 Jan 2004 20:27:12 +0100
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le Dimanche 18 Janvier 2004 17:44, Philip Paeps a écrit :
> Can you post (a link to) your DSDT?  Use acpidump -d.
/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20030619
 *
 * Disassembly of /tmp/acpidump.UzMpmd, Sun Jan 18 20:21:30 2004
 */
DefinitionBlock ("DSDT.aml", "DSDT", 1, "ASUS", "P5A     ", 4096)
{
    Scope (\_PR)
    {
        Processor (\_PR.CPU0, 0x01, 0x0000EC10, 0x06) {}
    }

    Name (\_S0, Package (0x04)
    {
        0x04, 
        0x04, 
        0x00, 
        0x00
    })
    Name (\_S1, Package (0x04)
    {
        0x03, 
        0x03, 
        0x00, 
        0x00
    })
    Name (\_S5, Package (0x04)
    {
        0x05, 
        0x05, 
        0x00, 
        0x00
    })
    OperationRegion (\DEBG, SystemIO, 0x80, 0x01)
    Field (\DEBG, ByteAcc, NoLock, Preserve)
    {
        DBG1,   8
    }

    OperationRegion (ABAS, SystemIO, 0xEC00, 0x30)
    Field (ABAS, WordAcc, NoLock, Preserve)
    {
        PM1S,   16, 
        Offset (0x18), 
        GPE0,   16, 
        Offset (0x1C), 
        GPE1,   16
    }

    OperationRegion (CMIO, SystemIO, 0x72, 0x02)
    Field (CMIO, WordAcc, NoLock, Preserve)
    {
        CM00,   8, 
        CM01,   8
    }

    Method (\_PTS, 1, NotSerialized)
    {
        If (LEqual (Arg0, 0x05))
        {
            Store (0xFF, CM00)
            Store (0xFF, CM01)
        }

        If (LEqual (Arg0, 0x01))
        {
            Store (0xFFFF, PM1S)
            Store (0xFFFF, GPE0)
            Store (0xFFFF, GPE1)
        }

        If (LNot (LEqual (Arg0, 0x05)))
        {
            Store (0x01, \_SB.PCI0.ALPM.FANM)
        }
        Else
        {
        }

        Or (Arg0, 0xF0, Local2)
        Store (Local2, DBG1)
    }

    Method (\_WAK, 1, NotSerialized)
    {
        Store (0x00, \_SB.PCI0.ALPM.FANM)
        Store (0xFF, DBG1)
    }

    Scope (\_SI)
    {
        Method (_MSG, 1, NotSerialized)
        {
            And (\_SB.PCI0.ALPM.LEDC, 0xF3, Local1)
            If (LEqual (Arg0, Zero))
            {
                Store (Zero, Local0)
            }
            Else
            {
                If (LEqual (Arg0, One))
                {
                    Store (0x02, Local0)
                }
                Else
                {
                    Store (0x03, Local0)
                }
            }

            ShiftLeft (Local0, 0x02, Local0)
            Or (Local1, Local0, \_SB.PCI0.ALPM.LEDC)
        }

        Method (_SST, 1, NotSerialized)
        {
            And (\_SB.PCI0.ALPM.LEDC, 0xFC, Local1)
            If (LEqual (Arg0, 0x03))
            {
                Store (0x02, Local0)
            }
            Else
            {
                If (LEqual (Arg0, 0x00))
                {
                    Store (One, Local0)
                }
                Else
                {
                    Store (Zero, Local0)
                }
            }

            Or (Local1, Local0, \_SB.PCI0.ALPM.LEDC)
        }
    }

    Scope (\_SB)
    {
        Device (LNKA)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x01)
            Method (_STA, 0, NotSerialized)
            {
                And (\_SB.PCI0.PX40.PIRA, 0x0F, Local0)
                If (LNot (LEqual (Local0, 0x00)))
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Name (_PRS, Buffer (0x06)
            {
                0x23, 0xF8, 0xDE, 0x18, 0x79, 0x00
            })
            Method (_DIS, 0, NotSerialized)
            {
                And (\_SB.PCI0.PX40.PIRA, 0xF0, \_SB.PCI0.PX40.PIRA)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUFA, Buffer (0x06)
                {
                    0x23, 0x00, 0x00, 0x18, 0x79, 0x00
                })
                CreateWordField (BUFA, 0x01, IRA)
                And (\_SB.PCI0.PX40.PIRA, 0x0F, Local0)
                If (LNot (LEqual (Local0, 0x00)))
                {
                    Store (0x00, Local1)
                    If (LEqual (Local0, 0x01))
                    {
                        Store (0x09, Local1)
                    }

                    If (LEqual (Local0, 0x02))
                    {
                        Store (0x03, Local1)
                    }

                    If (LEqual (Local0, 0x03))
                    {
                        Store (0x0A, Local1)
                    }

                    If (LEqual (Local0, 0x04))
                    {
                        Store (0x04, Local1)
                    }

                    If (LEqual (Local0, 0x05))
                    {
                        Store (0x05, Local1)
                    }

                    If (LEqual (Local0, 0x06))
                    {
                        Store (0x07, Local1)
                    }

                    If (LEqual (Local0, 0x07))
                    {
                        Store (0x06, Local1)
                    }

                    If (LEqual (Local0, 0x08))
                    {
                        Store (0x01, Local1)
                    }

                    If (LEqual (Local0, 0x09))
                    {
                        Store (0x0B, Local1)
                    }

                    If (LEqual (Local0, 0x0B))
                    {
                        Store (0x0C, Local1)
                    }

                    If (LEqual (Local0, 0x0D))
                    {
                        Store (0x0E, Local1)
                    }

                    If (LEqual (Local0, 0x0F))
                    {
                        Store (0x0F, Local1)
                    }

                    ShiftLeft (0x01, Local1, Local1)
                    Store (Local1, IRA)
                }

                CreateByteField (BUFA, 0x02, XXXX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateByteField (Arg0, 0x01, IRA1)
                CreateByteField (Arg0, 0x02, IRA2)
                ShiftLeft (IRA2, 0x08, Local0)
                Or (Local0, IRA1, Local0)
                Store (0x00, Local1)
                ShiftRight (Local0, 0x01, Local0)
                While (LGreater (Local0, 0x00))
                {
                    Increment (Local1)
                    ShiftRight (Local0, 0x01, Local0)
                }

                Store (0x00, Local2)
                If (LEqual (Local1, 0x01))
                {
                    Store (0x08, Local2)
                }

                If (LEqual (Local1, 0x03))
                {
                    Store (0x02, Local2)
                }

                If (LEqual (Local1, 0x04))
                {
                    Store (0x04, Local2)
                }

                If (LEqual (Local1, 0x05))
                {
                    Store (0x05, Local2)
                }

                If (LEqual (Local1, 0x06))
                {
                    Store (0x07, Local2)
                }

                If (LEqual (Local1, 0x07))
                {
                    Store (0x06, Local2)
                }

                If (LEqual (Local1, 0x09))
                {
                    Store (0x01, Local2)
                }

                If (LEqual (Local1, 0x0A))
                {
                    Store (0x03, Local2)
                }

                If (LEqual (Local1, 0x0B))
                {
                    Store (0x09, Local2)
                }

                If (LEqual (Local1, 0x0C))
                {
                    Store (0x0B, Local2)
                }

                If (LEqual (Local1, 0x0E))
                {
                    Store (0x0D, Local2)
                }

                If (LEqual (Local1, 0x0F))
                {
                    Store (0x0F, Local2)
                }

                And (\_SB.PCI0.PX40.PIRA, 0xF0, Local0)
                Or (Local2, Local0, \_SB.PCI0.PX40.PIRA)
            }
        }

        Device (LNKB)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x02)
            Method (_STA, 0, NotSerialized)
            {
                And (\_SB.PCI0.PX40.PIRA, 0xF0, Local0)
                ShiftRight (Local0, 0x04, Local0)
                If (LNot (LEqual (Local0, 0x00)))
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Name (_PRS, Buffer (0x06)
            {
                0x23, 0xF8, 0xDE, 0x18, 0x79, 0x00
            })
            Method (_DIS, 0, NotSerialized)
            {
                And (\_SB.PCI0.PX40.PIRA, 0x0F, \_SB.PCI0.PX40.PIRA)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUFA, Buffer (0x06)
                {
                    0x23, 0x00, 0x00, 0x18, 0x79, 0x00
                })
                CreateWordField (BUFA, 0x01, IRA)
                And (\_SB.PCI0.PX40.PIRA, 0xF0, Local0)
                ShiftRight (Local0, 0x04, Local0)
                If (LNot (LEqual (Local0, 0x00)))
                {
                    Store (0x00, Local1)
                    If (LEqual (Local0, 0x01))
                    {
                        Store (0x09, Local1)
                    }

                    If (LEqual (Local0, 0x02))
                    {
                        Store (0x03, Local1)
                    }

                    If (LEqual (Local0, 0x03))
                    {
                        Store (0x0A, Local1)
                    }

                    If (LEqual (Local0, 0x04))
                    {
                        Store (0x04, Local1)
                    }

                    If (LEqual (Local0, 0x05))
                    {
                        Store (0x05, Local1)
                    }

                    If (LEqual (Local0, 0x06))
                    {
                        Store (0x07, Local1)
                    }

                    If (LEqual (Local0, 0x07))
                    {
                        Store (0x06, Local1)
                    }

                    If (LEqual (Local0, 0x08))
                    {
                        Store (0x01, Local1)
                    }

                    If (LEqual (Local0, 0x09))
                    {
                        Store (0x0B, Local1)
                    }

                    If (LEqual (Local0, 0x0B))
                    {
                        Store (0x0C, Local1)
                    }

                    If (LEqual (Local0, 0x0D))
                    {
                        Store (0x0E, Local1)
                    }

                    If (LEqual (Local0, 0x0F))
                    {
                        Store (0x0F, Local1)
                    }

                    ShiftLeft (0x01, Local1, Local1)
                    Store (Local1, IRA)
                }

                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateByteField (Arg0, 0x01, IRA1)
                CreateByteField (Arg0, 0x02, IRA2)
                ShiftLeft (IRA2, 0x08, Local0)
                Or (Local0, IRA1, Local0)
                Store (0x00, Local1)
                ShiftRight (Local0, 0x01, Local0)
                While (LGreater (Local0, 0x00))
                {
                    Increment (Local1)
                    ShiftRight (Local0, 0x01, Local0)
                }

                Store (0x00, Local2)
                If (LEqual (Local1, 0x01))
                {
                    Store (0x08, Local2)
                }

                If (LEqual (Local1, 0x03))
                {
                    Store (0x02, Local2)
                }

                If (LEqual (Local1, 0x04))
                {
                    Store (0x04, Local2)
                }

                If (LEqual (Local1, 0x05))
                {
                    Store (0x05, Local2)
                }

                If (LEqual (Local1, 0x06))
                {
                    Store (0x07, Local2)
                }

                If (LEqual (Local1, 0x07))
                {
                    Store (0x06, Local2)
                }

                If (LEqual (Local1, 0x09))
                {
                    Store (0x01, Local2)
                }

                If (LEqual (Local1, 0x0A))
                {
                    Store (0x03, Local2)
                }

                If (LEqual (Local1, 0x0B))
                {
                    Store (0x09, Local2)
                }

                If (LEqual (Local1, 0x0C))
                {
                    Store (0x0B, Local2)
                }

                If (LEqual (Local1, 0x0E))
                {
                    Store (0x0D, Local2)
                }

                If (LEqual (Local1, 0x0F))
                {
                    Store (0x0F, Local2)
                }

                And (\_SB.PCI0.PX40.PIRA, 0x0F, Local0)
                ShiftLeft (Local2, 0x04, Local2)
                Or (Local2, Local0, \_SB.PCI0.PX40.PIRA)
            }
        }

        Device (LNKC)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x03)
            Method (_STA, 0, NotSerialized)
            {
                And (\_SB.PCI0.PX40.PIRB, 0x0F, Local0)
                If (LNot (LEqual (Local0, 0x00)))
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Name (_PRS, Buffer (0x06)
            {
                0x23, 0xFA, 0xDE, 0x18, 0x79, 0x00
            })
            Method (_DIS, 0, NotSerialized)
            {
                And (\_SB.PCI0.PX40.PIRB, 0xF0, \_SB.PCI0.PX40.PIRB)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUFA, Buffer (0x06)
                {
                    0x23, 0x00, 0x00, 0x18, 0x79, 0x00
                })
                CreateWordField (BUFA, 0x01, IRA)
                And (\_SB.PCI0.PX40.PIRB, 0x0F, Local0)
                If (LNot (LEqual (Local0, 0x00)))
                {
                    Store (0x00, Local1)
                    If (LEqual (Local0, 0x01))
                    {
                        Store (0x09, Local1)
                    }

                    If (LEqual (Local0, 0x02))
                    {
                        Store (0x03, Local1)
                    }

                    If (LEqual (Local0, 0x03))
                    {
                        Store (0x0A, Local1)
                    }

                    If (LEqual (Local0, 0x04))
                    {
                        Store (0x04, Local1)
                    }

                    If (LEqual (Local0, 0x05))
                    {
                        Store (0x05, Local1)
                    }

                    If (LEqual (Local0, 0x06))
                    {
                        Store (0x07, Local1)
                    }

                    If (LEqual (Local0, 0x07))
                    {
                        Store (0x06, Local1)
                    }

                    If (LEqual (Local0, 0x08))
                    {
                        Store (0x01, Local1)
                    }

                    If (LEqual (Local0, 0x09))
                    {
                        Store (0x0B, Local1)
                    }

                    If (LEqual (Local0, 0x0B))
                    {
                        Store (0x0C, Local1)
                    }

                    If (LEqual (Local0, 0x0D))
                    {
                        Store (0x0E, Local1)
                    }

                    If (LEqual (Local0, 0x0F))
                    {
                        Store (0x0F, Local1)
                    }

                    ShiftLeft (0x01, Local1, Local1)
                    Store (Local1, IRA)
                }

                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateByteField (Arg0, 0x01, IRA1)
                CreateByteField (Arg0, 0x02, IRA2)
                ShiftLeft (IRA2, 0x08, Local0)
                Or (Local0, IRA1, Local0)
                Store (0x00, Local1)
                ShiftRight (Local0, 0x01, Local0)
                While (LGreater (Local0, 0x00))
                {
                    Increment (Local1)
                    ShiftRight (Local0, 0x01, Local0)
                }

                Store (0x00, Local2)
                If (LEqual (Local1, 0x01))
                {
                    Store (0x08, Local2)
                }

                If (LEqual (Local1, 0x03))
                {
                    Store (0x02, Local2)
                }

                If (LEqual (Local1, 0x04))
                {
                    Store (0x04, Local2)
                }

                If (LEqual (Local1, 0x05))
                {
                    Store (0x05, Local2)
                }

                If (LEqual (Local1, 0x06))
                {
                    Store (0x07, Local2)
                }

                If (LEqual (Local1, 0x07))
                {
                    Store (0x06, Local2)
                }

                If (LEqual (Local1, 0x09))
                {
                    Store (0x01, Local2)
                }

                If (LEqual (Local1, 0x0A))
                {
                    Store (0x03, Local2)
                }

                If (LEqual (Local1, 0x0B))
                {
                    Store (0x09, Local2)
                }

                If (LEqual (Local1, 0x0C))
                {
                    Store (0x0B, Local2)
                }

                If (LEqual (Local1, 0x0E))
                {
                    Store (0x0D, Local2)
                }

                If (LEqual (Local1, 0x0F))
                {
                    Store (0x0F, Local2)
                }

                And (\_SB.PCI0.PX40.PIRB, 0xF0, Local0)
                Or (Local2, Local0, \_SB.PCI0.PX40.PIRB)
            }
        }

        Device (LNKD)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x04)
            Method (_STA, 0, NotSerialized)
            {
                And (\_SB.PCI0.PX40.PIRB, 0xF0, Local0)
                ShiftRight (Local0, 0x04, Local0)
                If (LNot (LEqual (Local0, 0x00)))
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Name (_PRS, Buffer (0x06)
            {
                0x23, 0xFA, 0xDE, 0x18, 0x79, 0x00
            })
            Method (_DIS, 0, NotSerialized)
            {
                And (\_SB.PCI0.PX40.PIRB, 0x0F, \_SB.PCI0.PX40.PIRB)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUFA, Buffer (0x06)
                {
                    0x23, 0x00, 0x00, 0x18, 0x79, 0x00
                })
                CreateWordField (BUFA, 0x01, IRA)
                And (\_SB.PCI0.PX40.PIRB, 0xF0, Local0)
                ShiftRight (Local0, 0x04, Local0)
                If (LNot (LEqual (Local0, 0x00)))
                {
                    Store (0x00, Local1)
                    If (LEqual (Local0, 0x01))
                    {
                        Store (0x09, Local1)
                    }

                    If (LEqual (Local0, 0x02))
                    {
                        Store (0x03, Local1)
                    }

                    If (LEqual (Local0, 0x03))
                    {
                        Store (0x0A, Local1)
                    }

                    If (LEqual (Local0, 0x04))
                    {
                        Store (0x04, Local1)
                    }

                    If (LEqual (Local0, 0x05))
                    {
                        Store (0x05, Local1)
                    }

                    If (LEqual (Local0, 0x06))
                    {
                        Store (0x07, Local1)
                    }

                    If (LEqual (Local0, 0x07))
                    {
                        Store (0x06, Local1)
                    }

                    If (LEqual (Local0, 0x08))
                    {
                        Store (0x01, Local1)
                    }

                    If (LEqual (Local0, 0x09))
                    {
                        Store (0x0B, Local1)
                    }

                    If (LEqual (Local0, 0x0B))
                    {
                        Store (0x0C, Local1)
                    }

                    If (LEqual (Local0, 0x0D))
                    {
                        Store (0x0E, Local1)
                    }

                    If (LEqual (Local0, 0x0F))
                    {
                        Store (0x0F, Local1)
                    }

                    ShiftLeft (0x01, Local1, Local1)
                    Store (Local1, IRA)
                }

                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateByteField (Arg0, 0x01, IRA1)
                CreateByteField (Arg0, 0x02, IRA2)
                ShiftLeft (IRA2, 0x08, Local0)
                Or (Local0, IRA1, Local0)
                Store (0x00, Local1)
                ShiftRight (Local0, 0x01, Local0)
                While (LGreater (Local0, 0x00))
                {
                    Increment (Local1)
                    ShiftRight (Local0, 0x01, Local0)
                }

                Store (0x00, Local2)
                If (LEqual (Local1, 0x01))
                {
                    Store (0x08, Local2)
                }

                If (LEqual (Local1, 0x03))
                {
                    Store (0x02, Local2)
                }

                If (LEqual (Local1, 0x04))
                {
                    Store (0x04, Local2)
                }

                If (LEqual (Local1, 0x05))
                {
                    Store (0x05, Local2)
                }

                If (LEqual (Local1, 0x06))
                {
                    Store (0x07, Local2)
                }

                If (LEqual (Local1, 0x07))
                {
                    Store (0x06, Local2)
                }

                If (LEqual (Local1, 0x09))
                {
                    Store (0x01, Local2)
                }

                If (LEqual (Local1, 0x0A))
                {
                    Store (0x03, Local2)
                }

                If (LEqual (Local1, 0x0B))
                {
                    Store (0x09, Local2)
                }

                If (LEqual (Local1, 0x0C))
                {
                    Store (0x0B, Local2)
                }

                If (LEqual (Local1, 0x0E))
                {
                    Store (0x0D, Local2)
                }

                If (LEqual (Local1, 0x0F))
                {
                    Store (0x0F, Local2)
                }

                And (\_SB.PCI0.PX40.PIRB, 0x0F, Local0)
                ShiftLeft (Local2, 0x04, Local2)
                Or (Local2, Local0, \_SB.PCI0.PX40.PIRB)
            }
        }

        Device (LNKE)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x05)
            Method (_STA, 0, NotSerialized)
            {
                And (\_SB.PCI0.PX40.PIRE, 0x0F, Local0)
                If (LNot (LEqual (Local0, 0x00)))
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Name (_PRS, Buffer (0x06)
            {
                0x23, 0xFA, 0xDE, 0x18, 0x79, 0x00
            })
            Method (_DIS, 0, NotSerialized)
            {
                And (\_SB.PCI0.PX40.PIRE, 0xF0, \_SB.PCI0.PX40.PIRE)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Name (BUFA, Buffer (0x06)
                {
                    0x23, 0x00, 0x00, 0x18, 0x79, 0x00
                })
                CreateWordField (BUFA, 0x01, IRA)
                And (\_SB.PCI0.PX40.PIRE, 0x0F, Local0)
                If (LNot (LEqual (Local0, 0x00)))
                {
                    Store (0x00, Local1)
                    If (LEqual (Local0, 0x01))
                    {
                        Store (0x09, Local1)
                    }

                    If (LEqual (Local0, 0x02))
                    {
                        Store (0x03, Local1)
                    }

                    If (LEqual (Local0, 0x03))
                    {
                        Store (0x0A, Local1)
                    }

                    If (LEqual (Local0, 0x04))
                    {
                        Store (0x04, Local1)
                    }

                    If (LEqual (Local0, 0x05))
                    {
                        Store (0x05, Local1)
                    }

                    If (LEqual (Local0, 0x06))
                    {
                        Store (0x07, Local1)
                    }

                    If (LEqual (Local0, 0x07))
                    {
                        Store (0x06, Local1)
                    }

                    If (LEqual (Local0, 0x08))
                    {
                        Store (0x01, Local1)
                    }

                    If (LEqual (Local0, 0x09))
                    {
                        Store (0x0B, Local1)
                    }

                    If (LEqual (Local0, 0x0B))
                    {
                        Store (0x0C, Local1)
                    }

                    If (LEqual (Local0, 0x0D))
                    {
                        Store (0x0E, Local1)
                    }

                    If (LEqual (Local0, 0x0F))
                    {
                        Store (0x0F, Local1)
                    }

                    ShiftLeft (0x01, Local1, Local1)
                    Store (Local1, IRA)
                }

                CreateByteField (BUFA, 0x02, XXXX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateByteField (Arg0, 0x01, IRA1)
                CreateByteField (Arg0, 0x02, IRA2)
                ShiftLeft (IRA2, 0x08, Local0)
                Or (Local0, IRA1, Local0)
                Store (0x00, Local1)
                ShiftRight (Local0, 0x01, Local0)
                While (LGreater (Local0, 0x00))
                {
                    Increment (Local1)
                    ShiftRight (Local0, 0x01, Local0)
                }

                Store (0x00, Local2)
                If (LEqual (Local1, 0x01))
                {
                    Store (0x08, Local2)
                }

                If (LEqual (Local1, 0x03))
                {
                    Store (0x02, Local2)
                }

                If (LEqual (Local1, 0x04))
                {
                    Store (0x04, Local2)
                }

                If (LEqual (Local1, 0x05))
                {
                    Store (0x05, Local2)
                }

                If (LEqual (Local1, 0x06))
                {
                    Store (0x07, Local2)
                }

                If (LEqual (Local1, 0x07))
                {
                    Store (0x06, Local2)
                }

                If (LEqual (Local1, 0x09))
                {
                    Store (0x01, Local2)
                }

                If (LEqual (Local1, 0x0A))
                {
                    Store (0x03, Local2)
                }

                If (LEqual (Local1, 0x0B))
                {
                    Store (0x09, Local2)
                }

                If (LEqual (Local1, 0x0C))
                {
                    Store (0x0B, Local2)
                }

                If (LEqual (Local1, 0x0E))
                {
                    Store (0x0D, Local2)
                }

                If (LEqual (Local1, 0x0F))
                {
                    Store (0x0F, Local2)
                }

                And (\_SB.PCI0.PX40.PIRE, 0xF0, Local0)
                Or (Local2, Local0, \_SB.PCI0.PX40.PIRE)
            }
        }

        OperationRegion (MGRM, SystemMemory, 0x04E3, 0x02)
        Field (MGRM, WordAcc, NoLock, Preserve)
        {
            MEM0,   16
        }

        Method (MEMS, 0, NotSerialized)
        {
            Return (MEM0)
        }

        Device (MEM)
        {
            Name (_HID, EisaId ("PNP0C01"))
            Method (_CRS, 0, NotSerialized)
            {
                Name (BUF1, Buffer (0x32)
                {
                    0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
                    0x00, 0x00, 0x0A, 0x00, 0x86, 0x09, 0x00, 0x00, 
                    0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 
                    0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 
                    0x00, 0x00, 0x00, 0x00, 0x86, 0x09, 0x00, 0x00, 
                    0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x02, 0x00, 
                    0x79, 0x00
                })
                CreateDWordField (BUF1, 0x20, EMLN)
                Store (MEMS (), EMLN)
                ShiftLeft (EMLN, 0x14, EMLN)
                Return (BUF1)
            }
        }

        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, 0x00)
            Name (CRES, Buffer (0x88)
            {
                0x88, 0x0D, 0x00, 0x02, 0x0C, 0x00, 0x00, 0x00, 
                0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 
                0x47, 0x01, 0xF8, 0x0C, 0xF8, 0x0C, 0x01, 0x08, 
                0x88, 0x0D, 0x00, 0x01, 0x0C, 0x03, 0x00, 0x00, 
                0x00, 0x00, 0xF7, 0x0C, 0x00, 0x00, 0xF8, 0x0C, 
                0x88, 0x0D, 0x00, 0x01, 0x0C, 0x03, 0x00, 0x00, 
                0x00, 0x0D, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xF3, 
                0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 
                0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xFF, 0xFF, 
                0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                0x02, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 
                0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0C, 0x00, 
                0xFF, 0xFF, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 
                0x00, 0x80, 0x01, 0x00, 0x87, 0x17, 0x00, 0x00, 
                0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                0x10, 0x00, 0xFF, 0xFF, 0xFD, 0xFF, 0x00, 0x00, 
                0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x79, 0x00
            })
            Method (_CRS, 0, NotSerialized)
            {
                CreateDWordField (CRES, 0x76, RAMT)
                CreateDWordField (CRES, 0x82, RAMR)
                Add (MEMS (), 0x01, RAMT)
                ShiftLeft (RAMT, 0x14, RAMT)
                Subtract (0xFFFE0000, RAMT, RAMR)
                Return (CRES)
            }

            Name (_PRT, Package (0x20)
            {
                Package (0x04)
                {
                    0x000CFFFF, 
                    0x00, 
                    \_SB.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000CFFFF, 
                    0x01, 
                    \_SB.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000CFFFF, 
                    0x02, 
                    \_SB.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000CFFFF, 
                    0x03, 
                    \_SB.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x00, 
                    \_SB.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x01, 
                    \_SB.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x02, 
                    \_SB.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000BFFFF, 
                    0x03, 
                    \_SB.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x00, 
                    \_SB.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x01, 
                    \_SB.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x02, 
                    \_SB.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000AFFFF, 
                    0x03, 
                    \_SB.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0009FFFF, 
                    0x00, 
                    \_SB.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0009FFFF, 
                    0x01, 
                    \_SB.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0009FFFF, 
                    0x02, 
                    \_SB.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0009FFFF, 
                    0x03, 
                    \_SB.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000DFFFF, 
                    0x00, 
                    \_SB.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000DFFFF, 
                    0x01, 
                    \_SB.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000DFFFF, 
                    0x02, 
                    \_SB.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x000DFFFF, 
                    0x03, 
                    \_SB.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x00, 
                    \_SB.LNKE, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x01, 
                    \_SB.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x02, 
                    \_SB.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x03, 
                    \_SB.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x00, 
                    \_SB.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x01, 
                    \_SB.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x02, 
                    \_SB.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x03, 
                    \_SB.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0006FFFF, 
                    0x00, 
                    \_SB.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0006FFFF, 
                    0x01, 
                    \_SB.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0006FFFF, 
                    0x02, 
                    \_SB.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0006FFFF, 
                    0x03, 
                    \_SB.LNKB, 
                    0x00
                }
            })
            Device (PX40)
            {
                Name (_ADR, 0x00070000)
                OperationRegion (PIRQ, PCI_Config, 0x48, 0x04)
                Field (PIRQ, ByteAcc, NoLock, Preserve)
                {
                    PIRA,   8, 
                    PIRB,   8
                }

                OperationRegion (PIR0, PCI_Config, 0x74, 0x01)
                Field (PIR0, ByteAcc, NoLock, Preserve)
                {
                    PIRE,   8
                }
            }

            Device (ALPM)
            {
                Name (_ADR, 0x00030000)
                OperationRegion (PMUR, PCI_Config, 0xB5, 0x01)
                Field (PMUR, ByteAcc, NoLock, Preserve)
                {
                    LEDC,   8
                }

                OperationRegion (PMU1, PCI_Config, 0x7E, 0x01)
                Field (PMU1, ByteAcc, NoLock, Preserve)
                {
                        ,   7, 
                    FANM,   1
                }
            }

            Device (USB0)
            {
                Name (_ADR, 0x00020000)
                Name (_PRW, Package (0x02)
                {
                    0x02, 
                    0x01
                })
            }

            Device (ISA)
            {
                Name (_ADR, 0x00070000)
                Method (_STA, 0, NotSerialized)
                {
                    Return (0x0B)
                }

                Device (SYSR)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, Buffer (0x8A)
                        {
                            0x47, 0x01, 0x00, 0xEC, 0x00, 0xEC, 0x01, 0x40, 
                            0x47, 0x01, 0x00, 0xE8, 0x00, 0xE8, 0x01, 0x20, 
                            0x47, 0x01, 0x0B, 0x04, 0x0B, 0x04, 0x01, 0x01, 
                            0x47, 0x01, 0x80, 0x04, 0x80, 0x04, 0x01, 0x20, 
                            0x47, 0x01, 0xD6, 0x04, 0xD6, 0x04, 0x01, 0x01, 
                            0x47, 0x01, 0x90, 0x02, 0x90, 0x02, 0x01, 0x08, 
                            0x47, 0x01, 0x10, 0x00, 0x10, 0x00, 0x01, 0x10, 
                            0x47, 0x01, 0x22, 0x00, 0x22, 0x00, 0x01, 0x1E, 
                            0x47, 0x01, 0x44, 0x00, 0x44, 0x00, 0x01, 0x1C, 
                            0x47, 0x01, 0x62, 0x00, 0x62, 0x00, 0x01, 0x02, 
                            0x47, 0x01, 0x65, 0x00, 0x65, 0x00, 0x01, 0x0B, 
                            0x47, 0x01, 0x74, 0x00, 0x74, 0x00, 0x01, 0x0C, 
                            0x47, 0x01, 0x91, 0x00, 0x91, 0x00, 0x01, 0x03, 
                            0x47, 0x01, 0xA2, 0x00, 0xA2, 0x00, 0x01, 0x1E, 
                            0x47, 0x01, 0xE0, 0x00, 0xE0, 0x00, 0x01, 0x10, 
                            0x47, 0x01, 0xF0, 0x03, 0xF0, 0x03, 0x01, 0x02, 
                            0x47, 0x01, 0xD0, 0x04, 0xD0, 0x04, 0x01, 0x02, 
                            0x79, 0x00
                        })
                        Return (BUF1)
                    }
                }

                Device (PIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, Buffer (0x15)
                    {
                        0x47, 0x01, 0x20, 0x00, 0x20, 0x00, 0x01, 0x02, 
                        0x47, 0x01, 0xA0, 0x00, 0xA0, 0x00, 0x01, 0x02, 
                        0x22, 0x04, 0x00, 0x79, 0x00
                    })
                }

                Device (DMA1)
                {
                    Name (_HID, EisaId ("PNP0200"))
                    Name (_CRS, Buffer (0x25)
                    {
                        0x2A, 0x10, 0x04, 0x47, 0x01, 0x00, 0x00, 0x00, 
                        0x00, 0x01, 0x10, 0x47, 0x01, 0x80, 0x00, 0x80, 
                        0x00, 0x01, 0x11, 0x47, 0x01, 0x94, 0x00, 0x94, 
                        0x00, 0x01, 0x0C, 0x47, 0x01, 0xC0, 0x00, 0xC0, 
                        0x00, 0x01, 0x20, 0x79, 0x00
                    })
                }

                Device (TMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, Buffer (0x0D)
                    {
                        0x47, 0x01, 0x40, 0x00, 0x40, 0x00, 0x01, 0x04, 
                        0x22, 0x01, 0x00, 0x79, 0x00
                    })
                }

                Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, Buffer (0x0D)
                    {
                        0x47, 0x01, 0x70, 0x00, 0x70, 0x00, 0x01, 0x04, 
                        0x22, 0x00, 0x01, 0x79, 0x00
                    })
                }

                Device (SPKR)
                {
                    Name (_HID, EisaId ("PNP0800"))
                    Name (_CRS, Buffer (0x0A)
                    {
                        0x47, 0x01, 0x61, 0x00, 0x61, 0x00, 0x01, 0x01, 
                        0x79, 0x00
                    })
                }

                Device (COPR)
                {
                    Name (_HID, EisaId ("PNP0C04"))
                    Name (_CRS, Buffer (0x0D)
                    {
                        0x47, 0x01, 0xF0, 0x00, 0xF0, 0x00, 0x01, 0x10, 
                        0x22, 0x00, 0x20, 0x79, 0x00
                    })
                }

                OperationRegion (W977, SystemIO, 0x03F0, 0x02)
                Field (W977, ByteAcc, NoLock, Preserve)
                {
                    NIDX,   8, 
                    NDAT,   8
                }

                IndexField (NIDX, NDAT, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x07), 
                    LDNM,   8, 
                    Offset (0x21), 
                    DEVR,   8, 
                    Offset (0x30), 
                    ACTR,   8, 
                    Offset (0x60), 
                    IOAH,   8, 
                    IOAL,   8, 
                    Offset (0x70), 
                    INTR,   8, 
                    Offset (0x72), 
                    INRQ,   8, 
                    Offset (0x74), 
                    DMCH,   8, 
                    Offset (0xE4), 
                    KBWK,   8, 
                    Offset (0xF0), 
                    OPT1,   8, 
                    OPT2,   8, 
                    Offset (0xF4), 
                    OPF4,   8
                }

                Method (ENFG, 0, NotSerialized)
                {
                    Store (0x00, Local0)
                    Store (0x11, Local1)
                    While (LNot (LEqual (Local0, 0x15)))
                    {
                        Store (0x51, NIDX)
                        Store (0x23, NIDX)
                        Store (DEVR, Local0)
                        Decrement (Local1)
                        If (LEqual (Local1, 0x00))
                        {
                            Store (0x15, Local0)
                        }
                    }
                }

                Method (EXFG, 0, NotSerialized)
                {
                    Store (0xBB, NIDX)
                }

                Device (FDC0)
                {
                    Name (_HID, EisaId ("PNP0700"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (Zero, LDNM)
                        If (ACTR)
                        {
                            EXFG ()
                            Return (0x0F)
                        }
                        Else
                        {
                            EXFG ()
                            Return (0x05)
                        }
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (Zero, LDNM)
                        Store (Zero, ACTR)
                        EXFG ()
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, Buffer (0x19)
                        {
                            0x47, 0x01, 0xF2, 0x03, 0xF2, 0x03, 0x00, 0x04, 
                            0x47, 0x01, 0xF7, 0x03, 0xF7, 0x03, 0x00, 0x01, 
                            0x23, 0x40, 0x00, 0x01, 0x2A, 0x04, 0x00, 0x79, 
                            0x00
                        })
                        CreateWordField (BUF0, 0x11, IRQW)
                        CreateByteField (BUF0, 0x15, DMAV)
                        ENFG ()
                        Store (Zero, LDNM)
                        Store (One, Local0)
                        ShiftLeft (Local0, INTR, IRQW)
                        Store (One, Local0)
                        ShiftLeft (Local0, DMCH, DMAV)
                        EXFG ()
                        Return (BUF0)
                    }

                    Name (_PRS, Buffer (0x19)
                    {
                        0x47, 0x01, 0xF2, 0x03, 0xF2, 0x03, 0x00, 0x04, 
                        0x47, 0x01, 0xF7, 0x03, 0xF7, 0x03, 0x00, 0x01, 
                        0x23, 0x40, 0x00, 0x01, 0x2A, 0x04, 0x00, 0x79, 
                        0x00
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateByteField (Arg0, 0x02, IOLO)
                        CreateByteField (Arg0, 0x03, IOHI)
                        CreateWordField (Arg0, 0x11, IRQW)
                        CreateByteField (Arg0, 0x15, DMAV)
                        ENFG ()
                        Store (Zero, LDNM)
                        And (IOLO, 0xF8, IOAL)
                        Store (IOHI, IOAH)
                        FindSetRightBit (IRQW, Local0)
                        Decrement (Local0)
                        Store (Local0, INTR)
                        FindSetRightBit (DMAV, Local0)
                        Decrement (Local0)
                        Store (Local0, DMCH)
                        Store (One, ACTR)
                        EXFG ()
                    }
                }

                Device (LPT)
                {
                    Name (_HID, EisaId ("PNP0400"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x03, LDNM)
                        And (OPT1, 0x02, Local0)
                        If (LOr (IOAH, IOAL))
                        {
                            If (LEqual (Local0, 0x02))
                            {
                                EXFG ()
                                Return (0x00)
                            }
                            Else
                            {
                                If (ACTR)
                                {
                                    EXFG ()
                                    Return (0x0F)
                                }
                                Else
                                {
                                    EXFG ()
                                    Return (0x05)
                                }
                            }
                        }

                        EXFG ()
                        Return (0x00)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x03, LDNM)
                        Store (Zero, ACTR)
                        EXFG ()
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF5, Buffer (0x0E)
                        {
                            0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 0x00, 0x04, 
                            0x23, 0x80, 0x00, 0x01, 0x79, 0x00
                        })
                        CreateByteField (BUF5, 0x02, IOLO)
                        CreateByteField (BUF5, 0x03, IOHI)
                        CreateByteField (BUF5, 0x04, IORL)
                        CreateByteField (BUF5, 0x05, IORH)
                        CreateWordField (BUF5, 0x09, IRQW)
                        ENFG ()
                        Store (0x03, LDNM)
                        Store (IOAL, IOLO)
                        Store (IOAL, IORL)
                        Store (IOAH, IOHI)
                        Store (IOAH, IORH)
                        Store (One, Local0)
                        ShiftLeft (Local0, INTR, IRQW)
                        EXFG ()
                        Return (BUF5)
                    }

                    Name (_PRS, Buffer (0x2D)
                    {
                        0x31, 0x05, 0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 
                        0x00, 0x08, 0x23, 0xA0, 0x00, 0x01, 0x31, 0x05, 
                        0x47, 0x01, 0x78, 0x02, 0x78, 0x02, 0x00, 0x08, 
                        0x23, 0xA0, 0x00, 0x01, 0x31, 0x05, 0x47, 0x01, 
                        0xBC, 0x03, 0xBC, 0x03, 0x00, 0x04, 0x23, 0xA0, 
                        0x00, 0x01, 0x38, 0x79, 0x00
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateByteField (Arg0, 0x02, IOLO)
                        CreateByteField (Arg0, 0x03, IOHI)
                        CreateWordField (Arg0, 0x09, IRQW)
                        ENFG ()
                        Store (0x03, LDNM)
                        Store (IOLO, IOAL)
                        Store (IOHI, IOAH)
                        FindSetRightBit (IRQW, Local0)
                        Decrement (Local0)
                        Store (Local0, INTR)
                        Store (One, ACTR)
                        EXFG ()
                    }
                }

                Device (ECP)
                {
                    Name (_HID, EisaId ("PNP0401"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x03, LDNM)
                        And (OPT1, 0x02, Local0)
                        If (LOr (IOAH, IOAL))
                        {
                            If (LEqual (Local0, 0x02))
                            {
                                If (ACTR)
                                {
                                    EXFG ()
                                    Return (0x0F)
                                }
                                Else
                                {
                                    EXFG ()
                                    Return (0x05)
                                }
                            }
                            Else
                            {
                                EXFG ()
                                Return (0x00)
                            }
                        }

                        EXFG ()
                        Return (0x00)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x03, LDNM)
                        Store (Zero, ACTR)
                        EXFG ()
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF6, Buffer (0x19)
                        {
                            0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 0x00, 0x04, 
                            0x47, 0x01, 0x78, 0x07, 0x78, 0x07, 0x00, 0x04, 
                            0x23, 0x80, 0x00, 0x01, 0x2A, 0x02, 0x00, 0x79, 
                            0x00
                        })
                        CreateByteField (BUF6, 0x02, IOLO)
                        CreateByteField (BUF6, 0x03, IOHI)
                        CreateByteField (BUF6, 0x04, IORL)
                        CreateByteField (BUF6, 0x05, IORH)
                        CreateByteField (BUF6, 0x0A, I2LO)
                        CreateByteField (BUF6, 0x0B, I2HI)
                        CreateByteField (BUF6, 0x0C, I2RL)
                        CreateByteField (BUF6, 0x0D, I2RH)
                        CreateWordField (BUF6, 0x11, IRQW)
                        CreateByteField (BUF6, 0x15, DMAC)
                        ENFG ()
                        Store (0x03, LDNM)
                        Store (IOAL, IOLO)
                        Store (IOAL, IORL)
                        Store (IOLO, I2LO)
                        Store (IOLO, I2RL)
                        Store (IOAH, IORH)
                        Store (IOAH, IOHI)
                        Add (IOHI, 0x04, I2HI)
                        Add (IOHI, 0x04, I2RH)
                        Store (One, Local0)
                        ShiftLeft (Local0, INTR, IRQW)
                        Store (One, Local0)
                        ShiftLeft (Local0, DMCH, DMAC)
                        EXFG ()
                        Return (BUF6)
                    }

                    Name (_PRS, Buffer (0x4E)
                    {
                        0x31, 0x05, 0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 
                        0x00, 0x04, 0x47, 0x01, 0x78, 0x07, 0x78, 0x07, 
                        0x00, 0x04, 0x23, 0xA0, 0x00, 0x01, 0x2A, 0x0B, 
                        0x00, 0x31, 0x05, 0x47, 0x01, 0x78, 0x02, 0x78, 
                        0x02, 0x00, 0x04, 0x47, 0x01, 0x78, 0x06, 0x78, 
                        0x06, 0x00, 0x04, 0x23, 0xA0, 0x00, 0x01, 0x2A, 
                        0x0B, 0x00, 0x31, 0x05, 0x47, 0x01, 0xBC, 0x03, 
                        0xBC, 0x03, 0x00, 0x04, 0x47, 0x01, 0xBC, 0x07, 
                        0xBC, 0x07, 0x00, 0x04, 0x23, 0xA0, 0x00, 0x01, 
                        0x2A, 0x0B, 0x00, 0x38, 0x79, 0x00
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateByteField (Arg0, 0x02, IOLO)
                        CreateByteField (Arg0, 0x03, IOHI)
                        CreateWordField (Arg0, 0x11, IRQW)
                        CreateByteField (Arg0, 0x15, DMAC)
                        ENFG ()
                        Store (0x03, LDNM)
                        Store (IOLO, IOAL)
                        Store (IOHI, IOAH)
                        FindSetRightBit (IRQW, Local0)
                        Decrement (Local0)
                        Store (Local0, INTR)
                        FindSetRightBit (DMAC, Local0)
                        Decrement (Local0)
                        Store (Local0, DMCH)
                        Store (One, ACTR)
                        EXFG ()
                    }
                }

                Device (UAR1)
                {
                    Name (_HID, EisaId ("PNP0501"))
                    Name (_UID, 0x01)
                    Method (_STA, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x04, LDNM)
                        If (LOr (IOAH, IOAL))
                        {
                            If (ACTR)
                            {
                                EXFG ()
                                Return (0x0F)
                            }
                            Else
                            {
                                EXFG ()
                                Return (0x0D)
                            }
                        }

                        EXFG ()
                        Return (0x00)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x04, LDNM)
                        Store (Zero, ACTR)
                        EXFG ()
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, Buffer (0x0E)
                        {
                            0x47, 0x01, 0xF8, 0x03, 0xF8, 0x03, 0x00, 0x08, 
                            0x23, 0x10, 0x00, 0x01, 0x79, 0x00
                        })
                        CreateByteField (BUF1, 0x02, IOLO)
                        CreateByteField (BUF1, 0x03, IOHI)
                        CreateByteField (BUF1, 0x04, IORL)
                        CreateByteField (BUF1, 0x05, IORH)
                        CreateWordField (BUF1, 0x09, IRQW)
                        ENFG ()
                        Store (0x04, LDNM)
                        Store (IOAL, IOLO)
                        Store (IOAL, IORL)
                        Store (IOAH, IOHI)
                        Store (IOAH, IORH)
                        Store (One, Local0)
                        ShiftLeft (Local0, INTR, IRQW)
                        EXFG ()
                        Return (BUF1)
                    }

                    Name (_PRS, Buffer (0x49)
                    {
                        0x31, 0x05, 0x47, 0x01, 0xF8, 0x03, 0xF8, 0x03, 
                        0x00, 0x08, 0x23, 0x10, 0x00, 0x01, 0x31, 0x05, 
                        0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02, 0x00, 0x08, 
                        0x23, 0x08, 0x00, 0x01, 0x31, 0x05, 0x47, 0x01, 
                        0xE8, 0x03, 0xE8, 0x03, 0x00, 0x08, 0x23, 0x10, 
                        0x00, 0x01, 0x31, 0x05, 0x47, 0x01, 0xE8, 0x02, 
                        0xE8, 0x02, 0x00, 0x08, 0x23, 0x08, 0x00, 0x01, 
                        0x31, 0x05, 0x47, 0x01, 0xE8, 0x02, 0xF8, 0x03, 
                        0x00, 0x08, 0x23, 0xB8, 0x14, 0x01, 0x38, 0x79, 
                        0x00
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateByteField (Arg0, 0x02, IOLO)
                        CreateByteField (Arg0, 0x03, IOHI)
                        CreateWordField (Arg0, 0x09, IRQW)
                        ENFG ()
                        Store (0x04, LDNM)
                        Store (IOLO, IOAL)
                        Store (IOHI, IOAH)
                        FindSetRightBit (IRQW, Local0)
                        Decrement (Local0)
                        Store (Local0, INTR)
                        Store (One, ACTR)
                        EXFG ()
                    }

                    Name (_PRW, Package (0x02)
                    {
                        0x0B, 
                        0x01
                    })
                }

                Device (UAR2)
                {
                    Name (_HID, EisaId ("PNP0501"))
                    Name (_UID, 0x02)
                    Method (_STA, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x0B, LDNM)
                        If (LOr (IOAH, IOAL))
                        {
                            If (ACTR)
                            {
                                EXFG ()
                                Return (0x0F)
                            }
                            Else
                            {
                                EXFG ()
                                Return (0x0D)
                            }
                        }

                        EXFG ()
                        Return (0x00)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x0B, LDNM)
                        Store (Zero, ACTR)
                        EXFG ()
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, Buffer (0x0E)
                        {
                            0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02, 0x00, 0x08, 
                            0x23, 0x08, 0x00, 0x01, 0x79, 0x00
                        })
                        CreateByteField (BUF1, 0x02, IOLO)
                        CreateByteField (BUF1, 0x03, IOHI)
                        CreateByteField (BUF1, 0x04, IORL)
                        CreateByteField (BUF1, 0x05, IORH)
                        CreateWordField (BUF1, 0x09, IRQW)
                        ENFG ()
                        Store (0x0B, LDNM)
                        Store (IOAL, IOLO)
                        Store (IOAL, IORL)
                        Store (IOAH, IOHI)
                        Store (IOAH, IORH)
                        Store (One, Local0)
                        ShiftLeft (Local0, INTR, IRQW)
                        EXFG ()
                        Return (BUF1)
                    }

                    Name (_PRS, Buffer (0x49)
                    {
                        0x31, 0x05, 0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02, 
                        0x00, 0x08, 0x23, 0x08, 0x00, 0x01, 0x31, 0x05, 
                        0x47, 0x01, 0xF8, 0x03, 0xF8, 0x03, 0x00, 0x08, 
                        0x23, 0x10, 0x00, 0x01, 0x31, 0x05, 0x47, 0x01, 
                        0xE8, 0x02, 0xE8, 0x02, 0x00, 0x08, 0x23, 0x08, 
                        0x00, 0x01, 0x31, 0x05, 0x47, 0x01, 0xE8, 0x03, 
                        0xE8, 0x03, 0x00, 0x08, 0x23, 0x10, 0x00, 0x01, 
                        0x31, 0x05, 0x47, 0x01, 0xE8, 0x02, 0xF8, 0x03, 
                        0x00, 0x08, 0x23, 0xB8, 0x14, 0x01, 0x38, 0x79, 
                        0x00
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateByteField (Arg0, 0x02, IOLO)
                        CreateByteField (Arg0, 0x03, IOHI)
                        CreateWordField (Arg0, 0x09, IRQW)
                        ENFG ()
                        Store (0x0B, LDNM)
                        Store (IOLO, IOAL)
                        Store (IOHI, IOAH)
                        FindSetRightBit (IRQW, Local0)
                        Decrement (Local0)
                        Store (Local0, INTR)
                        Store (One, ACTR)
                        EXFG ()
                    }

                    Name (_PRW, Package (0x02)
                    {
                        0x0B, 
                        0x01
                    })
                }

                Device (IRDA)
                {
                    Name (_HID, EisaId ("PNP0510"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x05, LDNM)
                        If (LOr (IOAH, IOAL))
                        {
                            If (LEqual (DMCH, 0x04))
                            {
                                If (ACTR)
                                {
                                    EXFG ()
                                    Return (0x0F)
                                }
                                Else
                                {
                                    EXFG ()
                                    Return (0x05)
                                }
                            }
                        }

                        EXFG ()
                        Return (0x00)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x05, LDNM)
                        Store (Zero, ACTR)
                        EXFG ()
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, Buffer (0x0E)
                        {
                            0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02, 0x00, 0x08, 
                            0x23, 0x08, 0x00, 0x01, 0x79, 0x00
                        })
                        CreateByteField (BUF1, 0x02, IOLO)
                        CreateByteField (BUF1, 0x03, IOHI)
                        CreateByteField (BUF1, 0x04, IORL)
                        CreateByteField (BUF1, 0x05, IORH)
                        CreateWordField (BUF1, 0x09, IRQW)
                        ENFG ()
                        Store (0x05, LDNM)
                        Store (IOAL, IOLO)
                        Store (IOAL, IORL)
                        Store (IOAH, IOHI)
                        Store (IOAH, IORH)
                        Store (One, Local0)
                        ShiftLeft (Local0, INTR, IRQW)
                        EXFG ()
                        Return (BUF1)
                    }

                    Name (_PRS, Buffer (0x49)
                    {
                        0x31, 0x05, 0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02, 
                        0x00, 0x08, 0x23, 0x08, 0x00, 0x01, 0x31, 0x05, 
                        0x47, 0x01, 0xF8, 0x03, 0xF8, 0x03, 0x00, 0x08, 
                        0x23, 0x10, 0x00, 0x01, 0x31, 0x05, 0x47, 0x01, 
                        0xE8, 0x02, 0xE8, 0x02, 0x00, 0x08, 0x23, 0x08, 
                        0x00, 0x01, 0x31, 0x05, 0x47, 0x01, 0xE8, 0x03, 
                        0xE8, 0x03, 0x00, 0x08, 0x23, 0x10, 0x00, 0x01, 
                        0x31, 0x05, 0x47, 0x01, 0xE8, 0x02, 0xF8, 0x03, 
                        0x00, 0x08, 0x23, 0xB8, 0x14, 0x01, 0x38, 0x79, 
                        0x00
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateByteField (Arg0, 0x02, IOLO)
                        CreateByteField (Arg0, 0x03, IOHI)
                        CreateWordField (Arg0, 0x09, IRQW)
                        ENFG ()
                        Store (0x05, LDNM)
                        Store (IOLO, IOAL)
                        Store (IOHI, IOAH)
                        FindSetRightBit (IRQW, Local0)
                        Decrement (Local0)
                        Store (Local0, INTR)
                        Store (0x81, ACTR)
                        EXFG ()
                    }
                }

                Device (FIRD)
                {
                    Name (_HID, EisaId ("ALI5123"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x05, LDNM)
                        If (LOr (IOAH, IOAL))
                        {
                            If (LLess (DMCH, 0x04))
                            {
                                If (ACTR)
                                {
                                    EXFG ()
                                    Return (0x0F)
                                }
                                Else
                                {
                                    EXFG ()
                                    Return (0x05)
                                }
                            }
                        }

                        EXFG ()
                        Return (0x00)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x05, LDNM)
                        Store (Zero, ACTR)
                        EXFG ()
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF1, Buffer (0x11)
                        {
                            0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02, 0x00, 0x08, 
                            0x23, 0x08, 0x00, 0x01, 0x2A, 0x08, 0x00, 0x79, 
                            0x00
                        })
                        CreateByteField (BUF1, 0x02, IOLO)
                        CreateByteField (BUF1, 0x03, IOHI)
                        CreateByteField (BUF1, 0x04, IORL)
                        CreateByteField (BUF1, 0x05, IORH)
                        CreateWordField (BUF1, 0x09, IRQW)
                        CreateByteField (BUF1, 0x0D, DMAC)
                        ENFG ()
                        Store (0x05, LDNM)
                        Store (IOAL, IOLO)
                        Store (IOAL, IORL)
                        Store (IOAH, IOHI)
                        Store (IOAH, IORH)
                        Store (One, Local0)
                        ShiftLeft (Local0, INTR, IRQW)
                        Store (One, Local0)
                        ShiftLeft (Local0, DMCH, DMAC)
                        EXFG ()
                        Return (BUF1)
                    }

                    Name (_PRS, Buffer (0x58)
                    {
                        0x31, 0x05, 0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02, 
                        0x00, 0x08, 0x23, 0x08, 0x00, 0x01, 0x2A, 0x0B, 
                        0x00, 0x31, 0x05, 0x47, 0x01, 0xF8, 0x03, 0xF8, 
                        0x03, 0x00, 0x08, 0x23, 0x10, 0x00, 0x01, 0x2A, 
                        0x0B, 0x00, 0x31, 0x05, 0x47, 0x01, 0xE8, 0x02, 
                        0xE8, 0x02, 0x00, 0x08, 0x23, 0x08, 0x00, 0x01, 
                        0x2A, 0x0B, 0x00, 0x31, 0x05, 0x47, 0x01, 0xE8, 
                        0x03, 0xE8, 0x03, 0x00, 0x08, 0x23, 0x10, 0x00, 
                        0x01, 0x2A, 0x0B, 0x00, 0x31, 0x05, 0x47, 0x01, 
                        0xE8, 0x02, 0xF8, 0x03, 0x00, 0x08, 0x23, 0xB8, 
                        0x14, 0x01, 0x2A, 0x0B, 0x00, 0x38, 0x79, 0x00
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateByteField (Arg0, 0x02, IOLO)
                        CreateByteField (Arg0, 0x03, IOHI)
                        CreateWordField (Arg0, 0x09, IRQW)
                        CreateByteField (Arg0, 0x0D, DMAC)
                        ENFG ()
                        Store (0x05, LDNM)
                        Store (IOLO, IOAL)
                        Store (IOHI, IOAH)
                        FindSetRightBit (IRQW, Local0)
                        Decrement (Local0)
                        Store (Local0, INTR)
                        FindSetRightBit (DMAC, Local0)
                        Decrement (Local0)
                        Store (Local0, DMCH)
                        Store (0x81, ACTR)
                        EXFG ()
                    }
                }

                OperationRegion (KBC1, SystemIO, 0x64, 0x01)
                Field (KBC1, ByteAcc, NoLock, Preserve)
                {
                    KBIN,   8
                }

                OperationRegion (KBC2, SystemIO, 0x60, 0x01)
                Field (KBC2, ByteAcc, NoLock, Preserve)
                {
                    KBDA,   8
                }

                Device (PS2K)
                {
                    Name (_HID, EisaId ("PNP0303"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x07, LDNM)
                        And (INTR, 0x0F, Local0)
                        If (LNot (LEqual (Local0, 0x00)))
                        {
                            EXFG ()
                            Return (0x0F)
                        }
                        Else
                        {
                            EXFG ()
                            Return (0x05)
                        }
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, Buffer (0x16)
                        {
                            0x47, 0x01, 0x60, 0x00, 0x60, 0x00, 0x00, 0x01, 
                            0x47, 0x01, 0x64, 0x00, 0x64, 0x00, 0x00, 0x01, 
                            0x23, 0x02, 0x00, 0x01, 0x79, 0x00
                        })
                        Return (BUF0)
                    }

                    Name (_PRW, Package (0x02)
                    {
                        0x19, 
                        0x01
                    })
                }

                Device (PS2M)
                {
                    Name (_HID, EisaId ("PNP0F13"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (0x07, LDNM)
                        And (INRQ, 0x0F, Local0)
                        If (LEqual (Local0, 0x00))
                        {
                            EXFG ()
                            Return (0x00)
                        }
                        Else
                        {
                            If (LEqual (Local0, 0x02))
                            {
                                EXFG ()
                                Return (0x05)
                            }
                            Else
                            {
                                EXFG ()
                                Return (0x0F)
                            }
                        }
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        And (0x03, KBIN, Local0)
                        While (Local0)
                        {
                            Store (KBDA, Local1)
                            And (0x03, KBIN, Local0)
                        }

                        Store (0xA7, KBIN)
                        ENFG ()
                        Store (0x07, LDNM)
                        Store (0x02, INRQ)
                        And (INTR, 0x0F, Local0)
                        If (LEqual (Local0, 0x00))
                        {
                            Store (Zero, ACTR)
                        }

                        EXFG ()
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Name (BUF0, Buffer (0x06)
                        {
                            0x23, 0x00, 0x10, 0x01, 0x79, 0x00
                        })
                        CreateWordField (BUF0, 0x01, IRQW)
                        ENFG ()
                        Store (0x07, LDNM)
                        Store (One, Local0)
                        ShiftLeft (Local0, INRQ, IRQW)
                        EXFG ()
                        Return (BUF0)
                    }

                    Name (_PRS, Buffer (0x06)
                    {
                        0x23, 0xB8, 0x14, 0x01, 0x79, 0x00
                    })
                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQW)
                        And (0x03, KBIN, Local0)
                        While (Local0)
                        {
                            Store (KBDA, Local1)
                            And (0x03, KBIN, Local0)
                        }

                        Store (0xA8, KBIN)
                        ENFG ()
                        Store (0x07, LDNM)
                        FindSetRightBit (IRQW, Local0)
                        Decrement (Local0)
                        Store (Local0, INRQ)
                        Store (One, ACTR)
                        EXFG ()
                    }

                    Name (_PRW, Package (0x02)
                    {
                        0x0B, 
                        0x01
                    })
                }
            }

            Name (_PRW, Package (0x02)
            {
                0x08, 
                0x01
            })
        }
    }

    Scope (\_GPE)
    {
        Method (_L02, 0, Serialized)
        {
            Notify (\_SB.PCI0.USB0, 0x02)
        }

        Method (_L19, 0, Serialized)
        {
            Notify (\_SB.PCI0.ISA.PS2K, 0x02)
        }

        Method (_L0B, 0, Serialized)
        {
            Notify (\_SB.PCI0.ISA.UAR1, 0x02)
            Notify (\_SB.PCI0.ISA.UAR2, 0x02)
        }

        Method (_L08, 0, Serialized)
        {
            Notify (\_SB.PCI0, 0x02)
        }
    }
}

> Which kind of network card is this?  Is it built into the board?
Standard realtek network cards (not builtin).

- -- 
Gregory Poudrel
(Chojin)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQFACt4W+OqMRW168TIRAsQcAJ42+4URCpHbF83HpcRQs+TsUcziSQCcC2e3
g10DrG0ePJNR32IePxr2brQ=
=z4Hv
-----END PGP SIGNATURE-----
Received on Sun Jan 18 2004 - 10:25:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:38 UTC