From: Lars A. <mai...@me...> - 2004-05-31 16:33:41
|
Hi all, I'm trying to get ACPI work on my notebook as I bought it in autumn last year. First I decided to wait for Fedora Core 2 with full 2.6 support but I waited in vain (not for the release but for working ACPI). So now I decided to have a view into details. I read http://forums.gentoo.org/viewtopic.php?t=122145 and downloaded the iasl compiler from intel, did a make on it (after fixing some pathes in the Makefile) and decompiled it and tried to recompile. I got the following error [root@desperados compiler]# ./iasl -tc dsdt.dsl Intel ACPI Component Architecture ASL Optimizing Compiler / AML Disassembler version 20040527 [May 31 2004] Copyright (C) 2000 - 2004 Intel Corporation Supports ACPI Specification Revision 2.0c dsdt.dsl 3097: If (SS1) Error 1037 - ^ syntax error, unexpected PARSEOP_IF ASL Input: dsdt.dsl - 3174 lines, 104798 bytes, 1533 keywords Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations If have no idea what to do next ("Da schau ich rein wie ein Schwein ins Uhrwerk." one would say in germany). Anyone that could help me? Cheers Lars my dsdt.dsl": /* * Intel ACPI Component Architecture * AML Disassembler version 20040527 * * Disassembly of dsdt.dat, Mon May 31 18:10:33 2004 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "UW____", "755II5__", 22) { OperationRegion (BIOS, SystemMemory, 0x0F7DF064, 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 (0x09) { 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 }, Package (0x04) { 0x0002FFFF, 0x00, LNKA, 0x00 } }) Name (AR00, Package (0x09) { 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 }, Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x10 } }) 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 () }) } ... [truncated message content] |