From nobody Sat Nov 15 18:47:39 2025 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=1748955638; cv=none; d=zohomail.com; s=zohoarc; b=fmvCrJwFFabnl1/ki/SNAn237LqC0MSs6O7eO/x0CsSm8numoDZnxiLPiEwP8ODcTf+w91LW/InDJZQnAXnzgoLWPuAPwN6o4kUD1MgE+goeXg5xGY4Th24dqtEE665e62v+zUYbj2BF1PhTw9+HCpPcCvDPETzyUTLIsFjKWkg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748955638; 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=thymeK7c1mvZgZPPEew359m0shfKHaZXO1HiLDjnKAU=; b=W16oPaii0VNolHF0Bqediq1l7hozPf1ONaHSLsur/wN4W2aoy164RTRln1lRhr+XfWm3Yf+vzrmUsGxl75GUQipmiMjJ7hKZNE9yHRE9kg+/LlvLT9fduxPoY/n46ziToI7O5Z7GHCcaD7jJXaWjDEfdzl1HUfeRLceBtD6Rmw0= 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 1748955638129619.3005005987403; Tue, 3 Jun 2025 06:00:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMRFU-0000M1-59; Tue, 03 Jun 2025 09:00:13 -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 1uMREr-0008Ff-3H; Tue, 03 Jun 2025 08:59:34 -0400 Received: from fout-b2-smtp.messagingengine.com ([202.12.124.145]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMREg-0003Th-M5; Tue, 03 Jun 2025 08:59:24 -0400 Received: from phl-compute-04.internal (phl-compute-04.phl.internal [10.202.2.44]) by mailfout.stl.internal (Postfix) with ESMTP id DCA881140115; Tue, 3 Jun 2025 08:59:18 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-04.internal (MEProxy); Tue, 03 Jun 2025 08:59:19 -0400 Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 3 Jun 2025 08:59:17 -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=1748955558; x=1749041958; bh=thymeK7c1mvZgZPPEew359m0shfKHaZX O1HiLDjnKAU=; b=DsjFrxUmtfSifVoLK3HQ9bKEtfA3fmzM7v03m/8w5MDAqL0v oz14A77aFX3DvQaDvZH3XWsbXWiVYQr0gef6MgS4VM3553rWICaFqYK1G0A8z6zs QKhPdlgOFFOzQWK1mb2gI28ZSBpI3VIlWNNqNBXPrdptjzctlw7FibtAfGHbeZJB FqejhVj+0Ez7N4xaXKaz/kTRSIV7UM2Hr19Es8PmLD/Es3zBJqQCRfWMmGHCZeCb /PyKDPTeadF+MUxRxe+1kxc340cmo/+1cdZ7x4QVlYCl/Xzg2ftAyDuwuZAWQrM0 Nm+jz1DwrANXVEGYqHrO7NIxEUsoJwMLZboCvA== 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=1748955558; x= 1749041958; bh=thymeK7c1mvZgZPPEew359m0shfKHaZXO1HiLDjnKAU=; b=E n/TuCBNC4UjDA+OYvZHCyVPCD3weMroe3HhGuvBXlICjXV/uwegMTtWi6LEZXdmt rrIu9vW9Spcn4kxBZNNYGE8tXT9LkTtg2WoZ6mzb+G7BX6f3pbR/8V619v+SzFp5 S5ujL786tbzQhfP/7dSz3q5hOWgxaHoBGbHMGKQ1z3Xz6fY/oy9vxptLcoel5bKY APMnQZyHqennklN8BAYjX4FRaubvOChoB4Xdt2HWA7VbScrvF7pLRrqek9Xuj0M8 KFdis+4+Zucxwd5E/d2D23wNaTxJ+S85lFrI61ji0YevOWGyPR1Wr70QVTQToQMm JZyp9IqO8JHwYKU7cacwA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddugdefudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdpuffr tefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnth hsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeen ucfhrhhomhepmfhlrghushculfgvnhhsvghnuceoihhtshesihhrrhgvlhgvvhgrnhhtrd gukheqnecuggftrfgrthhtvghrnhepkeeivddtueehffefuddtleefkefhiedttdduveeg gfffieetveffhfehgfeghfffnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe hmrghilhhfrhhomhepihhtshesihhrrhgvlhgvvhgrnhhtrdgukhdpnhgspghrtghpthht ohepjedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepqhgvmhhuqdguvghvvghlse hnohhnghhnuhdrohhrghdprhgtphhtthhopehqvghmuhdqsghlohgtkhesnhhonhhgnhhu rdhorhhgpdhrtghpthhtohepihhtshesihhrrhgvlhgvvhgrnhhtrdgukhdprhgtphhtth hopegrlhgrnhdrrggurghmshhonhesohhrrggtlhgvrdgtohhmpdhrtghpthhtohepkhdr jhgvnhhsvghnsehsrghmshhunhhgrdgtohhmpdhrtghpthhtohepfhhoshhsseguvghfmh grtghrohdrihhtpdhrtghpthhtohepkhgsuhhstghhsehkvghrnhgvlhdrohhrgh X-ME-Proxy: Feedback-ID: idc91472f:Fastmail From: Klaus Jensen Date: Tue, 03 Jun 2025 14:59:06 +0200 Subject: [PATCH 2/2] hw/nvme: revert CMIC behavior MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250603-nvme-fixes-v1-2-01d67258ffca@samsung.com> References: <20250603-nvme-fixes-v1-0-01d67258ffca@samsung.com> In-Reply-To: <20250603-nvme-fixes-v1-0-01d67258ffca@samsung.com> To: qemu-devel@nongnu.org, Keith Busch , Klaus Jensen , Jesper Devantier , qemu-block@nongnu.org Cc: Klaus Jensen , Alan Adamson X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2802; i=k.jensen@samsung.com; h=from:subject:message-id; bh=sfVJrKEZ5+//8Wz3ktwFZCgoW22WpBDfS1jRpDHzq4o=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFGdEFaTCtrQTBEQUFvQlRlR3ZNV zFQRGVrQnl5WmlBR2crOGFDS2tHcklZRXA4QnNiZlprNWpVMHgvCldaN1AxQURPMU93UlptSDRD TTdHOUlrQk13UUFBUW9BSFJZaEJGSW9NNnAxNHR6bW9rZG13RTNocnpGdFR3M3AKQlFKb1B2R2d BQW9KRUUzaHJ6RnRUdzNwZFFzSCtnUDYwamhNQkpDZEx6QllCMzdJTGRqMGVqdk1SMEFGMVdpTg pTRHd4Qk5LMFlvdGxUQ3E2VzZCRXl0aGtvWERoc2VodjFiK0FqTkpoWVc5V3JabnczMTk3cFZQe kZ3a0I2TnF0CjRBRU5hdURyRTQwZ0RRMVNYT010dGJreDRaRkFxSzQyU2Zwczdrdlc5N1Y3Uk54 N1QvYjZFVkgzU1FVNXdhbHgKWU8vQk8xR3JjT3FnbmxFTjF1RmUrMVhBNW8vTm82QmxSVnUzY1Z vOWRvZktERDB0V1BZMklnem1zazRXcmwycwo3NEt4c08zNnVnNWxhbFBzVDdvTGIrN2FVR09CUH MxQjFWdjhLNnpTVnFjRjBRU0twMG9zS3VsMm5GemVnYWxjCmxZK2VTWGJuSlJ0T3kzWUxkaG9aY jE1UC9UVEdEV2E1ZTNFN25xM2VXaUM0cFhDRzdGUjJuS3dKCj1RKzdWCi0tLS0tRU5EIFBHUCBN 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=202.12.124.145; envelope-from=its@irrelevant.dk; helo=fout-b2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1748955641843116600 From: Klaus Jensen Commit cd59f50ab017 ("hw/nvme: always initialize a subsystem") causes the controller to always set the CMIC.MCTRS ("Multiple Controllers") bit. While spec-compliant, this is a deviation from the previous behavior where this was only set if an nvme-subsys device was explicitly created (to configure a subsystem with multiple controllers/namespaces). Revert the behavior to only set CMIC.MCTRS if an nvme-subsys device is created explicitly. Reported-by: Alan Adamson Fixes: cd59f50ab017 ("hw/nvme: always initialize a subsystem") Signed-off-by: Klaus Jensen Reviewed-by: Alan Adamson Tested-by: Alan Adamson --- hw/nvme/ctrl.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c index 8de900ef8aca9b510b072892f9f82c01acee4f7d..0637e29ec9fdcfe65a97b8bdcff= 7851091096d44 100644 --- a/hw/nvme/ctrl.c +++ b/hw/nvme/ctrl.c @@ -8780,7 +8780,7 @@ static void nvme_init_ctrl(NvmeCtrl *n, PCIDevice *pc= i_dev) uint8_t *pci_conf =3D pci_dev->config; uint64_t cap =3D ldq_le_p(&n->bar.cap); NvmeSecCtrlEntry *sctrl =3D nvme_sctrl(n); - uint32_t ctratt; + uint32_t ctratt =3D le32_to_cpu(id->ctratt); uint16_t oacs; =20 memcpy(n->cse.acs, nvme_cse_acs_default, sizeof(n->cse.acs)); @@ -8798,10 +8798,11 @@ static void nvme_init_ctrl(NvmeCtrl *n, PCIDevice *= pci_dev) =20 id->oaes =3D cpu_to_le32(NVME_OAES_NS_ATTR); =20 - ctratt =3D NVME_CTRATT_ELBAS; + ctratt |=3D NVME_CTRATT_ELBAS; if (n->params.ctratt.mem) { ctratt |=3D NVME_CTRATT_MEM; } + id->ctratt =3D cpu_to_le32(ctratt); =20 id->rab =3D 6; =20 @@ -8884,17 +8885,6 @@ static void nvme_init_ctrl(NvmeCtrl *n, PCIDevice *p= ci_dev) id->psd[0].enlat =3D cpu_to_le32(0x10); id->psd[0].exlat =3D cpu_to_le32(0x4); =20 - id->cmic |=3D NVME_CMIC_MULTI_CTRL; - ctratt |=3D NVME_CTRATT_ENDGRPS; - - id->endgidmax =3D cpu_to_le16(0x1); - - if (n->subsys->endgrp.fdp.enabled) { - ctratt |=3D NVME_CTRATT_FDPS; - } - - id->ctratt =3D cpu_to_le32(ctratt); - NVME_CAP_SET_MQES(cap, n->params.mqes); NVME_CAP_SET_CQR(cap, 1); NVME_CAP_SET_TO(cap, 0xf); @@ -8927,6 +8917,20 @@ static int nvme_init_subsys(NvmeCtrl *n, Error **err= p) } =20 n->subsys =3D NVME_SUBSYS(dev); + } else { + NvmeIdCtrl *id =3D &n->id_ctrl; + uint32_t ctratt =3D le32_to_cpu(id->ctratt); + + id->cmic |=3D NVME_CMIC_MULTI_CTRL; + ctratt |=3D NVME_CTRATT_ENDGRPS; + + id->endgidmax =3D cpu_to_le16(0x1); + + if (n->subsys->endgrp.fdp.enabled) { + ctratt |=3D NVME_CTRATT_FDPS; + } + + id->ctratt =3D cpu_to_le32(ctratt); } =20 cntlid =3D nvme_subsys_register_ctrl(n, errp); --=20 2.47.2