Tabel deskripsi sistem ACPI

Implementasi Spesifikasi Perangkat Keras Konfigurasi Lanjutan dan Power Interface (ACPI) tidak diperlukan pada platform berbasis SoC, tetapi banyak spesifikasi perangkat lunak ACPI (atau dapat) diperlukan. ACPI mendefinisikan mekanisme lolos tabel generik dan dapat diperluas, ditambah tabel tertentu untuk menjelaskan platform ke sistem operasi.

Struktur dan header tabel, termasuk bidang ID dan checksum, ditentukan dalam spesifikasi ACPI 5.0. Windows menggunakan mekanisme passing tabel ini, selain tabel tertentu yang dijelaskan dalam artikel ini.

Ide di balik tabel ini adalah untuk memungkinkan perangkat lunak generik mendukung blok kekayaan intelektual (IP) standar yang dapat diintegrasikan ke dalam berbagai platform dengan berbagai cara. Dengan strategi tabel, atribut variabel platform dari platform tertentu disediakan dalam tabel, dan digunakan oleh perangkat lunak generik untuk menyesuaikan dirinya dengan set blok IP tertentu yang terintegrasi ke dalam platform. Oleh karena itu, perangkat lunak ini dapat ditulis sekali, diuji secara menyeluruh, dan kemudian dioptimalkan dari waktu ke waktu.

Penunjuk Deskripsi Sistem Akar (RSDP)

Windows tergantung pada firmware UEFI untuk mem-boot platform perangkat keras. Oleh karena itu, Windows akan menggunakan tabel sistem EFI untuk menemukan RSDP, seperti yang dijelaskan dalam bagian 5.2.5.2, "Menemukan RSDP pada Sistem yang Diaktifkan UEFI", dari spesifikasi ACPI 5.0. Firmware platform mengisi alamat RSDT atau XSDT di RSDP. (Jika kedua alamat tabel disediakan, Windows lebih suka XSDT.)

Tabel Deskripsi Sistem Akar (RSDT)

RSDT (atau XSDT) mencakup pointer ke tabel deskripsi sistem lain yang disediakan pada platform. Secara khusus, tabel ini berisi penunjuk ke tabel berikut:

  • Tabel Perangkat Keras ACPI Tetap (FADT)

  • Beberapa tabel pengontrol interupsi (MADT)

  • Secara opsional, Tabel Sumber Daya Sistem Inti (CSRT)

  • Tabel Port Debug 2 (DBG2)

  • Tabel Sumber Daya Grafik Boot (BGRT)

  • Tabel Data Performa Firmware (FPDT)

  • Tabel deskripsi sistem dasar (DSDT)

  • Secara opsional, tabel deskripsi sistem tambahan (SSDT)

Memperbaiki Tabel Deskripsi ACPI (FADT)

Tabel Perangkat Keras ACPI Tetap (FADT) berisi informasi penting tentang berbagai fitur Perangkat Keras Tetap yang tersedia di platform. Untuk mendukung platform ACPI yang dikurangi perangkat keras, ACPI 5.0 memperluas definisi tabel FADT sebagai berikut:

  • Bidang Bendera dalam FADT (offset 112) memiliki dua bendera baru:

    HARDWARE_REDUCED_ACPI Bit offset 20. Menunjukkan bahwa perangkat keras ACPI tidak tersedia di platform ini. Bendera ini harus diatur jika Model Pemrograman Perangkat Keras Tetap ACPI tidak diimplementasikan.

    LOW_POWER_S0_IDLE_CAPABLE Bit offset 21. Menunjukkan bahwa platform mendukung status diam berdaya rendah dalam status daya sistem ACPI S0 yang lebih hemat energi daripada status tidur Sx. Jika bendera ini diatur, Windows tidak akan mencoba tidur dan melanjutkan, tetapi akan menggunakan status diam platform dan siaga yang terhubung.

  • Bidang Preferred_PM_Profile FADT (byte offset 45) memiliki entri peran baru, "Tablet". Peran ini memengaruhi kebijakan manajemen daya untuk tampilan dan input, dan memengaruhi tampilan keyboard di layar.

  • Bidang "Bendera Arsitektur Boot IA-PC" (offset 109) memiliki bendera "CMOS RTC Not Present" baru (bit offset 5) untuk menunjukkan bahwa CMOS RTC PC tidak diimplementasikan, atau tidak ada di alamat warisan. Jika bendera ini diatur, platform harus mengimplementasikan perangkat Waktu ACPI dan Metode Kontrol Alarm. Untuk informasi selengkapnya, lihat bagian Waktu Metode Kontrol dan perangkat Alarm di artikel perangkat yang ditentukan ACPI .

  • Bidang baru ditambahkan untuk mendukung tidur/melanjutkan PC tradisional pada platform ACPI yang dikurangi perangkat keras. Bidang ini diabaikan oleh Windows, tetapi harus ada dalam tabel untuk kepatuhan.

  • Jika bendera HARDWARE_REDUCED_ACPI diatur, semua bidang yang berkaitan dengan Spesifikasi Perangkat Keras ACPI diabaikan oleh sistem operasi.

