ACPI/ru
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. Поддержка управления питанием