Date: Tue, 6 Jul 2004 10:42:05 +0200 From: Andrea Campi <andrea+acpi@webcom.it> To: freebsd-acpi@FreeBSD.org Subject: CPU Cx states not working with recent kernel on Thinkpad Message-ID: <20040706084203.GB19813@webcom.it>
next in thread | raw e-mail | index | archive | help
Hi all, I upgraded my Thinkpad 570E from a beginning of June kernel to new sources cvsup'd after the recent changes (ACPICA import etc) a couple of days ago. I now get this: ... cpu0: <ACPI CPU (3 Cx states)> port 0x530-0x537 on acpi0 cpu0: Failed to attach throttling P_CNT ... whereas it used to work: cpu0: <ACPI CPU (3 Cx states)> on acpi0 ... acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0% andrea@brian:~$ sysctl hw.acpi hw.acpi.supported_sleep_state: S1 S3 S4 S5 hw.acpi.power_button_state: S5 hw.acpi.sleep_button_state: S4 hw.acpi.lid_switch_state: NONE hw.acpi.standby_state: S1 hw.acpi.suspend_state: S3 hw.acpi.sleep_delay: 1 hw.acpi.s4bios: 1 hw.acpi.verbose: 1 hw.acpi.reset_video: 1 hw.acpi.cpu.cx_supported: C1/0 hw.acpi.cpu.cx_lowest: C1 hw.acpi.cpu.cx_usage: 100.00% hw.acpi.thermal.min_runtime: 300 hw.acpi.thermal.polling_rate: 10 hw.acpi.thermal.tz0.temperature: 3300 hw.acpi.thermal.tz0.active: -1 hw.acpi.thermal.tz0.thermal_flags: 0 hw.acpi.thermal.tz0._PSV: 3632 hw.acpi.thermal.tz0._HOT: -1 hw.acpi.thermal.tz0._CRT: 3732 hw.acpi.thermal.tz0._ACx: 3422 -1 -1 -1 -1 -1 -1 -1 -1 -1 hw.acpi.acline: 1 hw.acpi.battery.life: 96 hw.acpi.battery.time: -1 hw.acpi.battery.state: 0 hw.acpi.battery.units: 2 hw.acpi.battery.info_expire: 5 The weird part is that I'm not seeing any P_CNT in the ASL; but I'm sure it's simply that I have no clue. Is this expected or would it be useful for me to try and restrict the breakage to one change? Bye, Andrea ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /* RSD PTR: OEM=PTLTD, ACPI_Rev=1.0x (0) RSDT=0x0bffaa70, cksum=21 */ /* RSDT: Length=44, Revision=1, Checksum=207, OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Entries={ 0x0bfffb65, 0x0bfffbd9 } */ /* FACP: Length=116, Revision=1, Checksum=96, OEMID=IBM, OEM Table ID=VIPER, OEM Revision=0x6040000, Creator ID=PTL, Creator Revision=0xf4240 FACS=0xbffffc0, DSDT=0xbffaa9c INT_MODEL=PIC Preferred_PM_Profile=Unspecified (0) SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0xf2 PSTATE_CNT=0x0 PM1a_EVT_BLK=0x1000-0x1003 PM1a_CNT_BLK=0x1004-0x1005 PM2_CNT_BLK=0x22-0x22 PM_TMR_BLK=0x1008-0x100b GPE0_BLK=0x100c-0x100f P_LVL2_LAT=10 us, P_LVL3_LAT=20 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 IAPC_BOOT_ARCH= Flags={WBINVD,SLP_BUTTON,RTC_S4,DCK_CAP} */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags=S4BIOS Version=0 */ /* DSDT: Length=20681, Revision=1, Checksum=250, OEMID=IBM, OEM Table ID=VIPER, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x1000004 */ /* BOOT: Length=39, Revision=1, Checksum=165, OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 */ /* * Intel ACPI Component Architecture * AML Disassembler version 20040527 * * Disassembly of /tmp/acpidump.7qY1Ny, Tue Jul 6 10:38:11 2004 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "IBM ", "VIPER ", 100925440) { Name (_S0, Package (0x02) { 0x05, 0x05 }) Name (_S1, Package (0x02) { 0x04, 0x04 }) Name (_S3, Package (0x02) { 0x01, 0x01 }) Name (_S4, Package (0x02) { 0x00, 0x00 }) Name (_S5, Package (0x02) { 0x00, 0x00 }) Scope (_PR) { Processor (CPU, 0x00, 0x00001010, 0x06) {} } Scope (_SI) { Method (_SST, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { If (LEqual (\SSLV, 0x00)) { \_SB.PCI.ISA.EC.SLED (0x80, 0x00) \_SB.PCI.ISA.EC.SLED (0x01, 0x00) } \_SB.PCI.ISA.EC.BEEP (0x07, 0x00) } If (LEqual (Arg0, 0x01)) { \_SB.PCI.ISA.EC.SLED (0x80, 0x00) \_SB.PCI.ISA.EC.SLED (0x01, 0x01) If (LNot (LEqual (\SSLV, 0x00))) { \_SB.PCI.ISA.EC.BEEP (0x05, 0x00) } } If (LEqual (Arg0, 0x03)) { If (LOr (LEqual (\SSLV, 0x03), LEqual (\SSLV, 0x00))) { \_SB.PCI.ISA.EC.SLED (0x01, 0x00) } \_SB.PCI.ISA.EC.SLED (0x80, 0x01) \_SB.PCI.ISA.EC.BEEP (0x03, 0x00) } If (LEqual (Arg0, 0x04)) { If (LOr (LEqual (\SSLV, 0x03), LEqual (\SSLV, 0x00))) { \_SB.PCI.ISA.EC.SLED (0x01, 0x00) } \_SB.PCI.ISA.EC.SLED (0x80, 0x00) \_SB.PCI.ISA.EC.BEEP (0x03, 0x00) } } } Scope (_TZ) { ThermalZone (THM0) { Name (_TC1, 0x01) Name (_TC2, 0x03) Name (_TSP, 0x012C) Method (_CRT, 0, NotSerialized) { Return (CRTL) } Method (_PSV, 0, NotSerialized) { If (\_SB.PCI.PWR.THTE) { Return (PSVL) } Else { Return (PSVH) } } Method (_AC0, 0, NotSerialized) { If (And (\_SB.PCI.ISA.EC.GFAN (), 0x07)) { Return (AC0L) } Else { Return (AC0H) } } Method (_TMP, 0, NotSerialized) { Store (\_SB.PCI.ISA.EC.GH8A (), Local0) Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x04), Local0) CreateWordField (Local0, 0x00, TMP0) Store (TMP0, Local0) Store (\_SB.PCI.ISA.EC.GTHZ (), Local1) If (LEqual (Local1, 0x00)) { If (LNot (LLess (Local0, AC0L))) { Store (AC0L, Local0) Subtract (Local0, 0x05) } } If (And (Local1, 0x01)) { If (LNot (LGreater (Local0, AC0L))) { Store (AC0H, Local0) Add (Local0, 0x05) } } If (And (Local1, 0x02)) { If (LNot (LGreater (Local0, PSVL))) { Store (PSVH, Local0) Add (Local0, 0x05) } } Return (Local0) } Method (_SCP, 1, NotSerialized) { Notify (\_TZ.THM0, 0x81) } Name (_AL0, Package (0x01) { FAN }) Name (_PSL, Package (0x01) { \_PR.CPU }) Name (CRTL, 0x0E94) Name (PSVH, 0x0E30) Name (PSVL, 0x0E30) Name (AC0H, 0x0D5E) Name (AC0L, 0x0D36) } PowerResource (FANP, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI.ISA.EC.GFAN (), 0x07)) { Return (0x01) } Else { Return (0x00) } } Method (_ON, 0, NotSerialized) { \_SB.PCI.ISA.EC.SFAN (0x07) } Method (_OFF, 0, NotSerialized) { \_SB.PCI.ISA.EC.SFAN (0x00) } } Device (FAN) { Name (_HID, EisaId ("PNP0C0B")) Name (_PR0, Package (0x01) { FANP }) } } Scope (_GPE) { Method (_L00, 0, NotSerialized) { Not (\_SB.PCI.PWR.TPOL, \_SB.PCI.PWR.TPOL) } Method (_L08, 0, NotSerialized) { Notify (\_SB.PCI.USB, 0x02) } Method (_L09, 0, NotSerialized) { Store (\_SB.PCI.ISA.EC.ECQE (), Local0) While (Local0) { If (LEqual (Local0, 0x11)) { \_SB.PCI.ISA.EC._Q11 () } If (LEqual (Local0, 0x13)) { \_SB.PCI.ISA.EC._Q13 () } If (LEqual (Local0, 0x16)) { \_SB.PCI.ISA.EC._Q16 () } If (LEqual (Local0, 0x17)) { \_SB.PCI.ISA.EC._Q17 () } If (LEqual (Local0, 0x1B)) { \_SB.PCI.ISA.EC._Q1B () } If (LEqual (Local0, 0x1C)) { \_SB.PCI.ISA.EC._Q1C () } If (LEqual (Local0, 0x1D)) { \_SB.PCI.ISA.EC._Q1D () } If (LEqual (Local0, 0x1E)) { \_SB.PCI.ISA.EC._Q1E () } If (LEqual (Local0, 0x20)) { \_SB.PCI.ISA.EC._Q20 () } If (LEqual (Local0, 0x21)) { \_SB.PCI.ISA.EC._Q21 () } If (LEqual (Local0, 0x22)) { \_SB.PCI.ISA.EC._Q22 () } If (LEqual (Local0, 0x23)) { \_SB.PCI.ISA.EC._Q23 () } If (LEqual (Local0, 0x24)) { \_SB.PCI.ISA.EC._Q24 () } If (LEqual (Local0, 0x25)) { \_SB.PCI.ISA.EC._Q25 () } If (LEqual (Local0, 0x26)) { \_SB.PCI.ISA.EC._Q26 () } If (LEqual (Local0, 0x27)) { \_SB.PCI.ISA.EC._Q27 () } If (LEqual (Local0, 0x2A)) { \_SB.PCI.ISA.EC._Q2A () } If (LEqual (Local0, 0x2B)) { \_SB.PCI.ISA.EC._Q2B () } If (LEqual (Local0, 0x30)) { \_SB.PCI.ISA.EC._Q30 () } If (LEqual (Local0, 0x31)) { \_SB.PCI.ISA.EC._Q31 () } If (LEqual (Local0, 0x32)) { \_SB.PCI.ISA.EC._Q32 () } If (LEqual (Local0, 0x37)) { \_SB.PCI.ISA.EC._Q37 () } If (LEqual (Local0, 0x39)) { \_SB.PCI.ISA.EC._Q39 () } If (LEqual (Local0, 0x3E)) { \_SB.PCI.ISA.EC._Q3E () } If (LEqual (Local0, 0x40)) { \_SB.PCI.ISA.EC._Q40 () } If (LEqual (Local0, 0x50)) { \_SB.PCI.ISA.EC._Q50 () } If (LEqual (Local0, 0x51)) { \_SB.PCI.ISA.EC._Q51 () } If (LEqual (Local0, 0x52)) { \_SB.PCI.ISA.EC._Q52 () } If (LEqual (Local0, 0x53)) { \_SB.PCI.ISA.EC._Q53 () } Store (\_SB.PCI.ISA.EC.ECQE (), Local0) } } Method (_L0B, 0, NotSerialized) { Store (\_SB.PCI.ISA.EC.GWES (), Local0) If (And (Local0, 0x01)) { Notify (\_SB.PCI, 0x02) \_SB.PCI.ISA.EC.GWES () } If (And (Local0, 0x02)) { Notify (\_SB.LID, 0x80) } If (And (Local0, 0x04)) { Notify (\_SB.SLPB, 0x02) } If (And (Local0, 0x08)) { Notify (\_SB.PCI.MODM, 0x02) } If (And (Local0, 0x10)) { Notify (\_SB.SLPB, 0x02) \_SB.PCI.ISA.EC._Q50 () } If (And (Local0, 0x20)) { Notify (\_SB.SLPB, 0x02) \_SB.PCI.ISA.EC._Q51 () } } } Scope (_SB) { OperationRegion (PHSD, SystemMemory, 0x0BFFFEBC, 0x00000100) Field (PHSD, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 2000 } Field (PHSD, AnyAcc, NoLock, Preserve) { Offset (0x05), INF, 8 } Field (PHSD, AnyAcc, NoLock, Preserve) { Offset (0x05), INF2, 1024 } OperationRegion (PHSI, SystemIO, 0x0000FE00, 0x00000002) Field (PHSI, AnyAcc, NoLock, Preserve) { SMIC, 8 } Mutex (MPHS, 0x00) Method (PSCS, 1, Serialized) { Acquire (MPHS, 0xFFFF) Store (Zero, INFO) Store (0x00, BCMD) Store (Arg0, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Store (INFO, Local0) Release (MPHS) Return (Local0) } Method (PSSS, 2, Serialized) { Acquire (MPHS, 0xFFFF) Store (0x01, BCMD) Store (Arg0, DID) Store (Arg1, INFO) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Release (MPHS) } Method (PSPS, 1, Serialized) { Acquire (MPHS, 0xFFFF) Store (0x00, INFO) Store (0x02, BCMD) Store (Arg0, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Store (INFO, Local0) Release (MPHS) Return (Local0) } Method (PSDI, 1, Serialized) { Acquire (MPHS, 0xFFFF) Store (0x03, BCMD) Store (Arg0, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Release (MPHS) } Method (PSST, 1, Serialized) { Acquire (MPHS, 0xFFFF) Store (0x00, INF) Store (0x04, BCMD) Store (Arg0, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Store (INF, Local0) Release (MPHS) Return (Local0) } Method (PHS, 1, Serialized) { Acquire (MPHS, 0xFFFF) Store (Arg0, BCMD) Store (Zero, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Store (INF, Local0) Release (MPHS) Return (Local0) } Method (PHS2, 2, Serialized) { Acquire (MPHS, 0xFFFF) Store (Arg0, BCMD) Store (Arg1, INF) Store (Zero, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Store (INF2, Local0) Release (MPHS) Return (Local0) } Device (AC) { Name (_HID, "ACPI0003") Name (_STA, 0x0F) Name (_PCL, Package (0x01) { \_SB }) Method (_PSR, 0, NotSerialized) { Return (\_SB.PCI.ISA.EC.ACST ()) } } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x01) Name (BIFB, Package (0x0D) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0x01, 0x2A30, 0x00, 0x00, 0x00, 0x01, "", "", "", "" }) Name (BSTB, Package (0x04) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Name (_PCL, Package (0x01) { \_SB }) Name (_STA, 0x0F) Method (_BIF, 0, NotSerialized) { Store (\_SB.PCI.ISA.EC.GH8A (), Local0) Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x10), Local0) CreateByteField (Local0, 0x00, PWUT) CreateDWordField (Local0, 0x04, DCAP) CreateDWordField (Local0, 0x08, FCAP) CreateWordField (Local0, 0x10, VOLT) If (LEqual (PWUT, 0xFF)) { Store (0x00, Index (BIFB, 0x00)) Store (0xFFFFFFFF, Index (BIFB, 0x01)) Store (0xFFFFFFFF, Index (BIFB, 0x02)) Store (0x00, Index (BIFB, 0x05)) Store (0x00, Index (BIFB, 0x06)) } Else { Store (PWUT, Index (BIFB, 0x00)) Store (DCAP, Index (BIFB, 0x01)) Store (FCAP, Index (BIFB, 0x02)) Store (Divide (DCAP, 0x0A, ), Index (BIFB, 0x05)) Store (Divide (DCAP, 0x14, ), Index (BIFB, 0x06)) } Store ("LION", Index (BIFB, 0x0B)) Return (BIFB) } Method (_BST, 0, NotSerialized) { Store (Zero, Local0) If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x40)) { Or (0x01, Local0, Local0) } If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x20)) { Or (0x02, Local0, Local0) } If (LNot (LGreater (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x0F), 0x03))) { Or (0x04, Local0, Local0) } Store (Local0, Index (BSTB, 0x00)) Store (\_SB.PCI.ISA.EC.GH8A (), Local0) Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x10), Local0) CreateByteField (Local0, 0x00, PWUT) CreateDWordField (Local0, 0x0C, CAPA) CreateWordField (Local0, 0x10, VOLT) CreateWordField (Local0, 0x12, CURR) And (CURR, 0xFF00, Local1) If (LNot (LLess (Local1, 0x8000))) { Subtract (0x00010000, Local1, Local1) } If (LEqual (PWUT, 0x00)) { Store (Divide (Multiply (Local1, VOLT), 0x03E8, ), Index (BSTB, 0x01)) } Else { If (LEqual (PWUT, 0x01)) { Store (Local1, Index (BSTB, 0x01)) } Else { If (LEqual (PWUT, 0xFF)) { Store (0xFFFFFFFF, Index (BSTB, 0x01)) } } } Store (CAPA, Index (BSTB, 0x02)) Store (VOLT, Index (BSTB, 0x03)) Return (BSTB) } Method (_INI, 0, NotSerialized) { If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x80)) { Store (0x1F, \_SB.BAT1._STA) } } } Device (BAT2) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x02) Name (BIFB, Package (0x0D) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0x01, 0x2A30, 0x00, 0x00, 0x00, 0x01, "", "", "", "" }) Name (BSTB, Package (0x04) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Name (_PCL, Package (0x01) { \_SB }) Name (_STA, 0x0F) Method (_BIF, 0, NotSerialized) { Store (\_SB.PCI.ISA.EC.GH8A (), Local0) Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x11), Local0) CreateByteField (Local0, 0x00, PWUT) CreateDWordField (Local0, 0x04, DCAP) CreateDWordField (Local0, 0x08, FCAP) CreateWordField (Local0, 0x10, VOLT) If (LEqual (PWUT, 0xFF)) { Store (0x00, Index (BIFB, 0x00)) Store (0xFFFFFFFF, Index (BIFB, 0x01)) Store (0xFFFFFFFF, Index (BIFB, 0x02)) Store (0x00, Index (BIFB, 0x05)) Store (0x00, Index (BIFB, 0x06)) } Else { Store (PWUT, Index (BIFB, 0x00)) Store (DCAP, Index (BIFB, 0x01)) Store (FCAP, Index (BIFB, 0x02)) Store (Divide (DCAP, 0x0A, ), Index (BIFB, 0x05)) Store (Divide (DCAP, 0x14, ), Index (BIFB, 0x06)) } Store ("LION", Index (BIFB, 0x0B)) Return (BIFB) } Method (_BST, 0, NotSerialized) { Store (Zero, Local0) If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x40)) { Or (0x01, Local0, Local0) } If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x20)) { Or (0x02, Local0, Local0) } If (LNot (LGreater (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x0F), 0x03))) { Or (0x04, Local0, Local0) } Store (Local0, Index (BSTB, 0x00)) Store (\_SB.PCI.ISA.EC.GH8A (), Local0) Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x11), Local0) CreateByteField (Local0, 0x00, PWUT) CreateDWordField (Local0, 0x0C, CAPA) CreateWordField (Local0, 0x10, VOLT) CreateWordField (Local0, 0x12, CURR) If (LNot (LLess (CURR, 0x8000))) { Store (Subtract (0x00010000, CURR), Local1) } Else { Store (CURR, Local1) } If (LEqual (PWUT, 0x00)) { Store (Divide (Multiply (Local1, VOLT), 0x03E8, ), Index (BSTB, 0x01)) } Else { If (LEqual (PWUT, 0x01)) { Store (Local1, Index (BSTB, 0x01)) } Else { If (LEqual (PWUT, 0xFF)) { Store (0xFFFFFFFF, Index (BSTB, 0x01)) } } } Store (CAPA, Index (BSTB, 0x02)) Store (VOLT, Index (BSTB, 0x03)) Return (BSTB) } Method (_INI, 0, NotSerialized) { If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80)) { Store (0x1F, \_SB.BAT2._STA) } } } Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) Method (_LID, 0, NotSerialized) { Return (\_SB.PCI.ISA.EC.GLID ()) } } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) } Device (PCI) { Name (_HID, EisaId ("PNP0A03")) Name (_BBN, 0x00) Name (_ADR, 0x00) 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, Offset (0x3A), CRST, 1 } Name (RSRC, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, 0x0000, 0x00FF, 0x0000, 0x0100, 0x00) IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0000, 0x0CF7, 0x0000, 0x0CF8, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C0000, 0x000C3FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C4000, 0x000C7FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C8000, 0x000CBFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000CC000, 0x000CFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D0000, 0x000D3FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D4000, 0x000D7FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D8000, 0x000DBFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000DC000, 0x000DFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E0000, 0x000E3FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E4000, 0x000E7FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E8000, 0x000EBFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000EC000, 0x000EFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0D00, 0xFFFF, 0x0000, 0xF300, 0x00) }) Method (_CRS, 0, Serialized) { Store (Zero, Local1) If (T_EN) { ShiftLeft (0x01, Add (T_SZ, 0x11), Local1) } CreateDWordField (RSRC, 0x0193, BTMN) CreateDWordField (RSRC, 0x0197, BTMX) CreateDWordField (RSRC, 0x019F, 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), 0x01, BTMX) } CreateDWordField (RSRC, 0x01AE, ATMN) CreateDWordField (RSRC, 0x01B2, ATMX) CreateDWordField (RSRC, 0x01BA, ATLN) If (T_EN) { Add (Add (BTMN, BTLN), Local1, ATMN) Subtract (0xFFE00000, ATMN, ATLN) Subtract (Add (ATMN, ATLN), 0x01, ATMX) } Else { Store (Zero, ATLN) } CreateBitField (RSRC, 0x0250, C0RW) CreateDWordField (RSRC, 0x4F, C0MN) CreateDWordField (RSRC, 0x53, C0MX) CreateDWordField (RSRC, 0x5B, C0LN) Store (One, C0RW) If (LEqual (And (PAM1, 0x03), 0x01)) { Store (Zero, C0RW) } Store (Zero, C0LN) If (LNot (And (PAM1, 0x03))) { Store (0x4000, C0LN) } CreateBitField (RSRC, 0x0328, C4RW) CreateDWordField (RSRC, 0x6A, C4MN) CreateDWordField (RSRC, 0x6E, C4MX) CreateDWordField (RSRC, 0x76, 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, 0x0400, C8RW) CreateDWordField (RSRC, 0x85, C8MN) CreateDWordField (RSRC, 0x89, C8MX) CreateDWordField (RSRC, 0x91, C8LN) Store (One, C8RW) If (LEqual (And (PAM2, 0x03), 0x01)) { Store (Zero, C8RW) } Store (Zero, C8LN) If (LNot (And (PAM2, 0x03))) { Store (0x4000, C8LN) } CreateBitField (RSRC, 0x04D8, CCRW) CreateDWordField (RSRC, 0xA0, CCMN) CreateDWordField (RSRC, 0xA4, CCMX) CreateDWordField (RSRC, 0xAC, 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, 0x05B0, D0RW) CreateDWordField (RSRC, 0xBB, D0MN) CreateDWordField (RSRC, 0xBF, D0MX) CreateDWordField (RSRC, 0xC7, D0LN) Store (One, D0RW) If (LEqual (And (PAM3, 0x03), 0x01)) { Store (Zero, D0RW) } Store (Zero, D0LN) If (LNot (And (PAM3, 0x03))) { Store (0x4000, D0LN) } CreateBitField (RSRC, 0x0688, D4RW) CreateDWordField (RSRC, 0xD6, D4MN) CreateDWordField (RSRC, 0xDA, D4MX) CreateDWordField (RSRC, 0xE2, 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, 0x0760, D8RW) CreateDWordField (RSRC, 0xF1, D8MN) CreateDWordField (RSRC, 0xF5, D8MX) CreateDWordField (RSRC, 0xFD, D8LN) Store (One, D8RW) If (LEqual (And (PAM4, 0x03), 0x01)) { Store (Zero, D8RW) } Store (Zero, D8LN) If (LNot (And (PAM4, 0x03))) { Store (0x4000, D8LN) } CreateBitField (RSRC, 0x0838, DCRW) CreateDWordField (RSRC, 0x010C, DCMN) CreateDWordField (RSRC, 0x0110, DCMX) CreateDWordField (RSRC, 0x0118, DCLN) Store (One, DCRW) If (LEqual (And (PAM4, 0x30), 0x10)) { Store (Zero, DCRW) } Store (Zero, DCLN) If (LNot (And (PAM4, 0x30))) { Store (0x4000, DCLN) } CreateBitField (RSRC, 0x0910, E0RW) CreateDWordField (RSRC, 0x0127, E0MN) CreateDWordField (RSRC, 0x012B, E0MX) CreateDWordField (RSRC, 0x0133, E0LN) Store (One, E0RW) If (LEqual (And (PAM5, 0x03), 0x01)) { Store (Zero, E0RW) } Store (Zero, E0LN) If (LNot (And (PAM5, 0x03))) { Store (0x4000, E0LN) } CreateBitField (RSRC, 0x09E8, E4RW) CreateDWordField (RSRC, 0x0142, E4MN) CreateDWordField (RSRC, 0x0146, E4MX) CreateDWordField (RSRC, 0x014E, 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, 0x0AC0, E8RW) CreateDWordField (RSRC, 0x015D, E8MN) CreateDWordField (RSRC, 0x0161, E8MX) CreateDWordField (RSRC, 0x0169, E8LN) Store (One, E8RW) If (LEqual (And (PAM6, 0x03), 0x01)) { Store (Zero, E8RW) } Store (Zero, E8LN) If (LNot (And (PAM6, 0x03))) { Store (0x4000, E8LN) } CreateBitField (RSRC, 0x0B98, ECRW) CreateDWordField (RSRC, 0x0178, ECMN) CreateDWordField (RSRC, 0x017C, ECMX) CreateDWordField (RSRC, 0x0184, 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) } Name (_PRT, Package (0x08) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI.ISA.LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, \_SB.PCI.ISA.LNKB, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI.ISA.LNKA, 0x00 }, Package (0x04) { 0x0002FFFF, 0x01, \_SB.PCI.ISA.LNKB, 0x00 }, Package (0x04) { 0x0005FFFF, 0x00, \_SB.PCI.ISA.LNKA, 0x00 }, Package (0x04) { 0x0006FFFF, 0x03, \_SB.PCI.ISA.LNKD, 0x00 }, Package (0x04) { 0x0007FFFF, 0x00, \_SB.PCI.ISA.LNKC, 0x00 }, Package (0x04) { 0x0007FFFF, 0x01, \_SB.PCI.ISA.LNKD, 0x00 } }) Device (AGP) { Name (_ADR, 0x00010000) Device (VGA) { Name (_ADR, 0x00) Method (_INI, 0, NotSerialized) { Store (And (\_SB.PHS (0x87), 0x0F), \_SB.PCI.AGP.VGA.GDCS) Store (And (\_SB.PCI.AGP.VGA.GDCS, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS) Store (ShiftRight (And (\_SB.PCI.AGP.VGA.GDCS, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DCS) } Method (_DOS, 1, NotSerialized) { Store (Arg0, SWIT) } Name (_DOD, Package (0x02) { 0x00010100, 0x00010110 }) Method (SRVO, 1, NotSerialized) { If (And (\_SB.PHS (0x87), 0x30)) { If (Arg0) { If (LNot (LEqual (DDGS, 0x00))) { Store (And (DDGS, 0x01), \_SB.PCI.AGP.VGA.LCD._DGS) Store (ShiftRight (And (DDGS, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DGS) Notify (\_SB.PCI.AGP.VGA, 0x80) } } Else { Store (Or (ShiftLeft (\_SB.PCI.AGP.VGA.CRT._DCS, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS), DDGS) Store (One, \_SB.PCI.AGP.VGA.LCD._DGS) Store (Zero, \_SB.PCI.AGP.VGA.CRT._DGS) Notify (\_SB.PCI.AGP.VGA, 0x80) } } } Device (CRT) { Name (_ADR, 0x0100) Name (_DCS, 0x1F) Name (_DGS, 0x00) Method (_DDC, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { Return (\_SB.PHS2 (0x8A, 0x00)) } If (LEqual (Arg0, 0x02)) { Concatenate (\_SB.PHS2 (0x8A, 0x00), DDC0, Local0) Return (Local0) } } Method (_DSS, 1, NotSerialized) { Or (And (\_SB.PCI.AGP.VGA.GDGS, 0x01), ShiftLeft (And (Arg0, 0x01), 0x01), \_SB.PCI.AGP.VGA.GDGS) If (And (Arg0, 0xC0000000)) { Store (GDGS, GDCS) If (LEqual (And (Arg0, 0x40000000), 0x00)) { \_SB.PHS2 (0x8B, Or (GDCS, 0x80)) Store (And (\_SB.PHS (0x87), 0x0F), Local0) Store (And (Local0, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS) Store (ShiftRight (And (Local0, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DCS) } Else { \_SB.PHS2 (0x8B, GDCS) } } } } Device (LCD) { Name (_ADR, 0x0110) Name (_DCS, 0x1F) Name (_DGS, 0x01) Method (_DDC, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { If (And (\_SB.PHS (0x87), 0x40)) { Return (DDC1) } Else { Return (DDC2) } } If (LEqual (Arg0, 0x02)) { If (And (\_SB.PHS (0x87), 0x40)) { Concatenate (DDC1, DDC0, Local0) Return (Local0) } Else { Concatenate (DDC2, DDC0, Local0) Return (Local0) } } Return (0x00) } Method (_DSS, 1, NotSerialized) { Or (And (\_SB.PCI.AGP.VGA.GDGS, 0x02), And (Arg0, 0x01), \_SB.PCI.AGP.VGA.GDGS) If (And (Arg0, 0xC0000000)) { Store (GDGS, GDCS) If (LEqual (And (Arg0, 0x40000000), 0x00)) { \_SB.PHS2 (0x8B, Or (GDCS, 0x80)) Store (And (\_SB.PHS (0x87), 0x0F), Local0) Store (And (Local0, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS) Store (ShiftRight (And (Local0, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DCS) } Else { \_SB.PHS2 (0x8B, GDCS) } } } } Name (SWIT, 0x01) Name (GDCS, 0x02) Name (GDGS, 0x02) Name (DDGS, 0x00) Name (DDC0, Buffer (0x80) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (DDC1, Buffer (0x80) { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x24, 0x4D, 0x55, 0x0A, 0x01, 0x01, 0x01, 0x01, 0x23, 0x09, 0x01, 0x02, 0x80, 0x21, 0x18, 0x00, 0xEA, 0x0D, 0xFB, 0xA0, 0x57, 0x47, 0x98, 0x27, 0x12, 0x4D, 0x51, 0xA1, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x19, 0x00, 0x40, 0x41, 0x00, 0x26, 0x30, 0x18, 0x88, 0x36, 0x00, 0x0E, 0xCB, 0x10, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69, 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x4C, 0x43, 0x44, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x31, 0x30, 0x32, 0x34, 0x78, 0x37, 0x36, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33 }) Name (DDC2, Buffer (0x80) { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x24, 0x4D, 0x4B, 0x0A, 0x01, 0x01, 0x01, 0x01, 0x23, 0x09, 0x01, 0x02, 0x80, 0x21, 0x18, 0x00, 0xEA, 0x0D, 0xFB, 0xA0, 0x57, 0x47, 0x98, 0x27, 0x12, 0x4D, 0x51, 0xA1, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x20, 0x00, 0x31, 0x58, 0x1C, 0x20, 0x28, 0x80, 0x01, 0x00, 0xF6, 0xB8, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69, 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x4C, 0x43, 0x44, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x38, 0x30, 0x30, 0x78, 0x36, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1 }) } } Device (CRD0) { Name (_ADR, 0x00020000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) OperationRegion (PCIC, PCI_Config, 0x00, 0x0100) Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), CMD, 16, Offset (0x10), ADD0, 32, Offset (0x3C), INTL, 8, Offset (0x44), LADD, 32, Offset (0x80), PMRI, 1, Offset (0xA4), PWRS, 2, Offset (0xA5), , 7, PMES, 1 } Method (_INI, 0, NotSerialized) { Or (INTL, 0xFF, INTL) And (LADD, 0xFFFF0000, LADD) } Method (_PS0, 0, NotSerialized) { Store (Zero, PWRS) Store (One, PMRI) Store (One, PMES) } Method (_PS3, 0, NotSerialized) { Store (Zero, PMRI) } } Device (CRD1) { Name (_ADR, 0x00020001) OperationRegion (PCIC, PCI_Config, 0x00, 0x0100) Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), CMD, 16, Offset (0x10), ADD0, 32, Offset (0x3C), INTL, 8, Offset (0x44), LADD, 32, Offset (0x80), PMRI, 1, Offset (0xA4), PWRS, 2, Offset (0xA5), , 7, PMES, 1 } Name (_PRW, Package (0x02) { 0x0B, 0x04 }) Method (_INI, 0, NotSerialized) { Or (INTL, 0xFF, INTL) And (LADD, 0xFFFF0000, LADD) } Method (_PS0, 0, NotSerialized) { Store (Zero, PWRS) Store (One, PMRI) Store (One, PMES) } Method (_PS3, 0, NotSerialized) { Store (Zero, PMRI) } } Device (OAK) { Name (_ADR, 0x00040000) Name (_EJD, "_SB_.PCI_.ISA_.SLCE") Name (_PRT, Package (0x03) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI.ISA.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI.ISA.LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI.ISA.LNKB, 0x00 } }) OperationRegion (PCI, PCI_Config, 0x00, 0x0100) Field (PCI, DWordAcc, NoLock, Preserve) { VID, 32 } Method (_BDN, 0, NotSerialized) { Return (0x43004D24) } Method (_UID, 0, NotSerialized) { Store (Zero, Local0) Or (Local0, \_SB.PCI.PWR.RE2R (0x02), Local0) ShiftLeft (Local0, 0x08, Local0) Or (Local0, \_SB.PCI.PWR.RE2R (0x01), Local0) ShiftLeft (Local0, 0x08, Local0) Or (Local0, \_SB.PCI.PWR.RE2R (0x00), Local0) Return (Local0) } Method (_DCK, 1, NotSerialized) { Store (Zero, \_SB.PCI.ISA.PMGA.LOKE) If (Arg0) { Store (Zero, \_SB.PCI.ISA.PMGA.DOKC) } Else { Store (One, \_SB.PCI.ISA.PMGA.DOKC) } \_SB.PCI.AGP.VGA.SRVO (Arg0) Return (Arg0) } Method (_EJ0, 1, NotSerialized) { Store (One, \_SB.PCI.ISA.PMGA.UDOC) While (\_SB.PCI.ISA.PMGA.DOKS) { Sleep (0x01) } Store (Zero, \_SB.PCI.ISA.PMGA.UDOC) } Method (_STA, 0, NotSerialized) { Store (0x00, Local0) If (\_SB.PCI.ISA.PMGA.DOKS) { If (LEqual (\_SB.PCI.PWR.RE2R (0x03), 0x20)) { Store (0x0F, Local0) } } If (Local0) { Store (Zero, \_SB.PCI.ISA.PMGA.LOKE) } Else { Store (One, \_SB.PCI.ISA.PMGA.LOKE) } Store (Zero, \_SB.PCI.ISA.PMGA.DOKC) Return (Local0) } Method (SDCK, 1, NotSerialized) { If (Arg0) { If (\_SB.PCI.ISA.PMGA.EXPS) { If (LEqual (\_SB.PCI.PWR.RE2R (0x03), 0x20)) { \_SB.PHS (0x86) } } } } Device (CRD0) { Name (_ADR, 0x00) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) OperationRegion (PCIC, PCI_Config, 0x00, 0x0100) Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), CMD, 16, Offset (0x10), ADD0, 32, Offset (0x3C), INTL, 8, Offset (0x44), LADD, 32, Offset (0x80), PMRI, 1, Offset (0xA4), PWRS, 2, Offset (0xA5), , 7, PMES, 1 } Method (_INI, 0, NotSerialized) { Or (INTL, 0xFF, INTL) And (LADD, 0xFFFF0000, LADD) } Method (_PS0, 0, NotSerialized) { Store (Zero, PWRS) Store (One, PMRI) Store (One, PMES) } Method (_PS3, 0, NotSerialized) { Store (Zero, PMRI) } } Device (CRD1) { Name (_ADR, 0x01) Name (_PSC, 0x00) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) OperationRegion (PCIC, PCI_Config, 0x00, 0x0100) Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), CMD, 16, Offset (0x10), ADD0, 32, Offset (0x3C), INTL, 8, Offset (0x44), LADD, 32, Offset (0x80), PMRI, 1, Offset (0xA4), PWRS, 2, Offset (0xA5), , 7, PMES, 1 } Method (_INI, 0, NotSerialized) { Or (INTL, 0xFF, INTL) And (LADD, 0xFFFF0000, LADD) } Method (_PS0, 0, NotSerialized) { Store (Zero, PWRS) Store (One, PMRI) Store (One, PMES) } Method (_PS3, 0, NotSerialized) { Store (Zero, PMRI) } } Device (LAN) { Name (_ADR, 0x00010000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) } } Device (AUD) { Name (_ADR, 0x00050000) } Device (ISA) { Name (_ADR, 0x00060000) Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x10) IO (Decode16, 0x0081, 0x0081, 0x01, 0x0F) IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20) DMA (Compatibility, NotBusMaster, Transfer16) {4} }) } Device (PIC) { Name (_HID, EisaId ("PNP0001")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, 0x0020, 0x01, 0x02) IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02) IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02) IRQ (Edge, ActiveHigh, Exclusive) {2} }) } Device (TIME) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) IRQNoFlags () {0} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x01, 0x02) IRQNoFlags () {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10) IRQ (Edge, ActiveHigh, Exclusive) {13} }) } Device (MEM) { Name (_HID, EisaId ("PNP0C01")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000) Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000) Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000) }) } Device (KBC) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) IRQNoFlags () {1} }) } Device (MOUS) { Name (_HID, EisaId ("IBM3780")) Name (_CID, 0x130FD041) Method (_CRS, 0, NotSerialized) { Return (PSCS (0x16)) } Method (_SRS, 1, NotSerialized) { PSSS (0x16, Arg0) } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x16)) } Method (_DIS, 0, NotSerialized) { PSDI (0x16) } Method (_STA, 0, NotSerialized) { Return (PSST (0x16)) } } OperationRegion (GEN, PCI_Config, 0xB0, 0x04) Field (GEN, DWordAcc, NoLock, Preserve) { Offset (0x01), , 4, SIDE, 1 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRA, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Store (RSRC, Debug) Return (RSRC) } Method (_SRS, 1, NotSerialized) { Store (Arg0, Debug) CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRA, 0x70), PIRA) } Method (_STA, 0, NotSerialized) { If (And (PIRA, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRB, 0x80, PIRB) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRB, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRB, 0x70), PIRB) } Method (_STA, 0, NotSerialized) { If (And (PIRB, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRC, 0x80, PIRC) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRC, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRC, 0x70), PIRC) } Method (_STA, 0, NotSerialized) { If (And (PIRC, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRD, 0x80, PIRD) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRD, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRD, 0x70), PIRD) } Method (_STA, 0, NotSerialized) { If (And (PIRD, 0x80)) { Return (0x09) } Return (0x0B) } } OperationRegion (PIRX, PCI_Config, 0x60, 0x04) Field (PIRX, DWordAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } Device (PMGA) { Name (_HID, EisaId ("PNP0A05")) Name (_UID, 0x01) OperationRegion (GAIO, SystemIO, 0x15EE, 0x02) Field (GAIO, ByteAcc, NoLock, Preserve) { PMIX, 8, PMDA, 8 } IndexField (PMIX, PMDA, ByteAcc, NoLock, Preserve) { , 6, BREN, 1, Offset (0x2D), UDOC, 1, DOKC, 1, LOKE, 1, , 1, DOKS, 1, EXPS, 1, Offset (0x2F), BAYE, 1, BAYP, 1, BAYR, 1 } Name (_STA, 0x0B) Method (SBAY, 1, NotSerialized) { If (Arg0) { Store (Zero, BAYR) Store (Zero, BAYP) Sleep (0x0A) Store (Zero, BAYE) Store (One, BAYR) } Else { Store (One, BAYE) Store (One, BAYP) } } Method (GBAY, 0, NotSerialized) { Return (Not (BAYE)) } } Device (SIO) { Name (_HID, EisaId ("PNP0A05")) Name (_UID, 0x02) Name (_STA, 0x0B) Name (RDE1, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) IRQNoFlags () {} }) Name (RDE2, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) Name (RDE3, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) Device (COMA) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x01) Name (_EJD, "_SB_.PCI_.OAK_") Method (_CRS, 0, NotSerialized) { Return (PSCS (0x12)) } Method (_SRS, 1, NotSerialized) { PSSS (0x12, Arg0) } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x12)) } Method (_DIS, 0, NotSerialized) { PSDI (0x12) } Method (_STA, 0, NotSerialized) { Return (PSST (0x12)) } Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (FIR) { Name (_HID, EisaId ("IBM0071")) Name (_CID, 0x1105D041) Method (_CRS, 0, NotSerialized) { Return (PSCS (0x13)) } Method (_SRS, 1, NotSerialized) { PSSS (0x13, Arg0) } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x13)) } Method (_DIS, 0, NotSerialized) { PSDI (0x13) } Method (_STA, 0, NotSerialized) { Return (PSST (0x13)) } } Device (LPT) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x01) Name (MCD, 0x17) Name (_STA, 0x00) Name (B_PR, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {5} } EndDependentFn () }) Name (CRSB, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) If (LEqual (_STA, 0x0F)) { CreateWordField (CRSB, 0x02, IO1B) CreateWordField (CRSB, 0x04, IO2B) CreateWordField (CRSB, 0x06, IO3B) CreateWordField (CRSB, 0x09, IRQB) Or (ShiftLeft (And (R430, 0xFC), 0x08), ShiftLeft (R420, 0x02), IO1B) Store (IO1B, IO2B) If (LEqual (IO1B, 0x03BC)) { Store (0x0401, IO3B) } Store (Zero, IRQB) ShiftRight (READ (0x1B, 0xF0), 0x04, Local0) If (Local0) { ShiftLeft (0x01, Local0, IRQB) } Return (CRSB) } Else { Return (RDE1) } Release (\_SB.MPHS) } Method (B_SR, 1, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) Name (XRFI, Package (0x10) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x02, 0x03, 0x04, 0x00, 0x00, 0x05, 0x06 }) CreateWordField (Arg0, 0x02, IO1A) CreateWordField (Arg0, 0x09, IRQB) WRIT (0x00, 0xFE, 0x00) PRDC (Ones) WRIT (0x42, 0x00, ShiftRight (IO1A, 0x02)) WRIT (0x43, 0x03, ShiftRight (IO1A, 0x08)) FindSetRightBit (IRQB, Local0) If (Local0) { Decrement (Local0) WRIT (0x1B, 0x0F, ShiftLeft (Local0, 0x04)) WRIT (0x1B, 0xF8, DerefOf (Index (XRFI, Local0))) } Else { WRIT (0x1B, 0x08, 0x00) } WRIT (0x00, 0xFE, 0x01) PRDC (IO1A) Store (0x0F, _STA) Release (\_SB.MPHS) } Method (B_DI, 0, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) WRIT (0x00, 0xFE, 0x00) PRDC (Ones) Store (0x0D, _STA) Release (\_SB.MPHS) } Name (_EJD, "_SB_.PCI_.OAK_") } Device (LPTB) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x02) Name (MCD, 0x18) Name (_STA, 0x0D) Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {7} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {5} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {5} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQ (Edge, ActiveHigh, Exclusive) {7} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQ (Edge, ActiveHigh, Exclusive) {5} } EndDependentFn () }) Name (CRSB, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) If (LEqual (_STA, 0x0F)) { CreateWordField (CRSB, 0x02, IO1B) CreateWordField (CRSB, 0x04, IO2B) CreateWordField (CRSB, 0x06, IO3B) CreateWordField (CRSB, 0x09, IRQB) Or (ShiftLeft (And (R430, 0xFC), 0x08), ShiftLeft (R420, 0x02), IO1B) Store (IO1B, IO2B) If (LEqual (IO1B, 0x03BC)) { Store (0x0401, IO3B) } Store (Zero, IRQB) ShiftRight (READ (0x1B, 0xF0), 0x04, Local0) If (Local0) { ShiftLeft (0x01, Local0, IRQB) } Return (CRSB) } Else { Return (RDE1) } Release (\_SB.MPHS) } Method (_SRS, 1, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) Name (XRFI, Package (0x10) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x02, 0x03, 0x04, 0x00, 0x00, 0x05, 0x06 }) CreateWordField (Arg0, 0x02, IO1A) CreateWordField (Arg0, 0x09, IRQB) WRIT (0x00, 0xFE, 0x00) PRDC (Ones) WRIT (0x42, 0x00, ShiftRight (IO1A, 0x02)) WRIT (0x43, 0x03, ShiftRight (IO1A, 0x08)) FindSetRightBit (IRQB, Local0) If (Local0) { Decrement (Local0) WRIT (0x1B, 0x0F, ShiftLeft (Local0, 0x04)) WRIT (0x1B, 0xF8, DerefOf (Index (XRFI, Local0))) } Else { WRIT (0x1B, 0x08, 0x00) } WRIT (0x00, 0xFE, 0x01) PRDC (IO1A) Store (0x0F, _STA) Release (\_SB.MPHS) } Method (_DIS, 0, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) WRIT (0x00, 0xFE, 0x00) PRDC (Ones) Store (0x0D, _STA) Release (\_SB.MPHS) } Name (_EJD, "_SB_.PCI_.OAK_") } Device (ECP) { Name (_HID, EisaId ("PNP0401")) Method (_CRS, 0, NotSerialized) { If (LEqual (_STA (), 0x0F)) { Return (PSCS (0x14)) } Else { Return (RDE3) } } Method (_SRS, 1, NotSerialized) { PSSS (0x14, Arg0) } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x14)) } Method (_DIS, 0, NotSerialized) { PSDI (0x14) } Method (_STA, 0, NotSerialized) { Return (PSST (0x14)) } Name (_EJD, "_SB_.PCI_.OAK_") } Device (EPP) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x03) Method (_CRS, 0, NotSerialized) { If (LEqual (_STA (), 0x0F)) { Return (PSCS (0x15)) } Else { Return (RDE1) } } Method (_SRS, 1, NotSerialized) { PSSS (0x15, Arg0) } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x15)) } Method (_DIS, 0, NotSerialized) { PSDI (0x15) } Method (_STA, 0, NotSerialized) { Return (PSST (0x15)) } Name (_EJD, "_SB_.PCI_.OAK_") } Device (FDC) { Name (_HID, EisaId ("PNP0700")) OperationRegion (FDCR, SystemIO, 0x03F0, 0x07) Field (FDCR, ByteAcc, NoLock, Preserve) { Offset (0x03), TDR, 8 } Method (_CRS, 0, NotSerialized) { Return (PSCS (0x11)) } Method (_SRS, 1, NotSerialized) { PSSS (0x11, Arg0) If (LNot (\_SB.PCI.PWR.GI13)) { If (\_SB.PCI.ISA.PMGA.GBAY ()) { And (TDR, 0xF3, TDR) } Else { Or (And (TDR, 0xF3), 0x04, TDR) } } Else { Or (And (TDR, 0xF3), 0x04, TDR) } } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x11)) } Method (_DIS, 0, NotSerialized) { PSDI (0x11) } Method (_STA, 0, NotSerialized) { Return (PSST (0x11)) } } OperationRegion (SIOR, SystemIO, 0x2E, 0x02) Field (SIOR, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { R000, 8, Offset (0x02), R020, 8, Offset (0x04), 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, 2, NotSerialized) { Store (Arg0, INDX) Return (And (DATA, Arg1)) } Method (WRIT, 3, NotSerialized) { Store (Arg0, INDX) Or (And (DATA, Arg1), Arg2, Local0) Store (Arg0, INDX) Store (Local0, DATA) Store (Local0, DATA) } Name (LPT1, Package (0x03) { 0x03BC, 0x0378, 0x0278 }) Method (PRDC, 1, NotSerialized) { If (LEqual (Arg0, Ones)) { Store (Zero, \_SB.PCI.PWR.LPTE) } Else { Store (SizeOf (LPT1), Local0) While (Local0) { Decrement (Local0) If (LEqual (Arg0, DerefOf (Index (LPT1, Local0)))) { Store (Local0, \_SB.PCI.PWR.LPTA) Store (One, \_SB.PCI.PWR.LPTE) Store (One, \_SB.PCI.PWR.LPTM) } } } } } Device (EC) { Name (_HID, EisaId ("PNP0A05")) Name (_UID, 0x03) Name (BEJP, 0x00) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, 0x0062, 0x01, 0x01) IO (Decode16, 0x0066, 0x0066, 0x01, 0x01) }) Name (_GPE, 0x09) OperationRegion (ECP0, SystemIO, 0x62, 0x01) Field (ECP0, ByteAcc, NoLock, Preserve) { ECDA, 8 } OperationRegion (ECP1, SystemIO, 0x66, 0x01) Field (ECP1, ByteAcc, NoLock, Preserve) { ECST, 8 } Field (ECP1, ByteAcc, NoLock, Preserve) { ECCM, 8 } Mutex (ECMB, 0x00) Method (WIBE, 0, Serialized) { While (And (ECST, 0x02)) { Stall (0x01) } } Method (WOBF, 0, Serialized) { While (LNot (And (ECST, 0x01))) { Stall (0x01) } } Method (ECRD, 1, Serialized) { Acquire (ECMB, 0xFFFF) WIBE () Store (0xD2, ECCM) WIBE () Store (0x80, ECCM) WIBE () Store (Arg0, ECDA) WIBE () WOBF () Store (ECDA, Local0) Store (0xD3, ECCM) WIBE () Release (ECMB) Return (Local0) } Method (ECWR, 2, Serialized) { Acquire (ECMB, 0xFFFF) WIBE () Store (0xD2, ECCM) WIBE () Store (0x81, ECCM) WIBE () Store (Arg0, ECDA) WIBE () Store (Arg1, ECDA) WIBE () Store (0xD3, ECCM) WIBE () Release (ECMB) } Method (ECQE, 0, Serialized) { Acquire (ECMB, 0xFFFF) Store (0x64, Local1) While (Local1) { Decrement (Local1) And (ECST, 0x20, Local0) If (Local0) { Store (Zero, Local1) } Else { Sleep (0x01) } } If (Local0) { WIBE () Store (0xD2, ECCM) WIBE () Store (0x84, ECCM) WIBE () WOBF () Store (ECDA, Local0) Store (0xD3, ECCM) WIBE () } Release (ECMB) Return (Local0) } Method (_Q11, 0, NotSerialized) { \_SB.PHS (0x80) } Method (_Q13, 0, NotSerialized) { Notify (\_SB.SLPB, 0x80) } Method (_Q16, 0, NotSerialized) { Store ("===== FnF7 =====", Debug) If (LEqual (\_SB.PCI.AGP.VGA.SWIT, 0x00)) { If (LEqual (\_SB.PCI.AGP.VGA.GDCS, 0x01)) { Store (Zero, \_SB.PCI.AGP.VGA.LCD._DGS) Store (One, \_SB.PCI.AGP.VGA.CRT._DGS) } If (LEqual (\_SB.PCI.AGP.VGA.GDCS, 0x02)) { Store (One, \_SB.PCI.AGP.VGA.LCD._DGS) Store (One, \_SB.PCI.AGP.VGA.CRT._DGS) } If (LEqual (\_SB.PCI.AGP.VGA.GDCS, 0x03)) { Store (One, \_SB.PCI.AGP.VGA.LCD._DGS) Store (Zero, \_SB.PCI.AGP.VGA.CRT._DGS) } Notify (\_SB.PCI.AGP.VGA, 0x80) } If (LEqual (\_SB.PCI.AGP.VGA.SWIT, 0x01)) { \_SB.PHS (0x81) } } Method (_Q17, 0, NotSerialized) { \_SB.PHS (0x82) } Method (_Q1B, 0, NotSerialized) { } Method (_Q1C, 0, NotSerialized) { \_SB.PHS (0x83) } Method (_Q1D, 0, NotSerialized) { \_SB.PHS (0x84) } Method (_Q1E, 0, NotSerialized) { \_SB.PHS (0x85) } Method (_Q20, 0, NotSerialized) { Notify (\_SB.BAT1, 0x80) Notify (\_SB.BAT2, 0x80) } Method (_Q21, 0, NotSerialized) { Notify (\_SB.BAT1, 0x80) Notify (\_SB.BAT2, 0x80) } Method (_Q22, 0, NotSerialized) { Notify (\_SB.BAT1, 0x80) Notify (\_SB.BAT2, 0x80) } Method (_Q23, 0, NotSerialized) { Store (Zero, Local0) If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x80)) { If (LEqual (\_SB.BAT1._STA, 0x0F)) { Store (\_SB.PCI.ISA.EC.GH8A (), Local1) Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x10), Local2) CreateByteField (Local2, 0x20, BST1) While (LEqual (BST1, 0x00)) { Sleep (0x0A) Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x10), Local2) } Store (0x1F, \_SB.BAT1._STA) Or (0x01, Local0, Local0) } } Else { If (LEqual (\_SB.BAT1._STA, 0x1F)) { Store (0x0F, \_SB.BAT1._STA) Or (0x01, Local0, Local0) } } If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80)) { If (LEqual (\_SB.BAT2._STA, 0x0F)) { Store (\_SB.PCI.ISA.EC.GH8A (), Local1) Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x11), Local2) CreateByteField (Local2, 0x20, BST2) While (LEqual (BST2, 0x00)) { Sleep (0x0A) Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x11), Local2) } Store (0x1F, \_SB.BAT2._STA) Or (0x02, Local0, Local0) } } Else { If (LEqual (\_SB.BAT2._STA, 0x1F)) { Store (0x0F, \_SB.BAT2._STA) Or (0x02, Local0, Local0) } } If (LEqual (Local0, 0x00)) { Notify (\_SB.BAT1, 0x80) Notify (\_SB.BAT2, 0x80) } Else { If (And (Local0, 0x01)) { Notify (\_SB.BAT1, 0x00) } If (And (Local0, 0x02)) { Notify (\_SB.BAT2, 0x00) } } } Method (_Q24, 0, NotSerialized) { Notify (\_SB.BAT1, 0x80) } Method (_Q25, 0, NotSerialized) { Notify (\_SB.BAT2, 0x80) } Method (_Q26, 0, NotSerialized) { Store (One, \_SB.PCI.ISA.PMGA.BREN) Notify (\_SB.AC, 0x80) } Method (_Q27, 0, NotSerialized) { Store (Zero, \_SB.PCI.ISA.PMGA.BREN) Notify (\_SB.AC, 0x80) } Method (_Q2A, 0, NotSerialized) { Notify (\_SB.LID, 0x80) } Method (_Q2B, 0, NotSerialized) { Notify (\_SB.LID, 0x80) } Method (_Q30, 0, NotSerialized) { \_SB.PHS (0x8C) } Method (_Q31, 0, NotSerialized) { \_SB.PHS (0x8D) } Method (_Q32, 0, NotSerialized) { \_SB.PHS (0x8E) } Method (_Q37, 0, NotSerialized) { If (LNot (\_SB.PCI.ISA.PMGA.DOKS)) { If (LEqual (\_SB.PCI.ISA.SLCE._STA (), 0x0F)) { \_SB.PCI.OAK.SDCK (One) Notify (\_SB.PCI.OAK, 0x00) } } } Method (_Q39, 0, NotSerialized) { Notify (\_SB.SLPB, 0x02) } Method (_Q3E, 0, NotSerialized) { If (\_SB.PCI.CRD0.PMES) { \_SB.PCI.CRD0._PS0 () } If (\_SB.PCI.CRD1.PMES) { \_SB.PCI.CRD1._PS0 () } If (\_SB.PCI.OAK._STA ()) { If (\_SB.PCI.OAK.CRD0.PMES) { \_SB.PCI.OAK.CRD0._PS0 () } If (\_SB.PCI.OAK.CRD1.PMES) { \_SB.PCI.OAK.CRD1._PS0 () } } } Method (_Q40, 0, NotSerialized) { Notify (\_TZ.THM0, 0x80) Sleep (0x2710) Notify (\_TZ.THM0, 0x81) } Method (_Q50, 0, NotSerialized) { Notify (\_SB.PCI.OAK, 0x01) } Method (_Q51, 0, NotSerialized) { If (LEqual (\_SB.PCI.ISA.PMGA.BAYP, Zero)) { \_SB.HKEY.MHKF () Notify (\_SB.PCI.ISA.SLCE, 0x01) } } Method (_Q52, 0, NotSerialized) { \_SB.PCI.ISA.SLCE.SSLC (Zero) \_SB.PCI.OAK.SDCK (One) Notify (\_SB.PCI, 0x01) } Method (_Q53, 0, NotSerialized) { Store (0x53, Debug) } Mutex (SMMB, 0x00) Method (SMRA, 2, NotSerialized) { Acquire (SMMB, 0xFFFF) Name (INVB, Buffer (0x21) { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 }) Store (SMBP (0x0B, Arg0, Arg1), Local0) If (Local0) { Store (INVB, Local0) } Else { Store (0x00, Local1) While (LLess (Local1, 0x21)) { PUTB (INVB, Local1, ECRD (Add (0x54, Local1))) Increment (Local1) } Store (INVB, Local0) } Release (SMMB) Return (Local0) } Method (SMBP, 3, Serialized) { Store (0x01, Local0) While (Local0) { ECWR (0x53, Arg2) ECWR (0x52, Arg1) ECWR (0x50, Arg0) While (ECRD (0x50)) { Sleep (0x02) } While (LNot (And (ECRD (0x51), 0xBF, Local1))) { Sleep (0x02) } And (Local1, 0x1F, Local1) If (LNot (LEqual (Local1, 0x11))) { Store (0x00, Local0) } } Return (Local1) } Method (PUTB, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (Arg2, TIDX) } Method (GETB, 2, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Return (TIDX) } Method (GH8A, 0, NotSerialized) { Store (ECRD (0x0F), Local0) Return (Local0) } Method (ACST, 0, NotSerialized) { And (ShiftRight (ECRD (0x36), 0x04), 0x01, Local0) Return (Local0) } Method (BTST, 1, NotSerialized) { Store (ECRD (Add (Arg0, 0x38)), Local0) Return (Local0) } Method (SB1I, 1, NotSerialized) { If (Arg0) { ECWR (0x3A, And (ECRD (0x3A), 0x7F)) } Else { ECWR (0x3A, Or (ECRD (0x3A), 0x80)) } } Method (BEEP, 2, NotSerialized) { Store (ECRD (0x07), Local0) ECWR (0x07, Arg1) ShiftLeft (0x01, Arg0, Local1) If (LNot (LGreater (Arg0, 0x07))) { Store (ECRD (0x04), Local2) } Else { ShiftRight (Local1, 0x08, Local1) Store (ECRD (0x05), Local2) } If (And (Local2, Local1)) { ECWR (0x06, Arg0) While (LNot (And (ECRD (0x34), 0x02))) {} While (And (ECRD (0x34), 0x02)) {} } ECWR (0x07, Local0) } Method (GFAN, 0, NotSerialized) { And (ECRD (0x2F), 0x07, Local0) Return (Local0) } Method (SFAN, 1, NotSerialized) { ECWR (0x2F, Or (And (ECRD (0x2F), 0xF8), Arg0)) } Method (SLED, 2, NotSerialized) { Store (ECRD (0x0D), Local0) And (Local0, Not (Arg0), Local0) If (And (Arg1, 0x02)) { Or (Local0, Arg0, Local0) } ECWR (0x0D, Local0) Store (ECRD (0x0C), Local0) And (Local0, Not (Arg0), Local0) If (And (Arg1, 0x01)) { Or (Local0, Arg0, Local0) } ECWR (0x0C, Local0) } Method (GLED, 1, NotSerialized) { Store (Zero, Local0) Store (ECRD (0x0C), Local1) If (And (Local1, Arg0)) { Or (Local0, 0x01, Local0) Store (ECRD (0x0D), Local1) If (And (Local1, Arg0)) { Or (Local0, 0x02, Local0) } } Return (Local0) } Method (GLID, 0, NotSerialized) { And (ShiftRight (ECRD (0x36), 0x02), 0x01, Local0) Return (Local0) } Method (GSST, 0, NotSerialized) { ShiftRight (ECRD (0x37), 0x07, Local0) Return (Local0) } Method (GDID, 0, NotSerialized) { ECWR (0x28, 0x80) While (And (ECRD (0x28), 0x80)) { Stall (0x01) } And (ECRD (0x28), 0x7F, Local0) Return (Local0) } Method (SISM, 1, NotSerialized) { If (Arg0) { Store (0x03, Local0) } Else { Store (0x00, Local0) } ECWR (0x3B, Or (And (ECRD (0x3B), 0xFC), Local0)) } Method (GWES, 0, NotSerialized) { Store (ECRD (0x4E), Local0) Return (Local0) } Method (GTHZ, 0, NotSerialized) { And (ECRD (0x20), 0x83, Local0) Return (Local0) } } Device (SLCE) { Name (_HID, EisaId ("PNP0C15")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (\_SB.PCI.ISA.EC.GSST ()) { If (LEqual (\_SB.PCI.ISA.PMGA.BAYP, 0x00)) { Return (0x0F) } } Return (0x00) } Method (_DCK, 1, NotSerialized) { If (\_SB.PCI.OAK._STA ()) { Store (Zero, \_SB.PCI.ISA.PMGA.LOKE) If (Arg0) { Store (Zero, \_SB.PCI.ISA.PMGA.DOKC) } Else { Store (One, \_SB.PCI.ISA.PMGA.DOKC) Store (One, \_SB.PCI.ISA.EC.BEJP) } } If (Arg0) { SSLC (Zero) Return (One) } Else { SSLC (One) Return (Zero) } } Method (_EJ0, 1, NotSerialized) { If (\_SB.PCI.ISA.EC.BEJP) { Store (One, \_SB.PCI.ISA.PMGA.UDOC) While (\_SB.PCI.ISA.PMGA.DOKS) { Sleep (0x01) } Store (Zero, \_SB.PCI.ISA.PMGA.UDOC) Store (Zero, \_SB.PCI.ISA.EC.BEJP) } \_SB.HKEY.MHKQ (0x4003) } Method (SSLC, 1, NotSerialized) { If (Arg0) { Store (One, \_SB.PCI.ISA.SIDE) If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80)) { \_SB.PCI.ISA.EC.SB1I (Zero) } If (LEqual (\_SB.PCI.ISA.SIO.FDC._STA (), 0x0F)) { Or (And (\_SB.PCI.ISA.SIO.FDC.TDR, 0xF3), 0x04, \_SB.PCI.ISA.SIO.FDC.TDR) } \_SB.PCI.ISA.PMGA.SBAY (0x00) Store (One, \_SB.PCI.PWR.GO27) \_SB.PCI.ISA.EC.SISM (Zero) \_SB.PCI.ISA.EC.SLED (0x10, 0x00) } Else { \_SB.PCI.ISA.PMGA.SBAY (0x01) Store (Zero, \_SB.PCI.ISA.SIDE) If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80)) { \_SB.PCI.ISA.EC.SB1I (One) } If (LNot (\_SB.PCI.PWR.GI13)) { If (LEqual (\_SB.PCI.ISA.SIO.FDC._STA (), 0x0F)) { And (\_SB.PCI.ISA.SIO.FDC.TDR, 0xF3, \_SB.PCI.ISA.SIO.FDC.TDR) } } \_SB.PCI.ISA.EC.SISM (One) Store (Zero, \_SB.PCI.PWR.GO27) \_SB.PCI.ISA.EC.SLED (0x10, 0x01) Sleep (0x03E8) } } Method (_INI, 0, NotSerialized) { If (\_SB.PCI.ISA.EC.GSST ()) { If (LEqual (\_SB.PCI.ISA.PMGA.BAYP, 0x01)) { \_SB.PCI.ISA.PMGA.SBAY (0x01) \_SB.PCI.ISA.EC.SISM (One) Store (Zero, \_SB.PCI.PWR.GO27) \_SB.PCI.ISA.EC.SLED (0x10, 0x01) } } } } Device (MBRD) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x01) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0010, 0x0010, 0x01, 0x10) IO (Decode16, 0x0024, 0x0024, 0x01, 0x02) IO (Decode16, 0x0028, 0x0028, 0x01, 0x02) IO (Decode16, 0x002C, 0x002C, 0x01, 0x02) IO (Decode16, 0x002E, 0x002E, 0x01, 0x02) IO (Decode16, 0x0038, 0x0038, 0x01, 0x02) IO (Decode16, 0x003C, 0x003C, 0x01, 0x02) IO (Decode16, 0x0050, 0x0050, 0x01, 0x04) IO (Decode16, 0x0072, 0x0072, 0x01, 0x06) IO (Decode16, 0x0080, 0x0080, 0x01, 0x01) IO (Decode16, 0x0090, 0x0090, 0x01, 0x10) IO (Decode16, 0x00A4, 0x00A4, 0x01, 0x02) IO (Decode16, 0x00A8, 0x00A8, 0x01, 0x02) IO (Decode16, 0x00AC, 0x00AC, 0x01, 0x02) IO (Decode16, 0x00B0, 0x00B0, 0x01, 0x06) IO (Decode16, 0x00B8, 0x00B8, 0x01, 0x02) IO (Decode16, 0x00BC, 0x00BC, 0x01, 0x02) IO (Decode16, 0x0100, 0x0100, 0x01, 0x40) IO (Decode16, 0x0140, 0x0140, 0x01, 0x10) IO (Decode16, 0x15EA, 0x15EA, 0x01, 0x06) IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x10) }) Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x8A, PMMN) CreateWordField (RSRC, 0x8C, PMMX) And (^^^PWR.PMBA, 0xFFFFFFFE, PMMN) Store (PMMN, PMMX) CreateWordField (RSRC, 0x92, SMMN) CreateWordField (RSRC, 0x94, SMMX) And (^^^PWR.SBBA, 0xFFFFFFFE, SMMN) Store (SMMN, SMMX) Return (RSRC) } } Device (ROM) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x02) Name (_CRS, ResourceTemplate () { DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C0000, 0x000CFFFF, 0x00000000, 0x00010000, 0x00) }) } Method (_INI, 0, NotSerialized) { \_SB.PCI.ISA.SLCE._INI () } } Device (IDE) { Name (_ADR, 0x00060001) Name (_PSC, 0x00) OperationRegion (PCIC, PCI_Config, 0x00, 0x0100) Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), IOSE, 1, Offset (0x41), , 7, PIDE, 1, Offset (0x43), , 7, SIDE, 1 } Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), R04, 32, Offset (0x20), R20, 32, Offset (0x40), R40, 32, R44, 32, R48, 32 } Name (PCMD, 0x00) Name (BMIB, 0x00) Name (IDET, 0x00) Name (SIDT, 0x00) Name (UDMA, 0x00) Name (CRSF, 0x00) Method (_INI, 0, NotSerialized) { Store (Zero, CRSF) Store (One, \_SB.PCI.IDE.SIDE) Store (Zero, \_SB.PCI.ISA.SIDE) \_SB.PHS (0x88) } Method (_PS0, 0, NotSerialized) { If (LEqual (_PSC, 0x03)) { If (LEqual (IOSE, Zero)) { Store (PCMD, R04) Store (BMIB, R20) } Store (IDET, R40) Store (SIDT, R44) Store (UDMA, R48) \_SB.PHS (0x89) } Store (Zero, CRSF) Store (Zero, _PSC) } Method (_PS3, 0, NotSerialized) { If (LAnd (LEqual (_PSC, Zero), LEqual (CRSF, Zero))) { Store (R04, PCMD) Store (R20, BMIB) Store (R40, IDET) Store (R44, SIDT) Store (R48, UDMA) Store (One, CRSF) } Store (0x03, _PSC) } Device (PRIM) { Name (_ADR, 0x00) Method (_STA, 0, NotSerialized) { If (PIDE) { Return (0x0F) } Else { Return (0x0D) } } Device (MAST) { Name (_ADR, 0x00) } Device (SLAV) { Name (_ADR, 0x01) } } Device (SECN) { Name (_ADR, 0x01) Method (_STA, 0, NotSerialized) { If (SIDE) { Return (0x0F) } Else { Return (0x0D) } } Device (MAST) { Name (_ADR, 0x00) Name (_EJD, "_SB_.PCI_.ISA_.SLCE") Method (_STA, 0, NotSerialized) { If (LEqual (\_SB.PCI.ISA.SLCE._STA (), 0x0F)) { Store (\_SB.PCI.ISA.EC.GDID (), Local0) If (LNot (LEqual (Local0, 0x0F))) { Return (0x0F) } } Return (0x00) } } Device (SLAV) { Name (_ADR, 0x01) } } } Device (USB) { Name (_ADR, 0x00060002) Name (_PRW, Package (0x02) { 0x08, 0x01 }) } Device (PWR) { Name (_ADR, 0x00060003) OperationRegion (PMC, SystemIO, 0x00001000, 0x00000038) Field (PMC, DWordAcc, NoLock, Preserve) { Offset (0x10), , 4, THTE, 1, Offset (0x28), , 2, TPOL, 1, Offset (0x31), , 5, GI13, 1, Offset (0x37), , 3, GO27, 1 } OperationRegion (SMB, SystemIO, 0x00001040, 0x0000000C) Field (SMB, ByteAcc, NoLock, Preserve) { HSTS, 8, LVTS, 8, CTLR, 8, CMDR, 8, ADDR, 8, DAT0, 8, DAT1, 8 } OperationRegion (PCI, PCI_Config, 0x40, 0x60) Field (PCI, DWordAcc, NoLock, Preserve) { PMBA, 32, Offset (0x12), , 2, LPTM, 1, Offset (0x1F), , 7, LPTE, 1, Offset (0x23), , 1, LPTA, 2, Offset (0x50), SBBA, 32 } Mutex (SMMB, 0x00) Method (RE2R, 1, NotSerialized) { Acquire (SMMB, 0xFFFF) Store (Arg0, CMDR) Store (0x08, CTLR) Store (0x00, DAT0) Store (0xA3, ADDR) Store (0x48, CTLR) While (LNot (And (HSTS, 0x06, Local0))) { Stall (0x01) } Store (HSTS, HSTS) Release (SMMB) If (And (Local0, 0x04)) { Return (0xFF) } Else { Return (DAT0) } } } Device (MODM) { Name (_ADR, 0x00070000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) } } Device (HKEY) { Name (_HID, EisaId ("IBM0068")) Name (_STA, 0x0F) Name (DHKC, 0x00) Name (DHKB, 0x01) Name (DHKF, 0x00) Mutex (XDHK, 0x00) Name (DHKW, 0x00) Name (DHKD, 0x00) Method (MHKC, 1, NotSerialized) { Store (Arg0, DHKC) } Method (MHKP, 0, NotSerialized) { Acquire (XDHK, 0xFFFF) Store (Zero, Local1) If (DHKW) { Store (DHKW, Local1) Store (Zero, DHKW) } Else { If (DHKD) { Store (DHKD, Local1) Store (Zero, DHKD) } } Release (XDHK) Return (Local1) } Method (MHKE, 1, NotSerialized) { Acquire (XDHK, 0xFFFF) Store (Arg0, DHKB) If (LEqual (DHKB, 0x00)) { Store (Zero, DHKW) Store (Zero, DHKD) Store (Zero, DHKF) } Release (XDHK) } Method (MHKQ, 1, NotSerialized) { Acquire (XDHK, 0xFFFF) If (DHKB) { If (DHKC) { If (LAnd (LNot (LLess (Arg0, 0x2000)), LLess (Arg0, 0x3000))) { If (DHKF) { Store (Zero, DHKF) Store (Arg0, DHKW) } } If (LAnd (LNot (LLess (Arg0, 0x4000)), LLess (Arg0, 0x5000))) { Store (Arg0, DHKD) } Notify (HKEY, 0x80) } } Release (XDHK) } Method (MHKF, 0, NotSerialized) { Acquire (XDHK, 0xFFFF) If (LEqual (DHKB, 0x00)) { If (DHKC) { Store (One, DHKF) } } Release (XDHK) } } } Name (SSLV, 0x00) Name (DOKS, 0x00) Name (SSST, 0x0F) Method (_WAK, 1, NotSerialized) { Store (0x00, \SSLV) Store (Zero, Local0) \_SB.PHS2 (0x8F, Or (Arg0, 0x80)) If (\_SB.PCI.ISA.EC.ACST ()) { Store (One, \_SB.PCI.ISA.PMGA.BREN) } Else { Store (Zero, \_SB.PCI.ISA.PMGA.BREN) } If (\_SB.PCI.ISA.EC.GSST ()) { If (LNot (\SSST)) { \_SB.PCI.ISA.SLCE.SSLC (Zero) Store (One, Local0) } } If (LNot (LEqual (\_SB.PCI.OAK._STA (), \DOKS))) { Store (One, Local0) } \_SB.PCI.OAK.SDCK (One) If (Local0) { Notify (\_SB.PCI, 0x01) } If (LEqual (Arg0, 0x04)) { Store (One, \_SB.PCI.IDE.SIDE) Store (Zero, \_SB.PCI.ISA.SIDE) Notify (\_SB.SLPB, 0x02) } If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x03))) { \_SB.HKEY.MHKE (0x01) \_SB.HKEY.MHKQ (Or (ShiftLeft (Or (Arg0, 0x20), 0x08), 0x04)) } Return (Package (0x02) { 0x00, 0x00 }) } Method (_PTS, 1, NotSerialized) { Store (Arg0, \SSLV) If (LEqual (\_SB.PCI.IDE.CRSF, Zero)) { Store (\_SB.PCI.IDE.R04, \_SB.PCI.IDE.PCMD) Store (\_SB.PCI.IDE.R20, \_SB.PCI.IDE.BMIB) Store (\_SB.PCI.IDE.R40, \_SB.PCI.IDE.IDET) Store (\_SB.PCI.IDE.R44, \_SB.PCI.IDE.SIDT) Store (\_SB.PCI.IDE.R48, \_SB.PCI.IDE.UDMA) Store (One, \_SB.PCI.IDE.CRSF) } If (LAnd (LNot (LLess (Arg0, 0x01)), LNot (LGreater (Arg0, 0x04)))) { Store (\_SB.PCI.OAK._STA (), \DOKS) Store (LNot (\_SB.PCI.ISA.PMGA.BAYP), \SSST) \_SB.PCI.ISA.EC.SLED (0x80, 0x03) If (LNot (LLess (Arg0, 0x03))) { \_SB.PCI.ISA.EC.SLED (0x01, 0x00) } } If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x03))) { \_SB.HKEY.MHKE (0x00) } \_SB.PHS2 (0x8F, Arg0) } } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- Speak softly and carry a cellular phone.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040706084203.GB19813>