diff options
Diffstat (limited to 'roms/seabios/src/fw/acpi-dsdt-hpet.dsl')
| -rw-r--r-- | roms/seabios/src/fw/acpi-dsdt-hpet.dsl | 36 | 
1 files changed, 36 insertions, 0 deletions
| diff --git a/roms/seabios/src/fw/acpi-dsdt-hpet.dsl b/roms/seabios/src/fw/acpi-dsdt-hpet.dsl new file mode 100644 index 00000000..f33e5279 --- /dev/null +++ b/roms/seabios/src/fw/acpi-dsdt-hpet.dsl @@ -0,0 +1,36 @@ +/**************************************************************** + * HPET + ****************************************************************/ + +Scope(\_SB) { +    Device(HPET) { +        Name(_HID, EISAID("PNP0103")) +        Name(_UID, 0) +        OperationRegion(HPTM, SystemMemory, 0xFED00000, 0x400) +        Field(HPTM, DWordAcc, Lock, Preserve) { +            VEND, 32, +            PRD, 32, +        } +        Method(_STA, 0, NotSerialized) { +            Store(VEND, Local0) +            Store(PRD, Local1) +            ShiftRight(Local0, 16, Local0) +            If (LOr(LEqual(Local0, 0), LEqual(Local0, 0xffff))) { +                Return (0x0) +            } +            If (LOr(LEqual(Local1, 0), LGreater(Local1, 100000000))) { +                Return (0x0) +            } +            Return (0x0F) +        } +        Name(_CRS, ResourceTemplate() { +#if 0       /* This makes WinXP BSOD for not yet figured reasons. */ +            IRQNoFlags() {2, 8} +#endif +            Memory32Fixed(ReadOnly, +                0xFED00000,         // Address Base +                0x00000400,         // Address Length +                ) +        }) +    } +} | 
