NVME_PRP_ENTRY unión (nvme.h)

Contiene campos que especifican la dirección base de página y el desplazamiento (PBAO) de un puntero a una página de memoria física.

Una entrada de página de región física (PRP) es un puntero a una página de memoria física. Los PRP se usan como mecanismo de dispersión y recopilación para las transferencias de datos entre el controlador y la memoria. Para permitir transferencias eficaces de datos desordenados entre el controlador y el host, las entradas PRP son de un tamaño fijo.

El tamaño de la página de memoria física se configura mediante software host en el campo MPS de la estructura de configuración del controlador y el tamaño del campo Desplazamiento viene determinado por el valor de MPS .

Esta estructura se usa en los campos PRP1 y PRP2 de la estructura de NVME_COMMAND .

Sintaxis

typedef union {
  struct {
    ULONGLONG Reserved0 : 2;
    ULONGLONG PBAO : 62;
  } DUMMYSTRUCTNAME;
  ULONGLONG AsUlonglong;
} NVME_PRP_ENTRY, *PNVME_PRP_ENTRY;

Miembros

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.Reserved0

Campo reservado.

DUMMYSTRUCTNAME.PBAO

Indica la dirección de la página de memoria física de 64 bits.

Los bits inferiores (n:2) de este campo indican el desplazamiento dentro de la página de memoria. Si el tamaño de página de memoria es de 4 KB, los bits 02:11 forman el Desplazamiento; Si el tamaño de página de memoria es de 8 KB, los bits 02:12 forman el desplazamiento, etc.

Si esta entrada no es la primera entrada PRP en el comando o un puntero de lista PRP en un comando, la parte desplazamiento de este campo debe borrarse en 0h.

AsUlonglong

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Encabezado nvme.h