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