Где находится каталог объектов в пространстве имен ACPI?
Я пытаюсь читать и, возможно, написать немного исходного языка ACPI.
Я вижу в коде, который я смотрю, операторы, которые хранят значения для определенных... ах, я думаю, регистров в пространстве имен объекта ACPI. Это выглядит так:
Store(Arg0, \_SB_.PCI0.LPC0.BCMD)
Что я хотел бы, так это каталог областей имен и объектов в пространстве имен SB и их значения.
Что это значит, когда я сохраняю значение в _SB_.PCI0.LPC0.BCMD
?
Есть и другие примеры:
Store(0x80, \_SB_.PCI0.LPC0.SMIC)
Итак, я не хочу ответа на BCMD, я хочу ссылку, которая описывает все доступные объекты, их имена, а также их поведение или значения.
Я предполагаю, что этот каталог будет специфичным для каждого конкретного типа оборудования. Я полагаю, что компьютер с вентилятором с регулируемой скоростью будет обеспечивать базовый контроль и управление им через объекты ACPI; аналогично с биометрическим считывателем отпечатков пальцев и портом 1394. Я полагаю, что каждый набор аппаратных функций, специфичных для модели компьютера make+, будет иметь свое собственное уникальное дерево имен.
Спасибо за любые указатели.
1 ответ
Лучшее место для поиска конкретных переменных - это спецификация ACPI ( http://www.acpi.info/spec.htm). Зарезервированные имена начинаются с подчеркивания '_', и все они будут описаны в спецификации.
Все остальные переменные являются специфическими для конкретного BIOS, хотя в BIOS данного поставщика наблюдается некоторая согласованность именования, и само имя может дать подсказку, хотя ограничение именования в 4 символа является неприятной проблемой!
Если вы возьмете DSDT из заданного BIOS и декомпилируете его, вы сможете получить хорошее представление о структуре и потоке ASL. Если у вас есть более конкретные вопросы, я буду рад ответить на них!