Skip to content

LPIT Table

James Swineson edited this page Feb 12, 2020 · 3 revisions

LPIT Table describes whether a power level is available to this platform, and how to transit to that power level. It would only work when S0ix flag in FADT is set. If your firmware have S0ix disabled, try S0ixEnabler before using this.

Acquire an LPIT Table

There are some dumps in the main repo. You can also try to dump an LPIT table from another device of the same CPU generation with LPIT in firmware.

Here's a LPIT table for Haswell & Skylake CPUs from Ben Wang:

unsigned char gSklLpitTableData[] = {
    0x4C, 0x50, 0x49, 0x54, 0x94, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x7F, 0x01, 0x02, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x30, 0x75, 0x00, 0x00, 0xB8, 0x0B, 0x00, 0x00, 0x7F, 0x40, 0x00, 0x00, 0x32, 0x06, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x38, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x01, 0x02, 0x00,
    0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x75, 0x00, 0x00, 0xB8, 0x0B, 0x00, 0x00,
    0x7F, 0x40, 0x00, 0x00, 0x32, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00
};

Write Your Own LPIT Table

Good luck. Here's the documentation: INTEL ACPI LOW POWER S0 IDLE

Clone this wiki locally