Pengkompilasi Microsoft ASL

Versi 5.0 dari kompilator bahasa sumber Microsoft ACPI (ASL) mendukung fitur dalam Konfigurasi Tingkat Lanjut dan Spesifikasi Power Interface, Revisi 5.0 (spesifikasi ACPI 5.0). Pengkompilasi ASL didistribusikan dengan Windows Driver Kit (WDK).

Unduh 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\<build #>\<build architecture>\ACPIVerify.

Anda harus terlebih dahulu menginstal SDK, diikuti oleh WDK. Nomor build untuk dua kit harus cocok.

Opsi baris Perintah

Pengkompilasi ASL mendukung beberapa opsi baris perintah. Untuk mencantumkan informasi versi dan opsi baris perintah yang tersedia, jalankan perintah "asl /?" di jendela Prompt Perintah.

Penggunaan pengkompilasi ASL

Pengkompilasi ASL mendukung opsi baris perintah berikut:

asl /?
asl [/nologo] /d <BinFile>
asl [/nologo] /u [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <AMLFile>
asl [/nologo] /tab=<TabSig> [/c] [/Fa=<ASMfile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>]
asl [/nologo] [/Fo=<AMLFile>] [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <ASLFile>
Opsi Deskripsi
? Cetak pesan bantuan ini.
nologo Tekan banner logo.
Fo=<AMLFile> Ganti nama file AML di DefinitionBlock.
Fa=<ASMFile> Buat . File ASM dengan nama <ASMFile>.
Fn=<NSDFile> Buat file NameSpace Dump dengan nama <NSDFile>.
d Buang file biner dalam bentuk teks.
u Menyatukan file AML ke . File ASL (default) atau . File LST.
tab=<TabSig> Tidak merakit tabel ASL ke . File ASL (default) atau . File LST. Buang tabel non-ASL ke file .TXT. Jika <TabSig> adalah '*', semua tabel dicadangkan untuk ACPI.TXT. <TabSig> juga dapat menjadi alamat fisik tabel.
c Membuat file biner dari tabel.

Menggunakan fitur beban tabel ACPI-compiler MICROSOFT ASL

Selama pengembangan sistem, berguna untuk memiliki cara untuk mensimulasikan berbagai konstruksi BIOS ACPI dan mengujinya pada sistem pengembangan. Sistem operasi Windows memungkinkan tabel ACPI tertentu dimuat dari registri Windows alih-alih dari BIOS ROM PC. Penggunaan fitur ini memerlukan hak istimewa administrator, dan juga mengharuskan penandatanganan pengujian diaktifkan pada sistem. Untuk sistem yang mendukung Boot Aman UEFI, penandatanganan pengujian tidak dapat diaktifkan, dan fitur beban tabel pengkompilasi tidak dapat digunakan kecuali Boot Aman UEFI dinonaktifkan atau Kebijakan Debug Windows diinstal pada sistem.

Untuk menggunakan fitur pemuatan tabel, tabel ACPI yang akan kelebihan beban harus memenuhi persyaratan berikut:

  • Tabel yang akan kelebihan beban harus sudah ada di BIOS ROM sistem. Misalnya, DSDT dapat kelebihan beban; namun, jika mesin tidak memiliki SSDT, Anda tidak dapat memaksa SSDT untuk dimuat dari mekanisme penimpaan registri ini.

  • Tabel harus berisi kode AML yang biasanya dikonsumsi oleh penerjemah Windows ACPI (driver Acpi.sys).

  • Tabel dengan nomor versi tertinggi akan dimuat. Tabel yang dimuat ke dalam registri untuk pengujian harus memiliki nomor versi yang lebih tinggi daripada tabel yang sama di BIOS ROM.

  • Tabel yang akan dimuat harus dalam format kompilasi (AML) dan dimuat ke dalam registri di lokasi yang benar, dengan parameter yang benar ditentukan. Mekanisme yang dijelaskan di sini dirancang untuk menangani semua aspek pemuatan tabel dan mengonfigurasi registri.

Peringatan

Proses yang dijelaskan dalam topik ini dapat membuat sistem Windows Anda dalam keadaan tidak dapat di-boot. Pastikan Anda memiliki akses ke sistem operasi lain dengan dukungan sistem file NTFS (yaitu, "build aman") pada komputer yang sama sebelum mencoba prosedur yang diuraikan di sini. Proses ini disediakan hanya untuk pengembang dan penguji sistem, dan TIDAK boleh digunakan pada mesin apa pun yang penting untuk tujuan pengembangan atau produksi.

Penggunaan acpi-table-load

Untuk memuat tabel ACPI ke dalam registri untuk tujuan pengujian, pengkompilasi ASL dipanggil sebagai berikut:

asl.exe /loadtable [-v] [-d] <AMLFile>

di mana AMLFile adalah nama file AML yang dikompilasi yang berisi tabel yang ingin Anda muat ke dalam registri.

Opsi Deskripsi
-v Mode verbose. Mengaktifkan output penelusuran kesalahan tambahan dari utilitas.
-d Hapus. Menghapus file AML yang dimuat sebelumnya dari registri, dan menghapus semua kunci registri terkait.

Sumber Daya Tambahan: