1/**************************************************************** 2 * HPET 3 ****************************************************************/ 4 5Scope(\_SB) { 6 Device(HPET) { 7 Name(_HID, EISAID("PNP0103")) 8 Name(_UID, 0) 9 OperationRegion(HPTM, SystemMemory, 0xFED00000, 0x400) 10 Field(HPTM, DWordAcc, Lock, Preserve) { 11 VEND, 32, 12 PRD, 32, 13 } 14 Method(_STA, 0, NotSerialized) { 15 Store(VEND, Local0) 16 Store(PRD, Local1) 17 ShiftRight(Local0, 16, Local0) 18 If (LOr(LEqual(Local0, 0), LEqual(Local0, 0xffff))) { 19 Return (0x0) 20 } 21 If (LOr(LEqual(Local1, 0), LGreater(Local1, 100000000))) { 22 Return (0x0) 23 } 24 Return (0x0F) 25 } 26 Name(_CRS, ResourceTemplate() { 27#if 0 /* This makes WinXP BSOD for not yet figured reasons. */ 28 IRQNoFlags() {2, 8} 29#endif 30 Memory32Fixed(ReadOnly, 31 0xFED00000, // Address Base 32 0x00000400, // Address Length 33 ) 34 }) 35 } 36} 37