diff options
author | Gollu Appalanaidu | 2020-10-19 09:11:31 +0200 |
---|---|---|
committer | Klaus Jensen | 2020-10-27 11:29:25 +0100 |
commit | 28fee5b5d02d59a2b039c71a0a72292b1bc7f75b (patch) | |
tree | 5c905de76cc0640f0c76724d540347d835f1dc7b /include/block | |
parent | hw/block/nvme: report actual LBA data shift in LBAF (diff) | |
download | qemu-28fee5b5d02d59a2b039c71a0a72292b1bc7f75b.tar.gz qemu-28fee5b5d02d59a2b039c71a0a72292b1bc7f75b.tar.xz qemu-28fee5b5d02d59a2b039c71a0a72292b1bc7f75b.zip |
hw/block/nvme: fix prp mapping status codes
Address 0 is not an invalid address. Remove those invalikd checks.
Unaligned PRP2 and PRP list entries should result in Invalid PRP Offset
status code and not Invalid Field. Fix that.
See NVMe Express v1.3d, Section 4.3 ("Physical Region Page Entry and
List").
Suggested-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'include/block')
-rw-r--r-- | include/block/nvme.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/block/nvme.h b/include/block/nvme.h index 6de2d5aa75..8a46d9cf01 100644 --- a/include/block/nvme.h +++ b/include/block/nvme.h @@ -655,6 +655,7 @@ enum NvmeStatusCodes { NVME_MD_SGL_LEN_INVALID = 0x0010, NVME_SGL_DESCR_TYPE_INVALID = 0x0011, NVME_INVALID_USE_OF_CMB = 0x0012, + NVME_INVALID_PRP_OFFSET = 0x0013, NVME_LBA_RANGE = 0x0080, NVME_CAP_EXCEEDED = 0x0081, NVME_NS_NOT_READY = 0x0082, |