Semua pengaturan FADT lainnya mempertahankan maknanya dari versi sebelumnya, ACPI 4.0. Untuk informasi selengkapnya, lihat bagian 5.2.9, "Tabel Deskripsi ACPI Tetap (FADT)", dari spesifikasi ACPI 5.0.

Beberapa Tabel Deskripsi APIC (MADT)

Dalam implementasi PC ACPI, Multiple APIC Description Table (MADT) dan deskriptor pengontrol interupsi khusus PC digunakan untuk menggambarkan model gangguan sistem. Untuk platform SoC berbasis Arm, ACPI 5.0 menambahkan deskriptor untuk Pengontrol Interupsi Generik (GIC) dan GIC Distributor Arm Holdings. Windows menyertakan dukungan kotak masuk untuk Distributor GIC dan GIC. Untuk informasi selengkapnya tentang deskriptor ini, lihat bagian 5.2.12.14, "Struktur GIC", dan 5.2.12.15, "Struktur Distributor GIC", dari spesifikasi ACPI 5.0.

Struktur deskriptor pengontrol interupsi dicantumkan segera setelah bidang Bendera di MADT. Untuk platform Arm, satu deskriptor dicantumkan untuk setiap GIC, diikuti oleh satu untuk setiap Distributor GIC. GIC yang sesuai dengan prosesor boot harus menjadi entri pertama dalam daftar deskriptor pengontrol interupsi.

Tabel Deskripsi Timer Generik (GTDT)

Seperti halnya pengontrol interupsi, ada tabel deskripsi timer standar di ACPI. Untuk sistem Arm yang menggunakan timer GIT, GTDT ACPI dapat digunakan untuk memanfaatkan dukungan bawaan untuk GIT di Windows.

Tabel Sumber Daya Sistem Inti (CSRT)

Sumber Daya Sistem Inti (CSR) adalah fungsi perangkat keras bersama seperti pengontrol interupsi, timer, dan pengontrol DMA tempat sistem operasi harus menserialisasikan akses. Di mana standar industri ada untuk fitur seperti timer dan pengontrol interupsi (pada arsitektur x86 dan Arm), Windows membangun dukungan untuk fitur-fitur ini berdasarkan tabel standar yang dijelaskan dalam ACPI (misalnya, MADT dan GTDT). Namun, sampai industri menyatu pada standar antarmuka pengontrol DMA, ada kebutuhan untuk mendukung beberapa perangkat non-standar dalam sistem operasi.

Windows mendukung konsep ekstensi HAL untuk mengatasi masalah ini. Ekstensi HAL adalah modul khusus SoC, diimplementasikan sebagai DLL, yang mengadaptasi Windows HAL ke antarmuka perangkat keras tertentu dari kelas CSR tertentu yang diperlukan oleh Windows. Untuk mengidentifikasi dan memuat modul CSR non-standar ini, Microsoft telah menentukan tabel ACPI baru. Tabel ini, yang memiliki tanda tangan khusus "CSRT" dalam spesifikasi ACPI, harus disertakan dalam RSDT jika CSR non-standar digunakan pada platform.

