ACPI/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 24: Line 24:
Что должно быть реализовано:
Что должно быть реализовано:
* Use system address map reporting interfaces to get the system address map on Intel Architecture (IA) platforms:
* Use system address map reporting interfaces to get the system address map on Intel Architecture (IA) platforms:
- INT 15H, E820H - Query System Address Map interface
** INT 15H, E820H - Query System Address Map interface
- EFI GetMemoryMap() Boot Services Function
** EFI GetMemoryMap() Boot Services Function
* Находить и применять таблицы ACPI  - System Description Tables
* Находить и применять таблицы ACPI  - System Description Tables
* AML-интерпретатор.
* AML-интерпретатор.
Line 31: Line 31:
* Присвоить номера и выполнить начальную настройку устройств материнской платы как это описано в ACPI Namespace.
* Присвоить номера и выполнить начальную настройку устройств материнской платы как это описано в ACPI Namespace.
* Внедрить поддержку следующих устройств
* Внедрить поддержку следующих устройств
- Embedded Controller
** Embedded Controller
- GPE Block
** GPE Block
- Module Device
** Module Device
* Поддержка термальной модели ACPI
* Поддержка термальной модели ACPI
* Реализация Global Lock.
* Реализация Global Lock.

Revision as of 17:54, 22 June 2010

ACPI - Advanced Configuration and Power Interface (интерфейс расширенного конфигурирования и управления питанием). Его задача - обеспечить взаимодействие между операционной системой, аппаратным обеспечением и BIOS системной платы.

Спецификация ACPI определяет следующие семь глобальных состояний:

  • G0 (S0) Нормальное
  • G1 Сон (подразделяется на четыре промежуточных с S1 по S4)
  • S1: Все кэши процессора сброшены, выполнение инструкций остановлено. Питание для процессора и памяти включено; состояние других устройств не определено
  • S2: Отключен процессор
  • S3: (Standby, Sleep, или Suspend to RAM) Включена оперативная память
  • S4: (Hibernation или Suspend to Disk) Все содержимое оперативной памяти сохранено на диск и система выключена.
  • G2 (S5) Программное выключение. G2 большей частью то же самое что и G3, но некоторые компоненты остаются включенными, для того чтобы система могла "проснуться" от событий клавиатуры, таймера, модема, сетевой карты или любого USB устройства.
  • G3 Физическое выключение. Полное отключение питания всех компонентов системы, система готова к безопасной разборке (как правило работает только таймер RTC, питаемый батарейкой).

Состояния процессора:

  • C0 — оперативный режим.
  • C1 (Halt) — состояние в котором процессор не исполняет инструкции, но может незамедлительно вернуться в рабочее состояние.
  • C2 (Stop-Clock) — состояние в котором процессор обнаруживается приложениями, но для перехода в рабочий режим требуется время.
  • C3 (Sleep) — состояние в котором процессор отключает собственный кэш, но готов к переходу в другие состояния.

Интерфейс ACPI организуется путём размещения в определённой области оперативной памяти нескольких таблиц, содержащих описание аппаратных ресурсов и программных методов управления ими. Таблицы, содержащие методы управления устройствами и обработчики событий ACPI, содержат код на языке AML (ACPI Machine Language). Интерпретатор AML, который транслирует инструкции AML в инструкции центрального процессора, выполняя таким образом методы или обработчики событий. На практике таблицы пишуться на языке ASL и компилируются в AML.

Что должно быть реализовано:

  • Use system address map reporting interfaces to get the system address map on Intel Architecture (IA) platforms:
    • INT 15H, E820H - Query System Address Map interface
    • EFI GetMemoryMap() Boot Services Function
  • Находить и применять таблицы ACPI - System Description Tables
  • AML-интерпретатор.
  • Поддержка программной модели событий ACPI включая прерывания SCI, управления фиксированными событиями, прерываниями EC, и поддержкой динамических устройств
  • Присвоить номера и выполнить начальную настройку устройств материнской платы как это описано в ACPI Namespace.
  • Внедрить поддержку следующих устройств
    • Embedded Controller
    • GPE Block
    • Module Device
  • Поддержка термальной модели ACPI
  • Реализация Global Lock.
  • Поддержка управления питанием

Типы таблиц:

  • Root System Description Pointer (RSDP)
  • System Description Table Header
  • Root System Description Table (RSDT)
  • Fixed ACPI Description Table (FADT)
  • Firmware ACPI Control Structure (FACS)
  • Differentiated System Description Table (DSDT)
  • Secondary System Description Table (SSDT)
  • Multiple APIC Description Table (MADT)
  • Smart Battery Table (SBST)
  • Extended System Description Table (XSDT)
  • Embedded Controller Boot Resources Table (ECDT)
  • System Locality Distance Information Table (SLIT)
  • System Resource Affinity Table (SRAT)