/* RSD PTR: Checksum=184, OEMID=PTLTD, RsdtAddress=0x3fffd86b */ /* RSDT: Length=44, Revision=1, Checksum=213, OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 */ /* Entries={ 0x3ffffb2e, 0x3ffffba2 } */ /* DSDT=0x3fffd897 INT_MODEL=APIC SCI_INT=9 SMI_CMD=0x802f, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0 PM1a_EVT_BLK=0x8000-0x8003 PM1a_CNT_BLK=0x8004-0x8005 PM2_TMR_BLK=0x8008-0x800b PM2_GPE0_BLK=0x8020-0x8023 P_LVL2_LAT=101ms, P_LVL3_LAT=1001ms FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=0 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 Flags={WBINVD,PROC_C1,RTC_S4} */ /* DSDT: Length=8855, Revision=1, Checksum=246, OEMID=AMD, OEM Table ID=AMDACPI, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x100000b */ DefinitionBlock ( "acpi_dsdt.aml", //Output filename "DSDT", //Signature 0x1, //DSDT Revision "AMD", //OEMID "AMDACPI", //TABLE ID 0x6040000 //OEM Revision ) { Scope(_SB_) { Device(PWRB) { Name(_HID, 0x0c0cd041) Method(_STA) { Return(0xb) } } Device(MEM_) { Name(_HID, 0x010cd041) Method(_CRS) { Name(BUF0, Buffer(0x3e) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xf8, 0xff, 0x0, 0x0, 0x8, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xc0, 0xff, 0x0, 0x0, 0x38, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x2, 0x0, 0x79, 0x0 }) CreateDWordField(BUF0, 0x2c, EMEM) Subtract(AMEM, 0x00100000, EMEM) Return(BUF0) } } Device(PCI0) { Name(_HID, 0x030ad041) Name(_ADR, 0x0) Name(_PRW, Package(0x2) { 0x8, 0x5, }) Method(_STA) { Return(0xf) } Method(_CRS) { Name(BUF0, Buffer(0x9a) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x73, 0x47, 0x1, 0x0, 0x80, 0x0, 0x80, 0x1, 0x80, 0x47, 0x1, 0x80, 0x80, 0x80, 0x80, 0x1, 0x80, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x81, 0xff, 0xff, 0x0, 0x0, 0x0, 0xaf, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0xff, 0xff, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xfe, 0x86, 0x9, 0x0, 0x1, 0x0, 0xc0, 0xd, 0x0, 0x0, 0x40, 0x0, 0x0, 0x79, 0x0 }) CreateDWordField(BUF0, 0x66, VMAX) CreateDWordField(BUF0, 0x6e, VLEN) ShiftLeft(VGA1, 0x9, Local0) Add(Local0, 0x000bffff, VMAX) Add(Local0, 0x00020000, VLEN) CreateDWordField(BUF0, 0x7c, TCMM) CreateDWordField(BUF0, 0x88, TOMM) Store(AMEM, TCMM) Subtract(0xfec00000, TCMM, TOMM) Return(BUF0) } Method(_PRT) { If(LNot(PICF)) { Return(PICM) } Else { Return(APIC) } } Name(PICM, Package(0x1d) { Package(0x4) { 0x000dffff, 0x0, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x000dffff, 0x1, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x000fffff, 0x0, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x0010ffff, 0x0, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x000effff, 0x0, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x0007ffff, 0x0, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x0007ffff, 0x1, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x0007ffff, 0x2, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x0007ffff, 0x3, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x0008ffff, 0x0, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x0008ffff, 0x1, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x0008ffff, 0x2, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x0008ffff, 0x3, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x0009ffff, 0x0, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x0009ffff, 0x1, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x0009ffff, 0x2, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x0009ffff, 0x3, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x000affff, 0x0, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x000affff, 0x1, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x000affff, 0x2, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x000affff, 0x3, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x000bffff, 0x0, \_SB_.PCI0.ISA_.LNKD, 0x0, }, Package(0x4) { 0x000bffff, 0x1, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x000bffff, 0x2, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x000bffff, 0x3, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x000cffff, 0x0, \_SB_.PCI0.ISA_.LNKA, 0x0, }, Package(0x4) { 0x000cffff, 0x1, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x000cffff, 0x2, \_SB_.PCI0.ISA_.LNKC, 0x0, }, Package(0x4) { 0x000cffff, 0x3, \_SB_.PCI0.ISA_.LNKD, 0x0, }, }) Name(APIC, Package(0x1d) { Package(0x4) { 0x000dffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x000dffff, 0x1, 0x0, 0x11, }, Package(0x4) { 0x000fffff, 0x0, 0x0, 0x12, }, Package(0x4) { 0x0010ffff, 0x0, 0x0, 0x13, }, Package(0x4) { 0x000effff, 0x0, 0x0, 0x11, }, Package(0x4) { 0x0007ffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x0007ffff, 0x1, 0x0, 0x11, }, Package(0x4) { 0x0007ffff, 0x2, 0x0, 0x12, }, Package(0x4) { 0x0007ffff, 0x3, 0x0, 0x13, }, Package(0x4) { 0x0008ffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x0008ffff, 0x1, 0x0, 0x11, }, Package(0x4) { 0x0008ffff, 0x2, 0x0, 0x12, }, Package(0x4) { 0x0008ffff, 0x3, 0x0, 0x13, }, Package(0x4) { 0x0009ffff, 0x0, 0x0, 0x11, }, Package(0x4) { 0x0009ffff, 0x1, 0x0, 0x12, }, Package(0x4) { 0x0009ffff, 0x2, 0x0, 0x13, }, Package(0x4) { 0x0009ffff, 0x3, 0x0, 0x10, }, Package(0x4) { 0x000affff, 0x0, 0x0, 0x12, }, Package(0x4) { 0x000affff, 0x1, 0x0, 0x13, }, Package(0x4) { 0x000affff, 0x2, 0x0, 0x10, }, Package(0x4) { 0x000affff, 0x3, 0x0, 0x11, }, Package(0x4) { 0x000bffff, 0x0, 0x0, 0x13, }, Package(0x4) { 0x000bffff, 0x1, 0x0, 0x10, }, Package(0x4) { 0x000bffff, 0x2, 0x0, 0x11, }, Package(0x4) { 0x000bffff, 0x3, 0x0, 0x12, }, Package(0x4) { 0x000cffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x000cffff, 0x1, 0x0, 0x11, }, Package(0x4) { 0x000cffff, 0x2, 0x0, 0x12, }, Package(0x4) { 0x000cffff, 0x3, 0x0, 0x13, }, }) OperationRegion(BIU0, PCI_Config, 0x60, 0x4) Field(BIU0, ByteAcc, Lock, Preserve) { Z000, 8, Z001, 8, Z002, 8, Z003, 8 } OperationRegion(BIU1, PCI_Config, 0x68, 0x4) Field(BIU1, ByteAcc, Lock, Preserve) { Z004, 8, Z005, 8, Z006, 8, Z007, 8 } OperationRegion(CFG0, PCI_Config, 0x8, 0x1) Field(CFG0, ByteAcc, Lock, Preserve) { REV_, 8 } Device(AGP_) { Name(_ADR, 0x00010000) Method(_PRT) { If(LNot(PICF)) { Return(Z008) } Else { Return(Z009) } } Name(Z008, Package(0x2) { Package(0x4) { 0x0005ffff, 0x0, \_SB_.PCI0.ISA_.LNKB, 0x0, }, Package(0x4) { 0x0005ffff, 0x1, \_SB_.PCI0.ISA_.LNKC, 0x0, }, }) Name(Z009, Package(0x2) { Package(0x4) { 0x0005ffff, 0x0, 0x0, 0x11, }, Package(0x4) { 0x0005ffff, 0x1, 0x0, 0x12, }, }) } Device(IDE1) { Name(_ADR, 0x00070001) } Device(VIPM) { Name(_ADR, 0x00070003) OperationRegion(PIRQ, PCI_Config, 0x56, 0x2) Field(PIRQ, ByteAcc, Lock, Preserve) { PIBA, 8, PIDC, 8 } } Device(USB0) { Name(_ADR, 0x00070004) Name(_PRW, Package(0x2) { 0xf, 0x1, }) } Device(ISA_) { Name(_ADR, 0x00070000) OperationRegion(PIRY, PCI_Config, 0x51, 0x6) Field(PIRY, ByteAcc, NoLock, Preserve) { Z00A, 2, , 1, ECP_, 1, FDC1, 1, FDC2, 1, Offset(0x1), Z00B, 3, SAEN, 1, Z00C, 3, SBEN, 1, Z00D, 2, AEN_, 1, Z00E, 1, Z00F, 2, MEN_, 1, Offset(0x3), Z00G, 2, MSEN, 1, , 1, Z00H, 1, ASIO, 1, Offset(0x4), Z00I, 4, Z00J, 1, Offset(0x5), Z00K, 4, Z00L, 1, Offset(0x6) } Method(_STA) { Return(0xb) } Device(PIC_) { Name(_HID, 0xd041) Name(_CRS, Buffer(0x16) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x23, 0x4, 0x0, 0x1, 0x79, 0x0 }) } Device(DMA1) { Name(_HID, 0x0002d041) Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x10, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x2, 0x79, 0x0 }) } Device(TMR_) { Name(_HID, 0x0001d041) Name(_CRS, Buffer(0xe) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x23, 0x1, 0x0, 0x1, 0x79, 0x0 }) } Device(RTC_) { Name(_HID, 0x000bd041) Name(_CRS, Buffer(0xe) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x6, 0x23, 0x0, 0x1, 0x1, 0x79, 0x0 }) } Device(SPKR) { Name(_HID, 0x0008d041) Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 }) } Device(COPR) { Name(_HID, 0x040cd041) Name(_CRS, Buffer(0xe) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x10, 0x23, 0x0, 0x20, 0x1, 0x79, 0x0 }) } Device(SYSR) { Name(_HID, 0x020cd041) Name(_CRS, Buffer(0x52) {0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0x10, 0x0, 0x10, 0x0, 0x1, 0x10, 0x47, 0x1, 0x22, 0x0, 0x22, 0x0, 0x1, 0x1e, 0x47, 0x1, 0x44, 0x0, 0x44, 0x0, 0x1, 0x1c, 0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x2, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0xb, 0x47, 0x1, 0x76, 0x0, 0x76, 0x0, 0x1, 0xa, 0x47, 0x1, 0x90, 0x0, 0x90, 0x0, 0x1, 0x10, 0x47, 0x1, 0xa2, 0x0, 0xa2, 0x0, 0x1, 0x1e, 0x47, 0x1, 0xe0, 0x0, 0xe0, 0x0, 0x1, 0x10, 0x79, 0x0 }) } Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x1) Method(_STA) { And(\_SB_.PCI0.VIPM.PIBA, 0xf, Local0) If(LEqual(Local0, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFA, Buffer(0x6) {0x23, 0x28, 0xc, 0x18, 0x79, 0x0 }) Return(BUFA) } Method(_DIS) { Store(0x1, Local3) And(\_SB_.PCI0.VIPM.PIBA, 0xf, Local1) Store(Local1, Local2) If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local1) } ShiftLeft(Local3, Local1, Local3) Not(Local3, Local3) And(\_SB_.PCI0.VIPM.PIBA, 0xf0, \_SB_.PCI0.VIPM.PIBA) } Method(_CRS) { Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFA, 0x1, IRA1) CreateByteField(BUFA, 0x2, IRA2) Store(0x0, Local3) Store(0x0, Local4) And(\_SB_.PCI0.VIPM.PIBA, 0xf, Local1) If(LNot(LEqual(Local1, 0x0))) { If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRA1) Store(Local4, IRA2) } Return(BUFA) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRA1) CreateByteField(Arg0, 0x2, IRA2) ShiftLeft(IRA2, 0x8, Local0) Or(Local0, IRA1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(\_SB_.PCI0.VIPM.PIBA, 0xf0, \_SB_.PCI0.VIPM.PIBA) Or(\_SB_.PCI0.VIPM.PIBA, Local1, \_SB_.PCI0.VIPM.PIBA) } } Device(LNKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0x2) Method(_STA) { And(\_SB_.PCI0.VIPM.PIBA, 0xf0, Local0) If(LEqual(Local0, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFB, Buffer(0x6) {0x23, 0x28, 0xc, 0x18, 0x79, 0x0 }) Return(BUFB) } Method(_DIS) { Store(0x1, Local3) And(\_SB_.PCI0.VIPM.PIBA, 0xf0, Local1) ShiftRight(Local1, 0x4, Local1) Store(Local1, Local2) If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local1) } ShiftLeft(Local3, Local1, Local3) Not(Local3, Local3) And(\_SB_.PCI0.VIPM.PIBA, 0xf, \_SB_.PCI0.VIPM.PIBA) } Method(_CRS) { Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFB, 0x1, IRB1) CreateByteField(BUFB, 0x2, IRB2) Store(0x0, Local3) Store(0x0, Local4) And(\_SB_.PCI0.VIPM.PIBA, 0xf0, Local1) ShiftRight(Local1, 0x4, Local1) If(LNot(LEqual(Local1, 0x0))) { If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRB1) Store(Local4, IRB2) } Return(BUFB) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRB1) CreateByteField(Arg0, 0x2, IRB2) ShiftLeft(IRB2, 0x8, Local0) Or(Local0, IRB1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(\_SB_.PCI0.VIPM.PIBA, 0xf, \_SB_.PCI0.VIPM.PIBA) ShiftLeft(Local1, 0x4, Local1) Or(\_SB_.PCI0.VIPM.PIBA, Local1, \_SB_.PCI0.VIPM.PIBA) } } Device(LNKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0x3) Method(_STA) { And(\_SB_.PCI0.VIPM.PIDC, 0xf, Local0) If(LEqual(Local0, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFA, Buffer(0x6) {0x23, 0x28, 0xc, 0x18, 0x79, 0x0 }) Return(BUFA) } Method(_DIS) { Store(0x1, Local3) And(\_SB_.PCI0.VIPM.PIDC, 0xf, Local1) Store(Local1, Local2) If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local1) } ShiftLeft(Local3, Local1, Local3) Not(Local3, Local3) And(\_SB_.PCI0.VIPM.PIDC, 0xf0, \_SB_.PCI0.VIPM.PIDC) } Method(_CRS) { Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFA, 0x1, IRA1) CreateByteField(BUFA, 0x2, IRA2) Store(0x0, Local3) Store(0x0, Local4) And(\_SB_.PCI0.VIPM.PIDC, 0xf, Local1) If(LNot(LEqual(Local1, 0x0))) { If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRA1) Store(Local4, IRA2) } Return(BUFA) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRA1) CreateByteField(Arg0, 0x2, IRA2) ShiftLeft(IRA2, 0x8, Local0) Or(Local0, IRA1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(\_SB_.PCI0.VIPM.PIDC, 0xf0, \_SB_.PCI0.VIPM.PIDC) Or(\_SB_.PCI0.VIPM.PIDC, Local1, \_SB_.PCI0.VIPM.PIDC) } } Device(LNKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0x4) Method(_STA) { And(\_SB_.PCI0.VIPM.PIDC, 0xf0, Local0) If(LEqual(Local0, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFB, Buffer(0x6) {0x23, 0x28, 0xc, 0x18, 0x79, 0x0 }) Return(BUFB) } Method(_DIS) { Store(0x1, Local3) And(\_SB_.PCI0.VIPM.PIDC, 0xf0, Local1) ShiftRight(Local1, 0x4, Local1) Store(Local1, Local2) If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local1) } ShiftLeft(Local3, Local1, Local3) Not(Local3, Local3) And(\_SB_.PCI0.VIPM.PIDC, 0xf, \_SB_.PCI0.VIPM.PIDC) } Method(_CRS) { Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFB, 0x1, IRB1) CreateByteField(BUFB, 0x2, IRB2) Store(0x0, Local3) Store(0x0, Local4) And(\_SB_.PCI0.VIPM.PIDC, 0xf0, Local1) ShiftRight(Local1, 0x4, Local1) If(LNot(LEqual(Local1, 0x0))) { If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRB1) Store(Local4, IRB2) } Return(BUFB) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRB1) CreateByteField(Arg0, 0x2, IRB2) ShiftLeft(IRB2, 0x8, Local0) Or(Local0, IRB1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(\_SB_.PCI0.VIPM.PIDC, 0xf, \_SB_.PCI0.VIPM.PIDC) ShiftLeft(Local1, 0x4, Local1) Or(\_SB_.PCI0.VIPM.PIDC, Local1, \_SB_.PCI0.VIPM.PIDC) } } Device(SIO_) { Name(_HID, 0x050ad041) OperationRegion(Z00M, SystemIO, 0x80, 0x1) Field(Z00M, ByteAcc, NoLock, Preserve) { Z00N, 8 } OperationRegion(SIBP, SystemIO, 0x2e, 0x2) Field(SIBP, ByteAcc, NoLock, Preserve) { BPIO, 8 } OperationRegion(SIIO, SystemIO, 0x2e, 0x2) Field(SIIO, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) { Offset(0x7), LDN_, 8, Offset(0x22), POW_, 8, Offset(0x30), ACT_, 8, Offset(0x60), IOBH, 8, IOBL, 8, Offset(0x70), INT_, 8, Offset(0x74), DMAS, 8, Offset(0xe0), Z00O, 8, Offset(0xe4), Z00P, 8, Offset(0xf0), MODE, 3 } Method(CFG_, 1) { Store(0x20, INDX) While(LNot(LEqual(DATA, 0x52))) { Store(0x87, BPIO) Store(0x87, BPIO) Store(0x20, INDX) } Store(Arg0, LDN_) } Method(XCFG) { Store(0xaa, BPIO) } Method(DIS_, 1) { CFG_(Arg0) Store(0x0, ACT_) XCFG() } Method(ENA_, 1) { CFG_(Arg0) Store(0x1, ACT_) XCFG() } Method(STA_, 1) { CFG_(Arg0) If(ACT_) { Store(0xf, Local0) } Else { Store(0xd, Local0) } XCFG() Return(Local0) } Method(PS0_, 1) { ENA_(Arg0) Return(Zero) } Method(PS3_, 1) { DIS_(Arg0) Return(0x3) } Name(TIO_, Buffer(0xa) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x79, 0x0 }) Method(RIO_, 1) { CreateWordField(TIO_, 0x2, IO1N) CreateWordField(TIO_, 0x4, IO1X) CreateField(TIO_, 0x10, 0x20, OUT_) ShiftLeft(IOBH, 0x8, Local0) Add(IOBL, Local0, Local0) Add(Local0, Arg0, Local1) Store(Local1, IO1N) Store(Local1, IO1X) Return(OUT_) } Method(WIO1, 1) { CreateByteField(TIO_, 0x2, IOLL) CreateByteField(TIO_, 0x3, IOLH) Store(Arg0, TIO_) Store(IOLL, IOBL) Store(IOLH, IOBH) } Name(TIRQ, Buffer(0x6) {0x23, 0x10, 0x0, 0x1, 0x79, 0x0 }) Method(RIRQ) { CreateWordField(TIRQ, 0x1, IRQ1) CreateField(TIRQ, 0x0, 0x20, OUT_) ShiftLeft(0x1, INT_, IRQ1) Return(OUT_) } Method(WIRQ, 1) { CreateWordField(TIRQ, 0x1, IRQ1) Store(Arg0, TIRQ) FindSetRightBit(IRQ1, Local0) Subtract(Local0, 0x1, Local0) Store(Local0, INT_) } Name(TDMA, Buffer(0x5) {0x2a, 0x1, 0x0, 0x79, 0x0 }) Method(RDMA) { CreateByteField(TDMA, 0x1, DMAA) CreateField(TDMA, 0x0, 0x18, OUT_) Store(DMAS, Local0) ShiftLeft(0x1, Local0, DMAA) Return(OUT_) } Method(WDMA, 1) { CreateByteField(TDMA, 0x1, DMAA) Store(Arg0, TDMA) FindSetRightBit(DMAA, Local0) Subtract(Local0, 0x1, DMAS) } Device(COM1) { Name(_HID, 0x0105d041) Name(_UID, 0x1) Name(_PSC, 0x0) Name(RSRC, Buffer(0xe) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x23, 0x10, 0x0, 0x1, 0x79, 0x0 }) Name(_PRS, Buffer(0x3b) {0x31, 0x4, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x31, 0x4, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x31, 0x4, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x31, 0x4, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x38, 0x79, 0x0 }) Method(_CRS) { CreateField(RSRC, 0x10, 0x20, IO1_) CreateField(RSRC, 0x40, 0x20, IRQ1) CFG_(0x2) Store(RIO_(0x0), IO1_) Store(RIRQ(), IRQ1) XCFG() Return(RSRC) } Method(_SRS, 1) { CreateField(RSRC, 0x0, 0x40, IO1_) CreateWordField(RSRC, 0x2, IOXX) CreateField(RSRC, 0x40, 0x20, IRQ1) CFG_(0x2) Store(Arg0, RSRC) WIO1(IO1_) WIRQ(IRQ1) XCFG() Store(IOXX, Local0) If(LEqual(Local0, 0x03f8)) { Store(0x0, \_SB_.PCI0.ISA_.Z00B) } If(LEqual(Local0, 0x02f8)) { Store(0x1, \_SB_.PCI0.ISA_.Z00B) } If(LEqual(Local0, 0x0220)) { Store(0x2, \_SB_.PCI0.ISA_.Z00B) } If(LEqual(Local0, 0x0228)) { Store(0x3, \_SB_.PCI0.ISA_.Z00B) } If(LEqual(Local0, 0x0238)) { Store(0x4, \_SB_.PCI0.ISA_.Z00B) } If(LEqual(Local0, 0x02e8)) { Store(0x5, \_SB_.PCI0.ISA_.Z00B) } If(LEqual(Local0, 0x0338)) { Store(0x6, \_SB_.PCI0.ISA_.Z00B) } If(LEqual(Local0, 0x03e8)) { Store(0x7, \_SB_.PCI0.ISA_.Z00B) } } Method(_DIS) { DIS_(0x2) } Method(_PS0) { PS0_(0x2) ENA_(0x2) Store(0x0, _PSC) } Method(_PS3) { PS3_(0x2) Store(0x3, _PSC) } Method(_STA) { Return(STA_(0x2)) } } Device(COM2) { Name(_HID, 0x0105d041) Name(_UID, 0x2) Name(_PSC, 0x0) Name(NUM0, 0x1) Name(RSRC, Buffer(0xe) {0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x23, 0x8, 0x0, 0x1, 0x79, 0x0 }) Method(_CRS) { CreateField(RSRC, 0x10, 0x20, IO1_) CreateField(RSRC, 0x40, 0x20, IRQ1) CFG_(0x3) Store(RIO_(0x0), IO1_) Store(RIRQ(), IRQ1) XCFG() Return(RSRC) } Method(_SRS, 1) { CFG_(0x3) CreateField(RSRC, 0x0, 0x40, IO1_) CreateWordField(RSRC, 0x2, IOXX) CreateField(RSRC, 0x40, 0x20, IRQ1) Store(Arg0, RSRC) WIO1(IO1_) WIRQ(IRQ1) XCFG() Store(IOXX, Local0) If(LEqual(Local0, 0x03f8)) { Store(0x0, \_SB_.PCI0.ISA_.Z00C) } If(LEqual(Local0, 0x02f8)) { Store(0x1, \_SB_.PCI0.ISA_.Z00C) } If(LEqual(Local0, 0x0220)) { Store(0x2, \_SB_.PCI0.ISA_.Z00C) } If(LEqual(Local0, 0x0228)) { Store(0x3, \_SB_.PCI0.ISA_.Z00C) } If(LEqual(Local0, 0x0238)) { Store(0x4, \_SB_.PCI0.ISA_.Z00C) } If(LEqual(Local0, 0x02e8)) { Store(0x5, \_SB_.PCI0.ISA_.Z00C) } If(LEqual(Local0, 0x0338)) { Store(0x6, \_SB_.PCI0.ISA_.Z00C) } If(LEqual(Local0, 0x03e8)) { Store(0x7, \_SB_.PCI0.ISA_.Z00C) } } Method(_DIS) { DIS_(0x3) } Method(_PS0) { PS0_(0x3) Store(0x0, _PSC) } Method(_PS3) { PS3_(0x3) Store(0x3, _PSC) } Method(_STA) { Return(STA_(0x3)) } Name(_PRS, Buffer(0x3b) {0x31, 0x4, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x31, 0x4, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x31, 0x4, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x31, 0x4, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x23, 0x18, 0x0, 0x1, 0x38, 0x79, 0x0 }) } Device(LPT_) { Name(_PSC, 0x0) Method(ECP_) { CFG_(0x1) And(MODE, 0x2, Local0) XCFG() If(LEqual(Local0, 0x0)) { Return(0x0) } Else { Return(0x1) } } Method(_HID) { If(ECP_()) { Return(0x0104d041) } Else { Return(0x0004d041) } } Method(_PRS) { If(ECP_()) { Return(ECPB) } Else { Return(EPPB) } } Name(ECPT, Buffer(0x19) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x23, 0x20, 0x0, 0x1, 0x2a, 0x2, 0x0, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x79, 0x0 }) Name(EPPT, Buffer(0x16) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x23, 0x80, 0x0, 0x1, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x79, 0x0 }) Name(ECPB, Buffer(0x4e) {0x31, 0x4, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x23, 0xa0, 0x0, 0x1, 0x2a, 0xa, 0x0, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x31, 0x4, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x23, 0xa0, 0x0, 0x1, 0x2a, 0xa, 0x0, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x31, 0x4, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x8, 0x23, 0xa0, 0x0, 0x1, 0x2a, 0xa, 0x0, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x8, 0x38, 0x79, 0x0 }) Name(EPPB, Buffer(0x45) {0x31, 0x4, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x23, 0xa0, 0x0, 0x1, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x31, 0x4, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x23, 0xa0, 0x0, 0x1, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x31, 0x4, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x8, 0x23, 0xa0, 0x0, 0x1, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x8, 0x38, 0x79, 0x0 }) Method(_CRS) { If(ECP_()) { CreateField(ECPT, 0x10, 0x20, IO1_) CreateField(ECPT, 0x40, 0x20, IRQ1) CreateField(ECPT, 0x60, 0x18, DMA1) CreateField(ECPT, 0x88, 0x20, IO2_) CFG_(0x1) Store(RIO_(0x0), IO1_) Store(RIRQ(), IRQ1) Store(RDMA(), DMA1) Store(RIO_(0x0400), IO2_) XCFG() Return(ECPT) } Else { CreateField(EPPT, 0x10, 0x20, IO3_) CreateField(EPPT, 0x40, 0x20, IRQ3) CFG_(0x1) Store(RIO_(0x0), IO3_) Store(RIRQ(), IRQ3) XCFG() Return(EPPT) } } Method(_SRS, 1) { If(ECP_()) { CreateField(ECPT, 0x0, 0x40, IO1_) CreateWordField(ECPT, 0x2, IOXX) CreateField(ECPT, 0x40, 0x20, IRQ1) CreateField(ECPT, 0x60, 0x18, DMA1) Store(Arg0, ECPT) CFG_(0x1) WIO1(IO1_) WIRQ(IRQ1) WDMA(DMA1) Store(IOXX, Local0) } Else { CreateField(EPPT, 0x0, 0x40, IO2_) CreateWordField(EPPT, 0x2, IOXY) CreateField(EPPT, 0x40, 0x20, IRQ2) Store(Arg0, EPPT) CFG_(0x1) WIO1(IO2_) WIRQ(IRQ2) Store(IOXY, Local0) } XCFG() If(LEqual(Local0, 0x0378)) { Store(0x1, \_SB_.PCI0.ISA_.Z00A) } If(LEqual(Local0, 0x0278)) { Store(0x2, \_SB_.PCI0.ISA_.Z00A) } If(LEqual(Local0, 0x03bc)) { Store(0x0, \_SB_.PCI0.ISA_.Z00A) } } Method(_DIS) { DIS_(0x1) } Method(_PS0) { PS0_(0x1) ENA_(0x1) Store(0x0, _PSC) } Method(_PS3) { PS3_(0x1) Store(0x3, _PSC) } Method(_STA) { Return(STA_(0x1)) } } Device(FDC0) { Name(_HID, 0x0007d041) Name(_PSC, 0x0) Name(RSRC, Buffer(0x19) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x23, 0x40, 0x0, 0x1, 0x2a, 0x4, 0x0, 0x79, 0x0 }) Name(_PRS, Buffer(0x35) {0x31, 0x0, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x23, 0x40, 0x0, 0x1, 0x2a, 0x4, 0x0, 0x31, 0x4, 0x47, 0x1, 0x70, 0x3, 0x70, 0x3, 0x1, 0x6, 0x47, 0x1, 0x77, 0x3, 0x77, 0x3, 0x1, 0x1, 0x23, 0x40, 0x0, 0x1, 0x2a, 0x4, 0x0, 0x38, 0x79, 0x0 }) Method(_CRS) { CreateField(RSRC, 0x10, 0x20, IO1_) CreateField(RSRC, 0x50, 0x20, IO2_) CreateWordField(RSRC, 0xa, IOA_) CreateWordField(RSRC, 0xc, IOB_) CreateField(RSRC, 0x80, 0x20, IRQ1) CreateField(RSRC, 0xa0, 0x18, DMA1) CFG_(0x0) Store(RIO_(0x0), IO1_) Store(RIO_(0x7), IO2_) Store(RIRQ(), IRQ1) Store(RDMA(), DMA1) XCFG() Return(RSRC) } Method(_SRS, 1) { CFG_(0x0) CreateWordField(RSRC, 0x2, IOXX) CreateField(RSRC, 0x0, 0x40, IO1_) CreateField(RSRC, 0x80, 0x20, IRQ1) CreateField(RSRC, 0xa0, 0x18, DMA1) Store(Arg0, RSRC) WIO1(IO1_) WIRQ(IRQ1) WDMA(DMA1) XCFG() Store(IOXX, Local0) If(LEqual(Local0, 0x03f0)) { Store(0x1, \_SB_.PCI0.ISA_.FDC1) } If(LEqual(Local0, 0x0370)) { Store(0x1, \_SB_.PCI0.ISA_.FDC2) } } Method(_DIS) { DIS_(0x0) } Method(_PS3) { PS3_(0x0) Store(0x3, _PSC) } Method(_PS0) { PS0_(0x0) ENA_(0x0) Store(0x0, _PSC) } Method(_STA) { Return(STA_(0x0)) } } } Device(PS2M) { Name(_HID, 0x130fd041) Method(_STA) { And(FLG0, 0x4, Local0) If(LEqual(Local0, 0x4)) { Return(0xf) } Else { Return(0x0) } } Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 }) } Device(PS2K) { Name(_HID, 0x0303d041) Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 }) } } } } Scope(_TZ_) { } Scope(_GPE) { Method(_L08) { Notify(\_SB_.PCI0, 0x2) } Method(_L0F) { Notify(\_SB_.PCI0.USB0, 0x2) } } Scope(_PR_) { Processor(CPU0, 0, 0x8010, 0x6) { } Processor(CPU1, 1, 0x0, 0x0) { } } Scope(_SI_) { } Name(_S0_, Package(0x4) { 0x0, 0x0, 0x0, 0x0, }) Name(_S1_, Package(0x4) { 0x1, 0x1, 0x1, 0x1, }) Name(_S4_, Package(0x4) { 0x6, 0x6, 0x6, 0x6, }) Name(_S5_, Package(0x4) { 0x7, 0x7, 0x7, 0x7, }) Name(PICF, 0x0) Method(_PIC, 1) { Store(Arg0, PICF) } OperationRegion(DEBG, SystemIO, 0x80, 0x1) Field(DEBG, ByteAcc, Lock, Preserve) { DBG1, 8 } OperationRegion(EXTM, SystemMemory, 0x000ff83c, 0x4) Field(EXTM, WordAcc, Lock, Preserve) { AMEM, 32 } OperationRegion(VGAM, SystemMemory, 0x000c0002, 0x1) Field(VGAM, ByteAcc, Lock, Preserve) { VGA1, 8 } OperationRegion(GRAM, SystemMemory, 0x0400, 0x0100) Field(GRAM, ByteAcc, Lock, Preserve) { Offset(0x10), FLG0, 8 } OperationRegion(Z00Q, SystemIO, 0x8000, 0x2) Field(Z00Q, ByteAcc, NoLock, Preserve) { PM00, 8, PM01, 8 } OperationRegion(Z00R, SystemIO, 0x8002, 0x2) Field(Z00R, ByteAcc, NoLock, Preserve) { PM02, 8, PM03, 8 } OperationRegion(Z00S, SystemIO, 0x8004, 0x2) Field(Z00S, ByteAcc, NoLock, Preserve) { PM04, 8, PM05, 8 } OperationRegion(Z00T, SystemIO, 0x8016, 0x2) Field(Z00T, ByteAcc, NoLock, Preserve) { PM16, 8, PM17, 8 } OperationRegion(Z00U, SystemIO, 0x8020, 0x2) Field(Z00U, ByteAcc, NoLock, Preserve) { PM20, 8, PM21, 8 } OperationRegion(Z00V, SystemIO, 0x8022, 0x2) Field(Z00V, ByteAcc, NoLock, Preserve) { PM22, 8, PM23, 8 } OperationRegion(Z00W, SystemIO, 0x8024, 0x1) Field(Z00R, ByteAcc, NoLock, Preserve) { PM24, 8 } OperationRegion(Z00X, SystemIO, 0x8025, 0x1) Field(Z00R, ByteAcc, NoLock, Preserve) { PM25, 8 } OperationRegion(Z00Y, SystemIO, 0x8026, 0x2) Field(Z00Y, ByteAcc, NoLock, Preserve) { PM26, 8, PM27, 8 } OperationRegion(Z00Z, SystemIO, 0x8028, 0x2) Field(Z00Z, ByteAcc, NoLock, Preserve) { PM28, 8, PM29, 8 } OperationRegion(Z010, SystemIO, 0x802a, 0x2) Field(Z010, ByteAcc, NoLock, Preserve) { PM2A, 8, PM2B, 8 } OperationRegion(Z011, SystemIO, 0x802c, 0x2) Field(Z011, ByteAcc, NoLock, Preserve) { PM2C, 8, PM2D, 8 } OperationRegion(Z012, SystemIO, 0x80a8, 0x2) Field(Z012, ByteAcc, NoLock, Preserve) { PMA8, 8, PMA9, 8 } OperationRegion(Z013, SystemIO, 0x80ac, 0x2) Field(Z013, ByteAcc, NoLock, Preserve) { PMAC, 8, PMAD, 8 } OperationRegion(Z014, SystemIO, 0x21, 0x1) Field(Z014, ByteAcc, NoLock, Preserve) { Z015, 8 } OperationRegion(Z016, SystemIO, 0xa1, 0x1) Field(Z016, ByteAcc, NoLock, Preserve) { Z017, 8 } Method(_PTS, 1) { Or(Arg0, 0xf0, Local0) Store(Local0, DBG1) And(Z015, 0xf9, Z015) And(Z017, 0xee, Z017) If(LEqual(Arg0, 0x1)) { Store(PM21, PM21) } If(LEqual(Arg0, 0x5)) { Store(PM28, PM28) Store(PM29, PM29) } } Method(_WAK, 1) { Or(Arg0, 0xe0, Local0) Store(Local0, DBG1) Notify(\_SB_.PWRB, 0x2) } } /* APIC: Length=94, Revision=1, Checksum=49, OEMID=PTLTD, OEM Table ID= APIC, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 */