bhyve nvme: Fix Identify Namespace, NSID=ffffffff
If the NVMe Controller doesn't support Namespace Management, it should return "Invalid Namespace or Format" when the Host request Identify Namespace with the global NSID value. Fixes UNH IOL 16.0 Test 9.1, Case 6 Reviewed by: imp, allanjude Tested by: jason@tubnor.net MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D33578
This commit is contained in:
parent
fa263c532b
commit
ac678b4aaf
@ -1482,6 +1482,12 @@ nvme_opc_identify(struct pci_nvme_softc* sc, struct nvme_command* command,
|
||||
|
||||
switch (command->cdw10 & 0xFF) {
|
||||
case 0x00: /* return Identify Namespace data structure */
|
||||
/* Global NS only valid with NS Management */
|
||||
if (command->nsid == NVME_GLOBAL_NAMESPACE_TAG) {
|
||||
pci_nvme_status_genc(&status,
|
||||
NVME_SC_INVALID_NAMESPACE_OR_FORMAT);
|
||||
break;
|
||||
}
|
||||
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1,
|
||||
command->prp2, (uint8_t *)&sc->nsdata, sizeof(sc->nsdata),
|
||||
NVME_COPY_TO_PRP);
|
||||
|
Loading…
Reference in New Issue
Block a user