Последнее изменение файла: 2018.01.08
Скопировано с www.bog.pp.ru: 2024.11.21
Bog BOS: hardware: ACPI
ACPI (Advanced Configuration and Power Interface) - открытый стандарт на взаимодействие ОС и прошивки.
Состоит из множества таблиц, которые содержат данные (SMBIOS, DMI), либо код на языке AML (компилируется из ASL - ACPI Source Language),
который выполняется встроенным в ОС интерпретатором.
История:
- 1.0 - 1996 год
- 2.0 - 64-битные ЦП
- 3.0 - SATA, PCIe, управление температурой
- 4.0 - USB3, x2APIC
- 5.0 - GPIO, I2C, SPI, UART
- 6.0 - NVDIMM, USB-C, ASL 2.0
Имена, начинающиеся с подчёркивания, зарезервированы и имеют длину 4:
- _ADR - адрес на шине, имеющей стандартную нумерацию
- _CRS (current resource setting) - для шин, не имеющих стандартную нумерацию
- _HID (hardware ID) - 32-битный сжатый идентификатор EISA, для устройств, которые нумерует ACPI драйвер ОС
- _UID - "родной" уникальный идентификатор типа серийного номера
- _SEG (segment) - набор шин PCI с общим пространством конфигурации
Имена хранятся в сжатом виде.
Глобальные состояния (от этого зависит действие кнопки включения питания):
- G0 - рабочее состояние (нажатие менее 4 секунд переводит в состояние G1, более 4 секунд - G2)
- G1 - состояние сна (нажатие менее 4 секунд переводит в состояние G0, более 4 секунд - G2)
- G2/S5 - выключен программно (при нажатии кнопки включения переходит в состояние G0)
- G3 - механическое выключение
Состояния спячки (внутри состоянияпроизводитель системы определяет состояния P, C и T.):
- S0 - рабочий режим
- S1 - процессор остановлен (Power on Suspend), все ядра в HLT, все кеши и RAM обновляться и содержат правиьлные значения
- S3 - suspend to RAM (standby, ждущий режим)
- S4 - suspend to disk (sleep, спящий режим)
- S5 - программное выключение (Soft off), выводится сигналом по RTC или сигналу Wake
Состояния процессора:
- C0 - рабочее
- C1 - stop grant
- нет питания
Состояния устройства:
- D0 - рабочее
- D1, D2 - определяется изготовителем
- D3 - питание подаётся только на цепи, обеспечивающие просыпание
Дезассемблирование (пакет acpica-tools):
acpidump -o acpidump.txt
acpixtract acpidump.txt
iasl -d dsdt.dat ssdt*.dat
Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru