Antarmuka ACPI: Data Spesifik Perangkat (_DSD) untuk Port Akar PCIe

Dalam Windows 10 (Versi 1803), metode _DSD ACPI baru telah ditambahkan untuk mendukung skenario hot plug Modern Standby dan PCI.

Dukungan Deepest Runtime Idle Platform State (DRIPS) yang diarahkan pada PCIe Root Ports

Objek ACPI ini harus diimplementasikan dalam lingkup ACPI dari setiap PCIe Root Port/slot yang dapat diakses oleh pengguna pada sistem modern berkemampuan Siaga yang mampu mengimplementasikan Directed Power Management Framework (DFx).

Name (_DSD, Package () {

          ToUUID("FDF06FAD-F744-4451-BB64-ECD792215B10"),

            Package () {

                Package (2) {"FundamentalDeviceResetTriggeredOnD3ToD0", 1},
            }
        }
)

Mengidentifikasi PCIe Root Ports yang mendukung hot plug di D3

Objek ACPI ini memungkinkan sistem operasi untuk mengidentifikasi dan mengelola daya port PCIe Root yang mampu menangani peristiwa hot plug saat berada dalam status D3. Jika objek ini tidak diimplementasikan pada port berkemampuan hot plug PCIe, maka sistem tidak mendukung pengelolaan port ini jika tidak memiliki perangkat PCIe anak-anak, menyebabkan sistem mengonsumsi daya lebih dari yang diperlukan.

Objek ini harus diimplementasikan pada semua port akar PCIe hierarki Thunderbolt, pada sistem berkemampuan Runtime D3 (RTD3), dalam cakupan perangkat ROOT Port ACPI.

Name (_DSD, Package () {  

        ToUUID("6211E2C0-58A3-4AF3-90E1-927A4E0C55A4"),  

        Package () {  

            Package (2) {"HotPlugSupportInD3", 1},  

                   }
        }
)

Mengidentifikasi Port Akar PCIe yang terekspos secara eksternal

Objek ACPI ini memungkinkan sistem operasi mengidentifikasi hierarki PCIe yang terekspos secara eksternal, seperti Thunderbolt. Objek ini harus diimplementasikan dalam lingkup perangkat ROOT Port ACPI.

Catatan: Pada sistem yang dikirim dengan Windows 10, versi 1803, objek ini hanya boleh diimplementasikan pada PORT Akar PCIe hierarki Thunderbolt.

Name (_DSD, Package () {  

ToUUID("EFCC06CC-73AC-4BC3-BFF0-76143807C389"),
Package () {
Package (2) {"ExternalFacingPort", 1}, // Property 1: This is an externally facing port/hierarchy
Package (2) {"UID", 0}, // Property 2: UID of the externally facing port on platform, range is: 0, 1, …, n-1
                   }
        }
)

Mengidentifikasi port PCIe internal yang dapat diakses oleh pengguna dan memerlukan perlindungan DMA

Objek ACPI ini memungkinkan sistem operasi untuk mengidentifikasi hierarki PCIe internal yang mudah diakses oleh pengguna (seperti, slot PCIe Laptop M.2 yang dapat diakses dengan cara kait) dan memerlukan perlindungan oleh mekanisme Perlindungan OS Kernel DMA . Objek ini harus diimplementasikan dalam lingkup perangkat ROOT Port ACPI.

Item kunci catatan:

  • Melindungi port PCI menggunakan objek ACPI ini hanya didukung di Windows 10, versi 1903 dan yang lebih baru.

  • Perlindungan DMA Kernel harus diaktifkan dalam sistem BIOS/UEFI, agar OS dapat mengurai _DSD dan menerapkan perlindungan yang diperlukan ke port PCI.

  • Driver perangkat yang terhubung ke port ini HARUS mendukung pemindahan ulang DMA, jika tidak Windows 10 dapat memblokir perangkat ini agar tidak beroperasi hingga pengguna masuk atau tanpa batas waktu, tergantung pada Kebijakan DMAGuard.

Name (_DSD, Package () {  

ToUUID("70D24161-6DD5-4C9E-8070-705531292865"),
Package () {
Package (2) {"DmaProperty", 1}, // Property 1: This port needs to be protected by the OS
Package (2) {"UID", 0}, // Property 2: UID of the PCIe port on platform, range is: 0, 1, …, n-1
                   }
        }
)

Mengidentifikasi port PCIe yang mendukung Antarmuka ECN D3_COLD_AUX_POWER

Objek ACPI ini memungkinkan sistem operasi untuk mengidentifikasi port PCIe yang mendukung D3_COLD_AUX_POWER antarmuka ECN, yang memungkinkan perangkat PCIe untuk meminta dari platform daya tambahan tambahan di D3, di atas default 375mA @3.3V. Setiap port PCI atau jembatan yang mendefinisikan DSD ini harus menjamin bahwa ketika pemrograman kembali nilai daya tambahan yang dinegosiasikan sebelumnya, operasi berhasil.

Name (_DSD, Package () {
            ToUUID("6B4AD420-8FD3-4364-ACF8-EB94876FD9EB"),
            Package () {
            }
        }
)

Pemetaan protokol asli (PCIe, DisplayPort) yang terowongan melalui Router Host USB4 ke USB4

Objek ACPI ini memungkinkan sistem operasi untuk memetakan protokol asli, seperti PCIe dan DisplayPort, terowongan melalui USB4 ke router host USB4 yang benar.

Dalam sampel berikut, Device (DSB0) memiliki dependensi pada \_SB.PCI0.NHI0.

Scope (\_SB.PCI0)
{
    Device (NHI0) { } //Host interface instance which has dependency on \_SB.PCI0.NHI0
    Device (DSB0) //Tunneled PCIe port instance
    {
        Name (_DSD, Package () {
            ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), //Device Properties UUID 
            Package () {
                Package () { “usb4-host-interface", \_SB.PCI0.NHI0 },
                Package () { “usb4-port-number", PortInstance#},
            }
        })
    }
    Device (…) //Extend to DP and USB tunneled ports, as needed 
    {
        Name (_DSD, Package () {
            ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), //Device Properties UUID 
            Package () {
                Package () { “usb4-host-interface", \_SB.PCI0.NHI0 },
                Package () { “usb4-port-number", PortInstance#},
            }
        })
    }
}

Lihat juga

Mengaktifkan PCI Express Native Control di Windows

Perlindungan DMA Kernel untuk Thunderbolt 3

Mengaktifkan Remapping DMA untuk driver perangkat

struktur D3COLD_AUX_POWER_AND_TIMING_INTERFACE