Sdílet prostřednictvím


Implementace obslužné rutiny oblasti operace

Ovladač musí poskytnout obslužnou rutinu oblasti operace, což je PACPI_OP_REGION_HANDLERzpětné volání typu. Ovladač ACPI volá obslužnou funkci pro přístup k datovým polím v operační oblasti ovladače. Kombinovaná operace ovladače funkce a systému ACPI BIOS je definovaná dodavatelem a specifická pro zařízení. Obecně platí, že ovladač funkce a ACPI BIOS přistupují k přístupovým indexům v operační oblasti, což vede k operacím specifickým pro zařízení a vrací vhodné informace.

Obslužná rutina oblasti operace obvykle používá následující parametry, které ovladač ACPI předává obslužné rutině:

  • AccessType určuje, jestli je přístup čtením nebo zápisem.

    Pokud je přístup čtený, data se přenesou z vyrovnávací paměti oblasti operace do vyrovnávací paměti Data. Pokud je přístup zápisem, data se přenesou z vyrovnávací paměti Data do vyrovnávací paměti oblasti operace. Viz přístup k operační oblasti.

  • Adresa určuje posun bajtů v vyrovnávací paměti oblasti operace.

  • Velikost určuje počet bajtů, které se mají přenést.

  • Data určuje vyrovnávací paměť dodávanou ovladačem ACPI pro přenos dat.

  • Kontext určuje kontext oblasti operace, který ovladač zaregistroval pro obslužnou rutinu oblasti operace.

    Kontext oblasti operace používá pouze ovladač funkce a je specifický pro zařízení.

Kromě dříve popsaných parametrů ovladač ACPI také předává ukazatele obslužné rutiny oblasti operace na následující: objekt oblasti operace, obslužnou rutinu dokončení a kontext dokončení. Ovladač funkce však nepoužívá objekt operační oblasti v obslužné rutině a dokončovací obslužná rutina a kontext jsou vyhrazeny pro interní použití.