Alors voilà, des infos sur la carte mère que je soupçonne le fabricant être gigabyte, un indice dans le bios RAID me l'a fait penser, de plus elle est très proche d'un de leur modèle, l'ordinateur a été conditionné par Lenovo, c'est un ThinkCentre A61 9137 (Bios AMI)
[System Information] (Type 1)
01 1B 01 00 01 02 03 04 3D 18 28 EC EB 6C 36 4A ........=.(..l6J
84 BF 80 27 46 56 B4 71 06 05 06 4C 45 4E 4F 56 ...'FV.q...LENOV
4F 00 39 31 33 37 57 31 36 00 54 68 69 6E 6B 43 O.9137W16.ThinkC
65 6E 74 72 65 20 41 36 31 00 4C 4D 56 57 34 30 entre A61.LMVW40
38 00 54 6F 20 42 65 20 46 69 6C 6C 65 64 20 42 8.To Be Filled B
79 20 4F 2E 45 2E 4D 2E 00 54 6F 20 42 65 20 46 y O.E.M..To Be F
69 6C 6C 65 64 20 42 79 20 4F 2E 45 2E 4D 2E 00 illed By O.E.M..
00 .
Type 0x01 (1)
Length 0x1B (27)
Handle 0x0001 (1)
Manufacturer String1 - "LENOVO"
Product Name String2 - "9137W16"
Version String3 - "ThinkCentre A61"
Serial Number String4 - "*******"
UUID 0x3D 0x18 0x28 0xEC 0xEB 0x6C 0x36 0x4A 0x84 0xBF 0x80 0x27 0x46 0x56 0xB4 0x71
Wakeup Type 0x06 - Power Switch
SKU Number String5 - "To Be Filled By O.E.M."
Family String6 - "To Be Filled By O.E.M."
Et enfin, voici tout ce que j'ai en rapport avec l'ACPI 😉
Root System Description Pointer: 0x000F99E0
52 53 44 20 50 54 52 20 03 41 43 50 49 41 4D 02 RSD PTR .ACPIAM.
00 00 FA 37 24 00 00 00 00 01 FA 37 00 00 00 00 ...7$......7....
AA 00 00 00 ....
Signature "RSD PTR "
Checksum 0x03 (3)
OEM ID "ACPIAM"
Revision 0x02 (2) - ACPI 2.0
RSDT Address 0x37FA0000
Length 0x00000024
XsdtAddress 0x0000000037FA0100
Extended Checksum 0xAA (170)
Reserved 0x00 0x00 0x00
Root System Description Table: 0x37FA0000
52 53 44 54 48 00 00 00 01 73 4C 45 4E 4F 56 4F RSDTH....sLENOVO
54 43 2D 30 33 20 20 20 15 10 08 20 4D 53 46 54 TC-03 ... MSFT
97 00 00 00 00 02 FA 37 90 03 FA 37 00 04 FA 37 .......7...7...7
40 04 FA 37 40 E0 FA 37 C0 85 FA 37 00 86 FA 37 @..7@..7...7...7
60 87 FA 37 A0 87 FA 37 `..7...7
Signature "RSDT"
Length 0x00000048 (72)
Revision 0x01 (1)
Checksum 0x73 (115)
OEM ID "LENOVO"
OEM Table ID "TC-03 "
OEM Revision 0x20081015 (537399317)
Creator ID "MSFT"
Creator Revision 0x00000097 (151)
Entry0 0x37FA0200
Entry1 0x37FA0390
Entry2 0x37FA0400
Entry3 0x37FA0440
Entry4 0x37FAE040
Entry5 0x37FA85C0
Entry6 0x37FA8600
Entry7 0x37FA8760
Entry8 0x37FA87A0
Fixed ACPI Description Table: 0x37FA0200
46 41 43 50 84 00 00 00 03 B5 4C 45 4E 4F 56 4F FACP......LENOVO
54 43 2D 30 33 20 20 20 15 10 08 20 4D 53 46 54 TC-03 ... MSFT
97 00 00 00 00 E0 FA 37 C0 05 FA 37 01 01 09 00 .......7...7....
B0 00 00 00 E1 1E 00 E2 00 08 00 00 00 00 00 00 ................
04 08 00 00 00 00 00 00 FF 08 00 00 08 08 00 00 ................
20 08 00 00 00 00 00 00 04 02 01 04 08 00 00 00 ...............
65 00 E9 03 00 04 10 00 04 03 0D 00 32 03 00 00 e...........2...
A5 C1 01 00 01 08 00 00 F9 0C 00 00 00 00 00 00 ................
06 00 00 00 ....
Signature "FACP"
Length 0x00000084 (132)
Revision 0x03 (3)
Checksum 0xB5 (181)
OEM ID "LENOVO"
OEM Table ID "TC-03 "
OEM Revision 0x20081015 (537399317)
Creator ID "MSFT"
Creator Revision 0x00000097 (151)
Firmware Control 0x37FAE000 - FACS
DSDT Address 0x37FA05C0 - DSDT
Interrupt Mode 0x01 (1) - Multiple APIC
PM Profile 0x01 (1)
SCI Interrupt 0x0009 (9)
SMI Port 0x000000B0 (176)
ACPI Enable 0xE1 (225)
ACPI Disable 0x1E (30)
S4 Request 0x00 (0) - Not supported
PSTATE_CNT 0xE2 (226)
PM1a_EVT_BLK 0x00000800 (2048)
PM1b_EVT_BLK 0x00000000 (0) - Not supported
PM1a_CNT_BLK 0x00000804 (2052)
PM1b_CNT_BLK 0x00000000 (0) - Not supported
PM2_CNT_BLK 0x000008FF (2303)
PM_TMR_BLK 0x00000808 (2056)
GPE0_BLK 0x00000820 (2080)
GPE1_BLK 0x00000000 (0) - Not supported
PM1_EVT_LEN 0x04 (4)
PM1_CNT_LEN 0x02 (2)
PM2_CNT_LEN 0x01 (1)
PM_TMR_LEN 0x04 (4)
GPE0_BLK_LEN 0x08 (8)
GPE1_BLK_LEN 0x00 (0)
GPE1_BASE 0x00 (0)
CST_CNT 0x00 (0)
P_LVL2_LAT 0x0065 (101) - C2 state not supported
P_LVL3_LAT 0x03E9 (1001) - C3 state not supported
FLUSH_SIZE 0x0400 (1024)
FLUSH_STRIDE 0x0010 (16)
DUTY_OFFSET 0x04 (4)
DUTY_WIDTH 0x03 (3)
DAY_ALRM 0x0D (13)
MON_ALRM 0x00 (0) - Month alarm not supported
CENTURY 0x32 (50)
IAPC_Boot_Arch 0x03 0x00
Reserved 0x00 (0)
Flags 0x0001C1A5
WBINVD 1 - WBINVD instruction fully supported
WBINVD_Flush 0 - WBINVD instruction not for sleep states (Don't care if WBINVD=1)
PROC_C1 1 - C1 power state: all processors
P_LVL2_UP 0 - C2 power state: UP system only
PWR_BUTTON 0 - Power button supported as fixed feature
SLP_BUTTON 1 - Sleep button not support or handled by ASL code
FIX_RTC 0 - Fixed register support RTC wake
RTC_S4 1 - RTC wakeup support: S1, S2, S3, S4
TMR_VAL_EXT 1 - 32bit PM Timer
DCK_CAP 0 - Docking not supported
RESET_REG_SUP 0 - Reset Register not supported
SEALED_CASE 0 - System is not sealed
HEADLESS 0 - Not headless mode
CPU_SW_SLP 0 - Normal method to write SLP_TYPx
PCI_EXP_WAK 1 - PM1 block support PCIE wakeup status/enable bits
USE_PLATFORM_CLOCK 1 - OSPM use HPET (if exist) or ACPI PM Timer
S4_RTC_STS_VALID 1 - RTC_STS flag is valid when resume from S4
REMOTE_POWER_ON_CAPABLE 0 - Not compatible with remote power on
FORCE_APIC_CLUSTER_MODEL 0 - Cluster destination model not required
FORCE_APIC_PHYSICAL_DESTINATION_MODE 0 - Physical destination mode not required
Multiple APIC Description Table: 0x37FA0390
41 50 49 43 6C 00 00 00 01 67 4C 45 4E 4F 56 4F APICl....gLENOVO
54 43 2D 30 33 20 20 20 15 10 08 20 4D 53 46 54 TC-03 ... MSFT
97 00 00 00 00 00 E0 FE 01 00 00 00 00 08 01 00 ................
01 00 00 00 00 08 02 81 00 00 00 00 00 08 03 82 ................
00 00 00 00 00 08 04 83 00 00 00 00 01 0C 01 00 ................
00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 ................
00 00 02 0A 00 09 09 00 00 00 0F 00 ............
Signature "APIC"
Length 0x0000006C (108)
Revision 0x01 (1)
Checksum 0x67 (103)
OEM ID "LENOVO"
OEM Table ID "TC-03 "
OEM Revision 0x20081015 (537399317)
Creator ID "MSFT"
Creator Revision 0x00000097 (151)
Local APIC 0xFEE00000
Flags 0x00000001
Dual-8259 1 - Yes
Processor Local APIC Structure
Type 0x00 (0)
Length 0x08 (8)
ACPI Processor ID 0x01 (1)
APIC ID 0x00 (0)
Flags 0x00000001 (1) - Enabled
Processor Local APIC Structure
Type 0x00 (0)
Length 0x08 (8)
ACPI Processor ID 0x02 (2)
APIC ID 0x81 (129)
Flags 0x00000000 (0) - Disabled
Processor Local APIC Structure
Type 0x00 (0)
Length 0x08 (8)
ACPI Processor ID 0x03 (3)
APIC ID 0x82 (130)
Flags 0x00000000 (0) - Disabled
Processor Local APIC Structure
Type 0x00 (0)
Length 0x08 (8)
ACPI Processor ID 0x04 (4)
APIC ID 0x83 (131)
Flags 0x00000000 (0) - Disabled
I/O APIC Structure
Type 0x01 (1)
Length 0x0C (12)
I/O APIC ID 0x01 (1)
Reserved 0x00 (0)
I/O APIC Address 0xFEC00000
System Interrupt Base 0x00000000 (0)
Interrupt Source Override Structure
Type 0x02 (2)
Length 0x0A (10)
Bus 0x00 (0) - ISA
Source IRQ0
System Interrupt 0x00000002 (2)
Flags 0x0000
Polarity 0x00 - Conforms to the specifications of the bus
Trigger Mode 0x00 - Conforms to the specifications of the bus
Interrupt Source Override Structure
Type 0x02 (2)
Length 0x0A (10)
Bus 0x00 (0) - ISA
Source IRQ9
System Interrupt 0x00000009 (9)
Flags 0x000F
Polarity 0x03 - Active low
Trigger Mode 0x03 - Level triggered
Memory Mapped Configuration Space Base Address Description Table: 0x37FA0400
4D 43 46 47 3C 00 00 00 01 B8 4C 45 4E 4F 56 4F MCFG<.....LENOVO
4F 45 4D 4D 43 46 47 20 15 10 08 20 4D 53 46 54 OEMMCFG ... MSFT
97 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E0 ................
00 00 00 00 00 00 00 FF 00 00 00 00 ............
Signature "MCFG"
Length 0x0000003C (60)
Revision 0x01 (1)
Checksum 0xB8 (184)
OEM ID "LENOVO"
OEM Table ID "OEMMCFG "
OEM Revision 0x20081015 (537399317)
Creator ID "MSFT"
Creator Revision 0x00000097 (151)
Reserved 0x0000000000000000
Configuration Base Address Allocation
Base Address 0x00000000E0000000
PCI Segment 0x0000 (0)
Start Bus Number 0x00 (0)
End Bus Number 0xFF (255)
Reserved 0x00000000 (0)
Software Licensing Description Table: 0x37FA0440
53 4C 49 43 76 01 00 00 01 A6 4C 45 4E 4F 56 4F SLICv.....LENOVO
54 43 2D 30 33 20 20 20 15 10 08 20 4D 53 46 54 TC-03 ... MSFT
97 00 00 00 00 00 00 00 9C 00 00 00 06 02 00 00 ................
00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 .$..RSA1........
69 16 4A 9F B1 4B 3A FB 80 20 AA AF C4 F9 3E C1 i.J..K:.. ....>.
80 49 EE 6A 65 26 72 1E CD BF 5F 2F 96 D6 C0 0A .I.je&r..._/....
92 F5 06 B5 00 B2 3B 29 02 E2 4C 8D C2 F2 BC 41 ......;)..L....A
77 9C 70 F0 F3 1B 09 D2 63 5A DC A8 83 F8 5E C9 w.p.....cZ....^.
15 95 F9 FA FD DC 05 B7 4D 67 7F 2D B3 84 33 20 ........Mg.-..3
E1 D1 79 2A A7 6A 77 D1 B6 20 2A 76 42 C5 D5 E9 ..y*.jw.. *vB...
B6 43 40 55 44 C3 C9 37 99 5F 41 97 70 F3 D1 F6 .C@UD..7._A.p...
07 EC 7B 1A 29 A1 C1 F1 91 FD 48 86 6E 3E CE CB ..{.).....H.n>..
01 00 00 00 B6 00 00 00 00 00 02 00 4C 45 4E 4F ............LENO
56 4F 54 43 2D 30 33 20 20 20 57 49 4E 44 4F 57 VOTC-03 WINDOW
53 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 S ..............
00 00 00 00 00 00 AC 90 5B C2 12 14 29 5C FA 92 ........[...)\..
D6 A5 3B 15 61 AE 23 B6 05 94 56 A5 0D E3 77 61 ..;.a.#...V...wa
B0 1A D9 A8 0C 72 F9 C2 4E 45 19 66 67 0C 4C 6A .....r..NE.fg.Lj
10 B4 4F 66 58 17 7F 7B 86 BE 02 72 00 1C DA 44 ..OfX..{...r...D
7E 8C 66 28 4C 1A 90 26 D2 44 47 C2 95 04 FD D5 ~.f(L..&.DG.....
F1 64 D6 D3 B2 BE A3 AA 24 D4 0B 42 F8 94 F2 BF .d......$..B....
97 27 29 4D 5B 6D 97 6A E8 1C 72 2C AB 36 06 5A .')M[m.j..r,.6.Z
60 37 67 02 C7 03 04 A2 C9 20 A2 68 A4 C5 72 30 `7g...... .h..r0
E2 05 8B EB A0 EC ......
Signature "SLIC"
Length 0x00000176 (374)
Revision 0x01 (1)
Checksum 0xA6 (166)
OEM ID "LENOVO"
OEM Table ID "TC-03 "
OEM Revision 0x20081015 (537399317)
Creator ID "MSFT"
Creator Revision 0x00000097 (151)
OEM Public Key Structure
Type 0x00000000 (0)
Length 0x0000009C (156)
Key Type 0x06 (6)
Version 0x02 (2)
Reserved 0x0000 (0)
Algorithm 0x00002400 (9216)
Magic "RSA1"
Bit Length 0x00000400 (1024)
Exponent 0x00010001 (65537)
Modulus 0x69 0x16 0x4A 0x9F 0xB1 0x4B 0x3A 0xFB 0x80 0x20 0xAA 0xAF 0xC4 0xF9 0x3E 0xC1
0x80 0x49 0xEE 0x6A 0x65 0x26 0x72 0x1E 0xCD 0xBF 0x5F 0x2F 0x96 0xD6 0xC0 0x0A
0x92 0xF5 0x06 0xB5 0x00 0xB2 0x3B 0x29 0x02 0xE2 0x4C 0x8D 0xC2 0xF2 0xBC 0x41
0x77 0x9C 0x70 0xF0 0xF3 0x1B 0x09 0xD2 0x63 0x5A 0xDC 0xA8 0x83 0xF8 0x5E 0xC9
0x15 0x95 0xF9 0xFA 0xFD 0xDC 0x05 0xB7 0x4D 0x67 0x7F 0x2D 0xB3 0x84 0x33 0x20
0xE1 0xD1 0x79 0x2A 0xA7 0x6A 0x77 0xD1 0xB6 0x20 0x2A 0x76 0x42 0xC5 0xD5 0xE9
0xB6 0x43 0x40 0x55 0x44 0xC3 0xC9 0x37 0x99 0x5F 0x41 0x97 0x70 0xF3 0xD1 0xF6
0x07 0xEC 0x7B 0x1A 0x29 0xA1 0xC1 0xF1 0x91 0xFD 0x48 0x86 0x6E 0x3E 0xCE 0xCB
SLIC Marker Structure
Type 0x00000001 (1)
Length 0x000000B6 (182)
Version 0x00020000 (131072)
OEM ID "LENOVO"
OEM Table ID "TC-03 "
Windows Flag "WINDOWS "
Reserved 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Signature 0xAC 0x90 0x5B 0xC2 0x12 0x14 0x29 0x5C 0xFA 0x92 0xD6 0xA5 0x3B 0x15 0x61 0xAE
0x23 0xB6 0x05 0x94 0x56 0xA5 0x0D 0xE3 0x77 0x61 0xB0 0x1A 0xD9 0xA8 0x0C 0x72
0xF9 0xC2 0x4E 0x45 0x19 0x66 0x67 0x0C 0x4C 0x6A 0x10 0xB4 0x4F 0x66 0x58 0x17
0x7F 0x7B 0x86 0xBE 0x02 0x72 0x00 0x1C 0xDA 0x44 0x7E 0x8C 0x66 0x28 0x4C 0x1A
0x90 0x26 0xD2 0x44 0x47 0xC2 0x95 0x04 0xFD 0xD5 0xF1 0x64 0xD6 0xD3 0xB2 0xBE
0xA3 0xAA 0x24 0xD4 0x0B 0x42 0xF8 0x94 0xF2 0xBF 0x97 0x27 0x29 0x4D 0x5B 0x6D
0x97 0x6A 0xE8 0x1C 0x72 0x2C 0xAB 0x36 0x06 0x5A 0x60 0x37 0x67 0x02 0xC7 0x03
0x04 0xA2 0xC9 0x20 0xA2 0x68 0xA4 0xC5 0x72 0x30 0xE2 0x05 0x8B 0xEB 0xA0 0xEC
OEMB Specific Information Table: 0x37FAE040
4F 45 4D 42 72 00 00 00 01 07 4C 45 4E 4F 56 4F OEMBr.....LENOVO
54 43 2D 30 33 20 20 20 15 10 08 20 4D 53 46 54 TC-03 ... MSFT
97 00 00 00 0C 05 00 00 00 00 38 00 00 F0 FF 00 ..........8.....
00 0D 00 00 00 01 00 00 00 00 38 00 00 00 A8 00 ..........8.....
87 20 D0 0E 00 00 00 00 00 00 00 00 00 00 00 00 . ..............
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01 00 00 00 F0 00 50 D4 0E 00 50 D4 FE 00 00 00 ......P...P.....
00 00 ..
Signature "OEMB"
Length 0x00000072 (114)
Revision 0x01 (1)
Checksum 0x07 (7)
OEM ID "LENOVO"
OEM Table ID "TC-03 "
OEM Revision 0x20081015 (537399317)
Creator ID "MSFT"
Creator Revision 0x00000097 (151)
OEMB Data 0x0C 0x05 0x00 0x00 0x00 0x00 0x38 0x00 0x00 0xF0 0xFF 0x00 0x00 0x0D 0x00 0x00
0x00 0x01 0x00 0x00 0x00 0x00 0x38 0x00 0x00 0x00 0xA8 0x00 0x87 0x20 0xD0 0x0E
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 0x01 0x00 0x00 0x00
0xF0 0x00 0x50 0xD4 0x0E 0x00 0x50 0xD4 0xFE 0x00 0x00 0x00 0x00 0x00
High Precision Event Timers Table: 0x37FA85C0
48 50 45 54 38 00 00 00 01 04 4C 45 4E 4F 56 4F HPET8.....LENOVO
4F 45 4D 48 50 45 54 20 15 10 08 20 4D 53 46 54 OEMHPET ... MSFT
97 00 00 00 00 83 00 00 00 08 00 00 00 00 D0 FE ................
00 00 00 00 02 14 00 00 ........
Signature "HPET"
Length 0x00000038 (56)
Revision 0x01 (1)
Checksum 0x04 (4)
OEM ID "LENOVO"
OEM Table ID "OEMHPET "
OEM Revision 0x20081015 (537399317)
Creator ID "MSFT"
Creator Revision 0x00000097 (151)
Event Timer Block ID 0x00008300
Bit[31:16]=Vendor Unknown
Bit[15]=LegacyReplacement IRQ Routing Capable
Bit[13]=Counter Size 32-bits
Bit[12:8]=Number of Timers 0x04 (4)
Bit[7:0]:Revision ID 0x00 (0)
Base Address Memory: 0xFED00000, BitWidth: 0x8 (8), BitOffset: 0x0 (0), AccessSize: Undefined
HPET Number 0x02 (2)
Minimum Clock Tick 0x0014 (20)
Page Protection & OEM Attribute 0x00 (0)
ASF! Table: 0x37FA8600
41 53 46 21 54 01 00 00 20 AD 4C 45 47 45 4E 44 ASF!T... .LEGEND
49 38 36 35 50 41 53 46 01 00 00 00 49 4E 54 4C I865PASF....INTL
17 11 05 20 00 00 10 00 FF 03 3B 00 00 00 12 34 ... ......;....4
00 00 00 00 01 00 68 00 00 00 08 0C 80 23 01 01 ......h......#..
01 01 00 39 10 00 07 00 80 23 02 02 01 01 00 39 ...9.....#.....9
10 01 07 00 80 23 04 04 01 01 00 39 10 02 07 00 .....#.....9....
80 23 08 08 01 01 00 39 10 03 07 00 80 23 10 10 .#.....9.....#..
01 01 00 39 10 04 03 00 80 23 20 20 04 01 00 39 ...9.....# ...9
10 05 07 00 80 23 40 40 04 01 00 39 10 06 07 00 .....#@@...9....
80 23 80 80 04 01 00 39 10 07 07 00 01 00 80 00 .#.....9........
00 00 0A 0C 82 23 01 01 02 01 00 39 10 00 07 00 .....#.....9....
82 23 02 02 02 01 00 39 10 01 07 00 82 23 04 04 .#.....9.....#..
02 01 00 39 10 02 07 00 82 23 08 08 02 01 00 39 ...9.....#.....9
10 03 07 00 82 23 10 10 02 01 00 39 10 04 07 00 .....#.....9....
82 23 20 20 02 01 00 39 10 05 07 00 82 23 40 40 .# ...9.....#@@
02 01 00 39 10 06 07 00 82 23 80 80 02 01 00 39 ...9.....#.....9
10 07 07 00 98 FF 80 80 05 6F 00 68 10 15 23 01 .........o.h..#.
98 FF 40 40 06 6F 00 68 10 00 06 01 02 00 18 00 ..@@.o.h........
04 04 00 00 00 71 00 00 01 71 02 00 02 71 01 00 .....q...q...q..
03 71 03 00 03 00 17 00 00 00 00 00 00 17 F0 00 .q..............
00 00 00 00 00 00 00 01 00 00 00 84 00 09 00 00 ................
03 A0 A2 A4 ....
Signature "ASF!"
Length 0x00000154 (340)
Revision 0x20 (32)
Checksum 0xAD (173)
OEM ID "LEGEND"
OEM Table ID "I865PASF"
OEM Revision 0x00000001 (1)
Creator ID "INTL"
Creator Revision 0x20051117 (537202967)
Data 0x00 0x00 0x10 0x00 0xFF 0x03 0x3B 0x00 0x00 0x00 0x12 0x34 0x00 0x00 0x00 0x00
Data 0x01 0x00 0x68 0x00 0x00 0x00 0x08 0x0C 0x80 0x23 0x01 0x01 0x01 0x01 0x00 0x39
Data 0x10 0x00 0x07 0x00 0x80 0x23 0x02 0x02 0x01 0x01 0x00 0x39 0x10 0x01 0x07 0x00
Data 0x80 0x23 0x04 0x04 0x01 0x01 0x00 0x39 0x10 0x02 0x07 0x00 0x80 0x23 0x08 0x08
Data 0x01 0x01 0x00 0x39 0x10 0x03 0x07 0x00 0x80 0x23 0x10 0x10 0x01 0x01 0x00 0x39
Data 0x10 0x04 0x03 0x00 0x80 0x23 0x20 0x20 0x04 0x01 0x00 0x39 0x10 0x05 0x07 0x00
Data 0x80 0x23 0x40 0x40 0x04 0x01 0x00 0x39 0x10 0x06 0x07 0x00 0x80 0x23 0x80 0x80
Data 0x04 0x01 0x00 0x39 0x10 0x07 0x07 0x00 0x01 0x00 0x80 0x00 0x00 0x00 0x0A 0x0C
Data 0x82 0x23 0x01 0x01 0x02 0x01 0x00 0x39 0x10 0x00 0x07 0x00 0x82 0x23 0x02 0x02
Data 0x02 0x01 0x00 0x39 0x10 0x01 0x07 0x00 0x82 0x23 0x04 0x04 0x02 0x01 0x00 0x39
Data 0x10 0x02 0x07 0x00 0x82 0x23 0x08 0x08 0x02 0x01 0x00 0x39 0x10 0x03 0x07 0x00
Data 0x82 0x23 0x10 0x10 0x02 0x01 0x00 0x39 0x10 0x04 0x07 0x00 0x82 0x23 0x20 0x20
Data 0x02 0x01 0x00 0x39 0x10 0x05 0x07 0x00 0x82 0x23 0x40 0x40 0x02 0x01 0x00 0x39
Data 0x10 0x06 0x07 0x00 0x82 0x23 0x80 0x80 0x02 0x01 0x00 0x39 0x10 0x07 0x07 0x00
Data 0x98 0xFF 0x80 0x80 0x05 0x6F 0x00 0x68 0x10 0x15 0x23 0x01 0x98 0xFF 0x40 0x40
Data 0x06 0x6F 0x00 0x68 0x10 0x00 0x06 0x01 0x02 0x00 0x18 0x00 0x04 0x04 0x00 0x00
Data 0x00 0x71 0x00 0x00 0x01 0x71 0x02 0x00 0x02 0x71 0x01 0x00 0x03 0x71 0x03 0x00
Data 0x03 0x00 0x17 0x00 0x00 0x00 0x00 0x00 0x00 0x17 0xF0 0x00 0x00 0x00 0x00 0x00
Data 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x84 0x00 0x09 0x00 0x00 0x03 0xA0 0xA2 0xA4
Trusted Computing Platform Alliance Capabilities Table: 0x37FA8760
54 43 50 41 32 00 00 00 01 BE 4C 45 4E 4F 56 4F TCPA2.....LENOVO
54 42 4C 4F 45 4D 49 44 01 00 00 00 4D 53 46 54 TBLOEMID....MSFT
97 00 00 00 00 00 00 00 01 00 D0 F0 FA 37 00 00 .............7..
00 00 ..
Signature "TCPA"
Length 0x00000032 (50)
Revision 0x01 (1)
Checksum 0xBE (190)
OEM ID "LENOVO"
OEM Table ID "TBLOEMID"
OEM Revision 0x00000001 (1)
Creator ID "MSFT"
Creator Revision 0x00000097 (151)
Reserved 0x0000
Log Area Maximum Length 0x00010000 (65536)
Log Area Start Address 0x0000000037FAF0D0
Secondary System Description Table: 0x37FA87A0
Signature "SSDT"
Length 0x000000F4 (244)
Revision 0x01 (1)
Checksum 0xED (237)
OEM ID "A M I "
OEM Table ID "POWERNOW"
OEM Revision 0x00000001 (1)
Creator ID "AMD "
Creator Revision 0x00000001 (1)
DefinitionBlock ("SSDT.AML", "SSDT", 0x01, "A M I ", "POWERNOW", 0x00000001)
{
Scope(\_PR.P001)
{
Name(_PCT, Package(2)
{
ResourceTemplate()
{
Register(FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
ResourceTemplate()
{
Register(FFixedHW, 0x00, 0x00, 0x0000000000000000)
}
})
Name(_PSS, Package(3)
{
Package(6) {0x000007D0, 0x0000F230, 0x00000064, 0x00000009, 0xE820218C, 0x0000018C},
Package(6) {0x00000708, 0x0000CAAD, 0x00000064, 0x00000009, 0xE820220A, 0x0000020A},
Package(6) {0x000003E8, 0x00004AC1, 0x00000064, 0x00000009, 0xE8202482, 0x00000482}
})
Name(_PPC, 0x00)
Name(_PSD, Package(1)
{
Package(5) {0x05, 0x00, 0x00000000, 0x000000FD, 0x00000001}
})
}
}
Firmware ACPI Control Structure: 0x37FAE000
46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 FACS@...........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Signature FACS
Length 0x00000040 (64)
Hardware Signature 0x00000000 (0)
Waking Vector 0x00000000 (0)
Global Lock 0x00000000 (0)
Flags 0x00000000
S4BIOS 0 - Not supported
Reserved 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Reserved 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Reserved 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Differentiated System Description Table: 0x37FA05C0
Signature "DSDT"
Length 0x00004CB7 (19639)
Revision 0x01 (1)
Checksum 0x5A (90)
OEM ID "LNV_P"
OEM Table ID "LNV_P501"
OEM Revision 0x00000501 (1281)
Creator ID "INTL"
Creator Revision 0x20051117 (537202967)
DefinitionBlock ("DSDT.AML", "DSDT", 0x01, "LNV_P", "LNV_P501", 0x00000501)
{
Name(OSTY, Ones)
OperationRegion(ACMS, SystemIO, 0x72, 0x02)
Field(ACMS, ByteAcc, NoLock, Preserve)
{
ICMS, 8,
DCMS, 8,
}
IndexField(ICMS, DCMS, ByteAcc, NoLock, Preserve)
{
, 8,
Offset(0x4), //Offset(4),
Offset(0x8), //Offset(8),
BS_A, 32,
REV0, 8,
REV1, 8,
}
OperationRegion(ACAF, SystemMemory, BS_A, 0x20)
Field(ACAF, AnyAcc, NoLock, Preserve)
{
OCC0, 1,
OCC1, 1,
OCC2, 1,
OCC3, 1,
OCC4, 1,
OCC5, 1,
OCC6, 1,
OCC7, 1,
OCC8, 1,
OCC9, 1,
, 6,
TPMR, 1,
STHP, 1,
SHPG, 1,
OSCF, 1,
Offset(0x4), //Offset(4),
PCIE, 32,
HPBS, 32,
OCM0, 4,
OCM1, 4,
OCM2, 4,
OCM3, 4,
OCM4, 4,
OCM5, 4,
OCM6, 4,
OCM7, 4,
OCM8, 4,
OCM9, 4,
Offset(0x14), //Offset(20),
P92T, 8,
}
OperationRegion(CMPT, SystemIO, 0x0C50, 0x03)
Field(CMPT, ByteAcc, NoLock, Preserve)
{
CMID, 8,
, 6,
GPCT, 2,
GP0I, 1,
GP1I, 1,
GP2I, 1,
GP3I, 1,
GP4I, 1,
GP5I, 1,
GP6I, 1,
GP7I, 1,
}
OperationRegion(PCFG, SystemMemory, PCIE, 0x02000000)
Field(PCFG, AnyAcc, NoLock, Preserve)
{
Offset(0x90024), //Offset(589860),
STB5, 32,
Offset(0x98042), //Offset(622658),
PT0D, 1,
PT1D, 1,
PT2D, 1,
PT3D, 1,
PT4D, 1,
PT5D, 1,
PT6D, 1,
PT7D, 1,
PT8D, 1,
PT9D, 1,
Offset(0xA0004), //Offset(655364),
SMIE, 1,
SMME, 1,
Offset(0xA0008), //Offset(655368),
RVID, 8,
Offset(0xA0014), //Offset(655380),
SMB1, 32,
Offset(0xA0078), //Offset(655480),
Offset(0xA0079), //Offset(655481),
, 6,
P92E, 1,
}
OperationRegion(BAR, SystemMemory, STB5, 0x1000)
Field(BAR, AnyAcc, NoLock, Preserve)
{
Offset(0x120), //Offset(288),
, 7,
PMBY, 1,
Offset(0x128), //Offset(296),
PMS0, 4,
, 4,
PMS1, 4,
Offset(0x12C), //Offset(300),
DET0, 4,
Offset(0x130), //Offset(304),
Offset(0x132), //Offset(306),
PRC0, 1,
Offset(0x1A0), //Offset(416),
, 7,
SMBY, 1,
Offset(0x1A8), //Offset(424),
SMS0, 4,
, 4,
SMS1, 4,
Offset(0x1AC), //Offset(428),
DET1, 4,
Offset(0x1B0), //Offset(432),
Offset(0x1B2), //Offset(434),
PRC1, 1,
Offset(0x220), //Offset(544),
, 7,
PSBY, 1,
Offset(0x228), //Offset(552),
PSS0, 4,
, 4,
PSS1, 4,
Offset(0x22C), //Offset(556),
DET2, 4,
Offset(0x230), //Offset(560),
Offset(0x232), //Offset(562),
PRC2, 1,
Offset(0x2A0), //Offset(672),
, 7,
SSBY, 1,
Offset(0x2A8), //Offset(680),
SSS0, 4,
, 4,
SSS1, 4,
Offset(0x2AC), //Offset(684),
DET3, 4,
Offset(0x2B0), //Offset(688),
Offset(0x2B2), //Offset(690),
PRC3, 1,
}
OperationRegion(PMIO, SystemIO, 0x0CD6, 0x02)
Field(PMIO, ByteAcc, NoLock, Preserve)
{
INPM, 8,
DAPM, 8,
}
IndexField(INPM, DAPM, ByteAcc, NoLock, Preserve)
{
, 1,
TM1E, 1,
TM2E, 1,
, 5,
, 1,
TM1S, 1,
TM2S, 1,
Offset(0x4), //Offset(4),
, 7,
SLPS, 1,
Offset(0x7), //Offset(7),
, 7,
CLPS, 1,
Offset(0x10), //Offset(16),
, 6,
PWDE, 1,
Offset(0x1C), //Offset(28),
, 3,
MKME, 1,
PI3E, 1,
PI2E, 1,
PI1E, 1,
PI0E, 1,
, 3,
MKMS, 1,
PI3S, 1,
PI2S, 1,
PI1S, 1,
PI0S, 1,
Offset(0x20), //Offset(32),
P1EB, 16,
Offset(0x36), //Offset(54),
, 6,
GV6P, 1,
GV7P, 1,
, 3,
GM0P, 1,
GM1P, 1,
GM2P, 1,
GM3P, 1,
GM8P, 1,
, 1,
GM4P, 1,
GM5P, 1,
, 1,
GM6P, 1,
GM7P, 1,
Offset(0x3B), //Offset(59),
GPX0, 1,
GPX4, 1,
GPX5, 1,
GPX1, 1,
GPX6, 1,
GPX7, 1,
GPX2, 1,
GPX3, 1,
Offset(0x55), //Offset(85),
SPRE, 1,
, 1,
, 1,
EPNM, 1,
DPPF, 1,
FNGS, 1,
Offset(0x61), //Offset(97),
, 7,
R617, 1,
Offset(0x65), //Offset(101),
, 4,
RSTU, 1,
Offset(0x68), //Offset(104),
, 3,
TPDE, 1,
, 1,
Offset(0x92), //Offset(146),
, 7,
GV7S, 1,
Offset(0x96), //Offset(150),
GP8I, 1,
GP9I, 1,
Offset(0x9A), //Offset(154),
, 7,
HECO, 1,
Offset(0xA8), //Offset(168),
PI4E, 1,
PI5E, 1,
PI6E, 1,
PI7E, 1,
, 4,
PI4S, 1,
PI5S, 1,
PI6S, 1,
PI7S, 1,
}
OperationRegion(P1E0, SystemIO, P1EB, 0x04)
Field(P1E0, ByteAcc, NoLock, Preserve)
{
Offset(0x1), //Offset(1),
, 6,
PEWS, 1,
WSTA, 1,
Offset(0x3), //Offset(3),
, 6,
PEWD, 1,
}
Method(C_OC, 0, NotSerialized)
{
Sleep(0x14)
Store(0x13, CMID)
Store(Zero, GPCT)
}
Method(U_OC, 2, NotSerialized)
{
If(LEqual(OCM0, Arg0))
{
Store(Arg1, PT0D)
}
If(LEqual(OCM1, Arg0))
{
Store(Arg1, PT1D)
}
If(LEqual(OCM2, Arg0))
{
Store(Arg1, PT2D)
}
If(LEqual(OCM3, Arg0))
{
Store(Arg1, PT3D)
}
If(LEqual(OCM4, Arg0))
{
Store(Arg1, PT4D)
}
If(LEqual(OCM5, Arg0))
{
Store(Arg1, PT5D)
}
If(LEqual(OCM6, Arg0))
{
Store(Arg1, PT6D)
}
If(LEqual(OCM7, Arg0))
{
Store(Arg1, PT7D)
}
If(LEqual(OCM8, Arg0))
{
Store(Arg1, PT8D)
}
If(LEqual(OCM9, Arg0))
{
Store(Arg1, PT9D)
}
}
Method(SPTS, 1, NotSerialized)
{
If(LEqual(Arg0, 0x03))
{
Store(Zero, RSTU)
}
Store(One, CLPS)
Store(One, SLPS)
If(LLessEqual(RVID, 0x13))
{
Store(Zero, PWDE)
}
If(LEqual(P92T, Zero))
{
Store(Zero, PI0E)
}
If(LEqual(P92T, One))
{
Store(Zero, PI1E)
}
If(LEqual(P92T, 0x02))
{
Store(Zero, PI2E)
}
If(LEqual(P92T, 0x03))
{
Store(Zero, PI3E)
}
If(LEqual(P92T, 0x04))
{
Store(Zero, PI4E)
}
If(LEqual(P92T, 0x05))
{
Store(Zero, PI5E)
}
If(LEqual(P92T, 0x06))
{
Store(Zero, PI6E)
}
If(LEqual(P92T, 0x07))
{
Store(Zero, PI7E)
}
If(LLessEqual(P92T, 0x07))
{
Store(One, P92E)
}
}
OperationRegion(PMSO, SystemIO, 0x0800, 0x04)
Field(PMSO, ByteAcc, NoLock, Preserve)
{
Offset(0x1), //Offset(1),
, 2,
RTCS, 1,
, 4,
WAKS, 1,
, 8,
PWBT, 1,
, 7,
}
Method(SWAK, 1, NotSerialized)
{
If(LEqual(Arg0, 0x03))
{
If(RTCS) {}
Else
{
Notify(\_SB.PWRB, 0x02)
}
}
Store(One, HECO)
If(LEqual(Arg0, 0x03))
{
Store(One, RSTU)
}
Store(PEWS, PEWS)
If(LLessEqual(P92T, 0x07))
{
Store(Zero, P92E)
}
If(LEqual(P92T, Zero))
{
Store(One, PI0E)
}
If(LEqual(P92T, One))
{
Store(One, PI1E)
}
If(LEqual(P92T, 0x02))
{
Store(One, PI2E)
}
If(LEqual(P92T, 0x03))
{
Store(One, PI3E)
}
If(LEqual(P92T, 0x04))
{
Store(One, PI4E)
}
If(LEqual(P92T, 0x05))
{
Store(One, PI5E)
}
If(LEqual(P92T, 0x06))
{
Store(One, PI6E)
}
If(LEqual(P92T, 0x07))
{
Store(One, PI7E)
}
}
Method(TRMD, 1, NotSerialized)
{
Store(Arg0, SPRE)
Store(Arg0, TPDE)
}
If(OCC0)
{
Scope(_GPE)
{
Method(_L13, 0, NotSerialized)
{
C_OC()
If(LEqual(GP0I, GM0P))
{
Not(GM0P, GM0P)
U_OC(Zero, GM0P)
}
}
}
}
If(OCC1)
{
Scope(_GPE)
{
Method(_L14, 0, NotSerialized)
{
C_OC()
If(LEqual(GP1I, GM1P))
{
Not(GM1P, GM1P)
U_OC(One, GM1P)
}
}
}
}
If(OCC2)
{
Scope(_GPE)
{
Method(_L15, 0, NotSerialized)
{
C_OC()
If(LEqual(GP2I, GM2P))
{
Not(GM2P, GM2P)
U_OC(0x02, GM2P)
}
}
}
}
If(OCC3)
{
Scope(_GPE)
{
Method(_L16, 0, NotSerialized)
{
C_OC()
If(LEqual(GP3I, GM3P))
{
Not(GM3P, GM3P)
U_OC(0x03, GM3P)
}
}
}
}
If(OCC4)
{
Scope(_GPE)
{
Method(_L19, 0, NotSerialized)
{
C_OC()
If(LEqual(GP4I, GM4P))
{
Not(GM4P, GM4P)
U_OC(0x04, GM4P)
}
}
}
}
If(OCC5)
{
Scope(_GPE)
{
Method(_L1A, 0, NotSerialized)
{
C_OC()
If(LEqual(GP5I, GM5P))
{
Not(GM5P, GM5P)
U_OC(0x05, GM5P)
}
}
}
}
If(OCC6)
{
Scope(_GPE)
{
Method(_L1C, 0, NotSerialized)
{
C_OC()
If(LEqual(GP6I, GM6P))
{
Not(GV6P, GV6P)
U_OC(0x06, GV6P)
}
}
}
}
If(OCC7)
{
Scope(_GPE)
{
Method(_L1D, 0, NotSerialized)
{
C_OC()
If(LEqual(GP7I, GM7P))
{
Not(GV7P, GV7P)
U_OC(0x07, GV7P)
}
}
}
}
If(OCC8)
{
Scope(_GPE)
{
Method(_L17, 0, NotSerialized)
{
C_OC()
If(LEqual(GP8I, GM8P))
{
Not(GM8P, GM8P)
U_OC(0x08, GM8P)
}
}
}
}
If(OCC9)
{
Scope(_GPE)
{
Method(_L0E, 0, NotSerialized)
{
C_OC()
If(LEqual(GP9I, Zero))
{
U_OC(0x09, One)
}
}
}
}
Name(DP80, 0x80)
Name(DP90, 0x90)
Name(WKTP, Zero)
Name(SPIO, 0x2E)
Name(IOSB, 0x0A00)
Name(IOSL, 0x10)
Name(IOHB, 0x0220)
Name(IOHL, 0x10)
Name(UMRS, One)
Name(APIC, One)
Name(PMLN, 0xA0)
Name(GPBS, Zero)
Name(GPLN, Zero)
Name(SMBB, 0x0B10)
Name(SMBL, 0x10)
Name(PCIB, 0xE0000000)
Name(PCIL, 0x10000000)
Name(SMIT, 0xB0)
Name(CMRQ, 0xE0)
Name(CMER, 0xE1)
Name(CMOR, 0xE3)
Name(SMBA, 0x0B10)
Name(PMBS, 0x0800)
OperationRegion(BIOS, SystemMemory, 0x37FAE064, 0xFF)
Field(BIOS, ByteAcc, NoLock, Preserve)
{
SS1, 1,
SS2, 1,
SS3, 1,
SS4, 1,
, 4,
IOST, 16,
TOPM, 32,
ROMS, 32,
MG1B, 32,
MG1L, 32,
MG2B, 32,
MG2L, 32,
, 8,
DMAX, 8,
HPTA, 32,
CPB0, 32,
CPB1, 32,
CPB2, 32,
CPB3, 32,
ASSB, 8,
AOTB, 8,
AAXB, 32,
SMIF, 8,
DTSE, 8,
DTS1, 8,
DTS2, 8,
MPEN, 8,
TPMF, 8,
MG3B, 32,
MG3L, 32,
MH1B, 32,
MH1L, 32,
OSTP, 8,
}
Method(RRIO, 4, NotSerialized)
{
Store("RRIO", Debug)
}
Method(RDMA, 3, NotSerialized)
{
Store("rDMA", Debug)
}
Name(PICM, Zero)
Method(_PIC, 1, NotSerialized)
{
If(Arg0)
{
Store(0xAA, DBG8)
\_SB.IRQC()
}
Else
{
Store(0xAC, DBG8)
}
Store(Arg0, PICM)
}
Name(OSVR, Ones)
Method(OSFL, 0, NotSerialized)
{
If(LNotEqual(OSVR, Ones))
{
Return(OSVR)
}
Name(_T_0, Zero)
Store(OSYS(), _T_0)
If(LEqual(_T_0, One))
{
Store(0x03, OSVR)
}
Else
{
If(LEqual(_T_0, 0x10))
{
Store(One, OSVR)
}
Else
{
If(LEqual(_T_0, 0x11))
{
Store(0x02, OSVR)
}
Else
{
If(LEqual(_T_0, 0x12))
{
Store(0x04, OSVR)
}
Else
{
If(LEqual(_T_0, 0x13))
{
Store(Zero, OSVR)
}
Else
{
If(LEqual(_T_0, 0x14))
{
Store(Zero, OSVR)
}
Else
{
If(LEqual(_T_0, 0x15))
{
Store(Zero, OSVR)
}
}
}
}
}
}
}
Return(OSVR)
}
Method(MCTH, 2, NotSerialized)
{
If(LLess(SizeOf(Arg0), SizeOf(Arg1)))
{
Return(Zero)
}
Add(SizeOf(Arg0), One, Local0)
Name(BUF0, Buffer(Local0){})
Name(BUF1, Buffer(Local0){})
Store(Arg0, BUF0)
Store(Arg1, BUF1)
While(Local0)
{
Decrement(Local0)
If(LNotEqual(DerefOf(Index(BUF0, Local0)), DerefOf(Index(BUF1, Local0))))
{
Return(Zero)
}
}
Return(One)
}
Name(PRWP, Package(2) {Zero, Zero})
Method(GPRW, 2, NotSerialized)
{
Store(Arg0, Index(PRWP, Zero))
Store(ShiftLeft(SS1, One), Local0)
Or(Local0, ShiftLeft(SS2, 0x02), Local0)
Or(Local0, ShiftLeft(SS3, 0x03), Local0)
Or(Local0, ShiftLeft(SS4, 0x04), Local0)
If(And(ShiftLeft(One, Arg1), Local0))
{
Store(Arg1, Index(PRWP, One))
}
Else
{
ShiftRight(Local0, One, Local0)
If(LOr(LEqual(OSFL(), One), LEqual(OSFL(), 0x02)))
{
FindSetLeftBit(Local0, Index(PRWP, One))
}
Else
{
FindSetRightBit(Local0, Index(PRWP, One))
}
}
Return(PRWP)
}
Name(WAKP, Package(2) {Zero, Zero})
OperationRegion(DEB0, SystemIO, DP80, One)
Field(DEB0, ByteAcc, NoLock, Preserve)
{
DBG8, 8,
}
OperationRegion(DEB1, SystemIO, DP90, 0x02)
Field(DEB1, WordAcc, NoLock, Preserve)
{
DBG9, 16,
}
Method(OSYS, 0, NotSerialized)
{
Store(0x10, Local0)
If(CondRefOf(_OSI, Local1))
{
If(_OSI("Windows 2000"))
{
Store(0x12, Local0)
}
If(_OSI("Windows 2001"))
{
Store(0x13, Local0)
}
If(_OSI("Windows 2001 SP1"))
{
Store(0x13, Local0)
}
If(_OSI("Windows 2001 SP2"))
{
Store(0x13, Local0)
}
If(_OSI("Windows 2001.1"))
{
Store(0x14, Local0)
}
If(_OSI("Windows 2001.1 SP1"))
{
Store(0x14, Local0)
}
If(_OSI("Windows 2006"))
{
Store(0x15, Local0)
}
}
Else
{
If(MCTH(_OS, "Microsoft Windows NT"))
{
Store(0x12, Local0)
}
Else
{
If(MCTH(_OS, "Microsoft WindowsME: Millennium Edition"))
{
Store(0x11, Local0)
}
If(MCTH(_OS, "Linux"))
{
Store(One, Local0)
}
}
}
Return(Local0)
}
Scope(_PR)
{
Processor(P001,0x01,0x00000810,0x06) {}
Processor(P002,0x02,0x00000000,0x00) {}
Processor(P003,0x03,0x00000000,0x00) {}
Processor(P004,0x04,0x00000000,0x00) {}
Alias(P001, CPU1)
Alias(P002, CPU2)
Alias(P003, CPU3)
Alias(P004, CPU4)
}
Scope(_SB)
{
Name(PR00, Package(33)
{
Package(4) {0x0002FFFF, Zero, LNKC, Zero},
Package(4) {0x0002FFFF, One, LNKD, Zero},
Package(4) {0x0002FFFF, 0x02, LNKA, Zero},
Package(4) {0x0002FFFF, 0x03, LNKB, Zero},
Package(4) {0x0003FFFF, Zero, LNKD, Zero},
Package(4) {0x0003FFFF, One, LNKA, Zero},
Package(4) {0x0003FFFF, 0x02, LNKB, Zero},
Package(4) {0x0003FFFF, 0x03, LNKC, Zero},
Package(4) {0x0004FFFF, Zero, LNKA, Zero},
Package(4) {0x0004FFFF, One, LNKB, Zero},
Package(4) {0x0004FFFF, 0x02, LNKC, Zero},
Package(4) {0x0004FFFF, 0x03, LNKD, Zero},
Package(4) {0x0005FFFF, Zero, LNKB, Zero},
Package(4) {0x0005FFFF, One, LNKC, Zero},
Package(4) {0x0005FFFF, 0x02, LNKD, Zero},
Package(4) {0x0005FFFF, 0x03, LNKA, Zero},
Package(4) {0x0006FFFF, Zero, LNKC, Zero},
Package(4) {0x0006FFFF, One, LNKD, Zero},
Package(4) {0x0006FFFF, 0x02, LNKA, Zero},
Package(4) {0x0006FFFF, 0x03, LNKB, Zero},
Package(4) {0x0007FFFF, Zero, LNKD, Zero},
Package(4) {0x0007FFFF, One, LNKA, Zero},
Package(4) {0x0007FFFF, 0x02, LNKB, Zero},
Package(4) {0x0007FFFF, 0x03, LNKC, Zero},
Package(4) {0x0014FFFF, Zero, LNKA, Zero},
Package(4) {0x0014FFFF, One, LNKB, Zero},
Package(4) {0x0014FFFF, 0x02, LNKC, Zero},
Package(4) {0x0014FFFF, 0x03, LNKD, Zero},
Package(4) {0x0013FFFF, Zero, LNKA, Zero},
Package(4) {0x0013FFFF, One, LNKB, Zero},
Package(4) {0x0013FFFF, 0x02, LNKC, Zero},
Package(4) {0x0013FFFF, 0x03, LNKD, Zero},
Package(4) {0x0012FFFF, Zero, LNKG, Zero}
})
Name(AR00, Package(33)
{
Package(4) {0x0002FFFF, Zero, Zero, 0x12},
Package(4) {0x0002FFFF, One, Zero, 0x13},
Package(4) {0x0002FFFF, 0x02, Zero, 0x10},
Package(4) {0x0002FFFF, 0x03, Zero, 0x11},
Package(4) {0x0003FFFF, Zero, Zero, 0x13},
Package(4) {0x0003FFFF, One, Zero, 0x10},
Package(4) {0x0003FFFF, 0x02, Zero, 0x11},
Package(4) {0x0003FFFF, 0x03, Zero, 0x12},
Package(4) {0x0004FFFF, Zero, Zero, 0x10},
Package(4) {0x0004FFFF, One, Zero, 0x11},
Package(4) {0x0004FFFF, 0x02, Zero, 0x12},
Package(4) {0x0004FFFF, 0x03, Zero, 0x13},
Package(4) {0x0005FFFF, Zero, Zero, 0x11},
Package(4) {0x0005FFFF, One, Zero, 0x12},
Package(4) {0x0005FFFF, 0x02, Zero, 0x13},
Package(4) {0x0005FFFF, 0x03, Zero, 0x10},
Package(4) {0x0006FFFF, Zero, Zero, 0x12},
Package(4) {0x0006FFFF, One, Zero, 0x13},
Package(4) {0x0006FFFF, 0x02, Zero, 0x10},
Package(4) {0x0006FFFF, 0x03, Zero, 0x11},
Package(4) {0x0007FFFF, Zero, Zero, 0x13},
Package(4) {0x0007FFFF, One, Zero, 0x10},
Package(4) {0x0007FFFF, 0x02, Zero, 0x11},
Package(4) {0x0007FFFF, 0x03, Zero, 0x12},
Package(4) {0x0014FFFF, Zero, Zero, 0x10},
Package(4) {0x0014FFFF, One, Zero, 0x11},
Package(4) {0x0014FFFF, 0x02, Zero, 0x12},
Package(4) {0x0014FFFF, 0x03, Zero, 0x13},
Package(4) {0x0013FFFF, Zero, Zero, 0x10},
Package(4) {0x0013FFFF, One, Zero, 0x11},
Package(4) {0x0013FFFF, 0x02, Zero, 0x12},
Package(4) {0x0013FFFF, 0x03, Zero, 0x13},
Package(4) {0x0012FFFF, Zero, Zero, 0x16}
})
Name(PR01, Package(4)
{
Package(4) {0x0005FFFF, Zero, LNKC, Zero},
Package(4) {0x0005FFFF, One, LNKD, Zero},
Package(4) {0x0005FFFF, 0x02, LNKA, Zero},
Package(4) {0x0005FFFF, 0x03, LNKB, Zero}
})
Name(AR01, Package(4)
{
Package(4) {0x0005FFFF, Zero, Zero, 0x12},
Package(4) {0x0005FFFF, One, Zero, 0x13},
Package(4) {0x0005FFFF, 0x02, Zero, 0x10},
Package(4) {0x0005FFFF, 0x03, Zero, 0x11}
})
Name(PR02, Package(4)
{
Package(4) {0xFFFF, Zero, LNKC, Zero},
Package(4) {0xFFFF, One, LNKD, Zero},
Package(4) {0xFFFF, 0x02, LNKA, Zero},
Package(4) {0xFFFF, 0x03, LNKB, Zero}
})
Name(AR02, Package(4)
{
Package(4) {0xFFFF, Zero, Zero, 0x12},
Package(4) {0xFFFF, One, Zero, 0x13},
Package(4) {0xFFFF, 0x02, Zero, 0x10},
Package(4) {0xFFFF, 0x03, Zero, 0x11}
})
Name(PR03, Package(4)
{
Package(4) {0xFFFF, Zero, LNKD, Zero},
Package(4) {0xFFFF, One, LNKA, Zero},
Package(4) {0xFFFF, 0x02, LNKB, Zero},
Package(4) {0xFFFF, 0x03, LNKC, Zero}
})
Name(AR03, Package(4)
{
Package(4) {0xFFFF, Zero, Zero, 0x13},
Package(4) {0xFFFF, One, Zero, 0x10},
Package(4) {0xFFFF, 0x02, Zero, 0x11},
Package(4) {0xFFFF, 0x03, Zero, 0x12}
})
Name(PR04, Package(4)
{
Package(4) {0xFFFF, Zero, LNKA, Zero},
Package(4) {0xFFFF, One, LNKB, Zero},
Package(4) {0xFFFF, 0x02, LNKC, Zero},
Package(4) {0xFFFF, 0x03, LNKD, Zero}
})
Name(AR04, Package(4)
{
Package(4) {0xFFFF, Zero, Zero, 0x10},
Package(4) {0xFFFF, One, Zero, 0x11},
Package(4) {0xFFFF, 0x02, Zero, 0x12},
Package(4) {0xFFFF, 0x03, Zero, 0x13}
})
Name(PR05, Package(4)
{
Package(4) {0xFFFF, Zero, LNKB, Zero},
Package(4) {0xFFFF, One, LNKC, Zero},
Package(4) {0xFFFF, 0x02, LNKD, Zero},
Package(4) {0xFFFF, 0x03, LNKA, Zero}
})
Name(AR05, Package(4)
{
Package(4) {0xFFFF, Zero, Zero, 0x11},
Package(4) {0xFFFF, One, Zero, 0x12},
Package(4) {0xFFFF, 0x02, Zero, 0x13},
Package(4) {0xFFFF, 0x03, Zero, 0x10}
})
Name(PR06, Package(4)
{
Package(4) {0xFFFF, Zero, LNKC, Zero},
Package(4) {0xFFFF, One, LNKD, Zero},
Package(4) {0xFFFF, 0x02, LNKA, Zero},
Package(4) {0xFFFF, 0x03, LNKB, Zero}
})
Name(AR06, Package(4)
{
Package(4) {0xFFFF, Zero, Zero, 0x12},
Package(4) {0xFFFF, One, Zero, 0x13},
Package(4) {0xFFFF, 0x02, Zero, 0x10},
Package(4) {0xFFFF, 0x03, Zero, 0x11}
})
Name(PR07, Package(4)
{
Package(4) {0xFFFF, Zero, LNKD, Zero},
Package(4) {0xFFFF, One, LNKA, Zero},
Package(4) {0xFFFF, 0x02, LNKB, Zero},
Package(4) {0xFFFF, 0x03, LNKC, Zero}
})
Name(AR07, Package(4)
{
Package(4) {0xFFFF, Zero, Zero, 0x13},
Package(4) {0xFFFF, One, Zero, 0x10},
Package(4) {0xFFFF, 0x02, Zero, 0x11},
Package(4) {0xFFFF, 0x03, Zero, 0x12}
})
Name(PR0C, Package(8)
{
Package(4) {0x0002FFFF, Zero, LNKG, Zero},
Package(4) {0x0002FFFF, One, LNKH, Zero},
Package(4) {0x0002FFFF, 0x02, LNKE, Zero},
Package(4) {0x0002FFFF, 0x03, LNKF, Zero},
Package(4) {0x0003FFFF, Zero, LNKF, Zero},
Package(4) {0x0003FFFF, One, LNKG, Zero},
Package(4) {0x0003FFFF, 0x02, LNKH, Zero},
Package(4) {0x0003FFFF, 0x03, LNKE, Zero}
})
Name(AR0C, Package(8)
{
Package(4) {0x0002FFFF, Zero, Zero, 0x16},
Package(4) {0x0002FFFF, One, Zero, 0x17},
Package(4) {0x0002FFFF, 0x02, Zero, 0x14},
Package(4) {0x0002FFFF, 0x03, Zero, 0x15},
Package(4) {0x0003FFFF, Zero, Zero, 0x15},
Package(4) {0x0003FFFF, One, Zero, 0x16},
Package(4) {0x0003FFFF, 0x02, Zero, 0x17},
Package(4) {0x0003FFFF, 0x03, Zero, 0x14}
})
Name(PRSA, ResourceTemplate()
{
IRQ(Level, ActiveLow, Shared) {3, 4, 5, 7, 10, 11, 12, 14, 15}
})
Alias(PRSA, PRSB)
Alias(PRSA, PRSC)
Alias(PRSA, PRSD)
Alias(PRSA, PRSE)
Name(PRSF, ResourceTemplate()
{
IRQ(Level, ActiveLow, Shared) {9}
})
Alias(PRSA, PRSG)
Alias(PRSA, PRSH)
Device(PCI0)
{
Name(_HID, EISAID("PNP0A03"))
Name(_ADR, 0x00180000)
Method(^BN00, 0, NotSerialized)
{
Return(Zero)
}
Method(_BBN, 0, NotSerialized)
{
Return(BN00())
}
Name(_UID, Zero)
Method(_PRT, 0, NotSerialized)
{
If(PICM)
{
Return(AR00)
}
Return(PR00)
}
Method(NPTS, 1, NotSerialized)
{
}
Method(NWAK, 1, NotSerialized)
{
}
Device(RS48)
{
Name(_ADR, Zero)
Method(NB2S, 1, NotSerialized)
{
}
Method(NB2W, 1, NotSerialized)
{
}
}
Device(P0P1)
{
Name(_ADR, 0x00010000)
Method(_PRT, 0, NotSerialized)
{
If(PICM)
{
Return(AR01)
}
Return(PR01)
}
}
Device(PCE2)
{
Name(_ADR, 0x00020000)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x18, 0x04))
}
Method(_PRT, 0, NotSerialized)
{
If(PICM)
{
Return(AR02)
}
Return(PR02)
}
}
Device(PCE3)
{
Name(_ADR, 0x00030000)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x18, 0x04))
}
Method(_PRT, 0, NotSerialized)
{
If(PICM)
{
Return(AR03)
}
Return(PR03)
}
}
Device(PCE4)
{
Name(_ADR, 0x00040000)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x18, 0x04))
}
Method(_PRT, 0, NotSerialized)
{
If(PICM)
{
Return(AR04)
}
Return(PR04)
}
}
Device(PCE5)
{
Name(_ADR, 0x00050000)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x18, 0x04))
}
Method(_PRT, 0, NotSerialized)
{
If(PICM)
{
Return(AR05)
}
Return(PR05)
}
}
Device(PCE6)
{
Name(_ADR, 0x00060000)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x18, 0x04))
}
Method(_PRT, 0, NotSerialized)
{
If(PICM)
{
Return(AR06)
}
Return(PR06)
}
}
Device(PCE7)
{
Name(_ADR, 0x00070000)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x18, 0x04))
}
Method(_PRT, 0, NotSerialized)
{
If(PICM)
{
Return(AR07)
}
Return(PR07)
}
}
Device(SMBS)
{
Name(_ADR, 0x00140000)
OperationRegion(SMBS, PCI_Config, Zero, 0x0100)
Field(SMBS, AnyAcc, NoLock, Preserve)
{
Offset(0x8), //Offset(8),
REV, 8,
}
}
Device(IDEC)
{
Name(_ADR, 0x00140001)
Name(UDMT, Package(8) {0x78, 0x5A, 0x3C, 0x2D, 0x1E, 0x14, 0x0F, Zero})
Name(PIOT, Package(6) {0x0258, 0x0186, 0x010E, 0xB4, 0x78, Zero})
Name(PITR, Package(6) {0x99, 0x47, 0x34, 0x22, 0x20, 0x99})
Name(MDMT, Package(4) {0x01E0, 0x96, 0x78, Zero})
Name(MDTR, Package(4) {0x77, 0x21, 0x20, 0xFF})
OperationRegion(IDE, PCI_Config, 0x40, 0x20)
Field(IDE, AnyAcc, NoLock, Preserve)
{
PPIT, 16,
SPIT, 16,
PMDT, 16,
SMDT, 16,
PPIC, 8,
SPIC, 8,
PPIM, 8,
SPIM, 8,
Offset(0x14), //Offset(20),
PUDC, 2,
SUDC, 2,
Offset(0x16), //Offset(22),
PUDM, 8,
SUDM, 8,
}
Method(GETT, 1, NotSerialized)
{
Store(And(Arg0, 0x0F), Local0)
Store(ShiftRight(Arg0, 0x04), Local1)
Return(Multiply(0x1E, Add(Add(Local0, One), Add(Local1, One))))
}
Method(GTM, 1, NotSerialized)
{
CreateByteField(Arg0,Zero,PIT1)
CreateByteField(Arg0,One,PIT0)
CreateByteField(Arg0,0x02,MDT1)
CreateByteField(Arg0,0x03,MDT0)
CreateByteField(Arg0,0x04,PICX)
CreateByteField(Arg0,0x05,UDCX)
CreateByteField(Arg0,0x06,UDMX)
Name(BUF, Buffer(0x14)
{
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00
})
CreateDWordField(BUF, Zero, PIO0)
CreateDWordField(BUF, 0x04, DMA0)
CreateDWordField(BUF, 0x08, PIO1)
CreateDWordField(BUF, 0x0C, DMA1)
CreateDWordField(BUF, 0x10, FLAG)
If(And(PICX, One))
{
Return(BUF)
}
Store(GETT(PIT0), PIO0)
Store(GETT(PIT1), PIO1)
If(And(UDCX, One))
{
Or(FLAG, One, FLAG)
Store(DerefOf(Index(UDMT, And(UDMX, 0x0F))), DMA0)
}
Else
{
Store(GETT(MDT0), DMA0)
}
If(And(UDCX, 0x02))
{
Or(FLAG, 0x04, FLAG)
Store(DerefOf(Index(UDMT, ShiftRight(UDMX, 0x04))), DMA1)
}
Else
{
Store(GETT(MDT1), DMA1)
}
Or(FLAG, 0x1A, FLAG)
Return(BUF)
}
Method(STM, 3, NotSerialized)
{
CreateDWordField(Arg0, Zero, PIO0)
CreateDWordField(Arg0, 0x04, DMA0)
CreateDWordField(Arg0, 0x08, PIO1)
CreateDWordField(Arg0, 0x0C, DMA1)
CreateDWordField(Arg0, 0x10, FLAG)
Name(BUF, Buffer(0x07)
{
0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
})
CreateByteField(BUF,Zero,PIT1)
CreateByteField(BUF,One,PIT0)
CreateByteField(BUF,0x02,MDT1)
CreateByteField(BUF,0x03,MDT0)
CreateByteField(BUF,0x04,PIMX)
CreateByteField(BUF,0x05,UDCX)
CreateByteField(BUF,0x06,UDMX)
Store(Match(PIOT, MLE, PIO0, MTR, Zero, Zero), Local0)
Divide(Local0, 0x05, Local0, )
Store(Match(PIOT, MLE, PIO1, MTR, Zero, Zero), Local1)
Divide(Local1, 0x05, Local1, )
Store(Or(ShiftLeft(Local1, 0x04), Local0), PIMX)
Store(DerefOf(Index(PITR, Local0)), PIT0)
Store(DerefOf(Index(PITR, Local1)), PIT1)
If(And(FLAG, One))
{
Store(Match(UDMT, MLE, DMA0, MTR, Zero, Zero), Local0)
Divide(Local0, 0x07, Local0, )
Or(UDMX, Local0, UDMX)
Or(UDCX, One, UDCX)
}
Else
{
If(LNotEqual(DMA0, Ones))
{
Store(Match(MDMT, MLE, DMA0, MTR, Zero, Zero), Local0)
Store(DerefOf(Index(MDTR, Local0)), MDT0)
}
}
If(And(FLAG, 0x04))
{
Store(Match(UDMT, MLE, DMA1, MTR, Zero, Zero), Local0)
Divide(Local0, 0x07, Local0, )
Or(UDMX, ShiftLeft(Local0, 0x04), UDMX)
Or(UDCX, 0x02, UDCX)
}
Else
{
If(LNotEqual(DMA1, Ones))
{
Store(Match(MDMT, MLE, DMA1, MTR, Zero, Zero), Local0)
Store(DerefOf(Index(MDTR, Local0)), MDT1)
}
}
Return(BUF)
}
Method(GTF, 2, NotSerialized)
{
CreateByteField(Arg1,Zero,MDT1)
CreateByteField(Arg1,One,MDT0)
CreateByteField(Arg1,0x02,PIMX)
CreateByteField(Arg1,0x03,UDCX)
CreateByteField(Arg1,0x04,UDMX)
If(LEqual(Arg0, 0xA0))
{
Store(And(PIMX, 0x0F), Local0)
Store(MDT0, Local1)
And(UDCX, One, Local2)
Store(And(UDMX, 0x0F), Local3)
}
Else
{
Store(ShiftRight(PIMX, 0x04), Local0)
Store(MDT1, Local1)
And(UDCX, 0x02, Local2)
Store(ShiftRight(UDMX, 0x04), Local3)
}
Name(BUF, Buffer(0x15)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x03,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF5
})
CreateByteField(BUF,One,PMOD)
CreateByteField(BUF,0x08,DMOD)
CreateByteField(BUF,0x05,CMDA)
CreateByteField(BUF,0x0C,CMDB)
CreateByteField(BUF,0x13,CMDC)
Store(Arg0, CMDA)
Store(Arg0, CMDB)
Store(Arg0, CMDC)
Or(Local0, 0x08, PMOD)
If(Local2)
{
Or(Local3, 0x40, DMOD)
}
Else
{
Store(Match(MDMT, MLE, GETT(Local1), MTR, Zero, Zero), Local4)
If(LLess(Local4, 0x03))
{
Or(0x20, Local4, DMOD)
}
}
Return(BUF)
}
Device(PRID)
{
Name(_ADR, Zero)
Method(_GTM, 0, NotSerialized)
{
Name(BUF, Buffer(0x07)
{
0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
})
CreateWordField(BUF, Zero, VPIT)
CreateWordField(BUF, 0x02, VMDT)
CreateByteField(BUF,0x04,VPIC)
CreateByteField(BUF,0x05,VUDC)
CreateByteField(BUF,0x06,VUDM)
Store(PPIT, VPIT)
Store(PMDT, VMDT)
Store(PPIC, VPIC)
Store(PUDC, VUDC)
Store(PUDM, VUDM)
Return(GTM(BUF))
}
Method(_STM, 3, NotSerialized)
{
Name(BUF, Buffer(0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
CreateWordField(BUF, Zero, VPIT)
CreateWordField(BUF, 0x02, VMDT)
CreateByteField(BUF,0x04,VPIM)
CreateByteField(BUF,0x05,VUDC)
CreateByteField(BUF,0x06,VUDM)
Store(STM(Arg0, Arg1, Arg2), BUF)
Store(VPIT, PPIT)
Store(VMDT, PMDT)
Store(VPIM, PPIM)
Store(VUDC, PUDC)
Store(VUDM, PUDM)
}
Device(P_D0)
{
Name(_ADR, Zero)
Method(_GTF, 0, NotSerialized)
{
Name(BUF, Buffer(0x05)
{
0x00, 0x00, 0x00, 0x00, 0x00
})
CreateWordField(BUF, Zero, VMDT)
CreateByteField(BUF,0x02,VPIM)
CreateByteField(BUF,0x03,VUDC)
CreateByteField(BUF,0x04,VUDM)
Store(PMDT, VMDT)
Store(PPIM, VPIM)
Store(PUDC, VUDC)
Store(PUDM, VUDM)
Return(GTF(0xA0, BUF))
}
}
Device(P_D1)
{
Name(_ADR, One)
Method(_GTF, 0, NotSerialized)
{
Name(BUF, Buffer(0x05)
{
0x00, 0x00, 0x00, 0x00, 0x00
})
CreateWordField(BUF, Zero, VMDT)
CreateByteField(BUF,0x02,VPIM)
CreateByteField(BUF,0x03,VUDC)
CreateByteField(BUF,0x04,VUDM)
Store(PMDT, VMDT)
Store(PPIM, VPIM)
Store(PUDC, VUDC)
Store(PUDM, VUDM)
Return(GTF(0xB0, BUF))
}
}
}
Device(SECD)
{
Name(_ADR, One)
Method(_GTM, 0, NotSerialized)
{
Name(BUF, Buffer(0x07)
{
0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
})
CreateWordField(BUF, Zero, VPIT)
CreateWordField(BUF, 0x02, VMDT)
CreateByteField(BUF,0x04,VPIC)
CreateByteField(BUF,0x05,VUDC)
CreateByteField(BUF,0x06,VUDM)
Store(SPIT, VPIT)
Store(SMDT, VMDT)
Store(SPIC, VPIC)
Store(SUDC, VUDC)
Store(SUDM, VUDM)
Return(GTM(BUF))
}
Method(_STM, 3, NotSerialized)
{
Name(BUF, Buffer(0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
CreateWordField(BUF, Zero, VPIT)
CreateWordField(BUF, 0x02, VMDT)
CreateByteField(BUF,0x04,VPIM)
CreateByteField(BUF,0x05,VUDC)
CreateByteField(BUF,0x06,VUDM)
Store(STM(Arg0, Arg1, Arg2), BUF)
Store(VPIT, SPIT)
Store(VMDT, SMDT)
Store(VPIM, SPIM)
Store(VUDC, SUDC)
Store(VUDM, SUDM)
}
Device(S_D0)
{
Name(_ADR, Zero)
Method(_GTF, 0, NotSerialized)
{
Name(BUF, Buffer(0x05)
{
0x00, 0x00, 0x00, 0x00, 0x00
})
CreateWordField(BUF, Zero, VMDT)
CreateByteField(BUF,0x02,VPIM)
CreateByteField(BUF,0x03,VUDC)
CreateByteField(BUF,0x04,VUDM)
Store(SMDT, VMDT)
Store(SPIM, VPIM)
Store(SUDC, VUDC)
Store(SUDM, VUDM)
Return(GTF(0xA0, BUF))
}
}
Device(S_D1)
{
Name(_ADR, One)
Method(_GTF, 0, NotSerialized)
{
Name(BUF, Buffer(0x05)
{
0x00, 0x00, 0x00, 0x00, 0x00
})
CreateWordField(BUF, Zero, VMDT)
CreateByteField(BUF,0x02,VPIM)
CreateByteField(BUF,0x03,VUDC)
CreateByteField(BUF,0x04,VUDM)
Store(SMDT, VMDT)
Store(SPIM, VPIM)
Store(SUDC, VUDC)
Store(SUDM, VUDM)
Return(GTF(0xB0, BUF))
}
}
}
}
Device(SBAZ)
{
Name(_ADR, 0x00140002)
OperationRegion(PCI, PCI_Config, Zero, 0x0100)
Field(PCI, AnyAcc, NoLock, Preserve)
{
Offset(0x42), //Offset(66),
DNSP, 1,
DNSO, 1,
ENSR, 1,
}
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x1B, 0x04))
}
}
Device(SBRG)
{
Name(_ADR, 0x00140003)
Device(PIC)
{
Name(_HID, EISAID("PNP0000"))
Name(_CRS, ResourceTemplate()
{
IO(Decode16, 0x0020, 0x0020, 0x00, 0x02)
IO(Decode16, 0x00A0, 0x00A0, 0x00, 0x02)
IRQNoFlags() {2}
})
}
Device(DMAD)
{
Name(_HID, EISAID("PNP0200"))
Name(_CRS, ResourceTemplate()
{
DMA(Compatibility, BusMaster, Transfer8) {4}
IO(Decode16, 0x0000, 0x0000, 0x00, 0x10)
IO(Decode16, 0x0081, 0x0081, 0x00, 0x03)
IO(Decode16, 0x0087, 0x0087, 0x00, 0x01)
IO(Decode16, 0x0089, 0x0089, 0x00, 0x03)
IO(Decode16, 0x008F, 0x008F, 0x00, 0x01)
IO(Decode16, 0x00C0, 0x00C0, 0x00, 0x20)
})
}
Device(TMR)
{
Name(_HID, EISAID("PNP0100"))
Name(_CRS, ResourceTemplate()
{
IO(Decode16, 0x0040, 0x0040, 0x00, 0x04)
IRQNoFlags() {0}
})
}
Device(RTC0)
{
Name(_HID, EISAID("PNP0B00"))
Name(_CRS, ResourceTemplate()
{
IO(Decode16, 0x0070, 0x0070, 0x00, 0x02)
IRQNoFlags() {8}
})
}
Device(SPKR)
{
Name(_HID, EISAID("PNP0800"))
Name(_CRS, ResourceTemplate()
{
IO(Decode16, 0x0061, 0x0061, 0x00, 0x01)
})
}
Device(COPR)
{
Name(_HID, EISAID("PNP0C04"))
Name(_CRS, ResourceTemplate()
{
IO(Decode16, 0x00F0, 0x00F0, 0x00, 0x10)
IRQNoFlags() {13}
})
}
Device(UAR1)
{
Name(_UID, One)
Name(_HID, EISAID("PNP0501"))
Method(_STA, 0, NotSerialized)
{
Return(DSTA(Zero))
}
Method(_DIS, 0, NotSerialized)
{
DCNT(Zero, Zero)
}
Method(_CRS, 0, NotSerialized)
{
Return(DCRS(Zero, Zero))
}
Method(_SRS, 1, NotSerialized)
{
DSRS(Arg0, Zero)
}
Method(_PRS, 0, NotSerialized)
{
Return(CMPR)
}
Name(CMPR, ResourceTemplate()
{
StartDependentFn(0, 0)
{
IO(Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags() {4}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
EndDependentFn()
})
}
Device(UAR2)
{
Name(_UID, 0x02)
Method(_HID, 0, NotSerialized)
{
Return(UHID(One))
}
Method(_STA, 0, NotSerialized)
{
Return(DSTA(One))
}
Method(_DIS, 0, NotSerialized)
{
DCNT(One, Zero)
}
Method(_CRS, 0, NotSerialized)
{
Return(DCRS(One, One))
}
Method(_SRS, 1, NotSerialized)
{
DSRS(Arg0, One)
}
Method(_PRS, 0, NotSerialized)
{
Return(CMPR)
}
Name(CMPR, ResourceTemplate()
{
StartDependentFn(0, 0)
{
IO(Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags() {3}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {0, 1, 2, 3}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {0, 1, 2, 3}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {0, 1, 2, 3}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {0, 1, 2, 3}
}
EndDependentFn()
})
}
Device(FDC)
{
Name(_HID, EISAID("PNP0700"))
Method(_FDE, 0, NotSerialized)
{
Name(FDEP, Package(5) {Zero, Zero, 0x02, 0x02, 0x02})
If(_STA())
{
Store(One, Index(FDEP, Zero))
}
Return(FDEP)
}
Method(_STA, 0, NotSerialized)
{
Return(DSTA(0x03))
}
Method(_DIS, 0, NotSerialized)
{
DCNT(0x03, Zero)
}
Method(_CRS, 0, NotSerialized)
{
DCRS(0x03, One)
Store(IRQM, IRQE)
Store(DMAM, DMAE)
Store(IO11, IO21)
Store(IO12, IO22)
Store(0x06, LEN2)
Add(IO21, 0x07, IO31)
Store(IO31, IO32)
Store(One, LEN3)
Return(CRS2)
}
Method(_SRS, 1, NotSerialized)
{
DSRS(Arg0, 0x03)
CreateWordField(Arg0, 0x11, IRQE)
CreateByteField(Arg0,0x14,DMAE)
ENFG(CGLD(0x03))
If(IRQE)
{
FindSetRightBit(IRQE, Local0)
Subtract(Local0, One, INTR)
}
Else
{
Store(Zero, INTR)
}
If(DMAE)
{
FindSetRightBit(DMAE, Local0)
Subtract(Local0, One, DMCH)
}
Else
{
Store(0x04, DMCH)
}
EXFG()
}
Name(_PRS, ResourceTemplate()
{
StartDependentFn(0, 0)
{
IO(Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO(Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQNoFlags() {6}
DMA(Compatibility, NotBusMaster, Transfer8) {2}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO(Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {0, 1, 2, 3}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x0370, 0x0370, 0x01, 0x06)
IO(Decode16, 0x0377, 0x0377, 0x01, 0x01)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {0, 1, 2, 3}
}
EndDependentFn()
})
}
Device(LPTE)
{
Method(_HID, 0, NotSerialized)
{
If(LPTM(0x02))
{
Return(EISAID("PNP0401"))
}
Else
{
Return(EISAID("PNP0400"))
}
}
Method(_STA, 0, NotSerialized)
{
Return(DSTA(0x02))
}
Method(_DIS, 0, NotSerialized)
{
DCNT(0x02, Zero)
}
Method(_CRS, 0, NotSerialized)
{
DCRS(0x02, One)
If(LPTM(0x02))
{
Store(IRQM, IRQE)
Store(DMAM, DMAE)
Store(IO11, IO21)
Store(IO12, IO22)
Store(LEN1, LEN2)
Add(IO21, 0x0400, IO31)
Store(IO31, IO32)
Store(LEN2, LEN3)
Return(CRS2)
}
Else
{
Return(CRS1)
}
}
Method(_SRS, 1, NotSerialized)
{
DSRS(Arg0, 0x02)
}
Method(_PRS, 0, NotSerialized)
{
If(LPTM(0x02))
{
Return(EPPR)
}
Else
{
Return(LPPR)
}
}
Name(LPPR, ResourceTemplate()
{
StartDependentFnNoPri()
{
IO(Decode16, 0x0378, 0x0378, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x0278, 0x0278, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {}
}
EndDependentFn()
})
Name(EPPR, ResourceTemplate()
{
StartDependentFn(0, 0)
{
IO(Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO(Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags() {7}
DMA(Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO(Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {0, 1, 2, 3}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO(Decode16, 0x0678, 0x0678, 0x01, 0x08)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {0, 1, 2, 3}
}
StartDependentFnNoPri()
{
IO(Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO(Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags() {3, 4, 5, 6, 7, 10, 11, 12}
DMA(Compatibility, NotBusMaster, Transfer8) {0, 1, 2, 3}
}
EndDependentFn()
})
}
Device(HPET)
{
Name(_HID, EISAID("PNP0103"))
Name(CRS, ResourceTemplate()
{
Memory32Fixed(ReadOnly, 0xFED00000, 0x00000400)
})
Method(_STA, 0, NotSerialized)
{
If(HPBS)
{
If(LEqual(OSFL(), 0x04))
{
Return(Zero)
}
Else
{
Return(0x0F)
}
}
Else
{
Return(Zero)
}
}
Method(_CRS, 0, NotSerialized)
{
CreateDWordField(CRS, 0x04, HPT)
Store(HPBS, HPT)
Return(CRS)
}
}
Device(^PCIE)
{
Name(_HID, EISAID("PNP0C02"))
Name(_UID, 0x11)
Name(CRS, ResourceTemplate()
{
Memory32Fixed(ReadOnly, 0xE0000000, 0x10000000)
})
Method(_CRS, 0, NotSerialized)
{
CreateDWordField(CRS, 0x04, BAS1)
CreateDWordField(CRS, 0x08, LEN1)
Store(PCIB, BAS1)
Store(PCIL, LEN1)
Return(CRS)
}
}
Device(OMSC)
{
Name(_HID, EISAID("PNP0C02"))
Name(_UID, Zero)
Name(CRS, ResourceTemplate()
{
IO(Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO(Decode16, 0x0000, 0x0000, 0x00, 0x00)
Memory32Fixed(ReadOnly, 0x00000000, 0x00000000)
Memory32Fixed(ReadOnly, 0x00000000, 0x00000000)
})
Name(CRS1, ResourceTemplate()
{
FixedIO(0x0060, 0x01)
FixedIO(0x0064, 0x01)
Memory32Fixed(ReadOnly, 0x00000000, 0x00000000)
Memory32Fixed(ReadOnly, 0x00000000, 0x00000000)
})
Method(_CRS, 0, NotSerialized)
{
ShiftLeft(One, 0x0A, Local0)
ShiftLeft(One, 0x0C, Local1)
Store(And(IOST, Local0), Local0)
Store(And(IOST, Local1), Local1)
ShiftRight(Local0, 0x0A, Local0)
ShiftRight(Local1, 0x0C, Local1)
Or(Local0, Local1, Local0)
Store(LNot(Local0), Local0)
If(Local0)
{
CreateByteField(CRS,0x02,KI60)
CreateByteField(CRS,0x04,KM60)
CreateByteField(CRS,0x07,KL60)
Store(0x60, KI60)
Store(0x60, KM60)
Store(One, KL60)
CreateByteField(CRS,0x0A,KI64)
CreateByteField(CRS,0x0C,KM64)
CreateByteField(CRS,0x0F,KL64)
Store(0x64, KI64)
Store(0x64, KM64)
Store(One, KL64)
}
If(APIC)
{
CreateDWordField(CRS, 0x18, ML01)
CreateDWordField(CRS, 0x14, MB01)
CreateDWordField(CRS, 0x24, ML02)
CreateDWordField(CRS, 0x20, MB02)
Store(0xFEC00000, MB01)
Store(0x1000, ML01)
Store(0xFEE00000, MB02)
Store(0x1000, ML02)
CreateDWordField(CRS1, 0x10, ML03)
CreateDWordField(CRS1, 0x0C, MB03)
CreateDWordField(CRS1, 0x1C, ML04)
CreateDWordField(CRS1, 0x18, MB04)
Store(0xFEC00000, MB03)
Store(0x1000, ML03)
Store(0xFEE00000, MB04)
Store(0x1000, ML04)
}
ShiftLeft(0x05, 0x0A, Local0)
If(And(IOST, Local0))
{
Return(CRS)
}
Else
{
Return(CRS1)
}
}
}
Device(^^RMEM)
{
Name(_HID, EISAID("PNP0C01"))
Name(_UID, One)
Name(CRS, ResourceTemplate()
{
Memory32Fixed(ReadWrite, 0x00000000, 0x000A0000)
Memory32Fixed(ReadOnly, 0x00000000, 0x00000000)
Memory32Fixed(ReadOnly, 0x000E0000, 0x00020000)
Memory32Fixed(ReadWrite, 0x00100000, 0x00000000)
Memory32Fixed(ReadOnly, 0x00000000, 0x00000000)
})
Method(_CRS, 0, NotSerialized)
{
CreateDWordField(CRS, 0x10, BAS1)
CreateDWordField(CRS, 0x14, LEN1)
CreateDWordField(CRS, 0x1C, BAS2)
CreateDWordField(CRS, 0x20, LEN2)
CreateDWordField(CRS, 0x2C, LEN3)
CreateDWordField(CRS, 0x34, BAS4)
CreateDWordField(CRS, 0x38, LEN4)
If(OSFL()) {}
Else
{
If(MG1B)
{
If(LGreater(MG1B, 0x000C0000))
{
Store(0x000C0000, BAS1)
Subtract(MG1B, BAS1, LEN1)
}
}
Else
{
Store(0x000C0000, BAS1)
Store(0x00020000, LEN1)
}
If(Add(MG1B, MG1L, Local0))
{
Store(Local0, BAS2)
Subtract(0x00100000, BAS2, LEN2)
}
}
Subtract(MG2B, 0x00100000, LEN3)
Store(MH1B, BAS4)
Subtract(Zero, BAS4, LEN4)
Return(CRS)
}
}
Device(RMSC)
{
Name(_HID, EISAID("PNP0C02"))
Name(_UID, 0x10)
Name(CRS, ResourceTemplate()
{
IO(Decode16, 0x0010, 0x0010, 0x00, 0x10)
IO(Decode16, 0x0022, 0x0022, 0x00, 0x1E)
IO(Decode16, 0x0062, 0x0062, 0x00, 0x02)
IO(Decode16, 0x0065, 0x0065, 0x00, 0x0B)
IO(Decode16, 0x0072, 0x0072, 0x00, 0x0E)
IO(Decode16, 0x0080, 0x0080, 0x00, 0x01)
IO(Decode16, 0x0084, 0x0084, 0x00, 0x03)
IO(Decode16, 0x0088, 0x0088, 0x00, 0x01)
IO(Decode16, 0x008C, 0x008C, 0x00, 0x03)
IO(Decode16, 0x0090, 0x0090, 0x00, 0x10)
IO(Decode16, 0x00A2, 0x00A2, 0x00, 0x1E)
IO(Decode16, 0x00B1, 0x00B1, 0x00, 0x01)
IO(Decode16, 0x00E0, 0x00E0, 0x00, 0x10)
IO(Decode16, 0x04D0, 0x04D0, 0x00, 0x02)
IO(Decode16, 0x040B, 0x040B, 0x00, 0x01)
IO(Decode16, 0x04D6, 0x04D6, 0x00, 0x01)
IO(Decode16, 0x0C00, 0x0C00, 0x00, 0x02)
IO(Decode16, 0x0C14, 0x0C14, 0x00, 0x01)
IO(Decode16, 0x0C50, 0x0C50, 0x00, 0x02)
IO(Decode16, 0x0C52, 0x0C52, 0x00, 0x01)
IO(Decode16, 0x0C6C, 0x0C6C, 0x00, 0x01)
IO(Decode16, 0x0C6F, 0x0C6F, 0x00, 0x01)
IO(Decode16, 0x0CD0, 0x0CD0, 0x00, 0x02)
IO(Decode16, 0x0CD2, 0x0CD2, 0x00, 0x02)
IO(Decode16, 0x0CD4, 0x0CD4, 0x00, 0x02)
IO(Decode16, 0x0CD6, 0x0CD6, 0x00, 0x02)
IO(Decode16, 0x0CD8, 0x0CD8, 0x00, 0x08)
IO(Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO(Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO(Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO(Decode16, 0x0900, 0x0900, 0x00, 0x10)
IO(Decode16, 0x0910, 0x0910, 0x00, 0x10)
IO(Decode16, 0xFE00, 0xFE00, 0x00, 0xFF)
Memory32Fixed(ReadOnly, 0xFFB80000, 0x00080000)
})
Method(_CRS, 0, NotSerialized)
{
CreateWordField(CRS, 0xDA, GP00)
CreateWordField(CRS, 0xDC, GP01)
CreateByteField(CRS,0xDF,GP0L)
Store(PMBS, GP00)
Store(PMBS, GP01)
Store(PMLN, GP0L)
If(SMBB)
{
CreateWordField(CRS, 0xE2, GP10)
CreateWordField(CRS, 0xE4, GP11)
CreateByteField(CRS,0xE7,GP1L)
Store(SMBB, GP10)
Store(SMBB, GP11)
Store(SMBL, GP1L)
}
If(GPBS)
{
CreateWordField(CRS, 0xEA, GP20)
CreateWordField(CRS, 0xEC, GP21)
CreateByteField(CRS,0xEF,GP2L)
Store(GPBS, GP20)
Store(GPBS, GP21)
Store(GPLN, GP2L)
}
Return(CRS)
}
}
Device(PS2K)
{
Name(_HID, EISAID("PNP0303"))
Name(_CID, EISAID("PNP030B"))
Method(_STA, 0, NotSerialized)
{
ShiftLeft(One, 0x0A, Local0)
If(And(IOST, Local0))
{
Return(0x0F)
}
Return(Zero)
}
Name(_CRS, ResourceTemplate()
{
IO(Decode16, 0x0060, 0x0060, 0x00, 0x01)
IO(Decode16, 0x0064, 0x0064, 0x00, 0x01)
IRQNoFlags() {1}
})
}
Method(PS2K._PRW, 0, NotSerialized)
{
Return(GPRW(0x03, 0x03))
}
Device(PS2M)
{
Name(_HID, EISAID("PNP0F03"))
Name(_CID, EISAID("PNP0F13"))
Method(_STA, 0, NotSerialized)
{
ShiftLeft(One, 0x0C, Local0)
If(And(IOST, Local0))
{
Return(0x0F)
}
Return(Zero)
}
Name(M2R0, ResourceTemplate()
{
IRQNoFlags() {12}
})
Name(M2R1, ResourceTemplate()
{
FixedIO(0x0060, 0x01)
FixedIO(0x0064, 0x01)
IRQNoFlags() {12}
})
Method(_CRS, 0, NotSerialized)
{
ShiftLeft(One, 0x0A, Local0)
If(And(IOST, Local0))
{
Return(M2R0)
}
Else
{
Return(M2R1)
}
}
}
Method(PS2M._PRW, 0, NotSerialized)
{
Return(GPRW(0x03, 0x03))
}
Device(SIOR)
{
Name(_HID, EISAID("PNP0C02"))
Method(_UID, 0, NotSerialized)
{
Return(SPIO)
}
Name(CRS, ResourceTemplate()
{
IO(Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO(Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO(Decode16, 0x0000, 0x0000, 0x00, 0x00)
})
Method(_CRS, 0, NotSerialized)
{
If(LAnd(LNotEqual(SPIO, 0x03F0), LGreater(SPIO, 0xF0)))
{
CreateWordField(CRS, 0x02, GP10)
CreateWordField(CRS, 0x04, GP11)
CreateByteField(CRS,0x07,GPL1)
Store(SPIO, GP10)
Store(SPIO, GP11)
Store(0x02, GPL1)
}
If(IOSB)
{
CreateWordField(CRS, 0x0A, GP20)
CreateWordField(CRS, 0x0C, GP21)
CreateByteField(CRS,0x0F,GPL2)
Store(IOSB, GP20)
Store(IOSB, GP21)
Store(IOSL, GPL2)
}
If(IOHB)
{
CreateWordField(CRS, 0x12, GP30)
CreateWordField(CRS, 0x14, GP31)
CreateByteField(CRS,0x17,GPL3)
Store(IOHB, GP30)
Store(IOHB, GP31)
Store(IOHL, GPL3)
}
Return(CRS)
}
}
Name(DCAT, Package(22)
{
0x02, 0x03, One, Zero, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x09, 0xFF, 0xFF, 0xFF, 0xFF
})
Method(ENFG, 1, NotSerialized)
{
Store(0x87, INDX)
Store(0x87, INDX)
Store(Arg0, LDN)
}
Method(EXFG, 0, NotSerialized)
{
Store(0xAA, INDX)
}
Method(LPTM, 1, NotSerialized)
{
ENFG(CGLD(Arg0))
And(OPT0, 0x02, Local0)
EXFG()
Return(Local0)
}
Method(UHID, 1, NotSerialized)
{
If(LEqual(Arg0, One))
{
ENFG(CGLD(Arg0))
And(OPT1, 0x38, Local0)
EXFG()
If(Local0)
{
Return(EISAID("PNP0510"))
}
}
Return(EISAID("PNP0501"))
}
Method(SIOK, 1, NotSerialized)
{
ENFG(0x0A)
And(0xFF, OPT3, OPT3)
And(Arg0, One, Local0)
Or(OPT2, Local0, OPT2)
Store(And(Arg0, One), ACTR)
EXFG()
}
Name(KBFG, One)
Name(MSFG, One)
Name(U1FG, One)
Name(U2FG, One)
OperationRegion(KBRW, SystemIO, 0x60, 0x05)
Field(KBRW, ByteAcc, NoLock, Preserve)
{
KP60, 8,
Offset(0x4), //Offset(4),
KP64, 8,
}
OperationRegion(KB64, SystemIO, 0x64, One)
Field(KB64, ByteAcc, NoLock, Preserve)
{
, 1,
KRDY, 1,
, 6,
}
Method(PS2K._PSW, 1, NotSerialized)
{
If(LNot(LOr(LEqual(OSFL(), One), LEqual(OSFL(), 0x02))))
{
If(Arg0)
{
Store(One, KBFG)
}
Else
{
Store(Zero, KBFG)
}
}
}
Method(PS2M._PSW, 1, NotSerialized)
{
If(LNot(LOr(LEqual(OSFL(), One), LEqual(OSFL(), 0x02))))
{
If(Arg0)
{
Store(One, MSFG)
}
Else
{
Store(Zero, MSFG)
}
}
}
Method(SIOS, 1, NotSerialized)
{
Store("SIOS", Debug)
And(CRE0, 0x1F, CRE0)
If(LEqual(Arg0, One))
{
SIOK(Ones)
ENFG(0x0A)
If(KBFG)
{
Or(OPT6, 0x10, OPT6)
}
If(MSFG)
{
Or(OPT6, 0x20, OPT6)
}
EXFG()
}
If(LOr(LEqual(Arg0, 0x03), LEqual(Arg0, 0x04)))
{
If(WKTP)
{
SIOK(Ones)
ENFG(0x0A)
If(KBFG)
{
Or(OPT6, 0x10, OPT6)
}
If(MSFG)
{
Or(OPT6, 0x20, OPT6)
}
EXFG()
}
Else
{
ENFG(0x0A)
If(KBFG)
{
Or(CRE0, 0x41, CRE0)
}
If(MSFG)
{
Or(CRE0, 0x22, CRE0)
Or(CRE6, 0x80, CRE6)
}
EXFG()
}
}
}
Method(SIOW, 1, NotSerialized)
{
Store("SIOW", Debug)
SIOK(Zero)
ENFG(0x0A)
And(OPT6, 0xCF, OPT6)
And(OPT2, 0xFE, OPT2)
And(CRE0, 0x1D, CRE0)
And(CRE6, 0x7F, CRE6)
EXFG()
}
Method(SIOH, 0, NotSerialized)
{
Store("SIOH", Debug)
ENFG(0x0A)
If(And(OPT3, 0x10))
{
Notify(PS2K, 0x02)
}
If(And(OPT3, 0x20))
{
Notify(PS2M, 0x02)
}
SIOK(Zero)
}
OperationRegion(IOID, SystemIO, SPIO, 0x02)
Field(IOID, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8,
}
IndexField(INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset(0x7), //Offset(7),
LDN, 8,
Offset(0x22), //Offset(34),
FDCP, 1,
, 2,
LPTP, 1,
URAP, 1,
URBP, 1,
Offset(0x30), //Offset(48),
ACTR, 8,
Offset(0x60), //Offset(96),
IOAH, 8,
IOAL, 8,
IOH2, 8,
IOL2, 8,
Offset(0x70), //Offset(112),
INTR, 8,
Offset(0x74), //Offset(116),
DMCH, 8,
Offset(0xE0), //Offset(224),
CRE0, 8,
CRE1, 8,
CRE2, 8,
CRE3, 8,
CRE4, 8,
CRE5, 8,
CRE6, 8,
Offset(0xF0), //Offset(240),
OPT0, 8,
OPT1, 8,
OPT2, 8,
OPT3, 8,
OPT4, 8,
, 8,
OPT6, 8,
}
Method(CGLD, 1, NotSerialized)
{
Return(DerefOf(Index(DCAT, Arg0)))
}
Method(DSTA, 1, NotSerialized)
{
ENFG(CGLD(Arg0))
Store(ACTR, Local0)
EXFG()
If(LEqual(Local0, 0xFF))
{
Return(Zero)
}
And(Local0, One, Local0)
Or(IOST, ShiftLeft(Local0, Arg0), IOST)
If(Local0)
{
Return(0x0F)
}
Else
{
If(And(ShiftLeft(One, Arg0), IOST))
{
Return(0x0D)
}
Else
{
Return(Zero)
}
}
}
Method(DCNT, 2, NotSerialized)
{
ENFG(CGLD(Arg0))
ShiftLeft(IOAH, 0x08, Local1)
Or(IOAL, Local1, Local1)
If(LAnd(LLess(DMCH, 0x04), LNotEqual(And(DMCH, 0x03, Local1), Zero)))
{
RDMA(Arg0, Arg1, Increment(Local1))
}
Store(Arg1, ACTR)
RRIO(Arg0, Arg1, Local1, 0x08)
EXFG()
}
Name(CRS1, ResourceTemplate()
{
IO(Decode16, 0x0000, 0x0000, 0x01, 0x00)
IRQNoFlags() {}
DMA(Compatibility, NotBusMaster, Transfer8) {}
})
CreateWordField(CRS1, 0x09, IRQM)
CreateByteField(CRS1,0x0C,DMAM)
CreateWordField(CRS1, 0x02, IO11)
CreateWordField(CRS1, 0x04, IO12)
CreateByteField(CRS1,0x07,LEN1)
Name(CRS2, ResourceTemplate()
{
IO(Decode16, 0x0000, 0x0000, 0x01, 0x00)
IO(Decode16, 0x0000, 0x0000, 0x01, 0x00)
IRQNoFlags() {6}
DMA(Compatibility, NotBusMaster, Transfer8) {2}
})
CreateWordField(CRS2, 0x11, IRQE)
CreateByteField(CRS2,0x14,DMAE)
CreateWordField(CRS2, 0x02, IO21)
CreateWordField(CRS2, 0x04, IO22)
CreateByteField(CRS2,0x07,LEN2)
CreateWordField(CRS2, 0x0A, IO31)
CreateWordField(CRS2, 0x0C, IO32)
CreateByteField(CRS2,0x0F,LEN3)
Method(DCRS, 2, NotSerialized)
{
ENFG(CGLD(Arg0))
ShiftLeft(IOAH, 0x08, IO11)
Or(IOAL, IO11, IO11)
Store(IO11, IO12)
Subtract(FindSetRightBit(IO11), One, Local0)
ShiftLeft(One, Local0, LEN1)
If(INTR)
{
ShiftLeft(One, INTR, IRQM)
}
Else
{
Store(Zero, IRQM)
}
If(LOr(LGreater(DMCH, 0x03), LEqual(Arg1, Zero)))
{
Store(Zero, DMAM)
}
Else
{
And(DMCH, 0x03, Local1)
ShiftLeft(One, Local1, DMAM)
}
EXFG()
Return(CRS1)
}
Method(DSRS, 2, NotSerialized)
{
CreateWordField(Arg0, 0x09, IRQM)
CreateByteField(Arg0,0x0C,DMAM)
CreateWordField(Arg0, 0x02, IO11)
ENFG(CGLD(Arg1))
ShiftLeft(IOAH, 0x08, Local1)
Or(IOAL, Local1, Local1)
RRIO(Arg1, Zero, Local1, 0x08)
RRIO(Arg1, One, IO11, 0x08)
And(IO11, 0xFF, IOAL)
ShiftRight(IO11, 0x08, IOAH)
If(IRQM)
{
FindSetRightBit(IRQM, Local0)
Subtract(Local0, One, INTR)
}
Else
{
Store(Zero, INTR)
}
If(DMAM)
{
FindSetRightBit(DMAM, Local0)
Subtract(Local0, One, DMCH)
}
Else
{
Store(0x04, DMCH)
}
EXFG()
DCNT(Arg1, One)
}
}
Device(P0PC)
{
Name(_ADR, 0x00140004)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x04, 0x04))
}
Method(_PRT, 0, NotSerialized)
{
If(PICM)
{
Return(AR0C)
}
Return(PR0C)
}
}
Device(AC97)
{
Name(_ADR, 0x00140005)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x0C, 0x04))
}
}
Device(MC97)
{
Name(_ADR, 0x00140006)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x0C, 0x04))
}
}
Device(USB1)
{
Name(_ADR, 0x00130000)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x0B, 0x04))
}
}
Device(USB2)
{
Name(_ADR, 0x00130001)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x0B, 0x04))
}
}
Device(USB3)
{
Name(_ADR, 0x00130002)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x0B, 0x04))
}
}
Device(USB4)
{
Name(_ADR, 0x00130003)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x0B, 0x04))
}
}
Device(USB5)
{
Name(_ADR, 0x00130004)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x0B, 0x04))
}
}
Device(EUSB)
{
Name(_ADR, 0x00130005)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x0B, 0x04))
}
}
Device(SATA)
{
Name(_ADR, 0x00120000)
Method(_INI, 0, NotSerialized)
{
\_GPE._L1F()
}
Name(SPTM, Buffer(0x14)
{
0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0x1F, 0x00, 0x00, 0x00
})
Device(PRID)
{
Name(_ADR, Zero)
Method(_GTM, 0, NotSerialized)
{
Return(SPTM)
}
Method(_STM, 3, NotSerialized)
{
}
Name(PRIS, Zero)
Method(_PS0, 0, NotSerialized)
{
If(LOr(LEqual(OSTY, 0x06), LEqual(OSTY, 0x04)))
{
If(PMS1)
{
Store(0x32, Local0)
While(LAnd(LEqual(PMBY, One), Local0))
{
Sleep(0xFA)
Decrement(Local0)
}
}
If(PSS1)
{
Store(0x32, Local0)
While(LAnd(LEqual(PSBY, One), Local0))
{
Sleep(0xFA)
Decrement(Local0)
}
}
}
Store(Zero, PRIS)
}
Method(_PS3, 0, NotSerialized)
{
Store(0x03, PRIS)
}
Method(_PSC, 0, NotSerialized)
{
Return(PRIS)
}
Device(P_D0)
{
Name(_ADR, Zero)
Method(_STA, 0, NotSerialized)
{
If(Not(LEqual(PMS1, Zero)))
{
Return(0x0F)
}
Else
{
Return(Zero)
}
}
Name(S12P, Zero)
Method(_PS0, 0, NotSerialized)
{
Store(0x32, Local0)
While(LAnd(LEqual(PMBY, One), Local0))
{
Sleep(0xFA)
Decrement(Local0)
}
Store(Zero, S12P)
}
Method(_PS3, 0, NotSerialized)
{
Store(0x03, S12P)
}
Method(_PSC, 0, NotSerialized)
{
Return(S12P)
}
}
Device(P_D1)
{
Name(_ADR, One)
Method(_STA, 0, NotSerialized)
{
If(Not(LEqual(PSS1, Zero)))
{
Return(0x0F)
}
Else
{
Return(Zero)
}
}
Name(S12P, Zero)
Method(_PS0, 0, NotSerialized)
{
Store(0x32, Local0)
While(LAnd(LEqual(PSBY, One), Local0))
{
Sleep(0xFA)
Decrement(Local0)
}
Store(Zero, S12P)
}
Method(_PS3, 0, NotSerialized)
{
Store(0x03, S12P)
}
Method(_PSC, 0, NotSerialized)
{
Return(S12P)
}
}
}
Device(SECD)
{
Name(_ADR, One)
Method(_GTM, 0, NotSerialized)
{
Return(SPTM)
}
Method(_STM, 3, NotSerialized)
{
}
Name(SECS, Zero)
Method(_PS0, 0, NotSerialized)
{
If(LOr(LEqual(OSTY, 0x06), LEqual(OSTY, 0x04)))
{
If(SMS1)
{
Store(0x32, Local0)
While(LAnd(LEqual(SMBY, One), Local0))
{
Sleep(0xFA)
Decrement(Local0)
}
}
If(SSS1)
{
Store(0x32, Local0)
While(LAnd(LEqual(SSBY, One), Local0))
{
Sleep(0xFA)
Decrement(Local0)
}
}
}
Store(Zero, SECS)
}
Method(_PS3, 0, NotSerialized)
{
Store(0x03, SECS)
}
Method(_PSC, 0, NotSerialized)
{
Return(SECS)
}
Device(S_D0)
{
Name(_ADR, Zero)
Method(_STA, 0, NotSerialized)
{
If(Not(LEqual(SMS1, Zero)))
{
Return(0x0F)
}
Else
{
Return(Zero)
}
}
Name(S12P, Zero)
Method(_PS0, 0, NotSerialized)
{
Store(0x32, Local0)
While(LAnd(LEqual(SMBY, One), Local0))
{
Sleep(0xFA)
Decrement(Local0)
}
Store(Zero, S12P)
}
Method(_PS3, 0, NotSerialized)
{
Store(0x03, S12P)
}
Method(_PSC, 0, NotSerialized)
{
Return(S12P)
}
}
Device(S_D1)
{
Name(_ADR, One)
Method(_STA, 0, NotSerialized)
{
If(Not(LEqual(SSS1, Zero)))
{
Return(0x0F)
}
Else
{
Return(Zero)
}
}
Name(S12P, Zero)
Method(_PS0, 0, NotSerialized)
{
Store(0x32, Local0)
While(LAnd(LEqual(SSBY, One), Local0))
{
Sleep(0xFA)
Decrement(Local0)
}
Store(Zero, S12P)
}
Method(_PS3, 0, NotSerialized)
{
Store(0x03, S12P)
}
Method(_PSC, 0, NotSerialized)
{
Return(S12P)
}
}
}
Scope(\_GPE)
{
Method(_L1F, 0, NotSerialized)
{
If(PRC0)
{
If(Not(LEqual(PMS1, Zero)))
{
Sleep(0x1E)
}
Notify(\_SB.PCI0.SATA.PRID.P_D0, One)
Store(One, PRC0)
}
If(PRC1)
{
If(Not(LEqual(SMS1, Zero)))
{
Sleep(0x1E)
}
Notify(\_SB.PCI0.SATA.SECD.S_D0, One)
Store(One, PRC1)
}
If(PRC2)
{
If(Not(LEqual(PSS1, Zero)))
{
Sleep(0x1E)
}
Notify(\_SB.PCI0.SATA.PRID.P_D1, One)
Store(One, PRC2)
}
If(PRC3)
{
If(Not(LEqual(SSS1, Zero)))
{
Sleep(0x1E)
}
Notify(\_SB.PCI0.SATA.SECD.S_D1, One)
Store(One, PRC3)
}
}
}
}
}
Scope(\_GPE)
{
Method(_L18, 0, NotSerialized)
{
Notify(\_SB.PCI0.PCE2, 0x02)
Notify(\_SB.PCI0.PCE3, 0x02)
Notify(\_SB.PCI0.PCE4, 0x02)
Notify(\_SB.PCI0.PCE5, 0x02)
Notify(\_SB.PCI0.PCE6, 0x02)
Notify(\_SB.PCI0.PCE7, 0x02)
Notify(\_SB.PWRB, 0x02)
}
Method(_L1B, 0, NotSerialized)
{
Notify(\_SB.PCI0.SBAZ, 0x02)
Notify(\_SB.PWRB, 0x02)
}
Method(_L03, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH()
Notify(\_SB.PWRB, 0x02)
}
Method(_L04, 0, NotSerialized)
{
Notify(\_SB.PCI0.P0PC, 0x02)
Notify(\_SB.PWRB, 0x02)
}
Method(_L0C, 0, NotSerialized)
{
Notify(\_SB.PCI0.AC97, 0x02)
Notify(\_SB.PCI0.MC97, 0x02)
Notify(\_SB.PWRB, 0x02)
}
Method(_L0B, 0, NotSerialized)
{
Notify(\_SB.PCI0.USB1, 0x02)
Notify(\_SB.PCI0.USB2, 0x02)
Notify(\_SB.PCI0.USB3, 0x02)
Notify(\_SB.PCI0.USB4, 0x02)
Notify(\_SB.PCI0.USB5, 0x02)
Notify(\_SB.PCI0.EUSB, 0x02)
Notify(\_SB.PWRB, 0x02)
}
}
Device(PWRB)
{
Name(_HID, EISAID("PNP0C0C"))
Name(_UID, 0xAA)
Name(_STA, 0x0B)
Method(_PRW, 0, NotSerialized)
{
Return(GPRW(0x03, 0x03))
}
}
}
Scope(_SB)
{
OperationRegion(PIRQ, SystemIO, 0x0C00, 0x02)
Field(PIRQ, ByteAcc, NoLock, Preserve)
{
PIDX, 8,
PDAT, 8,
}
IndexField(PIDX, PDAT, ByteAcc, NoLock, Preserve)
{
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8,
PIRS, 8,
Offset(0x9), //Offset(9),
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8,
}
Method(IRQC, 0, NotSerialized)
{
Store(Zero, PIRA)
Store(Zero, PIRB)
Store(Zero, PIRC)
Store(Zero, PIRD)
Store(Zero, PIRE)
Store(Zero, PIRF)
Store(Zero, PIRG)
Store(Zero, PIRH)
}
Name(BUFA, ResourceTemplate()
{
IRQ(Level, ActiveLow, Shared) {15}
})
Name(IPRA, ResourceTemplate()
{
IRQ(Level, ActiveLow, Shared) {5, 10, 11}
})
Name(IPRB, ResourceTemplate()
{
IRQ(Level, ActiveLow, Shared) {5, 10, 11}
})
Name(IPRC, ResourceTemplate()
{
IRQ(Level, ActiveLow, Shared) {5, 10, 11}
})
Name(IPRD, ResourceTemplate()
{
IRQ(Level, ActiveLow, Shared) {5, 10, 11}
})
Device(LNKA)
{
Name(_HID, EISAID("PNP0C0F"))
Name(_UID, One)
Method(_STA, 0, NotSerialized)
{
If(PIRA)
{
Return(0x0B)
}
Else
{
Return(0x09)
}
}
Method(_PRS, 0, NotSerialized)
{
Return(PRSA)
}
Method(_DIS, 0, NotSerialized)
{
Store(Zero, PIRA)
}
Method(_CRS, 0, NotSerialized)
{
CreateWordField(BUFA, One, IRQX)
ShiftLeft(One, PIRA, IRQX)
Return(BUFA)
}
Method(_SRS, 1, NotSerialized)
{
CreateWordField(Arg0, One, IRA)
FindSetRightBit(IRA, Local0)
Decrement(Local0)
Store(Local0, PIRA)
}
}
Device(LNKB)
{
Name(_HID, EISAID("PNP0C0F"))
Name(_UID, 0x02)
Method(_STA, 0, NotSerialized)
{
If(PIRB)
{
Return(0x0B)
}
Else
{
Return(0x09)
}
}
Method(_PRS, 0, NotSerialized)
{
Return(PRSB)
}
Method(_DIS, 0, NotSerialized)
{
Store(Zero, PIRB)
}
Method(_CRS, 0, NotSerialized)
{
CreateWordField(BUFA, One, IRQX)
ShiftLeft(One, PIRB, IRQX)
Return(BUFA)
}
Method(_SRS, 1, NotSerialized)
{
CreateWordField(Arg0, One, IRA)
FindSetRightBit(IRA, Local0)
Decrement(Local0)
Store(Local0, PIRB)
}
}
Device(LNKC)
{
Name(_HID, EISAID("PNP0C0F"))
Name(_UID, 0x03)
Method(_STA, 0, NotSerialized)
{
If(PIRC)
{
Return(0x0B)
}
Else
{
Return(0x09)
}
}
Method(_PRS, 0, NotSerialized)
{
Return(PRSC)
}
Method(_DIS, 0, NotSerialized)
{
Store(Zero, PIRC)
}
Method(_CRS, 0, NotSerialized)
{
CreateWordField(BUFA, One, IRQX)
ShiftLeft(One, PIRC, IRQX)
Return(BUFA)
}
Method(_SRS, 1, NotSerialized)
{
CreateWordField(Arg0, One, IRA)
FindSetRightBit(IRA, Local0)
Decrement(Local0)
Store(Local0, PIRC)
}
}
Device(LNKD)
{
Name(_HID, EISAID("PNP0C0F"))
Name(_UID, 0x04)
Method(_STA, 0, NotSerialized)
{
If(PIRD)
{
Return(0x0B)
}
Else
{
Return(0x09)
}
}
Method(_PRS, 0, NotSerialized)
{
Return(PRSD)
}
Method(_DIS, 0, NotSerialized)
{
Store(Zero, PIRD)
}
Method(_CRS, 0, NotSerialized)
{
CreateWordField(BUFA, One, IRQX)
ShiftLeft(One, PIRD, IRQX)
Return(BUFA)
}
Method(_SRS, 1, NotSerialized)
{
CreateWordField(Arg0, One, IRA)
FindSetRightBit(IRA, Local0)
Decrement(Local0)
Store(Local0, PIRD)
}
}
Device(LNKE)
{
Name(_HID, EISAID("PNP0C0F"))
Name(_UID, 0x05)
Method(_STA, 0, NotSerialized)
{
If(PIRE)
{
Return(0x0B)
}
Else
{
Return(0x09)
}
}
Method(_PRS, 0, NotSerialized)
{
Return(PRSE)
}
Method(_DIS, 0, NotSerialized)
{
Store(Zero, PIRE)
}
Method(_CRS, 0, NotSerialized)
{
CreateWordField(BUFA, One, IRQX)
ShiftLeft(One, PIRE, IRQX)
Return(BUFA)
}
Method(_SRS, 1, NotSerialized)
{
CreateWordField(Arg0, One, IRA)
FindSetRightBit(PIRE, Local0)
Decrement(Local0)
Store(Local0, PIRE)
}
}
Device(LNKF)
{
Name(_HID, EISAID("PNP0C0F"))
Name(_UID, 0x02)
Method(_STA, 0, NotSerialized)
{
If(PIRF)
{
Return(0x0B)
}
Else
{
Return(0x09)
}
}
Method(_PRS, 0, NotSerialized)
{
Return(PRSF)
}
Method(_DIS, 0, NotSerialized)
{
Store(Zero, PIRF)
}
Method(_CRS, 0, NotSerialized)
{
CreateWordField(BUFA, One, IRQX)
ShiftLeft(One, PIRF, IRQX)
Return(BUFA)
}
Method(_SRS, 1, NotSerialized)
{
CreateWordField(Arg0, One, IRA)
FindSetRightBit(IRA, Local0)
Decrement(Local0)
Store(Local0, PIRF)
}
}
Device(LNKG)
{
Name(_HID, EISAID("PNP0C0F"))
Name(_UID, 0x03)
Method(_STA, 0, NotSerialized)
{
If(PIRG)
{
Return(0x0B)
}
Else
{
Return(0x09)
}
}
Method(_PRS, 0, NotSerialized)
{
Return(PRSG)
}
Method(_DIS, 0, NotSerialized)
{
Store(Zero, PIRG)
}
Method(_CRS, 0, NotSerialized)
{
CreateWordField(BUFA, One, IRQX)
ShiftLeft(One, PIRG, IRQX)
Return(BUFA)
}
Method(_SRS, 1, NotSerialized)
{
CreateWordField(Arg0, One, IRA)
FindSetRightBit(IRA, Local0)
Decrement(Local0)
Store(Local0, PIRG)
}
}
Device(LNKH)
{
Name(_HID, EISAID("PNP0C0F"))
Name(_UID, 0x04)
Method(_STA, 0, NotSerialized)
{
If(PIRH)
{
Return(0x0B)
}
Else
{
Return(0x09)
}
}
Method(_PRS, 0, NotSerialized)
{
Return(PRSH)
}
Method(_DIS, 0, NotSerialized)
{
Store(Zero, PIRH)
}
Method(_CRS, 0, NotSerialized)
{
CreateWordField(BUFA, One, IRQX)
ShiftLeft(One, PIRH, IRQX)
Return(BUFA)
}
Method(_SRS, 1, NotSerialized)
{
CreateWordField(Arg0, One, IRA)
FindSetRightBit(IRA, Local0)
Decrement(Local0)
Store(Local0, PIRH)
}
}
}
Scope(_SB)
{
Name(XCPD, Zero)
Name(XNPT, One)
Name(XCAP, 0x02)
Name(XDCP, 0x04)
Name(XDCT, 0x08)
Name(XDST, 0x0A)
Name(XLCP, 0x0C)
Name(XLCT, 0x10)
Name(XLST, 0x12)
Name(XSCP, 0x14)
Name(XSCT, 0x18)
Name(XSST, 0x1A)
Name(XRCT, 0x1C)
Mutex(MUTE, 0)
Method(RBPE, 1, NotSerialized)
{
Acquire(MUTE, 0x03E8)
Add(Arg0, PCIB, Local0)
OperationRegion(PCFG, SystemMemory, Local0, One)
Field(PCFG, ByteAcc, NoLock, Preserve)
{
XCFG, 8,
}
Release(MUTE)
Return(XCFG)
}
Method(RWPE, 1, NotSerialized)
{
Acquire(MUTE, 0x03E8)
And(Arg0, 0xFFFFFFFE, Arg0)
Add(Arg0, PCIB, Local0)
OperationRegion(PCFG, SystemMemory, Local0, 0x02)
Field(PCFG, WordAcc, NoLock, Preserve)
{
XCFG, 16,
}
Release(MUTE)
Return(XCFG)
}
Method(RDPE, 1, NotSerialized)
{
Acquire(MUTE, 0x03E8)
And(Arg0, 0xFFFFFFFC, Arg0)
Add(Arg0, PCIB, Local0)
OperationRegion(PCFG, SystemMemory, Local0, 0x04)
Field(PCFG, DWordAcc, NoLock, Preserve)
{
XCFG, 32,
}
Release(MUTE)
Return(XCFG)
}
Method(WBPE, 2, NotSerialized)
{
Acquire(MUTE, 0x0FFF)
Add(Arg0, PCIB, Local0)
OperationRegion(PCFG, SystemMemory, Local0, One)
Field(PCFG, ByteAcc, NoLock, Preserve)
{
XCFG, 8,
}
Store(Arg1, XCFG)
Release(MUTE)
}
Method(WWPE, 2, NotSerialized)
{
Acquire(MUTE, 0x03E8)
And(Arg0, 0xFFFFFFFE, Arg0)
Add(Arg0, PCIB, Local0)
OperationRegion(PCFG, SystemMemory, Local0, 0x02)
Field(PCFG, WordAcc, NoLock, Preserve)
{
XCFG, 16,
}
Store(Arg1, XCFG)
Release(MUTE)
}
Method(WDPE, 2, NotSerialized)
{
Acquire(MUTE, 0x03E8)
And(Arg0, 0xFFFFFFFC, Arg0)
Add(Arg0, PCIB, Local0)
OperationRegion(PCFG, SystemMemory, Local0, 0x04)
Field(PCFG, DWordAcc, NoLock, Preserve)
{
XCFG, 32,
}
Store(Arg1, XCFG)
Release(MUTE)
}
Method(RWDP, 3, NotSerialized)
{
Acquire(MUTE, 0x03E8)
And(Arg0, 0xFFFFFFFC, Arg0)
Add(Arg0, PCIB, Local0)
OperationRegion(PCFG, SystemMemory, Local0, 0x04)
Field(PCFG, DWordAcc, NoLock, Preserve)
{
XCFG, 32,
}
And(XCFG, Arg2, Local1)
Or(Local1, Arg1, XCFG)
Release(MUTE)
}
Method(RPME, 1, NotSerialized)
{
Add(Arg0, 0x84, Local0)
Store(RDPE(Local0), Local1)
If(LEqual(Local1, Ones))
{
Return(Zero)
}
Else
{
If(LAnd(Local1, 0x00010000))
{
WDPE(Local0, And(Local1, 0x00010000))
Return(One)
}
Return(Zero)
}
}
}
Method(NB2S, 1, NotSerialized)
{
}
Method(NB2W, 1, NotSerialized)
{
}
Method(NPTS, 1, NotSerialized)
{
}
Method(NWAK, 1, NotSerialized)
{
}
Scope(_SB)
{
Scope(PCI0)
{
Name(CRS, ResourceTemplate()
{
WordBusNumber(ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000,
0x0000,
0x00FF,
0x0000,
0x0100
)
IO(Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
WORDIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0000,
0x0CF7,
0x0000,
0x0CF8
)
WORDIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0D00,
0xFFFF,
0x0000,
0xF300
)
DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000A0000,
0x000BFFFF,
0x00000000,
0x00020000
)
DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000C0000,
0x000DFFFF,
0x00000000,
0x00020000
)
DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000
)
DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000
)
})
CreateDWordField(CRS, 0x5C, MIN5)
CreateDWordField(CRS, 0x60, MAX5)
CreateDWordField(CRS, 0x68, LEN5)
CreateDWordField(CRS, 0x76, MIN6)
CreateDWordField(CRS, 0x7A, MAX6)
CreateDWordField(CRS, 0x82, LEN6)
CreateDWordField(CRS, 0x90, MIN7)
CreateDWordField(CRS, 0x94, MAX7)
CreateDWordField(CRS, 0x9C, LEN7)
Method(_CRS, 0, NotSerialized)
{
Store(MG1L, Local0)
If(Local0)
{
Store(MG1B, MIN5)
Store(MG1L, LEN5)
Add(MIN5, Decrement(Local0), MAX5)
}
Store(MG2B, MIN6)
Store(MG2L, LEN6)
Store(MG2L, Local0)
Add(MIN6, Decrement(Local0), MAX6)
Store(MG3B, MIN7)
Store(MG3L, LEN7)
Store(MG3L, Local0)
Add(MIN7, Decrement(Local0), MAX7)
Return(CRS)
}
}
}
Name(WOTB, Zero)
Name(WSSB, Zero)
Name(WAXB, Zero)
Method(_PTS, 1, NotSerialized)
{
Store(Arg0, DBG8)
PTS(Arg0)
Store(Zero, Index(WAKP, Zero))
Store(Zero, Index(WAKP, One))
If(LAnd(LEqual(Arg0, 0x04), LEqual(OSFL(), 0x02)))
{
Sleep(0x0BB8)
}
If(LEqual(Arg0, One))
{
WMS7(0x04, 0x06)
}
If(LEqual(Arg0, 0x03))
{
If(LOr(LED1, LED2))
{
WMS7(0x04, 0x0E)
}
Else
{
WMS7(0x04, 0xF0)
}
}
Store(ASSB, WSSB)
Store(AOTB, WOTB)
Store(AAXB, WAXB)
Store(Arg0, ASSB)
Store(OSFL(), AOTB)
Store(OSYS(), OSTP)
Store(Zero, AAXB)
}
Method(_WAK, 1, NotSerialized)
{
ShiftLeft(Arg0, 0x04, DBG8)
WAK(Arg0)
If(ASSB)
{
Store(WSSB, ASSB)
Store(WOTB, AOTB)
Store(WAXB, AAXB)
}
If(LEqual(Arg0, One))
{
WMS7(0x04, 0x0F)
}
If(DerefOf(Index(WAKP, Zero)))
{
Store(Zero, Index(WAKP, One))
}
Else
{
Store(Arg0, Index(WAKP, One))
}
Return(WAKP)
}
OperationRegion(SMRG, SystemIO, SMBA, 0x10)
Field(SMRG, ByteAcc, NoLock, Preserve)
{
HSTS, 8,
SSTS, 8,
HSTC, 8,
HCMD, 8,
HADR, 8,
HDT0, 8,
}
Method(WMS7, 2, NotSerialized)
{
Store(0xFF, HSTS)
Store(0x10, Local0)
While(Local0)
{
Sleep(One)
Decrement(Local0)
If(And(HSTS, 0x40))
{
Store(Zero, Local0)
}
}
Store(Arg0, HCMD)
Store(Arg1, HDT0)
Store(0x5E, HADR)
Store(0x48, HSTC)
Store(0x10, Local1)
While(Local1)
{
Sleep(One)
Decrement(Local1)
If(And(HSTS, 0x40))
{
Store(Zero, Local1)
}
}
}
OperationRegion(PMSS, SystemIO, PMBS, 0x30)
Field(PMSS, ByteAcc, NoLock, Preserve)
{
Offset(0x22), //Offset(34),
RISS, 1,
}
Method(TCHG, 0, NotSerialized)
{
If(RISS)
{
Notify(\_SB.PWRB, 0x02)
}
}
OperationRegion(CMS, SystemIO, 0x72, 0x02)
Field(CMS, ByteAcc, NoLock, Preserve)
{
IND, 8,
DAT, 8,
}
IndexField(IND, DAT, ByteAcc, NoLock, Preserve)
{
Offset(0xE9), //Offset(233),
LED1, 1,
LED2, 1,
}
If(OSCF)
{
Scope(_SB.PCI0)
{
Name(SUPP, Zero)
Name(CTRL, Zero)
Method(_OSC, 4, NotSerialized)
{
If(LEqual(Arg0, ToUUID("33DB4D5B-1FF7401C-96577441C03DD766")}))
{
CreateDWordField(Arg3, Zero, CDW1)
CreateDWordField(Arg3, 0x04, CDW2)
CreateDWordField(Arg3, 0x08, CDW3)
Store(CDW2, SUPP)
Store(CDW3, CTRL)
If(LNotEqual(And(SUPP, 0x16), 0x16))
{
And(CTRL, 0x1E)
}
And(CTRL, 0x1D, CTRL)
If(Not(And(CDW1, One)))
{
If(And(CTRL, One)) {}
If(And(CTRL, 0x04))
{
Store(One, EPNM)
Store(One, DPPF)
}
If(And(CTRL, 0x10)) {}
}
If(LNotEqual(Arg1, One))
{
Or(CDW1, 0x08, CDW1)
}
If(LNotEqual(CDW3, CTRL))
{
Or(CDW1, 0x10, CDW1)
}
Store(CTRL, CDW3)
Return(Arg3)
}
Else
{
Or(CDW1, 0x04, CDW1)
Return(Arg3)
}
}
}
}
Scope(_SB.PCI0)
{
Method(_INI, 0, NotSerialized)
{
If(LLessEqual(RVID, 0x13))
{
Store(Zero, PWDE)
}
}
}
Device(_SB.PCI0.SBRG.TPM)
{
Name(_HID, 0x0010A35C)
Name(_CID, EISAID("PNP0C31"))
Name(_UID, One)
Name(_CRS, ResourceTemplate()
{
Memory32Fixed(ReadWrite, 0xFED40000, 0x00005000)
IRQ(Level, ActiveLow, Exclusive) {10, 11, 13}
})
Method(_STA, 0, NotSerialized)
{
If(TPMF)
{
Return(0x0F)
}
Else
{
Return(Zero)
}
}
}
Scope(_SB.PCI0.SBRG.TPM)
{
Name(TAAX, Zero)
OperationRegion(MIPT, SystemIO, SMIT, One)
Field(MIPT, ByteAcc, NoLock, Preserve)
{
PSMI, 8,
}
Name(PPI1, Package(2) {Zero, Zero})
Name(PPI2, Package(3) {Zero, Zero, Zero})
Name(MBUF, Buffer(0x04){})
CreateByteField(MBUF,Zero,BUF0)
CreateByteField(MBUF,One,BUF1)
CreateByteField(MBUF,0x02,BUF2)
CreateByteField(MBUF,0x03,BUF3)
Method(_DSM, 4, NotSerialized)
{
If(LEqual(Arg0, ToUUID("3DDDFAA6-361B4EB4-A4248D10089D1653")}))
{
Name(_T_0, Zero)
Store(ToInteger(Arg2), _T_0)
If(LEqual(_T_0, Zero))
{
Return(Buffer(One)
{
0x7F
})
}
Else
{
If(LEqual(_T_0, One))
{
Return("1.0")
}
Else
{
If(LEqual(_T_0, 0x02))
{
Store(AAXB, TAAX)
Store(CMRQ, BUF0)
Store(0xF0, BUF1)
Store(ToInteger(DerefOf(Index(Arg3, Zero))), BUF2)
Store(One, BUF3)
Store(MBUF, AAXB)
Store(0xFB, PSMI)
Sleep(0x03E8)
Store(TAAX, AAXB)
Return(Zero)
}
Else
{
If(LEqual(_T_0, 0x03))
{
Store(AAXB, TAAX)
Store(CMRQ, BUF0)
Store(0x0F, BUF1)
Store(Zero, BUF2)
Store(Zero, BUF3)
Store(MBUF, AAXB)
Store(0xFB, PSMI)
Sleep(0x03E8)
Store(AAXB, MBUF)
Store(BUF2, Local3)
Store(Zero, Index(PPI1, Zero))
Store(Local3, Index(PPI1, One))
Store(TAAX, AAXB)
Return(PPI1)
}
Else
{
If(LEqual(_T_0, 0x04))
{
Return(0x02)
}
Else
{
If(LEqual(_T_0, 0x05))
{
Store(AAXB, TAAX)
Store(CMRQ, BUF0)
Store(0xF0, BUF1)
Store(Zero, BUF2)
Store(Zero, BUF3)
Store(MBUF, AAXB)
Store(0xFB, PSMI)
Sleep(0x03E8)
Store(AAXB, MBUF)
ShiftRight(BUF2, 0x04, Local3)
Store(CMER, BUF0)
Store(0xFF, BUF1)
Store(Zero, BUF2)
Store(Zero, BUF3)
Store(MBUF, AAXB)
Store(0xFB, PSMI)
Sleep(0x03E8)
Store(AAXB, MBUF)
Store(BUF2, Local6)
Add(CMER, One, Local4)
Store(Local4, BUF0)
Store(0xFF, BUF1)
Store(Zero, BUF2)
Store(Zero, BUF3)
Store(MBUF, AAXB)
Store(0xFB, PSMI)
Sleep(0x03E8)
Store(AAXB, MBUF)
Store(BUF2, Local7)
Multiply(Local7, 0x0100, Local2)
Add(Local2, Local6, Local2)
Store(Zero, Index(PPI2, Zero))
Store(Local3, Index(PPI2, One))
If(LEqual(Local2, 0xFFF0))
{
Store(0xFFFFFFF0, Index(PPI2, 0x02))
}
Else
{
If(LEqual(Local2, 0xFFF1))
{
Store(0xFFFFFFF1, Index(PPI2, 0x02))
}
Else
{
Store(Local2, Index(PPI2, 0x02))
}
}
Store(TAAX, AAXB)
Return(PPI2)
}
Else
{
If(LEqual(_T_0, 0x06))
{
Return(Zero)
}
Else {}
}
}
}
}
}
}
}
Else
{
If(LEqual(Arg0, ToUUID("376054ED-CC134675-901C4756D7F2D45D")}))
{
Name(_T_1, Zero)
Store(ToInteger(Arg2), _T_1)
If(LEqual(_T_1, Zero))
{
Return(Buffer(One)
{
0x03
})
}
Else
{
If(LEqual(_T_1, One))
{
Store(AAXB, TAAX)
Store(CMOR, BUF0)
Store(0xFE, BUF1)
Store(ToInteger(DerefOf(Index(Arg3, Zero))), BUF2)
Store(One, BUF3)
Store(MBUF, AAXB)
Store(0xFB, PSMI)
Sleep(0x0BB8)
Store(TAAX, AAXB)
Return(Zero)
}
Else {}
}
}
}
Return(Buffer(One)
{
0x00
})
}
}
Name(_S0, Package(4) {Zero, Zero, Zero, Zero})
If(SS3)
{
Name(_S3, Package(4) {0x03, Zero, Zero, Zero})
}
If(SS4)
{
Name(_S4, Package(4) {0x04, Zero, Zero, Zero})
}
Name(_S5, Package(4) {0x05, Zero, Zero, Zero})
Method(PTS, 1, NotSerialized)
{
If(Arg0)
{
\_SB.PCI0.SBRG.SIOS(Arg0)
NB2S(Arg0)
SPTS(Arg0)
NPTS(Arg0)
}
}
Method(WAK, 1, NotSerialized)
{
\_SB.PCI0.SBRG.SIOW(Arg0)
NB2W(Arg0)
SWAK(Arg0)
NWAK(Arg0)
}
}