From owner-freebsd-current Sat Nov 30 4:34:39 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7AE8337B401 for ; Sat, 30 Nov 2002 04:33:58 -0800 (PST) Received: from smtp.netcologne.de (smtp.netcologne.de [194.8.194.112]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1AADC43ED1 for ; Sat, 30 Nov 2002 04:33:56 -0800 (PST) (envelope-from tmseck-lists@netcologne.de) Received: from mail.tmseck.homedns.org (xdsl-213-168-116-249.netcologne.de [213.168.116.249]) by smtp.netcologne.de (Postfix) with ESMTP id EDE868682A; Sat, 30 Nov 2002 13:33:45 +0100 (MET) Received: by mail.tmseck.homedns.org (Postfix, from userid 1001) id C5E48286CC; Sat, 30 Nov 2002 13:33:34 +0100 (CET) Date: Sat, 30 Nov 2002 13:33:34 +0100 From: Thomas Seck To: acpi-jp@jp.freebsd.org Cc: freebsd-current@freebsd.org, iwasaki@jp.freebsd.org Subject: Re: [acpi-jp 2004] ACPI errors w/ latest ACPI code on GA BX2000 based system Message-ID: <20021130123334.GA397@laurel.tmseck.homedns.org> Mail-Followup-To: acpi-jp@jp.freebsd.org, freebsd-current@freebsd.org, iwasaki@jp.freebsd.org References: <20021129005056.GA770@laurel.tmseck.homedns.org> <20021130.125715.28771154.iwasaki@jp.FreeBSD.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="y0ulUmNC+osPPQO6" Content-Disposition: inline In-Reply-To: <20021130.125715.28771154.iwasaki@jp.FreeBSD.org> User-Agent: Mutt/1.4i Organization: private site in Germany X-PGP-KeyID: DF46EE05 X-PGP-Fingerprint: A38F AE66 6B11 6EB9 5D1A B67D 2444 2FE1 DF46 EE05 X-Attribution: tms Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --y0ulUmNC+osPPQO6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline * Mitsuru IWASAKI (iwasaki@jp.FreeBSD.org): Iwasaki-san, list members, > > > ACPI-0438: *** Error: Looking up [FAN_] in namespace, AE_NOT_FOUND > > > ACPI-1287: *** Error: Method execution failed, AE_NOT_FOUND > > I think that this was caused by the following spec changes. > From CHANGES.txt: > ---- > 22 October 2002. Summary of changes for version 20021022. > > 1) ACPI CA Core Subsystem: > > Implemented a restriction on the Scope operator that the > target must already exist in the namespace at the time the > operator is encountered (during table load or method > execution). In other words, forward references are not > allowed and Scope() cannot create a new object. This changes > the previous behavior where the interpreter would create the > name if not found. This new behavior correctly enables the > search-to-root algorithm during namespace lookup of the target > name. Because of this upsearch, this fixes the known Compaq > _SB_.OKEC problem and makes both the AML interpreter and iASL > compiler compatible with other ACPI implementations. > ---- > > Could you send your acpidump output to this acpi-jp ML? Of course. And thank you very much for working on this. Please see the attached file. --Thomas --y0ulUmNC+osPPQO6 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=acpidump /* RSD PTR: Checksum=226, OEMID=COMPAQ, RsdtAddress=0x0fff3000 */ /* RSDT: Length=40, Revision=1, Checksum=17, OEMID=COMPAQ, OEM Table ID=AWRDACPI, OEM Revision=0x42302e31, Creator ID=AWRD, Creator Revision=0x0 */ /* Entries={ 0x0fff3040 } */ /* DSDT=0xfff30c0 INT_MODEL=PIC SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xa1, ACPI_DISABLE=0xa0, S4BIOS_REQ=0xa4 PM1a_EVT_BLK=0x4000-0x4003 PM1a_CNT_BLK=0x4004-0x4005 PM2_TMR_BLK=0x4008-0x400b PM2_GPE0_BLK=0x400c-0x400f P_LVL2_LAT=90ms, P_LVL3_LAT=900ms FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=0 DAY_ALRM=13, MON_ALRM=0, CENTURY=0 Flags={WBINVD,PROC_C1,SLP_BUTTON} */ /* DSDT: Length=10553, Revision=1, Checksum=88, OEMID=COMPAQ, OEM Table ID=AWRDACPI, OEM Revision=0x1000, Creator ID=MSFT, Creator Revision=0x100000c */ DefinitionBlock ( "acpi_dsdt.aml", //Output filename "DSDT", //Signature 0x1, //DSDT Revision "COMPAQ", //OEMID "AWRDACPI", //TABLE ID 0x1000 //OEM Revision ) { Scope(\_PR_) { Processor(\_PR_.CPU0, 1, 0x4010, 0x6) { } } Name(\_S0_, Package(0x2) { 0x5, 0x5, }) OperationRegion(CMOS, SystemIO, 0x70, 0x2) Field(CMOS, ByteAcc, NoLock, Preserve) { INX_, 8, DTA_, 8 } Store(0x8, Local0) Store(0x54, INX_) Store(DTA_, Local1) And(Local1, Local0, Local1) If(LEqual(Local1, 0x8)) { Name(\_S3_, Package(0x2) { 0x1, 0x1, }) } Else { Name(\_S1_, Package(0x2) { 0x4, 0x4, }) } Name(\_S4_, Package(0x2) { Zero, Zero, }) Name(\_S5_, Package(0x2) { Zero, Zero, }) OperationRegion(\DEBG, SystemIO, 0x80, 0x1) Field(\DEBG, ByteAcc, NoLock, Preserve) { DBG1, 8 } OperationRegion(\MUS1, SystemIO, 0x64, 0x1) Field(\MUS1, ByteAcc, NoLock, Preserve) { MUSE, 8 } OperationRegion(EXTM, SystemMemory, 0x000ff830, 0x10) Field(EXTM, WordAcc, NoLock, Preserve) { ROM1, 16, RMS1, 16, ROM2, 16, RMS2, 16, ROM3, 16, RMS3, 16, AMEM, 32 } OperationRegion(VGAM, SystemMemory, 0x000c0002, 0x1) Field(VGAM, ByteAcc, NoLock, Preserve) { VGA1, 8 } OperationRegion(\TRAP, SystemIO, 0x402f, 0x1) Field(\TRAP, ByteAcc, NoLock, Preserve) { , 1, TR13, 1 } OperationRegion(PMES, SystemIO, 0x4015, 0x1) Field(PMES, ByteAcc, NoLock, Preserve) { , 1, PME_, 1 } OperationRegion(\GBLE, SystemIO, 0x4021, 0x1) Field(\GBLE, ByteAcc, NoLock, Preserve) { ESMI, 8 } Name(CMDB, Buffer(0x8) { }) CreateByteField(CMDB, 0x0, BYT0) CreateByteField(CMDB, 0x1, BYT1) CreateByteField(CMDB, 0x2, BYT2) CreateByteField(CMDB, 0x3, BYT3) CreateByteField(CMDB, 0x4, BYT4) CreateByteField(CMDB, 0x5, BYT5) CreateByteField(CMDB, 0x6, BYT6) CreateByteField(CMDB, 0x7, BYT7) Name(IDEB, Buffer(0x38) { }) CreateField(IDEB, 0x0, 0x38, CMD0) CreateField(IDEB, 0x38, 0x38, CMD1) CreateField(IDEB, 0x70, 0x38, CMD2) CreateField(IDEB, 0xa8, 0x38, CMD3) CreateField(IDEB, 0xe0, 0x38, CMD4) CreateField(IDEB, 0x0118, 0x38, CMD5) CreateField(IDEB, 0x0150, 0x38, CMD6) CreateField(IDEB, 0x0188, 0x38, CMD7) OperationRegion(APMP, SystemIO, 0xb2, 0x2) Field(APMP, ByteAcc, NoLock, Preserve) { APMC, 8, APMD, 8 } OperationRegion(ELCR, SystemIO, 0x04d0, 0x2) Field(ELCR, ByteAcc, NoLock, Preserve) { ELC1, 8, ELC2, 8 } OperationRegion(GPOB, SystemIO, 0x4034, 0x4) Field(GPOB, ByteAcc, NoLock, Preserve) { GP00, 1, GP01, 1, GP02, 1, GP03, 1, GP04, 1, GP05, 1, GP06, 1, GP07, 1, GP08, 1, GP09, 1, GP0A, 1, GP0B, 1, GP0C, 1, GP0D, 1, GP0E, 1, GP0F, 1, GP10, 1, GP11, 1, GP12, 1, GP13, 1, GP14, 1, GP15, 1, GP16, 1, GP17, 1, GP18, 1, GP19, 1, GP1A, 1, GP1B, 1, GP1C, 1, GP1D, 1, GP1E, 1, GP1F, 1 } Name(OSFL, 0x1) Method(STRC, 2) { If(LNot(LEqual(SizeOf(Arg0), SizeOf(Arg1)))) { Return(0x0) } Add(SizeOf(Arg0), 0x1, Local0) Name(BUF0, Buffer(Local0) { }) Name(BUF1, Buffer(Local0) { }) Store(Arg0, BUF0) Store(Arg1, BUF1) While(Local0) { Decrement(Local0) If(LNot(LEqual(DerefOf(Index(BUF0, Local0, )), DerefOf(Index(BUF1, Local0, ))))) { Return(Zero) } } Return(One) } OperationRegion(RTCM, SystemIO, 0x70, 0x2) Field(RTCM, ByteAcc, NoLock, Preserve) { CMIN, 8, CMDA, 8 } IndexField(CMIN, CMDA, ByteAcc, NoLock, Preserve) { Offset(0xf), SHUT, 8 } OperationRegion(\GRAM, SystemMemory, 0x0400, 0x0100) Field(\GRAM, ByteAcc, NoLock, Preserve) { Offset(0x10), FLG0, 8, Offset(0xba), SFLG, 8 } OperationRegion(INFO, SystemMemory, 0x000ff840, 0x1) Field(INFO, ByteAcc, NoLock, Preserve) { KBDI, 1, RTCW, 1 } OperationRegion(BEEP, SystemIO, 0x61, 0x1) Field(BEEP, ByteAcc, NoLock, Preserve) { S1B_, 8 } OperationRegion(CONT, SystemIO, 0x40, 0x4) Field(CONT, ByteAcc, NoLock, Preserve) { CNT0, 8, CNT1, 8, CNT2, 8, CTRL, 8 } Method(SPKR, 1) { Store(S1B_, Local0) Store(0xb6, CTRL) Store(0x55, CNT2) Store(0x3, CNT2) Store(Arg0, Local2) While(LGreater(Local2, 0x0)) { Or(S1B_, 0x3, S1B_) Store(0x5fff, Local3) While(LGreater(Local3, 0x0)) { Decrement(Local3) } And(S1B_, 0xfc, S1B_) Store(0x0eff, Local3) While(LGreater(Local3, 0x0)) { Decrement(Local3) } Decrement(Local2) } Store(Local0, S1B_) } Method(\_PTS, 1) { If(LEqual(Arg0, 0x5)) { Or(Arg0, 0x50, Local0) Store(One, TR13) } If(LEqual(Arg0, 0x1)) { Store(One, TR13) } If(LEqual(Arg0, 0x2)) { Store(One, TR13) } If(LEqual(Arg0, 0x3)) { Store(One, TR13) } Or(Arg0, 0xf0, Local0) Store(Local0, DBG1) If(LEqual(Arg0, 0x4)) { } If(LEqual(Arg0, 0x5)) { Store(One, GP1B) } } Method(\_WAK, 1) { Store(0xff, DBG1) Store(0x0, PME_) Notify(\_SB_.PWRB, 0x2) } Scope(\_SI_) { Name(SF56, 0x0) Name(SF57, 0x0) Name(FLAG, 0x0) OperationRegion(SIFG, SystemMemory, 0x000ff81c, 0x1) Field(SIFG, ByteAcc, NoLock, Preserve) { SBIT, 2, Offset(0x1) } OperationRegion(ITE1, SystemIO, 0x03f0, 0x2) Field(ITE1, ByteAcc, NoLock, Preserve) { IND0, 8, DATA, 8 } OperationRegion(ENG1, SystemIO, 0x0279, 0x1) Field(ENG1, ByteAcc, NoLock, Preserve) { CONG, 8 } Method(ENFG) { Store(0x86, CONG) Store(0x80, CONG) Store(0x55, CONG) Store(0x55, CONG) Store(0x6a, IND0) Store(0xb5, IND0) Store(0xda, IND0) Store(0xed, IND0) Store(0xf6, IND0) Store(0xfb, IND0) Store(0x7d, IND0) Store(0xbe, IND0) Store(0xdf, IND0) Store(0x6f, IND0) Store(0x37, IND0) Store(0x1b, IND0) Store(0xd, IND0) Store(0x86, IND0) Store(0xc3, IND0) Store(0x61, IND0) Store(0xb0, IND0) Store(0x58, IND0) Store(0x2c, IND0) Store(0x16, IND0) Store(0x8b, IND0) Store(0x45, IND0) Store(0xa2, IND0) Store(0xd1, IND0) Store(0xe8, IND0) Store(0x74, IND0) Store(0x3a, IND0) Store(0x9d, IND0) Store(0xce, IND0) Store(0xe7, IND0) Store(0x73, IND0) Store(0x39, IND0) } Method(EXFG) { Store(0x2, IND0) Store(0x2, DATA) } Method(SPLD, 2) { ENFG() Store(0x7, IND0) Store(0x7, DATA) If(LEqual(Arg0, Zero)) { Store(0x0, Local0) } If(LEqual(Arg0, One)) { Store(0x2, Local0) And(Local0, 0x3f, Local0) Or(Local0, Arg1, Local0) } Store(0x71, IND0) Store(Local0, DATA) EXFG() } OperationRegion(\GPO0, SystemIO, 0x4034, 0x1) Field(\GPO0, ByteAcc, NoLock, Preserve) { GPO0, 8 } OperationRegion(THRO, SystemIO, 0x4011, 0x1) Field(THRO, ByteAcc, NoLock, Preserve) { THRP, 8 } Method(GREN, 1) { Store(THRP, Local0) If(LEqual(Arg0, Zero)) { Or(GPO0, 0x1, GPO0) And(Local0, 0xfd, Local0) } If(LEqual(Arg0, One)) { And(GPO0, 0xfe, GPO0) Or(Local0, 0x2, Local0) } Store(Local0, THRP) } Method(DELY, 1) { Store(Arg0, Local0) While(LGreater(Local0, 0x0)) { Decrement(Local0) } } Method(OFAN) { DELY(0x000186a0) If(LEqual(FLAG, 0x0)) { Store(GBYT(0x56), SF56) Store(GBYT(0x57), SF57) } Else { SBYT(0x56, SF56) SBYT(0x57, SF57) } } Method(CFAN) { Store(0x1, FLAG) And(GBYT(0x56), 0x3f, Local0) SBYT(0x56, Local0) And(GBYT(0x57), 0xf7, Local0) SBYT(0x57, Local0) } OperationRegion(IP__, SystemIO, 0x0295, 0x2) Field(IP__, ByteAcc, NoLock, Preserve) { INDX, 8, DAT0, 8 } Method(SCFG, 1) { SBYT(0x40, Arg0) } Method(STOS, 3) { Store(GBYT(0x4e), Local0) Or(Local0, 0x1, Local1) SBYT(0x4e, Local1) SBYT(0x55, Arg1) SBYT(0x56, Arg0) SBYT(0x4e, Local0) } Method(STHY, 3) { Store(GBYT(0x4e), Local0) Or(Local0, 0x1, Local1) SBYT(0x4e, Local1) SBYT(0x53, Arg1) SBYT(0x54, Arg0) SBYT(0x4e, Local0) } Method(RTMP) { Store(GBYT(0x4e), Local0) Or(Local0, 0x1, Local1) SBYT(0x4e, Local1) Store(GBYT(0x50), Local1) Store(GBYT(0x51), Local2) ShiftLeft(Local1, 0x8, Local1) Or(Local1, Local2, Local3) ShiftRight(Local3, 0x7, Local3) ShiftLeft(Local3, 0x2, Local1) Add(Local3, Local1, Local3) Add(Local3, 0x0aac, Local3) SBYT(0x4e, Local0) Return(Local3) } Method(SBYT, 2) { Store(Arg0, INDX) Store(Arg1, DAT0) } Method(GBYT, 1) { Store(Arg0, INDX) Store(DAT0, Local7) Return(Local7) } Method(_MSG, 1) { Store(Local0, DBG1) } Method(_SST, 1) { If(LEqual(Arg0, Zero)) { If(LNot(LEqual(SBIT, 0x3))) { SPLD(0x1, 0x20) } Return(0x0) } If(LEqual(Arg0, One)) { SPLD(0x0, 0x0) GREN(0x0) Store(One, GP1B) Store(One, GP1C) Store(One, GP1E) OFAN() Return(0x0) } If(LEqual(Arg0, 0x2)) { GREN(0x1) Return(0x0) } If(LEqual(Arg0, 0x3)) { Store(0x1, Local0) Store(0x53, INX_) Store(DTA_, Local1) And(Local1, Local0, Local1) If(LEqual(Local1, 0x1)) { Store(Zero, GP1B) Store(Zero, GP1C) Store(Zero, GP1E) } CFAN() If(LEqual(SBIT, 0x0)) { SPLD(0x0, 0x0) } If(LEqual(SBIT, 0x1)) { SPLD(0x1, 0x20) } If(LEqual(SBIT, 0x2)) { SPLD(0x1, 0x80) } GREN(0x1) Return(0x0) } If(LEqual(Arg0, 0x4)) { If(LEqual(SBIT, 0x0)) { SPLD(0x0, 0x0) } If(LEqual(SBIT, 0x1)) { SPLD(0x1, 0x20) } If(LEqual(SBIT, 0x2)) { SPLD(0x1, 0x80) } GREN(0x0) Return(0x0) } } } OperationRegion(TEMM, SystemMemory, 0x000ff810, 0xc) Field(TEMM, WordAcc, NoLock, Preserve) { TP1H, 16, TP1L, 16, TP2H, 16, TP2L, 16, TRPC, 16, SENF, 16 } Name(TVAR, Buffer(0x5) {0x0, 0x0, 0x0, 0x0, 0x0 }) CreateByteField(TVAR, 0x0, PLCY) CreateWordField(TVAR, 0x1, CTOS) CreateWordField(TVAR, 0x3, CTHY) Store(TP1H, CTOS) Store(TP1L, CTHY) Name(TBUF, Buffer(0x4) {0x0, 0x0, 0x0, 0x0 }) CreateByteField(TBUF, 0x0, DB00) CreateByteField(TBUF, 0x1, DB01) CreateWordField(TBUF, 0x0, DW00) CreateWordField(TBUF, 0x2, DW01) CreateDWordField(TBUF, 0x0, DATD) OperationRegion(IP__, SystemIO, 0x0295, 0x2) Field(IP__, ByteAcc, NoLock, Preserve) { INDX, 8, DAT0, 8 } Method(SCFG, 1) { SBYT(0x40, Arg0) } Method(STOS, 3) { Store(GBYT(0x4e), Local0) Or(Local0, 0x1, Local1) SBYT(0x4e, Local1) SBYT(0x55, Arg1) SBYT(0x56, Arg0) SBYT(0x4e, Local0) } Method(STHY, 3) { Store(GBYT(0x4e), Local0) Or(Local0, 0x1, Local1) SBYT(0x4e, Local1) SBYT(0x53, Arg1) SBYT(0x54, Arg0) SBYT(0x4e, Local0) } Method(RTMP) { Store(GBYT(0x4e), Local0) Or(Local0, 0x1, Local1) SBYT(0x4e, Local1) Store(GBYT(0x50), Local1) Store(GBYT(0x51), Local2) ShiftLeft(Local1, 0x8, Local1) Or(Local1, Local2, Local3) ShiftRight(Local3, 0x7, Local3) ShiftLeft(Local3, 0x2, Local1) Add(Local3, Local1, Local3) Add(Local3, 0x0aac, Local3) SBYT(0x4e, Local0) Return(Local3) } Method(SBYT, 2) { Store(Arg0, INDX) Store(Arg1, DAT0) } Method(GBYT, 1) { Store(Arg0, INDX) Store(DAT0, Local7) Return(Local7) } Scope(\_TZ_) { ThermalZone(THRM) { Name(_AL0, Package(0x1) { FAN_, }) Method(_AC0) { If(Or(PLCY, PLCY, Local7)) { Return(TP2H) } Else { Return(TP1H) } } Name(_PSL, Package(0x1) { \_PR_.CPU0, }) Name(_TSP, 0x3c) Name(_TC1, 0x4) Name(_TC2, 0x3) Method(_PSV) { If(Or(PLCY, PLCY, Local7)) { Return(TP1H) } Else { Return(TP2H) } } Method(_CRT) { Return(TRPC) } Method(_TMP) { And(SENF, 0x5, Local6) If(LEqual(Local6, 0x5)) { Store(RTMP(), Local6) If(LNot(LLess(Local6, TRPC))) { Store(TRPC, Local7) Subtract(Local7, 0xa, Local7) Return(Local7) } Else { Return(Local6) } } And(SENF, 0x1, Local6) If(LEqual(Local6, 0x1)) { Return(RTMP()) } Else { Return(0x0b86) } } Method(_SCP, 1) { If(Arg0) { Store(One, PLCY) } Else { Store(Zero, PLCY) } Notify(\_TZ_.THRM, 0x81) } Method(STMP, 2) { Store(Arg1, DW00) If(Arg0) { STHY(DB00, DB01, DW00) } Else { STOS(DB00, DB01, DW00) } } } } Scope(\_GPE) { } Scope(\_SB_) { Device(PWRB) { Name(_HID, 0x0c0cd041) Method(_STA) { Return(0xb) } } Device(MEM_) { Name(_HID, 0x010cd041) Method(_CRS) { Name(BUF0, Buffer(0x62) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xf, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x40, 0xf, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x80, 0xf, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0xc0, 0xf, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x1, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) CreateDWordField(BUF0, 0x34, ACMM) CreateDWordField(BUF0, 0x4, RMA1) CreateDWordField(BUF0, 0x8, RSS1) CreateDWordField(BUF0, 0x10, RMA2) CreateDWordField(BUF0, 0x14, RSS2) CreateDWordField(BUF0, 0x1c, RMA3) CreateDWordField(BUF0, 0x20, RSS3) CreateDWordField(BUF0, 0x28, RMA4) CreateDWordField(BUF0, 0x2c, RSS4) CreateDWordField(BUF0, 0x5c, EXTM) Subtract(AMEM, 0x00100000, EXTM) If(LNot(LEqual(ROM1, Zero))) { Store(RMA1, RMA2) ShiftLeft(ROM1, 0x8, Local0) Store(Local0, RMA1) ShiftLeft(RMS1, 0x8, Local0) Store(Local0, RSS1) Store(0x8000, RSS2) } If(LNot(LEqual(ROM2, Zero))) { Store(RMA2, RMA3) ShiftLeft(ROM2, 0x8, Local0) Store(Local0, RMA2) ShiftLeft(RMS2, 0x8, Local0) Store(Local0, RSS2) Store(0xc000, RSS3) } If(LNot(LEqual(ROM3, Zero))) { Store(RMA3, RMA4) ShiftLeft(ROM3, 0x8, Local0) Store(Local0, RMA3) ShiftLeft(RMS3, 0x8, Local0) Store(Local0, RSS3) Store(0x00010000, RSS4) } Store(AMEM, ACMM) Return(BUF0) } } Device(PCI0) { Name(_HID, 0x030ad041) Name(_ADR, 0x0) Method(_STA) { Return(0xf) } Method(_S3D) { Return(0x1) } Method(_CRS) { Name(BUF0, Buffer(0x9e) {0x88, 0xd, 0x0, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0x3f, 0x0, 0x0, 0x0, 0x33, 0x47, 0x1, 0x0, 0x40, 0x0, 0x40, 0x1, 0x42, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x42, 0x40, 0xff, 0x4f, 0x0, 0x0, 0xbe, 0xf, 0x47, 0x1, 0x0, 0x50, 0x0, 0x50, 0x1, 0x10, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x10, 0x50, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xaf, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0xff, 0xff, 0xef, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0x79, 0x0 }) CreateDWordField(BUF0, 0x76, VMAX) CreateDWordField(BUF0, 0x7e, VLEN) ShiftLeft(VGA1, 0x9, Local0) Add(Local0, 0x000bffff, VMAX) Add(Local0, 0x00020000, VLEN) CreateDWordField(BUF0, 0x8c, TCMM) CreateDWordField(BUF0, 0x98, TOMM) Add(AMEM, 0x00010000, TCMM) Subtract(0xfff00000, TCMM, TOMM) Return(BUF0) } Name(_PRT, Package(0x1c) { Package(0x4) { 0x0008ffff, 0x0, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x0008ffff, 0x1, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x0008ffff, 0x2, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x0008ffff, 0x3, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x0009ffff, 0x0, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x0009ffff, 0x1, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x0009ffff, 0x2, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x0009ffff, 0x3, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x000affff, 0x0, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x000affff, 0x1, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x000affff, 0x2, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x000affff, 0x3, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x000bffff, 0x0, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x000bffff, 0x1, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x000bffff, 0x2, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x000bffff, 0x3, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x000cffff, 0x0, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x000cffff, 0x1, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x000cffff, 0x2, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x000cffff, 0x3, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x0007ffff, 0x0, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x0007ffff, 0x1, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x0007ffff, 0x2, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x0007ffff, 0x3, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x0001ffff, 0x0, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x0001ffff, 0x1, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x0001ffff, 0x2, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x0001ffff, 0x3, \_SB_.PCI0.ISA_.LNKD, 0x0, }, }) Device(PX40) { Name(_ADR, 0x00070000) OperationRegion(PIRQ, PCI_Config, 0x60, 0x4) Scope(\) { Field(\_SB_.PCI0.PX40.PIRQ, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } } } Device(USB0) { Name(_ADR, 0x00070002) Name(_PRW, Package(0x2) { 0x8, 0x4, }) } Device(PX43) { Name(_ADR, 0x00070003) } Device(ISA_) { Name(_ADR, 0x00070000) Method(_STA) { Return(0xb) } Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x1) Method(_STA) { And(PIRA, 0x80, Local0) If(LEqual(Local0, 0x80)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFA, Buffer(0x6) {0x23, 0xf8, 0xdc, 0x18, 0x79, 0x0 }) Return(BUFA) } Method(_DIS) { Store(0x1, Local3) And(PIRA, 0xf, Local1) Store(Local1, Local2) If(LGreater(Local1, 0x8)) { Subtract(Local1, 0x8, Local1) } ShiftLeft(Local3, Local1, Local3) Not(Local3, Local3) If(LGreater(Local2, 0x8)) { And(ELC2, Local3, ELC2) } Else { And(ELC1, Local3, ELC1) } Or(PIRA, 0x80, PIRA) } Method(_CRS) { Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFA, 0x1, IRA1) CreateByteField(BUFA, 0x2, IRA2) Store(0x0, Local3) Store(0x0, Local4) And(PIRA, 0x8f, Local1) If(LLess(Local1, 0x80)) { And(Local1, 0xf, Local1) If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRA1) Store(Local4, IRA2) } Return(BUFA) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRA1) CreateByteField(Arg0, 0x2, IRA2) ShiftLeft(IRA2, 0x8, Local0) Or(Local0, IRA1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(PIRA, 0x70, Local0) Or(Local1, Local0, PIRA) } } Device(LNKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0x2) Method(_STA) { And(PIRB, 0x80, Local0) If(LEqual(Local0, 0x80)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFB, Buffer(0x6) {0x23, 0xf8, 0xdc, 0x18, 0x79, 0x0 }) Return(BUFB) } Method(_DIS) { Store(0x1, Local3) And(PIRB, 0xf, Local1) Store(Local1, Local2) If(LGreater(Local1, 0x8)) { Subtract(Local1, 0x8, Local1) } ShiftLeft(Local3, Local1, Local3) Not(Local3, Local3) If(LGreater(Local2, 0x8)) { And(ELC2, Local3, ELC2) } Else { And(ELC1, Local3, ELC1) } Or(PIRB, 0x80, PIRB) } Method(_CRS) { Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFB, 0x1, IRB1) CreateByteField(BUFB, 0x2, IRB2) Store(0x0, Local3) Store(0x0, Local4) And(PIRB, 0x8f, Local1) If(LLess(Local1, 0x80)) { And(Local1, 0xf, Local1) If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRB1) Store(Local4, IRB2) } Return(BUFB) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRB1) CreateByteField(Arg0, 0x2, IRB2) ShiftLeft(IRB2, 0x8, Local0) Or(Local0, IRB1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(PIRB, 0x70, Local0) Or(Local1, Local0, PIRB) } } Device(LNKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0x3) Method(_STA) { And(PIRC, 0x80, Local0) If(LEqual(Local0, 0x80)) { Return(0x9) } Else { Return(0xb) } } Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xdc, 0x18, 0x79, 0x0 }) Method(_DIS) { Store(0x1, Local3) And(PIRC, 0xf, Local1) Store(Local1, Local2) If(LGreater(Local1, 0x8)) { Subtract(Local1, 0x8, Local1) } ShiftLeft(Local3, Local1, Local3) Not(Local3, Local3) If(LGreater(Local2, 0x8)) { And(ELC2, Local3, ELC2) } Else { And(ELC1, Local3, ELC1) } Or(PIRC, 0x80, PIRC) } Method(_CRS) { Name(BUFC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFC, 0x1, IRC1) CreateByteField(BUFC, 0x2, IRC2) Store(0x0, Local3) Store(0x0, Local4) And(PIRC, 0x8f, Local0) If(LLess(Local0, 0x80)) { And(Local0, 0xf, Local0) If(LGreater(Local0, 0x7)) { Subtract(Local0, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local0, 0x0)) { ShiftLeft(One, Local0, Local3) } } Store(Local3, IRC1) Store(Local4, IRC2) } Return(BUFC) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRC1) CreateByteField(Arg0, 0x2, IRC2) ShiftLeft(IRC2, 0x8, Local0) Or(Local0, IRC1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(PIRC, 0x70, Local0) Or(Local1, Local0, PIRC) } } Device(LNKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0x4) Method(_STA) { And(PIRD, 0x80, Local0) If(LEqual(Local0, 0x80)) { Return(0x9) } Else { Return(0xb) } } Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xdc, 0x18, 0x79, 0x0 }) Method(_DIS) { Store(0x1, Local3) And(PIRD, 0xf, Local1) Store(Local1, Local2) If(LGreater(Local1, 0x8)) { Subtract(Local1, 0x8, Local1) } ShiftLeft(Local3, Local1, Local3) Not(Local3, Local3) If(LGreater(Local2, 0x8)) { And(ELC2, Local3, ELC2) } Else { And(ELC1, Local3, ELC1) } Or(PIRD, 0x80, PIRD) } Method(_CRS) { Name(BUFD, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFD, 0x1, IRD1) CreateByteField(BUFD, 0x2, IRD2) Store(0x0, Local3) Store(0x0, Local4) And(PIRD, 0x8f, Local0) If(LLess(Local0, 0x80)) { And(Local0, 0xf, Local0) If(LGreater(Local0, 0x7)) { Subtract(Local0, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local0, 0x0)) { ShiftLeft(One, Local0, Local3) } } Store(Local3, IRD1) Store(Local4, IRD2) } Return(BUFD) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRD1) CreateByteField(Arg0, 0x2, IRD2) ShiftLeft(IRD2, 0x8, Local0) Or(Local0, IRD1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(PIRD, 0x70, Local0) Or(Local1, Local0, PIRD) } } Device(SYSR) { Name(_HID, 0x020cd041) Name(_UID, 0x1) Name(_CRS, Buffer(0x62) {0x47, 0x1, 0x10, 0x0, 0x10, 0x0, 0x1, 0x10, 0x47, 0x1, 0x22, 0x0, 0x22, 0x0, 0x1, 0x1e, 0x47, 0x1, 0x44, 0x0, 0x44, 0x0, 0x1, 0x1c, 0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x2, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0xb, 0x47, 0x1, 0x74, 0x0, 0x74, 0x0, 0x1, 0xc, 0x47, 0x1, 0x91, 0x0, 0x91, 0x0, 0x1, 0x3, 0x47, 0x1, 0xa2, 0x0, 0xa2, 0x0, 0x1, 0x1e, 0x47, 0x1, 0xe0, 0x0, 0xe0, 0x0, 0x1, 0x10, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0x94, 0x2, 0x94, 0x2, 0x1, 0x4, 0x79, 0x0 }) } Device(PIC_) { Name(_HID, 0xd041) Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 }) } Device(DMA1) { Name(_HID, 0x0002d041) Name(_CRS, Buffer(0x25) {0x2a, 0x10, 0x4, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x11, 0x47, 0x1, 0x94, 0x0, 0x94, 0x0, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x79, 0x0 }) } Device(TMR_) { Name(_HID, 0x0001d041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 }) } Device(RTC_) { Name(_HID, 0x000bd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x0, 0x4, 0x22, 0x0, 0x1, 0x79, 0x0 }) } Device(SPKR) { Name(_HID, 0x0008d041) Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 }) } Device(COPR) { Name(_HID, 0x040cd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 }) } OperationRegion(ITE1, SystemIO, 0x03f0, 0x2) Field(ITE1, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } OperationRegion(ENG1, SystemIO, 0x0279, 0x1) Field(ENG1, ByteAcc, NoLock, Preserve) { CONG, 8 } IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) { Offset(0x2), CFG_, 8, Offset(0x7), LDN_, 8, Offset(0x22), POWC, 8, Offset(0x30), ACTR, 8, Offset(0x60), IOAH, 8, IOAL, 8, Offset(0x70), INTR, 8, Offset(0x72), INT1, 8, Offset(0x74), DMCH, 8, Offset(0xc0), GP40, 8, Offset(0xf0), OPT1, 8, OPT2, 8, OPT3, 8 } Method(ENFG) { Store(0x86, CONG) Store(0x80, CONG) Store(0x55, CONG) Store(0x55, CONG) Store(0x6a, INDX) Store(0xb5, INDX) Store(0xda, INDX) Store(0xed, INDX) Store(0xf6, INDX) Store(0xfb, INDX) Store(0x7d, INDX) Store(0xbe, INDX) Store(0xdf, INDX) Store(0x6f, INDX) Store(0x37, INDX) Store(0x1b, INDX) Store(0xd, INDX) Store(0x86, INDX) Store(0xc3, INDX) Store(0x61, INDX) Store(0xb0, INDX) Store(0x58, INDX) Store(0x2c, INDX) Store(0x16, INDX) Store(0x8b, INDX) Store(0x45, INDX) Store(0xa2, INDX) Store(0xd1, INDX) Store(0xe8, INDX) Store(0x74, INDX) Store(0x3a, INDX) Store(0x9d, INDX) Store(0xce, INDX) Store(0xe7, INDX) Store(0x73, INDX) Store(0x39, INDX) } Method(EXFG) { Store(0x2, CFG_) } Device(FDC0) { Name(_HID, 0x0007d041) Method(_STA) { ENFG() Store(Zero, LDN_) If(ACTR) { EXFG() Return(0xf) } Else { If(LOr(IOAH, IOAL)) { EXFG() Return(0xd) } Else { EXFG() Return(0x0) } } } Method(_DIS) { ENFG() Store(0x0, LDN_) Store(Zero, ACTR) EXFG() } Method(_CRS) { Name(BUF0, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(BUF0, 0x2, IOLO) CreateByteField(BUF0, 0x3, IOHI) CreateByteField(BUF0, 0x4, IORL) CreateByteField(BUF0, 0x5, IORH) CreateByteField(BUF0, 0xa, ILO1) CreateByteField(BUF0, 0xb, IHI1) CreateByteField(BUF0, 0xc, IRL1) CreateByteField(BUF0, 0xd, IRH1) CreateByteField(BUF0, 0x11, IRQL) CreateByteField(BUF0, 0x14, DMAV) ENFG() Store(Zero, LDN_) Store(One, ACTR) Add(IOAL, 0x2, Local2) Store(Local2, IOLO) Store(Local2, IORL) Store(IOAH, IOHI) Store(IOAH, IORH) Add(IOAL, 0x7, Local2) Store(Local2, ILO1) Store(Local2, IRL1) Store(IOAH, IHI1) Store(IOAH, IRH1) Store(One, Local0) ShiftLeft(Local0, INTR, IRQL) Store(One, Local0) ShiftLeft(Local0, DMCH, DMAV) EXFG() Return(BUF0) } Name(_PRS, Buffer(0x1a) {0x30, 0x47, 0x1, 0xf2, 0x3, 0xf2, 0x3, 0x0, 0x4, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x0, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateWordField(Arg0, 0x11, IRQL) CreateByteField(Arg0, 0x14, DMAV) ENFG() Store(Zero, LDN_) Store(0xf0, IOAL) Store(IOHI, IOAH) FindSetRightBit(IRQL, Local0) Subtract(Local0, 0x1, INTR) FindSetRightBit(DMAV, Local0) Subtract(Local0, 0x1, DMCH) Store(One, ACTR) EXFG() } } Device(UAR1) { Name(_HID, 0x0105d041) Name(_UID, 0x1) Method(_STA) { ENFG() Store(0x1, LDN_) If(ACTR) { EXFG() Return(0xf) } Else { If(LOr(IOAH, IOAL)) { EXFG() Return(0xd) } Else { EXFG() Return(0x0) } } } Method(_DIS) { ENFG() Store(0x1, LDN_) Store(Zero, ACTR) EXFG() } Method(_CRS) { Name(BUF1, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(BUF1, 0x2, IOLO) CreateByteField(BUF1, 0x3, IOHI) CreateByteField(BUF1, 0x4, IORL) CreateByteField(BUF1, 0x5, IORH) CreateByteField(BUF1, 0x9, IRQL) ENFG() Store(0x1, LDN_) Store(One, ACTR) Store(IOAL, IOLO) Store(IOAL, IORL) Store(IOAH, IOHI) Store(IOAH, IORH) Store(One, Local0) ShiftLeft(Local0, INTR, IRQL) EXFG() Return(BUF1) } Name(_PRS, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateByteField(Arg0, 0x9, IRQL) ENFG() Store(0x1, LDN_) Store(IOLO, IOAL) Store(IOHI, IOAH) FindSetRightBit(IRQL, Local0) Subtract(Local0, 0x1, INTR) Store(One, ACTR) EXFG() } } Device(UAR2) { Name(_HID, 0x0105d041) Name(_UID, 0x2) Method(_STA) { ENFG() Store(0x2, LDN_) And(OPT2, 0x7, Local0) If(LEqual(Local0, 0x0)) { If(ACTR) { EXFG() Return(0xf) } Else { If(LOr(IOAH, IOAL)) { EXFG() Return(0xd) } Else { EXFG() Return(0x0) } } } Else { EXFG() Return(0x0) } } Method(_DIS) { ENFG() Store(0x2, LDN_) And(OPT2, 0x7, Local0) If(LEqual(Local0, 0x0)) { Store(Zero, ACTR) } EXFG() } Method(_CRS) { Name(BUF2, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(BUF2, 0x2, IOLO) CreateByteField(BUF2, 0x3, IOHI) CreateByteField(BUF2, 0x4, IORL) CreateByteField(BUF2, 0x5, IORH) CreateByteField(BUF2, 0x9, IRQL) ENFG() Store(0x2, LDN_) Store(One, ACTR) Store(IOAL, IOLO) Store(IOAL, IORL) Store(IOAH, IOHI) Store(IOAH, IORH) Store(One, Local0) ShiftLeft(Local0, INTR, IRQL) EXFG() Return(BUF2) } Name(_PRS, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateByteField(Arg0, 0x9, IRQL) ENFG() Store(0x2, LDN_) Store(One, ACTR) Store(IOLO, IOAL) Store(IOHI, IOAH) FindSetRightBit(IRQL, Local0) Subtract(Local0, 0x1, INTR) EXFG() } } Device(IRDA) { Name(_HID, 0x1005d041) Method(_STA) { ENFG() Store(0x2, LDN_) And(OPT2, 0x7, Local0) If(LEqual(Local0, 0x1)) { If(ACTR) { EXFG() Return(0xf) } Else { If(LOr(IOAH, IOAL)) { EXFG() Return(0xd) } Else { EXFG() Return(0x0) } } } Else { EXFG() Return(0x0) } } Method(_DIS) { ENFG() Store(0x2, LDN_) And(OPT2, 0x7, Local0) If(LNot(LEqual(Local0, 0x0))) { Store(Zero, ACTR) } EXFG() } Method(_CRS) { Name(BUF3, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(BUF3, 0x2, IOLO) CreateByteField(BUF3, 0x3, IOHI) CreateByteField(BUF3, 0x4, IORL) CreateByteField(BUF3, 0x5, IORH) CreateByteField(BUF3, 0x9, IRQL) ENFG() Store(0x2, LDN_) Store(One, ACTR) Store(IOAL, IOLO) Store(IOAL, IORL) Store(IOAH, IOHI) Store(IOAH, IORH) Store(One, Local0) ShiftLeft(Local0, INTR, IRQL) EXFG() Return(BUF3) } Name(_PRS, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateByteField(Arg0, 0x9, IRQL) ENFG() Store(0x2, LDN_) Store(One, ACTR) Store(IOLO, IOAL) Store(IOHI, IOAH) FindSetRightBit(IRQL, Local0) Subtract(Local0, 0x1, INTR) EXFG() } } Device(LPT_) { Name(_HID, 0x0004d041) Method(_STA) { ENFG() Store(0x3, LDN_) And(OPT1, 0x2, Local0) If(LEqual(Local0, 0x0)) { If(ACTR) { EXFG() Return(0xf) } Else { If(LOr(IOAH, IOAL)) { EXFG() Return(0xd) } Else { EXFG() Return(0x0) } } } Else { EXFG() Return(0x0) } } Method(_DIS) { ENFG() Store(0x3, LDN_) Store(Zero, ACTR) EXFG() } Method(_CRS) { Name(BUF5, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(BUF5, 0x2, IOLO) CreateByteField(BUF5, 0x3, IOHI) CreateByteField(BUF5, 0x4, IORL) CreateByteField(BUF5, 0x5, IORH) CreateByteField(BUF5, 0x7, IOLN) CreateByteField(BUF5, 0x9, IRQL) ENFG() Store(0x3, LDN_) Store(One, ACTR) Store(IOAL, IOLO) Store(IOAL, IORL) Store(IOAH, IOHI) Store(IOAH, IORH) If(LEqual(IOLO, 0xbc)) { Store(0x4, IOLN) } Else { Store(0x8, IOLN) } Store(One, Local0) ShiftLeft(Local0, INTR, IRQL) EXFG() Return(BUF5) } Name(_PRS, Buffer(0x27) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x0, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x0, 0x4, 0x22, 0xb8, 0x0, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateByteField(Arg0, 0x4, IORL) CreateByteField(Arg0, 0x5, IORH) CreateByteField(Arg0, 0x9, IRQL) ENFG() Store(0x3, LDN_) Store(IOLO, IOAL) Store(IOHI, IOAH) FindSetLeftBit(IRQL, Local0) Subtract(Local0, 0x1, INTR) Store(One, ACTR) EXFG() } } Device(ECP_) { Name(_HID, 0x0104d041) Method(_STA) { ENFG() Store(0x3, LDN_) And(OPT1, 0x2, Local0) If(LEqual(Local0, 0x2)) { If(ACTR) { EXFG() Return(0xf) } Else { If(LOr(IOAH, IOAL)) { EXFG() Return(0xd) } Else { EXFG() Return(0x0) } } } Else { EXFG() Return(0x0) } } Method(_DIS) { ENFG() Store(0x3, LDN_) Store(Zero, ACTR) EXFG() } Method(_CRS) { Name(BUF6, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(BUF6, 0x2, IOLO) CreateByteField(BUF6, 0x3, IOHI) CreateByteField(BUF6, 0x4, IORL) CreateByteField(BUF6, 0x5, IORH) CreateByteField(BUF6, 0x7, IOLN) CreateByteField(BUF6, 0xa, IOEL) CreateByteField(BUF6, 0xb, IOEH) CreateByteField(BUF6, 0xc, IOML) CreateByteField(BUF6, 0xd, IOMH) CreateByteField(BUF6, 0xf, IOHN) CreateByteField(BUF6, 0x11, IRQL) CreateByteField(BUF6, 0x14, DMAC) ENFG() Store(0x3, LDN_) Store(One, ACTR) Store(IOAL, IOLO) Store(IOAL, IORL) Store(IOAL, IOEL) Store(IOAL, IOML) Store(IOAH, IOHI) Store(IOAH, IORH) Store(IOAH, Local3) Or(Local3, 0x4, Local3) Store(Local3, IOEH) Store(Local3, IOMH) If(LEqual(IOLO, 0xbc)) { Store(0x4, IOLN) Store(0x4, IOHN) } Else { Store(0x8, IOLN) Store(0x4, IOHN) } Store(One, Local0) ShiftLeft(Local0, INTR, IRQL) Store(One, Local0) ShiftLeft(Local0, DMCH, DMAC) EXFG() Return(BUF6) } Name(_PRS, Buffer(0x48) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x0, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x0, 0x4, 0x22, 0xb8, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x0, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x0, 0x4, 0x22, 0xb8, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x0, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x0, 0x4, 0x22, 0xb8, 0x0, 0x2a, 0xb, 0x0, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateByteField(Arg0, 0x11, IRQL) CreateByteField(Arg0, 0x14, DMAC) ENFG() Store(0x3, LDN_) Store(One, ACTR) Store(IOLO, IOAL) Store(IOHI, IOAH) FindSetLeftBit(IRQL, Local0) Subtract(Local0, 0x1, INTR) FindSetLeftBit(DMAC, Local1) Subtract(Local1, 0x1, DMCH) EXFG() } } Device(PS2M) { Name(_HID, 0x130fd041) Method(_STA) { And(FLG0, 0x4, Local0) If(LEqual(Local0, 0x4)) { Return(0xf) } Else { Return(0x0) } } Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 }) } Device(PS2K) { Name(_HID, 0x0303d041) Method(_STA) { If(LEqual(KBDI, 0x1)) { Return(0x0) } Else { Return(0xf) } } Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 }) } } Name(_PRW, Package(0x2) { 0x9, 0x1, }) } } } --y0ulUmNC+osPPQO6-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message