GET_VIRTUAL_DEVICE_RESOURCES função de retorno de chamada (wdm.h)
A rotina GetResources retorna os recursos que a função física PCI Express (PCIe) (PF) requer para habilitar a virtualização em um dispositivo que dá suporte à interface de virtualização de E/S raiz única (SR-IOV).
Sintaxe
GET_VIRTUAL_DEVICE_RESOURCES GetVirtualDeviceResources;
void GetVirtualDeviceResources(
[in, out] PVOID Context,
[out] PUINT8 CapturedBusNumbers
)
{...}
Parâmetros
[in, out] Context
Um ponteiro para informações de contexto específicas da interface. O chamador passa o valor que é passado como o membro Context da estrutura PCI_VIRTUALIZATION_INTERFACE para a interface.
[out] CapturedBusNumbers
Um ponteiro para uma variável fornecida pelo chamador na qual essa rotina retorna um valor UINT8. Esse valor especifica o número de barramentos PCIe que foram capturados para uso pelo PF SR-IOV do dispositivo.
Retornar valor
Nenhum
Comentários
Um dispositivo PCIe normalmente consome recursos em um único barramento PCI. O driver PCI atribui um dispositivo a um barramento PCI gravando o número do ônibus no registro número do barramento secundário e o registro número do barramento subordinado na porta da ponte upstream. Essa porta é uma ponte PCI para PCI dentro de uma porta raiz PCIe ou uma porta de comutador PCIe.
Um dispositivo que dá suporte à interface SR-IOV pode criar mais funções virtuais do que pode ser acomodado no barramento PCI no qual o dispositivo está conectado. Nessas situações, a porta de ponte upstream deve ser configurada para capturar um ou mais ônibus PCI não utilizados. Isso é feito gravando um valor maior no registro de Número do Barramento Subordinado da porta.
Um dispositivo que dá suporte à interface SR-IOV deverá capturar barramentos PCI se pelo menos um dos seguintes itens for verdadeiro:
O dispositivo tem mais de oito funções totais (PFs e VFs) e o dispositivo não dá suporte à opção ARI (Interpretação alternativa de roteamento) da especificação PCI Express 3.0.
O dispositivo dá suporte à ARI e tem mais de oito funções totais, mas a porta de ponte upstream não dá suporte à ARI.
O dispositivo dá suporte à ARI e tem mais de 256 funções, e a porta de ponte upstream dá suporte à ARI.
Independentemente do suporte à ARI, cada barramento capturado pode dar suporte a 256 funções.
Se o dispositivo precisar de mais RIDs (IDs do solicitante pcie) para habilitar todos os seus VFs, o driver de barramento PCI fará o seguinte:
Grava o número do barramento do dispositivo no registro número do barramento secundário pcie.
Grava um valor maior que o número do barramento do dispositivo no registro de Número do Barramento Subordinado pcie.
A diferença entre esses dois valores de registro representa o número de números de barramento capturados.
A rotina GetResources é fornecida pela interface GUID_PCI_VIRTUALIZATION_INTERFACE .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte em Windows Server 2012 e versões posteriores do Windows. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | wdm.h (inclua Wdm.h) |
IRQL | PASSIVE_LEVEL |