Gerd Hoffmann | 4dfa547 | 2012-11-28 10:17:40 +0100 | [diff] [blame] | 1 | /**************************************************************** |
| 2 | * HPET |
| 3 | ****************************************************************/ |
| 4 | |
Kevin O'Connor | e9e7ab4 | 2012-12-02 01:09:17 -0500 | [diff] [blame] | 5 | Scope(\_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, |
Gerd Hoffmann | 4dfa547 | 2012-11-28 10:17:40 +0100 | [diff] [blame] | 13 | } |
Kevin O'Connor | e9e7ab4 | 2012-12-02 01:09:17 -0500 | [diff] [blame] | 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() { |
Gerd Hoffmann | e8a76b0 | 2012-12-06 16:46:08 +0100 | [diff] [blame] | 27 | #if 0 /* This makes WinXP BSOD for not yet figured reasons. */ |
Kevin O'Connor | e9e7ab4 | 2012-12-02 01:09:17 -0500 | [diff] [blame] | 28 | IRQNoFlags() {2, 8} |
Gerd Hoffmann | e8a76b0 | 2012-12-06 16:46:08 +0100 | [diff] [blame] | 29 | #endif |
Kevin O'Connor | e9e7ab4 | 2012-12-02 01:09:17 -0500 | [diff] [blame] | 30 | Memory32Fixed(ReadOnly, |
| 31 | 0xFED00000, // Address Base |
| 32 | 0x00000400, // Address Length |
| 33 | ) |
| 34 | }) |
Gerd Hoffmann | 4dfa547 | 2012-11-28 10:17:40 +0100 | [diff] [blame] | 35 | } |
Kevin O'Connor | e9e7ab4 | 2012-12-02 01:09:17 -0500 | [diff] [blame] | 36 | } |