FADT/ru

From KolibriOS wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 байта)

Структура всей таблицы имеет вид:

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;
}

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