From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104689; cv=none; d=zohomail.com; s=zohoarc; b=nhHRWqKTOFhUBKD/58j5ik/BmywTh6Jtd2Ail0zLLoQCt5ORFUT0jDYULN8U4GG0oWHLH64DkHR0cvnueHMXs3gSeqnDlSExpqcEkBQHJ/hDjIOw9o9/HasKbelmiuHGhufrORB9iiVGnsmMv7FlW4jFqRYFHDwtfH3mSqH0VSk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104689; h=Content-Type:Content-Transfer-Encoding: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:Cc; bh=lZRW/Th0xabms8q7W0G10Em2Wy3GHDA1PbTBnv9Ysvg=; b=mQBdEbqnoXYmeum2sInGCfHGwU1HWj/nHoqriLukO2YPFFFN9CDTb6gqQzaoRob6+WoeuJHApIBkadNgWiP8SDzfpSniPOfFFYdeurQd+VqE1HcZCZWY96GUBf5dAznge6IVXQYJ2gtKUgQpYm9c8fwh93L04+5gpq5IxdkO44E= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175310468957454.9101523537023; Mon, 21 Jul 2025 06:31:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYc-00027G-CK; Mon, 21 Jul 2025 09:27:54 -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 1udqY9-00008Q-36 for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:38 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqY6-0005HG-Os for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:24 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3a536ecbf6fso2532543f8f.2 for ; Mon, 21 Jul 2025 06:27:22 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104441; x=1753709241; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=lZRW/Th0xabms8q7W0G10Em2Wy3GHDA1PbTBnv9Ysvg=; b=qnDAoPzmy+ZbeB4jt/pQtGeE0PRQ6rjL3/rTinVyB4VH5jXf5A8NHiU24gzPnFv12j G/9KFVh/re3Al8ZETIAQL27mVrj1DbLH9Dxe6RfXmlCwYlT+08vgANPjC1Oima2m3sHN 9Hw1NqKG7EO4MS7SfDkfW68UynYjLrduoA/zhk3Z8kfeLlWE+0BXj13Ca3DP4XIwwS/R Xs+EQ7Yp3jsBkNANgghgbFHr4iDLr7kK8rkB12w1yEaXq4pWe6+KDsKvWx7mftNK6vXl jxCDfazyCQ4eFStMHG9Fr+TOn94qHOHEs7rOISn0BcogFlvEK5AJG/ibiQaIVxMCOhj6 ocfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104441; x=1753709241; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lZRW/Th0xabms8q7W0G10Em2Wy3GHDA1PbTBnv9Ysvg=; b=GS8C+u+Er98DeDHUjIpN9lf3eNderMaam4MXyE+zt8syj3iZ2DKkXuRp5Owhre4Y97 5I+soDAPrlu7gcdMaMr5LIHICSymr5BkSGjTFoqKpdxLlTGF7XNFvINR4ig5X2qOU5jy G7NXsiSxNVS5Qdm5RKrsmgUDU6rqnVL++XzBZZsL5Snz+81hWZF1TdaNjQnre3Yp5W4h 9lFYvHYeS7EDbZXn0KHzMSg5NGqtzm/kLu5SyvPnjIdBWnYYPKmChABZA5BBC9O62MRZ MEvwHUZ1/BEHSVsJsP0NDKoSDvIhHt2yxAnRzXquxpPFkhNRQj1wt0Jwe8EPJnUCqEMH 075A== X-Gm-Message-State: AOJu0YzeOJSrpWdzfG5Z88bn1BdJwLKD3cZfigs1BX96IH6q2iF7rGms Vp8q6rGIG446xKfU30YrD/GvkaPk7cL2sRxCLfCcEm6Mxhtu6QcPt323P8THkCd6lMWs+1qiUb3 PDV4W X-Gm-Gg: ASbGncstkcEwV4mBTSwrrHMdxTfeMPsZaub2CwaLriP47giWkrxE1UqeEfWTFLjaYf5 MXyW/QW9bZoDldlr7bii+PY5d6ZdyockuFptH8KKlAz1o8heR4NlZIHxqc07/4WqZ3dE4sjPVAz z/T+am5v6+mNp0d3gIzYGAQCXxlY6yHALRK3KV1MdNO56q5LBQtf2wJYLyauhycLyfmo3Tkxl6u K/yoQhJcnuu8kU4MiXjeYbhlt3uXXvL5V6glQmmSLR8Fw91P+aT7MsLBDT1nkIdGyZC+WDwzewG f7SqAjs/s301muF4eSLI9yV7cavZ0P87WTZsUuzlmRIPTCAd40lt3HXF5PexyWk4hBOlXsZzntf 9EWSfBW8bdMeFD05dzxLrzUuuS8l9 X-Google-Smtp-Source: AGHT+IF/dkPhJZ8o+uUVPOF9mFfnWFLyopZg7FJnE9GKnaurGcM9bO9Pxaszb3DwzjqL61JSawcoXw== X-Received: by 2002:a5d:5f46:0:b0:3a6:d145:e2cc with SMTP id ffacd0b85a97d-3b613e66ef4mr12995791f8f.15.1753104440928; Mon, 21 Jul 2025 06:27:20 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 01/20] hvf: arm: Remove $pc from trace_hvf_data_abort() Date: Mon, 21 Jul 2025 14:26:58 +0100 Message-ID: <20250721132718.2835729-2-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::433; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104691186116600 From: Zenghui Yu We don't synchronize vcpu registers from the hardware accelerator (e.g., by cpu_synchronize_state()) in the Dabort handler, so env->pc points to the instruction which has nothing to do with the Dabort at all. And it doesn't seem to make much sense to log PC in every Dabort handler, let's just remove it from this trace event. Signed-off-by: Zenghui Yu Reviewed-by: Mads Ynddal Message-id: 20250713154719.4248-1-zenghui.yu@linux.dev Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Peter Maydell --- target/arm/hvf/hvf.c | 2 +- target/arm/hvf/trace-events | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index c9cfcdc08bb..8f93e42b34b 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -2005,7 +2005,7 @@ int hvf_vcpu_exec(CPUState *cpu) uint32_t cm =3D (syndrome >> 8) & 0x1; uint64_t val =3D 0; =20 - trace_hvf_data_abort(env->pc, hvf_exit->exception.virtual_address, + trace_hvf_data_abort(hvf_exit->exception.virtual_address, hvf_exit->exception.physical_address, isv, iswrite, s1ptw, len, srt); =20 diff --git a/target/arm/hvf/trace-events b/target/arm/hvf/trace-events index b49746f28d1..b29a995f3d3 100644 --- a/target/arm/hvf/trace-events +++ b/target/arm/hvf/trace-events @@ -2,7 +2,7 @@ hvf_unhandled_sysreg_read(uint64_t pc, uint32_t reg, uint32= _t op0, uint32_t op1, hvf_unhandled_sysreg_write(uint64_t pc, uint32_t reg, uint32_t op0, uint32= _t op1, uint32_t crn, uint32_t crm, uint32_t op2) "unhandled sysreg write a= t pc=3D0x%"PRIx64": 0x%08x (op0=3D%d op1=3D%d crn=3D%d crm=3D%d op2=3D%d)" hvf_inject_fiq(void) "injecting FIQ" hvf_inject_irq(void) "injecting IRQ" -hvf_data_abort(uint64_t pc, uint64_t va, uint64_t pa, bool isv, bool iswri= te, bool s1ptw, uint32_t len, uint32_t srt) "data abort: [pc=3D0x%"PRIx64" = va=3D0x%016"PRIx64" pa=3D0x%016"PRIx64" isv=3D%d iswrite=3D%d s1ptw=3D%d le= n=3D%d srt=3D%d]" +hvf_data_abort(uint64_t va, uint64_t pa, bool isv, bool iswrite, bool s1pt= w, uint32_t len, uint32_t srt) "data abort: [va=3D0x%016"PRIx64" pa=3D0x%01= 6"PRIx64" isv=3D%d iswrite=3D%d s1ptw=3D%d len=3D%d srt=3D%d]" hvf_sysreg_read(uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, ui= nt32_t crm, uint32_t op2, uint64_t val) "sysreg read 0x%08x (op0=3D%d op1= =3D%d crn=3D%d crm=3D%d op2=3D%d) =3D 0x%016"PRIx64 hvf_sysreg_write(uint32_t reg, uint32_t op0, uint32_t op1, uint32_t crn, u= int32_t crm, uint32_t op2, uint64_t val) "sysreg write 0x%08x (op0=3D%d op1= =3D%d crn=3D%d crm=3D%d op2=3D%d, val=3D0x%016"PRIx64")" hvf_unknown_hvc(uint64_t pc, uint64_t x0) "pc=3D0x%"PRIx64" unknown HVC! 0= x%016"PRIx64 --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104590; cv=none; d=zohomail.com; s=zohoarc; b=e955FczvYKsZPxlmmrQsDsJRPl/Cw1Kk0E9dAeTv/5eOcCDzgikD21q5O+P5qvXL8qw5bSCGxKQHnO55DMrOM+QeaPLWkQhKmxw4LAHOhjAiutxk3wJiCJHv8k2FQ2tdjAGiy+q4k84AlsE2oD44bxj+K3zg584DY8pBEZxGPTk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104590; h=Content-Transfer-Encoding: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:Cc; bh=qIaOxCI5fy5oW8HBDIV+uJ9KDuDzR7caM4buiAgm8WU=; b=NBBK99PqEfCIvJydIxmtj03mf/DMLai7CUyx+GHEzHG1REi9BZvoDh6h2MVx2G2J7bzzGnzOVHc7oxT1RItpNPF50QdTEpmLAw0AqYy8Y8cDHWm39ieg+8r8/hA76c4mXOcrf4Q6XfShpv/RvFVyE1tHINPv+BaQZJFzuKbOUyk= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104589989623.2243103557926; Mon, 21 Jul 2025 06:29:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYt-0007bR-GZ; Mon, 21 Jul 2025 09:28:11 -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 1udqYB-00009m-Ci for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:40 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqY7-0005HX-O5 for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:26 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a54700a46eso2386572f8f.1 for ; Mon, 21 Jul 2025 06:27:23 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104442; x=1753709242; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=qIaOxCI5fy5oW8HBDIV+uJ9KDuDzR7caM4buiAgm8WU=; b=KWNnlT6Qg6jJkqJRT2hJKv9QdN1f8IN784Aishs4SmxgoKwYbRu3MRLOTUFxQb/xua GjDE5y1Ju8s0cE9fs+LpNbGxF5Z25vfaJRMS3cI5aLL3ZKBbH7X8sUy0NVsH5qlAwA2l 4dUlKUVrmwTQJzEMbDENweti//N76N+pqgERGE4rDGvT/+q6q1WvCHXwup/Ewk/gMHox uVvaNlP9ndnnNzF5etjibKpTf6ExUc4P5Wqr/ZrpdazLCuWj8QYbgSrrqjEzz7wjET1W 4y3753XOC+12Oam2GEfYm4PZ8UO9fQrog45FMMufK9dReyD7u6K71ALnXL11vgpvnN4O 9apw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104442; x=1753709242; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qIaOxCI5fy5oW8HBDIV+uJ9KDuDzR7caM4buiAgm8WU=; b=Tcw9IJXVSiTkNg3ePqGwdRJS6l0l2FQ789KTDj+KOwCG6UZ95QYlEYYAY78ln3nWwo S8QDgbuTvc/dZcLYefXFlWoBnBolT0An9IV3JuQc6VQsmwbR+rKMqP8LfF4A16pJMI0Y eAOM35MuCgGJcJ4QWaNy2GqifCxeKLRv8/X/jmZqkcq+3nbBoPirAJUgN8k2GPfs/DfS eaPgGPaH/cjpJuHR/t3+nONuxryhYlCCR1VmVaGOj+cfhNITU9VxOZCWtA22dfKpc7Dr ZK8Kw898jTuWkJmv+pY3F2YM8dtUuBvesww8Nkp3RMWkeSkV2sueRx2yN+USO2J7eU5t xjNA== X-Gm-Message-State: AOJu0YzYyuvHLfyAJa71P3tN0BsKjTxuxirlE+mfYpGrOXUZ1HJZtZFq gfNuCIhG/+bo1/q0VPj3mbM1LlogetJl1SysA7oGdWcc9IPirZMhOm+SHv/mSYoFZTXxG0rPj3n ++khE X-Gm-Gg: ASbGnct8ROY0BHJBKL/8oUH5eoFPtwTPAMkFcsvMX1ps/m8qpfFDcdT476Ui1QtxZz9 om+7feJEcz4i0PXPdudq8EytyWkktUnqIwGv/hAeLv5M9Qj1uquQWGY+oDwcV0269aUTZfNXvvo tW559yxRojg/oejVO0KloLUBtht3QSdds6PnJBhpSk7y1DUy0PjPVrlsx3c20dStRAnWer3nMvk 1rjqy/3VwBJwdLc3bQ8MsRSWGf+rEgTVkfMFmhMBpnp72c0ANTNf51MMF6rc4M5oVJBbUra0ueC 6WmYQ8LNMEYe0GaKPeEJc1F5M6OVUU/FaQZF3h8PY6SOUpdUj3MyHc3kp5SCPAFmi+OHG61c/uo AvBmASIgfmAHzkAoC+BGOxD69mf6T X-Google-Smtp-Source: AGHT+IF32i2qZ8v//GNpQFaYUB4SGYBvDWMeJoXLWUGzs5Wl4XmPhvYIdaa9gGWb2NdQ5xESKRVJcQ== X-Received: by 2002:a05:6000:4b0b:b0:3a6:d296:feaf with SMTP id ffacd0b85a97d-3b613e776fdmr13196354f8f.24.1753104441842; Mon, 21 Jul 2025 06:27:21 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 02/20] target/arm: Correct encoding of Debug Communications Channel registers Date: Mon, 21 Jul 2025 14:26:59 +0100 Message-ID: <20250721132718.2835729-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::431; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104591887116600 Content-Type: text/plain; charset="utf-8" We don't implement the Debug Communications Channel (DCC), but we do attempt to provide dummy versions of its system registers so that software that tries to access them doesn't fall over. However, we got the tx/rx register definitions wrong. These should be: AArch32: DBGDTRTX p14 0 c0 c5 0 (on writes) DBGDTRRX p14 0 c0 c5 0 (on reads) AArch64: DBGDTRTX_EL0 2 3 0 5 0 (on writes) DBGDTRRX_EL0 2 3 0 5 0 (on reads) DBGDTR_EL0 2 3 0 4 0 (reads and writes) where DBGDTRTX and DBGDTRRX are effectively different names for the same 32-bit register, which has tx behaviour on writes and rx behaviour on reads. The AArch64-only DBGDTR_EL0 is a 64-bit wide register whose top and bottom halves map to the DBGDTRRX and DBGDTRTX registers. Currently we have just one cpreg struct, which: * calls itself DBGDTR_EL0 * uses the DBGDTRTX_EL0/DBGDTRRX_EL0 encoding * is marked as ARM_CP_STATE_BOTH but has the wrong opc1 value for AArch32 * is implemented as RAZ/WI Correct the encoding so: * we name the DBGDTRTX/DBGDTRRX register correctly * we split it into AA64 and AA32 versions so we can get the AA32 encoding right * we implement DBGDTR_EL0 at its correct encoding Cc: qemu-stable@nongnu.org Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2986 Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20250708141049.778361-1-peter.maydell@linaro.org --- target/arm/debug_helper.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/target/arm/debug_helper.c b/target/arm/debug_helper.c index 69fb1d0d9ff..aee06d4d426 100644 --- a/target/arm/debug_helper.c +++ b/target/arm/debug_helper.c @@ -988,11 +988,20 @@ static const ARMCPRegInfo debug_cp_reginfo[] =3D { .opc0 =3D 2, .opc1 =3D 0, .crn =3D 0, .crm =3D 3, .opc2 =3D 2, .access =3D PL1_RW, .accessfn =3D access_tdcc, .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, - /* DBGDTRTX_EL0/DBGDTRRX_EL0 depend on direction */ - { .name =3D "DBGDTR_EL0", .state =3D ARM_CP_STATE_BOTH, .cp =3D 14, + /* Architecturally DBGDTRTX is named DBGDTRRX when used for reads */ + { .name =3D "DBGDTRTX_EL0", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 2, .opc1 =3D 3, .crn =3D 0, .crm =3D 5, .opc2 =3D 0, .access =3D PL0_RW, .accessfn =3D access_tdcc, .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, + { .name =3D "DBGDTRTX", .state =3D ARM_CP_STATE_AA32, .cp =3D 14, + .opc1 =3D 0, .crn =3D 0, .crm =3D 5, .opc2 =3D 0, + .access =3D PL0_RW, .accessfn =3D access_tdcc, + .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, + /* This is AArch64-only and is a combination of DBGDTRTX and DBGDTRRX = */ + { .name =3D "DBGDTR_EL0", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 2, .opc1 =3D 3, .crn =3D 0, .crm =3D 4, .opc2 =3D 0, + .access =3D PL0_RW, .accessfn =3D access_tdcc, + .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, /* * OSECCR_EL1 provides a mechanism for an operating system * to access the contents of EDECCR. EDECCR is not implemented though, --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104857; cv=none; d=zohomail.com; s=zohoarc; b=cE6F8C23oq8MmU0Hp9uKeNab1KUpg4sIXPEvqMWpBNcj+zwnZLoBu58lGFSlCHGlr0gd00tKuwBpIjjTn2JbicvX1ly/1eZ3ugkNNS6z69fZx5JoUxfk3BdU7E9221VRRB8BlCSZ5SSdkEFmQYT6AlmrbJAXAIDe0e/spaH5RGA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104857; h=Content-Transfer-Encoding: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:Cc; bh=TkHO/JBZlINngYKtzqWQqivz7dVd5JZjQfrMD1ZECRc=; b=BWVDWzRksH0E3FFLKGcg24n6zDIKuiyW67NI/7Iag26vfKVDSASzLC82kQd7TmYGz3ESFw+XJRHuWuFvXTcJruPK/IQvKunD42W9ZIXKThCf1ZcEDUuHoT5CQRPXiwieFAzYNn2tZUoy//0u3edeeSbM6/HUOfcgoIiAaOfGU4Q= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104857477328.8092032049443; Mon, 21 Jul 2025 06:34:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYf-0003Ig-Gz; Mon, 21 Jul 2025 09:27:57 -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 1udqYB-00009l-AM for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:40 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqY9-0005Hd-0k for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:26 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a4fd1ba177so2782017f8f.0 for ; Mon, 21 Jul 2025 06:27:24 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104443; x=1753709243; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=TkHO/JBZlINngYKtzqWQqivz7dVd5JZjQfrMD1ZECRc=; b=mwf19hHrENdlCdoFnJrF+pfmuIbyjvJxhCG4ZY9sssTk+oTzHMM9slcUAzCVkuXO4/ 8a4sEkNF0iJzi+tAbOAfVkfznlyfaNhM3xrOTY1agtH3i/eiNiYsOVYP4RrgHFmE2NJ9 tTDCiyv+u/NEVsFotxS8EUn+PNlgIcI1c5sFCkIiknR+KXfSK62oWcHVwvsCA6xUPmk9 26GvIY/f9wjj1xBNRmgNwGYbXS1ev8yHS4D0VUzd8aW7uczL+17v0W6I/x19A0tpPZ/U G0fnUuXJ+N6bXl2hT/dlmfsVbGwSISWkOpL1OHDmD8i7Ox8uqOX70omtG8KaDB1cSn+q 8u8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104443; x=1753709243; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TkHO/JBZlINngYKtzqWQqivz7dVd5JZjQfrMD1ZECRc=; b=w9ovvX2jXrW9FdZruXPGhyvCGhtKQ05tJvgQoabs8ynn9nogzkHHubkOHNfccGfOv3 h14/zltmnF8CzvOTZakCIKNCvEPi5uTk3OMt0IMS7BL50os2XbwsDEu9+yzzSCJ3ZDiF leOqzx0ELaCcDGNZWk60d8KCJBU+o/8Xuykpji/8/mYUYjUdF8feQVRt3+BqKyZd7clk s0Gr5hEgKy0INLmX5pq9yTWYq5XZp/cg60jMPEopQuajb/dS/7CaJxi3XAhH+U/dX13m a8Q8hbxaBSFPU2uhg4I9iIPoYdXpW8UxKrvHBvYbLfr0hjMgbVZHRIEoDWz8RKswCarY wFvQ== X-Gm-Message-State: AOJu0Yw0PXT0MWRXw42DO3t5NZUmx7ux/OPD9SacSv8Vvx8UQJ13tPHC V7R3GhAsRagFlLBPAloKHCySBocBzriNsj92lHI20N0Ed0MKcXBsXANnckRt3/3+BSpyA8OusNX hYnDB X-Gm-Gg: ASbGncs+fLdjosQ7h0JygDE6L5nPnPHVq1LHqUOciRKFrVRdGpQIngaezWHbLuG1iJC eU2s3TvZ9pCd4FMbpUINV6ipNk8Y7ut52y0OwVoWWUEinOus6EzGhvYIeWQMwQ+Ug1e67sBupHt TS8iCaEckU5itD3NWk4c9KAG5Dn8W97sqP8qMyS+VTnkKG+2hXurKv0w1DORmuNwtBe/v2RVAqT yKCkVu2UWyzCUNDa4ZMDzx9AAUWd2MElo894NKRdqyDBaK6yw/KZsmcSzZI6Tf9lDMkiG0+txke MRPcz1YPqJT/z2rSiYMLFIXDFDDrrMTYhaN6/fewkoZ62ZIfhI05CU74Zvm2qQ6QJtBCm9Bnc33 fkTzKxpIwtqkfHHU6Q7e1bWYF8pTu X-Google-Smtp-Source: AGHT+IHvY2jLQjjc8824H5hIgCQ1vzw/z1EE94aVJ1qeMet7iDxcen7uMcVKj0+O4KE4gHOMjGE9lA== X-Received: by 2002:a05:6000:2881:b0:3b7:590d:ac7d with SMTP id ffacd0b85a97d-3b7590dad1fmr4639886f8f.1.1753104442720; Mon, 21 Jul 2025 06:27:22 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 03/20] hw/misc/ivshmem-pci: Improve error handling Date: Mon, 21 Jul 2025 14:27:00 +0100 Message-ID: <20250721132718.2835729-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42b; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104859163116600 Content-Type: text/plain; charset="utf-8" Coverity points out that the ivshmem-pci code has some error handling cases where it incorrectly tries to use an invalid filedescriptor. These generally happen because ivshmem_recv_msg() calls qemu_chr_fe_get_msgfd(), which might return -1, but the code in process_msg() generally assumes that the file descriptor was provided when it was supposed to be. In particular: * the error case in process_msg() only needs to close the fd if one was provided * process_msg_shmem() should fail if no fd was provided Coverity: CID 1508726 Signed-off-by: Peter Maydell Reviewed-by: Markus Armbruster Message-id: 20250711145012.1521936-1-peter.maydell@linaro.org --- hw/misc/ivshmem-pci.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/hw/misc/ivshmem-pci.c b/hw/misc/ivshmem-pci.c index 5a10bca633d..d47ae739d61 100644 --- a/hw/misc/ivshmem-pci.c +++ b/hw/misc/ivshmem-pci.c @@ -479,6 +479,11 @@ static void process_msg_shmem(IVShmemState *s, int fd,= Error **errp) struct stat buf; size_t size; =20 + if (fd < 0) { + error_setg(errp, "server didn't provide fd with shared memory mess= age"); + return; + } + if (s->ivshmem_bar2) { error_setg(errp, "server sent unexpected shared memory message"); close(fd); @@ -553,7 +558,9 @@ static void process_msg(IVShmemState *s, int64_t msg, i= nt fd, Error **errp) =20 if (msg < -1 || msg > IVSHMEM_MAX_PEERS) { error_setg(errp, "server sent invalid message %" PRId64, msg); - close(fd); + if (fd >=3D 0) { + close(fd); + } return; } =20 --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104940; cv=none; d=zohomail.com; s=zohoarc; b=nvaD7rEIExm3zGU10KdXWSiBCgc3GjUBQQjaB2mRxrGd/aWyD6mCjSrq/kEI6fLfMMX8/3b9EJ8D4Q3sIINovEg7ScpuUyXMzJq9zSpv7RqC+B50Mz+HvTexotpkinVTh9ixW09mFiimWsYYGLmW5lJhyQtdCFt+mfAL+GHPVqQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104940; h=Content-Transfer-Encoding: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:Cc; bh=LDSwBUvksbhb5pjoNJUH79KfTb7ObxN8yMeFlhNrxSc=; b=PHzt7jRNoEyAt5IGjNIwujRWQytS6ZpgCLdBDgXYWZNfBsrxbhMSCRid9cyCMLsQnuhVVs0QwH0kOy/2Uf6gFA6EgdXXNlLZGoGfGSOvR4f5W+xobK8D1Yis/IoRxf3GvoGRM6na8MGbfAredUhQH0VZqdMlixLoLwdd4mRqffo= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175310494095262.911841283371814; Mon, 21 Jul 2025 06:35:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYv-0007xc-6p; Mon, 21 Jul 2025 09:28: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 1udqYC-0000AD-D2 for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:43 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqY9-0005Hl-Gx for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:27 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-456108bf94bso30303195e9.0 for ; Mon, 21 Jul 2025 06:27:25 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104444; x=1753709244; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=LDSwBUvksbhb5pjoNJUH79KfTb7ObxN8yMeFlhNrxSc=; b=H0RPS6Fn4WyMCgq2qBA3AnvEYVBW1dqdsmX8GZmErFHLXjq7R/tM3MNg/QJ+a5buCN 3yUZ8oFb1py68WCoqO1f40PuqybV80/60UdTJ5k3Ryc31DZY/unBohPu6RzOUxjPwQlR hHCPgZf4OY0uYBnJ+/fDCyO6n7JDc6JJWuaD9F27+IeiAWgNh7+i8oMjDtusIZvk5RdH 3QMxz/8gXI1hc/HWY/UKhJGSNxcw3RaNTwUezdbvPArJa1eNGTi1zv55ZvffHXItAN/s uTlOm4Li0/EVfvXFpzua0SHzk8CIklrLEAuSlZvIRFfXgK0JAwIMc+RyxFccRc+hC4qJ qK9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104444; x=1753709244; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LDSwBUvksbhb5pjoNJUH79KfTb7ObxN8yMeFlhNrxSc=; b=DAR7gEKwwOafLrdYWcUpu0M+z59pQxNERzPr836DZcMz3moRTXkx+iGia1mvP22AWa CInHzbmX+lNIJyYoJscAEO+02KLQn1R3W++PNS8XkBnsaIikWMS3SLol+wLFuEJeiCzw lOwq69CQLSGL85RU+2cmUmC/mlG5u4EH/1PK37/t2nLxw7o3GkWS9Hb14rCAEICPABy/ 4ji52EqdmW/C0Nhc7qdFYw4ziQmRiYbgB7MZjANRmswDVQ8vG+zj3EX38yc8txTjDh1M c8oJkMz1PJAEY0ZPoMNMmNqAKMLeQAwtgv7HCetpApWGmowmanwIVhtqNDse+gLT6Jv7 jSLQ== X-Gm-Message-State: AOJu0YyPdFg4kB/WkBZcctHcEP8mcxzxE1uUBvUa7n0+VtlOykGZpGiq wHWS50I7c1fBIAr3DQKLTw1hJ0NS3RLzSo277YvYdjXHgDDUsl/uAWMeWDD67fs6bGQwNwxFxYA wRz10 X-Gm-Gg: ASbGnctRAb9o2Yqom/07a8aAaaOP7OJeM++WLfkh7X7iwYz+4FsdnDScgy4R8wlOgJR Z78OKwVHCWNgPP1Fk1+5nwdzzhdvxkPSiB6WJdBdsPkaRjP/iUr3Pz2GsKX9CdfVBTizVjipH9F TGAQGX0Y5IeUjPh82XDcoEwmsQQz57rFLxuyQpfFaeIjBl6QY9PvpqcgZrVmwL9AHaDta6uZvxp E3sbtWoJ6xO5NO4SOKVwpyHotjNX152mmBA+Nd++ESF8Ba4jwLwhalwwwPGRKSp661WgcbUU1R9 GWlts6Gx/umANPiKqQ4ofH52x+A1GlUkrfrUVdp09QpAZEGSOlr0A7ptqjEwk/CjW8P/IFnb8EG p2StrIK4OKhQODxCJf2KeW7gtdy/U X-Google-Smtp-Source: AGHT+IHDvFPdSvDPc8eD0Pc/bZi65+z4jukR1ZkCd1UO/Bx9Wu3RiXrRIq7PveoK6Z6w0DWzWks8zw== X-Received: by 2002:a05:600c:3b88:b0:456:25aa:e9c0 with SMTP id 5b1f17b1804b1-4562e355c9bmr204683365e9.14.1753104443603; Mon, 21 Jul 2025 06:27:23 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 04/20] target/arm: Provide always-false kvm_arm_*_supported() stubs for usermode Date: Mon, 21 Jul 2025 14:27:01 +0100 Message-ID: <20250721132718.2835729-5-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::330; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104942333116600 Content-Type: text/plain; charset="utf-8" If you try to build aarch64-linux-user with clang and --enable-debug then it fails to compile: ld: libqemu-aarch64-linux-user.a.p/target_arm_cpu64.c.o: in function `cpu_= arm_set_sve': ../../target/arm/cpu64.c:321:(.text+0x1254): undefined reference to `kvm_a= rm_sve_supported' This is a regression introduced in commit f86d4220, which switched the kvm-stub.c file away from being built for all arm targets to only being built for system emulation binaries. It doesn't affect gcc, presumably because even at -O0 gcc folds away the always-false kvm_enabled() condition but clang does not. We would prefer not to build kvm-stub.c once for usermode and once for system-emulation binaries, and we can't build it just once for both because it includes cpu.h. So instead provide always-false versions of the five functions that are valid to call without KVM support in kvm_arm.h. Fixes: f86d42205c2eba ("target/arm/meson: accelerator files are not needed = in user mode") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3033 Signed-off-by: Peter Maydell Reviewed-by: Pierrick Bouvier Message-id: 20250714135152.1896214-1-peter.maydell@linaro.org --- target/arm/kvm_arm.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h index b4cad051551..6a9b6374a6d 100644 --- a/target/arm/kvm_arm.h +++ b/target/arm/kvm_arm.h @@ -161,6 +161,14 @@ void kvm_arm_add_vcpu_properties(ARMCPU *cpu); */ void kvm_arm_steal_time_finalize(ARMCPU *cpu, Error **errp); =20 +/* + * These "is some KVM subfeature enabled?" functions may be called + * when KVM support is not present, including in the user-mode + * emulators. The kvm-stub.c file is only built into the system + * emulators, so for user-mode emulation we provide "always false" + * stubs here. + */ +#ifndef CONFIG_USER_ONLY /** * kvm_arm_aarch32_supported: * @@ -197,6 +205,33 @@ bool kvm_arm_mte_supported(void); * Returns true if KVM can enable EL2 and false otherwise. */ bool kvm_arm_el2_supported(void); +#else + +static inline bool kvm_arm_aarch32_supported(void) +{ + return false; +} + +static inline bool kvm_arm_pmu_supported(void) +{ + return false; +} + +static inline bool kvm_arm_sve_supported(void) +{ + return false; +} + +static inline bool kvm_arm_mte_supported(void) +{ + return false; +} + +static inline bool kvm_arm_el2_supported(void) +{ + return false; +} +#endif =20 /** * kvm_arm_get_max_vm_ipa_size: --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104815; cv=none; d=zohomail.com; s=zohoarc; b=V1cxnMjGB6+hUZ/xg5XtjpE5u3cWbp8zmopPHn0lb1juKPdxDZOenX6g+RufJwkhkpFWAOOA1xLpVxIfqpa+xrEOeWDmoCSWYw822cp1wm6mS00Qz4oH7yOoC/l7QO15Jdw3eggbbImtYLTJyYmg7JgmU36m8cNhqrzLBIODe1E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104815; h=Content-Type:Content-Transfer-Encoding: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:Cc; bh=CinAv+JmxDGnvNAXVZ6z1/DIxUoQ1w9KIVLUKTNoQi8=; b=AOiPmt3n8DwTAY6PNoBRWtC4Ix2nERRLk6Lc//wmhfRH0wbo82gt2hdClRNpa0/m32K40LQPTl1hpr2e8gZzClljOTMZsULOSV744xoK+oDJvDxdZub5ONioDruXefG2N43l5E/64dtpL7MPdu2QImFhM0SdyhoLU0u3L+s/SYU= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104815036804.3315031559326; Mon, 21 Jul 2025 06:33:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYi-00047H-0M; Mon, 21 Jul 2025 09:28:00 -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 1udqYE-0000B9-J5 for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:42 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYB-0005I3-2l for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:29 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3b611665b96so2361884f8f.2 for ; Mon, 21 Jul 2025 06:27:25 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104445; x=1753709245; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=CinAv+JmxDGnvNAXVZ6z1/DIxUoQ1w9KIVLUKTNoQi8=; b=JMOoYVhja5E/6Ht8XJhXqu5PZI4D8SZ8QPNpkMFN/tPJwNZHR3DmGFgXO6kjxdHvDn 9KqIMHCNCVU/wjQQDQHJ5Cxs0D2F6cA0JRKVRYXyXnvu0w3cj8J8b0UPSbhaNw42iOjq c8R+n7u7SLN/GRnPWAm/WUSqwVq1+SwY05lB4tDvD7yS+hLML1uYS5kRkn931DWhrffm 9dyxx/1Qr5V+Z8YpN4bh9usJf1V+IexyScUE/IQovcDuZId0dyV/LwDhDuxRka5rIQa5 asGWDJuCKst3x+EKRUaMi2B+Td6Zfy9NxcDELHEMXKuPblK7A1mQFMAFd055NHVrbj3m XGow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104445; x=1753709245; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CinAv+JmxDGnvNAXVZ6z1/DIxUoQ1w9KIVLUKTNoQi8=; b=aSC2+d7Veueeed8Hi2r6lZAqQI/8yrL1XDETg1qWgW+jKj6ZDYmS2zjh9Lwg2htnXJ bZ2cjhyY7X1jPbF/hLAow6+fPqm7WmI7jsPUDaqI9j0V1rq91soAut5sq2JI4/lJlU5N hhkZ8B7+mr1QVu8ZBdOvpT0qLxb7aZiv+gwtUgfZg7gDjYmS+MQDon7HOEaKhJ5XXQ1l GLyWSSkYOSiCpTx/1Xvjl33bAZcfNp/aawvBY+0QQbjJzFj/vlYgogQ48mlgDFWZCoks hgzLAzE+W8vKhzOtCHbp9WRniVsJBHnsCug/+cNuSX6Ux7GvStVy0vHUu8N7H7AaDryb sGLw== X-Gm-Message-State: AOJu0YyPPmJRQg6j9Dy0gOll1rPUb6xy61HnR3nPoXLvDGSBOOKJtmQj /OdGpia8nD//Y6EXFifxIam8spbFOs7xjSkvCBbftjn9oK40uLH/Hv1/mS/0E7x6Hb1ynEqm6Kk 2B8xz X-Gm-Gg: ASbGncsKzbzre/iWvI9i/KKCHycNYin5WqUzm9aN91iPd7W2HDWoFxgqkN59nxCcE5a wrNYPI599elc4ikeNkhFRiileqQ/V3BZb8mQ+IKoEmdAW8XIwPlRP2aP9WHgqWmfzHvfVpoZGS2 XMDL9RFlviy9PZsFdu/17LmAsaXTyCVFca42OI87fXIFU50Pcm4GBbhYtLAeLaMtCxaT3Kp4MOf plYDKlI1vyKe1Frz+0AIeD/muFE0g9c4fQ6o61c40Nuiu6216CNQXvEyLGM0W1iQOQaLk1C1tg3 XpqH+jBpqVNbD5I95r424BwekZqESskb4CeqMpETRRPXuDIPSh0NWoM2g49j7T0mTDAcsGeRuth WYndQ2+GgauiCM2IWngZh95I5ehWA X-Google-Smtp-Source: AGHT+IHxBPl3UMhXn/3+hE7jpCKZtycpyYitE1pMNT/Eu/C5rfSSkYFrEVXeInNgmZI4M1G47SHSiw== X-Received: by 2002:a05:6000:2b04:b0:3a4:ead4:5ea4 with SMTP id ffacd0b85a97d-3b60e4d4da4mr11092479f8f.24.1753104444591; Mon, 21 Jul 2025 06:27:24 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 05/20] host-utils: Drop workaround for buggy Apple Clang __builtin_subcll() Date: Mon, 21 Jul 2025 14:27:02 +0100 Message-ID: <20250721132718.2835729-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::433; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104817153116600 In commit b0438861efe ("host-utils: Avoid using __builtin_subcll on buggy versions of Apple Clang") we added a workaround for a bug in Apple Clang 14 where its __builtin_subcll() implementation was wrong. This bug was only present in Apple Clang 14, not in upstream clang, and is not present in Apple Clang versions 15 and newer. Since commit 4e035201 we have required at least Apple Clang 15, so we no longer build with the buggy versions. We can therefore drop the workaround. This is effectively a revert of b0438861efe. This should not be backported to stable branches, which may still need to support Apple Clang 14. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3030 Signed-off-by: Peter Maydell Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20250714145033.1908788-1-peter.maydell@linaro.org --- include/qemu/compiler.h | 13 ------------- include/qemu/host-utils.h | 2 +- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h index 65b89958d36..1c2b673c058 100644 --- a/include/qemu/compiler.h +++ b/include/qemu/compiler.h @@ -182,19 +182,6 @@ #define QEMU_DISABLE_CFI #endif =20 -/* - * Apple clang version 14 has a bug in its __builtin_subcll(); define - * BUILTIN_SUBCLL_BROKEN for the offending versions so we can avoid it. - * When a version of Apple clang which has this bug fixed is released - * we can add an upper bound to this check. - * See https://gitlab.com/qemu-project/qemu/-/issues/1631 - * and https://gitlab.com/qemu-project/qemu/-/issues/1659 for details. - * The bug never made it into any upstream LLVM releases, only Apple ones. - */ -#if defined(__apple_build_version__) && __clang_major__ >=3D 14 -#define BUILTIN_SUBCLL_BROKEN -#endif - #if __has_attribute(annotate) #define QEMU_ANNOTATE(x) __attribute__((annotate(x))) #else diff --git a/include/qemu/host-utils.h b/include/qemu/host-utils.h index 4d28fa22cfa..dd558589cb5 100644 --- a/include/qemu/host-utils.h +++ b/include/qemu/host-utils.h @@ -677,7 +677,7 @@ static inline uint64_t uadd64_carry(uint64_t x, uint64_= t y, bool *pcarry) */ static inline uint64_t usub64_borrow(uint64_t x, uint64_t y, bool *pborrow) { -#if __has_builtin(__builtin_subcll) && !defined(BUILTIN_SUBCLL_BROKEN) +#if __has_builtin(__builtin_subcll) unsigned long long b =3D *pborrow; x =3D __builtin_subcll(x, y, b, &b); *pborrow =3D b & 1; --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104587; cv=none; d=zohomail.com; s=zohoarc; b=N36N7VKGcdQlnAPKh+I70zxeOeTH9lFUf3GuxgeWqYDWiNZ/xWHz2TmP46xBH6cAO2deuCdYgbegQ7qFxoJXanom1blsUJF1419q5dATYzEvbpXuNOQDVl4BMPfskOh2UzGy+3zMRdt6EEaUqJ4FMD0r0QMKaV31Cy0lRPeSvNs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104587; h=Content-Transfer-Encoding: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:Cc; bh=KBSm5ugZ/xrMuFfTDLrUi2oSc650VnWgZyUG+JvhWFA=; b=N27pnu1ClTKWdxrTdZOoAI0aYJTA60J+Pd4UBlgTuPtLXvNGimTfnYLFj2HInb0RX0QqUwDy9W/8HZPoxVXIgd8KHU2McTlqqpIblebpAlk7E3OORtV4BUyKN5TveHYaJEay1yFAyRmgXg9Im0vN7MugB4VOIPHx//iv9f1V5z4= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104587026437.8387998693099; Mon, 21 Jul 2025 06:29:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYm-0005bt-2e; Mon, 21 Jul 2025 09:28:04 -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 1udqYE-0000BC-LO for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:42 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYC-0005IE-6D for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:29 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4560d176f97so46908965e9.0 for ; Mon, 21 Jul 2025 06:27:26 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104445; x=1753709245; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=KBSm5ugZ/xrMuFfTDLrUi2oSc650VnWgZyUG+JvhWFA=; b=eNOQtYNQ2TPmeCWYRDtdqw2ssblrm+P8uI8+C/E2CtoS9lHwSS6zSBXDvSpRo9cbpu eQzu1w328EmHXShlTN+XLuLQ/rB1guhYxHl0lcnrwTWQ+0c02gb5A4Y2XweH6GDsxeG9 K9shmHzP8ezNgG91XJ7roVEvG+SNusxAlRThfZmGQb2wWyLZvdeTCXqhpfOsULAEE9Ls XTIUAlmN/uD2TMycJcoMogzZxPfwOXR/k03H1+pfaiIhJd2k1ViTVsgeHQ9XHkK8lXTA m0dOft/TF3CMhO6Adz6PjtGTFc5zs1JhI9RL4QL80D53vJ8sPZwDFMvT3qh5j65IGju9 9WoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104445; x=1753709245; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KBSm5ugZ/xrMuFfTDLrUi2oSc650VnWgZyUG+JvhWFA=; b=rYhOjymzoAsvZL/inJnHFzBdF+IWKCCvBy0en5GSECkw8Jej6bEHBncUeXWLzfrMvF xHBjKScoPaF3w5Q/RHiiKLcPhIx9poetp9F1jkg9QiGsGP9uvQ1KfdGIbge/nE/EzeQ3 z8bg/nH20jz5nYKGOfN7UIPBM8JdV7niIp1ac97ZziUedSSr1v0YKQ8A5/PyGaBPyEsR 5A4iprNckXcx6XtJKtCN+6gpRRFsNxQieymja9I17p/FCdBbGDqhR1I/SSRWyI7HtPSj Zrzgpf9bLjw6ysm2/Npiruj6Y+vhs4ZDxH8wWKumwjIL+p0woi3zqsAEFR7SDlsL9Heb Dn8w== X-Gm-Message-State: AOJu0YyN4lFEQ6YpsgqPZPC80IcBFvdx5pg/YhB4+zhZTgrYSWYdRwpv tifmxyhhnDJMotrqBamoG3fo7ABXMxBI822e2Fd5Z1bZxM5pUZLQyNQ0h3gTTulJBxTE30MRYkK bs00N X-Gm-Gg: ASbGncsYTL3iUpI+LOTcQ3IwQOldrkKdedjbl0GtXEUOSviJJiMznsCuwp8rc4I5qB+ rJFbi+YKv8yyPC/DDemfSLw3BCg6y11eOtakMNlYzj7nw8XOYmEM0aTEQypiwlLlae+/4kAqaPV cbBIlXUhdswUFIn6QGlpUTPKU1FZcNHnQR85jsZZQz2GonKPxLLm3ym57SMV8P5n/id2uehYdJv NIbvQc5Qbjxz73KcRW9EdG0m5nXf7fsm6LfOi6m5GSxjsEYbksd1e0qcCUq972fk8DMzuhzEpt2 yDUhbdzVCZb5yL8vw41gt+G+q3eHHp1uOJMYhv1QF4M9z/1qZ6dZrKMuY/QbazgRMdI2ILA0nr6 z5amw2zPJ7rt+xUo7QdrFHI5laeHc X-Google-Smtp-Source: AGHT+IHJwPF4ohez1x5yFR1bFWaryY1M7C8ofGioTW/0PVshGhr54naD5p1u1AjswgRkpdRYaMkcFQ== X-Received: by 2002:a05:600c:4e8c:b0:456:1fd9:c8f0 with SMTP id 5b1f17b1804b1-4562e32e669mr214834575e9.2.1753104445527; Mon, 21 Jul 2025 06:27:25 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 06/20] hw/misc/max78000_aes: Comment Internal Key Storage Date: Mon, 21 Jul 2025 14:27:03 +0100 Message-ID: <20250721132718.2835729-7-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::333; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104587737116600 Content-Type: text/plain; charset="utf-8" From: Jackson Donaldson Coverity Scan noted an unusual pattern in the MAX78000 aes device, with duplicated calls to set_decrypt. This commit adds a comment noting why the implementation is correct. Signed-off-by: Jackson Donaldson Message-id: 20250716002622.84685-1-jcksn@duck.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/misc/max78000_aes.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hw/misc/max78000_aes.c b/hw/misc/max78000_aes.c index 0bfb2f02b5b..d883ddd2b61 100644 --- a/hw/misc/max78000_aes.c +++ b/hw/misc/max78000_aes.c @@ -79,6 +79,12 @@ static void max78000_aes_do_crypto(Max78000AesState *s) keydata +=3D 8; } =20 + /* + * The MAX78000 AES engine stores an internal key, which it uses only + * for decryption. This results in the slighly odd looking pairs of + * set_encrypt and set_decrypt calls below; s->internal_key is + * being stored for later use in both cases. + */ AES_KEY key; if ((s->ctrl & TYPE) =3D=3D 0) { AES_set_encrypt_key(keydata, keylen, &key); --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104590; cv=none; d=zohomail.com; s=zohoarc; b=NUwtzxhazmsaXwxp3PT/KvcdyPkKBNE8RDYMqUQsX4S5Vg9D4oa96tEnuDEggJnWa6i0Hv8UrqQx9L7OCZsBw9TqhhGvY87Q6v24tSF9SJ+T7vcw4iIVu0eScRWHQnlQ2fIlnsOmZ6ON56qxGtN3eWxoRU3YygIQUL3Ok0IyQ1M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104590; h=Content-Type:Content-Transfer-Encoding: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:Cc; bh=rMO0z2Dg2xe9/sSr/rgtQPRY3C/mD4AtJBFkheyKZIo=; b=MnqCzsF6T3B2jou9b4F6cxxQCQweOStKfmC3X2od/z/U6D7AfmrzQHzQ5kHWCGtt6fEEEO+oNX5zW1RfBut1YIOkHO2ITd4kvdobbNkRsoixlIT71asdLuVHFLwmya8Qj19oGpmp7q9ZVZALtg9R+udcBW0W2fai7lWzRC5MneY= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104590087201.8612104509964; Mon, 21 Jul 2025 06:29:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYh-0003ua-9d; Mon, 21 Jul 2025 09:27:59 -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 1udqYF-0000Bg-PB for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:43 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYC-0005IN-Ac for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:31 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a4fb9c2436so2478750f8f.1 for ; Mon, 21 Jul 2025 06:27:27 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104446; x=1753709246; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=rMO0z2Dg2xe9/sSr/rgtQPRY3C/mD4AtJBFkheyKZIo=; b=A3ATLQA9qQ7rfat6iAjbwseyPA5+4bN9BoTz8w48ApFFj/jh23uWFu5P8R49DYUZ4d w8mU+AL1BiMxAxqD+yA0ZptYnmu25rwxh1fjvjYeD4UPs+h5rXbSEkk4jx+b3huR4+iY BXf9XhrTL86+O96AdE84Mxejt69VkNCdMm2lh6otqHmZ24rC2Y427FZhEx/FpKK/QniO hxuY6E76H9HP73DGz+p9pjlNuDMegpucEVIZgsVzPXLkI/gxiouAYHGeQzFliy3w8IIn WDJ2dm+0xMvmvRTDzDV2zEK0JRtpQGc7ctb6SMtv+9iZ6Brfj2QvhIlRAS5+XaEOkNbA HT6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104446; x=1753709246; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rMO0z2Dg2xe9/sSr/rgtQPRY3C/mD4AtJBFkheyKZIo=; b=FnFMQg4IaxvMcqtlBJ/uDaljw8wzoivHgVsto1GXqjYYk2OSC16kAe5CpsiL4Ag6Ff mharX+010GvjGP0NInKkGAb9J+0xGUc+5gwcnV6SswHbBXEupkwQoKQqz7/gz87ZW7zQ aiD2S4TplIn82k3hg64I97P+BcCfy4NoewVUsI3JKWNerD8+JPtsHzEc4QmuzIhWSC89 Jb3ykVW88H8zLH3vHqZVAVziCxYdJs7cKDAyewWMF+U9IjiPjdRYTpE41VQKjhY5Aooy k2YhZjzMHoaMNfzXS32Z7rKcdA7uq/oCRFttMMVcuw+7PoTwWy4puVsRP0jfgY7+dYdc /lRg== X-Gm-Message-State: AOJu0YyJQeuXJ3ITAvlUcb/xQZP4h38F106Fx5nNbcxsgNzOZSuBwARs bl+8NloM+oRCVaznG/4w1vMhEjopMdINfC4R0MH0IQLz5EBFzVXp4xBC+ayG9vXHZ8g8AThNSyp N8Ntx X-Gm-Gg: ASbGncsD3/lgmPoKfZjuJdcokZL8aWwf+f9vHjYO60Df5/pnHc/tc6pXN4YFcuIXZ0o Gfp6Z8wPGEBCDrOK73+gW/v3TjNpJ5tlsLE7z2sw/qjrNTqdjNjn4g7FG7bAuOLowd08ZkxNBp9 KAf/i16J8jgPmRkCGyB9WCi5567jCT0cxb6KdCHxV8RlI5gJml5BrTORXTxRLQE+1AXDCKQhaKI 0bSGJ43cabTuco96/XO/CS8J76OROouc91oVw7ODRPgMltgZmvC/nbjVy7ZSj+qt++5V4tEyy4i 1/Qmw2ifp4JlkG1hU6l8QbdrBztdQUnu7kCFGGEQhHfnX5fpHLJ6OvWfMFx2LyU4GekyLPVe+k3 3VL5I97JxUM1T3Fu65xMAzMhs6Z+0 X-Google-Smtp-Source: AGHT+IHEliG8u9hGB5rHKVEqR/80qdXbGH2JsWhYJx98+QmP3vQCw/NPTx04ifCCISyrjd8P82FbRw== X-Received: by 2002:a5d:5f55:0:b0:3a4:e841:b236 with SMTP id ffacd0b85a97d-3b61b217f68mr9274095f8f.33.1753104446409; Mon, 21 Jul 2025 06:27:26 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 07/20] docs: Fix Aspeed title Date: Mon, 21 Jul 2025 14:27:04 +0100 Message-ID: <20250721132718.2835729-8-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::431; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104591871116600 From: C=C3=A9dric Le Goater commit ad8e0e8a0088 removed the "=3D=3D=3D=3D=3D=3D" underlining the file t= itle which broke documentation rendering. Add it back. Fixes: ad8e0e8a0088 ("docs: add support for gb200-bmc") Cc: Ed Tanous Reported-by: Peter Maydell Signed-off-by: C=C3=A9dric Le Goater Reviewed-by: Thomas Huth Reviewed-by: Ed Tanous Message-id: 20250715061904.97540-1-clg@redhat.com Signed-off-by: Peter Maydell --- docs/system/arm/aspeed.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/system/arm/aspeed.rst b/docs/system/arm/aspeed.rst index bec0a1dfa8b..bf18c563470 100644 --- a/docs/system/arm/aspeed.rst +++ b/docs/system/arm/aspeed.rst @@ -1,4 +1,5 @@ Aspeed family boards (``ast2500-evb``, ``ast2600-evb``, ``ast2700-evb``, `= `bletchley-bmc``, ``fuji-bmc``, ``gb200nvl-bmc``, ``fby35-bmc``, ``fp5280g2= -bmc``, ``g220a-bmc``, ``palmetto-bmc``, ``qcom-dc-scm-v1-bmc``, ``qcom-fir= ework-bmc``, ``quanta-q71l-bmc``, ``rainier-bmc``, ``romulus-bmc``, ``sonor= apass-bmc``, ``supermicrox11-bmc``, ``supermicrox11spi-bmc``, ``tiogapass-b= mc``, ``witherspoon-bmc``, ``yosemitev2-bmc``) +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 The QEMU Aspeed machines model BMCs of various OpenPOWER systems and Aspeed evaluation boards. They are based on different releases of the --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104795; cv=none; d=zohomail.com; s=zohoarc; b=GJPMVCb/TTcZKsg4Fpn8WkJtMIXs4yJZQVWkf9Hl1vKy2jvn9mn0WC3m03cWbbYru2mN+IlPRXFoRO8bVk367Os1aXTojkfcm4Pq+PlkSXR4hF7+kVni5HtR0KGgPsr0Kf8obdSuVY+NAqPJDgsQyNy9N/bbfLQ0AjJW+R2+3Fo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104795; h=Content-Transfer-Encoding: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:Cc; bh=wcyNJdNL/xiLYp3N57lKK8EPw8zPH/26wbvTC0tX4sQ=; b=oJYrDTSgd67TmAzqN5apC38acZuFbzZi6IAsEUP7xQPG88GFlPL524fOmcQStHLa4pirUVQ7Tuun7fMQEis/0dX9cPQCrGlNNrBgVaHtGRIw05ZF0H5JYU8VKVtZVS+MLw7yXVzeGzbnK1SFTXhzMF1JW5uCiJwH4OPtTASs/bc= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104795199545.0266665423934; Mon, 21 Jul 2025 06:33:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYo-0006FG-Hn; Mon, 21 Jul 2025 09:28:06 -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 1udqYI-0000Cs-1j for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:42 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYD-0005Ik-R3 for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:32 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4561ca74829so47954895e9.0 for ; Mon, 21 Jul 2025 06:27:28 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104448; x=1753709248; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=wcyNJdNL/xiLYp3N57lKK8EPw8zPH/26wbvTC0tX4sQ=; b=qFtt/uhCwYta1r6NkBJ9lnwbeyLfnU0M2w+3ieRvQhQCIxZi9PV+MQb8FTkQ9RGE/4 6hlVd2ktD2t9aeA8Kao5+exRtAUkBRSb1Jln20aztrjrVm239k9ESmM9IgK9xmayHpR6 +x1GL62ndOegaa3U+FFsBQyKsPxyBGQO1ZrWZMGhOCpGI8ML2Yfgv1bzTOTdcsSj5zN0 snCzwBIyQ9IP7j63dRoG7PmWwHWMWDCUtEYC0wP/4D5P8LdebfBATVaQZWtwyG7eHm54 nbTyTq4zxoB4foi3ADlINgXgZiikc5dYsXunhio0vIyFbQnrlbQdNezDGmMEPkDbcuoG cLNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104448; x=1753709248; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wcyNJdNL/xiLYp3N57lKK8EPw8zPH/26wbvTC0tX4sQ=; b=pqwrynGn7HTKp+1kUk1psIVMqsZBOLWHec57m/0Zi6hoW/dN+bQe2HH+tcB/zoYU4o Bc28Xo2ED2DptOCcFdpPEBwAFg7H9HbLNUsEiojHvdI0Ykjv5GJ9BTDphtNuP5n9nGCC vTbaxH6yIdN2Oh9oYjpUx9iAif7mRu/gLrQkQ93C/COAPc75W0VQRO592qrOwcUnRPSS rwQYIS2TrxcnMdoXWIlkyN4yXCqh1cVQbE2Ioef1gqbDnSiMdhZgyT9A7SV7lUD1q2Rr gllswtwr0Q8basloXlaziWezU4p4aYB6n52ErCQL4Y+PpjpXsmrPC30pUgNM3x09lETV bq5Q== X-Gm-Message-State: AOJu0Yy4ElFaP0LoZNvlFM6RNEXwr1gZdbNMddqMTE6O7n9UX0Gd5fbw bfork7NHijF2th7cM2R9F9Vby7g6Rrb+Mll6MhU0hMLJ/gAIpFEo7zth9cV6eF5Pz5ugptZhbkw bbVqw X-Gm-Gg: ASbGncuftkOrGHRiwAJGJhy+LWoPi+pHNNUfuaZwHYYUxwUBDtbAXZ107BRhDENDrw3 vtlUI/8fvHG6ToGBni26yxP2WFrZWCVbx2mLfGTG9QuayIV+yvkZI38S2t6nEyiiPZfpHGNX9nt PiVDh8I+N03lgeySbLy9/hmTzmhPmcHEAfXojqs9M4hlnN5dwlmf5uxeNk6vqvlPjLjfqU6lBix pHak1Vqo6wWVJSw+ycYboN2iSuAXGzks/Z/AFACvH+fGaR1a9QTTEQvhvyltzwqk8WM0EpkMq3P sRJ3E3SvY83TCU8wAH5npUHHdtd5Yu1egg6/+ez6n2dbHInXFOLFKzQJWrCmS8dPpo527FmnjXF 6SUbtRIJhI8K2SzTxi7Ms+2vvQSGG X-Google-Smtp-Source: AGHT+IHP4VR8Fl9G5OcuoYqYTditu/QIIF+7VYjnigXLB4tyhvo6jQD5bktNDB9047NHPdbV3qX9WA== X-Received: by 2002:a05:600d:10f:b0:456:1611:ce85 with SMTP id 5b1f17b1804b1-4562e4f7a45mr98215905e9.21.1753104447721; Mon, 21 Jul 2025 06:27:27 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 08/20] target/arm: Add BFADD, BFSUB, BFMUL (unpredicated) Date: Mon, 21 Jul 2025 14:27:05 +0100 Message-ID: <20250721132718.2835729-9-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32a; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104796409116600 Content-Type: text/plain; charset="utf-8" FEAT_SVE_B16B16 adds bfloat16 versions of the SVE floating point (unpredicated) instructions, which are encoded via sz=3D=3D0b00. Fixes: 7b1613a1020d2942 ("target/arm: Enable FEAT_SME2p1 on -cpu max") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20250718173032.2498900-2-peter.maydell@linaro.org --- target/arm/tcg/helper.h | 3 +++ target/arm/tcg/translate-sve.c | 6 +++++- target/arm/tcg/vec_helper.c | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/target/arm/tcg/helper.h b/target/arm/tcg/helper.h index 0a006d95142..d9ca5b7c56e 100644 --- a/target/arm/tcg/helper.h +++ b/target/arm/tcg/helper.h @@ -728,16 +728,19 @@ DEF_HELPER_FLAGS_4(gvec_fclt0_h, TCG_CALL_NO_RWG, voi= d, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_4(gvec_fclt0_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i3= 2) DEF_HELPER_FLAGS_4(gvec_fclt0_d, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i3= 2) =20 +DEF_HELPER_FLAGS_5(gvec_fadd_b16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fp= st, i32) DEF_HELPER_FLAGS_5(gvec_fadd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst= , i32) DEF_HELPER_FLAGS_5(gvec_fadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst= , i32) DEF_HELPER_FLAGS_5(gvec_fadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst= , i32) DEF_HELPER_FLAGS_5(gvec_bfadd, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst,= i32) =20 +DEF_HELPER_FLAGS_5(gvec_fsub_b16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fp= st, i32) DEF_HELPER_FLAGS_5(gvec_fsub_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst= , i32) DEF_HELPER_FLAGS_5(gvec_fsub_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst= , i32) DEF_HELPER_FLAGS_5(gvec_fsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst= , i32) DEF_HELPER_FLAGS_5(gvec_bfsub, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst,= i32) =20 +DEF_HELPER_FLAGS_5(gvec_fmul_b16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fp= st, i32) DEF_HELPER_FLAGS_5(gvec_fmul_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst= , i32) DEF_HELPER_FLAGS_5(gvec_fmul_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst= , i32) DEF_HELPER_FLAGS_5(gvec_fmul_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst= , i32) diff --git a/target/arm/tcg/translate-sve.c b/target/arm/tcg/translate-sve.c index 7b575734fde..f00cccf1548 100644 --- a/target/arm/tcg/translate-sve.c +++ b/target/arm/tcg/translate-sve.c @@ -190,6 +190,10 @@ static bool gen_gvec_fpst_zzz(DisasContext *s, gen_hel= per_gvec_3_ptr *fn, static bool gen_gvec_fpst_arg_zzz(DisasContext *s, gen_helper_gvec_3_ptr *= fn, arg_rrr_esz *a, int data) { + /* These insns use MO_8 to encode BFloat16 */ + if (a->esz =3D=3D MO_8 && !dc_isar_feature(aa64_sve_b16b16, s)) { + return false; + } return gen_gvec_fpst_zzz(s, fn, a->rd, a->rn, a->rm, data, a->esz =3D=3D MO_16 ? FPST_A64_F16 : FPST_A64= ); } @@ -4146,7 +4150,7 @@ static bool trans_FADDA(DisasContext *s, arg_rprr_esz= *a) =20 #define DO_FP3(NAME, name) \ static gen_helper_gvec_3_ptr * const name##_fns[4] =3D { \ - NULL, gen_helper_gvec_##name##_h, \ + gen_helper_gvec_##name##_b16, gen_helper_gvec_##name##_h, \ gen_helper_gvec_##name##_s, gen_helper_gvec_##name##_d \ }; \ TRANS_FEAT(NAME, aa64_sve, gen_gvec_fpst_arg_zzz, name##_fns[a->esz], = a, 0) diff --git a/target/arm/tcg/vec_helper.c b/target/arm/tcg/vec_helper.c index bae6165b505..76a9ab0da39 100644 --- a/target/arm/tcg/vec_helper.c +++ b/target/arm/tcg/vec_helper.c @@ -1467,16 +1467,19 @@ void HELPER(NAME)(void *vd, void *vn, void *vm, = \ clear_tail(d, oprsz, simd_maxsz(desc)); = \ } =20 +DO_3OP(gvec_fadd_b16, bfloat16_add, float16) DO_3OP(gvec_fadd_h, float16_add, float16) DO_3OP(gvec_fadd_s, float32_add, float32) DO_3OP(gvec_fadd_d, float64_add, float64) DO_3OP(gvec_bfadd, bfloat16_add, bfloat16) =20 +DO_3OP(gvec_fsub_b16, bfloat16_sub, float16) DO_3OP(gvec_fsub_h, float16_sub, float16) DO_3OP(gvec_fsub_s, float32_sub, float32) DO_3OP(gvec_fsub_d, float64_sub, float64) DO_3OP(gvec_bfsub, bfloat16_sub, bfloat16) =20 +DO_3OP(gvec_fmul_b16, bfloat16_mul, float16) DO_3OP(gvec_fmul_h, float16_mul, float16) DO_3OP(gvec_fmul_s, float32_mul, float32) DO_3OP(gvec_fmul_d, float64_mul, float64) --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104795; cv=none; d=zohomail.com; s=zohoarc; b=Nre45zpNyCJvr/QMvQLZ6Pova5Md5O/rgy/W8zwiWLzkuKEglWMDngvXABeinUzSOozk45hfG+AohDgGJyo2tk/v/lLunuo9xbSNjrwU6dl22rtUPeEGYDkYAucCq+F5gVPsxmWWCeiAlNoceJZyYztu6SR/6KTmV3wnI3s3rO0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104795; h=Content-Transfer-Encoding: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:Cc; bh=6N2CS6KzSnhTjKUQmU745sHXbS2AT18sliWIi4VMq1I=; b=iYLNm/GSxiNtPCelwZXXCHficoxLO0QkunEQiEfsi7UCVaXqqTNfFMwXCjmLrK1vQAH/yI3nBpQY9QXJtT1AdM8w3U+YM4NeXxjrRj3azGulI4U5Svo6v8P5e9eetTDdURUh64iBcOmGEyksKpd/CDAY22IFW5/5ixYom+bP80Q= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104795354754.786842406049; Mon, 21 Jul 2025 06:33:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYl-0005Eu-2h; Mon, 21 Jul 2025 09:28:03 -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 1udqYJ-0000De-00 for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:42 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYE-0005Iu-Ue for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:33 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-4550709f2c1so32414595e9.3 for ; Mon, 21 Jul 2025 06:27:30 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104449; x=1753709249; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=6N2CS6KzSnhTjKUQmU745sHXbS2AT18sliWIi4VMq1I=; b=uWjHy38HUs7wlLZy2RZDM9ozlSDzzYGs3gaBkZjT0yCZ87ymGXfy8Sx+FEMiVuDla2 2rQ/D7oRuePwPmgw+AwUk7bWtEkqk5gGvhma6HAHCz+bJcMykGNiz4iZsvU3MU7KcC/0 iGC8DFRzs3Mbcqewu2T1YUYosvJ/De0kjreH9KlGLNWvYvdshQTmKz8ShE8r5kDlJPTp wptrsaxZCY7iFj6eN5wJFzkaqjSnFnIGJ+2yCL2W5o1A4KrBxx0lz2lfNyYutziChtBX 5SWaAcNm3OoDvGGgUml/WaVN7e4DAQ1Galk7k9iuvel3LtETfPGpGfL46U9ozMhNlLXQ eKkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104449; x=1753709249; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6N2CS6KzSnhTjKUQmU745sHXbS2AT18sliWIi4VMq1I=; b=VdFNEfAlUFiQykR886ONt1zCqeZOMmXxxvvL6qejEBdNdx9C17p4shMNeWt3k5+d2N 9cWZ2eqgyTzCl0pUff95JC1nPjI7In3tQYSB/EZMRZ1E5RbXqF7pOtcpv42HQa39k0Yp JgBQWHr72a4UZCEyhZb03MpT57CbV3O0bH69aITH/lqZITkuu1xYmlgp82n/Zr0Sfbdp B8AH9L9hJk383BDA+PNHCTdHfEDVO2q+wf+f5n93Ywy8m0a6jOUpMFeS5W4lKYG7XdMt s9FBits7KFuonwEcRN52qmjD4qwk1A+fueGPsl8EdqlNYquNtOvcRkiLrCujMta8sFGR X5Dw== X-Gm-Message-State: AOJu0YzyTGYpVcj8kmaaTbvJVKlFyuUlKZYSFQuwWRXjJDwtU3uWWb0c ZEINDX0mmNylYbqh0PY5RF2BvyM/3KJCTNc0mN2kNwOYMonBvcW7Zk0EmTBAP+2BbOSFmhA3QIW DaL03 X-Gm-Gg: ASbGncs0vdS9ARCq+LMopMC6uQYTjl43oggOimPRbmGBf3pb9MiR/Laub/urd63A9H+ ikHLHAObytWRQn138ZpXfDy0kgVV0F9bY5CmP4hDpx+pC4O+q1NBg2sR3CgBiG/7JPcZ3G+3Sg2 vpmnsrE7nzbV/rEuIfqmkADkzeib9AMcttSe+0WJZ/AR1QBMkH7nsOeII2Nar+jM1XrETFlqVVi eigFiv8dGgvFglhn31tEhjLazB+jBhw95uUjf9WW7vBChhe0lxD9G8O/cMG9ZQ7pUm3Ee8ysmf7 N8THggx58NJl03h9F9ucZRHBNJR5YbzNF8kjItjYIMDUuQ3h+lQzZTZ+6Mn+y3iPxv3XWROCZOD 2Mjvnrr2o4pPEMLBi3os/KUDaXC+r X-Google-Smtp-Source: AGHT+IEVMO9bVsWNrDm1+PinObn/odMqBmX74SByFIv4fOA0JRLwDIMYtIsEEMCkFzgpvruNgsjQyQ== X-Received: by 2002:a05:600c:800f:b0:456:18cf:66b5 with SMTP id 5b1f17b1804b1-4563b8d29aamr96893345e9.22.1753104448688; Mon, 21 Jul 2025 06:27:28 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 09/20] target/arm: Add BFADD, BFSUB, BFMUL, BFMAXNM, BFMINNM (predicated) Date: Mon, 21 Jul 2025 14:27:06 +0100 Message-ID: <20250721132718.2835729-10-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::334; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104796411116600 Content-Type: text/plain; charset="utf-8" FEAT_SVE_B16B16 adds bfloat16 versions of the SVE floating point (predicated) instructions, which are encoded via sz=3D0b00. Add BFADD, BFSUB, BFMUL, BFMAXNM, BFMINNM; these are all the insns in this group which do not change behaviour for AH=3D1. We will deal with BFMAX/BFMIN (which do have different AH=3D1 behaviour) in a following commit. Fixes: 7b1613a1020d2942 ("target/arm: Enable FEAT_SME2p1 on -cpu max") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20250718173032.2498900-3-peter.maydell@linaro.org --- target/arm/tcg/helper-sve.h | 10 ++++++++++ target/arm/tcg/sve_helper.c | 5 +++++ target/arm/tcg/translate-sve.c | 22 +++++++++++++++++----- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/target/arm/tcg/helper-sve.h b/target/arm/tcg/helper-sve.h index c36090d13d1..d612bcaded3 100644 --- a/target/arm/tcg/helper-sve.h +++ b/target/arm/tcg/helper-sve.h @@ -1196,6 +1196,8 @@ DEF_HELPER_FLAGS_5(sve_fcmne0_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_5(sve_fcmne0_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_6(sve_fadd_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fadd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fadd_s, TCG_CALL_NO_RWG, @@ -1203,6 +1205,8 @@ DEF_HELPER_FLAGS_6(sve_fadd_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_6(sve_fadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_6(sve_fsub_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fsub_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fsub_s, TCG_CALL_NO_RWG, @@ -1210,6 +1214,8 @@ DEF_HELPER_FLAGS_6(sve_fsub_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_6(sve_fsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_6(sve_fmul_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fmul_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fmul_s, TCG_CALL_NO_RWG, @@ -1252,6 +1258,8 @@ DEF_HELPER_FLAGS_6(sve_ah_fmax_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_6(sve_ah_fmax_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_6(sve_fminnum_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fminnum_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fminnum_s, TCG_CALL_NO_RWG, @@ -1259,6 +1267,8 @@ DEF_HELPER_FLAGS_6(sve_fminnum_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_6(sve_fminnum_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_6(sve_fmaxnum_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fmaxnum_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fmaxnum_s, TCG_CALL_NO_RWG, diff --git a/target/arm/tcg/sve_helper.c b/target/arm/tcg/sve_helper.c index 43b872c7fd6..a229503bc21 100644 --- a/target/arm/tcg/sve_helper.c +++ b/target/arm/tcg/sve_helper.c @@ -4629,14 +4629,17 @@ void HELPER(NAME)(void *vd, void *vn, void *vm, voi= d *vg, \ } while (i !=3D 0); \ } =20 +DO_ZPZZ_FP(sve_fadd_b16, uint16_t, H1_2, bfloat16_add) DO_ZPZZ_FP(sve_fadd_h, uint16_t, H1_2, float16_add) DO_ZPZZ_FP(sve_fadd_s, uint32_t, H1_4, float32_add) DO_ZPZZ_FP(sve_fadd_d, uint64_t, H1_8, float64_add) =20 +DO_ZPZZ_FP(sve_fsub_b16, uint16_t, H1_2, bfloat16_sub) DO_ZPZZ_FP(sve_fsub_h, uint16_t, H1_2, float16_sub) DO_ZPZZ_FP(sve_fsub_s, uint32_t, H1_4, float32_sub) DO_ZPZZ_FP(sve_fsub_d, uint64_t, H1_8, float64_sub) =20 +DO_ZPZZ_FP(sve_fmul_b16, uint16_t, H1_2, bfloat16_mul) DO_ZPZZ_FP(sve_fmul_h, uint16_t, H1_2, float16_mul) DO_ZPZZ_FP(sve_fmul_s, uint32_t, H1_4, float32_mul) DO_ZPZZ_FP(sve_fmul_d, uint64_t, H1_8, float64_mul) @@ -4661,10 +4664,12 @@ DO_ZPZZ_FP(sve_ah_fmax_h, uint16_t, H1_2, helper_vf= p_ah_maxh) DO_ZPZZ_FP(sve_ah_fmax_s, uint32_t, H1_4, helper_vfp_ah_maxs) DO_ZPZZ_FP(sve_ah_fmax_d, uint64_t, H1_8, helper_vfp_ah_maxd) =20 +DO_ZPZZ_FP(sve_fminnum_b16, uint16_t, H1_2, bfloat16_minnum) DO_ZPZZ_FP(sve_fminnum_h, uint16_t, H1_2, float16_minnum) DO_ZPZZ_FP(sve_fminnum_s, uint32_t, H1_4, float32_minnum) DO_ZPZZ_FP(sve_fminnum_d, uint64_t, H1_8, float64_minnum) =20 +DO_ZPZZ_FP(sve_fmaxnum_b16, uint16_t, H1_2, bfloat16_maxnum) DO_ZPZZ_FP(sve_fmaxnum_h, uint16_t, H1_2, float16_maxnum) DO_ZPZZ_FP(sve_fmaxnum_s, uint32_t, H1_4, float32_maxnum) DO_ZPZZ_FP(sve_fmaxnum_d, uint64_t, H1_8, float64_maxnum) diff --git a/target/arm/tcg/translate-sve.c b/target/arm/tcg/translate-sve.c index f00cccf1548..2739c226d73 100644 --- a/target/arm/tcg/translate-sve.c +++ b/target/arm/tcg/translate-sve.c @@ -407,6 +407,10 @@ static bool gen_gvec_fpst_zzzp(DisasContext *s, gen_he= lper_gvec_4_ptr *fn, static bool gen_gvec_fpst_arg_zpzz(DisasContext *s, gen_helper_gvec_4_ptr = *fn, arg_rprr_esz *a) { + /* These insns use MO_8 to encode BFloat16. */ + if (a->esz =3D=3D MO_8 && !dc_isar_feature(aa64_sve_b16b16, s)) { + return false; + } return gen_gvec_fpst_zzzp(s, fn, a->rd, a->rn, a->rm, a->pg, 0, a->esz =3D=3D MO_16 ? FPST_A64_F16 : FPST_A6= 4); } @@ -4206,13 +4210,21 @@ TRANS_FEAT_NONSTREAMING(FTSMUL, aa64_sve, gen_gvec_= fpst_arg_zzz, s->fpcr_ah ? name##_ah_zpzz_fns[a->esz] : \ name##_zpzz_fns[a->esz], a) =20 -DO_ZPZZ_FP(FADD_zpzz, aa64_sve, sve_fadd) -DO_ZPZZ_FP(FSUB_zpzz, aa64_sve, sve_fsub) -DO_ZPZZ_FP(FMUL_zpzz, aa64_sve, sve_fmul) +/* Similar, but for insns where sz =3D=3D 0 encodes bfloat16 */ +#define DO_ZPZZ_FP_B16(NAME, FEAT, name) \ + static gen_helper_gvec_4_ptr * const name##_zpzz_fns[4] =3D { \ + gen_helper_##name##_b16, gen_helper_##name##_h, \ + gen_helper_##name##_s, gen_helper_##name##_d \ + }; \ + TRANS_FEAT(NAME, FEAT, gen_gvec_fpst_arg_zpzz, name##_zpzz_fns[a->esz]= , a) + +DO_ZPZZ_FP_B16(FADD_zpzz, aa64_sve, sve_fadd) +DO_ZPZZ_FP_B16(FSUB_zpzz, aa64_sve, sve_fsub) +DO_ZPZZ_FP_B16(FMUL_zpzz, aa64_sve, sve_fmul) DO_ZPZZ_AH_FP(FMIN_zpzz, aa64_sve, sve_fmin, sve_ah_fmin) DO_ZPZZ_AH_FP(FMAX_zpzz, aa64_sve, sve_fmax, sve_ah_fmax) -DO_ZPZZ_FP(FMINNM_zpzz, aa64_sve, sve_fminnum) -DO_ZPZZ_FP(FMAXNM_zpzz, aa64_sve, sve_fmaxnum) +DO_ZPZZ_FP_B16(FMINNM_zpzz, aa64_sve, sve_fminnum) +DO_ZPZZ_FP_B16(FMAXNM_zpzz, aa64_sve, sve_fmaxnum) DO_ZPZZ_AH_FP(FABD, aa64_sve, sve_fabd, sve_ah_fabd) DO_ZPZZ_FP(FSCALE, aa64_sve, sve_fscalbn) DO_ZPZZ_FP(FDIV, aa64_sve, sve_fdiv) --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104610; cv=none; d=zohomail.com; s=zohoarc; b=RKUDWelZWy7+3rQxZl7a9A8cNX6omZwdwTCjQ5NtsRuoddJf11SvH3631XUuYZtFf7x7/+a+NCgfvjSNN5xrZ0L5eXFamu2SsM4EIAPzempbw60YZZteq+ch3C2paOed4bP3KarrKj7EG7nvt8Bt/ZkGc1xksINXGTsYwPs1cQ0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104610; h=Content-Transfer-Encoding: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:Cc; bh=wsBQYXDC8tkYaoMs+LV1i0h/jiobJ0UwGkaSUMbkmUM=; b=Ez3HAAoBzsHEM6ezmidEs1oSRXJTZQI/QFH3tgRwW7a9uv7+Hwogz/Yb32V7OhQ8D7njl2kA67jxAWmaDc39bAKRspYcDMe2h6Np9O6Fs18lM4PXIu5ymXCYUG0LKJRkaawMTXSrMangZlUSWJ2QTktYbJgITbZK/9xO6ZOROiI= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1753104610187801.4021137859411; Mon, 21 Jul 2025 06:30:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYo-0006Ng-Og; Mon, 21 Jul 2025 09:28:06 -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 1udqYL-0000KM-Q3 for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:42 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYF-0005J1-MC for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:36 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3a6d77b43c9so3288219f8f.3 for ; Mon, 21 Jul 2025 06:27:30 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104449; x=1753709249; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=wsBQYXDC8tkYaoMs+LV1i0h/jiobJ0UwGkaSUMbkmUM=; b=hO2qzZ74flOLHlhGqLd/0kmbsucPCPKh1Phj/ah4vCvZAB4XWWvD0/wy/1fsv2XfXK Lj+y1wJNFZFqLiSySxZ5bgAUMLv/2m/Hq6XoMZmQbt0Pj0uXGWKc+Jo/eI4OKn+ktH9h MGOaYd99utC447wwVogF6BTnriPvQrJbKqOawUCqlqs/bEOMYI8nvcN0YDNyh4ts6vW5 p4Qz0bb7o4RdDc9HP/wktYezsiiAciDh2KV44ljWaLJc2trESICWaX8WCCmr8lxrMioP s0qHHTWwmnr5wp8IXL310nHZtNtljvh2SLC1RYoX1cWc9YNXjfI2e5DXLLYvO8HkSvhd SIOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104449; x=1753709249; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wsBQYXDC8tkYaoMs+LV1i0h/jiobJ0UwGkaSUMbkmUM=; b=TbkzjbboBwpdv+hnw9Qvocto+0fOQ8+7N92Mf8CkInGapLXFsiaHSksCABOXe0fFP2 K1eIRcKM+BHOPuMwKZDHSmvi+VQlj44VLqANnZBBuDoGJSJvL021iG60QvinbXSHa8IG fUhXKpxCvPDty48nkqUleTxlYQ0zZI+23+pGWFdz/PyeYgv5vvNpbeh2bblsM7N4DTgr n1WhNVahf99eL8Ub9vXgGmjXs5wrbGzZyaMLsHxj+vl9h5I01nvGRNGOnHQYIB7kfL3f ibZC+cfFWuR2fbMyiavnFWZV3MVxciGze8opw2xn7PZ+Sq3/IZE5Osm67OrSUQhgvHI1 fOoA== X-Gm-Message-State: AOJu0YxiuN3+RooArrJekYq1gpnOLO4jwq+uLxtbkCX+zIHAra8Uoc6E e2LIuaR19FUFi/nyEvoOhyd3MBpsktTC9jKcg4W43PJdK8t4x5u9aloAiCeNaujxclAjlOiSIHV Hfu8i X-Gm-Gg: ASbGncvrMI8Cg88U/J3V13S/cahx3SqllOiazC3mtpGXD2obEVh1Ti9BFc4lO9QLEit MuXkzOgvzXkyUl1Xi1tvRDj5rAnFTK95XIDw6Bzbmq0krI9BVhHr0xyhAfgbbwly0Vk6JvonPDl CUBcsxN52P1KoRPsd+Z6fUihczPUg1u/ZLI3JtVpE9r93XGN8moy8piN02lhNtyHQaGwVUDbaA1 JcHQDkeH+AobBrBFQJAD1+VT3UnAF1qt2VzsbjYwJmIesXc2XkLpKiOgZ2SpSkFB91Ipb6IyiPf GFCodCyytQy+NjR3ZHaBd89KJtmBrMpt+BHdHzhYeqcECNv0C6DXbvcEoUck2Fw55qS7km6N0II W+pa/Nu0BplAP0HrbfdrbqRa1naRk X-Google-Smtp-Source: AGHT+IHXMoUMvhQAv4a4EU1JJn9PRPpU/6Qoig1qeCORdnvGNOBLRe0xA52Kqpfd/Wkwpe8KJzcUPQ== X-Received: by 2002:a05:6000:288a:b0:3b2:fe84:a10 with SMTP id ffacd0b85a97d-3b60e440dddmr14736188f8f.0.1753104449556; Mon, 21 Jul 2025 06:27:29 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 10/20] target/arm: Add BFMIN, BFMAX (predicated) Date: Mon, 21 Jul 2025 14:27:07 +0100 Message-ID: <20250721132718.2835729-11-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::432; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 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 @linaro.org) X-ZM-MESSAGEID: 1753104612013116600 Content-Type: text/plain; charset="utf-8" FEAT_SVE_B16B16 adds bfloat16 versions of the SVE floating point (predicated) instructions, which are encoded via sz=3D0b00. Add the BFMAX and BFMIN insns. These have separate behaviour for AH=3D1 and AH=3D0; we have already implemented the AH=3D1 helper for the SME2 versions of these insns. Fixes: 7b1613a1020d2942 ("target/arm: Enable FEAT_SME2p1 on -cpu max") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20250718173032.2498900-4-peter.maydell@linaro.org --- target/arm/tcg/helper-sve.h | 8 ++++++++ target/arm/tcg/sve_helper.c | 4 ++++ target/arm/tcg/translate-sve.c | 17 +++++++++++++++-- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/target/arm/tcg/helper-sve.h b/target/arm/tcg/helper-sve.h index d612bcaded3..cb6c2355e58 100644 --- a/target/arm/tcg/helper-sve.h +++ b/target/arm/tcg/helper-sve.h @@ -1230,6 +1230,8 @@ DEF_HELPER_FLAGS_6(sve_fdiv_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_6(sve_fdiv_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_6(sve_fmin_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fmin_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fmin_s, TCG_CALL_NO_RWG, @@ -1237,6 +1239,8 @@ DEF_HELPER_FLAGS_6(sve_fmin_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_6(sve_fmin_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_6(sve_fmax_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fmax_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_fmax_s, TCG_CALL_NO_RWG, @@ -1244,6 +1248,8 @@ DEF_HELPER_FLAGS_6(sve_fmax_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_6(sve_fmax_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_6(sve_ah_fmin_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_ah_fmin_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_ah_fmin_s, TCG_CALL_NO_RWG, @@ -1251,6 +1257,8 @@ DEF_HELPER_FLAGS_6(sve_ah_fmin_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_6(sve_ah_fmin_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_6(sve_ah_fmax_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_ah_fmax_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_6(sve_ah_fmax_s, TCG_CALL_NO_RWG, diff --git a/target/arm/tcg/sve_helper.c b/target/arm/tcg/sve_helper.c index a229503bc21..1a56fa86d9c 100644 --- a/target/arm/tcg/sve_helper.c +++ b/target/arm/tcg/sve_helper.c @@ -4648,18 +4648,22 @@ DO_ZPZZ_FP(sve_fdiv_h, uint16_t, H1_2, float16_div) DO_ZPZZ_FP(sve_fdiv_s, uint32_t, H1_4, float32_div) DO_ZPZZ_FP(sve_fdiv_d, uint64_t, H1_8, float64_div) =20 +DO_ZPZZ_FP(sve_fmin_b16, uint16_t, H1_2, bfloat16_min) DO_ZPZZ_FP(sve_fmin_h, uint16_t, H1_2, float16_min) DO_ZPZZ_FP(sve_fmin_s, uint32_t, H1_4, float32_min) DO_ZPZZ_FP(sve_fmin_d, uint64_t, H1_8, float64_min) =20 +DO_ZPZZ_FP(sve_fmax_b16, uint16_t, H1_2, bfloat16_max) DO_ZPZZ_FP(sve_fmax_h, uint16_t, H1_2, float16_max) DO_ZPZZ_FP(sve_fmax_s, uint32_t, H1_4, float32_max) DO_ZPZZ_FP(sve_fmax_d, uint64_t, H1_8, float64_max) =20 +DO_ZPZZ_FP(sve_ah_fmin_b16, uint16_t, H1_2, helper_sme2_ah_fmin_b16) DO_ZPZZ_FP(sve_ah_fmin_h, uint16_t, H1_2, helper_vfp_ah_minh) DO_ZPZZ_FP(sve_ah_fmin_s, uint32_t, H1_4, helper_vfp_ah_mins) DO_ZPZZ_FP(sve_ah_fmin_d, uint64_t, H1_8, helper_vfp_ah_mind) =20 +DO_ZPZZ_FP(sve_ah_fmax_b16, uint16_t, H1_2, helper_sme2_ah_fmax_b16) DO_ZPZZ_FP(sve_ah_fmax_h, uint16_t, H1_2, helper_vfp_ah_maxh) DO_ZPZZ_FP(sve_ah_fmax_s, uint32_t, H1_4, helper_vfp_ah_maxs) DO_ZPZZ_FP(sve_ah_fmax_d, uint64_t, H1_8, helper_vfp_ah_maxd) diff --git a/target/arm/tcg/translate-sve.c b/target/arm/tcg/translate-sve.c index 2739c226d73..27af3df9a4b 100644 --- a/target/arm/tcg/translate-sve.c +++ b/target/arm/tcg/translate-sve.c @@ -4218,11 +4218,24 @@ TRANS_FEAT_NONSTREAMING(FTSMUL, aa64_sve, gen_gvec_= fpst_arg_zzz, }; \ TRANS_FEAT(NAME, FEAT, gen_gvec_fpst_arg_zpzz, name##_zpzz_fns[a->esz]= , a) =20 +#define DO_ZPZZ_AH_FP_B16(NAME, FEAT, name, ah_name) \ + static gen_helper_gvec_4_ptr * const name##_zpzz_fns[4] =3D { \ + gen_helper_##name##_b16, gen_helper_##name##_h, \ + gen_helper_##name##_s, gen_helper_##name##_d \ + }; \ + static gen_helper_gvec_4_ptr * const name##_ah_zpzz_fns[4] =3D { \ + gen_helper_##ah_name##_b16, gen_helper_##ah_name##_h, \ + gen_helper_##ah_name##_s, gen_helper_##ah_name##_d \ + }; \ + TRANS_FEAT(NAME, FEAT, gen_gvec_fpst_arg_zpzz, \ + s->fpcr_ah ? name##_ah_zpzz_fns[a->esz] : \ + name##_zpzz_fns[a->esz], a) + DO_ZPZZ_FP_B16(FADD_zpzz, aa64_sve, sve_fadd) DO_ZPZZ_FP_B16(FSUB_zpzz, aa64_sve, sve_fsub) DO_ZPZZ_FP_B16(FMUL_zpzz, aa64_sve, sve_fmul) -DO_ZPZZ_AH_FP(FMIN_zpzz, aa64_sve, sve_fmin, sve_ah_fmin) -DO_ZPZZ_AH_FP(FMAX_zpzz, aa64_sve, sve_fmax, sve_ah_fmax) +DO_ZPZZ_AH_FP_B16(FMIN_zpzz, aa64_sve, sve_fmin, sve_ah_fmin) +DO_ZPZZ_AH_FP_B16(FMAX_zpzz, aa64_sve, sve_fmax, sve_ah_fmax) DO_ZPZZ_FP_B16(FMINNM_zpzz, aa64_sve, sve_fminnum) DO_ZPZZ_FP_B16(FMAXNM_zpzz, aa64_sve, sve_fmaxnum) DO_ZPZZ_AH_FP(FABD, aa64_sve, sve_fabd, sve_ah_fabd) --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104888; cv=none; d=zohomail.com; s=zohoarc; b=du1LkHP/QtFxFwuGAyACITHtfavOAIXMYDJa2uISrpcNTVFV6gCjNZsl6W1zEBzomDPUxyKuHzYX99exjxyPpZGn9gDceqvJAAckUVy6Gv8hdc4lbA/trvRoZMX8hhX19fJqAAfvB8SIp+eQQPzXZztBxM0IyyFLp4q9K3otKWs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104888; h=Content-Transfer-Encoding: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:Cc; bh=60MbsbkAK2zpO61hgALxIWvnCBXQLORY/0j3sPXYAtQ=; b=l96Nw/RPd5gso0OUuHjNR8emhMuqNn3QgQ3WHA6gz4VokZPlJ17Wq9Ev8L1M/PAiveWoij75TEV+JGY2Cphd+cCdZ4E1usGnTl+pl7FZdFuaIVIDxNj646FpjhgABeMvony+na9JweKA3mR/t6iXHgblJZw5ipcEdV+anwayndE= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104888473136.58099796816566; Mon, 21 Jul 2025 06:34:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYr-0006xo-IQ; Mon, 21 Jul 2025 09:28:09 -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 1udqYM-0000Ka-6R for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:42 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYI-0005Ja-P1 for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:36 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-456108bf94bso30305015e9.0 for ; Mon, 21 Jul 2025 06:27:31 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104450; x=1753709250; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=60MbsbkAK2zpO61hgALxIWvnCBXQLORY/0j3sPXYAtQ=; b=Hj3/tUNADTXx023ExtE/fTWy8eLttOQ5P/gZnxAVYE5tOd37egGbRMCpILDqYIJX0j imBxukQyVF6QtzVTVp42dy+B8BMxYwKa2mk8aBROsKBCKD0MaikUtOqAPBJFlRWTSBa6 ZuOt1c71qMxxrbQPNUSSHKp2G1MTUkkHQqD3jr/CfQT4bnEGT2q6HN1APz8ackJhxfwQ 6iy7I0YaCEXdjdX3bYbXIu9N1FefxpgDylSxBzqBJ9o9h/zcBlgZGcuu7ug+FIOEVfzj g4taKSdI3JscnnkJfTq49vjpccYxCWO+2brvEKAYx10u3MWPIF+c/3ZmTd7ezIe22PAv V+zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104450; x=1753709250; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=60MbsbkAK2zpO61hgALxIWvnCBXQLORY/0j3sPXYAtQ=; b=IYAcidyYzZjSpVq34rfa/EWFusYbzd09RQBEFWcs8pRIWDZS0LmB0+xuBNjVNFfm6o cCSs4ju98w83LF+wWqKUGReCLXl14W/0NiVjNDYqIbSRH6YB6cfZGHFEC6yTAOaimxAm sRHLL34D0Ah/Jrinpb0SqBXMvE/Tv6BE+Amempp2GlFPMI/H90Uki9tzahi657Kyka00 M+qQkOAwLyoWDCMK7xQqb05oBH1GdZ5i98O/gv6LzoMzoWReEoY7bNTznQU4Yq1FKjLE YuSoNFCq2/qZRRYvBtX5VON0pp71Yml0V6bMyMlm/bLgjn02dU1t5e7fRmlkkbSp3w+e icEA== X-Gm-Message-State: AOJu0YxMO+Z6SxBIiyQ/EaO5qRAXg5aWtsMl0WuaANXzn3UyzUXVl49n 8gXjZ3GLKmPK/dw7Btdsa8gWHxT74dxw0nS9fTUWfsXPpshf67YcNh/yyf40cW5QOXKwDvx0Ggo iWmTP X-Gm-Gg: ASbGncu31GchiT+S4asgHTKajxx+wgQhR/mTRIDolLy+S5qKi1Nq0xfUT6zP+GfBcGW pL9JZkVbXuoADx5paPfNTqMVSEvdW9LvwwDD/6RpmthW5mj2SMRhJe8Jee3q1+L1fah5vXW4TRl BO5I4b2HuGXxkn+rK3rKKDb6P/WSdxW4/SPEFwor2xYt2SfhKDVnkh4Cb1NUbSrkbJ20sEX/mZ9 3jP33KOAH4C990tVIyZ1pWakGFNXJkDH5gXGvNS6udGM0hKYpmPqrrUCKJ2u95NU+N+ISOKgwjZ 8pYGXEE2VzAY/8I/1VfyV6snIhMYxSuUSy9NKetYt4UmNmdLqUaBfF1Xhl+nT3Dbx7z6CEka9Zl 3yayC850n/soi3Nvaa/dj4jaGiurM X-Google-Smtp-Source: AGHT+IHNTASwYuis8daqtfiH7k0MraeyDtAt/CiVufa+XYBmjqLDAAsOXyhcTeqZmqubRJNvR5IMag== X-Received: by 2002:adf:b650:0:b0:3b6:136d:55de with SMTP id ffacd0b85a97d-3b6136d55efmr10206326f8f.7.1753104450422; Mon, 21 Jul 2025 06:27:30 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 11/20] target/arm: Add BFMUL (indexed) Date: Mon, 21 Jul 2025 14:27:08 +0100 Message-ID: <20250721132718.2835729-12-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::32f; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104889516116600 Content-Type: text/plain; charset="utf-8" FEAT_SVE_B16B16 adds a bfloat16 version of the FMUL insn in the floating-point multiply (indexed) instruction group. The encoding is slightly bespoke; in our implementation we use MO_8 to indicate bfloat16, as with the other B16B16 insns. Fixes: 7b1613a1020d2942 ("target/arm: Enable FEAT_SME2p1 on -cpu max") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20250718173032.2498900-5-peter.maydell@linaro.org --- target/arm/tcg/helper.h | 2 ++ target/arm/tcg/sve.decode | 1 + target/arm/tcg/translate-sve.c | 2 +- target/arm/tcg/vec_helper.c | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/target/arm/tcg/helper.h b/target/arm/tcg/helper.h index d9ca5b7c56e..4da32db9021 100644 --- a/target/arm/tcg/helper.h +++ b/target/arm/tcg/helper.h @@ -823,6 +823,8 @@ DEF_HELPER_FLAGS_5(gvec_ftsmul_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_5(gvec_ftsmul_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_5(gvec_fmul_idx_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_5(gvec_fmul_idx_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_5(gvec_fmul_idx_s, TCG_CALL_NO_RWG, diff --git a/target/arm/tcg/sve.decode b/target/arm/tcg/sve.decode index 2efd5f57e45..a76f2236f43 100644 --- a/target/arm/tcg/sve.decode +++ b/target/arm/tcg/sve.decode @@ -1062,6 +1062,7 @@ FMLS_zzxz 01100100 11 1 ..... 000001 ..... ....= . @rrxr_1 esz=3D3 ### SVE FP Multiply Indexed Group =20 # SVE floating-point multiply (indexed) +FMUL_zzx 01100100 0. 1 ..... 001010 ..... ..... @rrx_3 esz=3D0 FMUL_zzx 01100100 0. 1 ..... 001000 ..... ..... @rrx_3 esz=3D1 FMUL_zzx 01100100 10 1 ..... 001000 ..... ..... @rrx_2 esz=3D2 FMUL_zzx 01100100 11 1 ..... 001000 ..... ..... @rrx_1 esz=3D3 diff --git a/target/arm/tcg/translate-sve.c b/target/arm/tcg/translate-sve.c index 27af3df9a4b..918cf6e1bd4 100644 --- a/target/arm/tcg/translate-sve.c +++ b/target/arm/tcg/translate-sve.c @@ -3907,7 +3907,7 @@ TRANS_FEAT(FMLS_zzxz, aa64_sve, gen_gvec_fpst_zzzz, */ =20 static gen_helper_gvec_3_ptr * const fmul_idx_fns[4] =3D { - NULL, gen_helper_gvec_fmul_idx_h, + gen_helper_gvec_fmul_idx_b16, gen_helper_gvec_fmul_idx_h, gen_helper_gvec_fmul_idx_s, gen_helper_gvec_fmul_idx_d, }; TRANS_FEAT(FMUL_zzx, aa64_sve, gen_gvec_fpst_zzz, diff --git a/target/arm/tcg/vec_helper.c b/target/arm/tcg/vec_helper.c index 76a9ab0da39..33a136b90a6 100644 --- a/target/arm/tcg/vec_helper.c +++ b/target/arm/tcg/vec_helper.c @@ -1785,6 +1785,7 @@ void HELPER(NAME)(void *vd, void *vn, void *vm, = \ =20 #define nop(N, M, S) (M) =20 +DO_FMUL_IDX(gvec_fmul_idx_b16, nop, bfloat16_mul, float16, H2) DO_FMUL_IDX(gvec_fmul_idx_h, nop, float16_mul, float16, H2) DO_FMUL_IDX(gvec_fmul_idx_s, nop, float32_mul, float32, H4) DO_FMUL_IDX(gvec_fmul_idx_d, nop, float64_mul, float64, H8) --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104507; cv=none; d=zohomail.com; s=zohoarc; b=MgTI+q4g2pNMB2Wjtcvoa64SoSXp+DTABOp7xD3GnsQO1omc+0GUURi69Rivq4LRIjJ8fsuTNQNEJCchpnnZnYjwdoktii8WoLjZhCwOTWSKEmtVUeDIANd2oi6ACw0eo8SABOPHmeLdfTKNz3OawpmXYTqTlZwxpZbhlSvQinE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104507; h=Content-Transfer-Encoding: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:Cc; bh=+k3hZvnicSQlwCFWXFQT5ayGDKEjpiuAoZcY2ne8PPw=; b=RZX/xPR9wAJY+KfU9mF/wfqWklvWF9fNKt4i06PGQAqMX+X6I1CkaQi2jUSBNEyqIg1GFzlk6jwOxKWGrmNmRQFS1iQa2H4KpksNAe9sypX8cw2EgFxwHnWztljJSpJz9UBn/oYd/ZQpDpP0OOcllTW7/BuUdSVQ7rtm0+xmgrQ= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104507148376.25571958518833; Mon, 21 Jul 2025 06:28:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYi-0004Hn-HF; Mon, 21 Jul 2025 09:28:00 -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 1udqYL-0000KK-Pi for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:43 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYH-0005Jv-TB for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:36 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3b49ffbb31bso2721267f8f.3 for ; Mon, 21 Jul 2025 06:27:33 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104451; x=1753709251; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=+k3hZvnicSQlwCFWXFQT5ayGDKEjpiuAoZcY2ne8PPw=; b=TSPxhyRlCKxhW4ltfwY5YvNqoP+lLNpfnFX8f4y6ILCIZsxIViuo50wOkR6dL6kUzA QNpqKlwGgtwMrryYNOlixJoFmYpylJfElFUoiJCysnhqVHMCwqqbdPZW7wfGQvzPThtg Ey0fRWtmV7mWN17uu0nAwMtYPlShBEZQlqf14i9Fs7rj9vq295hv58c0dWrQL/x7FrJV ZCFbcCA0hYyE3k+JTxKom/A4bvVWc5towsn9iEcHcZh7s0ARIBQlWB2A8GP1/0cLG6UO ZYmFUZXt9vGbfYkDdtIaVuFtVYSe6/LDV8TEttaNGBbBmQA/RE6tbcnur6v60S5E0VnQ QD/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104451; x=1753709251; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+k3hZvnicSQlwCFWXFQT5ayGDKEjpiuAoZcY2ne8PPw=; b=hsHWpdCabpRkYrdBhdzDo5W2yJIoKSW6P0qVhE70CQrGyBXHya1T+F2x/iv6kQR3SG yuvu4BqT46+fv75/zOlyBTg/lGxz4mVmetbToEA2MP4boH4wGHr2sixQ7F/6erM30pfG Tl7It74BiuVif3lPHsYEkHQCTwSLK6btRbGpfXtjv3vc6mG6Qw429zKQBzEx1KHZ2O33 OLLtmDsciYqBW5xZG4ZOhpKUzbfMcn2/vj5IkLARndDylvVMj7T2MCmmbsCYAaVmFH+8 OykJ8bnj+XqH13XoAgE2zrEZBv2RVZJhrgJC/72Ct2UjcERPycGU11LxMYWRbp7hMrs+ q/1Q== X-Gm-Message-State: AOJu0Yx4zKW65ntkP+y77+uvnW6cE1BBRK63J+WSOvLs/4qX6Ps+3gfz ZtavJRdC6X2KH/6TiwLPY8jjJlRzjtj/iidik1kIDMGrUCD9P2sl/Wz43YPQYZ7Z9KJycNeY4Ep l5uKQ X-Gm-Gg: ASbGncsQH3EDjXOKLb5hIvveplVvNVL2fZTD5dEozF/cxaAfT2U71zPpPKWCX6gTo9C rsJYW/0I7UT7zFloYfxtKdMfv2khOQ9iADJiJdLmAqClJ405sBVgcxOWFrWcntBHOECF27W5UZq Gug52z5TjiWysQ4A3C73sprQc/Z43i5XGTxv85U76QkUQk+Yxlo9SMVmQ6IAq+GRkcxAwu7eVTh PbpR6I1IqiMPZKUvtKYUqw65/OZlKbCf9Y6c8gQ4oKQ8pP2n4AP+ExUF3S8ceSRZ3MjfXE+rGY9 nYazxB+Bs7uzHtXIcXPwVvTnWryC+OJR9080Ybc+cqv5mb7UwNZELU5AyheFB9eQ86ktvZRU9fP 5f/dK46pZ7A/5hnD6flRca/1oPALq X-Google-Smtp-Source: AGHT+IFxTVsWRrqo7iOUjURceuDFogbyyYPcxqD4tVUvgSYTxjSKAPD/sQ6ML5qwDkBZO8thKscqag== X-Received: by 2002:a5d:5d12:0:b0:3a4:ee40:715c with SMTP id ffacd0b85a97d-3b613e66f3amr13533220f8f.14.1753104451391; Mon, 21 Jul 2025 06:27:31 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 12/20] target/arm: Add BFMLA, BFMLS (vectors) Date: Mon, 21 Jul 2025 14:27:09 +0100 Message-ID: <20250721132718.2835729-13-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42f; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104508831116600 Content-Type: text/plain; charset="utf-8" FEAT_SVE_B16B16 adds bfloat16 versions of the FMLA and FMLS insns in the "SVE floating-point multiply-accumulate writing addend" group, encoded as sz=3D0b00. Fixes: 7b1613a1020d2942 ("target/arm: Enable FEAT_SME2p1 on -cpu max") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20250718173032.2498900-6-peter.maydell@linaro.org --- target/arm/tcg/helper-sve.h | 14 +++++++ target/arm/tcg/sve_helper.c | 69 ++++++++++++++++++++++++++++++++++ target/arm/tcg/translate-sve.c | 21 ++++++++--- 3 files changed, 98 insertions(+), 6 deletions(-) diff --git a/target/arm/tcg/helper-sve.h b/target/arm/tcg/helper-sve.h index cb6c2355e58..5e4b7fd8cf4 100644 --- a/target/arm/tcg/helper-sve.h +++ b/target/arm/tcg/helper-sve.h @@ -1541,6 +1541,8 @@ DEF_HELPER_FLAGS_6(sve_fcadd_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_6(sve_fcadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_7(sve_fmla_zpzzz_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_fmla_zpzzz_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_fmla_zpzzz_s, TCG_CALL_NO_RWG, @@ -1548,6 +1550,8 @@ DEF_HELPER_FLAGS_7(sve_fmla_zpzzz_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_7(sve_fmla_zpzzz_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_7(sve_fmls_zpzzz_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_fmls_zpzzz_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_fmls_zpzzz_s, TCG_CALL_NO_RWG, @@ -1555,6 +1559,8 @@ DEF_HELPER_FLAGS_7(sve_fmls_zpzzz_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_7(sve_fmls_zpzzz_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_7(sve_fnmla_zpzzz_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_fnmla_zpzzz_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_fnmla_zpzzz_s, TCG_CALL_NO_RWG, @@ -1562,6 +1568,8 @@ DEF_HELPER_FLAGS_7(sve_fnmla_zpzzz_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_7(sve_fnmla_zpzzz_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_7(sve_fnmls_zpzzz_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_fnmls_zpzzz_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_fnmls_zpzzz_s, TCG_CALL_NO_RWG, @@ -1569,6 +1577,8 @@ DEF_HELPER_FLAGS_7(sve_fnmls_zpzzz_s, TCG_CALL_NO_RWG, DEF_HELPER_FLAGS_7(sve_fnmls_zpzzz_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_7(sve_ah_fmls_zpzzz_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_ah_fmls_zpzzz_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_ah_fmls_zpzzz_s, TCG_CALL_NO_RWG, @@ -1576,6 +1586,8 @@ DEF_HELPER_FLAGS_7(sve_ah_fmls_zpzzz_s, TCG_CALL_NO_R= WG, DEF_HELPER_FLAGS_7(sve_ah_fmls_zpzzz_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_7(sve_ah_fnmla_zpzzz_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_ah_fnmla_zpzzz_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_ah_fnmla_zpzzz_s, TCG_CALL_NO_RWG, @@ -1583,6 +1595,8 @@ DEF_HELPER_FLAGS_7(sve_ah_fnmla_zpzzz_s, TCG_CALL_NO_= RWG, DEF_HELPER_FLAGS_7(sve_ah_fnmla_zpzzz_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) =20 +DEF_HELPER_FLAGS_7(sve_ah_fnmls_zpzzz_b16, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_ah_fnmls_zpzzz_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, ptr, fpst, i32) DEF_HELPER_FLAGS_7(sve_ah_fnmls_zpzzz_s, TCG_CALL_NO_RWG, diff --git a/target/arm/tcg/sve_helper.c b/target/arm/tcg/sve_helper.c index 1a56fa86d9c..105cc5dd122 100644 --- a/target/arm/tcg/sve_helper.c +++ b/target/arm/tcg/sve_helper.c @@ -5099,6 +5099,75 @@ DO_ZPZ_FP(flogb_d, float64, H1_8, do_float64_logb_as= _int) =20 #undef DO_ZPZ_FP =20 +static void do_fmla_zpzzz_b16(void *vd, void *vn, void *vm, void *va, void= *vg, + float_status *status, uint32_t desc, + uint16_t neg1, uint16_t neg3, int flags) +{ + intptr_t i =3D simd_oprsz(desc); + uint64_t *g =3D vg; + + do { + uint64_t pg =3D g[(i - 1) >> 6]; + do { + i -=3D 2; + if (likely((pg >> (i & 63)) & 1)) { + float16 e1, e2, e3, r; + + e1 =3D *(uint16_t *)(vn + H1_2(i)) ^ neg1; + e2 =3D *(uint16_t *)(vm + H1_2(i)); + e3 =3D *(uint16_t *)(va + H1_2(i)) ^ neg3; + r =3D bfloat16_muladd(e1, e2, e3, flags, status); + *(uint16_t *)(vd + H1_2(i)) =3D r; + } + } while (i & 63); + } while (i !=3D 0); +} + +void HELPER(sve_fmla_zpzzz_b16)(void *vd, void *vn, void *vm, void *va, + void *vg, float_status *status, uint32_t des= c) +{ + do_fmla_zpzzz_b16(vd, vn, vm, va, vg, status, desc, 0, 0, 0); +} + +void HELPER(sve_fmls_zpzzz_b16)(void *vd, void *vn, void *vm, void *va, + void *vg, float_status *status, uint32_t des= c) +{ + do_fmla_zpzzz_b16(vd, vn, vm, va, vg, status, desc, 0x8000, 0, 0); +} + +void HELPER(sve_fnmla_zpzzz_b16)(void *vd, void *vn, void *vm, void *va, + void *vg, float_status *status, uint32_t de= sc) +{ + do_fmla_zpzzz_b16(vd, vn, vm, va, vg, status, desc, 0x8000, 0x8000, 0); +} + +void HELPER(sve_fnmls_zpzzz_b16)(void *vd, void *vn, void *vm, void *va, + void *vg, float_status *status, uint32_t de= sc) +{ + do_fmla_zpzzz_b16(vd, vn, vm, va, vg, status, desc, 0, 0x8000, 0); +} + +void HELPER(sve_ah_fmls_zpzzz_b16)(void *vd, void *vn, void *vm, void *va, + void *vg, float_status *status, uint32_t des= c) +{ + do_fmla_zpzzz_b16(vd, vn, vm, va, vg, status, desc, 0, 0, + float_muladd_negate_product); +} + +void HELPER(sve_ah_fnmla_zpzzz_b16)(void *vd, void *vn, void *vm, void *va, + void *vg, float_status *status, uint32_t de= sc) +{ + do_fmla_zpzzz_b16(vd, vn, vm, va, vg, status, desc, 0, 0, + float_muladd_negate_product | float_muladd_negate_c); +} + +void HELPER(sve_ah_fnmls_zpzzz_b16)(void *vd, void *vn, void *vm, void *va, + void *vg, float_status *status, uint32_t de= sc) +{ + do_fmla_zpzzz_b16(vd, vn, vm, va, vg, status, desc, 0, 0, + float_muladd_negate_c); +} + static void do_fmla_zpzzz_h(void *vd, void *vn, void *vm, void *va, void *= vg, float_status *status, uint32_t desc, uint16_t neg1, uint16_t neg3, int flags) diff --git a/target/arm/tcg/translate-sve.c b/target/arm/tcg/translate-sve.c index 918cf6e1bd4..37ecbc2b7c0 100644 --- a/target/arm/tcg/translate-sve.c +++ b/target/arm/tcg/translate-sve.c @@ -4368,19 +4368,28 @@ TRANS_FEAT(FCADD, aa64_sve, gen_gvec_fpst_zzzp, fca= dd_fns[a->esz], a->rd, a->rn, a->rm, a->pg, a->rot | (s->fpcr_ah << 1), a->esz =3D=3D MO_16 ? FPST_A64_F16 : FPST_A64) =20 +static bool do_fmla_zpzzz(DisasContext *s, arg_rprrr_esz *a, + gen_helper_gvec_5_ptr *fn) +{ + /* These insns use MO_8 to encode BFloat16 */ + if (a->esz =3D=3D MO_8 && !dc_isar_feature(aa64_sve_b16b16, s)) { + return false; + } + return gen_gvec_fpst_zzzzp(s, fn, a->rd, a->rn, a->rm, a->ra, a->pg, 0, + a->esz =3D=3D MO_16 ? FPST_A64_F16 : FPST_A= 64); +} + #define DO_FMLA(NAME, name, ah_name) \ static gen_helper_gvec_5_ptr * const name##_fns[4] =3D { \ - NULL, gen_helper_sve_##name##_h, \ + gen_helper_sve_##name##_b16, gen_helper_sve_##name##_h, \ gen_helper_sve_##name##_s, gen_helper_sve_##name##_d \ }; \ static gen_helper_gvec_5_ptr * const name##_ah_fns[4] =3D { \ - NULL, gen_helper_sve_##ah_name##_h, \ + gen_helper_sve_##ah_name##_b16, gen_helper_sve_##ah_name##_h, \ gen_helper_sve_##ah_name##_s, gen_helper_sve_##ah_name##_d \ }; \ - TRANS_FEAT(NAME, aa64_sve, gen_gvec_fpst_zzzzp, \ - s->fpcr_ah ? name##_ah_fns[a->esz] : name##_fns[a->esz], \ - a->rd, a->rn, a->rm, a->ra, a->pg, 0, \ - a->esz =3D=3D MO_16 ? FPST_A64_F16 : FPST_A64) + TRANS_FEAT(NAME, aa64_sve, do_fmla_zpzzz, a, \ + s->fpcr_ah ? name##_ah_fns[a->esz] : name##_fns[a->esz]) =20 /* We don't need an ah_fmla_zpzzz because fmla doesn't negate anything */ DO_FMLA(FMLA_zpzzz, fmla_zpzzz, fmla_zpzzz) --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104569; cv=none; d=zohomail.com; s=zohoarc; b=f6H+HsQdb8NmEGVk9TVvjtWOr1OGv2QT4B9Yefg9OGln8z81O6qdI9NykJJGrwROpT+xJ/cAZFGz8NHrlgx94ERThzelWtbb7++Es7XRVPNOa4CwMso1UjIF0u/rTIM6qZQVeM8UPZicSUX6CEA6Xi0Eve5SPK/ZMsvTaheD+wI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104569; h=Content-Transfer-Encoding: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:Cc; bh=xNYbFXcxNOECXlHwPuWcDJo9Biyy1bfORUt4orh1o4E=; b=Ba8hqIQC6xx2c4FrQ409aPDgWpGKkRgpUXGokOtViArl6YS8/z8VPKhfsDBWkj1sOEH7xEQDzu5yurjszTHgawye838oLtBU8de68lo30Hv9/nIQlPM4xF6qYOf5DrfzMu8+EYz2r8Zdnqh9epgQunSlpk2eKKFnT33xu4ISOl0= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175310456948258.546194037997566; Mon, 21 Jul 2025 06:29:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYd-0002VO-0o; Mon, 21 Jul 2025 09:27:55 -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 1udqYM-0000Kd-7h for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:42 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYI-0005K6-Pi for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:37 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3a4fb9c2436so2478847f8f.1 for ; Mon, 21 Jul 2025 06:27:33 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104452; x=1753709252; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=xNYbFXcxNOECXlHwPuWcDJo9Biyy1bfORUt4orh1o4E=; b=l4vk+cEsEqIZ2S457k7FBkttRUnM2EU6w4YQaDBdOG80OHxV+WqlFoIY+fG0yIfoM3 iWkqQVRUWtZn0sK5Wz/wFDhH1FDTvlg1FlM9NVlTEEgNi45Hn5E286g7pFTbU9tZeIKG CZKk7E15wWNtf5r7/9XWimvIlwYZe+GD2ZAR68g40TtShmP5XKei19n4HYyxPpqDG0RC Unsuuh6HX1RZHWdDa19WNWBHWU7NNknAhV1eSGiS4edeuqYabUW5/zWUs5oCnzXG7Te6 mEcqqi94Gtc84vWeYVeMuWU+3V11A9Te/O0qvg6NKSskLEASKkFCI0cZi99b7WcZHtUT w++w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104452; x=1753709252; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xNYbFXcxNOECXlHwPuWcDJo9Biyy1bfORUt4orh1o4E=; b=nK2LdcssvORgYnMCtEIN2EGEXS/aUBUF56dY/GGUPjJs2lsyqIh629ueT4uMM8XKbC TgCosyHHCkAemYGcI7yIZfd4KVTTlq538VdQmtbAAQIu7SG+oCQUiFHsfSIC3N01xGV8 ksrU+yta5rjZlDZwVZOb1y3oQFB9wfSfPNhWqaquAY7mNRc6QqDQS3mrJRcrrLWtIvKQ e3zeqfCAbuWh4Z08uOEggFJd+ZrSFWOqsyjwBW/oTKQinF6C7lP3TXnCq8fCSoFUaI0u Qzo6ZZ8V4fC3XrKDqFXSkKHM5+/d9ZjHSwpvqf8LvsFgoMYElvN73ADm5jh60FpdN35v j55g== X-Gm-Message-State: AOJu0YwR8dT9Zm9izOlCTe8mpkTTSUXNOvGYxN/lLpSWz6mr5Y3QEcY1 Z2lb/zHOejJGEqrABN/8B5GoljjBTvtkaJIXi7IIYgqeclve50zzTYhaWW5phrLaysSzgEO/Bdf uvaJP X-Gm-Gg: ASbGncsNiOX9A+VTahoBjcEyG6uKDryFjsVJMXHq8FbXVsBT0r4aXjVvmgf3cbq70jn 8v02u+1aSmNNNB6nML7CdFmJEQr2vubDDsEK2uJC6nk/LAWRq8udQnrLccGt1VeUmJCjQSEmkja NQuJSopiWcUHtPqyN8o/NVSG8E6RbtKKlSUGGHeqb85fhVvheejSuDG6HyRW0TqR5cYuiATbcbc UWWwynzzyTwkKaqP3NowuIGbY8wntafVb00ucR1AToJsgQmz0/6O94ddLWO30QdiMmDXf2cQe37 YggETOH6qdEX0lYRl7iVc5ZaWyluAaz8hfG7jlQzyRVl3ctz8zl9ckx9rwsJFfhBswnDbDqHhbq CKeDfozymj0jC8rDMkHP46IFrI/Qf X-Google-Smtp-Source: AGHT+IFvh7fryo/JjaR8I7d0aTCBNorihQ1DcVZwbS1BiBbkA9cfddWhIYnmvArW5qkHNH5eY+ekMA== X-Received: by 2002:a05:6000:4716:b0:3b4:98f6:dd77 with SMTP id ffacd0b85a97d-3b61b217fd7mr10000732f8f.36.1753104452335; Mon, 21 Jul 2025 06:27:32 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 13/20] target/arm: Add BFMLA, BFMLS (indexed) Date: Mon, 21 Jul 2025 14:27:10 +0100 Message-ID: <20250721132718.2835729-14-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::430; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104571563116600 Content-Type: text/plain; charset="utf-8" FEAT_SVE_B16B16 adds bfloat16 versions of the FMLA and FMLS insns in the SVE floating-point multiply-add (indexed) insn group. Implement these. Fixes: 7b1613a1020d2942 ("target/arm: Enable FEAT_SME2p1 on -cpu max") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20250718173032.2498900-7-peter.maydell@linaro.org --- target/arm/tcg/sve.decode | 2 ++ target/arm/tcg/translate-sve.c | 25 ++++++++++++++++--------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/target/arm/tcg/sve.decode b/target/arm/tcg/sve.decode index a76f2236f43..a77b725c876 100644 --- a/target/arm/tcg/sve.decode +++ b/target/arm/tcg/sve.decode @@ -1052,9 +1052,11 @@ FCMLA_zzxz 01100100 11 1 index:1 rm:4 0001 rot:= 2 rn:5 rd:5 \ ### SVE FP Multiply-Add Indexed Group =20 # SVE floating-point multiply-add (indexed) +FMLA_zzxz 01100100 0. 1 ..... 000010 ..... ..... @rrxr_3 esz=3D0 FMLA_zzxz 01100100 0. 1 ..... 000000 ..... ..... @rrxr_3 esz=3D1 FMLA_zzxz 01100100 10 1 ..... 000000 ..... ..... @rrxr_2 esz=3D2 FMLA_zzxz 01100100 11 1 ..... 000000 ..... ..... @rrxr_1 esz=3D3 +FMLS_zzxz 01100100 0. 1 ..... 000011 ..... ..... @rrxr_3 esz=3D0 FMLS_zzxz 01100100 0. 1 ..... 000001 ..... ..... @rrxr_3 esz=3D1 FMLS_zzxz 01100100 10 1 ..... 000001 ..... ..... @rrxr_2 esz=3D2 FMLS_zzxz 01100100 11 1 ..... 000001 ..... ..... @rrxr_1 esz=3D3 diff --git a/target/arm/tcg/translate-sve.c b/target/arm/tcg/translate-sve.c index 37ecbc2b7c0..fc76624b5a1 100644 --- a/target/arm/tcg/translate-sve.c +++ b/target/arm/tcg/translate-sve.c @@ -3883,24 +3883,31 @@ DO_SVE2_RRXR_ROT(CDOT_zzxw_d, gen_helper_sve2_cdot_= idx_d) *** SVE Floating Point Multiply-Add Indexed Group */ =20 +static bool do_fmla_zzxz(DisasContext *s, arg_rrxr_esz *a, + gen_helper_gvec_4_ptr *fn) +{ + /* These insns use MO_8 to encode BFloat16 */ + if (a->esz =3D=3D MO_8 && !dc_isar_feature(aa64_sve_b16b16, s)) { + return false; + } + return gen_gvec_fpst_zzzz(s, fn, a->rd, a->rn, a->rm, a->ra, a->index, + a->esz =3D=3D MO_16 ? FPST_A64_F16 : FPST_A6= 4); +} + static gen_helper_gvec_4_ptr * const fmla_idx_fns[4] =3D { - NULL, gen_helper_gvec_fmla_idx_h, + gen_helper_gvec_bfmla_idx, gen_helper_gvec_fmla_idx_h, gen_helper_gvec_fmla_idx_s, gen_helper_gvec_fmla_idx_d }; -TRANS_FEAT(FMLA_zzxz, aa64_sve, gen_gvec_fpst_zzzz, - fmla_idx_fns[a->esz], a->rd, a->rn, a->rm, a->ra, a->index, - a->esz =3D=3D MO_16 ? FPST_A64_F16 : FPST_A64) +TRANS_FEAT(FMLA_zzxz, aa64_sve, do_fmla_zzxz, a, fmla_idx_fns[a->esz]) =20 static gen_helper_gvec_4_ptr * const fmls_idx_fns[4][2] =3D { - { NULL, NULL }, + { gen_helper_gvec_bfmls_idx, gen_helper_gvec_ah_bfmls_idx }, { gen_helper_gvec_fmls_idx_h, gen_helper_gvec_ah_fmls_idx_h }, { gen_helper_gvec_fmls_idx_s, gen_helper_gvec_ah_fmls_idx_s }, { gen_helper_gvec_fmls_idx_d, gen_helper_gvec_ah_fmls_idx_d }, }; -TRANS_FEAT(FMLS_zzxz, aa64_sve, gen_gvec_fpst_zzzz, - fmls_idx_fns[a->esz][s->fpcr_ah], - a->rd, a->rn, a->rm, a->ra, a->index, - a->esz =3D=3D MO_16 ? FPST_A64_F16 : FPST_A64) +TRANS_FEAT(FMLS_zzxz, aa64_sve, do_fmla_zzxz, a, + fmls_idx_fns[a->esz][s->fpcr_ah]) =20 /* *** SVE Floating Point Multiply Indexed Group --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104546; cv=none; d=zohomail.com; s=zohoarc; b=mdvgFSTSEM1ufLT46cqyBx9pYl0NepKqxs4haQE9y8xlll0/U2sGPjFBKpG15s+NvXzuMYa7Ty7dBGAp7r5yD1//FXcwEjwPsI9YeCSBHeXGoYIJpEfOjNEvdx5UKzSIKDQG/VgobupLmmf2kesFLxLKGoZIt4mDGhNj7KDfCsg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104546; h=Content-Type:Content-Transfer-Encoding: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:Cc; bh=nIp1SgM0w0YUcpzxsTa6KoX/eMZJ6QjBTnu86Ie5yyQ=; b=Z5UY2blknnjI00YWhK+JL5u5odstnzB/8MKt/4L4NHBoZu5m08NetyA5PeWnv7xvV1exn9OtWcMQVPCjUhet32SBZNsDyb2J04Ygst2yJ+PJlBH5Xhj31qmI/qnb46sp+JWlz1fTZBpXdpPmkiOjCnNK4cyI+c4CFoFYZgRory0= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104546683100.6426132811149; Mon, 21 Jul 2025 06:29:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYk-000537-LL; Mon, 21 Jul 2025 09:28:02 -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 1udqYM-0000Kx-O1 for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:42 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYJ-0005KJ-JR for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:38 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3a6e2d85705so2163797f8f.0 for ; Mon, 21 Jul 2025 06:27:34 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104453; x=1753709253; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=nIp1SgM0w0YUcpzxsTa6KoX/eMZJ6QjBTnu86Ie5yyQ=; b=ID0CBs42M2bJa591kwlwCN3Fb/Gtcalv4G4dYkpJK7Rb5nZK4OBywgrniZV0Jj/ktz GAvA7gnY0xjAKzxaRK4db8NfZroHIq260KYxpxfi8vF+l1tz9wnXzTdxJbjIUCW9Wi98 QCtTk2HFaSbo+gAUqE8ZWDrS5r+uFJIqKRadNcrBKpcOWod2TgSlBWeHWf/1sW3kTMMD TJM3kK54hBpSxUA6RiJ0EAiWKNMeH8Kn5BOlvQKu29CYEXFimPzLIErz3FX29wAeQK4u pWVJGLPsw/ybP2OMBGWipOxSdeovSqJSI33VfMi7h0YWYQrcl6ugRZDQ5EgVsM5QAUmX wS9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104453; x=1753709253; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nIp1SgM0w0YUcpzxsTa6KoX/eMZJ6QjBTnu86Ie5yyQ=; b=s94fSXG6I2UDq/P/wE8O/lCXE3kOvvTNkdaEhp8/JvmFMWWc9AlOJpVyWUiIjvnDWE aQ336WttjrhEmr2EnpVy21r3nlTJzizleevpK49Q437YMIIyBc0kDkHkEcQYPENsNi4C ONMbQNt3dxCyjcVYV5qns5qpb5T2EfqP4mmgAMQWzFwPBU3BdKkHdhhCN9akGt6rtihA M19rRLthITZQ5H6Krq1DTGjxkXMvYQ/K233JEnyZEMxfwthJBKVb+9Ggyz+jRsEUZivI QxAwhRZkld5Eqs7SKcDm40Ryil5l1ASrnq1CHfQnmgw4khNADy37SEafszKwKbubYIFw G6aw== X-Gm-Message-State: AOJu0YxGZYRzUqkwW6PzJj04CRYyfy0sH7uSKj2JNenpKzlGmPqo1ihS VcuLTU3GrFrIfg85h25qTc8djthquKIwXlkezVMvmRgZEmVvReH4UyZQVBkIJCY/E3q1Q5k1CL8 ySSB7 X-Gm-Gg: ASbGncsQ4YAJu6QL4sR1RWt5yK4lXjDSajjBUndOBoLTxDFlE4xG0gdRtLjc2luwLZ+ jNx8LNZVVmcrbCwZlsgp3tta2EZll1mDlCHi3VprlwOrL9kWpoh9JsQJDt6foOTIjhppOSCOcie A1sFzPOzOEMlyrYS87IhJKKz8er/bDn6glrY4gqPJepYy45Np77oRFDxoR0Kt4HIq5PqDqSLn+U Eqtj9tkdd2btmx3VUc6ck3arMh14npAfS1G3ftvsR+RAhDjs6SWU8ZDD+vlZnaajlKPk4JKv5M0 qt6TayzPr1QV6qZ/PyFJ2aBjsYoHFbG6AVkhNyY22JlAYrEzpVshN8KvRCuXcAv8gkXwhOiq4CI /vQRwtEeYYU+f5W3Woj9fe0PnOfjv X-Google-Smtp-Source: AGHT+IGAtJjUOryD8JmZZAHOMQyFlsUHbewore71K7Riv8BRKOiXtFmq5ZFf71rThKwLr25ufQrQdA== X-Received: by 2002:a5d:5d10:0:b0:3b3:a6c2:1a10 with SMTP id ffacd0b85a97d-3b60dd641d0mr19346661f8f.12.1753104453217; Mon, 21 Jul 2025 06:27:33 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 14/20] target/arm: Correct sense of FPCR.AH test for FMAXQV and FMINQV Date: Mon, 21 Jul 2025 14:27:11 +0100 Message-ID: <20250721132718.2835729-15-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::436; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104547330116600 When we implemented the FMAXQV and FMINQV insns we accidentally inverted the sense of the FPCR.AH test, so we gave the AH=3D1 behaviour when FPCR.AH was zero, and vice-versa. (The difference is limited to handling of negative zero and NaN inputs.) Fixes: 1de7ecfc12d05 ("target/arm: Implement FADDQV, F{MIN, MAX}{NM}QV for = SVE2p1") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20250718173032.2498900-8-peter.maydell@linaro.org --- target/arm/tcg/translate-sve.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/arm/tcg/translate-sve.c b/target/arm/tcg/translate-sve.c index fc76624b5a1..2ed440aff15 100644 --- a/target/arm/tcg/translate-sve.c +++ b/target/arm/tcg/translate-sve.c @@ -4020,7 +4020,7 @@ static gen_helper_gvec_3_ptr * const fmaxqv_ah_fns[4]= =3D { gen_helper_sve2p1_ah_fmaxqv_s, gen_helper_sve2p1_ah_fmaxqv_d, }; TRANS_FEAT(FMAXQV, aa64_sme2p1_or_sve2p1, gen_gvec_fpst_arg_zpz, - (s->fpcr_ah ? fmaxqv_fns : fmaxqv_ah_fns)[a->esz], a, 0, + (s->fpcr_ah ? fmaxqv_ah_fns : fmaxqv_fns)[a->esz], a, 0, a->esz =3D=3D MO_16 ? FPST_A64_F16 : FPST_A64) =20 static gen_helper_gvec_3_ptr * const fminqv_fns[4] =3D { @@ -4032,7 +4032,7 @@ static gen_helper_gvec_3_ptr * const fminqv_ah_fns[4]= =3D { gen_helper_sve2p1_ah_fminqv_s, gen_helper_sve2p1_ah_fminqv_d, }; TRANS_FEAT(FMINQV, aa64_sme2p1_or_sve2p1, gen_gvec_fpst_arg_zpz, - (s->fpcr_ah ? fminqv_fns : fminqv_ah_fns)[a->esz], a, 0, + (s->fpcr_ah ? fminqv_ah_fns : fminqv_fns)[a->esz], a, 0, a->esz =3D=3D MO_16 ? FPST_A64_F16 : FPST_A64) =20 /* --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104506; cv=none; d=zohomail.com; s=zohoarc; b=GoDs94F+lincB1DVMuRJRv2CleTdioRQnHbojYNk1/+TMls49xk2d66cmmN7i6vxT8NylARRXhYjPYp74Tjtd1QabDyxju8YIbvjwiTBKf0U1ATj3jhFeX4k+oKop4TsCkGEPgbz6CCm4DjoapaB7OUqfasY2AyS2LhzbCjZCxA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104506; h=Content-Transfer-Encoding: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:Cc; bh=UY1tdCp4tGowHUgLzuBpKHat0vai5QJSXiFEppO4oFI=; b=HK8XjJxuC7LgLoMGjaVpafzoixhLZvM8wnEHC79Eva5G/d6B9+svInjCCbdEn1Lt3GpJ10GZsmk9hnJfk87dUOg3+FoZrCSDTgV8MrqvBIRGBs3YGBn8as6XmymyCKHOXoohis+Etu0qDNQTGtY9gh9KmaaCa1lEFi5gxWndoLY= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104506885677.0663985592262; Mon, 21 Jul 2025 06:28:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYd-0002oh-NQ; Mon, 21 Jul 2025 09:27:55 -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 1udqYM-0000M6-Py for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:42 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYK-0005Kd-5M for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:38 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3a522224582so2143630f8f.3 for ; Mon, 21 Jul 2025 06:27:35 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104454; x=1753709254; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=UY1tdCp4tGowHUgLzuBpKHat0vai5QJSXiFEppO4oFI=; b=FJAIK4EMEZHgjvQYV1XtuAddOGWYHrNFXcHAnz7T9kd7QIft4T9OnCFavrX+p8E5n4 F2/LBKus8Ee+YS+mGnRSYEsnzCeYtfhlFS88z4TPRSMykBnHqIMcIGyjSQanZ9bN4jFQ ftZjx9OZgxDN16ocsNbKW3L/Vxxh52ZhPzKSLU57+k0ys9FtfPKnS2XHIp9ALTQjdTi7 Vi7BxsmbgWbTuOcZUPGEho5LPiXcGMMr+zq8zdCj2Jfqan9d9duOeYCYTOta8FSH84nk a/+T2o9BXtMIt7Nufsz4nAUcQSJ5tiDNGvVZ6nNb7AEw5oLAhNGI3BxzWMcHZvGA75N/ I1BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104454; x=1753709254; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UY1tdCp4tGowHUgLzuBpKHat0vai5QJSXiFEppO4oFI=; b=BpNKitjdgTYzdxY914FrB0xz1Mwk3ygFxBCIsCvTw1kbd8I/ioMKtCApP/Vg3aHGnN OPEBni33spB+0CrUtyXEczL+RYaUsSsUvtyd2DRfuAPJEYwsU2JjDnWlKPGuwvWWzZ5P S9jz6+fuj+oUlzkNo31J94ERmdGJBQ2/dzjD+yxliRskL/yfGXYKMojkQL/gLfgP7ADA njaPGsiI0ceQwMnbY1qAH+euQ1v4sTxqPxj5WkBtonYOdCbxdOQBqU89zlQ9DS7QC/Z0 jP2OtdvUtjr1LEkRXc+mxaRuzVPouxid6oV2DviB3dghMI1Q/hjPk816hnitCvjf2V15 LDoA== X-Gm-Message-State: AOJu0YxNLC0boiNQCqKUE/0kQUcHL2ZtmgkYdcKOV3rwWr5d/1BfUToC z9tKnccqho7mdGrkppIndz2k1IgGrKCgxgp10z2vLNHWaxBzIqyd7k/B29zTIlUS+G6UkHB/IaW Wqaw6 X-Gm-Gg: ASbGnctEApB7j/suFsVpgfUDErwfpLlw95tRCM5Uwe3E/zUHn63LKwlkeqTTcC9sH0/ hfR70kVtOpeXfV2RZE3nSjLGLuQMoEC0F1TOeaXz9knIQbbFvXPxWpoC4MFx/GZwm4jOjajFD2D ojKrhciZsKmN61PWO/UXsa2ejVVwICIqrBlOYL7Byfz7BwZ1yjhlAjhn70ard7LtFOBfLKTq+xb uhs7RHzldV9ARui9xKrALkOvVBlH3N80MmRZ1Xlut9OY6wVncDeOftrjUN1410DrYZus0cjUbI5 54vUozBB1JtSQjYtiMX7FV86VKXA+xMHjoCo5hv6kiexK49HJtYI3DS7GW2GalyIBOLHCcuYWqH 0QqC4mFhDNV2gQ+R2PNYd7Dd8h0Rw X-Google-Smtp-Source: AGHT+IHtuG9a6qR47X/EL5GyALSmpxcz9atnvPL6pDGK5gMnYKSYIaN5pfVveLQf9XSPyT0kmgxz5g== X-Received: by 2002:a05:6000:4602:b0:3b5:e6f2:ab4d with SMTP id ffacd0b85a97d-3b60dd997cbmr14880359f8f.42.1753104454091; Mon, 21 Jul 2025 06:27:34 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 15/20] target/arm: Don't nest H() macro calls in SVE DO_REDUCE Date: Mon, 21 Jul 2025 14:27:12 +0100 Message-ID: <20250721132718.2835729-16-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104508852116600 Content-Type: text/plain; charset="utf-8" In the part of the SVE DO_REDUCE macro used by the SVE2p1 FMAXQV, FMINQV, etc insns, we incorrectly applied the H() macro twice when calculating an offset to add to the vn pointer. This has no effect on little-endian hosts but on big-endian hosts the two invocations will cancel each other out and we will access the wrong part of the array. The "s * 16" part of the expression is already aligned, so we only need to use the H macro on the "e". Correct the macro usage. Fixes: 1de7ecfc12d05 ("target/arm: Implement FADDQV, F{MIN, MAX}{NM}QV for = SVE2p1") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20250718173032.2498900-9-peter.maydell@linaro.org --- target/arm/tcg/sve_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/tcg/sve_helper.c b/target/arm/tcg/sve_helper.c index 105cc5dd122..bf894f0bf13 100644 --- a/target/arm/tcg/sve_helper.c +++ b/target/arm/tcg/sve_helper.c @@ -4509,7 +4509,7 @@ void helper_sve2p1_##NAME##qv_##SUF(void *vd, void *v= n, void *vg, \ TYPE data[ARM_MAX_VQ]; \ for (unsigned s =3D 0; s < segments; s++) { \ uint16_t pg =3D *(uint16_t *)(vg + H1_2(s * 2)); \ - TYPE nn =3D *(TYPE *)(vn + H(s * 16 + H(e))); \ + TYPE nn =3D *(TYPE *)(vn + (s * 16 + H(e))); \ data[s] =3D (pg >> e) & 1 ? nn : IDENT; \ } \ *(TYPE *)(vd + H(e)) =3D FUNC##_reduce(data, status, segments); \ --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104531; cv=none; d=zohomail.com; s=zohoarc; b=RmUuua+O9uc8zIpuo1PCyNZmyvkjJXS1K+rfWOyrBwQdObuu1GGp/X+0t0GqMtfZvoktd3O8AGjBziKLj45pHpBhrrpsFNrRq6HqjnZ8OBM9q7hQGFpTkOOOdz+ZPJvhw5zoJ5gIA7a8WwZTWxEb0x8XQubxeytkM7XAwooLQbU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104531; h=Content-Transfer-Encoding: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:Cc; bh=EEVcSDg3gALoDZbpqHs85N5oeeT+sebr+UPZ9srLl5s=; b=Hz7/qYo8uCwmqeVJU4Itg675K3Wx0Bes7Hn13ZmUClm1l0YT4Ox8aJtxj4suF17vfUsvBl2Kdl2d5wR8z8yYqks+5pc+lRoNgEtxV/a5uKRD5PyGeIWVCD5Ouu01H+v3U0ozkdhEwsAQW3Go59abQ+lmOgRSsEW11VMxAoKW+aM= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104531629480.7099247690604; Mon, 21 Jul 2025 06:28:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYs-00076B-46; Mon, 21 Jul 2025 09:28:10 -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 1udqYO-0000on-2L for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:43 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYL-0005LL-H8 for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:39 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3ab112dea41so2543102f8f.1 for ; Mon, 21 Jul 2025 06:27:36 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104455; x=1753709255; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=EEVcSDg3gALoDZbpqHs85N5oeeT+sebr+UPZ9srLl5s=; b=Lplb+pgu5vvLOvdXOuhvt1NMQlaWVU/IXLbbGNGxZcO9ejV6N/LJwm38WUN4n5izpn EnnPhO9S67NxwfOOLY0P5PPbf9tXo5HS1gFI+iQ8B+0syVRrAG8eg+Ww8C/j3N2HVn1t TI2H4oAdObvUHt7BK8/XtRQI0N5RKMn3nt5iTbwhmE23RH/MYWTDBZspHpq5ars5PXOn jr9wcONuBk8LLr7UCkS7LJljAgktZ4gmCNhezfBPYkiHFCfTT9Pd6Epirf+7hFwjsSU9 CCa9KVL9JgrpVRxAyT63sMtWq9esZlQlJaQsoZ2pIXDM1ilcKbqihhJd4zN3QNaBp8CA czjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104455; x=1753709255; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EEVcSDg3gALoDZbpqHs85N5oeeT+sebr+UPZ9srLl5s=; b=M0aC5hVpdWog6hyJHPXUMi20AxIRfmXhlMgt3uitTv5Qe2eZCWFcwANc6Jrffg5KAM 3XyVry2xtEBxX4GN5Bqv7zkMxEWmPEMrZe7KogIiBNr0n3FNtKcGiuY6yoIhQ+Ml5pwb Y2lqxNYBKstqVA99+nNEVntx3+MMd/kEs/EQGOCyIrCTLWjWOLQuIjyllY7/cS3FOmJU HrUd1n0smeEgjrKxlqX8rNQ+A8aL9fWX3KIQ84JVI3EhlvZC/97vkaLfv2qHOWQ9nn8G 5I1bmij8uC9uMgvfgBHkkPVixe6mQLsFLC4vgSK4Kxe/Cmw2TEy6sihiGe2b+l24sPHB Rcuw== X-Gm-Message-State: AOJu0Yy9n1Ruci8gGeMoFpwLSI+v8SpWUhl3vMCwP57UW2AQZyZm4oqt srnfqaNXQOoQLcRp64RvEwos/UnFJcFo/GhAthdaiHaKHDcsKbMtx/N0V2XvKl5mOS2HlY0+Kvm lUy2J X-Gm-Gg: ASbGncugTEBF58AXill5GSgrx8GGC4OiKmRHUAlnGPG44/Jsj30QCcUMCPShmmt8PZW wT9bU76DsZzs1E01VUb5j3VQqGRulZg9tbJ/D1AtOvgeov6BS8YAVvw/Yf9eyFqA5roe3oi2YiO I15GlQqDtpvHEN5zY2kdz85KnMWPTHOHKBjQ4U9XF4BrAjis+i0OrHjQvu3PMwvBfjYLwEYIOPF Pm4hjtPznKdnbvonvHCl9JaL0oUCxO7d5h3hamHxmc2paOngHNec9vjirdTawAkrOvuq2eywTLi HNRQG5INbJhjliFnpY6ZtFAAeI3/3fwRRpqJZHEJhM7MteVaMrmLVXSQvBX8sxc7+f9e086eW5Q ZJiGmb47HveuGQATLK/qXldl+TG57 X-Google-Smtp-Source: AGHT+IGCzeCery40cNPRmpfTPcfHSD/FuOFIHkmpBNvHpXJ2rayez9JcA8c1T3JspIlsnUNO6BIL5A== X-Received: by 2002:a5d:64e8:0:b0:3a0:7d27:f076 with SMTP id ffacd0b85a97d-3b60dd651d2mr15633219f8f.2.1753104454942; Mon, 21 Jul 2025 06:27:34 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 16/20] target/arm: Honour FPCR.AH=1 default NaN value in FMAXNMQV, FMINNMQV Date: Mon, 21 Jul 2025 14:27:13 +0100 Message-ID: <20250721132718.2835729-17-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42d; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104533287116600 Content-Type: text/plain; charset="utf-8" The FMAXNMQV and FMINNMQV insns use the default NaN as their identity value for inactive source vector elements. We open-coded this in sve_helper.c, hoping to avoid a function call. However, this fails to account for FPCR.AH=3D1 changing the default NaN value to set the sign bit. Use a call to floatN_default_nan() to obtain this value. Fixes: 1de7ecfc12d05 ("target/arm: Implement FADDQV, F{MIN, MAX}{NM}QV for = SVE2p1") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20250718173032.2498900-10-peter.maydell@linaro.org --- target/arm/tcg/sve_helper.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/target/arm/tcg/sve_helper.c b/target/arm/tcg/sve_helper.c index bf894f0bf13..803f0a094dc 100644 --- a/target/arm/tcg/sve_helper.c +++ b/target/arm/tcg/sve_helper.c @@ -4484,33 +4484,35 @@ static TYPE FUNC##_reduce(TYPE *data, float_status = *status, uintptr_t n) \ } \ } \ uint64_t helper_sve_##NAME##v_##SUF(void *vn, void *vg, \ - float_status *s, uint32_t desc) \ + float_status *status, uint32_t desc) \ { \ uintptr_t i, oprsz =3D simd_oprsz(desc), maxsz =3D simd_data(desc); \ TYPE data[sizeof(ARMVectorReg) / sizeof(TYPE)]; \ + TYPE ident =3D IDENT; \ for (i =3D 0; i < oprsz; ) { \ uint16_t pg =3D *(uint16_t *)(vg + H1_2(i >> 3)); \ do { \ TYPE nn =3D *(TYPE *)(vn + H(i)); \ - *(TYPE *)((void *)data + i) =3D (pg & 1 ? nn : IDENT); \ + *(TYPE *)((void *)data + i) =3D (pg & 1 ? nn : ident); \ i +=3D sizeof(TYPE), pg >>=3D sizeof(TYPE); \ } while (i & 15); \ } \ for (; i < maxsz; i +=3D sizeof(TYPE)) { \ - *(TYPE *)((void *)data + i) =3D IDENT; \ + *(TYPE *)((void *)data + i) =3D ident; \ } \ - return FUNC##_reduce(data, s, maxsz / sizeof(TYPE)); \ + return FUNC##_reduce(data, status, maxsz / sizeof(TYPE)); \ } \ void helper_sve2p1_##NAME##qv_##SUF(void *vd, void *vn, void *vg, \ float_status *status, uint32_t desc) \ { \ unsigned oprsz =3D simd_oprsz(desc), segments =3D oprsz / 16; \ + TYPE ident =3D IDENT; \ for (unsigned e =3D 0; e < 16; e +=3D sizeof(TYPE)) { \ TYPE data[ARM_MAX_VQ]; \ for (unsigned s =3D 0; s < segments; s++) { \ uint16_t pg =3D *(uint16_t *)(vg + H1_2(s * 2)); \ TYPE nn =3D *(TYPE *)(vn + (s * 16 + H(e))); \ - data[s] =3D (pg >> e) & 1 ? nn : IDENT; \ + data[s] =3D (pg >> e) & 1 ? nn : ident; \ } \ *(TYPE *)(vd + H(e)) =3D FUNC##_reduce(data, status, segments); \ } \ @@ -4521,14 +4523,17 @@ DO_REDUCE(fadd,h, float16, H1_2, float16_add, float= 16_zero) DO_REDUCE(fadd,s, float32, H1_4, float32_add, float32_zero) DO_REDUCE(fadd,d, float64, H1_8, float64_add, float64_zero) =20 -/* Identity is floatN_default_nan, without the function call. */ -DO_REDUCE(fminnm,h, float16, H1_2, float16_minnum, 0x7E00) -DO_REDUCE(fminnm,s, float32, H1_4, float32_minnum, 0x7FC00000) -DO_REDUCE(fminnm,d, float64, H1_8, float64_minnum, 0x7FF8000000000000ULL) +/* + * We can't avoid the function call for the default NaN value, because + * it changes when FPCR.AH is set. + */ +DO_REDUCE(fminnm,h, float16, H1_2, float16_minnum, float16_default_nan(sta= tus)) +DO_REDUCE(fminnm,s, float32, H1_4, float32_minnum, float32_default_nan(sta= tus)) +DO_REDUCE(fminnm,d, float64, H1_8, float64_minnum, float64_default_nan(sta= tus)) =20 -DO_REDUCE(fmaxnm,h, float16, H1_2, float16_maxnum, 0x7E00) -DO_REDUCE(fmaxnm,s, float32, H1_4, float32_maxnum, 0x7FC00000) -DO_REDUCE(fmaxnm,d, float64, H1_8, float64_maxnum, 0x7FF8000000000000ULL) +DO_REDUCE(fmaxnm,h, float16, H1_2, float16_maxnum, float16_default_nan(sta= tus)) +DO_REDUCE(fmaxnm,s, float32, H1_4, float32_maxnum, float32_default_nan(sta= tus)) +DO_REDUCE(fmaxnm,d, float64, H1_8, float64_maxnum, float64_default_nan(sta= tus)) =20 DO_REDUCE(fmin,h, float16, H1_2, float16_min, float16_infinity) DO_REDUCE(fmin,s, float32, H1_4, float32_min, float32_infinity) --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104596; cv=none; d=zohomail.com; s=zohoarc; b=Qj90u/6USfQUZa8bgjiYtE42I8WlTCkcFLiKU0+EMKuRzyLN1vVQ2yJXyAohdCHT5tVa3Y+n/A8i+NoKznLkIh0zU0YqlDvJCGIv8YuwyAbcW39QHJTYH0hculIm77wvhNUa7ATkpgAldvxYCCasZk7scBN9LWkAPQK48oEpc4s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104596; h=Content-Transfer-Encoding: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:Cc; bh=PJkBRMoOzj+DWFocUGZgXAN9NSStCVAuKc8pVOqbkQ4=; b=mvqGhiIP1o6qtSWZO01Hvacq6umDKSca75jNp/jGMDHlakZL9S2V0Q62devaqSzLZ2FQPIv2fBJZyrxCQebo8ZMqIkNhsxO0zRNN1QS28jZry/XguSCW7EIPRkXgOStus2ugdNq9BYwSdq7S5Euyr638nioTS22/02kBqRsz0qg= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104596001781.7517880580888; Mon, 21 Jul 2025 06:29:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYp-0006UL-3y; Mon, 21 Jul 2025 09:28:07 -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 1udqYO-0000oA-1S for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:43 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYL-0005La-Sn for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:39 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4561607166aso33175555e9.2 for ; Mon, 21 Jul 2025 06:27:37 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104456; x=1753709256; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=PJkBRMoOzj+DWFocUGZgXAN9NSStCVAuKc8pVOqbkQ4=; b=U33EbtRAWraA5pT55XxcLNlZeA4roVXaEcH/ey6ex45tc36xxeYyRHBozuUJdP43ek 1/mQ3fZZpMedG3PTNEwDVLSD1Vlt7ITTV2kKHbAiCHrNizmAxOiYeTQkKRWZNPOhCdMb 6PxkZww0G53mT1L6FM0evKscG++ZKLkqujvqIqD5+fTz5QIH/yfcOP9x2ILiOy4JeSyH 0LHdn6N+QIjCRt9JH3HCIao0ME3Nbg8n550SvQNJt8AeMO9jRb2upWm1fMwDaUtgGSQJ FMvKbvIgyY3/37C2oasLUg1UbFLJwAbwgoO0O0+tQF4HwXa3xT75axfx4EXkrN89OJeV C3KA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104456; x=1753709256; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PJkBRMoOzj+DWFocUGZgXAN9NSStCVAuKc8pVOqbkQ4=; b=xU590/IcAuIKYTLeavFFDmsfVOQJRtTgzV+D3lMUfRB3xYu3S8MztPKBv1uAAwmI6i jA6dz5aqbkXjosl28ZBINaAt8SRbF14he4mF4kylBdCNr/bxczJyjDQaCK7JibBV6LTh vCzT3RtFoLaRUCkJ7oNsf7/iKsOpuSJfUORBQ+yFyyyAI4ea2RDQdvkRWNOkHaWnncWB q/EEqD9DsKP1OaAlGcRZ77dGd9z+Ke6VpldLa1Hd5b7NZVXZLV47FkB1eAaXwLuobFPr c53NCOtx/SxZXbQ/CFj4e9y150l6Xhyt/laTK5ODvY0xTGMWlhFIxSjB+UzQBrbGUB+6 PhjA== X-Gm-Message-State: AOJu0Yx+njZa0je1T+UEPW4TF6ySCVIhvXDoMirsnPIXYqrLiGZXhOCG TBFnieNSA0eOGXggS56EpvXky3BzYTQ2KZqY5XutJ1PquosNw6kgX7Xelli4XdULp6kSXhgxIQc VIMen X-Gm-Gg: ASbGncvD9ufzhD9I1rEYjET/gwWrAYc8FfdrxYo7W9JuyapUJc5Pi1BuEkTLshYo+94 Zk3S3VUOfgC8yD9CCv915e4M+WAy3hUgfZdyvTmC2zhADsCZUNuhI13D7KYq4XaFb8XSLLmADPd EMs3Q1vMJ0I2ZdqOjTnGWcuVgl4MfW5bZ8oCm5TaqPIZlt56oobfs5huTh971dHT8fxCBgnfDga K+mOCbZVji/RqQwiuElLgglXpKBrSkKqb6fRiTLpT/BX/SUqnNZH71P6XZLNJOH/dA0t3/7c42G AdXw8TsGypwsqNsgOd6hupO8Dwm/BDeCju4krokCRGVkGZunloYKcEnKqw0jZfRQJUlB6N7OIPP r4JdhcvhNW51zhmxNumCMglJHRkQsqcUt8hOjiAM= X-Google-Smtp-Source: AGHT+IFetPnWGzSKV4+iOWwtFyL+4Vp390skbgBi5wB6ETHV9r+7A6TvPRwHWz5S/YdkyA+bVk5ghg== X-Received: by 2002:a05:600c:198e:b0:456:fc1:c286 with SMTP id 5b1f17b1804b1-4562e031e7amr182363415e9.1.1753104456135; Mon, 21 Jul 2025 06:27:36 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 17/20] target/arm: Make LD1Q decode and trans fn agree about a->u Date: Mon, 21 Jul 2025 14:27:14 +0100 Message-ID: <20250721132718.2835729-18-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::330; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104597780116600 Content-Type: text/plain; charset="utf-8" For the LD1Q instruction (gather load of quadwords) we use the LD1_zprz pattern with MO_128 elements. At this element size there is no signed vs unsigned distinction, and we only set the 'u' bit in the arg_LD1_zprz struct because we share the code and decode struct with smaller element sizes. However, we set u=3D0 in the decode pattern line but then accidentally asserted that it was 1 in the trans function. Since our usual convention is that the "default" is unsigned and we only mark operations as signed when they really do need to extend, change the decode pattern line to set u=3D1 to match the assert. Fixes: d2aa9a804ee6 ("target/arm: Implement LD1Q, ST1Q for SVE2p1") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20250718173032.2498900-11-peter.maydell@linaro.org --- target/arm/tcg/sve.decode | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/tcg/sve.decode b/target/arm/tcg/sve.decode index a77b725c876..aea7f519730 100644 --- a/target/arm/tcg/sve.decode +++ b/target/arm/tcg/sve.decode @@ -1345,7 +1345,7 @@ LD1_zprz 1100010 11 1. ..... 11. ... ..... ...= .. \ =20 # LD1Q LD1_zprz 1100 0100 000 rm:5 101 pg:3 rn:5 rd:5 \ - &rprr_gather_load u=3D0 ff=3D0 xs=3D2 esz=3D4 msz=3D4 scal= e=3D0 + &rprr_gather_load u=3D1 ff=3D0 xs=3D2 esz=3D4 msz=3D4 scal= e=3D0 =20 # SVE 64-bit gather load (vector plus immediate) LD1_zpiz 1100010 .. 01 ..... 1.. ... ..... ..... \ --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104936; cv=none; d=zohomail.com; s=zohoarc; b=m5SFqKleuX0+JwRozyK3aEaMMmNQjxOWchuccXIjyPwTWJDa6O1AV8S/MdFFbrRT7OuMgfKaFGyQ56WyDOuT1wW/WmcxKFNe8CFCEESutloRQpmGtF6ylqygmISLJD9lFfe7HAqQ7VZERXVNK2k81VERuiJxOxePM4whAutrI7k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104936; h=Content-Transfer-Encoding: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:Cc; bh=S8k9vbZWrI9+KrHmalDtLLG34nLTiZteSToHN3jBdkY=; b=hP1aToNrtL86aTZxaCkc32yTtwLP5j0pVLcNshlwR5qDWFL9Zz6CWTXFMMUvbybjju6UjES13OtqmAVEAeX1KcpSIZ5UHHKpZkooga0gPT4GQk4I0TjTFMCTjfktDl5b4jYhs0jJKVzjoQgmP5UKNBFnF1LEYIs/lZgkvFpXzVg= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175310493613569.51253434178489; Mon, 21 Jul 2025 06:35:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYu-0007lp-If; Mon, 21 Jul 2025 09:28:12 -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 1udqYO-00017M-Vm for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:43 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYM-0005Lo-Tk for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:40 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3a52874d593so3302567f8f.0 for ; Mon, 21 Jul 2025 06:27:38 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104457; x=1753709257; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=S8k9vbZWrI9+KrHmalDtLLG34nLTiZteSToHN3jBdkY=; b=cPLhqzBb+KJeTGxhEdhlyDPgIeLerrNOwQl+2KNJSGBEmmXiSB1tgNrlh9Jl+eGOQz LAVXvf8mu1rmF4HWSftc2M+p3QZg2dVzjlDelBCWGc8EIRe2qfalYwDL+kXGu4c+fvx1 JjxLWRoAmpSs5bGRwgZrOHcojZxGkRhCntdDgMrLxlYmDzlGkfZAwK3rncm3D2pDCQyr Yzg9sp+YLYbPHossW967DappDqMt7hN8vGR7+GppuqZ1fMXIAHmtG4UDNN6AEpiM6+Fd rH8cztny6FSgXUgomt6eWBK2c1+CBnhLnV234rciJUIpavtiK6iaSsqy5GHhnY7LQYNH Dutg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104457; x=1753709257; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=S8k9vbZWrI9+KrHmalDtLLG34nLTiZteSToHN3jBdkY=; b=WlP2DBUQ9dHrwLHczO5R6zg/mDHmDp/8qE3WqYVF9Jo8CukpS1usYhv4s4e0tjCadT YUzJi9LK9Sie3PNhSKiL9CHuXE/z8se9DlPmpZ5h3fXmGG/WplNi8vALyNsq0WfofKVv RJCERnocT+uBHW9VOMmIZ6JVaR9zWGr5CpKXBNuTUUd1xGE4o/UE479ZsNNBZl3orwCI cqy82f4G7VaJd1ArwbgeOUVz63dlMIOP7WcajSx/IQ/EvvYy1ecYyg5bq3IoiZLI27Vb 6BcSD/QGwUIKDbCcB2ppzTJqeBgB0rC8lJE/FrMiLqBRMvDweeQp86LbGlYEcq23Guri vJ8g== X-Gm-Message-State: AOJu0Yy4b1emI+ZaL7nYMWB3L8tMG9W7cYkQ7IJ2ub8T08sL4bZ637XO atssgFRyOyi9pRprkWsOUHXxRtwmI4CStkvKTWWHx64h76bVeqHXbzdjH6JZ5DDW0GiYP/TqXH0 uPFtn X-Gm-Gg: ASbGncs7Pt+IJk4lmB4Ih8k4tYy227sBdVdtJ92eL5tuSDaUKzQZzP/SBpxFpJURcwj BNAbXFTL4ErappybLn3JRLy0hRscvk1WEEU/Hkybcbz0daNlV93Q0QTvpu/k90KFuae+hJUbfMe bJHPX4vTJTu0uL1gr7BHl53hEGj6ch4jVHVrvmGZ3RjAWkBZmxp40movQ++BK1QmtCuNwRCzeLM N31QxL0iiMaL3rt0NR+JvJR5AGSOtJTobyOOJNGKwbAe+FvK7vej36uLGcYy4fcx2QBap/6RJcB fCSsmvbpw17SZB2fCmbgMQI59eWW5AXqBuc4CspyQmoQFOG88jx1FsHxSA1mGzOAln+lQjRA5t9 f5Lg26BsJ9pAM2TrPNgjuNNjI1pgq X-Google-Smtp-Source: AGHT+IEsIYeG3WXdBV7MFXMNhPXH3ATgF1KI5Zxg8d46STSHuIH/BehK5Y90kFQWCSsgkMrfB4ubGA== X-Received: by 2002:a5d:588f:0:b0:3a4:e7d3:bd9c with SMTP id ffacd0b85a97d-3b60e4c9102mr14727419f8f.17.1753104457024; Mon, 21 Jul 2025 06:27:37 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 18/20] hvf: arm: Add permission check in GIC sysreg handlers Date: Mon, 21 Jul 2025 14:27:15 +0100 Message-ID: <20250721132718.2835729-19-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::429; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104938055116600 Content-Type: text/plain; charset="utf-8" From: Zenghui Yu Quoting Peter Maydell: " hvf_sysreg_read_cp() and hvf_sysreg_write_cp() do not check the .access field of the ARMCPRegInfo to ensure that they forbid writes to registers that are marked with a .access field that says they're read-only (and ditto reads to write-only registers). " Before we add more registers in GIC sysreg handlers, let's get it correct by adding the .access checks to hvf_sysreg_read_cp() and hvf_sysreg_write_cp(). With that, a sysreg access with invalid permission will result in an UNDEFINED exception. Suggested-by: Peter Maydell Signed-off-by: Zenghui Yu Message-id: 20250714160139.10404-2-zenghui.yu@linux.dev Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/hvf/hvf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 8f93e42b34b..861657df966 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1263,6 +1263,9 @@ static bool hvf_sysreg_read_cp(CPUState *cpu, uint32_= t reg, uint64_t *val) =20 ri =3D get_arm_cp_reginfo(arm_cpu->cp_regs, hvf_reg2cp_reg(reg)); if (ri) { + if (!cp_access_ok(1, ri, true)) { + return false; + } if (ri->accessfn) { if (ri->accessfn(env, ri, true) !=3D CP_ACCESS_OK) { return false; @@ -1543,6 +1546,9 @@ static bool hvf_sysreg_write_cp(CPUState *cpu, uint32= _t reg, uint64_t val) ri =3D get_arm_cp_reginfo(arm_cpu->cp_regs, hvf_reg2cp_reg(reg)); =20 if (ri) { + if (!cp_access_ok(1, ri, false)) { + return false; + } if (ri->accessfn) { if (ri->accessfn(env, ri, false) !=3D CP_ACCESS_OK) { return false; --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104622; cv=none; d=zohomail.com; s=zohoarc; b=VQbqJJQLvrMyLEtGc/SXt9Sw8+xQBrOoqvZwZd8rEqXz/OVrN0L9KClqatHk8PYvFxg2624ZTQ8IQZN1TCtHYEgRqTvIR0tmuVHYkClTQM8rWrYEYKrY0Mf6uMNTtoMkrjdYrc9v9ycX7AP3cWWug/mCdpT/QDKXqrgXxaWqdak= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104622; h=Content-Type:Content-Transfer-Encoding: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:Cc; bh=MoEzMO5OHtZV2L/g8fzIdtcYLVWoss+DNtjsQiRyRQs=; b=XFzLCFjpBBitBcr45Y8Yzr61V+v9sW+piSwE6k0L96XLkOax5t2hjgTut3j7eX0J3eOPlbhtLLm2fJgDhBCPMZwSY4KIl1YakTvqu/+LeLKbfp27GficIymLQReIP2rs9IfjBTjqMxxMPZ8RYbz2gkXV/Y5HX2/oUlAZGOdVZ+I= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104622738864.9711985447287; Mon, 21 Jul 2025 06:30:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYe-00031t-Hx; Mon, 21 Jul 2025 09:27:56 -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 1udqYQ-0001Eb-3r for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:43 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYN-0005ML-PC for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:41 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-45618ddd62fso44895355e9.3 for ; Mon, 21 Jul 2025 06:27:39 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104458; x=1753709258; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=MoEzMO5OHtZV2L/g8fzIdtcYLVWoss+DNtjsQiRyRQs=; b=Oy20kCdZm8J2YshLQx5v0BMF7ZW2llUXolOskWqhCH82Yw8mn8s4Au111Pr98N+uDC O8a6mAiZF8nMWSywD3Eej7KWEM8UYdqQW6VB3n+kpIay21gi7oiZafdeLRMmGyeSqSqv 6Lu5494oPeMIiAPy1DJf7IHthsJqPdb4qhratpQqYp/6ytHWyzW6zG+14fgD2T9ZW8Ko i7nNIUrmE4Q+5UkLW6HQGOP0wEDJc3viDOWDac8t9DDni3wsWUP2Y8QUcNwObqmFveAz cJpvShld+owJWL40e7SL8/rGe60RGp6tLokfO/a/rkoZoYlqOXO4sDILDSyYKcGkw82+ RINg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104458; x=1753709258; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MoEzMO5OHtZV2L/g8fzIdtcYLVWoss+DNtjsQiRyRQs=; b=S94GZXKmdSQr6IiAVmHsFo3fQ39nqliJxCT55ASDKTX//bIjDYMGOe35k91tqgGxiH d2qsALwuiZAG2jmlUhKQK2aglweXN12cUs/Sih6p55xpXHrUPtIeSZSOUPvRTBnD1Vm6 Qyxi7SAIe/wIQw5wBJxK2E/nqZ9nKtbGzr3De+/ulOL9NdhbkOOTt4A2O7/Rx/t2GGBC XEfbJ+hJ91gr8zXJjZVhC2/p958pUPuimLPYmf0UFXKCjxNQWwh36d3hkGzt2rwPMcD+ L5k9NmYXBy5Ho1LKzyZB5L7g3pzNd01i+OgTIbRQKF697GCGdp2aZdbx8XARmC2OWIe7 V93g== X-Gm-Message-State: AOJu0YyYsXoGIJPRC6qeQGG5d5c1wMfUEVtayl1bV4I7rvDSsfl2+kML iMFpuzYVcpoACoLYiX/5R0jnXEwlL5pgSVCal+ONIOuRbKRk5CLcmt98KvDMXvLujsmpSLhMIZ5 Q3xg9 X-Gm-Gg: ASbGncs69l7w3/WAtPJwsK3tZQ7brvEyaV1YyQdv+RDQsstZpVfndW/68Nsk3xaozJq BHY6mSCL73XiA8VWNyc6tJ2yodp7ES4YSX2rZBxjTmHgTBH4+VJV2Z27Twu7Zosb+n+8z8/Rd63 165mwFq25C/4pOY02X6XdP5vuteohAZMpPKqFMeZzkJqsuh8yklYpD8k7CQqE22MNIAw6wVUEFc Tm4kz88DNUy7+9623dwLV4inMitj0L3dAJ1CROowdCz4PBp/74yLfd2teh7F080ZLlTqy5rM7II ci0eaOtpO26llsPb2xT0my2E3SzEi4qSprZ5QYEjsnlzwydQEymUk7vFIsmWYtofGoQvxVPzYqx tMU5EYPkmdpVgHuxyXNGYKsbqphuP X-Google-Smtp-Source: AGHT+IFdX5qa83gHMJcfCjiFYZyaz5s3Z73OVOGGqilYtTbZONjIA+wsh6Z7nZzYIoYgnvscrONAAg== X-Received: by 2002:a05:600c:c4a5:b0:456:e1f:4dc4 with SMTP id 5b1f17b1804b1-4562e390d79mr209817725e9.15.1753104457889; Mon, 21 Jul 2025 06:27:37 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 19/20] hvf: arm: Emulate ICC_RPR_EL1 accesses properly Date: Mon, 21 Jul 2025 14:27:16 +0100 Message-ID: <20250721132718.2835729-20-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::330; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104625083116600 From: Zenghui Yu Commit a2260983c655 ("hvf: arm: Add support for GICv3") added GICv3 support by implementing emulation for a few system registers. ICC_RPR_EL1 was defined but not plugged in the sysreg handlers (for no good reason). Fix it. Fixes: a2260983c655 ("hvf: arm: Add support for GICv3") Signed-off-by: Zenghui Yu Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20250714160139.10404-3-zenghui.yu@linux.dev Signed-off-by: Peter Maydell --- target/arm/hvf/hvf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c index 861657df966..bd6b5d11de8 100644 --- a/target/arm/hvf/hvf.c +++ b/target/arm/hvf/hvf.c @@ -1361,6 +1361,7 @@ static int hvf_sysreg_read(CPUState *cpu, uint32_t re= g, uint64_t *val) case SYSREG_ICC_IGRPEN0_EL1: case SYSREG_ICC_IGRPEN1_EL1: case SYSREG_ICC_PMR_EL1: + case SYSREG_ICC_RPR_EL1: case SYSREG_ICC_SGI0R_EL1: case SYSREG_ICC_SGI1R_EL1: case SYSREG_ICC_SRE_EL1: @@ -1678,6 +1679,7 @@ static int hvf_sysreg_write(CPUState *cpu, uint32_t r= eg, uint64_t val) case SYSREG_ICC_IGRPEN0_EL1: case SYSREG_ICC_IGRPEN1_EL1: case SYSREG_ICC_PMR_EL1: + case SYSREG_ICC_RPR_EL1: case SYSREG_ICC_SGI0R_EL1: case SYSREG_ICC_SGI1R_EL1: case SYSREG_ICC_SRE_EL1: --=20 2.43.0 From nobody Sat Nov 15 10:42:25 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; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1753104898; cv=none; d=zohomail.com; s=zohoarc; b=hri7E9uPi6Qdpr59aywaZ4dlMR48Byy5ZSAgBeC/AcP1ngzYzadZQB6hMK9UX68PUZ6gXF+N6C048qtnj9aSszXZIFg72xeSRx6y8I4TEixYW0NaKteWov78oCU73Bz2+jG7TKy9XpfeCerRJm5ElqmX1wHLEDWcn0DJRkwSEPk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753104898; h=Content-Type:Content-Transfer-Encoding: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:Cc; bh=USS+LUKtNag6d2eiZksJWjkEukkIMnnF/u6m6cyUqYo=; b=gyftE7x8hzIuS/bZTypl2fIxtEts7wTyv13RN+aEoV1K7MTlmW2JS9hwW4h7IvAKbyRwZqIVQxgu9PrLqK/74/QXlBKaM6UsrzQHa5cEKIs1H5iskO/6MlfFB7ZMWuknI897PH/aKFJTy2vo9B+ZIfdSZUILRKOES3OBHBR5lqc= 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753104898600365.43261847126826; Mon, 21 Jul 2025 06:34:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udqYy-0008Oy-1V; Mon, 21 Jul 2025 09:28:16 -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 1udqYQ-0001Er-Je for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:43 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udqYO-0005Mf-Ih for qemu-devel@nongnu.org; Mon, 21 Jul 2025 09:27:42 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3a6e2d85705so2163906f8f.0 for ; Mon, 21 Jul 2025 06:27:39 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4c754sm10487946f8f.59.2025.07.21.06.27.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 06:27:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753104459; x=1753709259; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=USS+LUKtNag6d2eiZksJWjkEukkIMnnF/u6m6cyUqYo=; b=R6u72qwUMv8RihgsQd/qAcnNe79FNnGs8CHgsjBO6ke2hrXyn+Zw8wNjwDKVLFAHGI tk1IL8jNWZ4x04kOYnKKzfZuOZinXQbh+0tklCHsfa1aFzJxU8ThVU1hkSWHe5aX2PuN 3z9KnsSoa5YI2T4c5D/WjNM+lde/1ixCuCK8G6u50OjEGX3JvtWW9gnyD8HauSbHkQy8 QLIeHPsSTb12V3juZQIxowCjEcK7hFoRaBtQEferbmYV2TD16z3F+NrtNEs9HDWfMrXr R3lO3mnxR4zEqknscHrvFi84inWWNb2b6bCzQI4XuLQ5f9lLLtTi/T7Lqpj87lfta8ei FF4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753104459; x=1753709259; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=USS+LUKtNag6d2eiZksJWjkEukkIMnnF/u6m6cyUqYo=; b=auviRtJYujfV3V1qLGwIdpD8we0ZYe9cTxPxAwM5S2EvxdhLzh/txRLSUMq9ElAUSQ 1zBINnKHrm76Ssp/mPU9jf03oyPx59Nt2I6GsmDeLULxBE4WUyd5pSdeMss0mpSsA7n7 8t9RYJlVcHGM4Yl4UGW88m8dkLR7ok7JK+Z8wEjBoQQ4Bd7rlgyv9Qo+EqKWPKfzH24w OULHTAdi99+WCd5z36+lagpJrscaESSbYQNfYrS0qwCTxCsCkUWiJOhNLM8Phvc7H/nZ 6GPyeOt5y/a6yLzxBr/oXT5MS9FKMW7cSpfMDMS8w1dTNUEsoxHhFq+3C+89cL9/iR3F LCzA== X-Gm-Message-State: AOJu0YzjZ3kOmOT4BCWXlrR8tbNq1ttxE2KXBMHQp7We5L1KE1dLRj/q JrTbpA3NUF7k6dJOg06NN1hE6Cbjzci6TrxeSqnYv8MdNh8ZHmb1tMX85FL+4QQqKVT/o9z5rHC cvEFc X-Gm-Gg: ASbGncsAEOzqFTh0F9F2K7LgRmjk3TwfPqzM9/bmQZ3Pt4tBkKueB4ytiJSrPk9FRHB NFZoeXslzzZbFPJKqcKY5Ki3jlbwogr5yXhuX1nLk3rQQOaloToLQILxc2BomawEFRP95EiAI4V 7Us9aprwESiufkBibv3fa0NHar/RNEI6LeUaocjFC1lHIlR5DYpp69AQ5uBLchLqsEgHTZkfmk4 jaz50EdxulvhSL7/rQskEQSOcZ8skoI1ZVbnoSrZsUB1fyy4NufBvFU0QWsBkFCsVfd7RdOU/tK Q727juvy9IhSCEiHom0JTfQnZFYWbmLUmcG5vZw4PpeF8TowsS6pBOSaTVbuPiYy1vJpWEBGEvX XOVYQlsnGC2Mt+Ta18Evn1FvtMNQ3 X-Google-Smtp-Source: AGHT+IE7T+5iw4yqfP1wLfClW2d7hvDfQYf9fXISShDBLngPoDTdEnLrXhO04RJIwLdy6y9oWx/Xag== X-Received: by 2002:a05:6000:2002:b0:3a3:7ba5:9618 with SMTP id ffacd0b85a97d-3b60dd95c7dmr13989090f8f.29.1753104458755; Mon, 21 Jul 2025 06:27:38 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 20/20] accel/hvf: Display executable bit as 'X' Date: Mon, 21 Jul 2025 14:27:17 +0100 Message-ID: <20250721132718.2835729-21-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250721132718.2835729-1-peter.maydell@linaro.org> References: <20250721132718.2835729-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2a00:1450:4864:20::42f; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_NONE=-0.0001, SPF_HELO_NONE=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 @linaro.org) X-ZM-MESSAGEID: 1753104899851116600 From: Philippe Mathieu-Daud=C3=A9 Developers are accustomed to read RWX, not RWE. Replace E -> X. Reported-by: Alex Benn=C3=A9e Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Mads Ynddal Reviewed-by: Xiaoyao Li Signed-off-by: Peter Maydell --- accel/hvf/hvf-all.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index e67a8105a66..0a4b498e836 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -84,7 +84,7 @@ static int do_hvf_set_memory(hvf_slot *slot, hv_memory_fl= ags_t flags) trace_hvf_vm_map(slot->start, slot->size, slot->mem, flags, flags & HV_MEMORY_READ ? 'R' : '-', flags & HV_MEMORY_WRITE ? 'W' : '-', - flags & HV_MEMORY_EXEC ? 'E' : '-'); + flags & HV_MEMORY_EXEC ? 'X' : '-'); ret =3D hv_vm_map(slot->mem, slot->start, slot->size, flags); assert_hvf_ok(ret); return 0; --=20 2.43.0