public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* Problem fixing DSDT (parse error)
@ 2004-11-30 11:50 mrfree-97W46K3QqA41GQ1Ptb7lUw
       [not found] ` <web-25326080-97W46K3QqA41GQ1Ptb7lUw@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: mrfree-97W46K3QqA41GQ1Ptb7lUw @ 2004-11-30 11:50 UTC (permalink / raw)
  To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

Hi all,
I've already fixed some other dsdt some month ago using 
DSDT-Howto from acpi.sf.net site.
But now I need to fix this parse error:

dsdt.dsl.orig  3081:     If (SS1)
Error    1037 -           ^ parse error

This is the dsdt part (a block code before and one after 
If (SS1) ):
[...]
Scope (\_SB)

     {

         Scope (PCI0)

         {

             Name (CRS, ResourceTemplate ()

             {

                 WordBusNumber (ResourceProducer, 
MinFixed, MaxFixed, PosDecode,

                     0x0000,

                     0x0000,

                     0x00FF,

                     0x0000,

                     0x0100)

                 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,

                     0xFFFF,

                     0x0000,

                     0xF300)

                 DWordMemory (ResourceProducer, PosDecode, 
MinFixed, MaxFixed, Cacheable, ReadWrite,

                     0x00000000,

                     0x000A0000,

                     0x000BFFFF,

                     0x00000000,

                     0x00020000)

                 DWordMemory (ResourceProducer, PosDecode, 
MinFixed, MaxFixed, Cacheable, ReadWrite,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000)

                 DWordMemory (ResourceProducer, PosDecode, 
MinFixed, MaxFixed, Cacheable, ReadWrite,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000)

             })

             CreateDWordField (CRS, 0x5C, MIN5)

             CreateDWordField (CRS, 0x60, MAX5)

             CreateDWordField (CRS, 0x68, LEN5)

             CreateDWordField (CRS, 0x76, MIN6)

             CreateDWordField (CRS, 0x7A, MAX6)

             CreateDWordField (CRS, 0x82, LEN6)

             Method (_CRS, 0, NotSerialized)

             {

                 Store (MG1B, MIN5)

                 Store (MG1L, LEN5)

                 Store (MG1L, Local0)

                 If (Local0)

                 {

                     Add (MIN5, Decrement (Local0), MAX5)

                 }



                 Store (MG2B, MIN6)

                 Store (MG2L, LEN6)

                 Store (MG2L, Local0)

                 Add (MIN6, Decrement (Local0), MAX6)

                 Return (CRS)

             }

         }

     }



     If (SS1)

     {

         Name (\_SB.PCI0._S1D, 0x02)

         Name (\_SB.PCI0.P0P2._S1D, 0x02)

         Name (\_SB.PCI0.USB1._S1D, 0x02)

         Name (\_SB.PCI0.USB2._S1D, 0x02)

         Name (\_SB.PCI0.USB3._S1D, 0x02)

     }



     If (SS3)

     {

         Name (\_SB.PCI0._S3D, 0x02)

         Name (\_SB.PCI0.P0P2._S3D, 0x02)

         Name (\_SB.PCI0.USB1._S3D, 0x02)

         Name (\_SB.PCI0.USB2._S3D, 0x02)

         Name (\_SB.PCI0.USB3._S3D, 0x02)

     }
[...]

Any ideas???

PS: If you want I need to post all code
_______________________________________
Connessione ed e-mail gratuita da 10 mb
consultabile tramite web e tramite pop.
www.infinito.it vieni a scoprire tutti 
i nostri servizi!

http://www.infinito.it/xmail



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Problem fixing DSDT (parse error)
       [not found] ` <web-25326080-97W46K3QqA41GQ1Ptb7lUw@public.gmane.org>
@ 2004-11-30 16:12   ` Thomas Renninger
       [not found]     ` <41AC9BD8.9050604-smMupaH/RwJM7kwft8N7nw@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Renninger @ 2004-11-30 16:12 UTC (permalink / raw)
  To: mrfree-97W46K3QqA41GQ1Ptb7lUw; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

mrfree-97W46K3QqA41GQ1Ptb7lUw@public.gmane.org wrote:
> Hi all,
> I've already fixed some other dsdt some month ago using DSDT-Howto from 
> acpi.sf.net site.
> But now I need to fix this parse error:

As far as I know this is how it should look like, putting the IF 
statements into an _INI method (please correct me if I am wrong):


Scope (\_SB)

{
     Method (_INI, 0, NotSerialized)
     {		
	If (SS1)

	    {

		Name (\_SB.PCI0._S1D, 0x02)
		
		Name (\_SB.PCI0.P0P2._S1D, 0x02)
		
		Name (\_SB.PCI0.USB1._S1D, 0x02)
		
		Name (\_SB.PCI0.USB2._S1D, 0x02)
		
		Name (\_SB.PCI0.USB3._S1D, 0x02)
		
	    }

	If (SS3)

	    {

		Name (\_SB.PCI0._S3D, 0x02)

		Name (\_SB.PCI0.P0P2._S3D, 0x02)
		
		Name (\_SB.PCI0.USB1._S3D, 0x02)
		
		Name (\_SB.PCI0.USB2._S3D, 0x02)
		
		Name (\_SB.PCI0.USB3._S3D, 0x02)

	     }
     }	

     Scope (PCI0)
	
         {

             Name (CRS, ResourceTemplate ()

             {

                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, 
PosDecode,

                     0x0000,

                     0x0000,

                     0x00FF,

                     0x0000,

                     0x0100)

                 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,

                     0xFFFF,

                     0x0000,

                     0xF300)

                 DWordMemory (ResourceProducer, PosDecode, MinFixed, 
MaxFixed, Cacheable, ReadWrite,

                     0x00000000,

                     0x000A0000,

                     0x000BFFFF,

                     0x00000000,

                     0x00020000)

                 DWordMemory (ResourceProducer, PosDecode, MinFixed, 
MaxFixed, Cacheable, ReadWrite,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000)

                 DWordMemory (ResourceProducer, PosDecode, MinFixed, 
MaxFixed, Cacheable, ReadWrite,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000)

             })

             CreateDWordField (CRS, 0x5C, MIN5)

             CreateDWordField (CRS, 0x60, MAX5)

             CreateDWordField (CRS, 0x68, LEN5)

             CreateDWordField (CRS, 0x76, MIN6)

             CreateDWordField (CRS, 0x7A, MAX6)

             CreateDWordField (CRS, 0x82, LEN6)

             Method (_CRS, 0, NotSerialized)

             {

                 Store (MG1B, MIN5)

                 Store (MG1L, LEN5)

                 Store (MG1L, Local0)

                 If (Local0)

                 {

                     Add (MIN5, Decrement (Local0), MAX5)

                 }



                 Store (MG2B, MIN6)

                 Store (MG2L, LEN6)

                 Store (MG2L, Local0)

                 Add (MIN6, Decrement (Local0), MAX6)

                 Return (CRS)

             }

         }

     }


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Problem fixing DSDT (parse error)
@ 2004-12-01  8:53 mrfree-97W46K3QqA41GQ1Ptb7lUw
  0 siblings, 0 replies; 4+ messages in thread
From: mrfree-97W46K3QqA41GQ1Ptb7lUw @ 2004-12-01  8:53 UTC (permalink / raw)
  To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Tue, 30 Nov 2004 17:12:08 +0100
  Thomas Renninger <mail-smMupaH/RwJM7kwft8N7nw@public.gmane.org> wrote:

> As far as I know this is how it should look like, 
>putting the IF statements into an _INI method (please 
>correct me if I am wrong):
> 

Thz,
I've tryed your solution... when I've recompiled the dsl 
file, iasl reported a parse error on another IF statement 
and I've applyed the same solution to it; but now I obtain 
a large number of error:
dsdt.dsl.mrfree  2468: 
                                    Store (0x1F, P378)
Warning  2079 -                             Statement is 
unreachable ^

dsdt.dsl.mrfree  2473: 
                                    Store (0x0F, P378)
Warning  2079 -                             Statement is 
unreachable ^

dsdt.dsl.mrfree  2615:                 Scope (\_SB.PCI0)
Warning  2031 -               Internal compiler error ^ 
 (Not using optimized name - did not find node)

dsdt.dsl.mrfree  3014:     Method (_INI, 0, NotSerialized)
Error    1034 -                       ^ Name already 
exists in scope (_INI)

dsdt.dsl.mrfree  3041:         Scope (PCI0)
Error    1020 -                          ^ Object not 
found or not accessible from scope (PCI0)

dsdt.dsl.mrfree  3041:         Scope (PCI0)
Error    1081 -                          ^ Forward 
references from Scope() not allowed (PCI0)

