Acpi.sys (driver Windows ACPI)

Driver Windows ACPI, Acpi.sys, adalah komponen kotak masuk dari sistem operasi Windows. Tanggung jawab Acpi.sys mencakup dukungan untuk manajemen daya dan enumerasi perangkat Plug and Play (PnP). Pada platform perangkat keras yang memiliki ACPI BIOS, HAL menyebabkan Acpi.sys dimuat selama startup sistem di dasar pohon perangkat. Acpi.sys bertindak sebagai antarmuka antara sistem operasi dan ACPI BIOS. Acpi.sys transparan terhadap driver lain di pohon perangkat.

Tugas lain yang dilakukan oleh Acpi.sys pada platform perangkat keras tertentu mungkin termasuk memprogram ulang sumber daya untuk port COM atau mengaktifkan pengontrol USB untuk bangun sistem.

Dalam topik ini

Perangkat ACPI

Vendor platform perangkat keras menentukan hierarki namespace ACPI di ACPI BIOS untuk menjelaskan topologi perangkat keras platform. Untuk informasi selengkapnya, lihat Hierarki namespace ACPI.

Untuk setiap perangkat yang dijelaskan dalam hierarki namespace ACPI, driver Windows ACPI, Acpi.sys, membuat objek perangkat filter (filter DO) atau objek perangkat fisik (PDO). Jika perangkat diintegrasikan ke dalam papan sistem, Acpi.sys membuat objek perangkat filter, mewakili filter bus ACPI, dan memasangnya ke tumpukan perangkat tepat di atas driver bus (PDO). Untuk perangkat lain yang dijelaskan di namespace ACPI tetapi tidak di papan sistem, Acpi.sys membuat PDO. Acpi.sys menyediakan manajemen daya dan fitur PnP ke tumpukan perangkat dengan objek perangkat ini. Untuk informasi selengkapnya, lihat Tumpukan perangkat untuk perangkat ACPI.

Perangkat yang Acpi.sys membuat objek perangkat disebut perangkat ACPI. Set perangkat ACPI bervariasi dari satu platform perangkat keras ke platform berikutnya, dan tergantung pada ACPI BIOS dan konfigurasi motherboard. Acpi.sys memuat filter bus ACPI hanya untuk perangkat yang dijelaskan di namespace ACPI dan terhubung secara permanen ke platform perangkat keras (biasanya, perangkat ini diintegrasikan ke dalam silikon inti atau disalurkan ke papan sistem). Tidak semua perangkat motherboard memiliki filter bus ACPI.

Semua fungsi acpi transparan terhadap driver tingkat yang lebih tinggi. Driver ini tidak boleh membuat asumsi tentang ada atau tidak adanya filter ACPI di tumpukan perangkat tertentu.

Acpi.sys dan ACPI BIOS mendukung fungsi dasar perangkat ACPI. Untuk meningkatkan fungsionalitas perangkat ACPI, vendor perangkat dapat menyediakan driver fungsi WDM. Untuk informasi selengkapnya, lihat Pengoperasian driver fungsi perangkat ACPI.

Perangkat ACPI ditentukan oleh blok definisi dalam tabel deskripsi sistem di ACPI BIOS. Blok definisi perangkat menentukan, antara lain, wilayah operasi, yang merupakan blok memori perangkat yang berdekatan yang digunakan untuk mengakses data perangkat. Hanya Acpi.sys memodifikasi data di wilayah operasi. Driver fungsi perangkat dapat membaca data di wilayah operasi tetapi tidak boleh mengubah data. Ketika dipanggil, handler wilayah operasi mentransfer byte di wilayah operasi ke dan dari buffer data di Acpi.sys. Operasi gabungan driver fungsi dan Acpi.sys khusus perangkat dan didefinisikan dalam ACPI BIOS oleh vendor perangkat keras. Secara umum, driver fungsi dan Acpi.sys mengakses area tertentu di wilayah operasi untuk melakukan operasi khusus perangkat dan mengambil informasi. Untuk informasi selengkapnya, lihat Mendukung wilayah operasi.

Metode kontrol ACPI

Metode kontrol ACPI adalah objek perangkat lunak yang mendeklarasikan dan menentukan operasi sederhana untuk mengkueri dan mengonfigurasi perangkat ACPI. Metode kontrol disimpan dalam ACPI BIOS dan dikodekan dalam format byte-code yang disebut bahasa mesin ACPI (AML). Metode kontrol untuk perangkat dimuat dari firmware sistem ke dalam namespace ACPI perangkat dalam memori, dan ditafsirkan oleh driver Windows ACPI, Acpi.sys.

Untuk memanggil metode kontrol, driver mode kernel untuk perangkat ACPI memulai permintaan IRP_MJ_DEVICE_CONTROL , yang ditangani oleh Acpi.sys. Untuk driver yang dimuat pada perangkat yang dijumlahkan ACPI, Acpi.sys selalu mengimplementasikan objek perangkat fisik (PDO) di tumpukan driver. Untuk informasi selengkapnya, lihat Mengevaluasi metode kontrol ACPI.

Spesifikasi ACPI

Konfigurasi Tingkat Lanjut dan Spesifikasi Antarmuka Daya (spesifikasi ACPI 5.0) tersedia dari situs web Forum Antarmuka Firmware Unified Extensible.

Revisi 5.0 spesifikasi ACPI memperkenalkan serangkaian fitur untuk mendukung PC seluler berdaya rendah yang didasarkan pada sirkuit terintegrasi System on Chip (SoC) dan yang mengimplementasikan model daya siaga yang terhubung . Dimulai dengan Windows 8 dan versi yang lebih baru, driver Windows ACPI, Acpi.sys, mendukung fitur baru dalam spesifikasi ACPI 5.0. Untuk informasi selengkapnya, lihat Panduan desain Windows ACPI untuk platform SoC.

Penelusuran kesalahan ACPI

Integrator sistem dan pengembang driver perangkat ACPI dapat menggunakan debugger Microsoft AMLI untuk men-debug kode AML. Karena AML adalah bahasa yang ditafsirkan, penelusuran kesalahan AML memerlukan alat perangkat lunak khusus.

Untuk informasi selengkapnya tentang debugger AMLI, lihat Penelusuran kesalahan ACPI.

Pengkompilasi bahasa sumber (ASL) Microsoft ACPI

Untuk informasi tentang mengkompilasi bahasa sumber ACPI (ASL) ke dalam bahasa mesin ACPI (AML), lihat pengkompilasi Microsoft ASL.

Compiler Microsoft ASL versi 5.0 mendukung fitur dalam spesifikasi ACPI 5.0.

Pengkompilasi ASL didistribusikan dengan Windows Driver Kit (WDK).

Pengkompilasi ASL (asl.exe) terletak di direktori Tools\arm\ACPIVerify, Tools\arm64\ACPIVerify, Tools\x86\ACPIVerify, dan Tools\x64\ACPIVerify dari WDK yang diinstal, misalnya, C:\Program Files (x86)\Windows Kits\10\Tools\x86\ACPIVerify.