From owner-freebsd-mobile Sun Nov 19 2:21: 5 2000 Delivered-To: freebsd-mobile@freebsd.org Received: from peorth.iteration.net (peorth.iteration.net [208.190.180.178]) by hub.freebsd.org (Postfix) with ESMTP id EEAAB37B479 for ; Sun, 19 Nov 2000 02:20:00 -0800 (PST) Received: by peorth.iteration.net (Postfix, from userid 1001) id 9E63357311; Sun, 19 Nov 2000 04:20:19 -0600 (CST) Date: Sun, 19 Nov 2000 04:20:19 -0600 From: "Michael C . Wu" To: Mitsuru IWASAKI Cc: n_hibma@qubesoft.com, mobile@freebsd.org Subject: Re: usb0 not resuming and APM/ACPI weirdness Message-ID: <20001119042019.A19018@peorth.iteration.net> Reply-To: "Michael C . Wu" References: <20001028051133.A409@peorth.iteration.net> <20001119105525E.iwasaki@jp.FreeBSD.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="2oS5YaxWCcQjTEyO" Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20001119105525E.iwasaki@jp.FreeBSD.org>; from iwasaki@jp.FreeBSD.org on Sun, Nov 19, 2000 at 10:55:25AM +0900 X-PGP-Fingerprint: 5025 F691 F943 8128 48A8 5025 77CE 29C5 8FA1 2E20 X-PGP-Key-ID: 0x8FA12E20 Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org --2oS5YaxWCcQjTEyO Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sun, Nov 19, 2000 at 10:55:25AM +0900, Mitsuru IWASAKI scribbled: | > > The old "usb0: host controller halted" problem has returned | > > to my laptop after resume for suspend-to-disk on the latest current | > > for some time. After resume, usb0 floods my /var/log/messages | > > with thousands of the same messages. | > | > This is most probably a problem related to ACPI, it suspending the USB | > host controller when suspending and the USB driver getting it wrong when | > unsuspending. I have no idea how to fix this. | | Yes, most of modern laptops has power management related methods on | various devices (including USB host controller) in ACPI Machine | Language format. And these methods should to be executed by AML | interpreter in order to maintain (or re-initialize?) the devices when | the machine is going to sleep/wakeup. | | I guess that the problem is | - When suspend-to-{RAM|disk} by APM, any AML methods won't be executed. | - Currently, our ACPI code supports limited sleep state only | (suspend/hibernation in APM haven't supported yet). | | so I think that implement sleep/wakeup code in device driver which | equivalent to AML methods would be a short-term solution... | # acpidump(8) and amldb(8) maybe help us. | Of course I know that ACPI support improvement is better solution. | | BTW Michael, what laptop are you using? and could you send me ACPI | data? | # please see acpidump(8) Hi, My laptop is a Sony VAIOZ505JS Superslim I booted a kernel with device acpica options ACPI_DEBUG # ACPI Experimental Driver device acpi And enabled ACPI in the BIOS. The ACPI kernel hangs on acpi probe, would you like a ddb dump? Attached is acpidump output Thanks, -- +------------------------------------------------------------------+ | keichii@peorth.iteration.net | keichii@bsdconspiracy.net | | http://peorth.iteration.net/~keichii | Yes, BSD is a conspiracy. | +------------------------------------------------------------------+ --2oS5YaxWCcQjTEyO Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="acpidump.txt" Content-Transfer-Encoding: quoted-printable RSD PTR: Checksum=3D2, OEMID=3DSONY, RsdtAddress=3D0x0fffc088 RSDT: Lenth=3D44, Revision=3D1, Checksum=3D52, OEMID=3DSONY, OEM Table ID=3DZ1, OEM Revision=3D0x20000511, Creator ID=3DPTL, Creator Revision=3D0x0 Entries=3D{ 0x0ffff765, 0x0ffff7d9 } DSDT=3D0xfffc0b4 INT_MODEL=3DPIC SCI_INT=3D9 SMI_CMD=3D0xb2, ACPI_ENABLE=3D0xf0, ACPI_DISABLE=3D0xf1, S4BIOS_REQ=3D0xf2 PM1a_EVT_BLK=3D0x8000-0x8003 PM1a_CNT_BLK=3D0x8042-0x8043 PM2_CNT_BLK=3D0x22-0x22 PM2_TMR_BLK=3D0x8008-0x800b PM2_GPE0_BLK=3D0x800c-0x800f P_LVL2_LAT=3D10ms, P_LVL3_LAT=3D4097ms FLUSH_SIZE=3D0, FLUSH_STRIDE=3D0 DUTY_OFFSET=3D1, DUTY_WIDTH=3D3 DAY_ALRM=3D13, MON_ALRM=3D0, CENTURY=3D50 Flags=3D{WBINVD,PWR_BUTTON,SLP_BUTTON,RTC_S4} DSDT: Lenth=3D14001, Revision=3D1, Checksum=3D62, OEMID=3DSONY, OEM Table ID=3DZ1, OEM Revision=3D0x20000511, Creator ID=3DMSFT, Creator Revision=3D0x100000c Scope(_PR_) { Processor(CPU0, 0, 0x8010, 0x6) { } } Name(_S0_, Package(0x4) { 0x5, 0x5, 0x0, 0x0, }) Name(_S1_, Package(0x4) { 0x4, 0x4, 0x0, 0x0, }) Name(_S3_, Package(0x4) { 0x1, 0x1, 0x0, 0x0, }) Name(_S4_, Package(0x4) { 0x0, 0x0, 0x0, 0x0, }) Name(_S5_, Package(0x4) { 0x0, 0x0, 0x0, 0x0, }) OperationRegion(GPO_, SystemIO, 0x8034, 0x4) Field(GPO_, DWordAcc, NoLock, Preserve) { GO00, 1, GO01, 1, GO02, 1, GO03, 1, GO04, 1, GO05, 1, GO06, 1, GO07, 1, GO08, 1, GO09, 1, GO10, 1, GO11, 1, GO12, 1, GO13, 1, GO14, 1, GO15, 1, GO16, 1, GO17, 1, GO18, 1, GO19, 1, GO20, 1, GO21, 1, GO22, 1, GO23, 1, GO24, 1, GO25, 1, GO26, 1, GO27, 1, GO28, 1, GO29, 1, GO30, 1, GO31, 1 } OperationRegion(GLBL, SystemIO, 0x8028, 0x4) Field(GLBL, DWordAcc, NoLock, Preserve) { Offset(0x3), , 1, LPOL, 1 } OperationRegion(SMI0, SystemMemory, 0x0ffffba7, 0x00000415) Field(SMI0, AnyAcc, NoLock, Preserve) { BCMD, 8, DID_, 32, INFO, 4096 } Field(SMI0, AnyAcc, NoLock, Preserve) { Offset(0x5), INFB, 8 } Field(SMI0, AnyAcc, NoLock, Preserve) { Offset(0x5), INFD, 32 } Field(SMI0, AnyAcc, NoLock, Preserve) { Offset(0x5), SXBF, 8320 } OperationRegion(SMI1, SystemIO, 0x00008040, 0x00000002) Field(SMI1, AnyAcc, NoLock, Preserve) { SMIC, 8 } Mutex(MPHS, 0) Method(PHS0, 1) { Store(Arg0, BCMD) Store(Zero, SMIC) While(LEqual(BCMD, Arg0)) { } Store(0x0, BCMD) } Method(PHS_, 1, Serialized) { Acquire(MPHS, 0xffff) Store(0x0, DID_) PHS0 Arg0 Store(INFD, Local0) Release(MPHS) Return(Local0) } Method(PHSD, 2, Serialized) { Acquire(MPHS, 0xffff) Store(0x0, DID_) Store(Arg1, INFD) PHS0 Arg0 Store(INFD, Local0) Release(MPHS) Return(Local0) } Method(PHSB, 2, Serialized) { Acquire(MPHS, 0xffff) Store(0x0, DID_) Store(Arg1, INFB) PHS0 Arg0 Store(INFB, Local0) Release(MPHS) Return(Local0) } Method(PSCS, 1, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, DID_) PHS0 0x0 Store(INFO, Local0) Release(MPHS) Return(Local0) } Method(PSSS, 2, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, DID_) Store(Arg1, INFO) PHS0 0x1 Release(MPHS) } Method(PSPS, 1, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, DID_) PHS0 0x2 Store(INFO, Local0) Release(MPHS) Return(Local0) } Method(PSDI, 1, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, DID_) PHS0 0x3 Release(MPHS) } Method(PSST, 1, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, DID_) PHS0 0x4 Store(INFB, Local0) Release(MPHS) Return(Local0) } Scope(\_GPE) { Method(_L0B) { Notify(\_SB_.PWRB, 0x2) } Method(_L0A) { Notify(\_SB_.PCI0, 0x2) } Method(_L08) { Notify(\_SB_.PCI0.USB0, 0x2) } } Method(MIN_, 2) { If(LLess(Arg0, Arg1)) { Return(Arg0) } Else { Return(Arg1) } } Method(SLEN, 1) { Return(Sizeof(Arg0)) } Method(S2BF, 1, Serialized) { Add(SLEN, Arg0, One) Local0 Name(BUFF, Buffer(Local0) { }) Store(Arg0, BUFF) Return(BUFF) } Method(SCMP, 2) { Store(S2BF, Arg0) Local0 Store(S2BF, Arg1) Local1 Store(Zero, Local4) Store(SLEN, Arg0) Local5 Store(SLEN, Arg1) Local6 Store(MIN_, Local5) Local6 Local7 While(LLess(Local4, Local7)) { Store(DerefOf(Index(Local0, Local4, )), Local2) Store(DerefOf(Index(Local1, Local4, )), Local3) If(LGreater(Local2, Local3)) { Return(One) } Else { If(LLess(Local2, Local3)) { Return(Ones) } } Increment(Local4) } If(LLess(Local4, Local5)) { Return(One) } Else { If(LLess(Local4, Local6)) { Return(Ones) } Else { Return(Zero) } } } Method(_PTS, 1) { If(LNot(LLess(Arg0, 0x2))) { Store(0x1, \_SB_.PCI0.CRST) } Else { Store(0x0, \_SB_.PCI0.CRST) } If(LEqual(Arg0, 0x4)) { Store(\_SB_.PCI0.ISA_.SPIC._CRS, \_SB_.PCI0.ISA_.SPIC.SSRC) If(LEqual(SCMP, \_OS_)) { "Microsoft Windows NT" Zero PHS_ 0xe3 PHS_ 0xe5 } Else { If(LNot(LEqual(SCMP, \_OS_))) { "Microsoft Windows" Zero PHS_ 0xe3 PHS_ 0xe5 } } } Return(0x0) } Scope(_SB_) { Device(PWRB) { Name(_HID, 0x0c0cd041) Name(_PRW, Package(0x2) { 0xb, 0x4, }) Method(_STA) { Return(0xf) } } Device(PCI0) { Name(_HID, 0x030ad041) OperationRegion(BXRS, PCI_Config, 0x7a, 0x1) Field(BXRS, ByteAcc, NoLock, Preserve) { CRST, 1, Offset(0x1) } Device(H2PB) { Name(_ADR, 0x0) OperationRegion(NRBR, PCI_Config, 0x0, 0x0100) Field(NRBR, DWordAcc, NoLock, Preserve) { Offset(0x51), , 1, AAGE, 1, Offset(0xb0), , 7, GTEN, 1 } } Device(VID0) { Name(_ADR, 0x00010000) Name(_PSC, 0x0) Method(_STA) { Return(0xf) } Method(_PS0) { Store(Zero, \_SB_.PCI0.H2PB.AAGE) Store(Zero, \_SB_.PCI0.H2PB.GTEN) Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Name(VIDS, Package(0x3) { 0x0100, 0x00010110, 0x0200, }) Method(_DOD) { Return(VIDS) } Device(LCD_) { Name(_ADR, 0x0110) Name(ACTV, 0x1) Method(_DCS) { If(ACTV) { Return(0x1f) } Else { Return(0x1b) } } Name(_DGS, 0x1) Name(IDSS, 0x0) Method(_DSS, 1) { Store(Arg0, IDSS) If(And(Arg0, 0x80000000, )) { If(LNot(And(Arg0, 0x40000000, ))) { ^SET_ } ^NEXT } } } Device(TV__) { Name(_ADR, 0x0200) Name(ACTV, 0x1) Method(_DCS) { If(ACTV) { Return(0x1f) } Else { Return(0x1b) } } Name(_DGS, 0x1) Name(IDSS, 0x0) Method(_DSS, 1) { Store(Arg0, IDSS) If(And(Arg0, 0x80000000, )) { If(LNot(And(Arg0, 0x40000000, ))) { ^SET_ } ^NEXT } } } Method(SET_) { And(TV__.IDSS, 0x1, TV__.ACTV) And(LCD_.IDSS, 0x1, LCD_.ACTV) If(TV__.ACTV) { Store(0x4, Local0) } If(TV__.ACTV) { Or(Local0, 0x1, Local0) } PHSB 0xe4 Local0 } Method(NEXT) { If(LAnd(LCD_._DGS, LNot(TV__._DGS))) { Store(One, LCD_._DGS) Store(One, TV__._DGS) } Else { Store(One, LCD_._DGS) Store(Zero, TV__._DGS) } } } Name(_ADR, 0x0) Name(_PRT, Package(0xb) { Package(0x4) { 0x0001ffff, 0x0, LNKA, 0x0, }, Package(0x4) { 0x0001ffff, 0x1, LNKB, 0x0, }, Package(0x4) { 0x0001ffff, 0x2, LNKC, 0x0, }, Package(0x4) { 0x0001ffff, 0x3, LNKD, 0x0, }, Package(0x4) { 0x0007ffff, 0x3, LNKD, 0x0, }, Package(0x4) { 0x0008ffff, 0x0, LNKD, 0x0, }, Package(0x4) { 0x0009ffff, 0x0, LNKC, 0x0, }, Package(0x4) { 0x000affff, 0x0, LNKB, 0x0, }, Package(0x4) { 0x000bffff, 0x0, LNKA, 0x0, }, Package(0x4) { 0x000cffff, 0x0, LNKB, 0x0, }, Package(0x4) { 0x000dffff, 0x0, LNKB, 0x0, }, }) OperationRegion(REGS, PCI_Config, 0x40, 0xc0) Field(REGS, DWordAcc, NoLock, Preserve) { Offset(0x19), PAM0, 8, PAM1, 8, PAM2, 8, PAM3, 8, PAM4, 8, PAM5, 8, PAM6, 8, DRB0, 8, DRB1, 8, DRB2, 8, DRB3, 8, DRB4, 8, DRB5, 8, DRB6, 8, DRB7, 8, , 6, HEN_, 2, Offset(0x33), T_EN, 1, T_SZ, 2 } Name(RSRC, Buffer(0x01d2) {0x88, 0xe, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0,= 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0= x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0,= 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x= 0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, = 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x= 0, 0x0, 0x40, 0xc, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40= , 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0= x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x= 0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc,= 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0= x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff= , 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18,= 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0= xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0= , 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, = 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x= 3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0,= 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0= x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0,= 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0= x0, 0x0, 0x40, 0xe, 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4= 0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, = 0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0= x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe= , 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, = 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0= , 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x18, 0= x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0= x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8= , 0xc, 0x1, 0x8, 0x88, 0xe, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0= xc, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x88, 0xe, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0,= 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { Store(Zero, Local1) If(T_EN) { ShiftLeft(0x1, Add(T_SZ, 0x11, ), Local1) } CreateDWordField(RSRC, 0x017a, BTMN) CreateDWordField(RSRC, 0x017e, BTMX) CreateDWordField(RSRC, 0x0186, BTLN) Multiply(DRB7, 0x00800000, Local0) If(T_EN) { Subtract(Local0, Local1, Local2) Store(Local2, BTMN) Subtract(Add(Local0, 0x10000000, ), BTMN, BTLN) } Else { Store(Local0, BTMN) Subtract(0xffe00000, Local0, BTLN) Subtract(Add(BTMN, BTLN, ), 0x1, BTMX) } CreateDWordField(RSRC, 0x0195, ATMN) CreateDWordField(RSRC, 0x0199, ATMX) CreateDWordField(RSRC, 0x01a1, ATLN) If(T_EN) { Add(Add(BTMN, BTLN, ), Local1, ATMN) Subtract(0xffe00000, ATMN, ATLN) Subtract(Add(ATMN, ATLN, ), 0x1, ATMX) } Else { Store(Zero, ATLN) } CreateBitField(RSRC, 0x0188, C0RW) CreateDWordField(RSRC, 0x36, C0MN) CreateDWordField(RSRC, 0x3a, C0MX) CreateDWordField(RSRC, 0x42, C0LN) Store(One, C0RW) If(LEqual(And(PAM1, 0x3, ), 0x1)) { Store(Zero, C0RW) } Store(Zero, C0LN) If(LNot(And(PAM1, 0x3, ))) { Store(0x4000, C0LN) } CreateBitField(RSRC, 0x0260, C4RW) CreateDWordField(RSRC, 0x51, C4MN) CreateDWordField(RSRC, 0x55, C4MX) CreateDWordField(RSRC, 0x5d, C4LN) Store(One, C4RW) If(LEqual(And(PAM1, 0x30, ), 0x10)) { Store(Zero, C4RW) } Store(Zero, C4LN) If(LNot(And(PAM1, 0x30, ))) { Store(0x4000, C4LN) } CreateBitField(RSRC, 0x0338, C8RW) CreateDWordField(RSRC, 0x6c, C8MN) CreateDWordField(RSRC, 0x70, C8MX) CreateDWordField(RSRC, 0x78, C8LN) Store(One, C8RW) If(LEqual(And(PAM2, 0x3, ), 0x1)) { Store(Zero, C8RW) } Store(Zero, C8LN) If(LNot(And(PAM2, 0x3, ))) { Store(0x4000, C8LN) } CreateBitField(RSRC, 0x0410, CCRW) CreateDWordField(RSRC, 0x87, CCMN) CreateDWordField(RSRC, 0x8b, CCMX) CreateDWordField(RSRC, 0x93, CCLN) Store(One, CCRW) If(LEqual(And(PAM2, 0x30, ), 0x10)) { Store(Zero, CCRW) } Store(Zero, CCLN) If(LNot(And(PAM2, 0x30, ))) { Store(0x4000, CCLN) } CreateBitField(RSRC, 0x04e8, D0RW) CreateDWordField(RSRC, 0xa2, D0MN) CreateDWordField(RSRC, 0xa6, D0MX) CreateDWordField(RSRC, 0xae, D0LN) Store(One, D0RW) If(LEqual(And(PAM3, 0x3, ), 0x1)) { Store(Zero, D0RW) } Store(Zero, D0LN) If(LNot(And(PAM3, 0x3, ))) { Store(0x4000, D0LN) } CreateBitField(RSRC, 0x05c0, D4RW) CreateDWordField(RSRC, 0xbd, D4MN) CreateDWordField(RSRC, 0xc1, D4MX) CreateDWordField(RSRC, 0xc9, D4LN) Store(One, D4RW) If(LEqual(And(PAM3, 0x30, ), 0x10)) { Store(Zero, D4RW) } Store(Zero, D4LN) If(LNot(And(PAM3, 0x30, ))) { Store(0x4000, D4LN) } CreateBitField(RSRC, 0x0698, D8RW) CreateDWordField(RSRC, 0xd8, D8MN) CreateDWordField(RSRC, 0xdc, D8MX) CreateDWordField(RSRC, 0xe4, D8LN) Store(One, D8RW) If(LEqual(And(PAM4, 0x3, ), 0x1)) { Store(Zero, D8RW) } Store(Zero, D8LN) If(LNot(And(PAM4, 0x3, ))) { Store(0x4000, D8LN) } CreateBitField(RSRC, 0x0770, DCRW) CreateDWordField(RSRC, 0xf3, DCMN) CreateDWordField(RSRC, 0xf7, DCMX) CreateDWordField(RSRC, 0xff, DCLN) Store(Zero, DCRW) Store(0x4000, DCLN) CreateBitField(RSRC, 0x0848, E0RW) CreateDWordField(RSRC, 0x010e, E0MN) CreateDWordField(RSRC, 0x0112, E0MX) CreateDWordField(RSRC, 0x011a, E0LN) Store(One, E0RW) If(LEqual(And(PAM5, 0x3, ), 0x1)) { Store(Zero, E0RW) } Store(Zero, E0LN) If(LNot(And(PAM5, 0x3, ))) { Store(0x4000, E0LN) } CreateBitField(RSRC, 0x0920, E4RW) CreateDWordField(RSRC, 0x0129, E4MN) CreateDWordField(RSRC, 0x012d, E4MX) CreateDWordField(RSRC, 0x0135, E4LN) Store(One, E4RW) If(LEqual(And(PAM5, 0x30, ), 0x10)) { Store(Zero, E4RW) } Store(Zero, E4LN) If(LNot(And(PAM5, 0x30, ))) { Store(0x4000, E4LN) } CreateBitField(RSRC, 0x09f8, E8RW) CreateDWordField(RSRC, 0x0144, E8MN) CreateDWordField(RSRC, 0x0148, E8MX) CreateDWordField(RSRC, 0x0150, E8LN) Store(One, E8RW) If(LEqual(And(PAM6, 0x3, ), 0x1)) { Store(Zero, E8RW) } Store(Zero, E8LN) If(LNot(And(PAM6, 0x3, ))) { Store(0x4000, E8LN) } CreateBitField(RSRC, 0x0ad0, ECRW) CreateDWordField(RSRC, 0x015f, ECMN) CreateDWordField(RSRC, 0x0163, ECMX) CreateDWordField(RSRC, 0x016b, ECLN) Store(One, ECRW) If(LEqual(And(PAM6, 0x30, ), 0x10)) { Store(Zero, ECRW) } Store(Zero, ECLN) If(LNot(And(PAM6, 0x30, ))) { Store(0x4000, ECLN) } Return(RSRC) } Device(USB0) { Name(_ADR, 0x00070002) OperationRegion(CFG2, PCI_Config, 0x0, 0x0100) Field(CFG2, DWordAcc, NoLock, Preserve) { Offset(0x20), USBB, 16 } Method(_STA) { And(USBB, 0xffe0, Local0) If(LEqual(Local0, 0x0)) { Return(0x0) } Else { Return(0xf) } } Name(_PSC, 0x0) Method(_PS0) { If(LEqual(SCMP, \_OS_)) { "Microsoft Windows NT" Zero Noop } Else { If(LEqual(_PSC, 0x3)) { PHS_ 0xc3 Store(0x0, _PSC) } } } Method(_PS3) { If(LEqual(SCMP, \_OS_)) { "Microsoft Windows NT" Zero Noop } Else { If(LEqual(_PSC, 0x0)) { PHS_ 0xc2 Store(0x3, _PSC) } } } Method(_PRW) { If(LEqual(SCMP, \_OS_)) { "Microsoft Windows NT" Zero Return(Package(0x2) { 0x8, 0x1, }) } Else { If(LNot(LEqual(SCMP, \_OS_))) { "Microsoft Windows" Zero Return(Package(0x2) { 0x8, 0x1, }) } Else { Return(Package(0x2) { 0x8, 0x4, }) } } } } Device(PWR_) { Name(_ADR, 0x00070003) OperationRegion(PCI_, PCI_Config, 0x50, 0x28) Field(PCI_, DWordAcc, NoLock, Preserve) { Offset(0x1), , 4, FDCM, 1, , 1, U1M_, 1, Offset(0x2), U2M_, 1, , 1, LPTM, 1, Offset(0xc), MDIE, 1, MDIA, 2, SBE_, 1, GME_, 1, SBA_, 2, MSSE, 1, MSSA, 2, Offset(0xf), , 1, AUDM, 1, , 2, KBCM, 1, G12M, 1, G13M, 1, LPTE, 1, G09A, 16, G09L, 4, , 1, G09M, 1, G09E, 1, Offset(0x13), , 1, LPTA, 2, , 1, FDCA, 1, FDCE, 1, KBCE, 1, GMM_, 1, G10A, 16, G10L, 4, , 1, G10M, 1, G10E, 1, G10C, 1, U1A_, 3, U1E_, 1, U2A_, 3, U2E_, 1, G12A, 16, G12L, 4, G12E, 1, Offset(0x20), G13A, 16, G13L, 4, G13E, 1 } } Device(IDE_) { Name(_ADR, 0x00070001) OperationRegion(PCI_, PCI_Config, 0x40, 0x10) Field(PCI_, DWordAcc, NoLock, Preserve) { Offset(0x3), , 7, SIDE, 1 } Field(PCI_, DWordAcc, NoLock, Preserve) { R40_, 32, Offset(0x8), R48_, 32 } Device(PRIM) { Name(_ADR, 0x0) Name(_PSC, 0x0) Name(IDET, 0x0) Name(UDMA, 0x0) Method(_STA) { Return(0xf) } Device(MAST) { Name(_ADR, 0x0) } Method(_PS0) { If(LEqual(_PSC, 0x3)) { Store(IDET, R40_) Store(UDMA, R48_) PHS_ 0xcd } Store(0x0, _PSC) } Method(_PS3) { Store(R40_, IDET) Store(R48_, UDMA) Store(0x3, _PSC) } } Device(SECN) { Name(_ADR, 0x1) Name(_PSC, 0x0) Name(IDET, 0x0) Name(UDMA, 0x0) Method(_STA) { Return(0xf) } Device(MAST) { Name(_ADR, 0x0) } Method(_PS0) { Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } } } Device(SD94) { Name(_ADR, 0x00080000) Name(_STA, 0xf) OperationRegion(SPCI, PCI_Config, 0x0, 0x0100) Field(SPCI, DWordAcc, NoLock, Preserve) { Offset(0xc), CALS, 8, LATI, 8, Offset(0xe0), PWST, 8 } Name(_PSC, 0x0) Method(_PS0) { If(LEqual(SCMP, \_OS_)) { "Microsoft Windows NT" Zero Noop } Else { Store(0x0, PWST) Sleep(0x1) Store(0x8, CALS) Store(0x40, LATI) } PHS_ 0xd6 Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } } Device(CRD0) { Name(_ADR, 0x000c0000) Name(_PRW, Package(0x2) { 0xa, 0x3, }) OperationRegion(CCRD, PCI_Config, 0x0, 0xe4) Field(CCRD, DWordAcc, NoLock, Preserve) { Offset(0x4), CD04, 32, Offset(0x3e), CD3E, 32, Offset(0x44), CD44, 32, Offset(0xe0), CDE0, 8, CDE1, 8 } OperationRegion(EXCA, SystemIO, 0x03e0, 0x2) Field(EXCA, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) { Offset(0x3), , 7, ERIB, 1 } Method(_INI) { If(LEqual(SCMP, \_OS_)) { "Microsoft Windows NT" Zero Store(Zero, CDE1) } Else { Store(Zero, CDE0) Store(Zero, CD04) Store(Zero, CD3E) Store(One, CD44) } } Name(_PSC, 0x0) Method(PSX_, 1) { Store(0x0, CDE0) Store(0x03e0, CD44) Store(One, ERIB) Store(0x0, CD44) Store(Arg0, CDE0) Store(Arg0, _PSC) } Method(_PS0) { Store(0x0, _PSC) } Method(_PS1) { PSX_ 0x1 Or(CDE1, 0x1, CDE1) } Method(_PS2) { PSX_ 0x2 Or(CDE1, 0x1, CDE1) } Method(_PS3) { PSX_ 0x3 Or(CDE1, 0x1, CDE1) } } Device(MODE) { Name(_ADR, 0x000a0000) Name(_STA, 0xf) Method(_PRW) { If(LEqual(SCMP, \_OS_)) { "Microsoft Windows" Zero Return(Package(0x2) { 0xa, 0x4, }) } Else { If(LNot(LEqual(SCMP, \_OS_))) { "Microsoft Windows NT" Zero Return(Package(0x2) { 0xa, 0x3, }) } Else { Return(Package(0x2) { 0xa, 0x3, }) } } } Method(_PSW, 1) { If(LEqual(\_SB_.PCI0.ISA_.EC0_.ECOK, 0x0)) { PHSB 0xdd Arg0 } Else { Store(Arg0, \_SB_.PCI0.ISA_.EC0_.SMDM) } } } Device(ETHR) { Name(_ADR, 0x000b0000) Name(_STA, 0xf) Name(_PSC, 0x0) Method(_PRW) { If(LEqual(SCMP, \_OS_)) { "Microsoft Windows" Zero Return(Package(0x2) { 0xa, 0x4, }) } Else { Return(Package(0x2) { 0xa, 0x3, }) } } OperationRegion(EPCI, PCI_Config, 0x0, 0x0100) Field(EPCI, DWordAcc, NoLock, Preserve) { Offset(0xe0), ETE0, 8, ETE1, 8 } Method(_PS0) { Store(0x0, ETE0) PHS_ 0xe7 If(LEqual(SCMP, \_OS_)) { "Microsoft Windows NT" Zero And(ETE1, 0xfe, ETE1) } Else { } Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } } Device(MSCL) { Name(_ADR, 0x000d0000) Name(_STA, 0xf) Name(_PSC, 0x0) OperationRegion(MSCG, PCI_Config, 0x0, 0x0100) Field(MSCG, DWordAcc, NoLock, Preserve) { Offset(0x48), MS48, 24, Offset(0xe0), MSE0, 8, MSE1, 8 } Method(_PS0) { Store(0x0, MSE0) Store(0x00050100, MS48) And(MSE1, 0x80, Local0) If(LEqual(Local0, 0x80)) { Or(MSE1, 0x80, MSE1) } Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } } Device(ISA_) { Name(_ADR, 0x00070000) OperationRegion(PIRX, PCI_Config, 0x60, 0x4) Field(PIRX, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } Device(MOTH) { Name(_HID, 0x020cd041) Name(_CRS, Buffer(0x3a) {0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0= x1, 0x1, 0x47, 0x1, 0xb2, 0x0, 0xb2, 0x0, 0x1, 0x2, 0x47, 0x1, 0x98, 0x3, 0= x98, 0x3, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0= x40, 0x10, 0x40, 0x10, 0x1, 0x10, 0x47, 0x1, 0x0, 0x80, 0x0, 0x80, 0x1, 0x5= 0, 0x47, 0x1, 0x72, 0x0, 0x72, 0x0, 0x1, 0x2, 0x79, 0x0 }) } Device(MEM_) { Name(_HID, 0x010cd041) Name(MSRC, Buffer(0x4a) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x1= 0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0= x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0x0, 0x40, 0x0, 0x0= , 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x2, 0x0, 0x86, 0x9, 0= x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0x0, 0x0, 0x8, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0= , 0xf6, 0xf7, 0xff, 0x0, 0xa, 0x0, 0x0, 0x79, 0x0 }) Method(_CRS) { CreateDWordField(MSRC, 0x8, MEMS) If(LNot(MEMS)) { Store(PHS_, 0xc0) MEMS } Return(MSRC) } Method(_STA) { Return(0xf) } } Device(DMAC) { Name(_HID, 0x0002d041) Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1= , 0x10, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0xf, 0x47, 0x1, 0xc0, 0x0, 0x= c0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x0, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(RTC_) { Name(_HID, 0x000bd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x= 1, 0x2, 0x22, 0x0, 0x1, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(PIC_) { Name(_HID, 0xd041) Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0= x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0= x0 }) Method(_STA) { Return(0xf) } } Device(FPU_) { Name(_HID, 0x040cd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x= 1, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(TMR_) { Name(_HID, 0x0001d041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x= 1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(SPKR) { Name(_HID, 0x0008d041) Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x= 1, 0x1, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(KBC_) { Name(_HID, 0x0303d041) Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0= x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0= x0 }) Method(_STA) { Return(0xf) } } Device(MOUE) { Name(_HID, 0x130fd041) Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 }) } Device(EC0_) { Name(_HID, 0x090cd041) Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0= x1, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0 }) Name(_GPE, 0x9) Name(ECOK, 0x0) Method(_REG, 2) { If(LEqual(Arg0, 0x3)) { Store(Arg1, ECOK) } } OperationRegion(ECR_, EmbeddedControl, 0x0, 0xff) Field(ECR_, AnyAcc, Lock, Preserve) { Offset(0x80), MPBP, 1, MPBD, 1, DOKD, 1, DFBP, 1, Offset(0x81), BT1A, 1, BT2A, 1, ACAT, 1, Offset(0x82), PWRB, 1, JOGB, 1, LIDS, 1, Offset(0x83), BT1P, 1, BT2P, 1, Offset(0x84), B1ST, 8, B2ST, 8, Offset(0x90), MASK, 8, BT1S, 1, BT2S, 1, Offset(0x92), BT1W, 1, BT2W, 1, Offset(0x93), FAN0, 8, CB0S, 1, CB1S, 1, Offset(0x95), PHYO, 1, Offset(0x96), BRIT, 8, CONT, 8, SNDU, 1, SNDD, 1, Offset(0x99), SMDM, 1, Offset(0x9a), Offset(0xa0), B1RC, 16, B1AB, 16, B1RT, 16, B1VO, 16, B2RC, 16, B2AB, 16, B2RT, 16, B2VO, 16, B1DC, 16, B1LF, 16, B1DV, 16, B1DL, 16, B2DC, 16, B2LF, 16, B2DV, 16, B2DL, 16, A1TP, 16, A1AT, 16, A1PT, 16, A1CT, 16, A2TP, 16, A2AT, 16, A2PT, 16, A2CT, 16 } Method(_Q50) { PHS_ 0xe0 Notify(ACAD, 0x80) } Method(_Q51) { If(BT1A) { Notify(BAT1, 0x0) } Else { Notify(BAT1, 0x1) } Notify(BAT1, 0x80) } Method(_Q52) { Store("_Q52:Change Battery 2 Event", Debug) } Method(_Q53) { Store("_Q53:Battery Selection", Debug) } Method(_Q58) { Store("_Q58:ATF temperature trip point changd", Debug) Notify(\_TZ_.ATF0, 0x81) } Method(_Q5E) { Store("_Q5E:RI1 occurred", Debug) } Method(_Q5F) { Store("_Q5F:ATF temperature reaches trip point", Debug) Notify(\_TZ_.ATF0, 0x80) } Method(_Q60) { Notify(\_SB_.PWRB, 0x80) } Device(BAT1) { Name(_HID, 0x0a0cd041) Name(_UID, 0x1) Name(_PCL, Package(0x1) { \_SB_, }) Name(BATI, Package(0xd) { 0x0, 0x9650, 0x9650, 0x0, 0x39d0, 0x0, 0x78, 0x0, 0xa, "", "", "LION", "Sony Corp.", }) Name(BATS, Package(0x4) { 0x2, 0xffffffff, 0x0d7a, 0x3840, }) Method(_STA) { And(PHSD, 0xdb, 0x80) 0x0100 Local1 If(Local1) { Store(0x1f, Local0) } Else { Store(0xf, Local0) } Return(Local0) } Method(_BIF) { Store(PHSD, 0xdb) 0xb0 Local1 Multiply(Local1, 0xa, Index(BATI, 0x1, )) Store(PHSD, 0xdb) 0xb2 Local1 Multiply(Local1, 0xa, Index(BATI, 0x2, )) Store(PHSD, 0xdb) 0xb6 Index(BATI, 0x4, ) Return(BATI) } Method(_BST) { Store(And(PHSD, 0xdb, 0x84), 0xff) Local0 Index(BATS, 0x0, ) Store(PHSD, 0xdb) 0xa4 Local1 If(LLess(Local1, 0x8000)) { If(Local1) { Store(0xffffffff, Index(BATS, 0x1, )) } Else { Store(Zero, Index(BATS, 0x1, )) } } Else { XOr(Local1, 0xffff, Local1) Increment(Local1) Multiply(Local1, 0xa, Index(BATS, 0x1, )) } Multiply(PHSD, 0xdb, 0xa2) 0xa Index(BATS, 0x2, ) Store(PHSD, 0xdb) 0xa6 Index(BATS, 0x3, ) Return(BATS) } } Device(ACAD) { Name(_HID, "ACPI0003") Name(_PCL, Package(0x1) { \_SB_, }) Method(_PSR) { And(PHSD, 0xdb, 0x80) 0x0400 Local1 If(Local1) { Return(One) } Else { Return(Zero) } } Method(_STA) { Return(0xf) } } } Device(SPIC) { Name(_HID, 0x0160d94d) Name(RSRC, Buffer(0x15) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1= , 0x1, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x22, 0x0, 0x0, 0x79, 0x0 }) Name(SSRC, Buffer(0x15) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1= , 0x1, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x22, 0x0, 0x0, 0x79, 0x0 }) Method(_CRS) { CreateWordField(RSRC, 0x2, IOA1) CreateWordField(RSRC, 0x4, IOA2) CreateWordField(RSRC, 0xa, IOB1) CreateWordField(RSRC, 0xc, IOB2) CreateWordField(RSRC, 0x11, IRQV) Store(\_SB_.PCI0.PWR_.G10A, IOA1) Store(\_SB_.PCI0.PWR_.G10A, IOA2) Or(\_SB_.PCI0.PWR_.G10A, \_SB_.PCI0.PWR_.G10L, IOB1) Or(\_SB_.PCI0.PWR_.G10A, \_SB_.PCI0.PWR_.G10L, IOB2) If(GO22) { If(GO23) { Store(Zero, IRQV) } Else { ShiftLeft(0x1, 0xa, IRQV) } } Else { If(GO23) { ShiftLeft(0x1, 0xb, IRQV) } Else { ShiftLeft(0x1, 0x5, IRQV) } } Return(RSRC) } Method(_SRS, 1) { CreateWordField(Arg0, 0x2, IOA1) CreateWordField(Arg0, 0xa, IOB1) CreateWordField(Arg0, 0x11, IRQV) Store(IOA1, \_SB_.PCI0.PWR_.G10A) XOr(IOA1, IOB1, \_SB_.PCI0.PWR_.G10L) FindSetRightBit(IRQV, Local0) Decrement(Local0) If(LEqual(Local0, Zero)) { Store(0x1, GO22) Store(0x1, GO23) } If(LEqual(Local0, 0x5)) { Store(0x0, GO22) Store(0x0, GO23) } If(LEqual(Local0, 0xa)) { Store(0x1, GO22) Store(0x0, GO23) } If(LEqual(Local0, 0xb)) { Store(0x0, GO22) Store(0x1, GO23) } Store(0x0, \_SB_.PCI0.PWR_.G10M) Store(0x1, \_SB_.PCI0.PWR_.G10E) Store(0x1, \_SB_.PCI0.PWR_.G10C) } Name(_PRS, Buffer(0x4a) {0x30, 0x47, 0x1, 0x80, 0x10, 0x80,= 0x10, 0x1, 0x1, 0x47, 0x1, 0x84, 0x10, 0x84, 0x10, 0x1, 0x1, 0x30, 0x47, 0= x1, 0x90, 0x10, 0x90, 0x10, 0x1, 0x1, 0x47, 0x1, 0x94, 0x10, 0x94, 0x10, 0x= 1, 0x1, 0x30, 0x47, 0x1, 0xa0, 0x10, 0xa0, 0x10, 0x1, 0x1, 0x47, 0x1, 0xa4,= 0x10, 0xa4, 0x10, 0x1, 0x1, 0x30, 0x47, 0x1, 0xb0, 0x10, 0xb0, 0x10, 0x1, = 0x1, 0x47, 0x1, 0xb4, 0x10, 0xb4, 0x10, 0x1, 0x1, 0x38, 0x22, 0x20, 0xc, 0x= 79, 0x0 }) Method(_DIS) { Store(0x0, \_SB_.PCI0.PWR_.G10E) Store(0x0, \_SB_.PCI0.PWR_.G10C) Store(0x1, GO22) Store(0x1, GO23) } Method(_STA) { If(LAnd(GO22, GO23)) { Return(0xd) } Else { Return(0xf) } } } Mutex(SLOK, 0) Device(COMA) { Name(_HID, 0x0105d041) Name(MCD_, 0xe) Method(_CRS) { If(\_SB_.PCI0.ISA_.COMA._STA) { Acquire(SLOK, 0xffff) Store(PSCS, 0xe) Local0 Release(SLOK) Return(Local0) } Else { Return(Buffer(0x2) {0x79, 0x0 }) } } Method(_SRS, 1) { Acquire(SLOK, 0xffff) PSSS 0xe Arg0 Release(SLOK) } Method(_PRS) { Acquire(SLOK, 0xffff) Store(PSPS, 0xe) Local0 Release(SLOK) Return(Local0) } Method(_DIS) { Acquire(SLOK, 0xffff) PSDI 0xe Release(SLOK) } Method(_STA) { Acquire(SLOK, 0xffff) Store(PSST, 0xe) Local0 Release(SLOK) Return(Local0) } Name(_PSC, 0x0) Method(_PS0) { Store(One, GO13) Stall(0xc8) Store(0x0, _PSC) } Method(_PS3) { Store(Zero, GO13) Store(0x3, _PSC) } Name(_PRW, Package(0x2) { 0xa, 0x3, }) } Device(FIR_) { Name(_HID, 0x0170d94d) Name(_CID, 0x0160633a) Name(MCD_, 0xf) Method(_CRS) { If(\_SB_.PCI0.ISA_.FIR_._STA) { Acquire(SLOK, 0xffff) Store(PSCS, 0xf) Local0 Release(SLOK) Return(Local0) } Else { Return(Buffer(0x2) {0x79, 0x0 }) } } Method(B_SR, 1) { Acquire(SLOK, 0xffff) PSSS 0xf Arg0 Release(SLOK) } Method(B_PR) { Acquire(SLOK, 0xffff) Store(PSPS, 0xf) Local0 Release(SLOK) Return(Local0) } Method(B_DI) { Acquire(SLOK, 0xffff) PSDI 0xf Release(SLOK) } Method(_STA) { Acquire(SLOK, 0xffff) Store(PSST, 0xf) Local0 Release(SLOK) Return(Local0) } Name(_PSC, 0x0) } Device(LPTA) { Name(_HID, 0x0004d041) Name(_UID, 0x1) Name(MCD_, 0x10) Name(CRSB, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,= 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) Method(_CRS) { If(\_SB_.PCI0.ISA_.LPTA._STA) { CreateWordField(CRSB, 0x2, IO1B) CreateWordField(CRSB, 0x4, IO2B) CreateWordField(CRSB, 0x6, IO3B) CreateWordField(CRSB, 0x9, IRQB) Acquire(SLOK, 0xffff) ShiftRight(READ, 0x1b, 0xf0) 0x0 0x4 Local0 Store(Zero, IRQB) If(Local0) { ShiftLeft(0x1, Local0, IRQB) } Or(ShiftLeft(And(R430, 0xfc, ), 0x8, ), ShiftLeft(R= 420, 0x2, ), IO1B) Store(IO1B, IO2B) If(LEqual(IO1B, 0x03bc)) { Store(0x0401, IO3B) } Store(CRSB, Local1) Release(SLOK) Return(Local1) } Else { Return(Buffer(0x2) {0x79, 0x0 }) } } Method(B_SR, 1) { Name(XRFI, Package(0x10) { 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x1, 0x0, 0x2, 0x3, 0x4, 0x0, 0x0, 0x5, 0x6, }) CreateWordField(Arg0, 0x2, IO1A) CreateWordField(Arg0, 0x9, IRQB) Acquire(SLOK, 0xffff) WRIT 0x0 0xfe 0x0 0x0 WRIT 0x42 0x0 ShiftRight(IO1A, 0x2, ) 0x0 WRIT 0x43 0x3 ShiftRight(IO1A, 0x8, ) 0x0 FindSetRightBit(IRQB, Local0) If(Local0) { Decrement(Local0) WRIT 0x1b 0xf ShiftLeft(Local0, 0x4, ) 0x0 WRIT 0x1b 0xf8 DerefOf(Index(XRFI, Local0, )) 0x0 } Else { WRIT 0x1b 0x8 0x0 0x0 } WRIT 0x0 0xfe 0x1 0x0 Release(SLOK) } Method(B_PR) { Acquire(SLOK, 0xffff) Store(PSPS, 0x10) Local0 Release(SLOK) Return(Local0) } Method(B_DI) { Acquire(SLOK, 0xffff) PSDI 0x10 Release(SLOK) } Method(_STA) { Acquire(SLOK, 0xffff) Store(PSST, 0x10) Local0 Release(SLOK) Return(Local0) } Name(_PSC, 0x0) } Device(LPTB) { Name(_HID, 0x0004d041) Name(_UID, 0x2) Name(MCD_, 0x11) Name(CRSB, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,= 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) Method(_CRS) { If(\_SB_.PCI0.ISA_.LPTB._STA) { Acquire(SLOK, 0xffff) CreateWordField(CRSB, 0x2, IO1B) CreateWordField(CRSB, 0x4, IO2B) CreateWordField(CRSB, 0x6, IO3B) CreateWordField(CRSB, 0x9, IRQB) Or(ShiftLeft(And(R430, 0xfc, ), 0x8, ), ShiftLeft(R= 420, 0x2, ), IO1B) Store(IO1B, IO2B) If(LEqual(IO1B, 0x03bc)) { Store(0x0401, IO3B) } Store(Zero, IRQB) ShiftRight(READ, 0x1b, 0xf0) 0x0 0x4 Local0 If(Local0) { ShiftLeft(0x1, Local0, IRQB) } Store(CRSB, Local1) Release(SLOK) Return(Local1) } Else { Return(Buffer(0x2) {0x79, 0x0 }) } } Method(B_SR, 1) { Name(XRFI, Package(0x10) { 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x1, 0x0, 0x2, 0x3, 0x4, 0x0, 0x0, 0x5, 0x6, }) CreateWordField(Arg0, 0x2, IO1A) CreateWordField(Arg0, 0x9, IRQB) Acquire(SLOK, 0xffff) WRIT 0x0 0xfe 0x0 0x0 WRIT 0x42 0x0 ShiftRight(IO1A, 0x2, ) 0x0 WRIT 0x43 0x3 ShiftRight(IO1A, 0x8, ) 0x0 FindSetRightBit(IRQB, Local0) If(Local0) { Decrement(Local0) WRIT 0x1b 0xf ShiftLeft(Local0, 0x4, ) 0x0 WRIT 0x1b 0xf8 DerefOf(Index(XRFI, Local0, )) 0x0 } Else { WRIT 0x1b 0x8 0x0 0x0 } WRIT 0x0 0xfe 0x1 0x0 Release(SLOK) } Method(B_PR) { Acquire(SLOK, 0xffff) Store(PSPS, 0x11) Local0 Release(SLOK) Return(Local0) } Method(B_DI) { Acquire(SLOK, 0xffff) PSDI 0x11 Release(SLOK) } Method(_STA) { Acquire(SLOK, 0xffff) Store(PSST, 0x11) Local0 Release(SLOK) Return(Local0) } Name(_PSC, 0x0) } Device(ECP_) { Name(_HID, 0x0104d041) Name(MCD_, 0x12) Name(CRSA, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1= , 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, = 0x0, 0x79, 0x0 }) Method(_CRS) { If(\_SB_.PCI0.ISA_.ECP_._STA) { CreateWordField(CRSA, 0x2, IO1A) CreateWordField(CRSA, 0x4, IO2A) CreateWordField(CRSA, 0x6, IO3A) CreateWordField(CRSA, 0xa, IO4A) CreateWordField(CRSA, 0xc, IO5A) CreateWordField(CRSA, 0xe, IO6A) CreateWordField(CRSA, 0x11, IRQA) CreateByteField(CRSA, 0x14, DMAA) Acquire(SLOK, 0xffff) Or(ShiftLeft(And(R430, 0xfc, ), 0x8, ), ShiftLeft(R= 420, 0x2, ), IO1A) Store(IO1A, IO2A) Add(IO1A, 0x0400, IO4A) Add(IO1A, 0x0400, IO5A) If(LEqual(IO1A, 0x03bc)) { Store(0x0401, IO3A) Store(0x0301, IO6A) } Else { Store(0x0301, IO6A) } Store(Zero, IRQA) ShiftRight(READ, 0x1b, 0xf0) 0x0 0x4 Local0 If(Local0) { ShiftLeft(0x1, Local0, IRQA) } ShiftRight(READ, 0x18, 0x6) 0x0 0x1 DMAA ShiftLeft(0x1, DMAA, DMAA) Store(CRSA, Local1) Release(SLOK) Return(Local1) } Else { Return(Buffer(0x2) {0x79, 0x0 }) } } Method(_SRS, 1) { Name(XRFI, Package(0x10) { 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x1, 0x0, 0x2, 0x3, 0x4, 0x0, 0x0, 0x5, 0x6, }) CreateWordField(Arg0, 0x2, IO1A) CreateWordField(Arg0, 0x11, IRQA) CreateByteField(Arg0, 0x14, DMAA) Acquire(SLOK, 0xffff) WRIT 0x0 0xfe 0x0 0x0 WRIT 0x42 0x0 ShiftRight(IO1A, 0x2, ) 0x0 WRIT 0x43 0x3 ShiftRight(IO1A, 0x8, ) 0x0 FindSetRightBit(IRQA, Local0) If(Local0) { Decrement(Local0) WRIT 0x1b 0xf ShiftLeft(Local0, 0x4, ) 0x0 WRIT 0x1b 0xf8 DerefOf(Index(XRFI, Local0, )) 0x0 } Else { WRIT 0x1b 0x8 0x0 0x0 } FindSetRightBit(DMAA, Local0) WRIT 0x18 0xc7 ShiftLeft(Local0, 0x3, ) 0x0 WRIT 0x0 0xfe 0x1 0x0 PHS_ 0xda Release(SLOK) } Method(_PRS) { Acquire(SLOK, 0xffff) Store(PSPS, 0x12) Local0 Release(SLOK) Return(Local0) } Method(_DIS) { Acquire(SLOK, 0xffff) PSDI 0x12 Release(SLOK) } Method(_STA) { Acquire(SLOK, 0xffff) Store(PSST, 0x12) Local0 Release(SLOK) Return(Local0) } Name(_PSC, 0x0) } Device(EPP_) { Name(_HID, 0x0004d041) Name(_UID, 0x3) Name(MCD_, 0x13) Name(CRSB, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,= 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) Method(_CRS) { If(\_SB_.PCI0.ISA_.EPP_._STA) { CreateWordField(CRSB, 0x2, IO1B) CreateWordField(CRSB, 0x4, IO2B) CreateWordField(CRSB, 0x6, IO3B) CreateWordField(CRSB, 0x9, IRQB) Acquire(SLOK, 0xffff) Or(ShiftLeft(And(R430, 0xfc, ), 0x8, ), ShiftLeft(R= 420, 0x2, ), IO1B) Store(IO1B, IO2B) Store(Zero, IRQB) ShiftRight(READ, 0x1b, 0xf0) 0x0 0x4 Local0 If(Local0) { ShiftLeft(0x1, Local0, IRQB) } Store(CRSB, Local1) Release(SLOK) Return(Local1) } Else { Return(Buffer(0x2) {0x79, 0x0 }) } } Method(B_SR, 1) { Name(XRFI, Package(0x10) { 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x1, 0x0, 0x2, 0x3, 0x4, 0x0, 0x0, 0x5, 0x6, }) CreateWordField(Arg0, 0x2, IO1A) CreateWordField(Arg0, 0x9, IRQB) Acquire(SLOK, 0xffff) WRIT 0x0 0xfe 0x0 0x0 WRIT 0x42 0x0 ShiftRight(IO1A, 0x2, ) 0x0 WRIT 0x43 0x3 ShiftRight(IO1A, 0x8, ) 0x0 FindSetRightBit(IRQB, Local0) If(Local0) { Decrement(Local0) WRIT 0x1b 0xf ShiftLeft(Local0, 0x4, ) 0x0 WRIT 0x1b 0xf8 DerefOf(Index(XRFI, Local0, )) 0x0 } Else { WRIT 0x1b 0x8 0x0 0x0 } WRIT 0x0 0xfe 0x1 0x0 WRIT 0x4 0xfa 0x1 0x0 Release(SLOK) } Method(B_PR) { Acquire(SLOK, 0xffff) Store(PSPS, 0x13) Local0 Release(SLOK) Return(Local0) } Method(B_DI) { Acquire(SLOK, 0xffff) PSDI 0x13 Release(SLOK) } Method(_STA) { Acquire(SLOK, 0xffff) Store(PSST, 0x13) Local0 Release(SLOK) Return(Local0) } Name(_PSC, 0x0) } OperationRegion(SIOR, SystemIO, 0x0398, 0x2) Field(SIOR, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) { R000, 8, Offset(0x2), R020, 8, Offset(0x4), R040, 8, Offset(0x42), R420, 8, R430, 8, R440, 8, R450, 8, R460, 8, R470, 8, R480, 8, R490, 8, Offset(0x4f), R4F0, 8 } Method(READ, 3) { If(LNot(Arg2)) { Store(Arg0, INDX) Return(And(DATA, Arg1, )) } } Method(WRIT, 4) { If(LNot(Arg3)) { Store(Arg0, INDX) Or(And(DATA, Arg1, ), Arg2, Local0) Store(Arg0, INDX) Store(Local0, DATA) Store(Local0, DATA) } Else { } } Device(SNC_) { Name(_HID, 0x0150d94d) Method(GPID) { Return(PHSB) 0xc1 0x0 } Method(GBRT) { If(LEqual(\_SB_.PCI0.ISA_.EC0_.ECOK, 0x0)) { Store(PHSD, 0xdb) 0x96 Local0 } Else { Store(\_SB_.PCI0.ISA_.EC0_.BRIT, Local0) } Return(PHSB) 0xd2 Local0 } Method(SBRT, 1) { Store(PHSB, 0xd0) Arg0 Local0 If(LEqual(\_SB_.PCI0.ISA_.EC0_.ECOK, 0x0)) { PHSB 0xde Local0 } Else { Store(Local0, \_SB_.PCI0.ISA_.EC0_.BRIT) } Return(Zero) } Method(GPBR) { Return(PHSB) 0xc6 0x0 } Method(SPBR, 1) { PHSB 0xc7 Arg0 Return(Zero) } Method(GCTR) { If(LEqual(\_SB_.PCI0.ISA_.EC0_.ECOK, 0x0)) { Store(PHSD, 0xdb) 0x97 Local0 } Else { Store(\_SB_.PCI0.ISA_.EC0_.CONT, Local0) } Return(PHSB) 0xd3 Local0 } Method(SCTR, 1) { Store(PHSB, 0xd1) Arg0 Local0 If(LEqual(\_SB_.PCI0.ISA_.EC0_.ECOK, 0x0)) { PHSB 0xdf Local0 } Else { Store(Local0, \_SB_.PCI0.ISA_.EC0_.CONT) } Return(Zero) } Method(GPCR) { Return(PHSB) 0xc8 0x0 } Method(SPCR, 1) { PHSB 0xc9 Arg0 Return(Zero) } Method(SLVT) { Return(PHSB) 0xca 0x0 } Method(SLTT) { Return(PHSB) 0xcb 0x0 } Method(SEVF) { Return(PHSB) 0xcc 0x0 } Method(GCMI, 1) { Return(PHSD) 0xce Arg0 } Method(SCMI, 1) { Return(PHSD) 0xcf Arg0 } Method(PWAK) { Noop Return(Zero) } Method(PWRN) { Notify(\_SB_.PWRB, 0x80) } Method(CSXB, 1) { Acquire(MPHS, 0xffff) Store(Arg0, SXBF) PHS0 0xe2 Store(SXBF, Local0) Release(MPHS) Return(Local0) } Method(CMGB, 1) { If(Arg0) { Store(0x0, GO12) } Else { Store(0x1, GO12) } Return(Zero) } } OperationRegion(GENC, PCI_Config, 0xb0, 0x4) Field(GENC, DWordAcc, NoLock, Preserve) { ISAS, 1, POSD, 1, , 9, ID0T, 1, ID1T, 1 } OperationRegion(PCI_, PCI_Config, 0x60, 0x4) Field(PCI_, DWordAcc, NoLock, Preserve) { PIRQ, 32 } Name(P1__, Buffer(0x4) {0x0 }) Method(RESP) { Store(P1__, PIRQ) } Method(SAVP) { Store(PIRQ, P1__) } } } } Scope(\_SI_) { Method(_SST, 1) { If(LEqual(Arg0, 0x0)) { } If(LEqual(Arg0, 0x1)) { } If(LEqual(Arg0, 0x2)) { } If(LEqual(Arg0, 0x3)) { } If(LEqual(Arg0, 0x4)) { } If(LEqual(Arg0, 0x5)) { } } } Method(_WAK, 1) { Store(0x0, \_SB_.PCI0.CRST) If(LEqual(Arg0, 0x1)) { PHS_ 0xe0 } If(LEqual(Arg0, 0x4)) { \_SB_.PCI0.ISA_.SPIC._SRS \_SB_.PCI0.ISA_.SPIC.SSRC If(LEqual(SCMP, \_OS_)) { "Microsoft Windows NT" Zero PHS_ 0xe6 } Else { If(LNot(LEqual(SCMP, \_OS_))) { "Microsoft Windows" Zero PHS_ 0xe6 } } } If(LEqual(SCMP, \_OS_)) { "Microsoft Windows NT" Zero Noop } Else { If(LNot(LEqual(SCMP, \_OS_))) { "Microsoft Windows" Zero Noop } Else { Notify(\_SB_.PWRB, 0x2) } } Return(Zero) } Scope(\_TZ_) { ThermalZone(ATF0) { Method(KELV, 1) { Store(Arg0, Local0) Multiply(Local0, 0xa, Local0) Add(Local0, 0x0aab, Local0) Return(Local0) } Method(_TMP) { ShiftRight(PHSD, 0xdb, 0xc0) 0x8 Local0 Return(KELV) Local0 } Method(_PSV) { ShiftRight(PHSD, 0xdb, 0xc4) 0x8 Local0 Return(KELV) Local0 } Name(_PSL, Package(0x1) { \_PR_.CPU0, }) Method(_CRT) { ShiftRight(PHSD, 0xdb, 0xc6) 0x8 Local0 Return(KELV) Local0 } Name(_TC1, 0x1) Name(_TC2, 0x1) Name(_TSP, 0x32) } } Scope(_SB_) { Name(IRQP, Package(0x10) { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0200, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, }) Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x1) Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x2, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(\_SB_.PCI0.ISA_.PIRA, 0x80, \_SB_.PCI0.ISA_.PIRA) } Method(_CRS) { Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(BUFA, 0x1, IRA1) And(\_SB_.PCI0.ISA_.PIRA, 0x8f, Local0) If(LLess(Local0, 0x80)) { And(Local0, 0xf, Local0) Store(DerefOf(Index(IRQP, Local0, )), Local4) Store(Local4, IRA1) } Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRA1) Store(IRA1, Local0) Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1) And(\_SB_.PCI0.ISA_.PIRA, 0x70, Local0) Or(Local1, Local0, \_SB_.PCI0.ISA_.PIRA) } Method(_STA) { If(LEqual(\_SB_.PCI0.ISA_.PIRA, 0x80)) { Return(0x9) } Else { Return(0xb) } } } Device(LNKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0x2) Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x2, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(\_SB_.PCI0.ISA_.PIRB, 0x80, \_SB_.PCI0.ISA_.PIRB) } Method(_CRS) { Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(BUFA, 0x1, IRA1) And(\_SB_.PCI0.ISA_.PIRB, 0x8f, Local0) If(LLess(Local0, 0x80)) { And(Local0, 0xf, Local0) Store(DerefOf(Index(IRQP, Local0, )), Local4) Store(Local4, IRA1) } Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRA1) Store(IRA1, Local0) Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1) And(\_SB_.PCI0.ISA_.PIRB, 0x70, Local0) Or(Local1, Local0, \_SB_.PCI0.ISA_.PIRB) } Method(_STA) { If(LEqual(\_SB_.PCI0.ISA_.PIRB, 0x80)) { Return(0x9) } Else { Return(0xb) } } } Device(LNKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0x3) Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x2, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(\_SB_.PCI0.ISA_.PIRC, 0x80, \_SB_.PCI0.ISA_.PIRC) } Method(_CRS) { Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(BUFA, 0x1, IRA1) And(\_SB_.PCI0.ISA_.PIRC, 0x8f, Local0) If(LLess(Local0, 0x80)) { And(Local0, 0xf, Local0) Store(DerefOf(Index(IRQP, Local0, )), Local4) Store(Local4, IRA1) } Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRA1) Store(IRA1, Local0) Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1) And(\_SB_.PCI0.ISA_.PIRC, 0x70, Local0) Or(Local1, Local0, \_SB_.PCI0.ISA_.PIRC) } Method(_STA) { If(LEqual(\_SB_.PCI0.ISA_.PIRC, 0x80)) { Return(0x9) } Else { Return(0xb) } } } Device(LNKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0x4) Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x2, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(\_SB_.PCI0.ISA_.PIRD, 0x80, \_SB_.PCI0.ISA_.PIRD) } Method(_CRS) { Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(BUFA, 0x1, IRA1) And(\_SB_.PCI0.ISA_.PIRD, 0x8f, Local0) If(LLess(Local0, 0x80)) { And(Local0, 0xf, Local0) Store(DerefOf(Index(IRQP, Local0, )), Local4) Store(Local4, IRA1) } Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRA1) Store(IRA1, Local0) Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1) And(\_SB_.PCI0.ISA_.PIRD, 0x70, Local0) Or(Local1, Local0, \_SB_.PCI0.ISA_.PIRD) } Method(_STA) { If(LEqual(\_SB_.PCI0.ISA_.PIRD, 0x80)) { Return(0x9) } Else { Return(0xb) } } } } BOOT: Lenth=3D39, Revision=3D1, Checksum=3D84, OEMID=3DSONY, OEM Table ID=3DZ1, OEM Revision=3D0x20000511, Creator ID=3DPTL, Creator Revision=3D0x1 --2oS5YaxWCcQjTEyO-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message