diff options
author | Gollu Appalanaidu <anaidu.gollu@samsung.com> | 2020-10-19 12:41:31 +0530 |
---|---|---|
committer | Klaus Jensen <k.jensen@samsung.com> | 2020-10-27 11:29:25 +0100 |
commit | 28fee5b5d02d59a2b039c71a0a72292b1bc7f75b (patch) | |
tree | 5c905de76cc0640f0c76724d540347d835f1dc7b /include/block | |
parent | b865cabf735be793789ad2c7eac97f47a1325966 (diff) | |
download | qemu-28fee5b5d02d59a2b039c71a0a72292b1bc7f75b.zip qemu-28fee5b5d02d59a2b039c71a0a72292b1bc7f75b.tar.gz qemu-28fee5b5d02d59a2b039c71a0a72292b1bc7f75b.tar.bz2 |
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 6de2d5a..8a46d9c 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, |