FADT/ru

From KolibriOS wiki
Jump to navigation Jump to search

FADT (Fixed ACPI Description Table) - структура данных (таблица), используемая в программном интерфейсе ACPI. Эта таблица содержит информацию о фиксированных блоках регистров, относящихся к управлению питанием.

Обнаружение FADT

Указатель на FADT содержится в таблице RSDT. Поле Signature в таблице FADT должно содержать сигнатуру 'FACP'.

Структура

Таблица FADT содержит указатели на две дополнительные таблицы (наряду с другой информацией):

  • Таблица FACS (Firmware ACPI Control Structure) по смещению +36 (физический адрес размером в 4 байта)
  • Таблица DSDT (Differentiated System Description Table) по смещению +40 (физический адрес размером в 4 байта)

Структура всей таблицы имеет вид: <source lang="c"> struct FADT {

 struct ACPISDTHeader h;
 DWORD FIRMWARE_CTRL;
 DWORD DSDT;
 BYTE Reserved;
 BYTE Preferred_PM_Profile;
 WORD SCI_INT;
 DWORD SMI_CMD;
 BYTE ACPI_ENABLE;
 BYTE ACPI_DISABLE;
 BYTE S4BIOS_REQ;
 BYTE PSTATE_CNT;
 DWORD PM1a_EVT_BLK;
 DWORD PM1b_EVT_BLK;
 DWORD PM1a_CNT_BLK;
 DWORD PM1b_CNT_BLK;
 DWORD PM2_CNT_BLK;
 DWORD PM_TMR_BLK;
 DWORD GPE0_BLK;
 DWORD GPE1_BLK;
 BYTE PM1_EVT_LEN;
 BYTE PM1_CNT_LEN;
 BYTE PM2_CNT_LEN;
 BYTE PM_TMR_LEN;
 BYTE GPE0_BLK_LEN;
 BYTE GPE1_BLK_LEN;
 BYTE GPE1_BASE;
 BYTE CST_CNT;
 WORD P_LVL2_LAT;
 WORD P_LVL3_LAT;
 WORD FLUSH_SIZE;
 WORD FLUSH_STRIDE;
 BYTE DUTY_OFFSET;
 BYTE DUTY_WIDTH;
 BYTE DAY_ALRM;
 BYTE MON_ALRM;
 BYTE CENTURY;
 WORD IAPC_BOOT_ARCH;
 BYTE Reserved;
 DWORD Flags;
 struct GenericAddressStructure RESET_REG; //Размер структуры GenericAddressStructure = 12 байт.
 BYTE RESET_VALUE;
 BYTE Reserved[3];
 DWORD X_FIRMWARE_CTRL[2];
 DWORD X_DSDT[2];
 struct GenericAddressStructure X_PM1a_EVT_BLK; 
 struct GenericAddressStructure X_PM1b_EVT_BLK;
 struct GenericAddressStructure X_PM1a_CNT_BLK;
 struct GenericAddressStructure X_PM1b_CNT_BLK;
 struct GenericAddressStructure X_PM2_CNT_BLK;
 struct GenericAddressStructure X_PM_TMR_BLK;
 struct GenericAddressStructure X_GPE0_BLK;
 struct GenericAddressStructure X_GPE1_BLK;

} </source>

Размер всей таблицы FADT 244 байта.