Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En miniportdrivrutin för en virtuell PCI Express-funktion (PCIe) (VF) kommunicerar med miniportdrivrutinen för PCIe Physical Function (PF) för att läsa eller skriva data från ett VF-konfigurationsblock.
Ett VF-konfigurationsblock används för backchannel-kommunikation mellan PF- och VF-miniportdrivrutinerna. Den oberoende maskinvaruleverantören (IHV) kan definiera ett eller flera VF-konfigurationsblock för enheten. Varje VF-konfigurationsblock har ett IHV-definierat format, längd och block-ID. IHV kan till exempel definiera ett VF-konfigurationsblock som kan användas för MAC-adressen (Media Access Control) för VF-miniportdrivrutinen. Ett annat VF-konfigurationsblock kan användas för nuvarande VF och virtuella portkonfigurationen (VPort).
Note Data från varje VF-konfigurationsblock används endast av PF- och VF-miniportdrivrutinerna. Formatet och innehållet i dessa data är ogenomskinliga för komponenter i Windows-operativsystemet.
Varje VF-konfigurationsblock tilldelas en unik identifierare av IHV. Detta gör att VF-miniportdrivrutinen kan fråga eller ange information om specifika VF-konfigurationsblock.
VF-miniportdrivrutiner initierar läs- eller skrivåtgärden på ett angivet VF-konfigurationsblock via följande funktioner:
NdisMReadConfigBlock, som läser data från ett angivet VF-konfigurationsblock. När VF-miniportdrivrutinen anropar den här funktionen anger den blockidentifierare och längden på de data som ska läsas. Drivrutinen skickar också en pekare till bufferten som ska innehålla de önskade data.
NdisMWriteConfigBlock, som skriver data till ett angivet VF-konfigurationsblock. När VF-miniportdrivrutinen anropar den här funktionen anger den blockidentifieraren och längden på de data som ska skrivas. Drivrutinen skickar också en pekare till bufferten som data ska skrivas från.
PF-miniportdrivrutinen hanterar åtkomsten till det angivna VF-konfigurationsblocket på följande sätt:
När VF-miniportdrivrutinen anropar NdisMReadConfigBlock, utfärdar NDIS en metodbegäran för objektidentifierare (OID) OID_SRIOV_READ_VF_CONFIG_BLOCK till PF-miniportdrivrutinen. Den här OID-begäran innehåller parameterdata som skickades av VF-miniportdrivrutinen i funktionsanropet.
PF-miniportdrivrutinen utför läsåtgärden och returnerar begärda data när drivrutinen slutför OID-begäran. När OID-begäran har slutförts returnerar NDIS från anropet till NdisMReadConfigBlock.
När VF-miniportdrivrutinen anropar NdisMWriteConfigBlockutfärdar NDIS en OID-metodbegäran om OID_SRIOV_WRITE_VF_CONFIG_BLOCK till PF-miniportdrivrutinen. Den här OID-begäran innehåller parameterdata som skickades av VF-miniportdrivrutinen i funktionsanropet.
PF-miniportdrivrutinen utför skrivåtgärden och slutför OID-begäran. När OID-begäran har slutförts returnerar NDIS från anropet till NdisMWriteConfigBlock.
Följande bild visar processen med att läsa och skriva VF-konfigurationsblock över SR-IOV backchannel-gränssnittet.