Где находится каталог объектов в пространстве имен 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. Если у вас есть более конкретные вопросы, я буду рад ответить на них!

Другие вопросы по тегам