dsdt.dsl.mrfree  3043:             Name (CRS, 
ResourceTemplate ()
Error    1021 -                            ^ Object not 
accessible from this scope (CRS_)

And so on...

This is my ORIGINAL dsdt file (without any patch):

/*

  * Intel ACPI Component Architecture

  * AML Disassembler version 20040527

  *

  * Disassembly of dsdt.dat, Thu Nov 11 19:51:36 2004

  */

DefinitionBlock ("DSDT.aml", "DSDT", 1, "UW____", 
"FSC_____", 22)

{

     OperationRegion (BIOS, SystemMemory, 0x1FFDF064, 
0xFF)

     Field (BIOS, ByteAcc, NoLock, Preserve)

     {

         SS1,    1,

         SS2,    1,

         SS3,    1,

         SS4,    1,

         Offset (0x01),

         IOST,   16,

         TOPM,   32,

         ROMS,   32,

         MG1B,   32,

         MG1L,   32,

         MG2B,   32,

         MG2L,   32

     }



     Name (IO1B, 0x0680)

     Name (IO1L, 0x80)

     Name (PMBS, 0x0400)

     Name (PMLN, 0x80)

     Name (GPBS, 0x0500)

     Name (GPLN, 0x40)

     Name (SMBS, 0x0540)

     Name (SMBL, 0x10)

     Name (SPIO, 0x4E)

     Name (APCB, 0xFEC00000)

     Name (APCL, 0x1000)

     Method (RRIO, 4, NotSerialized)

     {

         Store ("RRIO", Debug)

     }



     Method (RDMA, 3, NotSerialized)

     {

         Store ("rDMA", Debug)

     }



     Name (PICM, 0x00)

     Method (_PIC, 1, NotSerialized)

     {

         If (Arg0)

         {

             Store (0xAA, DBG8)

         }

         Else

         {

             Store (0xAC, DBG8)

         }



         Store (Arg0, PICM)

     }



     Name (OSVR, Ones)

     Method (OSFL, 0, NotSerialized)

     {

         If (LNot (LEqual (OSVR, Ones)))

         {

             Return (OSVR)

         }



         If (LEqual (PICM, 0x00))

         {

             Store (0xAC, DBG8)

         }



         Store (0x01, OSVR)

         If (MCTH (\_OS, "Microsoft Windows NT"))

         {

             If (LEqual (OSVR, 0x01))

             {

                 If (CondRefOf (_OSI, Local0))

                 {

                     If (\_OSI ("Windows 2001"))

                     {

                         Store (0x04, OSVR)

                     }

                 }

                 Else

                 {

                     Store (0x00, OSVR)

                 }

             }

         }

         Else

         {

             If (MCTH (\_OS, "Microsoft WindowsME: 
Millennium Edition"))

             {

                 Store (0x02, OSVR)

             }

         }



         Return (OSVR)

     }



     Method (MCTH, 2, NotSerialized)

     {

         If (LLess (SizeOf (Arg0), SizeOf (Arg1)))

         {

             Return (Zero)

         }



         Add (SizeOf (Arg0), 0x01, Local0)

         Name (BUF0, Buffer (Local0) {})

         Name (BUF1, Buffer (Local0) {})

         Store (Arg0, BUF0)

         Store (Arg1, BUF1)

         While (Local0)

         {

             Decrement (Local0)

             If (LNot (LEqual (DerefOf (Index (BUF0, 
Local0)), DerefOf (Index (BUF1, Local0)))))

             {

                 Return (Zero)

             }

         }



         Return (One)

     }



     Method (GPRW, 2, NotSerialized)

     {

         Name (PRWP, Package (0x02)

         {

             0x00,

             0x00

         })

         Store (Arg0, Index (PRWP, 0x00))

         Store (Arg1, Index (PRWP, 0x01))

         Store (0x00, Local0)

         Or (Local0, ShiftLeft (SS1, 0x01), Local0)

         Or (Local0, ShiftLeft (SS2, 0x02), Local0)

         Or (Local0, ShiftLeft (SS3, 0x03), Local0)

         Or (Local0, ShiftLeft (SS4, 0x04), Local0)

         If (And (ShiftLeft (0x01, Arg1), Local0)) {}

         Else

         {

             ShiftRight (Local0, 0x01, Local0)

             If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL 
(), 0x02)))

             {

                 FindSetLeftBit (Local0, Index (PRWP, 
0x01))

             }

             Else

             {

                 FindSetRightBit (Local0, Index (PRWP, 
0x01))

             }

         }



         Return (PRWP)

     }



     Name (WAKP, Package (0x02)

     {

         0x00,

         0x00

     })

     OperationRegion (DEB0, SystemIO, 0x0378, 0x01)

     Field (DEB0, ByteAcc, NoLock, Preserve)

     {

         DBG8,   8

     }



     OperationRegion (DEB1, SystemIO, 0x90, 0x02)

     Field (DEB1, WordAcc, NoLock, Preserve)

     {

         DBG9,   16

     }



     Scope (\_PR)

     {

         Processor (CPU1, 0x01, 0x00000100, 0x06) {}

         Processor (CPU2, 0x02, 0x00000100, 0x06) {}

     }



     Scope (\_SB)

     {

         Name (PR00, Package (0x08)

         {

             Package (0x04)

             {

                 0x0001FFFF,

                 0x00,

                 LNKA,

                 0x00

             },



             Package (0x04)

             {

                 0x0001FFFF,

                 0x01,

                 LNKB,

                 0x00

             },



             Package (0x04)

             {

                 0x001FFFFF,

                 0x01,

                 LNKB,

                 0x00

             },



             Package (0x04)

             {

                 0x001FFFFF,

                 0x00,

                 LNKC,

                 0x00

             },



             Package (0x04)

             {

                 0x001DFFFF,

                 0x00,

                 LNKA,

                 0x00

             },



             Package (0x04)

             {

                 0x001DFFFF,

                 0x01,

                 LNKD,

                 0x00

             },



             Package (0x04)

             {

                 0x001DFFFF,

                 0x02,

                 LNKC,

                 0x00

             },



             Package (0x04)

             {

                 0x001DFFFF,

                 0x03,

                 LNKH,

                 0x00

             }

         })

         Name (AR00, Package (0x08)

         {

             Package (0x04)

             {

                 0x0001FFFF,

                 0x00,

                 0x00,

                 0x10

             },



             Package (0x04)

             {

                 0x0001FFFF,

                 0x01,

                 0x00,

                 0x11

             },



             Package (0x04)

             {

                 0x001FFFFF,

                 0x01,

                 0x00,

                 0x11

             },



             Package (0x04)

             {

                 0x001FFFFF,

                 0x00,

                 0x00,

                 0x12

             },



             Package (0x04)

             {

                 0x001DFFFF,

                 0x00,

                 0x00,

                 0x10

             },



             Package (0x04)

             {

                 0x001DFFFF,

                 0x01,

                 0x00,

                 0x13

             },



             Package (0x04)

             {

                 0x001DFFFF,

                 0x02,

                 0x00,

                 0x12

             },



             Package (0x04)

             {

                 0x001DFFFF,

                 0x03,

                 0x00,

                 0x17

             }

         })

         Name (PR02, Package (0x03)

         {

             Package (0x04)

             {

                 0x0003FFFF,

                 0x00,

                 LNKB,

                 0x00

             },



             Package (0x04)

             {

                 0x000CFFFF,

                 0x00,

                 LNKB,

                 0x00

             },



             Package (0x04)

             {

                 0x000AFFFF,

                 0x00,

                 LNKC,

                 0x00

             }

         })

         Name (AR02, Package (0x03)

         {

             Package (0x04)

             {

                 0x0003FFFF,

                 0x00,

                 0x00,

                 0x11

             },



             Package (0x04)

             {

                 0x000CFFFF,

                 0x00,

                 0x00,

                 0x11

             },



             Package (0x04)

             {

                 0x000AFFFF,

                 0x00,

                 0x00,

                 0x12

             }

         })

         Name (PRSA, ResourceTemplate ()

         {

             IRQ (Level, ActiveLow, Shared) 
{3,4,5,6,7,9,10,11,12,14,15}

         })

         Alias (PRSA, PRSB)

         Alias (PRSA, PRSC)

         Alias (PRSA, PRSD)

         Alias (PRSA, PRSE)

         Alias (PRSA, PRSF)

         Alias (PRSA, PRSG)

         Alias (PRSA, PRSH)

         Device (PCI0)

         {

             Name (_HID, EisaId ("PNP0A03"))

             Name (_ADR, 0x00)

             Name (_BBN, 0x00)

             Name (_UID, 0x00)

             Method (_PRT, 0, NotSerialized)

             {

                 If (PICM)

                 {

                     Return (AR00)

                 }



                 Return (PR00)

             }



             Device (P0P2)

             {

                 Name (_ADR, 0x001E0000)

                 Method (_PRW, 0, NotSerialized)

                 {

                     Return (GPRW (0x0B, 0x03))

                 }



                 Method (_PRT, 0, NotSerialized)

                 {

                     If (PICM)

                     {

                         Return (AR02)

                     }



                     Return (PR02)

                 }



                 Device (LAN1)

                 {

                     Name (_ADR, 0x000C0000)

                     Method (_PRW, 0, NotSerialized)

                     {

                         Return (GPRW (0x0B, 0x03))

                     }

                 }

             }



             Device (MC97)

             {

                 Name (_ADR, 0x001F0006)

                 Method (_PRW, 0, NotSerialized)

                 {

                     Return (GPRW (0x05, 0x03))

                 }

             }



             Device (IDE0)

             {

                 Name (_ADR, 0x001F0001)

                 Name (REGF, 0x01)

                 Method (_REG, 2, NotSerialized)

                 {

                     If (LEqual (Arg0, 0x02))

                     {

                         Store (Arg1, REGF)

                     }

                 }



                 OperationRegion (BAR0, PCI_Config, 0x00, 
0x0100)

                 Field (BAR0, DWordAcc, NoLock, Preserve)

                 {

                     Offset (0x40),

                     TIMP,   16,

                     TIMS,   16,

                     STMP,   4,

                     STMS,   4,

                     Offset (0x48),

                     UDMP,   2,

                     UDMS,   2,

                     Offset (0x4A),

                     UDTP,   6,

                     Offset (0x4B),

                     UDTS,   6,

                     Offset (0x54),

                     PCB0,   2,

                     SCB0,   2,

                     PCA0,   2,

                     SCA0,   2,

                         ,   4,

                     FPB0,   2,

                     FSB0,   2

                 }



                 Name (TIM0, Package (0x09)

                 {

                     Package (0x04)

                     {

                         0x78,

                         0xB4,

                         0xF0,

                         0x0384

                     },



                     Package (0x04)

                     {

                         0x23,

                         0x21,

                         0x10,

                         0x00

                     },



                     Package (0x04)

                     {

                         0x0B,

                         0x09,

                         0x04,

                         0x00

                     },



                     Package (0x06)

                     {

                         0x70,

                         0x49,

                         0x36,

                         0x27,

                         0x19,

                         0x0F

                     },



                     Package (0x06)

                     {

                         0x00,

                         0x01,

                         0x02,

                         0x01,

                         0x02,

                         0x01

                     },



                     Package (0x06)

                     {

                         0x00,

                         0x00,

                         0x00,

                         0x01,

                         0x01,

                         0x01

                     },



                     Package (0x06)

                     {

                         0x00,

                         0x00,

                         0x00,

                         0x00,

                         0x00,

                         0x01

                     },



                     Package (0x04)

                     {

                         0x04,

                         0x03,

                         0x02,

                         0x00

                     },



                     Package (0x04)

                     {

                         0x02,

                         0x01,

                         0x00,

                         0x00

                     }

                 })

                 Name (TMD0, Buffer (0x14) {})

                 CreateDWordField (TMD0, 0x00, PIO0)

                 CreateDWordField (TMD0, 0x04, DMA0)

                 CreateDWordField (TMD0, 0x08, PIO1)

                 CreateDWordField (TMD0, 0x0C, DMA1)

                 CreateDWordField (TMD0, 0x10, CHNF)

                 Name (GTIM, 0x00)

                 Name (GSTM, 0x00)

                 Name (GUDM, 0x00)

                 Name (GUDT, 0x00)

                 Name (GCB0, 0x00)

                 Name (GFB0, 0x00)

                 Device (CHN0)

                 {

                     Name (_ADR, 0x00)

                     Method (_GTM, 0, NotSerialized)

                     {

                         Return (GTM (TIMP, STMP, UDMP, 
UDTP, PCB0, FPB0))

                     }



                     Method (_STM, 3, NotSerialized)

                     {

                         Store (Arg0, Debug)

                         Store (Arg0, TMD0)

                         Store (TIMP, GTIM)

                         Store (UDTP, GUDT)

                         If (STM ())

                         {

                             Store (GTIM, TIMP)

                             Store (GSTM, STMP)

                             Store (GUDM, UDMP)

                             Store (GUDT, UDTP)

                             Store (GCB0, PCB0)

                             Store (GFB0, FPB0)

                         }



                         Store (GTF (0x00, Arg1), ATA0)

                         Store (GTF (0x01, Arg2), ATA1)

                     }



                     Device (DRV0)

                     {

                         Name (_ADR, 0x00)

                         Method (_GTF, 0, NotSerialized)

                         {

                             Return (RATA (ATA0))

                         }

                     }



                     Device (DRV1)

                     {

                         Name (_ADR, 0x01)

                         Method (_GTF, 0, NotSerialized)

                         {

                             Return (RATA (ATA1))

                         }

                     }

                 }



                 Device (CHN1)

                 {

                     Name (_ADR, 0x01)

                     Method (_GTM, 0, NotSerialized)

                     {

                         Return (GTM (TIMS, STMS, UDMS, 
UDTS, SCB0, FSB0))

                     }



                     Method (_STM, 3, NotSerialized)

                     {

                         Store (Arg0, Debug)

                         Store (Arg0, TMD0)

                         Store (TIMS, GTIM)

                         Store (UDTS, GUDT)

                         If (STM ())

                         {

                             Store (GTIM, TIMS)

                             Store (GSTM, STMS)

                             Store (GUDM, UDMS)

                             Store (GUDT, UDTS)

                             Store (GCB0, SCB0)

                             Store (GFB0, FSB0)

                         }



                         Store (GTF (0x00, Arg1), ATA2)

                         Store (GTF (0x01, Arg2), ATA3)

                     }



                     Device (DRV0)

                     {

                         Name (_ADR, 0x00)

                         Method (_GTF, 0, NotSerialized)

                         {

                             Return (RATA (ATA2))

                         }

                     }



                     Device (DRV1)

                     {

                         Name (_ADR, 0x01)

                         Method (_GTF, 0, NotSerialized)

                         {

                             Return (RATA (ATA3))

                         }

                     }

                 }



                 Method (GTM, 6, Serialized)

                 {

                     Store (Ones, PIO0)

                     Store (PIO0, PIO1)

                     Store (PIO0, DMA0)

                     Store (PIO0, DMA1)

                     Store (Zero, CHNF)

                     If (REGF) {}

                     Else

                     {

                         Return (TMD0)

                     }



                     If (And (Arg0, 0x02))

                     {

                         Or (CHNF, 0x02, CHNF)

                     }



                     ShiftRight (And (Arg0, 0x3300), 0x08, 
Local5)

                     Store (Match (DerefOf (Index (TIM0, 
0x01)), MLE, Local5, MTR, 0x00, 0x00), Local6)

                     Store (DerefOf (Index (DerefOf (Index 
(TIM0, 0x00)), Local6)), Local7)

                     Store (Local7, DMA0)

                     If (And (Arg0, 0x08))

                     {

                         Store (0x0384, PIO0)

                     }

                     Else

                     {

                         Store (Local7, PIO0)

                     }



                     If (And (Arg0, 0x20))

                     {

                         Or (CHNF, 0x08, CHNF)

                     }



                     If (And (Arg0, 0x4000))

                     {

                         Or (CHNF, 0x10, CHNF)

                         Store (Match (DerefOf (Index 
(TIM0, 0x02)), MLE, Arg1, MTR, 0x00, 0x00), Local5)

                         Store (DerefOf (Index (DerefOf 
(Index (TIM0, 0x00)), Local5)), Local6)

                         Store (Local6, DMA1)

                         If (And (Arg0, 0x80))

                         {

                             Store (0x0384, PIO1)

                         }

                         Else

                         {

                             Store (Local6, PIO1)

                         }

                     }



                     If (And (Arg2, 0x01))

                     {

                         And (Arg3, 0x03, Local5)

                         If (LAnd (And (Arg5, 0x01), 
LEqual (Local5, 0x01)))

                         {

                             Add (Local5, 0x04, Local5)

                         }

                         Else

                         {

                             If (And (Arg4, 0x01))

                             {

                                 Add (Local5, 0x02, 
Local5)

                             }

                         }



                         Store (DerefOf (Index (DerefOf 
(Index (TIM0, 0x03)), Local5)), DMA0)

                         Or (CHNF, 0x01, CHNF)

                     }



                     If (And (Arg2, 0x02))

                     {

                         And (ShiftRight (Arg3, 0x04), 
0x03, Local5)

                         If (LAnd (And (Arg5, 0x02), 
LEqual (Local5, 0x01)))

                         {

                             Add (Local5, 0x04, Local5)

                         }

                         Else

                         {

                             If (And (Arg4, 0x02))

                             {

                                 Add (Local5, 0x02, 
Local5)

                             }

                         }



                         Store (DerefOf (Index (DerefOf 
(Index (TIM0, 0x03)), Local5)), DMA1)

                         Or (CHNF, 0x04, CHNF)

                     }



                     Store (TMD0, Debug)

                     Return (TMD0)

                 }



                 Method (STM, 0, Serialized)

                 {

                     If (REGF) {}

                     Else

                     {

                         Return (0x00)

                     }



                     And (GTIM, 0x8044, GTIM)

                     Store (0x00, GSTM)

                     Store (0x00, GUDM)

                     Store (0x00, GCB0)

                     And (GUDT, 0xCC, GUDT)

                     Store (0x00, GFB0)

                     If (And (CHNF, 0x01))

                     {

                         Store (Match (DerefOf (Index 
(TIM0, 0x03)), MLE, DMA0, MTR, 0x00, 0x00), Local0)

                         If (LGreater (Local0, 0x05))

                         {

                             Store (0x05, Local0)

                         }



                         Or (GUDT, DerefOf (Index (DerefOf 
(Index (TIM0, 0x04)), Local0)), GUDT)

                         Or (GCB0, DerefOf (Index (DerefOf 
(Index (TIM0, 0x05)), Local0)), GCB0)

                         Or (GFB0, DerefOf (Index (DerefOf 
(Index (TIM0, 0x06)), Local0)), GFB0)

                         Or (GUDM, 0x01, GUDM)

                     }

                     Else

                     {

                         If (Or (LEqual (PIO0, Ones), 
LEqual (PIO0, 0x00)))

                         {

                             If (And (LLess (DMA0, Ones), 
LGreater (DMA0, 0x00)))

                             {

                                 Store (DMA0, PIO0)

                                 Or (GTIM, 0x08, GTIM)

                             }

                         }

                     }



                     If (And (CHNF, 0x04))

                     {

                         Store (Match (DerefOf (Index 
(TIM0, 0x03)), MLE, DMA1, MTR, 0x00, 0x00), Local0)

                         If (LGreater (Local0, 0x05))

                         {

                             Store (0x05, Local0)

                         }



                         Or (GUDT, ShiftLeft (DerefOf 
(Index (DerefOf (Index (TIM0, 0x04)), Local0)), 0x04), 
GUDT)

                         Or (GCB0, ShiftLeft (DerefOf 
(Index (DerefOf (Index (TIM0, 0x05)), Local0)), 0x01), 
GCB0)

                         Or (GFB0, ShiftLeft (DerefOf 
(Index (DerefOf (Index (TIM0, 0x06)), Local0)), 0x01), 
GFB0)

                         Or (GUDM, 0x02, GUDM)

                     }

                     Else

                     {

                         If (Or (LEqual (PIO1, Ones), 
LEqual (PIO1, 0x00)))

                         {

                             If (And (LLess (DMA1, Ones), 
LGreater (DMA1, 0x00)))

                             {

                                 Store (DMA1, PIO1)

                                 Or (GTIM, 0x80, GTIM)

                             }

                         }

                     }



                     If (And (CHNF, 0x02))

                     {

                         Or (GTIM, 0x03, GTIM)

                     }



                     If (And (CHNF, 0x08))

                     {

                         Or (GTIM, 0x30, GTIM)

                     }



                     And (Match (DerefOf (Index (TIM0, 
0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x03, Local0)

                     Store (DerefOf (Index (DerefOf (Index 
(TIM0, 0x01)), Local0)), Local1)

                     ShiftLeft (Local1, 0x08, Local2)

                     Or (GTIM, Local2, GTIM)

                     If (And (CHNF, 0x10))

                     {

                         Or (GTIM, 0x4000, GTIM)

                         And (Match (DerefOf (Index (TIM0, 
0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x03, Local0)

                         Store (DerefOf (Index (DerefOf 
(Index (TIM0, 0x02)), Local0)), GSTM)

                     }



                     Return (0x01)

                 }



                 Name (AT01, Buffer (0x07)

                 {

                     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 
0xEF

                 })

                 Name (AT02, Buffer (0x07)

                 {

                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x90

                 })

                 Name (AT03, Buffer (0x07)

                 {

                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0xC6

                 })

                 Name (AT04, Buffer (0x07)

                 {

                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x91

                 })

                 Name (ATA0, Buffer (0x1D) {})

                 Name (ATA1, Buffer (0x1D) {})

                 Name (ATA2, Buffer (0x1D) {})

                 Name (ATA3, Buffer (0x1D) {})

                 Name (ATAB, Buffer (0x1D) {})

                 CreateByteField (ATAB, 0x00, CMDC)

                 Method (GTFB, 3, Serialized)

                 {

                     Multiply (CMDC, 0x38, Local0)

                     Add (Local0, 0x08, Local1)

                     CreateField (ATAB, Local1, 0x38, 
CMDX)

                     Multiply (CMDC, 0x07, Local0)

                     CreateByteField (ATAB, Add (Local0, 
0x02), A001)

                     CreateByteField (ATAB, Add (Local0, 
0x06), A005)

                     Store (Arg0, CMDX)

                     Store (Arg1, A001)

                     Store (Arg2, A005)

                     Increment (CMDC)

                 }



                 Method (GTF, 2, Serialized)

                 {

                     Store (Arg1, Debug)

                     Store (0x00, CMDC)

                     Name (ID49, 0x0C00)

                     Name (ID59, 0x00)

                     Name (ID53, 0x04)

                     Name (ID63, 0x0F00)

                     Name (ID88, 0x0F00)

                     Name (IRDY, 0x01)

                     Name (PIOT, 0x00)

                     Name (DMAT, 0x00)

                     If (LEqual (SizeOf (Arg1), 0x0200))

                     {

                         CreateWordField (Arg1, 0x62, 
IW49)

                         Store (IW49, ID49)

                         CreateWordField (Arg1, 0x6A, 
IW53)

                         Store (IW53, ID53)

                         CreateWordField (Arg1, 0x7E, 
IW63)

                         Store (IW63, ID63)

                         CreateWordField (Arg1, 0x76, 
IW59)

                         Store (IW59, ID59)

                         CreateWordField (Arg1, 0xB0, 
IW88)

                         Store (IW88, ID88)

                     }



                     Store (0xA0, Local7)

                     If (Arg0)

                     {

                         Store (0xB0, Local7)

                         And (CHNF, 0x08, IRDY)

                         If (And (CHNF, 0x10))

                         {

                             Store (PIO1, PIOT)

                         }

                         Else

                         {

                             Store (PIO0, PIOT)

                         }



                         If (And (CHNF, 0x04))

                         {

                             If (And (CHNF, 0x10))

                             {

                                 Store (DMA1, DMAT)

                             }

                             Else

                             {

                                 Store (DMA0, DMAT)

                             }

                         }

                     }

                     Else

                     {

                         And (CHNF, 0x02, IRDY)

                         Store (PIO0, PIOT)

                         If (And (CHNF, 0x01))

                         {

                             Store (DMA0, DMAT)

                         }

                     }



                     If (LAnd (LAnd (And (ID53, 0x04), And 
(ID88, 0xFF00)), DMAT))

                     {

                         Store (Match (DerefOf (Index 
(TIM0, 0x03)), MLE, DMAT, MTR, 0x00, 0x00), Local1)

                         If (LGreater (Local1, 0x05))

                         {

                             Store (0x05, Local1)

                         }



                         GTFB (AT01, Or (0x40, Local1), 
Local7)

                     }

                     Else

                     {

                         If (LAnd (And (ID63, 0xFF00), 
PIOT))

                         {

                             And (Match (DerefOf (Index 
(TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x03, Local0)

                             Or (0x20, DerefOf (Index 
(DerefOf (Index (TIM0, 0x08)), Local0)), Local1)

                             GTFB (AT01, Local1, Local7)

                         }

                     }



                     If (IRDY)

                     {

                         And (Match (DerefOf (Index (TIM0, 
0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x03, Local0)

                         Or (0x08, DerefOf (Index (DerefOf 
(Index (TIM0, 0x07)), Local0)), Local1)

                         GTFB (AT01, Local1, Local7)

                     }

                     Else

                     {

                         If (And (ID49, 0x0400))

                         {

                             GTFB (AT01, 0x01, Local7)

                         }

                     }



                     If (LAnd (And (ID59, 0x0100), And 
(ID59, 0xFF)))

                     {

                         GTFB (AT03, And (ID59, 0xFF), 
Local7)

                     }



                     Store (ATAB, Debug)

                     Return (ATAB)

                 }



                 Method (RATA, 1, NotSerialized)

                 {

                     CreateByteField (Arg0, 0x00, CMDN)

                     Multiply (CMDN, 0x38, Local0)

                     CreateField (Arg0, 0x08, Local0, 
RETB)

                     Store (RETB, Debug)

                     Return (RETB)

                 }

             }



             Device (USB1)

             {

                 Name (_ADR, 0x001D0000)

                 OperationRegion (BAR0, PCI_Config, 0xC0, 
0x05)

                 Field (BAR0, ByteAcc, NoLock, Preserve)

                 {

                     UBL1,   16,

                     Offset (0x04),

                     USBW,   8

                 }



                 Method (_PSW, 1, NotSerialized)

                 {

                     If (Arg0)

                     {

                         Store (0x03, USBW)

                     }

                     Else

                     {

                         Store (0x00, USBW)

                     }

                 }

             }



             Device (USB2)

             {

                 Name (_ADR, 0x001D0001)

                 OperationRegion (BAR0, PCI_Config, 0xC0, 
0x05)

                 Field (BAR0, ByteAcc, NoLock, Preserve)

                 {

                     UBL1,   16,

                     Offset (0x04),

                     USBW,   8

                 }



                 Method (_PSW, 1, NotSerialized)

                 {

                     If (Arg0)

                     {

                         Store (0x03, USBW)

                     }

                     Else

                     {

                         Store (0x00, USBW)

                     }

                 }

             }



             Device (USB3)

             {

                 Name (_ADR, 0x001D0002)

                 OperationRegion (BAR0, PCI_Config, 0xC0, 
0x05)

                 Field (BAR0, ByteAcc, NoLock, Preserve)

                 {

                     UBL1,   16,

                     Offset (0x04),

                     USBW,   8

                 }



                 Method (_PSW, 1, NotSerialized)

                 {

                     If (Arg0)

                     {

                         Store (0x03, USBW)

                     }

                     Else

                     {

                         Store (0x00, USBW)

                     }

                 }

             }



             Device (SBRG)

             {

                 Name (_ADR, 0x001F0000)

                 Device (PIC)

                 {

                     Name (_HID, EisaId ("PNP0000"))

                     Name (_CRS, ResourceTemplate ()

                     {

                         IO (Decode16, 0x0020, 0x0020, 
0x00, 0x02)

                         IO (Decode16, 0x00A0, 0x00A0, 
0x00, 0x02)

                         IRQNoFlags () {2}

                     })

                 }



                 Device (DMAD)

                 {

                     Name (_HID, EisaId ("PNP0200"))

                     Name (_CRS, ResourceTemplate ()

                     {

                         DMA (Compatibility, BusMaster, 
Transfer8) {4}

                         IO (Decode16, 0x0000, 0x0000, 
0x00, 0x10)

                         IO (Decode16, 0x0081, 0x0081, 
0x00, 0x03)

                         IO (Decode16, 0x0087, 0x0087, 
0x00, 0x01)

                         IO (Decode16, 0x0089, 0x0089, 
0x00, 0x03)

                         IO (Decode16, 0x008F, 0x008F, 
0x00, 0x01)

                         IO (Decode16, 0x00C0, 0x00C0, 
0x00, 0x20)

                     })

                 }



                 Device (TMR)

                 {

                     Name (_HID, EisaId ("PNP0100"))

                     Name (_CRS, ResourceTemplate ()

                     {

                         IO (Decode16, 0x0040, 0x0040, 
0x00, 0x04)

                         IRQNoFlags () {0}

                     })

                 }



                 Device (RTC0)

                 {

                     Name (_HID, EisaId ("PNP0B00"))

                     Name (_CRS, ResourceTemplate ()

                     {

                         IO (Decode16, 0x0070, 0x0070, 
0x00, 0x02)

                         IRQNoFlags () {8}

                     })

                 }



                 Device (SPKR)

                 {

                     Name (_HID, EisaId ("PNP0800"))

                     Name (_CRS, ResourceTemplate ()

                     {

                         IO (Decode16, 0x0061, 0x0061, 
0x00, 0x01)

                     })

                 }



                 Device (COPR)

                 {

                     Name (_HID, EisaId ("PNP0C04"))

                     Name (_CRS, ResourceTemplate ()

                     {

                         IO (Decode16, 0x00F0, 0x00F0, 
0x00, 0x10)

                         IRQNoFlags () {13}

                     })

                 }



                 Device (RMSC)

                 {

                     Name (_HID, EisaId ("PNP0C02"))

                     Name (_UID, 0x10)

                     Name (CRS0, ResourceTemplate ()

                     {

                         IO (Decode16, 0x0010, 0x0010, 
0x00, 0x10)

                         IO (Decode16, 0x0022, 0x0022, 
0x00, 0x1E)

                         IO (Decode16, 0x0044, 0x0044, 
0x00, 0x1C)

                         IO (Decode16, 0x0063, 0x0063, 
0x00, 0x01)

                         IO (Decode16, 0x0065, 0x0065, 
0x00, 0x01)

                         IO (Decode16, 0x0067, 0x0067, 
0x00, 0x09)

                         IO (Decode16, 0x0072, 0x0072, 
0x00, 0x0E)

                         IO (Decode16, 0x0080, 0x0080, 
0x00, 0x01)

                         IO (Decode16, 0x0084, 0x0084, 
0x00, 0x03)

                         IO (Decode16, 0x0088, 0x0088, 
0x00, 0x01)

                         IO (Decode16, 0x008C, 0x008C, 
0x00, 0x03)

                         IO (Decode16, 0x0090, 0x0090, 
0x00, 0x10)

                         IO (Decode16, 0x00A2, 0x00A2, 
0x00, 0x1E)

                         IO (Decode16, 0x00E0, 0x00E0, 
0x00, 0x10)

                         IO (Decode16, 0x04D0, 0x04D0, 
0x00, 0x02)

                         IO (Decode16, 0x0000, 0x0000, 
0x00, 0x00)

                         IO (Decode16, 0x0000, 0x0000, 
0x00, 0x00)

                         Memory32 (ReadOnly, 0xFFE80000, 
0xFFE80000, 0x00000000, 0x00080000)

                         Memory32 (ReadOnly, 0xFFF80000, 
0xFFF80000, 0x00000000, 0x00080000)

                         Memory32 (ReadOnly, 0xFEE00400, 
0xFEE00400, 0x00000000, 0x00DFFC00)

                     })

                     Name (CRS1, ResourceTemplate ()

                     {

                         IO (Decode16, 0x0010, 0x0010, 
0x00, 0x10)

                         IO (Decode16, 0x0022, 0x0022, 
0x00, 0x1E)

                         IO (Decode16, 0x0044, 0x0044, 
0x00, 0x1C)

                         IO (Decode16, 0x0063, 0x0063, 
0x00, 0x01)

                         IO (Decode16, 0x0065, 0x0065, 
0x00, 0x01)

                         IO (Decode16, 0x0067, 0x0067, 
0x00, 0x09)

                         IO (Decode16, 0x0072, 0x0072, 
0x00, 0x0E)

                         IO (Decode16, 0x0080, 0x0080, 
0x00, 0x01)

                         IO (Decode16, 0x0084, 0x0084, 
0x00, 0x03)

                         IO (Decode16, 0x0088, 0x0088, 
0x00, 0x01)

                         IO (Decode16, 0x008C, 0x008C, 
0x00, 0x03)

                         IO (Decode16, 0x0090, 0x0090, 
0x00, 0x10)

                         IO (Decode16, 0x00A2, 0x00A2, 
0x00, 0x1E)

                         IO (Decode16, 0x00E0, 0x00E0, 
0x00, 0x10)

                         IO (Decode16, 0x04D0, 0x04D0, 
0x00, 0x02)

                         IO (Decode16, 0x0000, 0x0000, 
0x00, 0x00)

                         IO (Decode16, 0x0000, 0x0000, 
0x00, 0x00)

                     })

                     Method (_CRS, 0, NotSerialized)

                     {

                         If (LEqual (OSFL (), 0x00))

                         {

                             CreateWordField (CRS1, 0x7A, 
GP00)

                             CreateWordField (CRS1, 0x7C, 
GP01)

                             CreateByteField (CRS1, 0x7F, 
GP0L)

                             Store (PMBS, GP00)

                             Store (PMBS, GP01)

                             Store (PMLN, GP0L)

                         }

                         Else

                         {

                             CreateWordField (CRS0, 0x7A, 
GPX0)

                             CreateWordField (CRS0, 0x7C, 
GPX1)

                             CreateByteField (CRS0, 0x7F, 
GPXL)

                             Store (PMBS, GPX0)

                             Store (PMBS, GPX1)

                             Store (PMLN, GPXL)

                         }



                         If (GPBS)

                         {

                             If (LEqual (OSFL (), 0x00))

                             {

                                 CreateWordField (CRS1, 
0x82, GP20)

                                 CreateWordField (CRS1, 
0x84, GP21)

                                 CreateByteField (CRS1, 
0x87, GP2L)

                                 Store (GPBS, GP20)

                                 Store (GPBS, GP21)

                                 Store (GPLN, GP2L)

                             }

                             Else

                             {

                                 CreateWordField (CRS0, 
0x82, GX20)

                                 CreateWordField (CRS0, 
0x84, GX21)

                                 CreateByteField (CRS0, 
0x87, GX2L)

                                 Store (GPBS, GX20)

                                 Store (GPBS, GX21)

                                 Store (GPLN, GX2L)

                             }

                         }



                         If (LEqual (OSFL (), 0x00))

                         {

                             Return (CRS1)

                         }

                         Else

                         {

                             Return (CRS0)

                         }

                     }

                 }



                 Device (OMSC)

                 {

                     Name (_HID, EisaId ("PNP0C02"))

                     Name (_UID, 0x00)

                     Name (CRS, ResourceTemplate ()

                     {

                         IO (Decode16, 0x1100, 0x1100, 
0x00, 0x40)

                         IO (Decode16, 0x1254, 0x1254, 
0x00, 0x01)

                         IO (Decode16, 0x12D4, 0x12D4, 
0x00, 0x01)

                         IO (Decode16, 0x1300, 0x1300, 
0x00, 0x76)

                         IO (Decode16, 0x1377, 0x1377, 
0x00, 0x09)

                         IO (Decode16, 0x0000, 0x0000, 
0x00, 0x00)

                         Memory32Fixed (ReadOnly, 
0x00000000, 0x00000000)

                         Memory32Fixed (ReadOnly, 
0x00000000, 0x00000000)

                     })

                     Method (_CRS, 0, NotSerialized)

                     {

                         If (APCB)

                         {

                             If (OSFL ()) {}

                             Else

                             {

                                 CreateDWordField (CRS, 
0x38, ML01)

                                 CreateDWordField (CRS, 
0x34, MB01)

                                 CreateDWordField (CRS, 
0x44, ML02)

                                 CreateDWordField (CRS, 
0x40, MB02)

                                 Store (APCB, MB01)

                                 Store (APCL, ML01)

                                 Store (0xFEE00000, MB02)

                                 Store (0x1000, ML02)

                             }

                         }



                         If (OSFL ()) {}

                         Else

                         {

                             CreateWordField (CRS, 0x2A, 
GP40)

                             CreateWordField (CRS, 0x2C, 
GP41)

                             CreateByteField (CRS, 0x2F, 
GP4L)

                             Store (0x1376, GP40)

                             Store (0x1376, GP41)

                             Store (0x01, GP4L)

                         }



                         Return (CRS)

                     }



                     Method (_STA, 0, NotSerialized)

                     {

                         If (OSFL ())

                         {

                             Return (0x0F)

                         }

                         Else

                         {

                             Return (0x00)

                         }

                     }

                 }



                 Device (\_SB.RMEM)

                 {

                     Name (_HID, EisaId ("PNP0C01"))

                     Name (_UID, 0x01)

                     Name (CRS, ResourceTemplate ()

                     {

                         Memory32Fixed (ReadWrite, 
0x00000000, 0x000A0000)

                         Memory32Fixed (ReadOnly, 
0x00000000, 0x00000000)

                         Memory32Fixed (ReadOnly, 
0x000E0000, 0x00020000)

                         Memory32Fixed (ReadWrite, 
0x00100000, 0x00000000)

                         Memory32Fixed (ReadOnly, 
0x00000000, 0x00000000)

                     })

                     Method (_STA, 0, NotSerialized)

                     {

                         If (OSFL ())

                         {

                             Return (0x0F)

                         }

                         Else

                         {

                             Return (0x00)

                         }

                     }



                     Method (_CRS, 0, NotSerialized)

                     {

                         CreateDWordField (CRS, 0x10, 
BAS1)

                         CreateDWordField (CRS, 0x14, 
LEN1)

                         CreateDWordField (CRS, 0x1C, 
BAS2)

                         CreateDWordField (CRS, 0x20, 
LEN2)

                         CreateDWordField (CRS, 0x2C, 
LEN3)

                         CreateDWordField (CRS, 0x34, 
BAS4)

                         CreateDWordField (CRS, 0x38, 
LEN4)

                         If (OSFL ()) {}

                         Else

                         {

                             If (MG1B)

                             {

                                 If (LGreater (MG1B, 
0x000C0000))

                                 {

                                     Store (0x000C0000, 
BAS1)

                                     Subtract (MG1B, BAS1, 
LEN1)

                                 }

                             }

                             Else

                             {

                                 Store (0x000C0000, BAS1)

                                 Store (0x00020000, LEN1)

                             }



                             If (Add (MG1B, MG1L, Local0))

                             {

                                 Store (Local0, BAS2)

                                 Subtract (0x00100000, 
BAS2, LEN2)

                             }

                         }



                         Subtract (MG2B, 0x00100000, LEN3)

                         Add (MG2B, MG2L, BAS4)

                         Subtract (0x00, BAS4, LEN4)

                         Return (CRS)

                     }

                 }



                 Device (PS2K)

                 {

                     Name (_HID, EisaId ("PNP030B"))

                     Name (_CID, 0x0B03D041)

                     Method (_STA, 0, NotSerialized)

                     {

                         ShiftLeft (0x01, 0x0A, Local0)

                         If (And (IOST, Local0))

                         {

                             Return (0x0F)

                         }



                         Return (0x00)

                     }



                     Name (_CRS, ResourceTemplate ()

                     {

                         IO (Decode16, 0x0060, 0x0060, 
0x00, 0x01)

                         IO (Decode16, 0x0064, 0x0064, 
0x00, 0x01)

                         IRQNoFlags () {1}

                     })

                 }



                 Method (PS2K._PRW, 0, NotSerialized)

                 {

                     Return (GPRW (0x1D, 0x05))

                 }



                 Device (PS2M)

                 {

                     Name (_HID, EisaId ("PNP0F03"))

                     Name (_CID, 0x130FD041)

                     Method (_STA, 0, NotSerialized)

                     {

                         ShiftLeft (0x01, 0x0C, Local0)

                         If (And (IOST, Local0))

                         {

                             Return (0x0F)

                         }



                         Return (0x00)

                     }



                     Name (CRS1, ResourceTemplate ()

                     {

                         IRQNoFlags () {12}

                     })

                     Name (CRS2, ResourceTemplate ()

                     {

                         IO (Decode16, 0x0060, 0x0060, 
0x00, 0x01)

                         IO (Decode16, 0x0064, 0x0064, 
0x00, 0x01)

                         IRQNoFlags () {12}

                     })

                     Method (_CRS, 0, NotSerialized)

                     {

                         ShiftLeft (0x01, 0x0A, Local0)

                         If (And (IOST, Local0))

                         {

                             Return (CRS1)

                         }

                         Else

                         {

                             Return (CRS2)

                         }

                     }

                 }



                 Method (PS2M._PRW, 0, NotSerialized)

                 {

                     Return (GPRW (0x1D, 0x05))

                 }



                 OperationRegion (WIN1, SystemIO, SPIO, 
0x02)

                 Field (WIN1, ByteAcc, NoLock, Preserve)

                 {

                     INDX,   8,

                     DATA,   8

                 }



                 IndexField (INDX, DATA, ByteAcc, NoLock, 
Preserve)

                 {

                     Offset (0x02),

                     CFG,    8,

                     Offset (0x07),

                     LDN,    8,

                     Offset (0x22),

                         ,   4,

                     PPPD,   1,

                     Offset (0x23),

                     Offset (0x30),

                     ACTR,   8,

                     Offset (0x60),

                     IOAH,   8,

                     IOAL,   8,

                     Offset (0x70),

                     INTR,   8,

                     Offset (0x74),

                     DMCH,   8,

                     Offset (0xF0),

                     OPT0,   8,

                     OPT1,   8,

                     OPT2,   8,

                     OPT3,   8,

                     OPT4,   8,

                     OPT5,   8,

                     OPT6,   8,

                     OPT7,   8

                 }



                 Method (ENFG, 0, NotSerialized)

                 {

                     Store (0x87, INDX)

                     Store (0x87, INDX)

                 }



                 Method (EXFG, 0, NotSerialized)

                 {

                     Store (0xAA, INDX)

                 }



                 Name (LDFD, 0x00)

                 Name (LDLP, 0x01)

                 Name (LDU1, 0x02)

                 Name (LDU2, 0x03)

                 Name (LDIR, 0x0C)

                 Name (LDMD, 0x06)

                 Name (LDGM, 0x07)

                 Method (SIOS, 1, NotSerialized)

                 {

                 }



                 Method (SIOH, 0, NotSerialized)

                 {

                 }



                 Method (SIOW, 1, NotSerialized)

                 {

                 }



                 Name (FDST, 0x00)

                 Name (U1ST, 0x00)

                 Name (U2ST, 0x00)

                 Name (IRST, 0x00)

                 Name (LPST, 0x00)

                 Name (GMST, 0x00)

                 Name (MDST, 0x00)

                 Method (_INI, 0, NotSerialized)

                 {

                     If (LNot (LEqual (GSTA (LDFD), 
0x00)))

                     {

                         Store (0x01, FDST)

                     }



                     If (LNot (LEqual (GSTA (LDU1), 
0x00)))

                     {

                         Store (0x01, U1ST)

                     }



                     If (LNot (LEqual (GSTA (LDU2), 
0x00)))

                     {

                         Store (0x01, U2ST)

                     }



                     If (LNot (LEqual (GSTA (LDIR), 
0x00)))

                     {

                         Store (0x01, IRST)

                     }



                     If (LNot (LEqual (GSTA (LDGM), 
0x00)))

                     {

                         Store (0x01, GMST)

                     }



                     If (LNot (LEqual (GSTA (LDMD), 
0x00)))

                     {

                         Store (0x01, MDST)

                     }



                     ENFG ()

                     Store (LDLP, LDN)

                     If (LNot (LEqual (ACTR, 0x03)))

                     {

                         Store (0x01, LPST)

                     }



                     EXFG ()

                 }



                 Device (LPT)

                 {

                     Name (_HID, EisaId ("PNP0400"))

                     Method (_STA, 0, NotSerialized)

                     {

                         If (LPST)

                         {

                             ENFG ()

                             Store (LDLP, LDN)

                             Store (ACTR, Local0)

                             Store (IOAH, Local1)

                             EXFG ()

                             And (Local0, 0x01, Local0)

                             If (LAnd (LNot (Local0), 
Local1))

                             {

                                 Return (0x0F)

                             }

                         }



                         Return (Zero)

                     }



                     Method (_DIS, 0, NotSerialized)

                     {

                         ENFG ()

                         Store (One, PPPD)

                         EXFG ()

                     }



                     Method (_CRS, 0, NotSerialized)

                     {

                         Name (BUFE, ResourceTemplate ()

                         {

                             IO (Decode16, 0x0378, 0x0378, 
0x08, 0x08)

                             IRQNoFlags () {7}

                         })

                         CreateWordField (BUFE, 0x02, 
IMI1)

                         CreateWordField (BUFE, 0x04, 
IMA1)

                         CreateByteField (BUFE, 0x06, 
ALN1)

                         CreateByteField (BUFE, 0x07, 
LEN1)

                         CreateWordField (BUFE, 0x09, 
IRQ0)

                         ENFG ()

                         Store (LDLP, LDN)

                         Store (IOAH, Local0)

                         ShiftLeft (Local0, 0x02, Local0)

                         Store (Local0, IMI1)

                         Store (Local0, IMA1)

                         If (LEqual (IMI1, 0x03BC))

                         {

                             Store (0x04, ALN1)

                             Store (0x04, LEN1)

                         }

                         Else

                         {

                             Store (0x08, ALN1)

                             Store (0x08, LEN1)

                         }



                         Store (INTR, Local0)

                         Store (0x01, Local1)

                         ShiftLeft (Local1, Local0, IRQ0)

                         EXFG ()

                         Return (BUFE)

                     }



                     Method (_SRS, 1, NotSerialized)

                     {

                         CreateWordField (Arg0, 0x02, 
IOAR)

                         CreateWordField (Arg0, 0x09, 
IRQ0)

                         ENFG ()

                         Store (LDLP, LDN)

                         Store (ACTR, Local2)

                         Or (Local2, 0x03, Local3)

                         Store (Local3, ACTR)

                         Store (IOAR, Local0)

                         ShiftRight (Local0, 0x02, Local0)

                         Store (Local0, IOAH)

                         FindSetRightBit (IRQ0, Local0)

                         If (LGreater (Local0, 0x00))

                         {

                             Decrement (Local0)

                         }



                         Store (Local0, INTR)

                         Store (Local2, ACTR)

                         Store (Zero, PPPD)

                         EXFG ()

                     }



                     Name (_PRS, ResourceTemplate ()

                     {

                         StartDependentFnNoPri ()

                         {

                             IO (Decode16, 0x0378, 0x0378, 
0x08, 0x08)

                             IRQNoFlags () {5,7}

                         }

                         StartDependentFnNoPri ()

                         {

                             IO (Decode16, 0x0278, 0x0278, 
0x08, 0x08)

                             IRQNoFlags () {5,7}

                         }

                         StartDependentFnNoPri ()

                         {

                             IO (Decode16, 0x03BC, 0x03BC, 
0x04, 0x04)

                             IRQNoFlags () {5,7}

                         }

                         EndDependentFn ()

                     })

                 }



                 Device (ECP)

                 {

                     Name (_HID, EisaId ("PNP0401"))

                     Method (_STA, 0, NotSerialized)

                     {

                         If (LPST)

                         {

                             ENFG ()

                             Store (LDLP, LDN)

                             Store (ACTR, Local0)

                             Store (IOAH, Local1)

                             EXFG ()

                             And (Local0, 0x03, Local0)

                             If (LAnd (LEqual (Local0, 
0x01), Local1))

                             {

                                 Return (0x0F)

                             }

                         }



                         Return (Zero)

                     }



                     Method (_DIS, 0, NotSerialized)

                     {

                         ENFG ()

                         Store (One, PPPD)

                         EXFG ()

                     }



                     Method (_CRS, 0, NotSerialized)

                     {

                         Name (BUFE, ResourceTemplate ()

                         {

                             IO (Decode16, 0x0378, 0x0378, 
0x08, 0x08)

                             IO (Decode16, 0x0778, 0x0778, 
0x04, 0x04)

                             IRQNoFlags () {7}

                             DMA (Compatibility, 
NotBusMaster, Transfer8) {3}

                         })

                         CreateWordField (BUFE, 0x02, 
IMI1)

                         CreateWordField (BUFE, 0x04, 
IMA1)

                         CreateByteField (BUFE, 0x06, 
ALN1)

                         CreateByteField (BUFE, 0x07, 
LEN1)

                         CreateWordField (BUFE, 0x0A, 
IMI2)

                         CreateWordField (BUFE, 0x0C, 
IMA2)

                         CreateWordField (BUFE, 0x11, 
IRQ0)

                         CreateByteField (BUFE, 0x14, 
DMA0)

                         ENFG ()

                         Store (LDLP, LDN)

                         Store (IOAH, Local0)

                         ShiftLeft (Local0, 0x02, Local0)

                         Store (Local0, IMI1)

                         Store (Local0, IMA1)

                         Add (Local0, 0x0400, Local0)

                         Store (Local0, IMI2)

                         Store (Local0, IMA2)

                         If (LEqual (IMI1, 0x03BC))

                         {

                             Store (0x04, ALN1)

                             Store (0x04, LEN1)

                         }

                         Else

                         {

                             Store (0x08, ALN1)

                             Store (0x08, LEN1)

                         }



                         Store (INTR, Local0)

                         Store (0x01, Local1)

                         ShiftLeft (Local1, Local0, IRQ0)

                         Store (DMCH, Local0)

                         And (Local0, 0x03, Local0)

                         Store (0x01, Local1)

                         ShiftLeft (Local1, Local0, DMA0)

                         EXFG ()

                         Return (BUFE)

                     }



                     Method (_SRS, 1, NotSerialized)

                     {

                         CreateWordField (Arg0, 0x02, 
IOAR)

                         CreateWordField (Arg0, 0x11, 
IRQ0)

                         CreateByteField (Arg0, 0x14, 
DMA0)

                         ENFG ()

                         Store (LDLP, LDN)

                         Store (ACTR, Local2)

                         Or (Local2, 0x03, Local3)

                         Store (Local3, ACTR)

                         Store (IOAR, Local0)

                         ShiftRight (Local0, 0x02, Local0)

                         Store (Local0, IOAH)

                         FindSetRightBit (IRQ0, Local0)

                         If (LGreater (Local0, 0x00))

                         {

                             Decrement (Local0)

                         }



                         Store (Local0, INTR)

                         FindSetRightBit (DMA0, Local0)

                         If (LGreater (Local0, 0x00))

                         {

                             Decrement (Local0)

                         }



                         Store (Local0, DMCH)

                         Store (Local2, ACTR)

                         Store (Zero, PPPD)

                         EXFG ()

                     }



                     Name (_PRS, ResourceTemplate ()

                     {

                         StartDependentFnNoPri ()

                         {

                             IO (Decode16, 0x0378, 0x0378, 
0x08, 0x08)

                             IO (Decode16, 0x0778, 0x0778, 
0x04, 0x04)

                             IRQNoFlags () {5,7}

                             DMA (Compatibility, 
NotBusMaster, Transfer8) {0,1,3}

                         }

                         StartDependentFnNoPri ()

                         {

                             IO (Decode16, 0x0278, 0x0278, 
0x08, 0x08)

                             IO (Decode16, 0x0678, 0x0678, 
0x04, 0x04)

                             IRQNoFlags () {5,7}

                             DMA (Compatibility, 
NotBusMaster, Transfer8) {0,1,3}

                         }

                         StartDependentFnNoPri ()

                         {

                             IO (Decode16, 0x03BC, 0x03BC, 
0x04, 0x04)

                             IO (Decode16, 0x07BC, 0x07BC, 
0x04, 0x04)

                             IRQNoFlags () {5,7}

                             DMA (Compatibility, 
NotBusMaster, Transfer8) {0,1,3}

                         }

                         EndDependentFn ()

                     })

                 }



                 Method (GSTA, 1, NotSerialized)

                 {

                     ENFG ()

                     Store (Arg0, LDN)

                     If (ACTR)

                     {

                         Store (0x0F, Local0)

                     }

                     Else

                     {

                         If (IOAH)

                         {

                             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 ()

                 }



                 Name (CSCP, 0x00)

                 PowerResource (URP1, 0x01, 0x0000)

                 {

                     Method (_STA, 0, NotSerialized)

                     {

                         Return (CSCP)

                     }



                     Method (_ON, 0, NotSerialized)

                     {

                         Store (0x01, CSCP)

                     }



                     Method (_OFF, 0, NotSerialized)

                     {

                         Store (0x00, CSCP)

                     }

                 }



                 PowerResource (URP2, 0x01, 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, 0x03F2, 0x03F2, 0x01, 
0x02)

                     IO (Decode16, 0x03F4, 0x03F4, 0x01, 
0x02)

                     IO (Decode16, 0x03F7, 0x03F7, 0x01, 
0x01)

                     IRQNoFlags () {6}

                     DMA (Compatibility, NotBusMaster, 
Transfer8) {2}

                 })

                 Name (FPRS, ResourceTemplate ()

                 {

                     StartDependentFn (0x00, 0x00)

                     {

                         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 ()

                 })

                 OperationRegion (OPR0, SystemIO, 0x0378, 
0x80)

                 Field (OPR0, ByteAcc, NoLock, Preserve)

                 {

                     P378,   8

                 }



                 Field (BIOS, ByteAcc, NoLock, Preserve)

                 {

                     Offset (0x80),

                     BIF0,   16,

                     BIF1,   16,

                     BIF2,   16,

                     BIF3,   16,

                     BIF4,   16,

                     BIF5,   16,

                     BIF6,   16,

                     BIF7,   16,

                     BIF8,   16,

                     BIF9,   64,

                     BIFA,   64,

                     BIFB,   64,

                     BIFC,   64,

                     BST0,   16,

                     BST1,   16,

                     BST2,   16,

                     BST3,   16,

                     BTP0,   16,

                     ACIN,   1,

                         ,   1,

                     BTIN,   1,

                     Offset (0xC0),

                     OSEC,   8,

                     SLPT,   8

                 }



                 Scope (\_SB.PCI0.SBRG)

                 {

                     Device (EC0)

                     {

                         Name (_HID, EisaId ("PNP0C09"))

                         Name (_CRS, ResourceTemplate ()

                         {

                             IO (Decode16, 0x0062, 0x0062, 
0x00, 0x01)

                             IO (Decode16, 0x0066, 0x0066, 
0x00, 0x01)

                         })

                         Name (FGEC, 0x00)

                         Method (_REG, 2, NotSerialized)

                         {

                             If (LEqual (Arg0, 0x03))

                             {

                                 Store (Arg1, FGEC)

                             }



                             If (LEqual (OSFL (), 0x01))

                             {

                                 Store (0x01, OSEC)

                             }

                             Else

                             {

                                 If (LEqual (OSFL (), 
0x00))

                                 {

                                     Store (0x02, OSEC)

                                 }

                                 Else

                                 {

                                     If (LEqual (OSFL (), 
0x02))

                                     {

                                         Store (0x03, 
OSEC)

                                     }



                                     If (LEqual (OSFL (), 
0x04))

                                     {

                                         Store (0x04, 
OSEC)

                                     }

                                 }

                             }



                             Store (0xB8, SWI0)

                         }



                         OperationRegion (ECXP, 
EmbeddedControl, 0x00, 0x0100)

                         Field (ECXP, ByteAcc, Lock, 
Preserve)

                         {

                             XIF0,   16,

                             XIF1,   16,

                             XIF2,   16,

                             XIF3,   16,

                             XIF4,   16,

                             XIF5,   16,

                             XIF6,   16,

                             XIF7,   16,

                             XIF8,   16,

                             XIF9,   64,

                             XIFA,   64,

                             XIFB,   64,

                             XIFC,   64,

                             XST0,   16,

                             XST1,   16,

                             XST2,   16,

                             XST3,   16,

                             XTP0,   16,

                             XCIN,   1,

                                 ,   1,

                             XTIN,   1,

                             Offset (0x3D),

                             Offset (0x3E),

                             XHPP,   7,

                             Offset (0x3F),

                             Offset (0x40),

                             XSEC,   8,

                             XLPT,   8

                         }



                         Name (_GPE, 0x1C)

                         Method (_Q06, 0, NotSerialized)

                         {

                             If (LEqual (OSFL (), 0x03))

                             {

                                 If (BTIN)

                                 {

                                     Notify 
(\_SB.PCI0.BAT0, 0x01)

                                 }

                                 Else

                                 {

                                     Notify 
(\_SB.PCI0.BAT0, 0x00)

                                 }



                                 Notify (\_SB.PCI0.BAT0, 
0x80)

                             }



                             If (LEqual (OSFL (), 0x01))

                             {

                                 If (BTIN)

                                 {

                                     Notify 
(\_SB.PCI0.BAT0, 0x01)

                                 }

                                 Else

                                 {

                                     Notify 
(\_SB.PCI0.BAT0, 0x00)

                                 }



                                 Notify (\_SB.PCI0.BAT0, 
0x80)

                                 Notify (\_SB.PCI0, 0x00)

                             }



                             If (LEqual (OSFL (), 0x02))

                             {

                                 Store (0x01, FAKE)

                                 Notify (\_SB.PCI0.AC0, 
0x00)

                                 Store (0x00, FAKE)

                                 Notify (\_SB.PCI0.AC0, 
0x00)

                                 If (BTIN)

                                 {

                                     Notify 
(\_SB.PCI0.BAT0, 0x00)

                                 }

                                 Else

                                 {

                                     Notify 
(\_SB.PCI0.BAT0, 0x03)

                                 }



                                 Notify (\_SB.PCI0.BAT0, 
0x81)

                                 Notify (\_SB.PCI0.BAT0, 
0x80)

                             }



                             If (LOr (LEqual (OSFL (), 
0x00), LEqual (OSFL (), 0x04)))

                             {

                                 Sleep (0x01F4)

                                 If 
(\_SB.PCI0.SBRG.EC0.XTIN)

                                 {

                                     Notify 
(\_SB.PCI0.BAT0, 0x01)

                                 }

                                 Else

                                 {

                                     Notify 
(\_SB.PCI0.BAT0, 0x00)

                                 }



                                 Notify (\_SB.PCI0.BAT0, 
0x80)

                             }

                         }



                         Method (_Q07, 0, NotSerialized)

                         {

                             Store (0x07, P378)

                             If (LEqual (OSFL (), 0x01))

                             {

                                 Store (0x00, FAKE)

                                 Notify (\_SB.PCI0.AC0, 
0x00)

                             }



                             If (LEqual (OSFL (), 0x02))

                             {

                                 Store (0x00, FAKE)

                                 Notify (\_SB.PCI0.AC0, 
0x00)

                             }



                             If (LOr (LEqual (OSFL (), 
0x00), LEqual (OSFL (), 0x04)))

                             {

                                 Notify (\_SB.PCI0.AC0, 
0x80)

                                 Notify (\_SB.PCI0.BAT0, 
0x80)

                             }

                         }



                         Method (_Q0A, 0, NotSerialized)

                         {

                             Store (0xF1, P378)

                             Notify (\_SB.SLPB, 0x80)

                         }



                         Method (_Q0B, 0, NotSerialized)

                         {

                             Store (0xF2, P378)

                         }



                         Method (_Q0C, 0, NotSerialized)

                         {

                             Store (0xF3, P378)

                         }



                         Method (_Q0D, 0, NotSerialized)

                         {

                             Store (0xF4, P378)

                             If (LEqual 
(\_SB.PCI0.AGP.VGA.SWIT, 0x00))

                             {

                                 If (LEqual 
(\_SB.PCI0.AGP.VGA.GDFG, 0x01))

                                 {

                                     Notify 
(\_SB.PCI0.AGP.VGA, 0x80)

                                     Store (0x00, 
\_SB.PCI0.AGP.VGA.GDFG)

                                     Sleep (0x07D0)

                                 }



                                 If (LEqual 
(\_SB.PCI0.AGP.VGA.GDTS, 0x00))

                                 {

                                     If (LEqual 
(\_SB.PCI0.AGP.VGA.GDGS, 0x01))

                                     {

                                         Store (0x00, 
\_SB.PCI0.AGP.VGA.LCD._DGS)

                                         Store (0x01, 
\_SB.PCI0.AGP.VGA.CRT._DGS)

                                     }



                                     If (LEqual 
(\_SB.PCI0.AGP.VGA.GDGS, 0x02))

                                     {

                                         Store (0x01, 
\_SB.PCI0.AGP.VGA.LCD._DGS)

                                         Store (0x00, 
\_SB.PCI0.AGP.VGA.CRT._DGS)

                                     }



                                     If (LEqual 
(\_SB.PCI0.AGP.VGA.GDGS, 0x03))

                                     {

                                         Store (0x01, 
\_SB.PCI0.AGP.VGA.LCD._DGS)

                                         Store (0x01, 
\_SB.PCI0.AGP.VGA.CRT._DGS)

                                     }



                                     Notify 
(\_SB.PCI0.AGP.VGA, 0x80)

                                     If (LEqual 
(\_SB.PCI0.AGP.VGA.GDGS, 0x03))

                                     {

                                         Store (0x01, 
\_SB.PCI0.AGP.VGA.GDGS)

                                     }

                                     Else

                                     {

                                         Add (0x01, 
\_SB.PCI0.AGP.VGA.GDGS, \_SB.PCI0.AGP.VGA.GDGS)

                                     }

                                 }

                             }

                         }



                         Method (_Q0E, 0, NotSerialized)

                         {

                             Store (0xF5, P378)

                             If (LEqual (OSFL (), 0x01))

                             {

                                 Store (0xA4, SWI0)

                             }

                         }



                         Method (_Q0F, 0, NotSerialized)

                         {

                             Store (0xF6, P378)

                             If (LEqual (OSFL (), 0x01))

                             {

                                 Store (0xA5, SWI0)

                             }

                         }



                         Method (_Q1C, 0, NotSerialized)

                         {

                             Store (0x1C, P378)

                             If (LEqual (OSFL (), 0x01))

                             {

                                 Store (0xBE, SWI0)

                             }

                         }



                         Method (_Q1D, 0, NotSerialized)

                         {

                             Store (0x1D, P378)

                             If (LEqual (OSFL (), 0x01))

                             {

                                 Store (0xBF, SWI0)

                             }

                         }



                         Method (_Q10, 0, NotSerialized)

                         {

                             Store (0xF7, P378)

                             Store (0xA6, SWI0)

                         }



                         Method (_Q11, 0, NotSerialized)

                         {

                             Store (0xF8, P378)

                             Store (0xA7, SWI0)

                         }



                         Method (_Q12, 0, NotSerialized)

                         {

                             Store (0xF9, P378)

                         }



                         Method (_Q13, 0, NotSerialized)

                         {

                             Store (0xFA, P378)

                         }



                         Method (_Q14, 0, NotSerialized)

                         {

                             Store (0xFB, P378)

                         }



                         Method (_Q15, 0, NotSerialized)

                         {

                             Store (0xFC, P378)

                         }



                         Method (_Q16, 0, NotSerialized)

                         {

                             Store (0x16, P378)

                             Store (0x01, LIDS)

                             Notify (\_SB.PCI0.SBRG.LID, 
0x80)

                         }



                         Method (_Q19, 0, NotSerialized)

                         {

                             Store (0x19, P378)

                             Store (0x00, LIDS)

                             Notify (\_SB.PCI0.SBRG.LID, 
0x80)

                         }



                         Method (_Q1A, 0, NotSerialized)

                         {

                             Store (0x1A, P378)

                             If (LEqual (OSFL (), 0x01))

                             {

                                 Store (0xBC, SWI0)

                             }

                         }



                         Method (_Q1B, 0, NotSerialized)

                         {

                             Store (0x1B, P378)

                             If (LEqual (OSFL (), 0x01))

                             {

                                 Store (0xBD, SWI0)

                             }

                         }



                         Method (_Q1E, 0, NotSerialized)

                         {

                             Store (0x1E, P378)

                             Store (0x00, THRT)

                         }



                         Method (_Q1F, 0, NotSerialized)

                         {

                             Store (0x1F, P378)

                             Store (0x1E, THRT)

                         }



                         Method (_Q20, 0, NotSerialized)

                         {

                             Store (0x20, P378)

                             Store (0x1C, THRT)

                         }



                         Method (_Q21, 0, NotSerialized)

                         {

                             Store (0x21, P378)

                             Store (0x1A, THRT)

                         }



                         Method (_Q22, 0, NotSerialized)

                         {

                             Store (0x22, P378)

                             Store (0x18, THRT)

                         }



                         Method (_Q23, 0, NotSerialized)

                         {

                             Store (0x23, P378)

                             Store (0x16, THRT)

                         }



                         Method (_Q24, 0, NotSerialized)

                         {

                             Store (0x24, P378)

                             Store (0x14, THRT)

                         }



                         Method (_Q25, 0, NotSerialized)

                         {

                             Store (0x25, P378)

                             Store (0xB5, SWI0)

                         }



                         Method (_Q26, 0, NotSerialized)

                         {

                             Store (0x26, P378)

                             Store (0xB6, SWI0)

                         }



                         Method (_Q27, 0, NotSerialized)

                         {

                             Store (0x27, P378)

                             Store (0x69, THPP)

                             Notify (\_TZ.THRM, 0x80)

                         }



                         Device (\_SB.PCI0.BAT0)

                         {

                             Name (_HID, EisaId 
("PNP0C0A"))

                             Name (_UID, 0x00)

                             Name (_PCL, Package (0x01)

                             {

                                 \_SB.PCI0.SBRG.EC0

                             })

                             Name (PAK1, Package (0x0D)

                             {

                                 0x00,

                                 0x0C56,

                                 0x0C56,

                                 0x00,

                                 0x2A30,

                                 0x013B,

                                 0x9D,

                                 0x10,

                                 0x08,

                                 "755",

                                 "001",

                                 "LiON",

                                 "OEM"

                             })

                             Method (_BIF, 0, 
NotSerialized)

                             {

                                 Store ("BIf", Debug)

                                 If (LOr (LEqual (OSFL (), 
0x00), LEqual (OSFL (), 0x04)))

                                 {

                                     Store 
(\_SB.PCI0.SBRG.EC0.XIF0, Index (PAK1, 0x00))

                                     Store 
(\_SB.PCI0.SBRG.EC0.XIF1, Index (PAK1, 0x01))

                                     Store 
(\_SB.PCI0.SBRG.EC0.XIF2, Local0)

                                     Store (Local0, Index 
(PAK1, 0x02))

                                     Store 
(\_SB.PCI0.SBRG.EC0.XIF3, Index (PAK1, 0x03))

                                     Store 
(\_SB.PCI0.SBRG.EC0.XIF4, Index (PAK1, 0x04))

                                     Store (Divide 
(Local0, 0x0A, ), Index (PAK1, 0x05))

                                     Store (Divide 
(Local0, 0x14, ), Index (PAK1, 0x06))

                                     Store 
(\_SB.PCI0.SBRG.EC0.XIF7, Index (PAK1, 0x07))

                                 }

                                 Else

                                 {

                                     Store (0xB9, SWI0)

                                     Store (BIF0, Index 
(PAK1, 0x00))

                                     Store (BIF1, Index 
(PAK1, 0x01))

                                     Store (BIF2, Local0)

                                     Store (Local0, Index 
(PAK1, 0x02))

                                     Store (BIF3, Index 
(PAK1, 0x03))

                                     Store (BIF4, Index 
(PAK1, 0x04))

                                     Store (Divide 
(Local0, 0x0A, ), Index (PAK1, 0x05))

                                     Store (Divide 
(Local0, 0x14, ), Index (PAK1, 0x06))

                                     Store (BIF7, Index 
(PAK1, 0x07))

                                 }



                                 Return (PAK1)

                             }



                             Name (BFB0, Package (0x04)

                             {

                                 0x00,

                                 0xFFFFFFFF,

                                 0x1034,

                                 0x2A30

                             })

                             Method (_BST, 0, 
NotSerialized)

                             {

                                 Store ("BST Start", 
Debug)

                                 If (LOr (LEqual (OSFL (), 
0x00), LEqual (OSFL (), 0x04)))

                                 {

                                     Store 
(\_SB.PCI0.SBRG.EC0.XST0, Index (BFB0, 0x00))

                                     Store 
(\_SB.PCI0.SBRG.EC0.XST2, Index (BFB0, 0x02))

                                     Store 
(\_SB.PCI0.SBRG.EC0.XST3, Index (BFB0, 0x03))

                                 }

                                 Else

                                 {

                                     Store (0xBA, SWI0)

                                     Store (BST0, Index 
(BFB0, 0x00))

                                     Store (BST1, Index 
(BFB0, 0x01))

                                     Store (BST2, Index 
(BFB0, 0x02))

                                     Store (BST3, Index 
(BFB0, 0x03))

                                 }



                                 Store ("BST End", Debug)

                                 Return (BFB0)

                             }



                             Method (_BTP, 1, 
NotSerialized)

                             {

                                 If (LOr (LEqual (OSFL (), 
0x00), LEqual (OSFL (), 0x04)))

                                 {

                                     Store (Arg0, 
\_SB.PCI0.SBRG.EC0.XTP0)

                                 }

                                 Else

                                 {

                                     Store (Arg0, BTP0)

                                     Store (0x33, SWI0)

                                 }

                             }



                             Method (_STA, 0, 
NotSerialized)

                             {

                                 Store ("BAT_STA Start", 
Debug)

                                 If (LOr (LEqual (OSFL (), 
0x00), LEqual (OSFL (), 0x04)))

                                 {

                                     If (LEqual 
(\_SB.PCI0.SBRG.EC0.FGEC, 0x00))

                                     {

                                         Store (0xB8, 
SWI0)

                                         Store (BTIN, 
Local0)

                                     }

                                     Else

                                     {

                                         Store 
(\_SB.PCI0.SBRG.EC0.XTIN, Local0)

                                     }

                                 }

                                 Else

                                 {

                                     Store (0xB8, SWI0)

                                     Store (BTIN, Local0)

                                 }



                                 If (Local0)

                                 {

                                     Return (0x1F)

                                     Store (0x1F, P378)

                                 }

                                 Else

                                 {

                                     Return (0x0F)

                                     Store (0x0F, P378)

                                 }



                                 Store ("BAT_STA END", 
Debug)

                             }

                         }



                         Device (\_SB.PCI0.AC0)

                         {

                             Name (_HID, "ACPI0003")

                             Name (_PCL, Package (0x01)

                             {

                                 \_SB.PCI0.SBRG.EC0

                             })

                             Method (_PSR, 0, 
NotSerialized)

                             {

                                 If (LNot (LEqual (FAKE, 
0x00)))

                                 {

                                     Return (0x00)

                                 }

                                 Else

                                 {

                                     If (LOr (LEqual (OSFL 
(), 0x00), LEqual (OSFL (), 0x04)))

                                     {

                                         Store 
(\_SB.PCI0.SBRG.EC0.XCIN, Local0)

                                     }

                                     Else

                                     {

                                         Store (ACIN, 
Local0)

                                     }



                                     Return (Local0)

                                 }

                             }

                         }



                         Scope (\_TZ)

                         {

                             ThermalZone (THRM)

                             {

                                 Method (KELV, 1, 
NotSerialized)

                                 {

                                     If (LGreater (Arg0, 
0x7F))

                                     {

                                         XOr (Arg0, 0xFF, 
Local0)

                                         Add (Local0, 
0x01, Local0)

                                         Multiply (Local0, 
0x0A, Local0)

                                         Subtract (0x0AAC, 
Local0, Local1)

                                     }

                                     Else

                                     {

                                         Multiply (Arg0, 
0x0A, Local0)

                                         Add (Local0, 
0x0AAC, Local1)

                                     }



                                     Return (Local1)

                                 }



                                 Method (_TMP, 0, 
NotSerialized)

                                 {

                                     Return (KELV (THPP))

                                 }



                                 Method (_CRT, 0, 
NotSerialized)

                                 {

                                     Return (KELV (0x55))

                                 }

                             }

                         }

                     }

                 }



                 Scope (\_SB)

                 {

                     Method (_INI, 0, NotSerialized)

                     {

                         Store (DCPU, Local0)

                         And (Local0, 0xF7, DCPU)

                     }



                     Device (\_SB.PCI0.SBRG.LID)

                     {

                         Name (_HID, EisaId ("PNP0C0D"))

                         Method (_LID, 0, NotSerialized)

                         {

                             Return (LIDS)

                         }

                     }



                     Device (\_SB.SLPB)

                     {

                         Name (_HID, EisaId ("PNP0C0E"))

                         Method (_STA, 0, NotSerialized)

                         {

                             Return (0x0B)

                         }



                         Method (SBEV, 0, NotSerialized)

                         {

                             If (SLPP)

                             {

                                 Store (0x00, SLPP)

                                 Notify (SLPB, 0x02)

                             }

                             Else

                             {

                                 Store (0x01, SLPP)

                                 Notify (SLPB, 0x80)

                             }

                         }

                     }



                     Device (\_SB.PCI0.P0P2.CBC0)

                     {

                         Name (_ADR, 0x00030000)

                         Name (_PRW, Package (0x02)

                         {

                             0x0B,

                             0x04

                         })

                         OperationRegion (CBR0, 
PCI_Config, 0x00, 0xFF)

                         Field (CBR0, DWordAcc, NoLock, 
Preserve)

                         {

                             Offset (0x44),

                             C044,   32,

                             Offset (0xA4),

                             C0A4,   8,

                             C0A5,   8

                         }



                         Method (_STA, 0, NotSerialized)

                         {

                             Return (0x0F)

                         }



                         Method (_INI, 0, NotSerialized)

                         {

                             Store (0x00, 
\_SB.PCI0.P0P2.CBC0.C044)

                         }

                     }

                 }



                 Scope (\_SB.PCI0)

                 {

                     Device (AGP)

                     {

                         Name (_ADR, 0x00010000)

                         Device (VGA)

                         {

                             Name (_ADR, 0x00)

                             Method (_DOS, 1, 
NotSerialized)

                             {

                                 Store (Arg0, SWIT)

                             }



                             Name (_DOD, Package (0x02)

                             {

                                 0x00010100,

                                 0x00010110

                             })

                             Device (CRT)

                             {

                                 Name (_ADR, 0x0100)

                                 Name (_DCS, 0x1F)

                                 Name (_DGS, 0x01)

                                 Method (_DSS, 1, 
NotSerialized)

                                 {

                                 }

                             }



                             Device (LCD)

                             {

                                 Name (_ADR, 0x0110)

                                 Name (_DCS, 0x1F)

                                 Name (_DGS, 0x01)

                                 Method (_DSS, 1, 
NotSerialized)

                                 {

                                 }



                                 Method (_BCM, 1, 
NotSerialized)

                                 {

                                 }



                                 Name (PBCL, Package 
(0x07)

                                 {

                                     0x50,

                                     0x32,

                                     0x14,

                                     0x28,

                                     0x3C,

                                     0x50,

                                     0x64

                                 })

                                 Method (_BCL, 0, 
NotSerialized)

                                 {

                                     Return (PBCL)

                                 }

                             }



                             Name (SWIT, 0x00)

                             Name (GDCS, 0x02)

                             Name (GDGS, 0x01)

                             Name (GDTS, 0x00)

                             Name (GDFG, 0x01)

                         }

                     }

                 }

             }

         }



         Scope (\_GPE)

         {

             Method (_L0B, 0, NotSerialized)

             {

                 Notify (\_SB.PCI0.P0P2, 0x02)

                 Notify (\_SB.PCI0.P0P2.LAN1, 0x02)

                 Notify (\_SB.PWRB, 0x02)

             }



             Method (_L05, 0, NotSerialized)

             {

                 Notify (\_SB.PCI0.MC97, 0x02)

                 Notify (\_SB.PWRB, 0x02)

             }



             Method (_L1D, 0, NotSerialized)

             {

                 \_SB.PCI0.SBRG.SIOH ()

                 Notify (\_SB.PWRB, 0x02)

             }

         }



         Device (PWRB)

         {

             Name (_HID, EisaId ("PNP0C0C"))

             Name (_UID, 0x1D)

             Name (_STA, 0x0B)

             Method (_PRW, 0, NotSerialized)

             {

                 Return (GPRW (0x1D, 0x05))

             }

         }

     }



     Scope (\_SB)

     {

         OperationRegion (\_SB.PCI0.SBRG.IROR, PCI_Config, 
0x00, 0xFF)

         Field (\_SB.PCI0.SBRG.IROR, ByteAcc, NoLock, 
Preserve)

         {

             Offset (0x60),

             PIRA,   8,

             PIRB,   8,

             PIRC,   8,

             PIRD,   8,

             Offset (0x68),

             PIRE,   8,

             PIRF,   8,

             PIRG,   8,

             PIRH,   8

         }



         Name (BUFA, ResourceTemplate ()

         {

             IRQ (Level, ActiveLow, Shared) {15}

         })

         CreateWordField (BUFA, 0x01, ICRS)

         Method (LSTA, 1, NotSerialized)

         {

             And (Arg0, 0x80, Local0)

             If (Local0)

             {

                 Return (0x09)

             }

             Else

             {

                 Return (0x0B)

             }

         }



         Method (LCRS, 1, NotSerialized)

         {

             And (Arg0, 0x0F, Local0)

             ShiftLeft (0x01, Local0, ICRS)

             Return (BUFA)

         }



         Method (LSRS, 1, NotSerialized)

         {

             CreateWordField (Arg0, 0x01, ISRS)

             FindSetRightBit (ISRS, Local0)

             Return (Decrement (Local0))

         }



         Method (LDIS, 1, NotSerialized)

         {

             Return (Or (Arg0, 0x80))

         }



         Device (LNKA)

         {

             Name (_HID, EisaId ("PNP0C0F"))

             Name (_UID, 0x01)

             Method (_STA, 0, NotSerialized)

             {

                 Return (LSTA (PIRA))

             }



             Method (_PRS, 0, NotSerialized)

             {

                 Return (PRSA)

             }



             Method (_DIS, 0, NotSerialized)

             {

                 Store (LDIS (PIRA), PIRA)

             }



             Method (_CRS, 0, NotSerialized)

             {

                 Return (LCRS (PIRA))

             }



             Method (_SRS, 1, NotSerialized)

             {

                 Store (LSRS (Arg0), PIRA)

             }

         }



         Device (LNKB)

         {

             Name (_HID, EisaId ("PNP0C0F"))

             Name (_UID, 0x02)

             Method (_STA, 0, NotSerialized)

             {

                 Return (LSTA (PIRB))

             }



             Method (_PRS, 0, NotSerialized)

             {

                 Return (PRSB)

             }



             Method (_DIS, 0, NotSerialized)

             {

                 Store (LDIS (PIRB), PIRB)

             }



             Method (_CRS, 0, NotSerialized)

             {

                 Return (LCRS (PIRB))

             }



             Method (_SRS, 1, NotSerialized)

             {

                 Store (LSRS (Arg0), PIRB)

             }

         }



         Device (LNKC)

         {

             Name (_HID, EisaId ("PNP0C0F"))

             Name (_UID, 0x03)

             Method (_STA, 0, NotSerialized)

             {

                 Return (LSTA (PIRC))

             }



             Method (_PRS, 0, NotSerialized)

             {

                 Return (PRSC)

             }



             Method (_DIS, 0, NotSerialized)

             {

                 Store (LDIS (PIRC), PIRC)

             }



             Method (_CRS, 0, NotSerialized)

             {

                 Return (LCRS (PIRC))

             }



             Method (_SRS, 1, NotSerialized)

             {

                 Store (LSRS (Arg0), PIRC)

             }

         }



         Device (LNKD)

         {

             Name (_HID, EisaId ("PNP0C0F"))

             Name (_UID, 0x04)

             Method (_STA, 0, NotSerialized)

             {

                 Return (LSTA (PIRD))

             }



             Method (_PRS, 0, NotSerialized)

             {

                 Return (PRSD)

             }



             Method (_DIS, 0, NotSerialized)

             {

                 Store (LDIS (PIRD), PIRD)

             }



             Method (_CRS, 0, NotSerialized)

             {

                 Return (LCRS (PIRD))

             }



             Method (_SRS, 1, NotSerialized)

             {

                 Store (LSRS (Arg0), PIRD)

             }

         }



         Device (LNKE)

         {

             Name (_HID, EisaId ("PNP0C0F"))

             Name (_UID, 0x05)

             Method (_STA, 0, NotSerialized)

             {

                 Return (LSTA (PIRE))

             }



             Method (_PRS, 0, NotSerialized)

             {

                 Return (PRSE)

             }



             Method (_DIS, 0, NotSerialized)

             {

                 Store (LDIS (PIRE), PIRE)

             }



             Method (_CRS, 0, NotSerialized)

             {

                 Return (LCRS (PIRE))

             }



             Method (_SRS, 1, NotSerialized)

             {

                 Store (LSRS (Arg0), PIRE)

             }

         }



         Device (LNKF)

         {

             Name (_HID, EisaId ("PNP0C0F"))

             Name (_UID, 0x06)

             Method (_STA, 0, NotSerialized)

             {

                 Return (LSTA (PIRF))

             }



             Method (_PRS, 0, NotSerialized)

             {

                 Return (PRSF)

             }



             Method (_DIS, 0, NotSerialized)

             {

                 Store (LDIS (PIRF), PIRF)

             }



             Method (_CRS, 0, NotSerialized)

             {

                 Return (LCRS (PIRF))

             }



             Method (_SRS, 1, NotSerialized)

             {

                 Store (LSRS (Arg0), PIRF)

             }

         }



         Device (LNKG)

         {

             Name (_HID, EisaId ("PNP0C0F"))

             Name (_UID, 0x07)

             Method (_STA, 0, NotSerialized)

             {

                 Return (LSTA (PIRG))

             }



             Method (_PRS, 0, NotSerialized)

             {

                 Return (PRSG)

             }



             Method (_DIS, 0, NotSerialized)

             {

                 Store (LDIS (PIRG), PIRG)

             }



             Method (_CRS, 0, NotSerialized)

             {

                 Return (LCRS (PIRG))

             }



             Method (_SRS, 1, NotSerialized)

             {

                 Store (LSRS (Arg0), PIRG)

             }

         }



         Device (LNKH)

         {

             Name (_HID, EisaId ("PNP0C0F"))

             Name (_UID, 0x08)

             Method (_STA, 0, NotSerialized)

             {

                 Return (LSTA (PIRH))

             }



             Method (_PRS, 0, NotSerialized)

             {

                 Return (PRSH)

             }



             Method (_DIS, 0, NotSerialized)

             {

                 Store (LDIS (PIRH), PIRH)

             }



             Method (_CRS, 0, NotSerialized)

             {

                 Return (LCRS (PIRH))

             }



             Method (_SRS, 1, NotSerialized)

             {

                 Store (LSRS (Arg0), PIRH)

             }

         }

     }



     Scope (\_SB)

     {

         Scope (PCI0)

         {

             Name (CRS, ResourceTemplate ()

             {

                 WordBusNumber (ResourceProducer, 
MinFixed, MaxFixed, PosDecode,

                     0x0000,

                     0x0000,

                     0x00FF,

                     0x0000,

                     0x0100)

                 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,

                     0xFFFF,

                     0x0000,

                     0xF300)

                 DWordMemory (ResourceProducer, PosDecode, 
MinFixed, MaxFixed, Cacheable, ReadWrite,

                     0x00000000,

                     0x000A0000,

                     0x000BFFFF,

                     0x00000000,

                     0x00020000)

                 DWordMemory (ResourceProducer, PosDecode, 
MinFixed, MaxFixed, Cacheable, ReadWrite,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000)

                 DWordMemory (ResourceProducer, PosDecode, 
MinFixed, MaxFixed, Cacheable, ReadWrite,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000,

                     0x00000000)

             })

             CreateDWordField (CRS, 0x5C, MIN5)

             CreateDWordField (CRS, 0x60, MAX5)

             CreateDWordField (CRS, 0x68, LEN5)

             CreateDWordField (CRS, 0x76, MIN6)

             CreateDWordField (CRS, 0x7A, MAX6)

             CreateDWordField (CRS, 0x82, LEN6)

             Method (_CRS, 0, NotSerialized)

             {

                 Store (MG1B, MIN5)

                 Store (MG1L, LEN5)

                 Store (MG1L, Local0)

                 If (Local0)

                 {

                     Add (MIN5, Decrement (Local0), MAX5)

                 }



                 Store (MG2B, MIN6)

                 Store (MG2L, LEN6)

                 Store (MG2L, Local0)

                 Add (MIN6, Decrement (Local0), MAX6)

                 Return (CRS)

             }

         }

     }



     If (SS1)

     {

         Name (\_SB.PCI0._S1D, 0x02)

         Name (\_SB.PCI0.P0P2._S1D, 0x02)

         Name (\_SB.PCI0.USB1._S1D, 0x02)

         Name (\_SB.PCI0.USB2._S1D, 0x02)

         Name (\_SB.PCI0.USB3._S1D, 0x02)

     }



     If (SS3)

     {

         Name (\_SB.PCI0._S3D, 0x02)

         Name (\_SB.PCI0.P0P2._S3D, 0x02)

         Name (\_SB.PCI0.USB1._S3D, 0x02)

         Name (\_SB.PCI0.USB2._S3D, 0x02)

         Name (\_SB.PCI0.USB3._S3D, 0x02)

     }



     If (SS4)

     {

         Name (\_SB.PCI0._S4D, 0x02)

         Name (\_SB.PCI0.P0P2._S4D, 0x02)

     }



     Method (_PTS, 1, NotSerialized)

     {

         Store (Arg0, P378)

         PTS (Arg0)

         Store (0x00, Index (WAKP, 0x00))

         Store (0x00, Index (WAKP, 0x01))

     }



     Method (_WAK, 1, NotSerialized)

     {

         ShiftLeft (Arg0, 0x04, P378)

         WAK (Arg0)

         If (LEqual (Arg0, 0x04))

         {

             Notify (\_SB.PWRB, 0x02)

             If (LEqual (OSFL (), 0x01))

             {

                 Store (0x01, OSEC)

             }

             Else

             {

                 If (LEqual (OSFL (), 0x00))

                 {

                     Store (0x02, OSEC)

                 }

                 Else

                 {

                     If (LEqual (OSFL (), 0x02))

                     {

                         Store (0x03, OSEC)

                     }

                 }

             }



             Store (0xB8, SWI0)

         }



         If (DerefOf (Index (WAKP, 0x00)))

         {

             Store (0x00, Index (WAKP, 0x01))

         }

         Else

         {

             Store (Arg0, Index (WAKP, 0x01))

         }



         Return (WAKP)

     }



     OperationRegion (PMRG, SystemIO, 0x0400, 0x80)

     Field (PMRG, ByteAcc, NoLock, Preserve)

     {

         Offset (0x04),

         SCIF,   1,

         Offset (0x06),

         RTCS,   8,

         Offset (0x10),

         THRT,   8,

         Offset (0x2D),

         DCPU,   8,

         Offset (0x30),

             ,   4,

         SLPS,   1

     }



     OperationRegion (OPR1, SystemIO, 0xB2, 0x02)

     Field (OPR1, ByteAcc, NoLock, Preserve)

     {

         SWI0,   8

     }



     OperationRegion (OPR2, SystemIO, 0x0378, 0x02)

     Field (OPR2, ByteAcc, NoLock, Preserve)

     {

         P378,   8

     }



     Name (THPP, 0x4B)

     Name (FAKE, 0x00)

     Name (LIDS, 0x01)

     Name (SLPP, 0x00)

     Field (BIOS, ByteAcc, NoLock, Preserve)

     {

         Offset (0x80),

         BIF0,   16,

         BIF1,   16,

         BIF2,   16,

         BIF3,   16,

         BIF4,   16,

         BIF5,   16,

         BIF6,   16,

         BIF7,   16,

         BIF8,   16,

         BIF9,   64,

         BIFA,   64,

         BIFB,   64,

         BIFC,   64,

         BST0,   16,

         BST1,   16,

         BST2,   16,

         BST3,   16,

         BTP0,   16,

         ACIN,   1,

             ,   1,

         BTIN,   1,

         Offset (0xC0),

         OSEC,   8,

         SLPT,   8

     }



     Name (\_S0, Package (0x04)

     {

         0x00,

         0x00,

         0x00,

         0x00

     })

     If (SS1)

     {

         Name (\S3, Package (0x04)

         {

             0x01,

             0x00,

             0x00,

             0x00

         })

     }



     If (SS3)

     {

         Name (\_S3, Package (0x04)

         {

             0x05,

             0x00,

             0x00,

             0x00

         })

     }



     If (SS4)

     {

         Name (\_S4, Package (0x04)

         {

             0x07,

             0x00,

             0x00,

             0x00

         })

     }



     Name (\_S5, Package (0x04)

     {

         0x07,

         0x00,

         0x00,

         0x00

     })

     Method (PTS, 1, NotSerialized)

     {

         If (Arg0)

         {

             \_SB.PCI0.SBRG.SIOS (Arg0)

         }

     }



     Method (WAK, 1, NotSerialized)

     {

         \_SB.PCI0.SBRG.SIOW (Arg0)

     }

}



Can you make a try?
Thz in advance
_______________________________________
Connessione ed e-mail gratuita da 10 mb
consultabile tramite web e tramite pop.
www.infinito.it vieni a scoprire tutti 
i nostri servizi!

http://www.infinito.it/xmail



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Problem fixing DSDT (parse error)
       [not found]     ` <41AC9BD8.9050604-smMupaH/RwJM7kwft8N7nw@public.gmane.org>
@ 2004-12-06 15:07       ` Thomas Renninger
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Renninger @ 2004-12-06 15:07 UTC (permalink / raw)
  To: mrfree-97W46K3QqA41GQ1Ptb7lUw; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

[-- Attachment #1: Type: text/plain, Size: 1348 bytes --]

Ok, here it is.
It compiles, but I wouldn't trust this DSDT too much:

e.g.:
1)

If (Local0)
{
      Return (0x1F)
      Store (0x1F, P378)
}
Else
{
      Return (0x0F)
      Store (0x0F, P378)
}
dsdt.dsl.orig  2468:                      Store (0x1F, P378)
Warning  2079 -                           Statement is unreachable ^

dsdt.dsl.orig  2473:                      Store (0x0F, P378)
Warning  2079 -                           Statement is unreachable

Of course the Store method is never reached (I switched the statements, 
don't know exactly what is stored, but it has something to do with the 
battery status ... (insertion/ejection _STA))

2)

Scope (\_SB) is defined about three times.
The compiler seems to accept this, but it's quite confusing.

I just put the IF statements that layed around in the _SB scope into the 
_INI method of _SB. That at leasts avoid the compiler errors and you 
could have a closer look to that what really matters to you.

3)

There is one warning, I don't know about. You can avoid it by compiling 
without optimzation (-oa):
dsdt.dsl.orig  2683:                 Scope (\_SB.PCI0)
Warning  2031 -             Internal compiler error ^  (Not using 
optimized name - did not find node)

      Thomas

P.S: Is it possible that you edited the file in windows, I had to delete 
the \r at the end of each line...

[-- Attachment #2: dsdt.dsl.bz2 --]
[-- Type: application/x-bzip2, Size: 8525 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-12-06 15:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-01  8:53 Problem fixing DSDT (parse error) mrfree-97W46K3QqA41GQ1Ptb7lUw
  -- strict thread matches above, loose matches on Subject: below --
2004-11-30 11:50 mrfree-97W46K3QqA41GQ1Ptb7lUw
     [not found] ` <web-25326080-97W46K3QqA41GQ1Ptb7lUw@public.gmane.org>
2004-11-30 16:12   ` Thomas Renninger
     [not found]     ` <41AC9BD8.9050604-smMupaH/RwJM7kwft8N7nw@public.gmane.org>
2004-12-06 15:07       ` Thomas Renninger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox