Поделиться через


Реализация обработчика области операций

Драйвер должен предоставить обработчик области операций, который является PACPI_OP_REGION_HANDLER типизированным обратным вызовом. Драйвер ACPI вызывает обработчик операций для доступа к полям данных в области операций драйвера. Объединенная работа драйвера функции и BIOS ACPI определяется поставщиком и зависит от конкретного устройства. Как правило, драйвер функции и ACPI BIOS индексы доступа в области операций, что приводит к операциям, зависящим от устройства, и возвращает все необходимые сведения.

Обработчик области операций обычно использует следующие параметры, которые драйвер ACPI передает обработчику:

  • AccessType указывает, является ли доступ чтением или записью.

    Если доступ является чтением, данные передаются из буфера памяти области операций в буфер данных . Если доступ является записью, данные передаются из буфера данных в буфер памяти области операций. См . раздел Доступ к региону операции.

  • Адрес указывает смещение в байтах в буфере памяти области операции.

  • Size указывает количество передаваемых байтов.

  • Data указывает буфер, предоставляемый драйвером ACPI для передачи данных.

  • Context указывает контекст области операций, зарегистрированный драйвером для обработчика области операций.

    Контекст области операции используется только драйвером функции и зависит от устройства.

Помимо ранее описанных параметров, драйвер ACPI также передает в обработчик области операций указатели на следующие объекты: объект области операции, обработчик завершения и контекст завершения. Однако драйвер функции не использует объект области операции в обработчике, а обработчик завершения и контекст зарезервированы для внутреннего использования.