NVME_COMPLETION_QUEUE_HEAD_DOORBELL unione (nvme.h)

Definisce il registro della porta che aggiorna il puntatore di ingresso Head per La coda di completamento y.

Il valore di y equivale all'identificatore della coda, il valore ID a 16 bit assegnato alla coda al momento della creazione, questo valore indica le voci della coda di completamento elaborate dal software host.

L'offset della coda di completamento y front-end (CQyHDBL) è: (1000h + ((2y + 1) * (4 << CAP.DSTRD)))

Dove CAP.DSTRD è il valore del campo DSTRD in NVME_CONTROLLER_CAPABILITIES.

Sintassi

typedef union {
  struct {
    ULONG CQH : 16;
    ULONG Reserved0 : 16;
  } DUMMYSTRUCTNAME;
  ULONG  AsUlong;
} NVME_COMPLETION_QUEUE_HEAD_DOORBELL, *PNVME_COMPLETION_QUEUE_HEAD_DOORBELL;

Members

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.CQH

Campo Di lettura/scrittura che indica il nuovo valore del puntatore di ingresso della coda di completamento.

Questo valore sovrascriverà qualsiasi valore CQH (Completion Queue Head) specificato in precedenza. La differenza tra l'ultima scrittura di CQH e il puntatore di ingresso CQH corrente indica il numero di voci ora disponibili per il riutilizzo dal controller nella coda di completamento.

Nota

È necessario tenere conto del rollover della coda di completamento.

DUMMYSTRUCTNAME.Reserved0

Campo riservato di sola lettura.

AsUlong

Commenti

L'host non deve leggere i registri della porta. Se viene letto un registro di porta, il valore restituito è specifico del fornitore. La scrittura in un campanello head della coda di completamento non esistente ha risultati non definiti.

Il software host deve continuare a elaborare le voci della coda di completamento all'interno delle code di completamento, indipendentemente dal fatto che siano disponibili voci in qualsiasi coda di invio.

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Intestazione nvme.h