Bagikan melalui


Menginisialisasi Driver VF Miniport

Topik ini menjelaskan panduan untuk menulis fungsi MiniportInitializeEx untuk driver miniport untuk Fungsi Virtual (VF) PCI Express (PCIe). VF diekspos oleh adaptor jaringan yang mendukung virtualisasi I/O root tunggal (SR-IOV).

Catatan

 Panduan ini hanya berlaku untuk driver miniport VF adaptor jaringan SR-IOV. Untuk panduan inisialisasi untuk driver miniport pcie Physical Function (PF) adaptor, lihat Menginisialisasi Driver Miniport PF. 

Driver miniport VF mengikuti langkah yang sama dengan driver miniport NDIS saat fungsi MiniportInitializeEx-nya dipanggil. Untuk informasi selengkapnya tentang langkah-langkah ini, lihat Menginisialisasi Driver Miniport.

Selain langkah-langkah ini, driver miniport VF harus mengikuti langkah-langkah tambahan ini ketika NDIS memanggil fungsi MiniportInitializeEx driver:

  • Driver miniport VF memanggil fungsi NdisGetHypervisorInfo untuk memverifikasi bahwa driver tersebut berjalan di partisi anak Hyper-V. Fungsi ini mengembalikan struktur NDIS_HYPERVISOR_INFO yang menentukan jenis partisi. Jika jenis partisi dilaporkan sebagai NdisHypervisorPartitionMsHvChild, driver miniport berjalan dalam partisi anak Hyper-V yang melekat pada PF pada adaptor.

    Catatan

    Jika jenis partisi dilaporkan sebagai NdisHypervisorPartitionMsHvParent, driver miniport berjalan di partisi induk Hyper-V yang melekat pada PF pada adaptor. Dalam hal ini, driver miniport tidak boleh diinisialisasi sebagai driver VF. Jika memungkinkan, driver harus menginisialisasi sebagai driver PF seperti yang dijelaskan dalam Urutan Inisialisasi untuk Driver PF Miniport.

  • Tidak seperti driver miniport PF, driver miniport VF tidak boleh diinstal dengan kata kunci standar SR-IOV dan tidak boleh mencoba membaca kata kunci ini. Untuk informasi selengkapnya tentang kata kunci ini, lihat Kata Kunci INF Standar untuk SR-IOV.

  • Driver miniport VF melaporkan kemampuan perangkat keras SR-IOV dari adaptor jaringan virtual yang mendasar melalui struktur NDIS_SRIOV_CAPABILITIES yang diinisialisasi dengan cara berikut:

    1. Driver miniport menginisialisasi anggota Header . Driver mengatur tipe anggota Header ke NDIS_OBJECT_TYPE_DEFAULT.

      Dimulai dengan NDIS 6.30, driver miniport mengatur anggota Revisi Header ke NDIS_SRIOV_CAPABILITIES _REVISION_1 dan anggota Ukuran ke NDIS_SIZEOF_SRIOV_CAPABILITIES_REVISION_1.

    2. Driver miniport menetapkan bendera NDIS_SRIOV_CAPS_PF_MINIPORT di anggota SriovCapabilities untuk melaporkan kemampuan SR-IOV.

      Catatan

      Driver miniport VF harus mengatur bendera NDIS_SRIOV_CAPS_VF_MINIPORT dan bendera NDIS_SRIOV_CAPS_SRIOV_SUPPORTED.

    Driver miniport VF mendaftarkan kemampuan SR-IOV adaptor jaringan dengan mengikuti langkah-langkah berikut:

    1. Driver miniport menginisialisasi struktur NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES .

      Driver miniport mengatur anggota HardwareSriovCapabilities dan CurrentSriovCapabilities ke pointer ke struktur NDIS_SRIOV_CAPABILITIES yang diinisialisasi sebelumnya.

    2. Driver memanggil NdisMSetMiniportAttributes dan mengatur parameter MiniportAttributes ke penunjuk ke struktur NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES.

  • Driver miniport VF tidak boleh mengiklankan kemampuan antrean komputer virtual (VMQ). Namun, driver dapat mengiklankan dukungan untuk teknologi NDIS lainnya, seperti manajemen daya dan menerima penskalaan sisi (RSS).

    Untuk informasi selengkapnya tentang RSS, lihat Menerima Penskalaan Sisi.