Kommentar
Å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.
Miniportdrivrutinen för en virtuell PCI Express-funktion (PCIe) (VF) körs i gästoperativsystemet för en Hyper-V underpartition. Därför kan inte VF-miniportdrivrutinen komma åt maskinvaruresurser direkt, till exempel VF:s PCI-konfigurationsutrymme. Endast miniportdrivrutinen för PCIe Physical Function (PF) kan få åtkomst till PCI-konfigurationsutrymmet för en VF. PF-miniportdrivrutinen körs i hanteringsoperativsystemet för en Hyper-V överordnad partition och har privilegierad åtkomst till VF-resurserna.
Den överliggande drivrutinen, till exempel virtualiseringsstacken, utfärdar OID-uppsättningens begäran om OID_SRIOV_WRITE_VF_CONFIG_SPACE när VF-miniportdrivrutinen anropar NdisMSetBusData för att skriva till sitt PCI-konfigurationsutrymme.
Innan den här OID-uppsättningsbegäran skickas måste den överliggande drivrutinen ställa in medlemmarna i strukturenNDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS på följande sätt:
Ange VFId- medlem till identifieraren för den VF som informationen ska skrivas för.
Ange Offset-medlemmen till förskjutningen inom PCI-konfigurationsutrymmet för den VF där data kommer att skrivas.
Ange Längd medlem till antalet byte som ska skrivas till VF:s PCI-konfigurationsutrymme.
Ange BufferOffset- fält till förskjutningen inom bufferten (som refereras avInformationBuffer- fält) som kommer att innehålla de data som skrivs till det angivna VF:ets PCI-konfigurationsutrymme. Den här förskjutningen anges i antal bytes från början av NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS strukturen.
När den hanterar OID-metodbegäran för OID_SRIOV_WRITE_VF_CONFIG_SPACEmåste PF-miniportdrivrutinen följa dessa riktlinjer:
PF-miniportdrivrutinen måste kontrollera att den virtuella hårddisken, som anges av VFId medlem i NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS struktur, har resurser som tidigare har allokerats. PF-miniportdrivrutinen allokerar resurser för en VF via en OID-metodbegäran för OID_NIC_SWITCH_ALLOCATE_VF.
Om resurser för den angivna virtuella hårddisken inte har allokerats måste drivrutinen misslyckas med OID-begäran.
PF-miniportdrivrutinen anropar NdisMSetVirtualFunctionBusData för att skriva till det begärda PCI-konfigurationsutrymmet. PF-miniportdrivrutinen kan dock också returnera PCI-konfigurationsutrymmesdata för VF (Virtual Function) som drivrutinen har cachelagrat från tidigare läs- eller skrivåtgärder i PCI-konfigurationsutrymmet.
Note Om en oberoende maskinvaruleverantör (IHV) tillhandahåller en virtuell bussdrivrutin (VBD) som en del av sitt SR-IOV drivrutinspaketfår dess PF-miniportdrivrutin inte anropa NdisMSetVirtualFunctionBusData. Istället måste drivrutinen interagera med VBD via en privat kommunikationskanal och begära att VBD anropar SetVirtualFunctionData. Den här funktionen exponeras från GUID_VPCI_INTERFACE_STANDARD-gränssnittet som stöds av den underliggande virtuella PCI (VPCI)-bussdrivrutinen.
Om PF-miniportdrivrutinen kan slutföra OID-begäran måste drivrutinen kopiera begärda PCI-konfigurationsutrymmesdata till bufferten som refereras av InformationBuffer medlem i NDIS_OID_REQUEST-strukturen. Drivrutinen kopierar data till bufferten vid den förskjutning som anges avBufferOffset medlem i NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS struktur.