qemu/hw/nvme
Keith Busch 53493c1f83 hw/nvme: cap MDTS value for internal limitation
The emulated device had let the user set whatever max transfers size
they wanted, including no limit. However the device does have an
internal limit of 1024 segments. NVMe doesn't report max segments,
though. This is implicitly inferred based on the MDTS and MPSMIN values.

IOV_MAX is currently 1024 which 4k PRPs can exceed with 2MB transfers.
Don't allow MDTS values that can exceed this, otherwise users risk
seeing "internal error" status to their otherwise protocol compliant
commands.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
2025-08-11 00:17:38 -07:00
..
ctrl.c hw/nvme: cap MDTS value for internal limitation 2025-08-11 00:17:38 -07:00
dif.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
dif.h hw/nvme: 64-bit pi support 2022-03-03 09:30:21 +01:00
Kconfig kconfig: Add NVME to s390x machines 2023-09-12 12:07:16 +02:00
meson.build hw/nvme: Add NVMe NGUID property 2024-03-12 15:48:56 +01:00
nguid.c qdev: Rename PropertyInfo member @name to @type 2025-03-06 10:30:58 +01:00
ns.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
nvme.h hw/nvme: fix attachment of private namespaces 2025-04-08 20:46:10 +02:00
subsys.c hw/nvme: fix nvme hotplugging 2025-05-15 12:18:06 +02:00
trace-events hw/nvme: i/o cmd set independent namespace data structure 2024-11-04 19:09:45 +01:00
trace.h