From nobody Tue Apr 7 02:38:51 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1773737847; cv=none; d=zohomail.com; s=zohoarc; b=Bhyt6QNrBA2+RZy57EioPAF2folfhsZg0uqykwFcqdtnQO9Zkq597lM1PLq5adkjVWzgQ2VrXODZihGy3mXG7cMYJBpUIchX27gp5j33hmRuoEz4GOZqcyazb7+dpljoChXdI66W3rf3Soscmo0Xodr6IPk4YsxSu9dHBkzhXa4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773737847; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Uk9MA9tCfcMmewYjnYM+atZAq2o5WV3mZNIROPc+VbU=; b=mkwvknO83/NW1Gv/ApwWuo7rnzTpFILoG/QVcVev3UNEQmF2EoOeV8f9TEJv7/FsmrvpRdTLvsoSxzEaayTiQTYwlS0bmnMq1/l646frt83y4K5Sy3Lq2zgW4LB05vcFTOt2wo3xalezup5aCLSlXFGV/YAWDrUHRHAui5jv2dA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773737847371983.8519414586867; Tue, 17 Mar 2026 01:57:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w2QDs-0004Y4-QT; Tue, 17 Mar 2026 04:56:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w2QCG-0001V9-7h; Tue, 17 Mar 2026 04:54:40 -0400 Received: from fout-a6-smtp.messagingengine.com ([103.168.172.149]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1w2QCC-0006mv-1Y; Tue, 17 Mar 2026 04:54:38 -0400 Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfout.phl.internal (Postfix) with ESMTP id 2931BEC018A; Tue, 17 Mar 2026 04:54:35 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-04.internal (MEProxy); Tue, 17 Mar 2026 04:54:35 -0400 Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 17 Mar 2026 04:54:33 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irrelevant.dk; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm3; t=1773737675; x=1773824075; bh=Uk9MA9tCfcMmewYjnYM+atZAq2o5WV3m ZNIROPc+VbU=; b=dLAvuKIKXsp5E5QYLQZLEHrA4l+XXzYIs+ee48HpVGpuel3c Z9reL2sJn1gEA1r5bOUrwas1tF72sYdm1rlA+3xtLacQ0IeZc11FSuuuDGlRlQRF hEHIQd13Xq2DsJFTXrGfY6VQcZco/UEtcLRYRWFl+QEkCrjCTOPtiFUhE37qpn5w ap7gKf3xe2BFDH+hoA2hOJhAeEbpw/gLUTmx/nPQPHtS8d2AOX6alKi1AtmL9sJ3 TvrFO+qdsRfP4Vmt6CWrl4WmZGA/pPW/fhInOsjigoQfrZZfqZMg6xmHnVuEvwol vR194irhAstUmlTLEtvZ0sRPSQuSPwnUB2ejFQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1773737675; x= 1773824075; bh=Uk9MA9tCfcMmewYjnYM+atZAq2o5WV3mZNIROPc+VbU=; b=P 05gHrRk50boF7LyQTqfnAHpslNZsdIfwDihpqgX5/8qcNanT/1uA6/U2uLNpge4G TuagWj1kxB9IiMXAumUtY9rcCUs4DxtOHjoRuIPViYkIiQD+VU7Nua4rTc40QZnO L7M/jjtwxIGDGSpjQl2/9AaWej0hWS2V2SZiXQqx01LhMY0peUZZOb/EJ0TFdy8p nTVmMkEo0CFY+zBuwojqvnhlti6if+vpaZ+aZW8GaAylhx6ZpFxOGcsASYcqGeKG uQ+qUC61HxBBXYGoeXay5ILQ05epf5ic3a1eHQWAHDaz77qMi6rddEwuhiy5WZZQ epHqveJGtbIgmKcLTFWfg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdeftddtkedvucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefmlhgruhhs ucflvghnshgvnhcuoehithhssehirhhrvghlvghvrghnthdrughkqeenucggtffrrghtth gvrhhnpeekiedvtdeuhefffedutdelfeekhfeitddtudevgefgffeiteevfffhhefggefh ffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehith hssehirhhrvghlvghvrghnthdrughkpdhnsggprhgtphhtthhopeelpdhmohguvgepshhm thhpohhuthdprhgtphhtthhopehksghushgthheskhgvrhhnvghlrdhorhhgpdhrtghpth htohepphgvthgvrhigsehrvgguhhgrthdrtghomhdprhgtphhtthhopehqvghmuhdquggv vhgvlhesnhhonhhgnhhurdhorhhgpdhrtghpthhtohepfhhoshhsseguvghfmhgrtghroh drihhtpdhrtghpthhtohepphhhihhlmhgusehlihhnrghrohdrohhrghdprhgtphhtthho pehithhssehirhhrvghlvghvrghnthdrughkpdhrtghpthhtohepqhgvmhhuqdgslhhotg hksehnohhnghhnuhdrohhrghdprhgtphhtthhopehkrdhjvghnshgvnhesshgrmhhsuhhn ghdrtghomhdprhgtphhtthhopehpsghonhiiihhnihesrhgvughhrghtrdgtohhm X-ME-Proxy: Feedback-ID: idc91472f:Fastmail From: Klaus Jensen Date: Tue, 17 Mar 2026 09:48:58 +0100 Subject: [PATCH RFC 2/2] hw/nvme: allow MDTS above 9 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260317-lift-iovmax-dma-limit-v1-2-38729170683f@samsung.com> References: <20260317-lift-iovmax-dma-limit-v1-0-38729170683f@samsung.com> In-Reply-To: <20260317-lift-iovmax-dma-limit-v1-0-38729170683f@samsung.com> To: qemu-devel@nongnu.org, Paolo Bonzini , Peter Xu , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Keith Busch , Klaus Jensen , Jesper Devantier , qemu-block@nongnu.org Cc: Klaus Jensen X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1862; i=k.jensen@samsung.com; h=from:subject:message-id; bh=AVY0YDCoRdcQyYMsgFxQ2C/TR9/zyEgfbkciAqZdxHc=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFGdEFaTCtrQTBEQUFvQlRlR3ZNV zFQRGVrQnl5WmlBR201RnNYbCtTWjNBeGpvQnNOc1kvK1JHcFgzCmN2a3BySHRYbnNNNlh6ZURY UE1LeVlrQk13UUFBUW9BSFJZaEJGSW9NNnAxNHR6bW9rZG13RTNocnpGdFR3M3AKQlFKcHVSYkZ BQW9KRUUzaHJ6RnRUdzNwc09BSUFLaWhJajVuSTdwd3BsWUlXREtZeWI0aTBVZ0o5S2NKRVFzMQ pJaGZqUFRhWjJTVU00bDRNWDNhQStuazlKd2NGK1FhZm80K0JKeG1YenFCUFZPSjdGeXBVaTV4e mQvdjAxNEVUCmFCNzFWaE40bVE5c2FjQ0FRdm5TeEpjZUVXTjhkVHRJdnFzTHEwa1lXdkFZRXE2 bFoxaTh0RktiUFkwTmhDelQKSng2SWNNenQ1dG5ZV1ZYUFNkUFV3Wk52bHIvcWZ0QUhmVUUwZUV jTm5sMkhRUm9NbW41di9QRGJQcHJJRnBDNwpkV2lwT2VSakpuckwxWVpsVmQ3YnE0YThjOGJrNE k5YUcyVXNkeUUwa2x0UkF4T2U1Uko0NHA5RmtCVVcraEw5CmlkWmdkSDN2WlRncXZXUG1hYjM3Z 2oxZ1paeXFwKzVQV3hoWGFEbEJJbXN4c29DVHluNWRXNk1VCj0vMVh6Ci0tLS0tRU5EIFBHUCBN RVNTQUdFLS0tLS0K X-Developer-Key: i=k.jensen@samsung.com; a=openpgp; fpr=DDCA4D9C9EF931CC3468427263D56FC5E55DA838 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=103.168.172.149; envelope-from=its@irrelevant.dk; helo=fout-a6-smtp.messagingengine.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @irrelevant.dk) X-ZM-MESSAGEID: 1773737849520158500 From: Klaus Jensen With the IOV_MAX restriction lifted at the dma-helpers level, remove the restriction on MDTS. Still require mdts to be set (i.e., non-zero) since it has a direct impact on how much many may be used internally. Signed-off-by: Klaus Jensen --- hw/nvme/ctrl.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c index cc4593cd427a..480694cc2e14 100644 --- a/hw/nvme/ctrl.c +++ b/hw/nvme/ctrl.c @@ -851,10 +851,6 @@ static uint16_t nvme_map_addr(NvmeCtrl *n, NvmeSg *sg,= hwaddr addr, size_t len) return NVME_INVALID_USE_OF_CMB | NVME_DNR; } =20 - if (sg->iov.niov + 1 > IOV_MAX) { - goto max_mappings_exceeded; - } - if (cmb) { return nvme_map_addr_cmb(n, &sg->iov, addr, len); } else { @@ -866,18 +862,9 @@ static uint16_t nvme_map_addr(NvmeCtrl *n, NvmeSg *sg,= hwaddr addr, size_t len) return NVME_INVALID_USE_OF_CMB | NVME_DNR; } =20 - if (sg->qsg.nsg + 1 > IOV_MAX) { - goto max_mappings_exceeded; - } - qemu_sglist_add(&sg->qsg, addr, len); =20 return NVME_SUCCESS; - -max_mappings_exceeded: - NVME_GUEST_ERR(pci_nvme_ub_too_many_mappings, - "number of mappings exceed 1024"); - return NVME_INTERNAL_DEV_ERROR | NVME_DNR; } =20 static inline bool nvme_addr_is_dma(NvmeCtrl *n, hwaddr addr) @@ -8626,8 +8613,8 @@ static bool nvme_check_params(NvmeCtrl *n, Error **er= rp) host_memory_backend_set_mapped(n->pmr.dev, true); } =20 - if (!n->params.mdts || ((1 << n->params.mdts) + 1) > IOV_MAX) { - error_setg(errp, "mdts exceeds IOV_MAX"); + if (!n->params.mdts) { + error_setg(errp, "mdts must be set"); return false; } =20 --=20 2.51.0