Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Miniporttreiber für eine PCI Express (PCIe) Virtual Function (VF) wird im Gastbetriebssystem einer untergeordneten Hyper-V-Partition ausgeführt. Aus diesem Fall kann der VF-Miniporttreiber nicht direkt auf Hardwareressourcen wie den PCI-Konfigurationsraum des VF zugreifen. Nur der Miniporttreiber für die PCIe Physical Function (PF) kann auf den PCI-Konfigurationsraum für eine VF zugreifen. Der PF-Miniporttreiber wird im Verwaltungsbetriebssystem einer übergeordneten Hyper-V-Partition ausgeführt und hat privilegierten Zugriff auf die VF-Ressourcen.
Der überlastende Treiber, z. B. der Virtualisierungsstapel, gibt die OID-Set-Anforderung von OID_SRIOV_WRITE_VF_CONFIG_SPACE aus, wenn der VF-Miniporttreiber NdisMSetBusData aufruft , um in seinen PCI-Konfigurationsraum zu schreiben.
Bevor er diese OID-Setanforderung ausgibt, muss der überlastende Treiber die Member derNDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS-Struktur wie folgt festlegen:
Legen Sie den VFId-Member auf den Bezeichner des VF fest, für den die Informationen geschrieben werden sollen.
Legen Sie den Offset-Member auf den Offset im PCI-Konfigurationsraum des VF fest, in den Daten geschrieben werden.
Legen Sie das Length-Element auf die Anzahl der Bytes fest, die in den PCI-Konfigurationsraum des VF geschrieben werden sollen.
Legen Sie den BufferOffset-Member auf den Offset innerhalb des Puffers fest (auf den derInformationBuffer-Member verweist), der die Daten enthält, die in den angegebenen PCI-Konfigurationsraum des angegebenen VF geschrieben werden. Dieser Offset wird in Byteseinheiten vom Anfang der NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS-Struktur angegeben.
Wenn er die OID-Methodenanforderung von OID_SRIOV_WRITE_VF_CONFIG_SPACE verarbeitet, muss der PF-Miniporttreiber die folgenden Richtlinien befolgen:
Der PF-Miniporttreiber muss überprüfen, ob der VF, der vom VFId-Member der NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS-Struktur angegeben wird, Ressourcen aufweist, die zuvor zugewiesen wurden. Der PF-Miniporttreiber weist Ressourcen für eine VF über eine OID-Methodenanforderung von OID_NIC_SWITCH_ALLOCATE_VF zu.
Wenn ressourcen für die angegebene VF nicht zugewiesen wurden, muss der Treiber die OID-Anforderung nicht ausführen.
Der PF-Miniporttreiber ruft NdisMSetVirtualFunctionBusData auf, um in den angeforderten PCI-Konfigurationsraum zu schreiben. Der PF-Miniporttreiber kann jedoch auch PCI-Konfigurationsspeicherdaten für die VF zurückgeben, die der Treiber aus vorherigen Lese- oder Schreibvorgängen des PCI-Konfigurationsraums zwischengespeichert hat.
Hinweis Wenn ein unabhängiger Hardwareanbieter (Independent Hardware Vendor, IHV) als Teil des SR-IOV-Treiberpakets einen virtuellen Bustreiber (VBD) bereitstellt, darf sein PF-Miniporttreiber NdisMSetVirtualFunctionBusData nicht aufrufen. Stattdessen muss der Treiber über einen privaten Kommunikationskanal mit dem VBD kommunizieren und anfordern, dass der VBD SetVirtualFunctionData aufruft. Diese Funktion wird über die GUID_VPCI_INTERFACE_STANDARD-Schnittstelle verfügbar gemacht, die vom zugrunde liegenden VIRTUAL PCI-Bustreiber (VPCI) unterstützt wird.
Wenn der PF-Miniporttreiber die OID-Anforderung erfolgreich abschließen kann, muss der Treiber die angeforderten PCI-Konfigurationsraumdaten in den Puffer kopieren, auf den vom InformationBuffer-Member der NDIS_OID_REQUEST-Struktur verwiesen wird. Der Treiber kopiert die Daten in den Puffer an dem Offset, der durch dasBufferOffset-Element der NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS-Struktur angegeben wird.