CSRT menjelaskan grup sumber daya CSR, di mana setiap grup sumber daya mengidentifikasi perangkat keras dari jenis tertentu. Windows menggunakan pengidentifikasi yang disediakan untuk grup sumber daya guna menemukan dan memuat ekstensi HAL yang diperlukan untuk grup ini. Grup sumber daya dalam CSRT mungkin juga berisi deskriptor sumber daya individual, tergantung pada jenis CSR dan kebutuhan ekstensi HAL. Format dan penggunaan deskriptor sumber daya ini didefinisikan oleh penulis ekstensi HAL, yang dapat membuat ekstensi jauh lebih portabel dan dengan demikian mendukung berbagai platform SoC yang berbeda hanya dengan mengubah deskriptor sumber daya yang terkandung dalam CSRT.

Untuk mendukung pemeliharaan ekstensi HAL, dan untuk mengelola sumber daya sistem yang digunakan oleh ekstensi ini, setiap grup sumber daya yang dijelaskan dalam CSRT juga harus direpresentasikan sebagai perangkat dalam namespace ACPI platform. Untuk informasi selengkapnya, lihat bagian "Tabel Deskripsi Sistem Berbeda (DSDT)" berikut ini. Pengidentifikasi perangkat yang digunakan di header grup sumber daya harus cocok dengan pengidentifikasi yang digunakan dalam simpul namespace perangkat. Untuk informasi selengkapnya, lihat bagian Identifikasi Perangkat di ACPI di artikel Objek namespace manajemen perangkat . Keberadaan perangkat namespace grup sumber daya ini memungkinkan ekstensi HAL dilayankan oleh Windows Update Service.

Untuk informasi selengkapnya, lihat spesifikasi Tabel Sumber Daya Sistem Inti (CSRT).

Tabel Port Debug 2 (DBG2)

Microsoft memerlukan port debug di semua sistem. Untuk menjelaskan port debug yang disertakan dalam platform, Microsoft menentukan Debug Port Table 2 (DBG2) untuk ACPI. Tabel ini menentukan satu atau beberapa port independen untuk tujuan penelusuran kesalahan. Kehadiran tabel DBG2 menunjukkan bahwa platform menyertakan setidaknya satu port debug. Tabel ini mencakup informasi tentang identitas dan konfigurasi port debug. Tabel terletak di memori sistem dengan tabel ACPI lainnya, dan harus dirujuk dalam tabel ACPI RSDT.

Windows menggunakan nilai Jenis Port dalam tabel DBG2 untuk mengidentifikasi dan memuat transportasi Kernel Debugger (KD) (misalnya, USB atau serial) yang diperlukan sistem. Transportasi KD kemudian menggunakan nilai Subjenis Port dalam tabel DBG2 untuk mengidentifikasi antarmuka perangkat keras yang digunakan oleh port. Informasi lain dalam tabel DBG2 menentukan alamat sistem register port, yang digunakan oleh modul antarmuka perangkat keras untuk subjenis yang ditentukan. Terakhir, tabel DBG2 harus menyertakan referensi ke simpul perangkat di namespace ACPI yang sesuai dengan port debug. Referensi ini memungkinkan Windows mengelola konflik antara penggunaan penelusuran kesalahan dan penggunaan normal perangkat, jika ada, dan juga untuk mengintegrasikan debugger dengan transisi daya.

Untuk informasi selengkapnya, lihat spesifikasi Microsoft Debug Port Table 2 (DBG2).

Tabel Deskripsi Sistem Yang Dibingkai (DSDT)

