/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20030228
 *
 * Disassembly of lion.dat, Thu Nov 27 22:46:53 2003
 */
DefinitionBlock ("DSDT.aml", "DSDT", 1, "INTEL", "SR460AC4", 6)
{
    Scope (\_PR)
    {
        Processor (CPU0, 0x00, 0x00000000, 0x00) {}
        Processor (CPU1, 0x01, 0x00000000, 0x00) {}
        Processor (CPU2, 0x02, 0x00000000, 0x00) {}
        Processor (CPU3, 0x03, 0x00000000, 0x00) {}
    }

    Name (\_S0, Package (0x04)
    {
        0x00, 
        0x00, 
        0x00, 
        0x00
    })
    Name (\_S4, Package (0x04)
    {
        0x04, 
        0x04, 
        0x00, 
        0x00
    })
    Name (\_S5, Package (0x04)
    {
        0x04, 
        0x04, 
        0x00, 
        0x00
    })
    Scope (\_SB)
    {
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_UID, 0x00)
            Name (_ADR, 0x00)
            Name (_BBN, 0x00)
            Name (CRS0, ResourceTemplate ()
            {
                WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
                    0x0000,
                    0x0000,
                    0x0000,
                    0x0000,
                    0x0001)
                IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0x0000,
                    0x0CF7,
                    0x0000,
                    0x0CF8)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0x0D00,
                    0x0FFF,
                    0x0000,
                    0x0300)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0x1000,
                    0x1FFF,
                    0x0000,
                    0x1000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,
                    0x000A0000,
                    0x000FFFFF,
                    0x00000000,
                    0x00060000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                    0x00000000,
                    0xB0000000,
                    0xFDFFFFFF,
                    0x00000000,
                    0x4DFFFFFF)
            })
            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (CRS0, 0x08, BMIN)
                CreateWordField (CRS0, 0x0A, BMAX)
                CreateWordField (CRS0, 0x0E, BLEN)
                Store (\_SB.CBN.SAC0.BSNO, Local0)
                Store (\_SB.CBN.SAC0.SBNO, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local2)
                Store (Local0, BMIN)
                Store (Local1, BMAX)
                Store (Local2, BLEN)
                CreateDWordField (CRS0, 0x6C, MMIN)
                CreateDWordField (CRS0, 0x70, MMAX)
                CreateDWordField (CRS0, 0x78, MLEN)
                Store (\_SB.CBN.SAC0.PCIS, Local0)
                ShiftLeft (Local0, 0x19, Local0)
                Store (0xFE000000, Local1)
                Subtract (Local1, Local0, Local2)
                Decrement (Local1)
                Store (Local0, MMIN)
                Store (Local1, MMAX)
                Store (Local2, MLEN)
                CreateWordField (CRS0, 0x40, IMIN)
                CreateWordField (CRS0, 0x42, IMAX)
                CreateWordField (CRS0, 0x46, ILEN)
                Store (0x1000, Local0)
                Store (\_SB.CBN.SAC0.IOR, Local1)
                ShiftLeft (Local1, 0x0C, Local1)
                Add (Local1, 0x0FFF, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local2)
                Store (Local0, IMIN)
                Store (Local1, IMAX)
                Store (Local2, ILEN)
                Return (CRS0)
            }

            Name (_PRW, Package (0x02)
            {
                0x0A, 
                0x04
            })
            Name (PIC2, Package (0x0B)
            {
                Package (0x04)
                {
                    0x0001FFFF, 
                    0x00, 
                    0x00, 
                    0x10
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x01, 
                    0x00, 
                    0x1A
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x02, 
                    0x00, 
                    0x24
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x03, 
                    0x00, 
                    0x2A
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x00, 
                    0x00, 
                    0x11
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x01, 
                    0x00, 
                    0x1B
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x02, 
                    0x00, 
                    0x24
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x03, 
                    0x00, 
                    0x2A
                }, 

                Package (0x04)
                {
                    0x0003FFFF, 
                    0x03, 
                    0x00, 
                    0x32
                }, 

                Package (0x04)
                {
                    0x0005FFFF, 
                    0x00, 
                    0x00, 
                    0x33
                }, 

                Package (0x04)
                {
                    0x0006FFFF, 
                    0x00, 
                    0x00, 
                    0x31
                }
            })
            Method (_PRT, 0, NotSerialized)
            {
                Return (PIC2)
            }

            Device (SAC)
            {
                Name (_ADR, 0x00100000)
                OperationRegion (SAC, PCI_Config, 0x00, 0xFF)
                Field (SAC, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x40), 
                    CBNO,   8
                }
            }

            Device (SBRG)
            {
                Name (_ADR, 0x00030000)
                Method (_INI, 0, NotSerialized)
                {
                    IODT ()
                }

                Device (DMAD)
                {
                    Name (_HID, EisaId ("PNP0200"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        DMA (Compatibility, BusMaster, Transfer8) {4}
                        FixedIO (0x0000, 0x10)
                        FixedIO (0x0081, 0x03)
                        FixedIO (0x0087, 0x01)
                        FixedIO (0x0089, 0x03)
                        FixedIO (0x008F, 0x01)
                        FixedIO (0x00C0, 0x20)
                    })
                }

                Device (TMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        FixedIO (0x0040, 0x04)
                        IRQNoFlags () {0}
                    })
                }

                Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        FixedIO (0x0070, 0x02)
                        IRQNoFlags () {8}
                    })
                }

                Device (SPKR)
                {
                    Name (_HID, EisaId ("PNP0800"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        FixedIO (0x0061, 0x01)
                    })
                }

                Device (PS2M)
                {
                    Name (_HID, EisaId ("PNP0F03"))
                    Name (_CID, 0x130FD041)
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (0x0F)
                    }

                    Name (MCRS, ResourceTemplate ()
                    {
                        IRQNoFlags () {12}
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (MCRS)
                    }
                }

                Device (PS2K)
                {
                    Name (_HID, EisaId ("PNP0303"))
                    Name (_CID, 0x0B03D041)
                    Name (KCRS, ResourceTemplate ()
                    {
                        FixedIO (0x0060, 0x01)
                        FixedIO (0x0064, 0x01)
                        IRQNoFlags () {1}
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (KCRS)
                    }
                }

                Name (SPIO, 0x4E)
                OperationRegion (SMC1, SystemIO, SPIO, 0x02)
                Field (SMC1, ByteAcc, NoLock, Preserve)
                {
                    INDX,   8, 
                    DATA,   8
                }

                IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x02), 
                    CFG,    8, 
                    Offset (0x07), 
                    LDN,    8, 
                    Offset (0x30), 
                    ACTR,   8, 
                    Offset (0x60), 
                    IOAH,   8, 
                    IOAL,   8, 
                    Offset (0x70), 
                    INTR,   8, 
                    Offset (0x72), 
                    INT1,   8, 
                    Offset (0x74), 
                    DMCH,   8, 
                    Offset (0xC0), 
                    GP40,   8, 
                    Offset (0xF0), 
                    OPT1,   8, 
                    OPT2,   8, 
                    OPT3,   8
                }

                Mutex (MUT0, 0x00)
                Method (ENFG, 0, NotSerialized)
                {
                    Acquire (MUT0, 0x0FFF)
                    Store (0x55, INDX)
                }

                Method (EXFG, 0, NotSerialized)
                {
                    Store (0xAA, INDX)
                    Release (MUT0)
                }

                Method (KCLR, 0, NotSerialized)
                {
                    Store (0x07, INDX)
                    Store (0x07, DATA)
                    Store (0xF0, INDX)
                    Store (0x00, DATA)
                }

                Name (LDFD, 0x00)
                Name (LDU1, 0x04)
                Name (LDU2, 0x05)
                Name (LDIR, 0x05)
                Name (LDLP, 0x03)
                Name (LDGP, 0x09)
                Name (LDMP, 0x0B)
                Device (FDC0)
                {
                    Name (_HID, EisaId ("PNP0700"))
                    Method (_STA, 0, NotSerialized)
                    {
                        If (FDST)
                        {
                            Return (GSTA (LDFD))
                        }

                        Return (0x00)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DDIS (LDFD)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (FCRS)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (FPRS)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        DENB (LDFD)
                    }
                }

                Device (UAR1)
                {
                    Name (_HID, EisaId ("PNP0501"))
                    Name (_UID, 0x01)
                    Method (_STA, 0, NotSerialized)
                    {
                        If (U1ST)
                        {
                            Return (GSTA (LDU1))
                        }

                        Return (0x00)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DDIS (LDU1)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (PCRS (LDU1, 0x01, 0x08))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        PSRS (Arg0, LDU1)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (C1PR)
                    }
                }

                Device (UAR2)
                {
                    Method (_HID, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (LDU2, LDN)
                        And (OPT2, 0x38, Local0)
                        EXFG ()
                        If (Local0)
                        {
                            Return (0x1005D041)
                        }
                        Else
                        {
                            Return (0x0105D041)
                        }
                    }

                    Name (_UID, 0x02)
                    Method (_STA, 0, NotSerialized)
                    {
                        If (U2ST)
                        {
                            Return (GSTA (LDU2))
                        }

                        Return (0x00)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DDIS (LDU2)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (PCRS (LDU2, 0x01, 0x08))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        PSRS (Arg0, LDU2)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (C2PR)
                    }
                }

                Device (LPT)
                {
                    Name (_HID, EisaId ("PNP0400"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (LDLP, LDN)
                        And (OPT1, 0x02, Local0)
                        EXFG ()
                        If (Local0) {}
                        Else
                        {
                            If (LPST)
                            {
                                Return (GSTA (LDLP))
                            }
                        }

                        Return (Zero)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DDIS (LDLP)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (PCRS (LDLP, 0x01, 0x08))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        PSRS (Arg0, LDLP)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (LPPR)
                    }
                }

                Device (ECP)
                {
                    Name (_HID, EisaId ("PNP0401"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ENFG ()
                        Store (LDLP, LDN)
                        And (OPT1, 0x02, Local0)
                        EXFG ()
                        If (Local0)
                        {
                            If (LPST)
                            {
                                Return (GSTA (LDLP))
                            }
                        }

                        Return (Zero)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DDIS (LDLP)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (ECRS (LDLP))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        ESRS (Arg0, LDLP)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (EPRS)
                    }
                }

                Device (MPU)
                {
                    Name (_HID, EisaId ("PNPB006"))
                    Method (_STA, 0, NotSerialized)
                    {
                        If (MPST)
                        {
                            Return (GSTA (LDMP))
                        }

                        Return (0x00)
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DDIS (LDMP)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (PCRS (LDMP, 0x01, 0x02))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        PSRS (Arg0, LDMP)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (MPPR)
                    }
                }

                Name (FDST, 0x00)
                Name (U1ST, 0x00)
                Name (U2ST, 0x00)
                Name (IRST, 0x00)
                Name (LPST, 0x00)
                Name (GPST, 0x00)
                Name (MPST, 0x00)
                Method (IODT, 0, NotSerialized)
                {
                    If (LEqual (GSTA (LDFD), 0x0F))
                    {
                        Store (0x01, FDST)
                    }

                    If (LEqual (GSTA (LDU1), 0x0F))
                    {
                        Store (0x01, U1ST)
                    }

                    If (LEqual (GSTA (LDU2), 0x0F))
                    {
                        Store (0x01, U2ST)
                    }

                    If (LEqual (GSTA (LDIR), 0x0F))
                    {
                        Store (0x01, IRST)
                    }

                    If (LEqual (GSTA (LDLP), 0x0F))
                    {
                        Store (0x01, LPST)
                    }

                    If (LEqual (GSTA (LDMP), 0x0F))
                    {
                        Store (0x01, MPST)
                    }
                }

                Method (GSTA, 1, NotSerialized)
                {
                    ENFG ()
                    Store (Arg0, LDN)
                    If (ACTR)
                    {
                        Store (0x0F, Local0)
                    }
                    Else
                    {
                        If (Or (IOAH, IOAL))
                        {
                            Store (0x0D, Local0)
                        }
                        Else
                        {
                            Store (0x00, Local0)
                        }
                    }

                    EXFG ()
                    Return (Local0)
                }

                Method (DDIS, 1, NotSerialized)
                {
                    ENFG ()
                    Store (Arg0, LDN)
                    Store (Zero, ACTR)
                    EXFG ()
                }

                Method (DENB, 1, NotSerialized)
                {
                    ENFG ()
                    Store (Arg0, LDN)
                    Store (One, ACTR)
                    EXFG ()
                }

                Method (PCRS, 3, NotSerialized)
                {
                    CreateByteField (PBUF, 0x02, IOLO)
                    CreateByteField (PBUF, 0x03, IOHI)
                    CreateWordField (PBUF, 0x02, IOHL)
                    CreateWordField (PBUF, 0x04, IORL)
                    CreateByteField (PBUF, 0x06, ALMN)
                    CreateByteField (PBUF, 0x07, LENG)
                    CreateByteField (PBUF, 0x09, IRQL)
                    ENFG ()
                    Store (Arg0, LDN)
                    Store (IOAH, IOHI)
                    Store (IOAL, IOLO)
                    Store (IOHL, IORL)
                    Store (Arg1, ALMN)
                    If (LEqual (IOLO, 0xBC))
                    {
                        Store (0x04, LENG)
                    }
                    Else
                    {
                        Store (Arg2, LENG)
                    }

                    Store (One, Local0)
                    ShiftLeft (Local0, INTR, IRQL)
                    EXFG ()
                    Return (PBUF)
                }

                Method (PSRS, 2, NotSerialized)
                {
                    CreateByteField (Arg0, 0x02, POLB)
                    CreateByteField (Arg0, 0x03, POHB)
                    CreateByteField (Arg0, 0x09, PIRQ)
                    ENFG ()
                    Store (Arg1, LDN)
                    Store (POLB, IOAL)
                    Store (POHB, IOAH)
                    FindSetRightBit (PIRQ, Local0)
                    Subtract (Local0, 0x01, INTR)
                    Store (One, ACTR)
                    EXFG ()
                }

                Method (ECRS, 1, NotSerialized)
                {
                    CreateByteField (EBUF, 0x02, EPLO)
                    CreateByteField (EBUF, 0x03, EPHI)
                    CreateWordField (EBUF, 0x02, EPHL)
                    CreateWordField (EBUF, 0x04, EPRL)
                    CreateWordField (EBUF, 0x06, ALM1)
                    CreateWordField (EBUF, 0x0A, E4LO)
                    CreateWordField (EBUF, 0x0C, E4RL)
                    CreateWordField (EBUF, 0x0E, ALM2)
                    CreateWordField (EBUF, 0x11, EIRQ)
                    CreateWordField (EBUF, 0x14, EDMA)
                    ENFG ()
                    Store (Arg0, LDN)
                    Store (IOAH, EPHI)
                    Store (IOAL, EPLO)
                    Store (EPHL, EPRL)
                    Add (EPHL, 0x0400, E4LO)
                    Store (E4LO, E4RL)
                    If (LEqual (EPHL, 0x03BC))
                    {
                        Store (0x0401, ALM1)
                        Store (0x0401, ALM2)
                    }
                    Else
                    {
                        Store (0x0801, ALM1)
                        Store (0x0801, ALM2)
                    }

                    Store (One, Local0)
                    Store (INTR, Local1)
                    ShiftLeft (Local0, Local1, EIRQ)
                    Store (DMCH, Local1)
                    If (LGreater (Local1, 0x03))
                    {
                        Store (0x00, EDMA)
                    }
                    Else
                    {
                        Store (One, Local0)
                        ShiftLeft (Local0, Local1, EDMA)
                    }

                    EXFG ()
                    Return (EBUF)
                }

                Method (ESRS, 2, NotSerialized)
                {
                    CreateByteField (Arg0, 0x02, LOEP)
                    CreateByteField (Arg0, 0x03, HIEP)
                    CreateWordField (Arg0, 0x11, IRQE)
                    CreateWordField (Arg0, 0x14, DMAE)
                    ENFG ()
                    Store (Arg1, LDN)
                    Store (LOEP, IOAL)
                    Store (HIEP, IOAH)
                    FindSetRightBit (IRQE, Local0)
                    Subtract (Local0, 0x01, INTR)
                    If (DMAE)
                    {
                        FindSetRightBit (DMAE, Local0)
                        Subtract (Local0, 0x01, DMCH)
                    }
                    Else
                    {
                        Store (0x04, DMCH)
                    }

                    Store (One, ACTR)
                    EXFG ()
                }

                Name (CNBF, Buffer (0x02)
                {
                    0xF8, 0x03
                })
                Method (UABS, 1, NotSerialized)
                {
                    ENFG ()
                    Store (Arg0, LDN)
                    CreateByteField (CNBF, 0x00, IOLO)
                    CreateByteField (CNBF, 0x01, IOHI)
                    CreateWordField (CNBF, 0x00, IOAD)
                    Store (IOAL, IOLO)
                    Store (IOAH, IOHI)
                    EXFG ()
                    Return (IOAD)
                }

                Name (CSCP, 0x00)
                PowerResource (URP1, 0x00, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (CSCP)
                    }

                    Method (_ON, 0, NotSerialized)
                    {
                        Store (0x01, CSCP)
                    }

                    Method (_OFF, 0, NotSerialized)
                    {
                        Store (0x00, CSCP)
                    }
                }

                PowerResource (URP2, 0x00, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (CSCP)
                    }

                    Method (_ON, 0, NotSerialized)
                    {
                        Store (0x01, CSCP)
                    }

                    Method (_OFF, 0, NotSerialized)
                    {
                        Store (0x00, CSCP)
                    }
                }

                PowerResource (FDDP, 0x00, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (CSCP)
                    }

                    Method (_ON, 0, NotSerialized)
                    {
                        Store (0x01, CSCP)
                    }

                    Method (_OFF, 0, NotSerialized)
                    {
                        Store (0x00, CSCP)
                    }
                }

                PowerResource (LPTP, 0x00, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (CSCP)
                    }

                    Method (_ON, 0, NotSerialized)
                    {
                        Store (0x01, CSCP)
                    }

                    Method (_OFF, 0, NotSerialized)
                    {
                        Store (0x00, CSCP)
                    }
                }

                Name (FCRS, ResourceTemplate ()
                {
                    IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x02)
                    IO (Decode16, 0x03F2, 0x03F2, 0x01, 0x02)
                    IO (Decode16, 0x03F4, 0x03F4, 0x01, 0x02)
                    IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
                    IRQNoFlags () {6}
                    DMA (Compatibility, NotBusMaster, Transfer8) {2}
                })
                Name (PBUF, ResourceTemplate ()
                {
                    IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
                    IRQNoFlags () {0}
                })
                Name (EBUF, ResourceTemplate ()
                {
                    IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                    IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
                    IRQNoFlags () {7}
                    DMA (Compatibility, NotBusMaster, Transfer8) {}
                })
                Name (FPRS, ResourceTemplate ()
                {
                    StartDependentFn (0x00, 0x00)
                    {
                        IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x02)
                        IO (Decode16, 0x03F2, 0x03F2, 0x01, 0x02)
                        IO (Decode16, 0x03F4, 0x03F4, 0x01, 0x02)
                        IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
                        IRQNoFlags () {6}
                        DMA (Compatibility, NotBusMaster, Transfer8) {2}
                    }
                    EndDependentFn ()
                })
                Name (C1PR, ResourceTemplate ()
                {
                    StartDependentFn (0x00, 0x00)
                    {
                        IO (Decode16, 0x03F8, 0x03F8, 0x04, 0x08)
                        IRQNoFlags () {4}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03F8, 0x03F8, 0x04, 0x08)
                        IRQNoFlags () {3,4,10,11}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x02F8, 0x02F8, 0x04, 0x08)
                        IRQNoFlags () {3,4,10,11}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03E8, 0x03E8, 0x04, 0x08)
                        IRQNoFlags () {3,4,10,11}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x02E8, 0x02E8, 0x04, 0x08)
                        IRQNoFlags () {3,4,10,11}
                    }
                    EndDependentFn ()
                })
                Name (C2PR, ResourceTemplate ()
                {
                    StartDependentFn (0x00, 0x00)
                    {
                        IO (Decode16, 0x02F8, 0x02F8, 0x04, 0x08)
                        IRQNoFlags () {3}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x02F8, 0x02F8, 0x04, 0x08)
                        IRQNoFlags () {3,4,10,11}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03F8, 0x03F8, 0x04, 0x08)
                        IRQNoFlags () {3,4,10,11}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03E8, 0x03E8, 0x04, 0x08)
                        IRQNoFlags () {3,4,10,11}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x02E8, 0x02E8, 0x04, 0x08)
                        IRQNoFlags () {3,4,10,11}
                    }
                    EndDependentFn ()
                })
                Name (LPPR, ResourceTemplate ()
                {
                    StartDependentFn (0x00, 0x00)
                    {
                        IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                        IRQNoFlags () {7}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                        IRQNoFlags () {5,7}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                        IRQNoFlags () {5,7}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                        IRQNoFlags () {5,7}
                    }
                    EndDependentFn ()
                })
                Name (EPRS, ResourceTemplate ()
                {
                    StartDependentFn (0x00, 0x00)
                    {
                        IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                        IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
                        IRQNoFlags () {7}
                        DMA (Compatibility, NotBusMaster, Transfer8) {1}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                        IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
                        IRQNoFlags () {5,7}
                        DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                        IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
                        IRQNoFlags () {5,7}
                        DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                        IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
                        IRQNoFlags () {5,7}
                        DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                        IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
                        IRQNoFlags () {5,7}
                        DMA (Compatibility, NotBusMaster, Transfer8) {}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                        IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
                        IRQNoFlags () {5,7}
                        DMA (Compatibility, NotBusMaster, Transfer8) {}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                        IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
                        IRQNoFlags () {5,7}
                        DMA (Compatibility, NotBusMaster, Transfer8) {}
                    }
                    EndDependentFn ()
                })
                Name (MPPR, ResourceTemplate ()
                {
                    StartDependentFn (0x00, 0x00)
                    {
                        IO (Decode16, 0x0330, 0x0330, 0x01, 0x02)
                        IRQNoFlags () {10}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0330, 0x0330, 0x01, 0x02)
                        IRQNoFlags () {5,7,9,10,11}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0300, 0x0300, 0x01, 0x02)
                        IRQNoFlags () {5,7,9,10,11}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0310, 0x0310, 0x01, 0x02)
                        IRQNoFlags () {5,7,9,10,11}
                    }
                    StartDependentFnNoPri ()
                    {
                        IO (Decode16, 0x0320, 0x0320, 0x01, 0x02)
                        IRQNoFlags () {5,7,9,10,11}
                    }
                    EndDependentFn ()
                })
            }

            OperationRegion (APM, SystemIO, 0xB2, 0x02)
            Field (APM, ByteAcc, NoLock, Preserve)
            {
                APMC,   8, 
                APMD,   8
            }

            Device (USB)
            {
                Name (_ADR, 0x00030002)
                OperationRegion (BAR0, PCI_Config, 0xC4, 0x01)
                Field (BAR0, ByteAcc, NoLock, Preserve)
                {
                    USBW,   8
                }

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

        Device (PCI1)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_UID, 0x01)
            Name (_ADR, 0x00)
            Method (_BBN, 0, NotSerialized)
            {
                Return (\_SB.CBN.SACA.BSNO)
            }

            Name (_PRT, Package (0x06)
            {
                Package (0x04)
                {
                    0x0001FFFF, 
                    0x00, 
                    0x00, 
                    0x12
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x01, 
                    0x00, 
                    0x1C
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x02, 
                    0x00, 
                    0x25
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x03, 
                    0x00, 
                    0x2B
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x00, 
                    0x00, 
                    0x30
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x00, 
                    0x00, 
                    0x37
                }
            })
            Name (CRS1, ResourceTemplate ()
            {
                WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
                    0x0000,
                    0x0001,
                    0x0001,
                    0x0000,
                    0x0001)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0x9000,
                    0xCFFF,
                    0x0000,
                    0x4000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                    0x00000000,
                    0xB0000000,
                    0xFDFFFFFF,
                    0x00000000,
                    0x4DFFFFFF)
            })
            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (CRS1, 0x08, BMIN)
                CreateWordField (CRS1, 0x0A, BMAX)
                CreateWordField (CRS1, 0x0E, BLEN)
                Store (\_SB.CBN.SACA.BSNO, Local0)
                Store (\_SB.CBN.SACA.SBNO, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local2)
                Store (Local0, BMIN)
                Store (Local1, BMAX)
                Store (Local2, BLEN)
                CreateDWordField (CRS1, 0x2A, MMIN)
                CreateDWordField (CRS1, 0x2E, MMAX)
                CreateDWordField (CRS1, 0x36, MLEN)
                Store (\_SB.CBN.SACA.PCIS, Local0)
                ShiftLeft (Local0, 0x19, Local0)
                Store (\_SB.CBN.SAC0.PCIS, Local1)
                ShiftLeft (Local1, 0x19, Local1)
                Subtract (Local1, Local0, Local2)
                Decrement (Local1)
                Store (Local0, MMIN)
                Store (Local1, MMAX)
                Store (Local2, MLEN)
                CreateWordField (CRS1, 0x18, IMIN)
                CreateWordField (CRS1, 0x1A, IMAX)
                CreateWordField (CRS1, 0x1E, ILEN)
                Store (\_SB.CBN.SAC0.IOR, Local0)
                ShiftLeft (Local0, 0x0C, Local0)
                Add (Local0, 0x0FFF, Local0)
                Store (\_SB.CBN.SACA.IOR, Local1)
                ShiftLeft (Local1, 0x0C, Local1)
                Add (Local1, 0x0FFF, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local0)
                Store (Local0, IMIN)
                Store (Local1, IMAX)
                Store (Local2, ILEN)
                Return (CRS1)
            }

            Device (IHPC)
            {
                Name (_ADR, 0x000F0000)
                OperationRegion (PCIC, PCI_Config, 0x00, 0xFF)
                Field (PCIC, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x40), 
                    NUMS,   4, 
                    LDN0,   4, 
                    RES0,   8, 
                    OBSD,   1, 
                    RES1,   6, 
                    EPCA,   1, 
                    RES2,   4, 
                    ALPD,   1, 
                    EPFD,   1, 
                    IHPR,   1, 
                    CHID,   1, 
                    Offset (0x48), 
                    SCSS,   6, 
                    RES3,   2, 
                    PFSS,   6, 
                    Offset (0x50), 
                    IDX0,   8, 
                    Offset (0x54), 
                    DAT0,   8, 
                    DAT1,   8, 
                    DAT2,   8, 
                    DAT3,   8
                }

                IndexField (IDX0, DAT0, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    GLSB,   6, 
                    Offset (0x08), 
                    HPSW,   6, 
                    Offset (0x0C), 
                    MHPS,   6, 
                    Offset (0x10), 
                    SIDR,   8, 
                    Offset (0x14), 
                    NIR1,   6, 
                    Offset (0x28), 
                    SLID,   8, 
                    Offset (0x2C), 
                    HPRE,   8
                }

                IndexField (IDX0, DAT1, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x01), 
                    SENA,   6, 
                    Offset (0x05), 
                    GMSB,   6, 
                    Offset (0x09), 
                    HPFL,   6, 
                    Offset (0x0D), 
                    MHPF,   6, 
                    Offset (0x11), 
                    SIBP,   3, 
                    RES4,   3, 
                    SIBS,   1, 
                    Offset (0x2D), 
                    SLPE,   8
                }

                IndexField (IDX0, DAT2, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x02), 
                    SOBO,   1, 
                    SOIE,   1, 
                    SOIC,   1, 
                    GIIP,   1, 
                    DUCE,   1, 
                    RES5,   3, 
                    Offset (0x06), 
                    ALSB,   6, 
                    Offset (0x0A), 
                    PRS1,   6, 
                    Offset (0x0E), 
                    MPR1,   6
                }

                IndexField (IDX0, DAT3, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x03), 
                    OOBS,   1, 
                    APDD,   1, 
                    EPFF,   1, 
                    PSEN,   1, 
                    INSC,   1, 
                    RES6,   1, 
                    ESER,   1, 
                    Offset (0x07), 
                    AMSB,   6, 
                    Offset (0x0B), 
                    PRS2,   6, 
                    Offset (0x0F), 
                    MPR2,   6, 
                    Offset (0x13), 
                    GPOB,   6
                }

                Method (_INI, 0, NotSerialized)
                {
                    Store (0xFE, MHPS)
                    Store (0xFE, MHPF)
                }
            }

            Method (_HPP, 0, NotSerialized)
            {
                Return (\_SB.HPPM ())
            }

            Device (S0F0)
            {
                Name (_ADR, 0x00010000)
                Name (_SUN, 0x03)
                Method (_EJ0, 1, NotSerialized)
                {
                    SLOF (0x01, 0x00)
                }
            }

            Device (S0F1)
            {
                Name (_ADR, 0x00010001)
                Name (_SUN, 0x03)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI1.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F2)
            {
                Name (_ADR, 0x00010002)
                Name (_SUN, 0x03)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI1.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F3)
            {
                Name (_ADR, 0x00010003)
                Name (_SUN, 0x03)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI1.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F4)
            {
                Name (_ADR, 0x00010004)
                Name (_SUN, 0x03)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI1.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F5)
            {
                Name (_ADR, 0x00010005)
                Name (_SUN, 0x03)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI1.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F6)
            {
                Name (_ADR, 0x00010006)
                Name (_SUN, 0x03)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI1.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F7)
            {
                Name (_ADR, 0x00010007)
                Name (_SUN, 0x03)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI1.S0F0._EJ0 (Arg0)
                }
            }
        }

        Device (PCI2)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_UID, 0x02)
            Name (_ADR, 0x00)
            Method (_BBN, 0, NotSerialized)
            {
                Return (\_SB.CBN.SACB.BSNO)
            }

            Name (_PRT, Package (0x09)
            {
                Package (0x04)
                {
                    0x0001FFFF, 
                    0x00, 
                    0x00, 
                    0x13
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x01, 
                    0x00, 
                    0x1D
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x02, 
                    0x00, 
                    0x26
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x03, 
                    0x00, 
                    0x2C
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x00, 
                    0x00, 
                    0x14
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x01, 
                    0x00, 
                    0x1E
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x02, 
                    0x00, 
                    0x27
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x03, 
                    0x00, 
                    0x2D
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x00, 
                    0x00, 
                    0x37
                }
            })
            Name (CRS2, ResourceTemplate ()
            {
                WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
                    0x0000,
                    0x0002,
                    0x0002,
                    0x0000,
                    0x0001)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0xA000,
                    0xFFFF,
                    0x0000,
                    0x6000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                    0x00000000,
                    0xB0000000,
                    0xFDFFFFFF,
                    0x00000000,
                    0x4DFFFFFF)
            })
            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (CRS2, 0x08, BMIN)
                CreateWordField (CRS2, 0x0A, BMAX)
                CreateWordField (CRS2, 0x0E, BLEN)
                Store (\_SB.CBN.SACB.BSNO, Local0)
                Store (\_SB.CBN.SACB.SBNO, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local2)
                Store (Local0, BMIN)
                Store (Local1, BMAX)
                Store (Local2, BLEN)
                CreateDWordField (CRS2, 0x2A, MMIN)
                CreateDWordField (CRS2, 0x2E, MMAX)
                CreateDWordField (CRS2, 0x36, MLEN)
                Store (\_SB.CBN.SACB.PCIS, Local0)
                ShiftLeft (Local0, 0x19, Local0)
                Store (\_SB.CBN.SACA.PCIS, Local1)
                ShiftLeft (Local1, 0x19, Local1)
                Subtract (Local1, Local0, Local2)
                Decrement (Local1)
                Store (Local0, MMIN)
                Store (Local1, MMAX)
                Store (Local2, MLEN)
                CreateWordField (CRS2, 0x18, IMIN)
                CreateWordField (CRS2, 0x1A, IMAX)
                CreateWordField (CRS2, 0x1E, ILEN)
                Store (\_SB.CBN.SACA.IOR, Local0)
                ShiftLeft (Local0, 0x0C, Local0)
                Add (Local0, 0x0FFF, Local0)
                Store (\_SB.CBN.SACB.IOR, Local1)
                ShiftLeft (Local1, 0x0C, Local1)
                Add (Local1, 0x0FFF, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local0)
                Store (Local0, IMIN)
                Store (Local1, IMAX)
                Store (Local2, ILEN)
                Return (CRS2)
            }

            Device (IHPC)
            {
                Name (_ADR, 0x000F0000)
                OperationRegion (PCIC, PCI_Config, 0x00, 0xFF)
                Field (PCIC, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x40), 
                    NUMS,   4, 
                    LDN0,   4, 
                    RES0,   8, 
                    OBSD,   1, 
                    RES1,   6, 
                    EPCA,   1, 
                    RES2,   4, 
                    ALPD,   1, 
                    EPFD,   1, 
                    IHPR,   1, 
                    CHID,   1, 
                    Offset (0x48), 
                    SCSS,   6, 
                    RES3,   2, 
                    PFSS,   6, 
                    Offset (0x50), 
                    IDX0,   8, 
                    Offset (0x54), 
                    DAT0,   8, 
                    DAT1,   8, 
                    DAT2,   8, 
                    DAT3,   8
                }

                IndexField (IDX0, DAT0, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    GLSB,   6, 
                    Offset (0x08), 
                    HPSW,   6, 
                    Offset (0x0C), 
                    MHPS,   6, 
                    Offset (0x10), 
                    SIDR,   8, 
                    Offset (0x14), 
                    NIR1,   6, 
                    Offset (0x28), 
                    SLID,   8, 
                    Offset (0x2C), 
                    HPRE,   8
                }

                IndexField (IDX0, DAT1, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x01), 
                    SENA,   6, 
                    Offset (0x05), 
                    GMSB,   6, 
                    Offset (0x09), 
                    HPFL,   6, 
                    Offset (0x0D), 
                    MHPF,   6, 
                    Offset (0x11), 
                    SIBP,   3, 
                    RES4,   3, 
                    SIBS,   1, 
                    Offset (0x2D), 
                    SLPE,   8
                }

                IndexField (IDX0, DAT2, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x02), 
                    SOBO,   1, 
                    SOIE,   1, 
                    SOIC,   1, 
                    GIIP,   1, 
                    DUCE,   1, 
                    RES5,   3, 
                    Offset (0x06), 
                    ALSB,   6, 
                    Offset (0x0A), 
                    PRS1,   6, 
                    Offset (0x0E), 
                    MPR1,   6
                }

                IndexField (IDX0, DAT3, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x03), 
                    OOBS,   1, 
                    APDD,   1, 
                    EPFF,   1, 
                    PSEN,   1, 
                    INSC,   1, 
                    RES6,   1, 
                    ESER,   1, 
                    Offset (0x07), 
                    AMSB,   6, 
                    Offset (0x0B), 
                    PRS2,   6, 
                    Offset (0x0F), 
                    MPR2,   6, 
                    Offset (0x13), 
                    GPOB,   6
                }

                Method (_INI, 0, NotSerialized)
                {
                    Store (0xFC, MHPS)
                    Store (0xFC, MHPF)
                    Store (HPSW, \HPS2)
                }
            }

            Method (_HPP, 0, NotSerialized)
            {
                Return (\_SB.HPPM ())
            }

            Device (S0F0)
            {
                Name (_ADR, 0x00010000)
                Name (_SUN, 0x04)
                Method (_EJ0, 1, NotSerialized)
                {
                    SLOF (0x02, 0x00)
                }
            }

            Device (S0F1)
            {
                Name (_ADR, 0x00010001)
                Name (_SUN, 0x04)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F2)
            {
                Name (_ADR, 0x00010002)
                Name (_SUN, 0x04)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F3)
            {
                Name (_ADR, 0x00010003)
                Name (_SUN, 0x04)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F4)
            {
                Name (_ADR, 0x00010004)
                Name (_SUN, 0x04)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F5)
            {
                Name (_ADR, 0x00010005)
                Name (_SUN, 0x04)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F6)
            {
                Name (_ADR, 0x00010006)
                Name (_SUN, 0x04)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F7)
            {
                Name (_ADR, 0x00010007)
                Name (_SUN, 0x04)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S0F0._EJ0 (Arg0)
                }
            }

            Device (S1F0)
            {
                Name (_ADR, 0x00020000)
                Name (_SUN, 0x05)
                Method (_EJ0, 1, NotSerialized)
                {
                    SLOF (0x02, 0x01)
                }
            }

            Device (S1F1)
            {
                Name (_ADR, 0x00020001)
                Name (_SUN, 0x05)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F2)
            {
                Name (_ADR, 0x00020002)
                Name (_SUN, 0x05)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F3)
            {
                Name (_ADR, 0x00020003)
                Name (_SUN, 0x05)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F4)
            {
                Name (_ADR, 0x00020004)
                Name (_SUN, 0x05)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F5)
            {
                Name (_ADR, 0x00020005)
                Name (_SUN, 0x05)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F6)
            {
                Name (_ADR, 0x00020006)
                Name (_SUN, 0x05)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F7)
            {
                Name (_ADR, 0x00020007)
                Name (_SUN, 0x05)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI2.S1F0._EJ0 (Arg0)
                }
            }
        }

        Device (PCI3)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_UID, 0x03)
            Name (_ADR, 0x00)
            Method (_BBN, 0, NotSerialized)
            {
                Return (\_SB.CBN.SACC.BSNO)
            }

            Name (_PRT, Package (0x09)
            {
                Package (0x04)
                {
                    0x0001FFFF, 
                    0x00, 
                    0x00, 
                    0x15
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x01, 
                    0x00, 
                    0x1F
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x02, 
                    0x00, 
                    0x27
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x03, 
                    0x00, 
                    0x2D
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x00, 
                    0x00, 
                    0x16
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x01, 
                    0x00, 
                    0x20
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x02, 
                    0x00, 
                    0x28
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x03, 
                    0x00, 
                    0x2E
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x00, 
                    0x00, 
                    0x39
                }
            })
            Name (CRS3, ResourceTemplate ()
            {
                WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
                    0x0000,
                    0x0002,
                    0x0002,
                    0x0000,
                    0x0001)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0xA000,
                    0xFFFF,
                    0x0000,
                    0x6000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                    0x00000000,
                    0xB0000000,
                    0xFDFFFFFF,
                    0x00000000,
                    0x4DFFFFFF)
            })
            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (CRS3, 0x08, BMIN)
                CreateWordField (CRS3, 0x0A, BMAX)
                CreateWordField (CRS3, 0x0E, BLEN)
                Store (\_SB.CBN.SACC.BSNO, Local0)
                Store (\_SB.CBN.SACC.SBNO, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local2)
                Store (Local0, BMIN)
                Store (Local1, BMAX)
                Store (Local2, BLEN)
                CreateDWordField (CRS3, 0x2A, MMIN)
                CreateDWordField (CRS3, 0x2E, MMAX)
                CreateDWordField (CRS3, 0x36, MLEN)
                Store (\_SB.CBN.SACC.PCIS, Local0)
                ShiftLeft (Local0, 0x19, Local0)
                Store (\_SB.CBN.SACB.PCIS, Local1)
                ShiftLeft (Local1, 0x19, Local1)
                Subtract (Local1, Local0, Local2)
                Decrement (Local1)
                Store (Local0, MMIN)
                Store (Local1, MMAX)
                Store (Local2, MLEN)
                CreateWordField (CRS3, 0x18, IMIN)
                CreateWordField (CRS3, 0x1A, IMAX)
                CreateWordField (CRS3, 0x1E, ILEN)
                Store (\_SB.CBN.SACB.IOR, Local0)
                ShiftLeft (Local0, 0x0C, Local0)
                Add (Local0, 0x0FFF, Local0)
                Store (\_SB.CBN.SACC.IOR, Local1)
                ShiftLeft (Local1, 0x0C, Local1)
                Add (Local1, 0x0FFF, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local0)
                Store (Local0, IMIN)
                Store (Local1, IMAX)
                Store (Local2, ILEN)
                Return (CRS3)
            }

            Device (IHPC)
            {
                Name (_ADR, 0x000F0000)
                OperationRegion (PCIC, PCI_Config, 0x00, 0xFF)
                Field (PCIC, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x40), 
                    NUMS,   4, 
                    LDN0,   4, 
                    RES0,   8, 
                    OBSD,   1, 
                    RES1,   6, 
                    EPCA,   1, 
                    RES2,   4, 
                    ALPD,   1, 
                    EPFD,   1, 
                    IHPR,   1, 
                    CHID,   1, 
                    Offset (0x48), 
                    SCSS,   6, 
                    RES3,   2, 
                    PFSS,   6, 
                    Offset (0x50), 
                    IDX0,   8, 
                    Offset (0x54), 
                    DAT0,   8, 
                    DAT1,   8, 
                    DAT2,   8, 
                    DAT3,   8
                }

                IndexField (IDX0, DAT0, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    GLSB,   6, 
                    Offset (0x08), 
                    HPSW,   6, 
                    Offset (0x0C), 
                    MHPS,   6, 
                    Offset (0x10), 
                    SIDR,   8, 
                    Offset (0x14), 
                    NIR1,   6, 
                    Offset (0x28), 
                    SLID,   8, 
                    Offset (0x2C), 
                    HPRE,   8
                }

                IndexField (IDX0, DAT1, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x01), 
                    SENA,   6, 
                    Offset (0x05), 
                    GMSB,   6, 
                    Offset (0x09), 
                    HPFL,   6, 
                    Offset (0x0D), 
                    MHPF,   6, 
                    Offset (0x11), 
                    SIBP,   3, 
                    RES4,   3, 
                    SIBS,   1, 
                    Offset (0x2D), 
                    SLPE,   8
                }

                IndexField (IDX0, DAT2, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x02), 
                    SOBO,   1, 
                    SOIE,   1, 
                    SOIC,   1, 
                    GIIP,   1, 
                    DUCE,   1, 
                    RES5,   3, 
                    Offset (0x06), 
                    ALSB,   6, 
                    Offset (0x0A), 
                    PRS1,   6, 
                    Offset (0x0E), 
                    MPR1,   6
                }

                IndexField (IDX0, DAT3, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x03), 
                    OOBS,   1, 
                    APDD,   1, 
                    EPFF,   1, 
                    PSEN,   1, 
                    INSC,   1, 
                    RES6,   1, 
                    ESER,   1, 
                    Offset (0x07), 
                    AMSB,   6, 
                    Offset (0x0B), 
                    PRS2,   6, 
                    Offset (0x0F), 
                    MPR2,   6, 
                    Offset (0x13), 
                    GPOB,   6
                }

                Method (_INI, 0, NotSerialized)
                {
                    Store (0xFC, MHPS)
                    Store (0xFC, MHPF)
                    Store (HPSW, \HPS3)
                }
            }

            Method (_HPP, 0, NotSerialized)
            {
                Return (\_SB.HPPM ())
            }

            Device (S0F0)
            {
                Name (_ADR, 0x00010000)
                Name (_SUN, 0x06)
                Method (_EJ0, 1, NotSerialized)
                {
                    SLOF (0x03, 0x00)
                }
            }

            Device (S0F1)
            {
                Name (_ADR, 0x00010001)
                Name (_SUN, 0x06)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F2)
            {
                Name (_ADR, 0x00010002)
                Name (_SUN, 0x06)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F3)
            {
                Name (_ADR, 0x00010003)
                Name (_SUN, 0x06)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F4)
            {
                Name (_ADR, 0x00010004)
                Name (_SUN, 0x06)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F5)
            {
                Name (_ADR, 0x00010005)
                Name (_SUN, 0x06)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F6)
            {
                Name (_ADR, 0x00010006)
                Name (_SUN, 0x06)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F7)
            {
                Name (_ADR, 0x00010007)
                Name (_SUN, 0x06)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S0F0._EJ0 (Arg0)
                }
            }

            Device (S1F0)
            {
                Name (_ADR, 0x00020000)
                Name (_SUN, 0x07)
                Method (_EJ0, 1, NotSerialized)
                {
                    SLOF (0x03, 0x01)
                }
            }

            Device (S1F1)
            {
                Name (_ADR, 0x00020001)
                Name (_SUN, 0x07)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F2)
            {
                Name (_ADR, 0x00020002)
                Name (_SUN, 0x07)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F3)
            {
                Name (_ADR, 0x00020003)
                Name (_SUN, 0x07)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F4)
            {
                Name (_ADR, 0x00020004)
                Name (_SUN, 0x07)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F5)
            {
                Name (_ADR, 0x00020005)
                Name (_SUN, 0x07)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F6)
            {
                Name (_ADR, 0x00020006)
                Name (_SUN, 0x07)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S1F0._EJ0 (Arg0)
                }
            }

            Device (S1F7)
            {
                Name (_ADR, 0x00020007)
                Name (_SUN, 0x07)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI3.S1F0._EJ0 (Arg0)
                }
            }
        }

        Device (PCI4)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_UID, 0x04)
            Name (_ADR, 0x00)
            Method (_BBN, 0, NotSerialized)
            {
                Return (\_SB.CBN.SACD.BSNO)
            }

            Name (_PRT, Package (0x05)
            {
                Package (0x04)
                {
                    0x0001FFFF, 
                    0x00, 
                    0x00, 
                    0x17
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x01, 
                    0x00, 
                    0x21
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x02, 
                    0x00, 
                    0x28
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x03, 
                    0x00, 
                    0x2E
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x00, 
                    0x00, 
                    0x39
                }
            })
            Name (CRS4, ResourceTemplate ()
            {
                WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
                    0x0000,
                    0x0002,
                    0x0002,
                    0x0000,
                    0x0001)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0xA000,
                    0xFFFF,
                    0x0000,
                    0x6000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                    0x00000000,
                    0xB0000000,
                    0xFDFFFFFF,
                    0x00000000,
                    0x4DFFFFFF)
            })
            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (CRS4, 0x08, BMIN)
                CreateWordField (CRS4, 0x0A, BMAX)
                CreateWordField (CRS4, 0x0E, BLEN)
                Store (\_SB.CBN.SACD.BSNO, Local0)
                Store (\_SB.CBN.SACD.SBNO, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local2)
                Store (Local0, BMIN)
                Store (Local1, BMAX)
                Store (Local2, BLEN)
                CreateDWordField (CRS4, 0x2A, MMIN)
                CreateDWordField (CRS4, 0x2E, MMAX)
                CreateDWordField (CRS4, 0x36, MLEN)
                Store (\_SB.CBN.SACD.PCIS, Local0)
                ShiftLeft (Local0, 0x19, Local0)
                Store (\_SB.CBN.SACC.PCIS, Local1)
                ShiftLeft (Local1, 0x19, Local1)
                Subtract (Local1, Local0, Local2)
                Decrement (Local1)
                Store (Local0, MMIN)
                Store (Local1, MMAX)
                Store (Local2, MLEN)
                CreateWordField (CRS4, 0x18, IMIN)
                CreateWordField (CRS4, 0x1A, IMAX)
                CreateWordField (CRS4, 0x1E, ILEN)
                Store (\_SB.CBN.SACC.IOR, Local0)
                ShiftLeft (Local0, 0x0C, Local0)
                Add (Local0, 0x0FFF, Local0)
                Store (\_SB.CBN.SACD.IOR, Local1)
                ShiftLeft (Local1, 0x0C, Local1)
                Add (Local1, 0x0FFF, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local0)
                Store (Local0, IMIN)
                Store (Local1, IMAX)
                Store (Local2, ILEN)
                Return (CRS4)
            }

            Device (IHPC)
            {
                Name (_ADR, 0x000F0000)
                OperationRegion (PCIC, PCI_Config, 0x00, 0xFF)
                Field (PCIC, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x40), 
                    NUMS,   4, 
                    LDN0,   4, 
                    RES0,   8, 
                    OBSD,   1, 
                    RES1,   6, 
                    EPCA,   1, 
                    RES2,   4, 
                    ALPD,   1, 
                    EPFD,   1, 
                    IHPR,   1, 
                    CHID,   1, 
                    Offset (0x48), 
                    SCSS,   6, 
                    RES3,   2, 
                    PFSS,   6, 
                    Offset (0x50), 
                    IDX0,   8, 
                    Offset (0x54), 
                    DAT0,   8, 
                    DAT1,   8, 
                    DAT2,   8, 
                    DAT3,   8
                }

                IndexField (IDX0, DAT0, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    GLSB,   6, 
                    Offset (0x08), 
                    HPSW,   6, 
                    Offset (0x0C), 
                    MHPS,   6, 
                    Offset (0x10), 
                    SIDR,   8, 
                    Offset (0x14), 
                    NIR1,   6, 
                    Offset (0x28), 
                    SLID,   8, 
                    Offset (0x2C), 
                    HPRE,   8
                }

                IndexField (IDX0, DAT1, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x01), 
                    SENA,   6, 
                    Offset (0x05), 
                    GMSB,   6, 
                    Offset (0x09), 
                    HPFL,   6, 
                    Offset (0x0D), 
                    MHPF,   6, 
                    Offset (0x11), 
                    SIBP,   3, 
                    RES4,   3, 
                    SIBS,   1, 
                    Offset (0x2D), 
                    SLPE,   8
                }

                IndexField (IDX0, DAT2, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x02), 
                    SOBO,   1, 
                    SOIE,   1, 
                    SOIC,   1, 
                    GIIP,   1, 
                    DUCE,   1, 
                    RES5,   3, 
                    Offset (0x06), 
                    ALSB,   6, 
                    Offset (0x0A), 
                    PRS1,   6, 
                    Offset (0x0E), 
                    MPR1,   6
                }

                IndexField (IDX0, DAT3, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x03), 
                    OOBS,   1, 
                    APDD,   1, 
                    EPFF,   1, 
                    PSEN,   1, 
                    INSC,   1, 
                    RES6,   1, 
                    ESER,   1, 
                    Offset (0x07), 
                    AMSB,   6, 
                    Offset (0x0B), 
                    PRS2,   6, 
                    Offset (0x0F), 
                    MPR2,   6, 
                    Offset (0x13), 
                    GPOB,   6
                }

                Method (_INI, 0, NotSerialized)
                {
                    Store (0xFE, MHPS)
                    Store (0xFE, MHPF)
                }
            }

            Method (_HPP, 0, NotSerialized)
            {
                Return (\_SB.HPPM ())
            }

            Device (S0F0)
            {
                Name (_ADR, 0x00010000)
                Name (_SUN, 0x08)
                Method (_EJ0, 1, NotSerialized)
                {
                    SLOF (0x04, 0x00)
                }
            }

            Device (S0F1)
            {
                Name (_ADR, 0x00010001)
                Name (_SUN, 0x08)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI4.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F2)
            {
                Name (_ADR, 0x00010002)
                Name (_SUN, 0x08)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI4.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F3)
            {
                Name (_ADR, 0x00010003)
                Name (_SUN, 0x08)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI4.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F4)
            {
                Name (_ADR, 0x00010004)
                Name (_SUN, 0x08)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI4.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F5)
            {
                Name (_ADR, 0x00010005)
                Name (_SUN, 0x08)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI4.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F6)
            {
                Name (_ADR, 0x00010006)
                Name (_SUN, 0x08)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI4.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F7)
            {
                Name (_ADR, 0x00010007)
                Name (_SUN, 0x08)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI4.S0F0._EJ0 (Arg0)
                }
            }
        }

        Device (PCI5)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_UID, 0x05)
            Name (_ADR, 0x00)
            Method (_BBN, 0, NotSerialized)
            {
                Return (\_SB.CBN.SACE.BSNO)
            }

            Name (_PRT, Package (0x05)
            {
                Package (0x04)
                {
                    0x0001FFFF, 
                    0x00, 
                    0x00, 
                    0x18
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x01, 
                    0x00, 
                    0x22
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x02, 
                    0x00, 
                    0x29
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x03, 
                    0x00, 
                    0x2F
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x00, 
                    0x00, 
                    0x3B
                }
            })
            Name (CRS5, ResourceTemplate ()
            {
                WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
                    0x0000,
                    0x0002,
                    0x0002,
                    0x0000,
                    0x0001)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0xA000,
                    0xFFFF,
                    0x0000,
                    0x6000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                    0x00000000,
                    0xB0000000,
                    0xFDFFFFFF,
                    0x00000000,
                    0x4DFFFFFF)
            })
            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (CRS5, 0x08, BMIN)
                CreateWordField (CRS5, 0x0A, BMAX)
                CreateWordField (CRS5, 0x0E, BLEN)
                Store (\_SB.CBN.SACE.BSNO, Local0)
                Store (\_SB.CBN.SACE.SBNO, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local2)
                Store (Local0, BMIN)
                Store (Local1, BMAX)
                Store (Local2, BLEN)
                CreateDWordField (CRS5, 0x2A, MMIN)
                CreateDWordField (CRS5, 0x2E, MMAX)
                CreateDWordField (CRS5, 0x36, MLEN)
                Store (\_SB.CBN.SACE.PCIS, Local0)
                ShiftLeft (Local0, 0x19, Local0)
                Store (\_SB.CBN.SACD.PCIS, Local1)
                ShiftLeft (Local1, 0x19, Local1)
                Subtract (Local1, Local0, Local2)
                Decrement (Local1)
                Store (Local0, MMIN)
                Store (Local1, MMAX)
                Store (Local2, MLEN)
                CreateWordField (CRS5, 0x18, IMIN)
                CreateWordField (CRS5, 0x1A, IMAX)
                CreateWordField (CRS5, 0x1E, ILEN)
                Store (\_SB.CBN.SACD.IOR, Local0)
                ShiftLeft (Local0, 0x0C, Local0)
                Add (Local0, 0x0FFF, Local0)
                Store (\_SB.CBN.SACE.IOR, Local1)
                ShiftLeft (Local1, 0x0C, Local1)
                Add (Local1, 0x0FFF, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local0)
                Store (Local0, IMIN)
                Store (Local1, IMAX)
                Store (Local2, ILEN)
                Return (CRS5)
            }

            Device (IHPC)
            {
                Name (_ADR, 0x000F0000)
                OperationRegion (PCIC, PCI_Config, 0x00, 0xFF)
                Field (PCIC, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x40), 
                    NUMS,   4, 
                    LDN0,   4, 
                    RES0,   8, 
                    OBSD,   1, 
                    RES1,   6, 
                    EPCA,   1, 
                    RES2,   4, 
                    ALPD,   1, 
                    EPFD,   1, 
                    IHPR,   1, 
                    CHID,   1, 
                    Offset (0x48), 
                    SCSS,   6, 
                    RES3,   2, 
                    PFSS,   6, 
                    Offset (0x50), 
                    IDX0,   8, 
                    Offset (0x54), 
                    DAT0,   8, 
                    DAT1,   8, 
                    DAT2,   8, 
                    DAT3,   8
                }

                IndexField (IDX0, DAT0, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    GLSB,   6, 
                    Offset (0x08), 
                    HPSW,   6, 
                    Offset (0x0C), 
                    MHPS,   6, 
                    Offset (0x10), 
                    SIDR,   8, 
                    Offset (0x14), 
                    NIR1,   6, 
                    Offset (0x28), 
                    SLID,   8, 
                    Offset (0x2C), 
                    HPRE,   8
                }

                IndexField (IDX0, DAT1, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x01), 
                    SENA,   6, 
                    Offset (0x05), 
                    GMSB,   6, 
                    Offset (0x09), 
                    HPFL,   6, 
                    Offset (0x0D), 
                    MHPF,   6, 
                    Offset (0x11), 
                    SIBP,   3, 
                    RES4,   3, 
                    SIBS,   1, 
                    Offset (0x2D), 
                    SLPE,   8
                }

                IndexField (IDX0, DAT2, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x02), 
                    SOBO,   1, 
                    SOIE,   1, 
                    SOIC,   1, 
                    GIIP,   1, 
                    DUCE,   1, 
                    RES5,   3, 
                    Offset (0x06), 
                    ALSB,   6, 
                    Offset (0x0A), 
                    PRS1,   6, 
                    Offset (0x0E), 
                    MPR1,   6
                }

                IndexField (IDX0, DAT3, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x03), 
                    OOBS,   1, 
                    APDD,   1, 
                    EPFF,   1, 
                    PSEN,   1, 
                    INSC,   1, 
                    RES6,   1, 
                    ESER,   1, 
                    Offset (0x07), 
                    AMSB,   6, 
                    Offset (0x0B), 
                    PRS2,   6, 
                    Offset (0x0F), 
                    MPR2,   6, 
                    Offset (0x13), 
                    GPOB,   6
                }

                Method (_INI, 0, NotSerialized)
                {
                    Store (0xFE, MHPS)
                    Store (0xFE, MHPF)
                }
            }

            Method (_HPP, 0, NotSerialized)
            {
                Return (\_SB.HPPM ())
            }

            Device (S0F0)
            {
                Name (_ADR, 0x00010000)
                Name (_SUN, 0x09)
                Method (_EJ0, 1, NotSerialized)
                {
                    SLOF (0x05, 0x00)
                }
            }

            Device (S0F1)
            {
                Name (_ADR, 0x00010001)
                Name (_SUN, 0x09)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI5.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F2)
            {
                Name (_ADR, 0x00010002)
                Name (_SUN, 0x09)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI5.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F3)
            {
                Name (_ADR, 0x00010003)
                Name (_SUN, 0x09)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI5.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F4)
            {
                Name (_ADR, 0x00010004)
                Name (_SUN, 0x09)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI5.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F5)
            {
                Name (_ADR, 0x00010005)
                Name (_SUN, 0x09)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI5.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F6)
            {
                Name (_ADR, 0x00010006)
                Name (_SUN, 0x09)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI5.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F7)
            {
                Name (_ADR, 0x00010007)
                Name (_SUN, 0x09)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI5.S0F0._EJ0 (Arg0)
                }
            }
        }

        Device (PCI6)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_UID, 0x06)
            Name (_ADR, 0x00)
            Method (_BBN, 0, NotSerialized)
            {
                Return (\_SB.CBN.SACF.BSNO)
            }

            Name (_PRT, Package (0x05)
            {
                Package (0x04)
                {
                    0x0001FFFF, 
                    0x00, 
                    0x00, 
                    0x19
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x01, 
                    0x00, 
                    0x23
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x02, 
                    0x00, 
                    0x29
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x03, 
                    0x00, 
                    0x2F
                }, 

                Package (0x04)
                {
                    0x000FFFFF, 
                    0x00, 
                    0x00, 
                    0x3B
                }
            })
            Name (CRS6, ResourceTemplate ()
            {
                WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
                    0x0000,
                    0x0002,
                    0x0002,
                    0x0000,
                    0x0001)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0xA000,
                    0xFFFF,
                    0x0000,
                    0x6000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                    0x00000000,
                    0xB0000000,
                    0xFDFFFFFF,
                    0x00000000,
                    0x4DFFFFFF)
            })
            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (CRS6, 0x08, BMIN)
                CreateWordField (CRS6, 0x0A, BMAX)
                CreateWordField (CRS6, 0x0E, BLEN)
                Store (\_SB.CBN.SACF.BSNO, Local0)
                Store (\_SB.CBN.SACF.SBNO, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local2)
                Store (Local0, BMIN)
                Store (Local1, BMAX)
                Store (Local2, BLEN)
                CreateDWordField (CRS6, 0x2A, MMIN)
                CreateDWordField (CRS6, 0x2E, MMAX)
                CreateDWordField (CRS6, 0x36, MLEN)
                Store (\_SB.CBN.SACF.PCIS, Local0)
                ShiftLeft (Local0, 0x19, Local0)
                Store (\_SB.CBN.SACE.PCIS, Local1)
                ShiftLeft (Local1, 0x19, Local1)
                Subtract (Local1, Local0, Local2)
                Decrement (Local1)
                Store (Local0, MMIN)
                Store (Local1, MMAX)
                Store (Local2, MLEN)
                CreateWordField (CRS6, 0x18, IMIN)
                CreateWordField (CRS6, 0x1A, IMAX)
                CreateWordField (CRS6, 0x1E, ILEN)
                Store (\_SB.CBN.SACE.IOR, Local0)
                ShiftLeft (Local0, 0x0C, Local0)
                Add (Local0, 0x0FFF, Local0)
                Store (\_SB.CBN.SACF.IOR, Local1)
                ShiftLeft (Local1, 0x0C, Local1)
                Add (Local1, 0x0FFF, Local1)
                Subtract (Local1, Local0, Local2)
                Increment (Local0)
                Store (Local0, IMIN)
                Store (Local1, IMAX)
                Store (Local2, ILEN)
                Return (CRS6)
            }

            Device (IHPC)
            {
                Name (_ADR, 0x000F0000)
                OperationRegion (PCIC, PCI_Config, 0x00, 0xFF)
                Field (PCIC, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x40), 
                    NUMS,   4, 
                    LDN0,   4, 
                    RES0,   8, 
                    OBSD,   1, 
                    RES1,   6, 
                    EPCA,   1, 
                    RES2,   4, 
                    ALPD,   1, 
                    EPFD,   1, 
                    IHPR,   1, 
                    CHID,   1, 
                    Offset (0x48), 
                    SCSS,   6, 
                    RES3,   2, 
                    PFSS,   6, 
                    Offset (0x50), 
                    IDX0,   8, 
                    Offset (0x54), 
                    DAT0,   8, 
                    DAT1,   8, 
                    DAT2,   8, 
                    DAT3,   8
                }

                IndexField (IDX0, DAT0, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    GLSB,   6, 
                    Offset (0x08), 
                    HPSW,   6, 
                    Offset (0x0C), 
                    MHPS,   6, 
                    Offset (0x10), 
                    SIDR,   8, 
                    Offset (0x14), 
                    NIR1,   6, 
                    Offset (0x28), 
                    SLID,   8, 
                    Offset (0x2C), 
                    HPRE,   8
                }

                IndexField (IDX0, DAT1, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x01), 
                    SENA,   6, 
                    Offset (0x05), 
                    GMSB,   6, 
                    Offset (0x09), 
                    HPFL,   6, 
                    Offset (0x0D), 
                    MHPF,   6, 
                    Offset (0x11), 
                    SIBP,   3, 
                    RES4,   3, 
                    SIBS,   1, 
                    Offset (0x2D), 
                    SLPE,   8
                }

                IndexField (IDX0, DAT2, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x02), 
                    SOBO,   1, 
                    SOIE,   1, 
                    SOIC,   1, 
                    GIIP,   1, 
                    DUCE,   1, 
                    RES5,   3, 
                    Offset (0x06), 
                    ALSB,   6, 
                    Offset (0x0A), 
                    PRS1,   6, 
                    Offset (0x0E), 
                    MPR1,   6
                }

                IndexField (IDX0, DAT3, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x03), 
                    OOBS,   1, 
                    APDD,   1, 
                    EPFF,   1, 
                    PSEN,   1, 
                    INSC,   1, 
                    RES6,   1, 
                    ESER,   1, 
                    Offset (0x07), 
                    AMSB,   6, 
                    Offset (0x0B), 
                    PRS2,   6, 
                    Offset (0x0F), 
                    MPR2,   6, 
                    Offset (0x13), 
                    GPOB,   6
                }

                Method (_INI, 0, NotSerialized)
                {
                    Store (0xFE, MHPS)
                    Store (0xFE, MHPF)
                }
            }

            Method (_HPP, 0, NotSerialized)
            {
                Return (\_SB.HPPM ())
            }

            Device (S0F0)
            {
                Name (_ADR, 0x00010000)
                Name (_SUN, 0x0A)
                Method (_EJ0, 1, NotSerialized)
                {
                    SLOF (0x06, 0x00)
                }
            }

            Device (S0F1)
            {
                Name (_ADR, 0x00010001)
                Name (_SUN, 0x0A)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI6.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F2)
            {
                Name (_ADR, 0x00010002)
                Name (_SUN, 0x0A)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI6.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F3)
            {
                Name (_ADR, 0x00010003)
                Name (_SUN, 0x0A)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI6.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F4)
            {
                Name (_ADR, 0x00010004)
                Name (_SUN, 0x0A)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI6.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F5)
            {
                Name (_ADR, 0x00010005)
                Name (_SUN, 0x0A)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI6.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F6)
            {
                Name (_ADR, 0x00010006)
                Name (_SUN, 0x0A)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI6.S0F0._EJ0 (Arg0)
                }
            }

            Device (S0F7)
            {
                Name (_ADR, 0x00010007)
                Name (_SUN, 0x0A)
                Method (_EJ0, 1, NotSerialized)
                {
                    \_SB.PCI6.S0F0._EJ0 (Arg0)
                }
            }
        }

        Device (CBN)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_UID, 0x07)
            Name (_ADR, 0x00)
            Method (_BBN, 0, NotSerialized)
            {
                Return (\_SB.PCI0.SAC.CBNO)
            }

            Method (_STA, 0, NotSerialized)
            {
                Return (0x08)
            }

            Name (CRSC, ResourceTemplate ()
            {
                WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, SubDecode,
                    0x0000,
                    0x0000,
                    0x0000,
                    0x0000,
                    0x0001)
            })
            Method (_CRS, 0, NotSerialized)
            {
                CreateByteField (CRSC, 0x08, CBMN)
                CreateByteField (CRSC, 0x0A, CBMX)
                Store (\_SB.PCI0.SAC.CBNO, Local0)
                Store (Local0, CBMN)
                Store (Local0, CBMX)
                Return (CRSC)
            }

            Device (SAC0)
            {
                Name (_ADR, 0x00100000)
                OperationRegion (SAC0, PCI_Config, 0x00, 0xFF)
                Field (SAC0, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x48), 
                    BSNO,   8, 
                    SBNO,   8, 
                    Offset (0x70), 
                    MAR0,   8, 
                    MAR1,   8, 
                    MAR2,   8, 
                    MAR3,   8, 
                    MAR4,   8, 
                    MAR5,   8, 
                    MAR6,   8, 
                    Offset (0x80), 
                    VGAF,   8, 
                    Offset (0x84), 
                    PCIS,   8, 
                    Offset (0x8C), 
                    IOR,    8
                }
            }

            Device (PXB0)
            {
                Name (_ADR, 0x00100001)
                OperationRegion (PXB0, PCI_Config, 0x00, 0xFF)
                Field (PXB0, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x46), 
                    HFMA,   1, 
                    SEBP,   1, 
                    SITO,   1, 
                    PDPE,   1, 
                    SAPE,   1, 
                    SRPE,   1, 
                    SOPE,   1
                }
            }

            Device (SACA)
            {
                Name (_ADR, 0x00120000)
                OperationRegion (SACA, PCI_Config, 0x00, 0xFF)
                Field (SACA, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x48), 
                    BSNO,   8, 
                    SBNO,   8, 
                    Offset (0x80), 
                    VGAF,   8, 
                    Offset (0x84), 
                    PCIS,   8, 
                    Offset (0x8C), 
                    IOR,    8
                }
            }

            Device (SACB)
            {
                Name (_ADR, 0x00130000)
                OperationRegion (SACB, PCI_Config, 0x00, 0xFF)
                Field (SACB, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x48), 
                    BSNO,   8, 
                    SBNO,   8, 
                    Offset (0x80), 
                    VGAF,   8, 
                    Offset (0x84), 
                    PCIS,   8, 
                    Offset (0x8C), 
                    IOR,    8
                }
            }

            Device (SACC)
            {
                Name (_ADR, 0x00140000)
                OperationRegion (SACC, PCI_Config, 0x00, 0xFF)
                Field (SACC, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x48), 
                    BSNO,   8, 
                    SBNO,   8, 
                    Offset (0x80), 
                    VGAF,   8, 
                    Offset (0x84), 
                    PCIS,   8, 
                    Offset (0x8C), 
                    IOR,    8
                }
            }

            Device (SACD)
            {
                Name (_ADR, 0x00150000)
                OperationRegion (SACD, PCI_Config, 0x00, 0xFF)
                Field (SACD, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x48), 
                    BSNO,   8, 
                    SBNO,   8, 
                    Offset (0x80), 
                    VGAF,   8, 
                    Offset (0x84), 
                    PCIS,   8, 
                    Offset (0x8C), 
                    IOR,    8
                }
            }

            Device (SACE)
            {
                Name (_ADR, 0x00160000)
                OperationRegion (SACE, PCI_Config, 0x00, 0xFF)
                Field (SACE, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x48), 
                    BSNO,   8, 
                    SBNO,   8, 
                    Offset (0x80), 
                    VGAF,   8, 
                    Offset (0x84), 
                    PCIS,   8, 
                    Offset (0x8C), 
                    IOR,    8
                }
            }

            Device (SACF)
            {
                Name (_ADR, 0x00170000)
                OperationRegion (SACF, PCI_Config, 0x00, 0xFF)
                Field (SACF, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x48), 
                    BSNO,   8, 
                    SBNO,   8, 
                    Offset (0x80), 
                    VGAF,   8, 
                    Offset (0x84), 
                    PCIS,   8, 
                    Offset (0x8C), 
                    IOR,    8
                }
            }
        }

        Method (WSOB, 1, NotSerialized)
        {
            If (LEqual (Arg0, 0x01))
            {
                While (\_SB.PCI1.IHPC.SOBO)
                {
                    Noop
                }
            }

            If (LEqual (Arg0, 0x02))
            {
                While (\_SB.PCI2.IHPC.SOBO)
                {
                    Noop
                }
            }

            If (LEqual (Arg0, 0x03))
            {
                While (\_SB.PCI3.IHPC.SOBO)
                {
                    Noop
                }
            }

            If (LEqual (Arg0, 0x04))
            {
                While (\_SB.PCI4.IHPC.SOBO)
                {
                    Noop
                }
            }

            If (LEqual (Arg0, 0x05))
            {
                While (\_SB.PCI5.IHPC.SOBO)
                {
                    Noop
                }
            }

            If (LEqual (Arg0, 0x06))
            {
                While (\_SB.PCI6.IHPC.SOBO)
                {
                    Noop
                }
            }
        }

        Method (SOGO, 1, NotSerialized)
        {
            If (LEqual (Arg0, 0x01))
            {
                While (\_SB.PCI1.IHPC.SOBO)
                {
                    Noop
                }

                Store (0x01, \_SB.PCI1.IHPC.SOBO)
                While (\_SB.PCI1.IHPC.SOBO)
                {
                    Noop
                }
            }

            If (LEqual (Arg0, 0x02))
            {
                While (\_SB.PCI2.IHPC.SOBO)
                {
                    Noop
                }

                Store (0x01, \_SB.PCI2.IHPC.SOBO)
                While (\_SB.PCI2.IHPC.SOBO)
                {
                    Noop
                }
            }

            If (LEqual (Arg0, 0x03))
            {
                While (\_SB.PCI3.IHPC.SOBO)
                {
                    Noop
                }

                Store (0x01, \_SB.PCI3.IHPC.SOBO)
                While (\_SB.PCI3.IHPC.SOBO)
                {
                    Noop
                }
            }

            If (LEqual (Arg0, 0x04))
            {
                While (\_SB.PCI4.IHPC.SOBO)
                {
                    Noop
                }

                Store (0x01, \_SB.PCI4.IHPC.SOBO)
                While (\_SB.PCI4.IHPC.SOBO)
                {
                    Noop
                }
            }

            If (LEqual (Arg0, 0x05))
            {
                While (\_SB.PCI5.IHPC.SOBO)
                {
                    Noop
                }

                Store (0x01, \_SB.PCI5.IHPC.SOBO)
                While (\_SB.PCI5.IHPC.SOBO)
                {
                    Noop
                }
            }

            If (LEqual (Arg0, 0x06))
            {
                While (\_SB.PCI6.IHPC.SOBO)
                {
                    Noop
                }

                Store (0x01, \_SB.PCI6.IHPC.SOBO)
                While (\_SB.PCI6.IHPC.SOBO)
                {
                    Noop
                }
            }
        }

        Method (SLEN, 2, NotSerialized)
        {
            WSOB (Arg0)
            ShiftLeft (0x01, Arg1, Local1)
            If (LEqual (Arg0, 0x01))
            {
                Store (\_SB.PCI1.IHPC.SENA, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI1.IHPC.SENA)
            }

            If (LEqual (Arg0, 0x02))
            {
                Store (\_SB.PCI2.IHPC.SENA, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI2.IHPC.SENA)
            }

            If (LEqual (Arg0, 0x03))
            {
                Store (\_SB.PCI3.IHPC.SENA, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI3.IHPC.SENA)
            }

            If (LEqual (Arg0, 0x04))
            {
                Store (\_SB.PCI4.IHPC.SENA, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI4.IHPC.SENA)
            }

            If (LEqual (Arg0, 0x05))
            {
                Store (\_SB.PCI5.IHPC.SENA, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI5.IHPC.SENA)
            }

            If (LEqual (Arg0, 0x06))
            {
                Store (\_SB.PCI6.IHPC.SENA, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI6.IHPC.SENA)
            }

            SOGO (Arg0)
        }

        Method (SPEN, 2, NotSerialized)
        {
            WSOB (Arg0)
            ShiftLeft (0x01, Arg1, Local1)
            If (LEqual (Arg0, 0x01))
            {
                Store (\_SB.PCI1.IHPC.SLPE, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI1.IHPC.SLPE)
            }

            If (LEqual (Arg0, 0x02))
            {
                Store (\_SB.PCI2.IHPC.SLPE, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI2.IHPC.SLPE)
            }

            If (LEqual (Arg0, 0x03))
            {
                Store (\_SB.PCI3.IHPC.SLPE, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI3.IHPC.SLPE)
            }

            If (LEqual (Arg0, 0x04))
            {
                Store (\_SB.PCI4.IHPC.SLPE, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI4.IHPC.SLPE)
            }

            If (LEqual (Arg0, 0x05))
            {
                Store (\_SB.PCI5.IHPC.SLPE, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI5.IHPC.SLPE)
            }

            If (LEqual (Arg0, 0x06))
            {
                Store (\_SB.PCI6.IHPC.SLPE, Local0)
                Or (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI6.IHPC.SLPE)
            }

            SOGO (Arg0)
            Sleep (0x01F4)
        }

        Method (SLDI, 2, NotSerialized)
        {
            WSOB (Arg0)
            ShiftLeft (0x01, Arg1, Local1)
            Not (Local1, Local1)
            If (LEqual (Arg0, 0x01))
            {
                Store (\_SB.PCI1.IHPC.SENA, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI1.IHPC.SENA)
            }

            If (LEqual (Arg0, 0x02))
            {
                Store (\_SB.PCI2.IHPC.SENA, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI2.IHPC.SENA)
            }

            If (LEqual (Arg0, 0x03))
            {
                Store (\_SB.PCI3.IHPC.SENA, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI3.IHPC.SENA)
            }

            If (LEqual (Arg0, 0x04))
            {
                Store (\_SB.PCI4.IHPC.SENA, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI4.IHPC.SENA)
            }

            If (LEqual (Arg0, 0x05))
            {
                Store (\_SB.PCI5.IHPC.SENA, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI5.IHPC.SENA)
            }

            If (LEqual (Arg0, 0x06))
            {
                Store (\_SB.PCI6.IHPC.SENA, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI6.IHPC.SENA)
            }

            SOGO (Arg0)
        }

        Method (SPDI, 2, NotSerialized)
        {
            WSOB (Arg0)
            ShiftLeft (0x01, Arg1, Local1)
            Not (Local1, Local1)
            If (LEqual (Arg0, 0x01))
            {
                Store (\_SB.PCI1.IHPC.SLPE, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI1.IHPC.SLPE)
            }

            If (LEqual (Arg0, 0x02))
            {
                Store (\_SB.PCI2.IHPC.SLPE, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI2.IHPC.SLPE)
            }

            If (LEqual (Arg0, 0x03))
            {
                Store (\_SB.PCI3.IHPC.SLPE, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI3.IHPC.SLPE)
            }

            If (LEqual (Arg0, 0x04))
            {
                Store (\_SB.PCI4.IHPC.SLPE, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI4.IHPC.SLPE)
            }

            If (LEqual (Arg0, 0x05))
            {
                Store (\_SB.PCI5.IHPC.SLPE, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI5.IHPC.SLPE)
            }

            If (LEqual (Arg0, 0x06))
            {
                Store (\_SB.PCI6.IHPC.SLPE, Local0)
                And (Local0, Local1, Local0)
                Store (Local0, \_SB.PCI6.IHPC.SLPE)
            }

            SOGO (Arg0)
        }

        Method (GRON, 2, NotSerialized)
        {
            WSOB (Arg0)
            ShiftLeft (0x01, Arg1, Local1)
            If (LEqual (Arg0, 0x01))
            {
                Store (\_SB.PCI1.IHPC.GLSB, Local0)
                Store (\_SB.PCI1.IHPC.GMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI1.IHPC.GLSB)
                Store (Local2, \_SB.PCI1.IHPC.GMSB)
            }

            If (LEqual (Arg0, 0x02))
            {
                Store (\_SB.PCI2.IHPC.GLSB, Local0)
                Store (\_SB.PCI2.IHPC.GMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI2.IHPC.GLSB)
                Store (Local2, \_SB.PCI2.IHPC.GMSB)
            }

            If (LEqual (Arg0, 0x03))
            {
                Store (\_SB.PCI3.IHPC.GLSB, Local0)
                Store (\_SB.PCI3.IHPC.GMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI3.IHPC.GLSB)
                Store (Local2, \_SB.PCI3.IHPC.GMSB)
            }

            If (LEqual (Arg0, 0x04))
            {
                Store (\_SB.PCI4.IHPC.GLSB, Local0)
                Store (\_SB.PCI4.IHPC.GMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI4.IHPC.GLSB)
                Store (Local2, \_SB.PCI4.IHPC.GMSB)
            }

            If (LEqual (Arg0, 0x05))
            {
                Store (\_SB.PCI5.IHPC.GLSB, Local0)
                Store (\_SB.PCI5.IHPC.GMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI5.IHPC.GLSB)
                Store (Local2, \_SB.PCI5.IHPC.GMSB)
            }

            If (LEqual (Arg0, 0x06))
            {
                Store (\_SB.PCI6.IHPC.GLSB, Local0)
                Store (\_SB.PCI6.IHPC.GMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI6.IHPC.GLSB)
                Store (Local2, \_SB.PCI6.IHPC.GMSB)
            }

            SOGO (Arg0)
        }

        Method (GROF, 2, NotSerialized)
        {
            WSOB (Arg0)
            ShiftLeft (0x01, Arg1, Local1)
            Not (Local1, Local1)
            If (LEqual (Arg0, 0x01))
            {
                Store (\_SB.PCI1.IHPC.GLSB, Local0)
                Store (\_SB.PCI1.IHPC.GMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI1.IHPC.GLSB)
                Store (Local2, \_SB.PCI1.IHPC.GMSB)
            }

            If (LEqual (Arg0, 0x02))
            {
                Store (\_SB.PCI2.IHPC.GLSB, Local0)
                Store (\_SB.PCI2.IHPC.GMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI2.IHPC.GLSB)
                Store (Local2, \_SB.PCI2.IHPC.GMSB)
            }

            If (LEqual (Arg0, 0x03))
            {
                Store (\_SB.PCI3.IHPC.GLSB, Local0)
                Store (\_SB.PCI3.IHPC.GMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI3.IHPC.GLSB)
                Store (Local2, \_SB.PCI3.IHPC.GMSB)
            }

            If (LEqual (Arg0, 0x04))
            {
                Store (\_SB.PCI4.IHPC.GLSB, Local0)
                Store (\_SB.PCI4.IHPC.GMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI4.IHPC.GLSB)
                Store (Local2, \_SB.PCI4.IHPC.GMSB)
            }

            If (LEqual (Arg0, 0x05))
            {
                Store (\_SB.PCI5.IHPC.GLSB, Local0)
                Store (\_SB.PCI5.IHPC.GMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI5.IHPC.GLSB)
                Store (Local2, \_SB.PCI5.IHPC.GMSB)
            }

            If (LEqual (Arg0, 0x06))
            {
                Store (\_SB.PCI6.IHPC.GLSB, Local0)
                Store (\_SB.PCI6.IHPC.GMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI6.IHPC.GLSB)
                Store (Local2, \_SB.PCI6.IHPC.GMSB)
            }

            SOGO (Arg0)
        }

        Method (AMOF, 2, NotSerialized)
        {
            WSOB (Arg0)
            ShiftLeft (0x01, Arg1, Local1)
            Not (Local1, Local1)
            If (LEqual (Arg0, 0x01))
            {
                Store (\_SB.PCI1.IHPC.ALSB, Local0)
                Store (\_SB.PCI1.IHPC.AMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI1.IHPC.ALSB)
                Store (Local2, \_SB.PCI1.IHPC.AMSB)
            }

            If (LEqual (Arg0, 0x02))
            {
                Store (\_SB.PCI2.IHPC.ALSB, Local0)
                Store (\_SB.PCI2.IHPC.AMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI2.IHPC.ALSB)
                Store (Local2, \_SB.PCI2.IHPC.AMSB)
            }

            If (LEqual (Arg0, 0x03))
            {
                Store (\_SB.PCI3.IHPC.ALSB, Local0)
                Store (\_SB.PCI3.IHPC.AMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI3.IHPC.ALSB)
                Store (Local2, \_SB.PCI3.IHPC.AMSB)
            }

            If (LEqual (Arg0, 0x04))
            {
                Store (\_SB.PCI4.IHPC.ALSB, Local0)
                Store (\_SB.PCI4.IHPC.AMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI4.IHPC.ALSB)
                Store (Local2, \_SB.PCI4.IHPC.AMSB)
            }

            If (LEqual (Arg0, 0x05))
            {
                Store (\_SB.PCI5.IHPC.ALSB, Local0)
                Store (\_SB.PCI5.IHPC.AMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI5.IHPC.ALSB)
                Store (Local2, \_SB.PCI5.IHPC.AMSB)
            }

            If (LEqual (Arg0, 0x06))
            {
                Store (\_SB.PCI6.IHPC.ALSB, Local0)
                Store (\_SB.PCI6.IHPC.AMSB, Local2)
                And (Local1, Local0, Local0)
                And (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI6.IHPC.ALSB)
                Store (Local2, \_SB.PCI6.IHPC.AMSB)
            }

            SOGO (Arg0)
        }

        Method (AMON, 2, NotSerialized)
        {
            WSOB (Arg0)
            ShiftLeft (0x01, Arg1, Local1)
            If (LEqual (Arg0, 0x01))
            {
                Store (\_SB.PCI1.IHPC.ALSB, Local0)
                Store (\_SB.PCI1.IHPC.AMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI1.IHPC.ALSB)
                Store (Local2, \_SB.PCI1.IHPC.AMSB)
            }

            If (LEqual (Arg0, 0x02))
            {
                Store (\_SB.PCI2.IHPC.ALSB, Local0)
                Store (\_SB.PCI2.IHPC.AMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI2.IHPC.ALSB)
                Store (Local2, \_SB.PCI2.IHPC.AMSB)
            }

            If (LEqual (Arg0, 0x03))
            {
                Store (\_SB.PCI3.IHPC.ALSB, Local0)
                Store (\_SB.PCI3.IHPC.AMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI3.IHPC.ALSB)
                Store (Local2, \_SB.PCI3.IHPC.AMSB)
            }

            If (LEqual (Arg0, 0x04))
            {
                Store (\_SB.PCI4.IHPC.ALSB, Local0)
                Store (\_SB.PCI4.IHPC.AMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI4.IHPC.ALSB)
                Store (Local2, \_SB.PCI4.IHPC.AMSB)
            }

            If (LEqual (Arg0, 0x05))
            {
                Store (\_SB.PCI5.IHPC.ALSB, Local0)
                Store (\_SB.PCI5.IHPC.AMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI5.IHPC.ALSB)
                Store (Local2, \_SB.PCI5.IHPC.AMSB)
            }

            If (LEqual (Arg0, 0x06))
            {
                Store (\_SB.PCI6.IHPC.ALSB, Local0)
                Store (\_SB.PCI6.IHPC.AMSB, Local2)
                Or (Local1, Local0, Local0)
                Or (Local1, Local2, Local2)
                Store (Local0, \_SB.PCI6.IHPC.ALSB)
                Store (Local2, \_SB.PCI6.IHPC.AMSB)
            }

            SOGO (Arg0)
        }

        Method (SLON, 2, NotSerialized)
        {
            SLEN (Arg0, Arg1)
            GRON (Arg0, Arg1)
            AMOF (Arg0, Arg1)
            Sleep (0x03E8)
        }

        Method (SLOF, 2, NotSerialized)
        {
            SLDI (Arg0, Arg1)
            GROF (Arg0, Arg1)
            AMOF (Arg0, Arg1)
            Sleep (0xC8)
        }

        Method (SFSB, 1, NotSerialized)
        {
            Store (0x00, Local0)
            Store (0x01, Local1)
            While (LEqual (And (Arg0, Local1), 0x00))
            {
                ShiftLeft (Local1, 0x01, Local1)
                Increment (Local0)
                If (LGreater (Local0, 0x08))
                {
                    Return (0xFF)
                }
            }

            Return (Local0)
        }

        Method (LFSB, 1, NotSerialized)
        {
            Store (0x00, Local0)
            Store (0x01, Local1)
            While (LEqual (And (Arg0, Local1), 0x00))
            {
                ShiftLeft (Local1, 0x01, Local1)
                Increment (Local0)
                If (LGreater (Local0, 0x08))
                {
                    Return (0xFF)
                }
            }

            Return (Local1)
        }

        Method (FL16, 1, NotSerialized)
        {
            If (LEqual (Arg0, 0x01))
            {
                If (LEqual (\_SB.PCI1.IHPC.GIIP, 0x00))
                {
                    Return (0xFF)
                }
                Else
                {
                    Store (\_SB.PCI1.IHPC.HPSW, Local0)
                    And (0x01, Local0, Local2)
                    Store (0x01, \_SB.PCI1.IHPC.HPSW)
                    If (And (0x01, Local2))
                    {
                        Return (0x00)
                    }
                    Else
                    {
                        Return (0x80)
                    }
                }
            }

            If (LEqual (Arg0, 0x02))
            {
                If (LEqual (\_SB.PCI2.IHPC.GIIP, 0x00))
                {
                    Return (0xFF)
                }
                Else
                {
                    Store (\_SB.PCI2.IHPC.HPSW, Local0)
                    XOr (Local0, \HPS2, Local1)
                    If (LEqual (Local1, 0x00))
                    {
                        Store (0xFF, \_SB.PCI2.IHPC.HPSW)
                        Store (\_SB.PCI2.IHPC.HPSW, \HPS2)
                        Return (0xFF)
                    }

                    Store (SFSB (Local1), Local2)
                    Store (LFSB (Local1), Local3)
                    Store (Local3, \_SB.PCI2.IHPC.HPSW)
                    And (Local0, Local3, Local0)
                    Not (Local3, Local3)
                    And (\HPS2, Local3, \HPS2)
                    Not (Local3, Local3)
                    Or (\HPS2, Local0, \HPS2)
                    If (And (Local3, Local0))
                    {
                        Return (Local2)
                    }
                    Else
                    {
                        Or (Local2, 0x80, Local2)
                        Return (Local2)
                    }
                }
            }

            If (LEqual (Arg0, 0x03))
            {
                If (LEqual (\_SB.PCI3.IHPC.GIIP, 0x00))
                {
                    Return (0xFF)
                }
                Else
                {
                    Store (\_SB.PCI3.IHPC.HPSW, Local0)
                    XOr (Local0, \HPS3, Local1)
                    If (LEqual (Local1, 0x00))
                    {
                        Store (0xFF, \_SB.PCI3.IHPC.HPSW)
                        Store (\_SB.PCI3.IHPC.HPSW, \HPS3)
                        Return (0xFF)
                    }

                    Store (SFSB (Local1), Local2)
                    Store (LFSB (Local1), Local3)
                    Store (Local3, \_SB.PCI3.IHPC.HPSW)
                    And (Local0, Local3, Local0)
                    Not (Local3, Local3)
                    And (\HPS3, Local3, \HPS3)
                    Not (Local3, Local3)
                    Or (\HPS3, Local0, \HPS3)
                    If (And (Local3, Local0))
                    {
                        Return (Local2)
                    }
                    Else
                    {
                        Or (Local2, 0x80, Local2)
                        Return (Local2)
                    }
                }
            }

            If (LEqual (Arg0, 0x04))
            {
                If (LEqual (\_SB.PCI4.IHPC.GIIP, 0x00))
                {
                    Return (0xFF)
                }
                Else
                {
                    Store (\_SB.PCI4.IHPC.HPSW, Local0)
                    And (0x01, Local0, Local2)
                    Store (0x01, \_SB.PCI4.IHPC.HPSW)
                    If (And (0x01, Local2))
                    {
                        Return (0x00)
                    }
                    Else
                    {
                        Return (0x80)
                    }
                }
            }

            If (LEqual (Arg0, 0x05))
            {
                If (LEqual (\_SB.PCI5.IHPC.GIIP, 0x00))
                {
                    Return (0xFF)
                }
                Else
                {
                    Store (\_SB.PCI5.IHPC.HPSW, Local0)
                    And (0x01, Local0, Local2)
                    Store (0x01, \_SB.PCI5.IHPC.HPSW)
                    If (And (0x01, Local2))
                    {
                        Return (0x00)
                    }
                    Else
                    {
                        Return (0x80)
                    }
                }
            }

            If (LEqual (Arg0, 0x06))
            {
                If (LEqual (\_SB.PCI6.IHPC.GIIP, 0x00))
                {
                    Return (0xFF)
                }
                Else
                {
                    Store (\_SB.PCI6.IHPC.HPSW, Local0)
                    And (0x01, Local0, Local2)
                    Store (0x01, \_SB.PCI6.IHPC.HPSW)
                    If (And (0x01, Local2))
                    {
                        Return (0x00)
                    }
                    Else
                    {
                        Return (0x80)
                    }
                }
            }

            Return (0xFF)
        }

        Method (SLNE, 2, NotSerialized)
        {
            If (LEqual (Arg0, 0x01))
            {
                If (LEqual (Arg1, 0x00))
                {
                    Notify (\_SB.PCI1.S0F0, 0x00)
                    Notify (\_SB.PCI1.S0F1, 0x00)
                    Notify (\_SB.PCI1.S0F2, 0x00)
                    Notify (\_SB.PCI1.S0F3, 0x00)
                    Notify (\_SB.PCI1.S0F4, 0x00)
                    Notify (\_SB.PCI1.S0F5, 0x00)
                    Notify (\_SB.PCI1.S0F6, 0x00)
                    Notify (\_SB.PCI1.S0F7, 0x00)
                }
            }

            If (LEqual (Arg0, 0x02))
            {
                If (LEqual (Arg1, 0x00))
                {
                    Notify (\_SB.PCI2.S0F0, 0x00)
                    Notify (\_SB.PCI2.S0F1, 0x00)
                    Notify (\_SB.PCI2.S0F2, 0x00)
                    Notify (\_SB.PCI2.S0F3, 0x00)
                    Notify (\_SB.PCI2.S0F4, 0x00)
                    Notify (\_SB.PCI2.S0F5, 0x00)
                    Notify (\_SB.PCI2.S0F6, 0x00)
                    Notify (\_SB.PCI2.S0F7, 0x00)
                }

                If (LEqual (Arg1, 0x01))
                {
                    Notify (\_SB.PCI2.S1F0, 0x00)
                    Notify (\_SB.PCI2.S1F1, 0x00)
                    Notify (\_SB.PCI2.S1F2, 0x00)
                    Notify (\_SB.PCI2.S1F3, 0x00)
                    Notify (\_SB.PCI2.S1F4, 0x00)
                    Notify (\_SB.PCI2.S1F5, 0x00)
                    Notify (\_SB.PCI2.S1F6, 0x00)
                    Notify (\_SB.PCI2.S1F7, 0x00)
                }
            }

            If (LEqual (Arg0, 0x03))
            {
                If (LEqual (Arg1, 0x00))
                {
                    Notify (\_SB.PCI3.S0F0, 0x00)
                    Notify (\_SB.PCI3.S0F1, 0x00)
                    Notify (\_SB.PCI3.S0F2, 0x00)
                    Notify (\_SB.PCI3.S0F3, 0x00)
                    Notify (\_SB.PCI3.S0F4, 0x00)
                    Notify (\_SB.PCI3.S0F5, 0x00)
                    Notify (\_SB.PCI3.S0F6, 0x00)
                    Notify (\_SB.PCI3.S0F7, 0x00)
                }

                If (LEqual (Arg1, 0x01))
                {
                    Notify (\_SB.PCI3.S1F0, 0x00)
                    Notify (\_SB.PCI3.S1F1, 0x00)
                    Notify (\_SB.PCI3.S1F2, 0x00)
                    Notify (\_SB.PCI3.S1F3, 0x00)
                    Notify (\_SB.PCI3.S1F4, 0x00)
                    Notify (\_SB.PCI3.S1F5, 0x00)
                    Notify (\_SB.PCI3.S1F6, 0x00)
                    Notify (\_SB.PCI3.S1F7, 0x00)
                }
            }

            If (LEqual (Arg0, 0x04))
            {
                If (LEqual (Arg1, 0x00))
                {
                    Notify (\_SB.PCI4.S0F0, 0x00)
                    Notify (\_SB.PCI4.S0F1, 0x00)
                    Notify (\_SB.PCI4.S0F2, 0x00)
                    Notify (\_SB.PCI4.S0F3, 0x00)
                    Notify (\_SB.PCI4.S0F4, 0x00)
                    Notify (\_SB.PCI4.S0F5, 0x00)
                    Notify (\_SB.PCI4.S0F6, 0x00)
                    Notify (\_SB.PCI4.S0F7, 0x00)
                }
            }

            If (LEqual (Arg0, 0x05))
            {
                If (LEqual (Arg1, 0x00))
                {
                    Notify (\_SB.PCI5.S0F0, 0x00)
                    Notify (\_SB.PCI5.S0F1, 0x00)
                    Notify (\_SB.PCI5.S0F2, 0x00)
                    Notify (\_SB.PCI5.S0F3, 0x00)
                    Notify (\_SB.PCI5.S0F4, 0x00)
                    Notify (\_SB.PCI5.S0F5, 0x00)
                    Notify (\_SB.PCI5.S0F6, 0x00)
                    Notify (\_SB.PCI5.S0F7, 0x00)
                }
            }

            If (LEqual (Arg0, 0x06))
            {
                If (LEqual (Arg1, 0x00))
                {
                    Notify (\_SB.PCI6.S0F0, 0x00)
                    Notify (\_SB.PCI6.S0F1, 0x00)
                    Notify (\_SB.PCI6.S0F2, 0x00)
                    Notify (\_SB.PCI6.S0F3, 0x00)
                    Notify (\_SB.PCI6.S0F4, 0x00)
                    Notify (\_SB.PCI6.S0F5, 0x00)
                    Notify (\_SB.PCI6.S0F6, 0x00)
                    Notify (\_SB.PCI6.S0F7, 0x00)
                }
            }
        }

        Method (SLFC, 2, NotSerialized)
        {
            If (LEqual (Arg0, 0x01))
            {
                If (\_SB.PCI1.IHPC.PSEN)
                {
                    ShiftLeft (0x01, Arg1, Local0)
                    SPEN (0x01, Arg1)
                    Store (\_SB.PCI1.IHPC.NIR1, Local1)
                    SPDI (0x01, Arg1)
                    If (And (Local1, Local0))
                    {
                        Return (0x01)
                    }
                    Else
                    {
                        Return (0x00)
                    }
                }
                Else
                {
                    Return (0x01)
                }
            }

            If (LEqual (Arg0, 0x02))
            {
                If (\_SB.PCI2.IHPC.PSEN)
                {
                    ShiftLeft (0x01, Arg1, Local0)
                    SPEN (0x02, Arg1)
                    Store (\_SB.PCI2.IHPC.NIR1, Local1)
                    SPDI (0x02, Arg1)
                    If (And (Local1, Local0))
                    {
                        Return (0x01)
                    }
                    Else
                    {
                        Return (0x00)
                    }
                }
                Else
                {
                    Return (0x01)
                }
            }

            If (LEqual (Arg0, 0x03))
            {
                If (\_SB.PCI3.IHPC.PSEN)
                {
                    ShiftLeft (0x01, Arg1, Local0)
                    SPEN (0x03, Arg1)
                    Store (\_SB.PCI3.IHPC.NIR1, Local1)
                    SPDI (0x03, Arg1)
                    If (And (Local1, Local0))
                    {
                        Return (0x01)
                    }
                    Else
                    {
                        Return (0x00)
                    }
                }
                Else
                {
                    Return (0x01)
                }
            }

            If (LEqual (Arg0, 0x04))
            {
                If (\_SB.PCI4.IHPC.PSEN)
                {
                    ShiftLeft (0x01, Arg1, Local0)
                    SPEN (0x04, Arg1)
                    Store (\_SB.PCI4.IHPC.NIR1, Local1)
                    SPDI (0x04, Arg1)
                    If (And (Local1, Local0))
                    {
                        Return (0x01)
                    }
                    Else
                    {
                        Return (0x00)
                    }
                }
                Else
                {
                    Return (0x01)
                }
            }

            If (LEqual (Arg0, 0x05))
            {
                If (\_SB.PCI5.IHPC.PSEN)
                {
                    ShiftLeft (0x01, Arg1, Local0)
                    SPEN (0x05, Arg1)
                    Store (\_SB.PCI5.IHPC.NIR1, Local1)
                    SPDI (0x05, Arg1)
                    If (And (Local1, Local0))
                    {
                        Return (0x01)
                    }
                    Else
                    {
                        Return (0x00)
                    }
                }
                Else
                {
                    Return (0x01)
                }
            }

            If (LEqual (Arg0, 0x06))
            {
                If (\_SB.PCI6.IHPC.PSEN)
                {
                    ShiftLeft (0x01, Arg1, Local0)
                    SPEN (0x06, Arg1)
                    Store (\_SB.PCI6.IHPC.NIR1, Local1)
                    SPDI (0x06, Arg1)
                    If (And (Local1, Local0))
                    {
                        Return (0x01)
                    }
                    Else
                    {
                        Return (0x00)
                    }
                }
                Else
                {
                    Return (0x01)
                }
            }

            Return (0x01)
        }

        Method (HPPM, 0, NotSerialized)
        {
            If (\_SB.CBN.PXB0.PDPE)
            {
                If (\_SB.CBN.PXB0.SAPE)
                {
                    Return (Package (0x04)
                    {
                        0x10, 
                        0x40, 
                        0x01, 
                        0x01
                    })
                }
                Else
                {
                    Return (Package (0x04)
                    {
                        0x10, 
                        0x40, 
                        0x00, 
                        0x01
                    })
                }
            }
            Else
            {
                If (\_SB.CBN.PXB0.SAPE)
                {
                    Return (Package (0x04)
                    {
                        0x10, 
                        0x40, 
                        0x01, 
                        0x00
                    })
                }
                Else
                {
                    Return (Package (0x04)
                    {
                        0x10, 
                        0x40, 
                        0x00, 
                        0x00
                    })
                }
            }
        }

        Scope (\_GPE)
        {
            Method (_L08, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.USB, 0x02)
            }

            Name (\HPS2, 0x00)
            Name (\HPS3, 0x00)
            Method (_L16, 0, NotSerialized)
            {
                Sleep (0x01F4)
                Store (\_SB.FL16 (0x01), Local0)
                If (LNot (LEqual (Local0, 0xFF)))
                {
                    If (And (Local0, 0x80))
                    {
                        And (Local0, 0x7F, Local1)
                        If (\_SB.SLFC (0x01, Local1))
                        {
                            \_SB.SLON (0x01, Local1)
                            \_SB.SLNE (0x01, Local1)
                        }
                        Else
                        {
                            \_SB.AMON (0x01, Local1)
                        }
                    }

                    If (LEqual (Local0, 0x00))
                    {
                        \_SB.WSOB (0x01)
                        If (And (Not (And (\_SB.PCI1.IHPC.PRS1, \_SB.PCI1.IHPC.PRS2)), 0x01))
                        {
                            Notify (\_SB.PCI1.S0F0, 0x03)
                        }
                        Else
                        {
                            \_SB.SLOF (0x01, 0x00)
                        }
                    }
                }

                Store (\_SB.FL16 (0x02), Local0)
                If (LNot (LEqual (Local0, 0xFF)))
                {
                    If (And (Local0, 0x80))
                    {
                        And (Local0, 0x7F, Local1)
                        If (\_SB.SLFC (0x02, Local1))
                        {
                            \_SB.SLON (0x02, Local1)
                            \_SB.SLNE (0x02, Local1)
                        }
                        Else
                        {
                            \_SB.AMON (0x02, Local1)
                        }
                    }

                    If (LEqual (Local0, 0x00))
                    {
                        \_SB.WSOB (0x02)
                        If (And (Not (And (\_SB.PCI2.IHPC.PRS1, \_SB.PCI2.IHPC.PRS2)), 0x01))
                        {
                            Notify (\_SB.PCI2.S0F0, 0x03)
                        }
                        Else
                        {
                            \_SB.SLOF (0x02, 0x00)
                        }
                    }

                    If (LEqual (Local0, 0x01))
                    {
                        \_SB.WSOB (0x02)
                        If (And (Not (And (\_SB.PCI2.IHPC.PRS1, \_SB.PCI2.IHPC.PRS2)), 0x02))
                        {
                            Notify (\_SB.PCI2.S1F0, 0x03)
                        }
                        Else
                        {
                            \_SB.SLOF (0x02, 0x01)
                        }
                    }
                }

                Store (\_SB.FL16 (0x03), Local0)
                If (LNot (LEqual (Local0, 0xFF)))
                {
                    If (And (Local0, 0x80))
                    {
                        And (Local0, 0x7F, Local1)
                        If (\_SB.SLFC (0x03, Local1))
                        {
                            \_SB.SLON (0x03, Local1)
                            \_SB.SLNE (0x03, Local1)
                        }
                        Else
                        {
                            \_SB.AMON (0x03, Local1)
                        }
                    }

                    If (LEqual (Local0, 0x00))
                    {
                        \_SB.WSOB (0x03)
                        If (And (Not (And (\_SB.PCI3.IHPC.PRS1, \_SB.PCI3.IHPC.PRS2)), 0x01))
                        {
                            Notify (\_SB.PCI3.S0F0, 0x03)
                        }
                        Else
                        {
                            \_SB.SLOF (0x03, 0x00)
                        }
                    }

                    If (LEqual (Local0, 0x01))
                    {
                        \_SB.WSOB (0x03)
                        If (And (Not (And (\_SB.PCI3.IHPC.PRS1, \_SB.PCI3.IHPC.PRS2)), 0x02))
                        {
                            Notify (\_SB.PCI3.S1F0, 0x03)
                        }
                        Else
                        {
                            \_SB.SLOF (0x03, 0x01)
                        }
                    }
                }

                Store (\_SB.FL16 (0x04), Local0)
                If (LNot (LEqual (Local0, 0xFF)))
                {
                    If (And (Local0, 0x80))
                    {
                        And (Local0, 0x7F, Local1)
                        If (\_SB.SLFC (0x04, Local1))
                        {
                            \_SB.SLON (0x04, Local1)
                            \_SB.SLNE (0x04, Local1)
                        }
                        Else
                        {
                            \_SB.AMON (0x04, Local1)
                        }
                    }

                    If (LEqual (Local0, 0x00))
                    {
                        \_SB.WSOB (0x04)
                        If (And (Not (And (\_SB.PCI4.IHPC.PRS1, \_SB.PCI4.IHPC.PRS2)), 0x01))
                        {
                            Notify (\_SB.PCI4.S0F0, 0x03)
                        }
                        Else
                        {
                            \_SB.SLOF (0x04, 0x00)
                        }
                    }
                }

                Store (\_SB.FL16 (0x05), Local0)
                If (LNot (LEqual (Local0, 0xFF)))
                {
                    If (And (Local0, 0x80))
                    {
                        And (Local0, 0x7F, Local1)
                        If (\_SB.SLFC (0x05, Local1))
                        {
                            \_SB.SLON (0x05, Local1)
                            \_SB.SLNE (0x05, Local1)
                        }
                        Else
                        {
                            \_SB.AMON (0x05, Local1)
                        }
                    }

                    If (LEqual (Local0, 0x00))
                    {
                        \_SB.WSOB (0x05)
                        If (And (Not (And (\_SB.PCI5.IHPC.PRS1, \_SB.PCI5.IHPC.PRS2)), 0x01))
                        {
                            Notify (\_SB.PCI5.S0F0, 0x03)
                        }
                        Else
                        {
                            \_SB.SLOF (0x05, 0x00)
                        }
                    }
                }

                Store (\_SB.FL16 (0x06), Local0)
                If (LNot (LEqual (Local0, 0xFF)))
                {
                    If (And (Local0, 0x80))
                    {
                        And (Local0, 0x7F, Local1)
                        If (\_SB.SLFC (0x06, Local1))
                        {
                            \_SB.SLON (0x06, Local1)
                            \_SB.SLNE (0x06, Local1)
                        }
                        Else
                        {
                            \_SB.AMON (0x06, Local1)
                        }
                    }

                    If (LEqual (Local0, 0x00))
                    {
                        \_SB.WSOB (0x06)
                        If (And (Not (And (\_SB.PCI6.IHPC.PRS1, \_SB.PCI6.IHPC.PRS2)), 0x01))
                        {
                            Notify (\_SB.PCI6.S0F0, 0x03)
                        }
                        Else
                        {
                            \_SB.SLOF (0x06, 0x00)
                        }
                    }
                }
            }
        }
    }

    Scope (\_SI)
    {
    }

    Method (\_PTS, 1, NotSerialized)
    {
        Store (Arg0, DBG8)
        If (LEqual (Arg0, 0x01))
        {
            Store (0x03, \_SB.PCI0.USB.USBW)
        }

        Store (Arg0, \_SB.PCI0.APMD)
    }

    Method (\_WAK, 1, NotSerialized)
    {
        ShiftLeft (Arg0, 0x04, DBG8)
        Store (0x00, \_SB.PCI0.USB.USBW)
    }

    OperationRegion (TEMP, SystemIO, 0x80, 0x01)
    Field (TEMP, ByteAcc, NoLock, Preserve)
    {
        DBG8,   8
    }
}

