OID_SRIOV_BAR_RESOURCES
O NDIS emite uma solicitação de método OID (identificador de objeto) de OID_SRIOV_BAR_RESOURCES para determinar os recursos de memória que foram alocados para um REGISTRO de Endereço Base (BAR) PCI Express (PCIe) de uma função virtual PCIe (VF).
O NDIS emite essa solicitação de método OID para o driver de miniporto para a PF (Função Física PCIe) do adaptador de rede. Essa solicitação de método OID é necessária para drivers de miniporta PF que dão suporte à interface SR-IOV (virtualização de E/S de raiz única).
O membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para um buffer. Esse buffer contém as seguintes estruturas:
Uma estrutura NDIS_SRIOV_BAR_RESOURCES_INFO que especifica o VF e a BARRA para os quais o driver de miniporto PF retorna informações de recurso.
Uma estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR que segue a estrutura NDIS_SRIOV_BAR_RESOURCES_INFO . A estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR contém informações sobre os recursos de memória que foram alocados para a BARRA especificada.
Comentários
O NDIS emite uma solicitação de método OID de OID_SRIOV_BAR_RESOURCES para obter o endereço físico do sistema e o comprimento dos recursos de memória que foram alocados para uma BARRA de VF. Antes de emitir a solicitação do método OID, o NDIS formata a estrutura NDIS_SRIOV_BAR_RESOURCES_INFO da seguinte maneira:
O NDIS define o membro VFId da estrutura NDIS_SRIOV_BAR_RESOURCES_INFO para o identificador associado ao VF.
O NDIS define o membro BarIndex da estrutura NDIS_SRIOV_BAR_RESOURCES_INFO para o índice BAR do VF especificado. O índice BAR é o deslocamento do registro dentro da tabela de BARs no espaço de configuração de PCI.
O NDIS define o membro BarResourcesOffset da estrutura NDIS_SRIOV_BAR_RESOURCES_INFO como o deslocamento, em unidades de bytes, desde o início da estrutura NDIS_SRIOV_BAR_RESOURCES_INFO até uma estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR .
Nota Drivers sobrepostos, como drivers de protocolo ou filtro, não podem emitir solicitações de método OID de OID_SRIOV_BAR_RESOURCES para o driver de miniporto PF.
Quando o driver de miniporto PF recebe a solicitação do método OID, o driver retorna os recursos para a BARRA especificada formatando a estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR dentro do membro InformationBuffer da estrutura NDIS_OID_REQUEST . O driver formata a estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR com os recursos de hardware do sistema associados à BARRA do VF especificado.
Nota O driver deve formatar a estrutura para um tipo de recurso de CmResourceTypeMemory.
Códigos de status de retorno
O driver de miniporto PF retorna um dos seguintes códigos de status para a solicitação de método de OID_SRIOV_BAR_RESOURCES.
Código de status | Descrição |
---|---|
NDIS_STATUS_SUCCESS |
A solicitação OID foi concluída com êxito. |
NDIS_STATUS_NOT_SUPPORTED |
O driver de miniporto PF não dá suporte à interface SR-IOV (virtualização de E/S de raiz única) ou não está habilitado para usar a interface . |
NDIS_STATUS_INVALID_PARAMETER |
Um ou mais dos membros da estrutura NDIS_SRIOV_BAR_RESOURCES_INFO têm valores inválidos. |
NDIS_STATUS_INVALID_LENGTH |
O buffer de informações é menor que (sizeof(NDIS_SRIOV_BAR_RESOURCES_INFO) + sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR). O driver de miniporto PF deve definir o DATA. METHOD_INFORMATION. Membro BytesNeeded na estrutura NDIS_OID_REQUEST para o tamanho mínimo do buffer necessário. |
NDIS_STATUS_FAILURE |
A solicitação falhou por outros motivos. |
Requisitos
Versão |
Com suporte no NDIS 6.30 e posterior. |
parâmetro |
Ntddndis.h (inclua Ndis.h) |