Skip to content

SSDT Table

James Swineson edited this page Feb 13, 2020 · 18 revisions

SSDT table defines the hardware topology of your computer. Your firmware typically comes with one or more SSDTs, which have already defined your CPU, PCIe devices, disks, USB controllers, etc. To make DRIPS work, you need to insert one more SSDT containing the definition of the Intel PEP device. The PEP device also need some configuration because it manages the power state of other components, these configuration also resides in the SSDT. Your final goal is to implement Microsoft's platform requirements for modern standby.

Write Your Own SSDT

It's recommended that you start with an example file. In best cases you only need to change the devices' name and their quantities depending on what you have on your computer. Every device have some constraints following it, the format of which can be found at INTEL ACPI LOW POWER S0 IDLE table 7, 8 and 9.

If you are using Windows, you can find the device name of a device in devmgmt.msc -> device properties -> Details -> BIOS device name. Under macOS, use /usr/sbin/ioreg. You can also look up device names in ACPI SSDT/DSDT tables. Full name is not always needed; for example my SSD's full device name is \\_SB.PCI0.RP06.SSD0; only \\_SB.PCI0.RP06 is needed in SSDT.

For DEVY section, you need to find the device name of the following devices:

  • Every of your non-HT CPU cores
  • GPU
  • USB controller (might not needed)
  • HDD/SSD
  • WiFi, Camera and other PCIe connected devices

For BCCD section, you need to define your system disk device.

Other parts usually work without any changes.

Resources:

Debugging / Verification

There are a few things that you need to check to make sure your SSDT is correct.

Boot Windows

The very first step is to get Windows to boot. If Windows resets itself during boot animation, your SSDT is probably wrong. (On next boot Windows might ask you if you want to reset the system; you can ignore it and click "turn off".)

Intel PEP Device

In Device Manager (devmgmt.msc), check if Intel(R) Power Engine Plug-in shows up in System devices catagory. This is the first sign your SSDT is working.

SleepStudy

See SleepStudy.

Clone this wiki locally