Di ACPI, perangkat periferal dan fitur perangkat keras sistem pada platform dijelaskan dalam Tabel Deskripsi Sistem Berbeda (DSDT), yang dimuat saat boot, atau dalam Tabel Deskripsi Sistem Sekunder (SSDT), yang dimuat pada boot atau dimuat secara dinamis pada waktu proses. Untuk SoC, konfigurasi platform biasanya statis, sehingga DSDT mungkin cukup, meskipun SSDT juga dapat digunakan untuk meningkatkan modularitas deskripsi platform.

ACPI mendefinisikan bahasa yang ditafsirkan (bahasa sumber ACPI, atau ASL) dan lingkungan eksekusi (komputer virtual ACPI) untuk menjelaskan perangkat dan fitur sistem, dan kontrol khusus platform mereka, dengan cara OS-agnostik. ASL digunakan untuk menentukan objek bernama di namespace ACPI, dan pengkompilasi Microsoft ASL digunakan untuk menghasilkan kode byte bahasa mesin ACPI (AML) untuk transmisi ke sistem operasi di DSDT. Driver ACPI Windows kotak masuk, Acpi.sys, mengimplementasikan komputer virtual ACPI dan menginterpretasikan kode byte AML. Objek AML mungkin hanya mengembalikan informasi deskripsi. Atau, objek AML mungkin merupakan metode yang melakukan komputasi atau melakukan operasi I/O. Metode kontrol adalah objek AML yang dapat dieksekusi yang menggunakan driver perangkat sistem operasi untuk melakukan operasi I/O pada perangkat keras platform. ASL menggunakan OpRegions untuk mengabstraksi berbagai ruang alamat yang dapat diakses dalam sistem operasi. Metode kontrol melakukan operasi I/O sebagai serangkaian transfer ke dan dari bidang bernama yang dideklarasikan dalam OpRegions.

Untuk informasi selengkapnya tentang OpRegions, lihat bagian 5.5.2.4, "Akses ke Wilayah Operasi", dalam spesifikasi ACPI 5.0. Untuk informasi selengkapnya tentang ASL dan metode kontrol, lihat bagian 5.5, "Namespace ACPI", dalam spesifikasi ACPI 5.0.

Windows menyediakan dukungan untuk mengembangkan dan men-debug kode ASL. Pengkompilasi ASL menyertakan pemisah untuk memungkinkan pelaksana memuat namespace dari target penelusuran kesalahan. Pengkompilasi ASL kemudian dapat digunakan untuk menerapkan kembali namespace layanan ke target untuk pembuatan prototipe dan pengujian yang cepat—tanpa harus mem-flash firmware sistem. Selain itu, Windows Kernel Debugger, bersama dengan versi yang diperiksa (CHK) dari driver Acpi.sys, mendukung pelacakan dan analisis eksekusi AML. Untuk informasi selengkapnya, lihat Debugger AMLI.

Tabel Mitigasi Keamanan SMM Windows (WSMT)

Spesifikasi Windows SMM Security Mitigations Table (WSMT) berisi detail tabel Advanced Configuration and Power Interface (ACPI) yang dibuat untuk digunakan dengan sistem operasi Windows yang mendukung fitur keamanan berbasis virtualisasi Windows (VBS).

Informasi ini berlaku untuk sistem operasi berikut:

Server Windows 2016

Windows 10, version 1607

Untuk informasi selengkapnya, lihat spesifikasi Windows SMM Security Mitigations Table (WSMT) (unduhAN DOCX).

Tabel Firmware Boot iSCSI (iBFT)

Tabel iSCSI Boot Firmware (iBF) (iBFT) adalah blok informasi yang berisi berbagai parameter yang berguna untuk proses Boot iSCSI. iBFT adalah mekanisme di mana nilai parameter iBF disampaikan ke sistem operasi. iBF membangun dan mengisi iBFT. iBFT tersedia untuk sistem operasi Windows untuk memungkinkan alur proses boot yang konsisten.

Untuk informasi selengkapnya, lihat spesifikasi iSCSI Boot Firmware Table (iBFT) (unduhAN DOCX).