From nobody Mon Oct 27 11:41:46 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=1761231405; cv=none; d=zohomail.com; s=zohoarc; b=ML4w+W/Mt8Ht5na4eTEt7p5YOxujyYY8RV9msTx0Xm4ME5p0nU8C3fin6tQZqKTip4VrlUkBLEODls2ayLhBireEqrzoPH/atHrYFjeLp70g7Zm70sAf/6jkqa8J/7v3B4fpn8Z8MzaLPFufrNB0fVqeyv880xew9vPUXHBIvR0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231405; 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=Iwwkz/XEUnaoRbOD3xTaSXtf1OLteT17dQkKxAUMJSc=; b=bEGEKRnzGuXhNEeLACgVo/1nZxyYVhvW/iD6EhFvMMYUPSkCYpD3gH5D2znUeAauTCE4o9ioY8QIkfVdWg+QC8DqMj7Mq6pQf3AXbyvU0UlU/iHNtJ7wbwCQKIndapCZ+aPLptTTMFcAfwlXdpSsWqYJN2xbzDxazKPW6raiAEE= 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 1761231405143365.3725288225644; Thu, 23 Oct 2025 07:56:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjU-0004h0-79; Thu, 23 Oct 2025 10:56: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 1vBwjR-0004fl-Jv for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:01 -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 1vBwjP-0005XS-K2 for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:01 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-4270491e9easo646541f8f.2 for ; Thu, 23 Oct 2025 07:55:59 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.55.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:55:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231358; x=1761836158; 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=Iwwkz/XEUnaoRbOD3xTaSXtf1OLteT17dQkKxAUMJSc=; b=Xe0vCXSIj8QrTLXQwYJ8fH3L6O+6m8F+ExYDoh9v3CMVPAQ/ZLIODdcQYVTuTXKie4 MKv9toGifRHOiXDOILRmivQ8BJ+sfLTnuYnA+VnHqR/Lc3x18PzDcpqhPyA5sG6gT1XS v6T0j2n6Ub4dTJhac2pY7Vh/hnMWkU4JstkNpTQkP3HjphXSD1VkmG/EJMsWJnIGTzsK RFfSjCQjH/gewrrIfGRTbWmskNR3vUPMrJVsEShvLtFyeXMZoPye/wTJmjW5/sny3r6H lYtWBC+K9gknZ5zPCqTwnBFSQj5cPJdXXJyDCCgCjTV8Tt55NM/UMQ1vNHOuVE3qvJyG 7YPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231358; x=1761836158; 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=Iwwkz/XEUnaoRbOD3xTaSXtf1OLteT17dQkKxAUMJSc=; b=ClXwlZuaCC286KOVoW7tiqQLb8wY0weTFpKKFy4oig/AN+ZLUFP4hDZpy86jzI4gL9 t4MDjf72tpPW/XqRjXWJmtdyHsEtASDAcNedVaRbcNiLaP6zkM5+OFoBLJ8+U2aCtrlw PHvTgcT7exhAqvIlvxRldVfI7JC/OW7RY72u8s8NbnTRIq8LsbTzreXZEG3+CDIBd6iF v8r4sFGCeeO98zXKLlIVvCsVxcdyDo7JR0gan8FflnOG3lR7YWfNnIB2w2siirPLBpde w0BpQPY85hPIZltsjAMAmBV9mAofY0cT9up24bAK3iPkX4b/Hnp6losEyIJDsx55WP0f lzYg== X-Gm-Message-State: AOJu0YysZW4C/Vapww3Fo3JLa6tw34ooRlm66gQIncRI9z/PkTC5XYuc Qvb3UCUK+WSgIQeCSznEC3TYW+cHOIqcnFOL1fcH+mb+wJk3dyYS8z3+QIdvjpnh3E+ViunUqJY 3AFTA X-Gm-Gg: ASbGncv8Mv3wZP0ovxUMxhFCE7SDYZprRL2DaBAwpbX1Oi0hMBbsYmS2j4E1/cjRghV L6Kox2/IdcaPSJNKr91DsGqxC2lm2IYzLbWx4VxwG3ueUFZ2BSCCGcg8LkuBJ8WoCADFDeW4nzd 7iXG0RzseEfAUZK5pI/xb2hnkG/p0rPQAvhnb7JV4MnwowJw9AOlfE03LOD4TYeT8qmewzIcz0C hzY7qHMq+nuhneeKB8POyY2GtP/CXb2+d7eM8ehzxokFK89yPcO87fgvu4kLfkCDBpXrnagzs9T zIJu1WGIvf4f0vP66YjHmQqsFbVwE8LUV2dsjzwsLqtUvrspv1e3zwtX1apX/9cMOC77Md4aVMN KKO4WtaB2MbIKc++IEbwWfAIuOy9G0iaYT2gzaUFoupKjDKfxTzrI1GI9TrWU+4eXv/pcPEaxEH Rp0d0uyY0ooiaJFPFY X-Google-Smtp-Source: AGHT+IHM8JZQ/BjDOUfl4H8oGMM2Ok6i7KLfCodxwS18SN5FPIIeateVWFU7JM6Q+m6am4TXKzZ49w== X-Received: by 2002:a5d:64c4:0:b0:40f:5eb7:f234 with SMTP id ffacd0b85a97d-42704d442f9mr19022748f8f.5.1761231357625; Thu, 23 Oct 2025 07:55:57 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 01/16] hw/intc/arm_gicv3_dist: Implement GICD_TYPER2 as 0 Date: Thu, 23 Oct 2025 15:55:39 +0100 Message-ID: <20251023145554.2062752-2-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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: 1761231407788154100 Content-Type: text/plain; charset="utf-8" The GIC distributor registers GICD_TYPER2 is present when the GICv4.1 is implemented, and RES0 otherwise. QEMU's TCG implementation is only GICv4.0, so this register is RES0. However, since it's reasonable for GICv4.1-aware software to read the register, expecting the zero for GICv3 and GICv4.0, implement the case to avoid it being logged as an invalid guest read. Signed-off-by: Peter Maydell Reviewed-by: Eric Auger Reviewed-by: Richard Henderson --- hw/intc/gicv3_internal.h | 1 + hw/intc/arm_gicv3_dist.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/hw/intc/gicv3_internal.h b/hw/intc/gicv3_internal.h index bc9f518fe86..fc586524f56 100644 --- a/hw/intc/gicv3_internal.h +++ b/hw/intc/gicv3_internal.h @@ -31,6 +31,7 @@ #define GICD_CTLR 0x0000 #define GICD_TYPER 0x0004 #define GICD_IIDR 0x0008 +#define GICD_TYPER2 0x000C #define GICD_STATUSR 0x0010 #define GICD_SETSPI_NSR 0x0040 #define GICD_CLRSPI_NSR 0x0048 diff --git a/hw/intc/arm_gicv3_dist.c b/hw/intc/arm_gicv3_dist.c index d8207acb22c..a7d10ed9493 100644 --- a/hw/intc/arm_gicv3_dist.c +++ b/hw/intc/arm_gicv3_dist.c @@ -431,6 +431,15 @@ static bool gicd_readl(GICv3State *s, hwaddr offset, (0xf << 19) | itlinesnumber; return true; } + case GICD_TYPER2: + /* + * This register only exists for GICv4.1, which QEMU doesn't + * currently emulate. On GICv3 and GICv4 it's defined to be RES0. + * We implement as read-zero here to avoid tracing a bad-register-= read + * if GICv4.1-aware software reads this ID register. + */ + *data =3D 0; + return true; case GICD_IIDR: /* We claim to be an ARM r0p0 with a zero ProductID. * This is the same as an r0p0 GIC-500. --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231418; cv=none; d=zohomail.com; s=zohoarc; b=g5erfZ1PI7mxPr6hIs+tl0TIY0UKF0/+zkztle8AJ5vuMMFKwIp2r+SFSpQnaxeCouoJeKEVftjaqhF1B/AxccTyXigvWgGtRGUHfMknc9TUEbYqt8n9EhySqNmUPDXO2PEIixn/jnaqOIf4iWa914PWI0hgKwCB/hXExg7aqjU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231418; 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=AGZpsqJmNFV2S3U5w399Aimk84khi2fK7lf+2CsSRB8=; b=GAN9X2SG/o7BcxB7MM79NkVqzdzENED66HaGc0DX/iyUv1sByLCjxzi9ifCnIDArBLxiVCfkkKcZMNKRkleN2XZvvFCCQ1h0WvzOGJFN63otJYZje7vb5ALYALCHUdlKq/cuWtWT05IYlp2uQSgQXs6J1FtdIjts3W7PKr5uYEI= 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 1761231418845148.1104506124891; Thu, 23 Oct 2025 07:56:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjU-0004h4-9A; Thu, 23 Oct 2025 10:56: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 1vBwjS-0004gK-Vh for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:02 -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 1vBwjQ-0005Xa-8z for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:02 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-4298a028de6so588098f8f.0 for ; Thu, 23 Oct 2025 07:55:59 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.55.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:55:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231359; x=1761836159; 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=AGZpsqJmNFV2S3U5w399Aimk84khi2fK7lf+2CsSRB8=; b=u0GXwagKeYwUEEniqzqMeVjaahQsT4HBMzf18ZETaykD97SCX/E28YKMJtj7DcSHos MqdsCA1TjhwincqEL7dEGsE1f0AlOPMCM+YZolCLBXuVaYE1Dv0Z3MrDf0aPHME4Iy4z PmzfhJrRKxoUgGTBZ+GtauLDW4gWdMATcLXVkIwC+WXtoXVGAZAGyvI/ATI05w99qZPZ 9Rvy60MkX7RC1Vw4Hx889Se0PtO+5dSD0ye7x9uWxSH1xXMsNnclcLfKPS/M7LwBbS2T FV/iOIZlidw5ULSHfw9C/J96ZQEHSThAcCnm2pywrgJlbK5ldgyva2bDP36yoYFf9l7V DGww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231359; x=1761836159; 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=AGZpsqJmNFV2S3U5w399Aimk84khi2fK7lf+2CsSRB8=; b=uIj1JT+Rd//0FKw2uDRxVrcQZ0ecAW7c/lTAh+K17HE77TwU+qpdUcdsZysrTtDkAC sLDbiqHrSBumje/SUIvFmr7+Hg6UyvWWJDLTiMwCIJtp60angW92k87qXutyvHD+WiiI 1TmH9xO7Qx96lIk05QRi3KnLaep5hO1SCr+Jcm63ZhyxORuRPHFeSGptU8YUKXMd1gNV NHv+yD8FEa6TcpnkfG+ccq/DEaq4+QCg0fn5mGX5ntlqCbQdfb3n+JUhLuyqHl5Hld5v 2yn5IMbCMvG+0O5wIawReIeo8EioEqz5hX55JXt2bFDJfbZ9vPCSbWoh2XBeibwP1DXL xciQ== X-Gm-Message-State: AOJu0YxBmM+P+jybP3XGwiLFpujqiQ53hbeJYMRFL0q38vh7ss8e3PV+ C2+BZmdTmY2mhvQQDFgYAbCmnadG6cMIOiMpAGRTr6uwOCwF3qTgHK++Rkk9kLK3fXpirmQ5z3k c4kiU X-Gm-Gg: ASbGncu7LleiC1Bn1FWkJaivhNKLhr54d9F3/XeQP+yE+iI2vjgqZMxOXsoYUbdc9Bf 0HxXKilefH5/nWq0WT+EC+Mnl94UPQNPZHY1DBAuzuKpX7YcDjt60Pln7teWUy8/6ZkDgoPKJIP sVkHeDibXk0cpslELqNtjAiw3C+oETEMmU4MVWbHHHZBPoKT0PmyRcLcKPMPDG04lbhrLCfrPEl MixPlCtG8dnJGimTSlk9wUVmHqoISxC4+2yOnDeDvwXeXvu1jta+U/5dfCpdN3Rs8emzHp0E+mb O/aJvKiihNJOM+z0Hc3Qcq7TIpUyMR/oCbciX9eOzEbXJtf6oHiDXmhHUCTzu+v46wTFkPEIFjz N4FfHbxwX5lC8UeQGmzJmwDVxQxiIVeqO7PaHtjEw7p8RkPAg38b1cTyTykQiP4Kc080Zxw30q2 KYKOXwqOtVA9d7cx3/ X-Google-Smtp-Source: AGHT+IEJzQc+JKCUg/EHKHWKuUiispFgfI/O65CHj1dZkykJMkPKZsI9amP3F0AGHHdF9xsG4Y7a4g== X-Received: by 2002:a05:6000:4012:b0:3df:9ba8:21a3 with SMTP id ffacd0b85a97d-4285326765cmr5237609f8f.18.1761231358705; Thu, 23 Oct 2025 07:55:58 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 02/16] hw/intc/arm_gicv3_kvm: Drop DPRINTF macro Date: Thu, 23 Oct 2025 15:55:40 +0100 Message-ID: <20251023145554.2062752-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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: 1761231421223158500 Content-Type: text/plain; charset="utf-8" We don't generally like DPRINTF debug macros, preferring tracepoints. In this case the macro is used in only three places (reset, realize, and in the unlikely event the host kernel doesn't have GICv3 register access support). These don't seem worth converting to tracepoints, so simply delete the macro and its uses. Signed-off-by: Peter Maydell Reviewed-by: Eric Auger Reviewed-by: Richard Henderson --- hw/intc/arm_gicv3_kvm.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/hw/intc/arm_gicv3_kvm.c b/hw/intc/arm_gicv3_kvm.c index 9829e2146da..405496c7bb3 100644 --- a/hw/intc/arm_gicv3_kvm.c +++ b/hw/intc/arm_gicv3_kvm.c @@ -36,14 +36,6 @@ #include "target/arm/cpregs.h" =20 =20 -#ifdef DEBUG_GICV3_KVM -#define DPRINTF(fmt, ...) \ - do { fprintf(stderr, "kvm_gicv3: " fmt, ## __VA_ARGS__); } while (0) -#else -#define DPRINTF(fmt, ...) \ - do { } while (0) -#endif - #define TYPE_KVM_ARM_GICV3 "kvm-arm-gicv3" typedef struct KVMARMGICv3Class KVMARMGICv3Class; /* This is reusing the GICv3State typedef from ARM_GICV3_ITS_COMMON */ @@ -708,14 +700,11 @@ static void kvm_arm_gicv3_reset_hold(Object *obj, Res= etType type) GICv3State *s =3D ARM_GICV3_COMMON(obj); KVMARMGICv3Class *kgc =3D KVM_ARM_GICV3_GET_CLASS(s); =20 - DPRINTF("Reset\n"); - if (kgc->parent_phases.hold) { kgc->parent_phases.hold(obj, type); } =20 if (s->migration_blocker) { - DPRINTF("Cannot put kernel gic state, no kernel interface\n"); return; } =20 @@ -797,8 +786,6 @@ static void kvm_arm_gicv3_realize(DeviceState *dev, Err= or **errp) Error *local_err =3D NULL; int i; =20 - DPRINTF("kvm_arm_gicv3_realize\n"); - kgc->parent_realize(dev, &local_err); if (local_err) { error_propagate(errp, local_err); --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231460; cv=none; d=zohomail.com; s=zohoarc; b=TDgT2CQyLXNng17USys4V6hqjlEqmN++NS+QPhEmlij3j94cYZJHRi4njPDmXWCmjwWGZuVW6R+YNHgCFA2Juc0lV1wQ9tjR403LiYtXLoOerlkdmPxisj5CmpgovliRhI4vioEwu7yTGD3Ao4h6YIPJm2gBCbRhDwtrfDuGU34= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231460; 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=rKggUMTp2Py8H2Mu640NwLE70wGVNBBA8/YWOG7pk50=; b=dCYNJQ0YtTgqXKhvirpKwe2J/7sIZ3hX5yZfYpB1UV385W/Tqk2PIbuj+96fY+dMPXFAfuWhESh6J+Cb8IjjFICTBypt2PzzwwVP9JvndCAJsoj9ukT6UoxxMVa7beIze0TClpoHM9iuqwJX59T6XuqPGSyVO7D8bfpiGcsV0Ok= 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 1761231460877978.1335470357816; Thu, 23 Oct 2025 07:57:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjV-0004iz-KK; Thu, 23 Oct 2025 10:56:05 -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 1vBwjT-0004gO-1O for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:03 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vBwjR-0005Xe-AU for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:02 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-42421b1514fso665163f8f.2 for ; Thu, 23 Oct 2025 07:56:00 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.55.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:55:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231359; x=1761836159; 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=rKggUMTp2Py8H2Mu640NwLE70wGVNBBA8/YWOG7pk50=; b=SP6QEcIBXd29JYeSULpNEhCm1zfbgk02pvxJXIcbjCdyHm7At8bTZG1LMKHOa4ede4 dduomW+QbHSC9EHJncpQbLvvVqeyEzG+uAp3kzks03xwlGJOvibRvBcBOL3GzxFlmEk4 w3q8z6lHz0QLJSyNfToacUYUrZHYpZTbbXudkt1BNOspV5Xp7Virrbe2oWmSiKrP4vmA 5emli+Czalt3kfJtwWh+bztMzOvEP80OMeKXNR6OlSoclOftA8qouz+gT9jYBrxUpf5M CtQsjWrxTVJ4O2EdBBgLPxKhJPk1IJ6T2SqUv3q5x/msYwrg2ib0x0Glg6neSJJwGF4i DHpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231359; x=1761836159; 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=rKggUMTp2Py8H2Mu640NwLE70wGVNBBA8/YWOG7pk50=; b=hrfD2M1hDLvtzY0qr8fVzcDeNMrH5EG2BfajNH3KpoAST8PiTt9oTAMIIiAuE91lmE 7akqdAHbAQoDW7IMv5FWpLaDduh8f4/7Ll4FFRZFz1w9B4RCRKw779cRPyoMaugk7O2G KoTVjQB2oktAJrUfTs7WPEY4DCY9b4yb6GStiuNKBUlkl/ctUuwnhiQ/H/QNgrubhV5B WdH+5YYksCYw5YxrbIUuqIr8yaHnrcrePUHrh8R3Ua7qooLfJchZ/wJwvuei+Zo8L+Gu N1s907v3zKjDR0oTgi3+WL2PxlRr8FvwgutE81NpSIV8wyrO85Vj+OjAoUxwytmUHeuS CLAA== X-Gm-Message-State: AOJu0YzZq3+4bf5X3UjG2J/m5X47HqfTGcr/o9P6576ZOFkg272nucva FsiERNeCQaHEib/etPQedeyUASd4C+T119tr98iy+3oHZNZoqK5irmHD6M7ZF5w26bT0PaP5whU yiBnA X-Gm-Gg: ASbGncviGIGCYJJEBp0HEHzo+rW2xkexFQvUmCKPItGSEdSwE7SMF1eeaOUgwHGPc8l Ip+7/evJkpcwlrlgNXA0BRoafk+I3BbMBfrqkEQyNlO7VaQ3wBB+8cl41a0KsS/MSZBrdB5zq1n wpnPmuKDw1OPusT+jZDg9uE76lP6vziZZfg4wTxWtfMN4vb3H86dMr1wNc+kZ5d6n9lLPEM4AIW q+/cLxQsaEXEJG6OwXBAr/dTO2qmS0Osc6EwS2/YRbwRGl3vdq5hW/2zcssunBFE95uTOt6IDpk rHHSkCUVae5mMOar/EBmOvv7awem+Fy2th7ljeI3IfQvi+3KLGoqvrtWiV+T8YKyQPkkHTXBKCt xoaB9dxkwj669Rjcbnem4fXIVh0FHcWkVKNXBQ2XQo9gP5ur4U3Dm9lC7I/vYxrD89OEEVchs8h Gqldsevw== X-Google-Smtp-Source: AGHT+IEm+QqjzO5gtTQGBwLGKiyQs1iuQLEuVX0UUsWDBngrBv7HoJzeUirEpU9ji6vMGyabIk3pnA== X-Received: by 2002:a05:6000:24c9:b0:426:d549:5861 with SMTP id ffacd0b85a97d-42704e029bcmr19155367f8f.42.1761231359632; Thu, 23 Oct 2025 07:55:59 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 03/16] target/arm: Add isar feature test for FEAT_AIE Date: Thu, 23 Oct 2025 15:55:41 +0100 Message-ID: <20251023145554.2062752-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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::434; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x434.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: 1761231462280154100 Content-Type: text/plain; charset="utf-8" From: Richard Henderson Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20251014195017.421681-2-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/cpu-features.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h index 37f1eca3af6..579fa8f8f42 100644 --- a/target/arm/cpu-features.h +++ b/target/arm/cpu-features.h @@ -1364,6 +1364,11 @@ static inline bool isar_feature_aa64_s2pie(const ARM= ISARegisters *id) return FIELD_EX64_IDREG(id, ID_AA64MMFR3, S2PIE) !=3D 0; } =20 +static inline bool isar_feature_aa64_aie(const ARMISARegisters *id) +{ + return FIELD_EX64_IDREG(id, ID_AA64MMFR3, AIE) !=3D 0; +} + static inline bool isar_feature_aa64_mec(const ARMISARegisters *id) { return FIELD_EX64_IDREG(id, ID_AA64MMFR3, MEC) !=3D 0; --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231501; cv=none; d=zohomail.com; s=zohoarc; b=MwiIEZZOCbLHYU5UFEcy3Sb8Noj128MCdpGatHgNGNxUc+//VJslrGMrytVW81UoUjDuJOHikuhacmCc5DY5EGOq26dhZdhQAVl2hdw/5DQ/1hVp76zXEzCeCEQ9OO59d4bZ9mp4FhrkyyZBooRGLRk62TY9DHU3LWlcsG9wONs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231501; 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=zV2O1K9FAOj3weOgVlvfzjuE2Cy/rzQpAEyUU6aqb1I=; b=kVajnXFHbxbAD4sSdreoQs15eTJSxX8sddWNphzpL1uONe31GNargYF6/hnyeVG5IhS9TKNzLGIv0THAv9CXtT1UYNjgCfFCyTGYLz0wKzwxIEkzpfwySh8aSM2D41ZQPQFXFfFms6Lx+viOJpqjVJGA2W6+oR/QGwqIRkE76t8= 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 176123150113513.553685888537416; Thu, 23 Oct 2025 07:58:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjX-0004km-4J; Thu, 23 Oct 2025 10:56: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 1vBwjU-0004hP-JF for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:05 -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 1vBwjS-0005Xr-Cd for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:04 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-471066cfc2aso8919105e9.0 for ; Thu, 23 Oct 2025 07:56:01 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.55.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:55:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231361; x=1761836161; 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=zV2O1K9FAOj3weOgVlvfzjuE2Cy/rzQpAEyUU6aqb1I=; b=CUOEhymDu/God46eyMshKVD3DM/boc+hmEnoLtSPWyajlZzliJxAirj4Fx3kBgdWeY Sl6E0Xq9GHeFp8a6wwHA9sd+lMfxLNXUA1qdm4zKprXMzspEGk/fsWYfXH01wrZswu9J +TfsC/5bHYRIdf2xnlt+/sM8EYOORIMHl2sRYsSnI1ldZTslli48r8xJn5AA4K4iRops cxZYLSCMDWrl5xo8NTVtEf4UsGBmjBwtmJlwY9w4iEHowTPhu1BS7qOiVxtIYBYNHeOS FBGnGl6XWCBN53sN7e/9ypUGakMCSGC2jyJSJkrT5ElvAO5bVcrSCXhM0iCDCdtthvIw Z0hA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231361; x=1761836161; 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=zV2O1K9FAOj3weOgVlvfzjuE2Cy/rzQpAEyUU6aqb1I=; b=ZL/az4nLM6pim8S8uwKbRz1jrWsPxLkSSOi+TDoym/++jlUkmFeMmVmjqzK22XouMq 8SVpZyS8dh/vcR3X9lVYa66bbxOUzygKihNJ1656UgZ0UlLmOId0jpk3EkIBu7pzNJ5l Pe/0UFQV7Btgf192BsZHAa78hLZ4WZQgshvTW4auou/zvqrrAsnDX0V2BQoXzYZSdInq Xxh0Z9ztjlW+oHn7Z1z4MrEQEWTmMtA6Kc6IUzzJeHorFBqYtOAemGhxUlyA934LBo1K Q1qidtUCS7e7pKdSQGTY1EvxXecQ8JLxSwc+z1CTjHNiWKxOMMjOhs9BuHw/zpvUdBeY LyXw== X-Gm-Message-State: AOJu0Yx52RY8InDhDRDRmT40Yc7vIVS4cbGUaLVO8xj+A9UOQRWPEmS/ VDGyLJ6vuWCMSlQaIaXV1aeJhl1+Z54T6b82ZTeKJTHcEKxgXtyRA9SvhbJHzs+2jCS2fPqMXpV awJFV X-Gm-Gg: ASbGncv7oslb1z0LHNd7kgB5xJ0Hag5d5thG64/bcumdwIC63jSjVC186mzK9arxhmH PEodqVGaTF8wml3BgmTOHkMcOKZJBq2Q3a/nKgJ23yQEJ7dEUm9nAVCQZ9XhM9zx0eHjs8oeswd E7MHE873+hqTED1BlYbpSlYWD3cFZcf+An4zZIk4BwaTKJiztnDfpdjyUy4k7/d1AHEAe+7M2y5 ulE+VghqdTeqhDlARft1lDKuHVTmfk0uvtJdWniV0KnMjOPtjzZs/oJaHFppHh5O2jngKLa6igi ca/FATTF/XgekFpnxWJqa8yeop7VjtPW5badEggy8yuseT9ZlTF8ogm5cBRXtMD6oE00BDBmA0W 9kwpLDz7ZnkVQJdzFI2/ZP7wr48JaR9IITXH4if9hXf0y2Z2OELxc6AO7OMy3si8Yp0Dr4X6RzL tUVz7nXm2dcfOeHlUX X-Google-Smtp-Source: AGHT+IGQ++OACKOWsCfYi1J/IimjEUGOB1qlRqbwAZ5KLy/WQ4bSO2pNWs5jT66MXKslcJhrjn6HSg== X-Received: by 2002:a05:600c:3e8f:b0:46e:4b89:13d9 with SMTP id 5b1f17b1804b1-471177ad526mr181339875e9.0.1761231360708; Thu, 23 Oct 2025 07:56:00 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 04/16] target/arm: Implement MAIR2_ELx and AMAIR2_ELx Date: Thu, 23 Oct 2025 15:55:42 +0100 Message-ID: <20251023145554.2062752-5-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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: 1761231502256158500 Content-Type: text/plain; charset="utf-8" From: Richard Henderson Enable the SCR.AIEn bit in scr_write, and test it in aien_access. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20251014195017.421681-3-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/cpregs.h | 2 ++ target/arm/cpu.h | 5 +++- target/arm/cpu.c | 3 +++ target/arm/helper.c | 62 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 1 deletion(-) diff --git a/target/arm/cpregs.h b/target/arm/cpregs.h index 763de5e051c..48a406a5fbc 100644 --- a/target/arm/cpregs.h +++ b/target/arm/cpregs.h @@ -806,6 +806,8 @@ typedef enum FGTBit { DO_REV_BIT(HFGRTR, NTPIDR2_EL0), DO_REV_BIT(HFGRTR, NPIRE0_EL1), DO_REV_BIT(HFGRTR, NPIR_EL1), + DO_REV_BIT(HFGRTR, NMAIR2_EL1), + DO_REV_BIT(HFGRTR, NAMAIR2_EL1), =20 /* Trap bits in HDFGRTR_EL2 / HDFGWTR_EL2, starting from bit 0. */ DO_BIT(HDFGRTR, DBGBCRN_EL1), diff --git a/target/arm/cpu.h b/target/arm/cpu.h index bf221e6f973..7c226a112d5 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -447,7 +447,8 @@ typedef struct CPUArchState { uint64_t c9_pmuserenr; /* perf monitor user enable */ uint64_t c9_pmselr; /* perf monitor counter selection register */ uint64_t c9_pminten; /* perf monitor interrupt enables */ - union { /* Memory attribute redirection */ + /* Memory attribute redirection */ + union { struct { #if HOST_BIG_ENDIAN uint64_t _unused_mair_0; @@ -467,6 +468,7 @@ typedef struct CPUArchState { }; uint64_t mair_el[4]; }; + uint64_t mair2_el[4]; union { /* vector base address register */ struct { uint64_t _unused_vbar; @@ -1736,6 +1738,7 @@ static inline void xpsr_write(CPUARMState *env, uint3= 2_t val, uint32_t mask) #define SCR_TCR2EN (1ULL << 43) #define SCR_SCTLR2EN (1ULL << 44) #define SCR_PIEN (1ULL << 45) +#define SCR_AIEN (1ULL << 46) #define SCR_GPF (1ULL << 48) #define SCR_MECEN (1ULL << 49) #define SCR_NSE (1ULL << 62) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 3b556f1404e..d2fc17eab63 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -652,6 +652,9 @@ void arm_emulate_firmware_reset(CPUState *cpustate, int= target_el) cpu_isar_feature(aa64_s2pie, cpu)) { env->cp15.scr_el3 |=3D SCR_PIEN; } + if (cpu_isar_feature(aa64_aie, cpu)) { + env->cp15.scr_el3 |=3D SCR_AIEN; + } if (cpu_isar_feature(aa64_mec, cpu)) { env->cp15.scr_el3 |=3D SCR_MECEN; } diff --git a/target/arm/helper.c b/target/arm/helper.c index 167f2909b3f..e4d16514409 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -779,6 +779,9 @@ static void scr_write(CPUARMState *env, const ARMCPRegI= nfo *ri, uint64_t value) cpu_isar_feature(aa64_s2pie, cpu)) { valid_mask |=3D SCR_PIEN; } + if (cpu_isar_feature(aa64_aie, cpu)) { + valid_mask |=3D SCR_AIEN; + } if (cpu_isar_feature(aa64_mec, cpu)) { valid_mask |=3D SCR_MECEN; } @@ -6189,6 +6192,61 @@ static const ARMCPRegInfo s2pie_reginfo[] =3D { .fieldoffset =3D offsetof(CPUARMState, cp15.s2pir_el2) }, }; =20 +static CPAccessResult aien_access(CPUARMState *env, const ARMCPRegInfo *ri, + bool isread) +{ + if (arm_feature(env, ARM_FEATURE_EL3) + && !(env->cp15.scr_el3 & SCR_AIEN) + && arm_current_el(env) < 3) { + return CP_ACCESS_TRAP_EL3; + } + return CP_ACCESS_OK; +} + +static CPAccessResult aien_el1_access(CPUARMState *env, const ARMCPRegInfo= *ri, + bool isread) +{ + CPAccessResult ret =3D access_tvm_trvm(env, ri, isread); + if (ret =3D=3D CP_ACCESS_OK) { + ret =3D aien_access(env, ri, isread); + } + return ret; +} + +static const ARMCPRegInfo aie_reginfo[] =3D { + { .name =3D "MAIR2_EL1", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 3, .opc1 =3D 0, .crn =3D 10, .crm =3D 2, .opc2 =3D 1, + .access =3D PL1_RW, .accessfn =3D aien_el1_access, + .fgt =3D FGT_NMAIR2_EL1, .nv2_redirect_offset =3D 0x280 | NV2_REDIR_= NV1, + .vhe_redir_to_el2 =3D ENCODE_AA64_CP_REG(3, 4, 10, 1, 1), + .vhe_redir_to_el01 =3D ENCODE_AA64_CP_REG(3, 5, 10, 2, 1), + .fieldoffset =3D offsetof(CPUARMState, cp15.mair2_el[1]) }, + { .name =3D "MAIR2_EL2", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 3, .opc1 =3D 4, .crn =3D 10, .crm =3D 1, .opc2 =3D 1, + .access =3D PL2_RW, .accessfn =3D aien_access, + .fieldoffset =3D offsetof(CPUARMState, cp15.mair2_el[2]) }, + { .name =3D "MAIR2_EL3", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 3, .opc1 =3D 6, .crn =3D 10, .crm =3D 1, .opc2 =3D 1, + .access =3D PL3_RW, + .fieldoffset =3D offsetof(CPUARMState, cp15.mair2_el[3]) }, + + { .name =3D "AMAIR2_EL1", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 3, .opc1 =3D 0, .crn =3D 10, .crm =3D 3, .opc2 =3D 1, + .access =3D PL1_RW, .accessfn =3D aien_el1_access, + .fgt =3D FGT_NAMAIR2_EL1, .nv2_redirect_offset =3D 0x288 | NV2_REDIR= _NV1, + .vhe_redir_to_el2 =3D ENCODE_AA64_CP_REG(3, 4, 10, 3, 1), + .vhe_redir_to_el01 =3D ENCODE_AA64_CP_REG(3, 5, 10, 3, 1), + .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, + { .name =3D "AMAIR2_EL2", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 3, .opc1 =3D 4, .crn =3D 10, .crm =3D 3, .opc2 =3D 1, + .access =3D PL2_RW, .accessfn =3D aien_access, + .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, + { .name =3D "AMAIR2_EL3", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 3, .opc1 =3D 6, .crn =3D 10, .crm =3D 3, .opc2 =3D 1, + .access =3D PL3_RW, + .type =3D ARM_CP_CONST, .resetvalue =3D 0 }, +}; + void register_cp_regs_for_features(ARMCPU *cpu) { /* Register all the coprocessor registers based on feature bits */ @@ -7434,6 +7492,10 @@ void register_cp_regs_for_features(ARMCPU *cpu) } } =20 + if (cpu_isar_feature(aa64_aie, cpu)) { + define_arm_cp_regs(cpu, aie_reginfo); + } + if (cpu_isar_feature(any_predinv, cpu)) { define_arm_cp_regs(cpu, predinv_reginfo); } --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231429; cv=none; d=zohomail.com; s=zohoarc; b=ETN0dU3l7l0vcdU2xWX4cmMLk49qtkpS5gMzXhTfU9tafU7JAYyK5vf4el3+ZwV0UEVVX441uJfLgv19arCNqxIc4ur11Eo/YvlA9SRTibe+8UKNnjs8HkXHawO2xSl4BN2D+sH1aWBKITyENzKm/3AHCf4QRvYOzPBqlcnJb2s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231429; 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=5ZE51+CptGkbAysQdRrFoTua3i+r2jS6tpy1vaV+RQ8=; b=IMMtGq2sYTbZfC/nNPiVUZSo+4JWWks+jFO0ddHmt5DkvUxMLGnQnEw7SO6f6RVpS/B0VC+6qJtTAWsO00KC33GzRMohDw34x5m+KuW8nvmJFnIEF513yjyqh3RRgO6BV9lMoaWb1TswIbXAJbBvj/z6j78kc6pR4FBFDvJM8PM= 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 1761231429517649.9333960783142; Thu, 23 Oct 2025 07:57:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjW-0004k4-Js; Thu, 23 Oct 2025 10:56: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 1vBwjV-0004iV-5I for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:05 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vBwjT-0005YB-Dn for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:04 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-475c696ab23so5526635e9.1 for ; Thu, 23 Oct 2025 07:56:02 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231362; x=1761836162; 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=5ZE51+CptGkbAysQdRrFoTua3i+r2jS6tpy1vaV+RQ8=; b=aqaUjHyUUyqrhTNASXYUN1rzGSbrCBM6ozioV7w08WPT6s5eeVbYudHMVNOmq1cBP9 6EIDyUe12W/5zpqJTvODyx1z9oS57EpPV0RT3XwoDgcsr4gCIWI6kwgHA1F2ArqjNAi+ oPQxvZHM3jKBFH0M4bxa0+oXhD1ZeXVTzhHY0r/geaS6jqE2MSrONDiid6lNXeax1i4R pWEsE+ln0svwT8ryTANRc7+PKrvKcrLwb5eF+iY7KZQCsG7Gi22KP8k7l5GPB0qYuT4a YmbQlh6i5P/678FKAu8JrV4VEfcn4XpfSpB2Mx7G8i9isWbB7s5cz6tgn+YQ7w4QkCIy eayA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231362; x=1761836162; 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=5ZE51+CptGkbAysQdRrFoTua3i+r2jS6tpy1vaV+RQ8=; b=KEe8bucOaHWmndujgmVz2pqo8y9PwUU9CtWI2gPzVN6HnnGW5/9sEo/Tq3j9juZC0q 9UuK1+OV1JXyU3HeVwCN8yGrNTrROlGDyffes/JAJ/WGOXfTYTLuAhXZ1uMw4Ifv5x1z hbAzpawmhO9q/UV8JJKI3vAI2tnJM+QVpEZDdlWsHBOvoOHuKNbddn+hF5YxhJfHI413 x3d2Ucd25DMvOwOCYvWksf8JCZQlER/vOqy51WmZGdeOAzrHMQeJFIV8krS76+QImcVy L1odLtatVrg/Bbv8B0YNlDzOJ965am+Gym278XC7jT8O4za2BxzusEo9b0hM05+50qPs TOxw== X-Gm-Message-State: AOJu0YzrOiSKSsR2QTEz4tBh/Ww8MNEMDcuSVataq3d6qfYteVsi8lzY NNCh3K1E3YgKni8US729gxfJCE1kdqeDHy4QRR7tIN+G0uF8dMBdeihW8IsNUD9duNfoZCTmu34 0YOVw X-Gm-Gg: ASbGnctcyxaV7EUmOy38vS1kcSX59XLdlKK91FhEXdVLqbUfhma9PyIak/J5rW1G525 N7ox8hxm7UgWi57gK0LN3ftS1yQ993CupzxgODSkgjjdDMqhYPSNHoVuVMkY4r39vH+Eew4DwAd Hb215pSkT8RXM9BosuT8A4CVr2IDmhRE4SilELzynt9bdZrN6LQDaC7wjSXCPmWs6sNCXjsBP+v gJ8WPnLSdNdo8s+X8XL0iAWm5Lt3JDXeB4vUgAMbwjFvtyWLw0Q6BLbZs9bRQdBJ5fcRhqHtWxv ZqJSxYDTNpFB9n4Jp13FTqZpF+KtzCHRtdMrX+S5zmNcFga1hGeK/l7pcmg1ACwbuWMtfCEGGUs S5qjvmXPbqDBATTSBr/1SK2npMTavEWY6zfIHCuurbkq+wm4UgLa/pk53CuHKEBdXJh3nifHWYe OS9Jewgw== X-Google-Smtp-Source: AGHT+IER9vjIsQ8hv55dr0iFGxPrUdqNL5GEppSzkCxmg1m71WQXV7Pix3ucPQ3OS5BpAGTA9hvPVg== X-Received: by 2002:a05:600c:8b03:b0:46e:41b0:f0cb with SMTP id 5b1f17b1804b1-4711790c57amr189440285e9.25.1761231361736; Thu, 23 Oct 2025 07:56:01 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 05/16] target/arm: Add AIE to ARMVAParameters Date: Thu, 23 Oct 2025 15:55:43 +0100 Message-ID: <20251023145554.2062752-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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::329; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x329.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: 1761231431897154100 Content-Type: text/plain; charset="utf-8" From: Richard Henderson Allow the bit to be set in TCR2; extract the bit in aa64_va_parameters. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20251014195017.421681-4-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/internals.h | 1 + target/arm/helper.c | 30 +++++++++++++++++++++--------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index f539bbe58e1..a65386aaed3 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1391,6 +1391,7 @@ typedef struct ARMVAParameters { bool hd : 1; ARMGranuleSize gran : 2; bool pie : 1; + bool aie : 1; } ARMVAParameters; =20 /** diff --git a/target/arm/helper.c b/target/arm/helper.c index e4d16514409..8c0b8889dbf 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -6098,6 +6098,9 @@ static void tcr2_el1_write(CPUARMState *env, const AR= MCPRegInfo *ri, if (cpu_isar_feature(aa64_s1pie, cpu)) { valid_mask |=3D TCR2_PIE; } + if (cpu_isar_feature(aa64_aie, cpu)) { + valid_mask |=3D TCR2_AIE; + } value &=3D valid_mask; raw_write(env, ri, value); } @@ -6111,7 +6114,10 @@ static void tcr2_el2_write(CPUARMState *env, const A= RMCPRegInfo *ri, if (cpu_isar_feature(aa64_s1pie, cpu)) { valid_mask |=3D TCR2_PIE; } - if (cpu_isar_feature(aa64_mec, env_archcpu(env))) { + if (cpu_isar_feature(aa64_aie, cpu)) { + valid_mask |=3D TCR2_AIE; + } + if (cpu_isar_feature(aa64_mec, cpu)) { valid_mask |=3D TCR2_AMEC0 | TCR2_AMEC1; } value &=3D valid_mask; @@ -9666,6 +9672,7 @@ ARMVAParameters aa64_va_parameters(CPUARMState *env, = uint64_t va, { uint64_t tcr =3D regime_tcr(env, mmu_idx); bool epd, hpd, tsz_oob, ds, ha, hd, pie =3D false; + bool aie =3D false; int select, tsz, tbi, max_tsz, min_tsz, ps, sh; ARMGranuleSize gran; ARMCPU *cpu =3D env_archcpu(env); @@ -9688,10 +9695,12 @@ ARMVAParameters aa64_va_parameters(CPUARMState *env= , uint64_t va, if (r_el =3D=3D 3) { pie =3D (extract64(tcr, 35, 1) && cpu_isar_feature(aa64_s1pie, cpu)); - } else { - pie =3D ((env->cp15.tcr2_el[2] & TCR2_PIE) - && (!arm_feature(env, ARM_FEATURE_EL3) - || (env->cp15.scr_el3 & SCR_TCR2EN))); + aie =3D (extract64(tcr, 37, 1) + && cpu_isar_feature(aa64_aie, cpu)); + } else if (!arm_feature(env, ARM_FEATURE_EL3) + || (env->cp15.scr_el3 & SCR_TCR2EN)) { + pie =3D env->cp15.tcr2_el[2] & TCR2_PIE; + aie =3D env->cp15.tcr2_el[2] & TCR2_AIE; } } epd =3D false; @@ -9733,10 +9742,12 @@ ARMVAParameters aa64_va_parameters(CPUARMState *env= , uint64_t va, epd =3D true; } =20 - pie =3D ((env->cp15.tcr2_el[r_el] & TCR2_PIE) - && (!arm_feature(env, ARM_FEATURE_EL3) - || (env->cp15.scr_el3 & SCR_TCR2EN)) - && (r_el =3D=3D 2 || (arm_hcrx_el2_eff(env) & HCRX_TCR2EN))= ); + if ((!arm_feature(env, ARM_FEATURE_EL3) + || (env->cp15.scr_el3 & SCR_TCR2EN)) + && (r_el =3D=3D 2 || (arm_hcrx_el2_eff(env) & HCRX_TCR2EN))) { + pie =3D env->cp15.tcr2_el[r_el] & TCR2_PIE; + aie =3D env->cp15.tcr2_el[r_el] & TCR2_AIE; + } } hpd |=3D pie; =20 @@ -9818,6 +9829,7 @@ ARMVAParameters aa64_va_parameters(CPUARMState *env, = uint64_t va, .hd =3D ha && hd, .gran =3D gran, .pie =3D pie, + .aie =3D aie, }; } =20 --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231550; cv=none; d=zohomail.com; s=zohoarc; b=K5DfTxEGj8MvCzc2OEgis0ylK4JVIbdcoU5q7BYOUDpphb40gThnotTWRDjdNBEFpBLE1PADzn1+feaeZEKKg1Cj7uWkmO9p5b/kLQ1EtcTPVXRORrWLZxtn4kYj4H6bmXnfYorKVIjO76JjfpJyVoE1puryl9/95vU9dM04zqg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231550; 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=5sQyl4cLeHedDemKHaJUP3GoZkvBtZHXRHUJ6AnG9SQ=; b=F9/TDSzwWabvIv3EfRu1jBHctMwCkpp4OmXPDYo+s53Q5sKAW6VEJdp307wTydqkHHlxN9mjrtCKbo96Fl7ojXHkyUiWSiJxME1R0gXe3gpfEa+nrQvtjJrwd4TE3LXr3qgrukIyndFmNZp0X+9J6ZaIRB+ZT320KocgcAizhFs= 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 1761231550817890.0296993844291; Thu, 23 Oct 2025 07:59:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjX-0004l3-Mq; Thu, 23 Oct 2025 10:56: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 1vBwjW-0004jx-Bf for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:06 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vBwjU-0005YX-PP for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:06 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-471193a9d9eso10431735e9.2 for ; Thu, 23 Oct 2025 07:56:04 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231363; x=1761836163; 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=5sQyl4cLeHedDemKHaJUP3GoZkvBtZHXRHUJ6AnG9SQ=; b=p0Ye7Ou/JrWO7Bhub14b6ICMbAibpD63fT5+7lCvmxriaINhuzTK/oJBBRyzw+XfHH Q0GB3H44XsFr4F0gvZE4r14SOq9W9jJzM9steUMsklWYDOsgXqbkKP22xGRCBk/dqiX0 qzVXyitNL9MgOe3hEyhUxbqUHR33bD0FjS3gevjHRMbPGC2NRpI5LgJw/wfqAxtk1gcX rKke5ijPdkndKTK7tSef25t3gDc6AXIlYqURUghBOM8fXNgZzmJ0WjbjVcDEcVMM23uE 3/tDf5P6ER9fVmzu5GghqLB2wx2Fm/OaVFu6z9IQgSqLReE2nxrEv195pBj0qowaFpFN /ozQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231363; x=1761836163; 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=5sQyl4cLeHedDemKHaJUP3GoZkvBtZHXRHUJ6AnG9SQ=; b=D487ZAXeZBmkgXvzFR38MlHl4AFrFp4cSwjOsuxe3oz+bNHcQlwbHy03kNizCxCDvx 49SXYXOb6dNjDmjDxRXSli+0kfkob+57fXbtYQ6/TJtpXrMZaxcJ9khcdfNnPHuoq4yi lQ71eIHv8XuPO28PMKiuuC2cZBNs95qsgAWGZVOURWC3iTvfvVpmz8OBkVlb2N9lYuGz /xFXff76b+HiGLIl6JozN5pEBZ/rN+W0zRFFarPi+4WWRw/ilSpDDvZfNrPNWurdkEab oZ3en+DGe/dFwgSw2AtV3RyAgvc/e2Mb7YvES+Vt0jbJm/2kzBCYUd6KTh/sUAASOpmm A3tw== X-Gm-Message-State: AOJu0YzAF2GR2rIukNgcKpj3gR16AS6vG5M1RM/dw9LNmKwcRdzo1MdL IE7qsIbfXPY16TacOAbPsEkSMsbgbO2I/R3fZGSumb0gEW4DzQSu8W6ca9isZtLSTNuU1yLvHhj JnzRk X-Gm-Gg: ASbGnctIrxR+i5Uj7Li4y6uEzIk4OZ9xcyIyh3iEKiIKDe1RgvrhwLs6KV+17urFEtv d1K4VN05a6RtZ8rIzd/KOyZn9VC0uzIim8tqVtNxST3WWhzMHWSKKlZc3m9BIi7Z+Zf8rYiK5Ur hCOPdHCR7I+dFbXzM2VNnlIzxMlNvWTSCgAyuhgA0jvhbnIzkD8Uexlo0dbDjN9QmWWuX3AmfMq Ayr+AlRGThmFhEAbuMjDeW142rxdaPQwFEM/OatBQ1PCZa+VWrLbx/EcRQTbavwa2JiR/3di8p3 BGynJ9T1YkP0tZnHoZ+Sf+BU1aD6VpNkS1rTM5ZuEkftLUEcrUkXDen9Iv8PsGGLZA8lJY/LyB3 PTyCsGt+QDgYZDKH3x6osF98lGfCR81e8KX0r7upSQr53YP3IELBnCcpVI8s+nH3R7hMJ+8McR9 1QFA879A== X-Google-Smtp-Source: AGHT+IGY+LLlvHHren1jOocvq4LuYLSJ8zUq31NR80RYcIG9fqGVn0NgfvgJZdhbJRWHmKispxfZGg== X-Received: by 2002:a05:600c:871a:b0:46e:4882:94c7 with SMTP id 5b1f17b1804b1-471179177camr197675805e9.28.1761231362679; Thu, 23 Oct 2025 07:56:02 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 06/16] target/arm: Drop trivial assert vs attrindx Date: Thu, 23 Oct 2025 15:55:44 +0100 Message-ID: <20251023145554.2062752-7-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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::331; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x331.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: 1761231553295154100 Content-Type: text/plain; charset="utf-8" From: Richard Henderson We just extracted 3 bits; the <=3D 7 test is trivially true. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20251014195017.421681-5-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/ptw.c | 1 - 1 file changed, 1 deletion(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index d4386ede73e..54c45fc9feb 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -2320,7 +2320,6 @@ static bool get_phys_addr_lpae(CPUARMState *env, S1Tr= anslate *ptw, /* Index into MAIR registers for cache attributes */ attrindx =3D extract32(attrs, 2, 3); mair =3D env->cp15.mair_el[regime_el(mmu_idx)]; - assert(attrindx <=3D 7); result->cacheattrs.is_s2_format =3D false; result->cacheattrs.attrs =3D extract64(mair, attrindx * 8, 8); =20 --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231430; cv=none; d=zohomail.com; s=zohoarc; b=F4yv3qpYBCX/0c4wML8BCovLStL33NZaB7HupOZoNBFl+q3KH0xq86y/zC7luq7HliKs7F5k8rS0xKb9Vs3bG2rfceq9mOh99LshtqYYmShYaI3xiWiq0q7JW3RwbShFUUBwuWOBXyQd17RtYKkVooD3BTpNHedSXAP6BKBOvfA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231430; 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=Uir+DCzIAMR+d974t4+bUz1BzOrdumPLHshzxJg6y18=; b=JRROKu+7IekWh7fGvT30Wccb3wQprmje/q1OdPcEy19vuyOSSK0DS4fSs0ZAfcGd02zrPaKKsNuf7sZuiFR0WXx3XSeXwZgnSPgq5vhnjgg9LqeLgVz9zSL73oR7Z8CAa7UW5SGnGHYUZfabA/Ef8DTuhYsqNQlLfRLzBaWck1M= 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 1761231430179649.3742903658033; Thu, 23 Oct 2025 07:57:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjY-0004lc-HP; Thu, 23 Oct 2025 10:56:08 -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 1vBwjX-0004kq-7R for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:07 -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 1vBwjV-0005Yh-LN for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:07 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4711f3c386eso7068755e9.0 for ; Thu, 23 Oct 2025 07:56:05 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231364; x=1761836164; 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=Uir+DCzIAMR+d974t4+bUz1BzOrdumPLHshzxJg6y18=; b=omHNIL5jwWoKP2Yy6fmPHi+2t1bMg1aHfqaZyxz/h8pOXIGM50OyuWtZcnTznSy8Cq den9zjIzc52DT184cI4HsORGQ9wTIkuuGLO8JEGqJDXlxDov6vAalfCHN2WORO5Nkblv L4jE2V0MppxeJqJy91eeSl95nWBmwzfLyTQKdKDzFvcakimDFLEkzQjoSAT3h65jFT8W kkUiAwnF0ypXAC0zRQTcqEuO+TSj81zQLTmQZgyMCVZouNQ/F5VWIf3yS9SVMkY/RdE3 gsaveM3vBXqFf9fvF9slOs9FSrBnA5JQ2PeootN1dbRiiKUdgRwid93wsytL721mLmec bepg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231364; x=1761836164; 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=Uir+DCzIAMR+d974t4+bUz1BzOrdumPLHshzxJg6y18=; b=dKqT6sZ/KsqC+zoFw6pK7u3+kHw+qSd5O3fAHOdCiBwCb7uRGDf93piJ+bDa2xpFO7 Tnwoo0sauYuwhqgkZ0Tlg/cemLNk18/kR/wa984lvUOi+kZJASKDNsF9f9v1Ghshbkf9 Dw6AMK9mcIbh9ltc9wvP8hQ1CA9+AwtPqyH1o6x4JY+2TVsoSyYzeYRwsXwaya4nqkwu Uq4IR5D0Zifp2WONrEPz4ODb9xM8U5D6yRpjWhsCTyTnB8A0axmZinq8vivw0ZxRSlnD 477iH6Jh2pdPI8I9CYBzfSX8mtgrRVm+hKzWYcFTWnelcPhXRoJhFgl/w6/FEJEZlnmg aYUQ== X-Gm-Message-State: AOJu0YzsjryYxXWCH9ctEFEiJHQIQsxKuKL3LeiZ7yHqtGvTVP8wVe4U FKTivarmePIwznGcoQBdUNhhSAIhywzBNZ29zvrnNexF577aDX7dnFzfiAExEDFiNoXveBrfQnA +lrSA X-Gm-Gg: ASbGncvTC32VCkac19aEa4KHl/KXCjtf64Wnp4/Y0j6GW1VNj1kis8GYeAQAun/dI2j fEGp+Tdjyc0EU0renK2NicAVZeOqa7XYZ/b2KWjuQ3ffyDPNfvvmmFXgOElo+19jO9ZBfUD+CCf mQ7MviXh9lnyrTMxXXEDEKR6NBJeUsIHEebIBsvyEhQBro9gQ69onysIEpam+oRMk83GCxnCIgR c+K+ehthdoksStIP+t++Jh97VrkDFqxBUSvZtJvGWsg6v6MSqCdpivC1JChce0D+40sTw0XCuGX M8TRgva8LweyBCLYonbtoPXPRDX1vgDwzBMMRa+TKKE4/UmaBW92HHwyo1/15vKWRbqbYbbvoKx +AJ57Xp/pw5RpL+Ij/yZ40q3Flz8R6SUUP7cX1q9zmaOcj+UNuJrAtPWzQAD0oS7WdGGGSV+zGu KXJMPNQWb7frgBBGiV X-Google-Smtp-Source: AGHT+IGFH9fqQoz5JcUH9ZqWVsIxK2xPgUeyiXkZk/iYHaU8qxWV//fmaDrJ3pjKff8VfgAipIU3Eg== X-Received: by 2002:a05:600c:3548:b0:471:131f:85aa with SMTP id 5b1f17b1804b1-471178a74a2mr148248165e9.13.1761231363677; Thu, 23 Oct 2025 07:56:03 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 07/16] target/arm: Use el local indexing mair_el Date: Thu, 23 Oct 2025 15:55:45 +0100 Message-ID: <20251023145554.2062752-8-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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: 1761231431917154100 Content-Type: text/plain; charset="utf-8" From: Richard Henderson We already have regime_el() computed to a local. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20251014195017.421681-6-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/ptw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 54c45fc9feb..5fcf1042726 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -2319,7 +2319,7 @@ static bool get_phys_addr_lpae(CPUARMState *env, S1Tr= anslate *ptw, =20 /* Index into MAIR registers for cache attributes */ attrindx =3D extract32(attrs, 2, 3); - mair =3D env->cp15.mair_el[regime_el(mmu_idx)]; + mair =3D env->cp15.mair_el[el]; result->cacheattrs.is_s2_format =3D false; result->cacheattrs.attrs =3D extract64(mair, attrindx * 8, 8); =20 --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231448; cv=none; d=zohomail.com; s=zohoarc; b=gqVr02w5+uCN5D927dmPA7Lp1ksANAgrtqTUIHtJrLtpiIde3TG0zC92io8ujHx/q4B2le7O2tx0lap6Kfy3smnWZN+Ytm4SvG5/Q/cFbUASj0Gahv/B6oI4Ps1Ye4IpP+1VvkStyk0pQ+K3Z08MtpcXj+R7bo1xcdhfhIfVI/Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231448; 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=z1L1SfLTNWdWbkzFYvTuU0iUKvRMuxx46JXkz634BYw=; b=n2DM52dWGqAPZ5FuTbKKDhxP9sQpLHnt+sgvJNlnYP3CYFd69g/yEQJYv3fMjo+D9P2n22yC4nVhrDKoDDFCr3Ag4Tp21MIWIRMabivwMiivQnSweVQ0YQyK6LWUyNCJoQjJ1mbnyS1OswpYJGjN8x2Sht65XTMs793q5nlJDbg= 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 1761231448905917.8754323398953; Thu, 23 Oct 2025 07:57:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjZ-0004mB-T3; Thu, 23 Oct 2025 10:56: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 1vBwjY-0004lK-5j for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:08 -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 1vBwjW-0005Z0-JD for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:08 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4711810948aso7187365e9.2 for ; Thu, 23 Oct 2025 07:56:06 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231365; x=1761836165; 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=z1L1SfLTNWdWbkzFYvTuU0iUKvRMuxx46JXkz634BYw=; b=uDdynYgRXOA4pCreI0oQGJzs3D9QHSFGs9AIPLLQ9gujoLIVZogxkjyeDGBnbGSZ7s GwIG/Ozo92cH32H3D3G4+CLofSGXo7/cajF9h5CIuLiu1QLQqPf2cZI8quN99ExJ/eNC nvd8Hxn9/vE+IQf6RvOQDmHbVzt8p3cTQQkWtS0ec15OgQnz/KjF0OsYKTBO2o7yEsgv LvE2v+sP5jX2y6p20UAdHAh0+6gMaWrJ3BezZ+N4ZFL6HrilbndZ9jKZunEf30mWvtjJ cbS28Uo0GtKVHGqhR/xnaznMnod9/q8+LM86IibkWyOCl0N0zE+Itm+UScr+VQk8CSMF sbHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231365; x=1761836165; 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=z1L1SfLTNWdWbkzFYvTuU0iUKvRMuxx46JXkz634BYw=; b=UoPCjfKoGN5c6IMGSNvTubeDz2SM93Tgun4AggbaCL+mqCRpz6vzbvFRm7MNhiV5QK CJ5I/b19xKf6mmIczKK9K1JTsWn9CcCRpJvuM2uM29jNBT/vEv3OtpOmTEnd3fAytzc2 V7Fy5cP1G3SGD0Q9bs28JnKF4q4EWGx5GMnJJG2KUmIap/Tp83tpGYcBYnLjLDbn40Tt 24qQ1yUyivsHre6e0Ulkr6FNx+6hUmmKis5yf8cUORwYEINtcseJTBeRlYD6YcqOL+YC 3PVCpmNg/6Yn+a0zmBD1wI6ZGNPkTLQwn4Uub5/OVoPAlWcmjO3ua1VtNuu9QwXdiclG FAZw== X-Gm-Message-State: AOJu0YzLIy+xCFGBgSQJ8YIWGQXEAnCE5floSE+uvBBM/D5wGjpE8eWZ s61migyU+3W8cUhzNsvWJqcjzj4HPm0kbX3g3rBSDVoajIfoBRdqpcEB8xSkGowzsE+PudaB/3H l+t8x X-Gm-Gg: ASbGnctfPFo6ql0bai8x/bqxi9FiysNs2uiHQkenmrvVxstYMFz8oj1j5EAqevxQEdX 1Rw1H/OiV8F4L4mqdi6AGHTHKBh75yvl/QjnYr+ttCLXMUlTxHpYrfSxFooCZJq2hvQskKJUoGn fgGpCIy/nzvLdX1I64VT7Pzi0XXUAOcH/IVAhcrCKYDld5vI+lg9BI6DGx5gpHg1uk0ukvayh04 Cz+ZZfOKdsdnT7AZ7KcT4dnfU2JlIv+7hkjDzsfGbQ69KmwYfPyYJXe/6FaYt3G2pTP8YHQPEHl Xjs5H8oWZKiN+l0cbZZRWBEyLCuGUiSphqGr6EB4mgPuENXWEJIL+wtlwuZZuo9Vz2pQUA3Gfp+ yw78FuB1XQMNY1A06Txs1lmAzGJ2Y70AyC5DhTbKWjPuYmstH30oS5L1Xjxl3MDFonMjVKkH7IM zVRGiGXoPv5PS5qErp X-Google-Smtp-Source: AGHT+IGCXhEoN3THtZk5VB6SgulqaQM5LXRLoSu8mEMQEoMHNQJadtAL1jdfXaQNxMnhByncT5zQ8Q== X-Received: by 2002:a05:600c:870b:b0:46e:3709:d88a with SMTP id 5b1f17b1804b1-4711791cb7amr201866445e9.33.1761231364660; Thu, 23 Oct 2025 07:56:04 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 08/16] target/arm: Honor param.aie in get_phys_addr_lpae Date: Thu, 23 Oct 2025 15:55:46 +0100 Message-ID: <20251023145554.2062752-9-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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: 1761231450146154100 Content-Type: text/plain; charset="utf-8" From: Richard Henderson Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20251014195017.421681-7-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/ptw.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 5fcf1042726..23f6616811a 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -2319,7 +2319,9 @@ static bool get_phys_addr_lpae(CPUARMState *env, S1Tr= anslate *ptw, =20 /* Index into MAIR registers for cache attributes */ attrindx =3D extract32(attrs, 2, 3); - mair =3D env->cp15.mair_el[el]; + mair =3D (param.aie && extract64(attrs, 59, 1) + ? env->cp15.mair2_el[el] + : env->cp15.mair_el[el]); result->cacheattrs.is_s2_format =3D false; result->cacheattrs.attrs =3D extract64(mair, attrindx * 8, 8); =20 --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231486; cv=none; d=zohomail.com; s=zohoarc; b=D3HpRIk4eQ7nGj8/O1UCh+46rAyrMYR1QRboXjzGwtWjTlVtkxvKO3lQvMxYE0JvmZoQEZKMNctA/jbLJED8Gz7BCVD3a4aIbqqodMKXVwhOMrtWZSKjEESKGFMAP/0IRQafkKimRWDQy2DrHMRjxEFX/w5OSybzSCK4hisOmf8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231486; 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=D/n5Wp8YRV/gi/aKQBN6YUMRxTi78RRfNPiFT0L5SNQ=; b=SNnQcgbSpiP9Taq+htkwgemAuPooV3Kf+XAk0UZn12OXeeTSMWXidQ+5/uOvnSr9YtD/KJKqK5C8clLuJmtggl6wynpP5JMDoi/xkz/xMRT4iCf44mBArXP00KYwqhGWh2p3ZQplkDBQqSGo3rv0Bx4pTdqMaGAmlPmdMlwVBH0= 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 1761231486279622.4625195662779; Thu, 23 Oct 2025 07:58:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjb-0004mn-9J; Thu, 23 Oct 2025 10:56: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 1vBwjZ-0004m1-Fb for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:09 -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 1vBwjX-0005ZC-Bm for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:08 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3ee12807d97so709091f8f.0 for ; Thu, 23 Oct 2025 07:56:06 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231366; x=1761836166; 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=D/n5Wp8YRV/gi/aKQBN6YUMRxTi78RRfNPiFT0L5SNQ=; b=KzikC3mJ5dY+NUdLXXWea7EiK8bAgjv1TngJjop86X8hm3DJ7klTaJIOULYBA3w4a0 h52967/IjOVzpIsxacjf+mhJxLVBeOXCeH3k+O2FmapF5YKM7K8w7cDKxxRnDXbiUjSc qVOw1pmWdactJgOT0c2GQqCbzl1TBiUkxduI+NJHVRsH1vxOSFlZm/jsAwbUmTVo7Jfd tK0EaBrOdfA5hzfsIwz+DgAh+o1Yv2NxNtFDymdhMJfewfh9GKfFV0A7W3d3ElBharK3 zLdTk/2bklWemACEGyUPC9Hcwb/v5z2BhvdUJJ5ZBf1FmhDiyDzhQDqa9IWjsZflCNZh Z/Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231366; x=1761836166; 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=D/n5Wp8YRV/gi/aKQBN6YUMRxTi78RRfNPiFT0L5SNQ=; b=opv7wqXSaC1QEUyVunmmRwWR5pRD+70xF57qOJg+Hiwu8ML4/71lHv0iKHJ37dsbJ7 eHiKPV/POoVln/+3N/JhZvi1T+sI7Zmw2k0aul4JMMkA+W2E4BNDPLMh3U5GojSkdBY2 I41dVe/ln7khRdavVKj5W0mKY2SiYAdyUTQc9A5nQcQyrQSOahFxz1HobE7uPRM+Wnl+ SFhVnFcTOMOpRR1PR3Nk/SRmOlMdVric/I5aOe6/S2WhLOwK7gP77j2aiwBr+HmI62yg TmC+FpnTbtLwIFSPs8XywUDLCEMIV5v1+j74deqYkzwLqLse6tDVPDHMGIdXOUf/8nOu IhDw== X-Gm-Message-State: AOJu0YzIf78+I+RGdq4s7/2OF85zcp8GBADjEzkAq9slUyoRbIY0twoZ DUtlHau0US54VYqMjF9zeQzqstuplXuWNJONuUB/RKV0h4n4XbsJUkr4TuXsAMWzOEGbpJuWW2R a5VaS X-Gm-Gg: ASbGnct9Kww2cyedpRxlmPrPrZgQp6nu9Lu3Mrylfzm9xvdUq8ZPMW5DpWPS6rWCN2t 6MN8DMR03ttp14xpTboLXvN7HQOTJf/FyKp1yGXRit9475rn9tcUMt+PTQkzW9frR/63qI9wYHd TtXzBW8rsPAaSx9ffb5/oFOJclJzSiGnnjIgYWECwzzFsB5tv/ZFHZEReoAqhrddTmOPGUJt9IA PalPEzm0skcmGIV4geHh61XvI6towxf7xCpGzAYlxnHBIFzdfTuBmm16KH+RQfpeN/smZs6LxDl qiWWMppxAHMrnZDYXqudD4kghplpdxJNy9prZuMm7ixjzPyRaasqh9q6SnPPih0ZVBgfnr55ivS cyUFcnv1Fyun29RS+sxU8J0nPZsfrldLonR+Xsk9QWyP6iZnwXefeZqPjL6pgKeiHEGe4pNG91P 18M22OIQ== X-Google-Smtp-Source: AGHT+IEU1RYis1TatpeKIs/IhtGAo6rGSC4zU0y/XnrXwCWCnitu0HZmqBMCffj5cw0yVR4cSgOrng== X-Received: by 2002:a05:6000:25c8:b0:428:3d75:b0e8 with SMTP id ffacd0b85a97d-4283d75c950mr14901692f8f.62.1761231365682; Thu, 23 Oct 2025 07:56:05 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 09/16] target/arm: Enable FEAT_AIE for -cpu max Date: Thu, 23 Oct 2025 15:55:47 +0100 Message-ID: <20251023145554.2062752-10-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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: 1761231491982158500 Content-Type: text/plain; charset="utf-8" From: Richard Henderson Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20251014195017.421681-8-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- docs/system/arm/emulation.rst | 1 + target/arm/tcg/cpu64.c | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst index bf81da124a0..31a5878a8fa 100644 --- a/docs/system/arm/emulation.rst +++ b/docs/system/arm/emulation.rst @@ -21,6 +21,7 @@ the following architecture extensions: - FEAT_AdvSIMD (Advanced SIMD Extension) - FEAT_AES (AESD and AESE instructions) - FEAT_AFP (Alternate floating-point behavior) +- FEAT_AIE (Memory Attribute Index Enhancement) - FEAT_Armv9_Crypto (Armv9 Cryptographic Extension) - FEAT_ASID16 (16 bit ASID) - FEAT_ATS1A (Address Translation operations that ignore stage 1 permissio= ns) diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c index 1bffe66e81c..6871956382f 100644 --- a/target/arm/tcg/cpu64.c +++ b/target/arm/tcg/cpu64.c @@ -1331,6 +1331,7 @@ void aarch64_max_tcg_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64MMFR3, SPEC_FPACC, 1); /* FEAT_FPACC_SPEC */ t =3D FIELD_DP64(t, ID_AA64MMFR3, S1PIE, 1); /* FEAT_S1PIE */ t =3D FIELD_DP64(t, ID_AA64MMFR3, S2PIE, 1); /* FEAT_S2PIE */ + t =3D FIELD_DP64(t, ID_AA64MMFR3, AIE, 1); /* FEAT_AIE */ SET_IDREG(isar, ID_AA64MMFR3, t); =20 t =3D GET_IDREG(isar, ID_AA64ZFR0); --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231536; cv=none; d=zohomail.com; s=zohoarc; b=U6+b/v9Y9uuuAtjYfIE4eCqGEaetu4OKfuqC/yMAAdno86zOX5wyuUHTS1SEsm9JHI4pcrGDYinKvdT90vQqYECpvcy7fruMdsup33ZfBcTYFV0eEZ8ANpmgfbaFKQLl5uOYJW0gkOvpyFtXVWDzT6LCT5/qOug0qlb1rhGGz+4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231536; 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=Mpia8VtBhyjUZ96P3AibBv3IBX5aDSXvG00OnWmgK9A=; b=U/W448EE6udNhcBlAZh11UgSjCuSmVwUMLTN6a7ilOAhQuxXcNrcMWTNYB0lPiJR0z17vZi8VRDIC7Hsmcu3vQXsH954lBKsPg13Lp4sjNnRWSDE+TJ8chhprkLhua8b3Z3P83YHWJZtFuFlvaEzXnDgh4ynFP9/9tQ0QVD6wBE= 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 176123153618224.61192702054757; Thu, 23 Oct 2025 07:58:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjb-0004ms-Ln; Thu, 23 Oct 2025 10:56: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 1vBwja-0004mY-EK for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:10 -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 1vBwjY-0005ZW-IB for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:10 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-426fc536b5dso692391f8f.3 for ; Thu, 23 Oct 2025 07:56:08 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231367; x=1761836167; 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=Mpia8VtBhyjUZ96P3AibBv3IBX5aDSXvG00OnWmgK9A=; b=N1yiv6lXKESXMI2yIuRZjc95sy0bVkOegnRLkG0sJ5zYjpzPOTfO8xN/+PmJUe0Rlg mYSpA9qU/s0EELYJgyIOKi/51kfshsBq5GN/mvnlu8tSPARAK/+UN+MFKql8OF66co1V owAVB9c6W/B5Axl+IcO7jGxipagTTM5LFFSUKwo9cBsAEeKuS/5WSBSmU6Dnk52MsNxA eGbg6Gjy6xy4eb4qV5bSRDI5q8ZlGE8XQCCP/avNZHSVB91kzdexwtmzLTlgUj4W0lmW eFrR7Ij49YCPnWwap0fy4j/WOJhmmgs3JzDxCQ49NuImofSVIqMO054VgAwNfJJQ/M87 dtnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231367; x=1761836167; 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=Mpia8VtBhyjUZ96P3AibBv3IBX5aDSXvG00OnWmgK9A=; b=CQaBNHdxWPB+k4lt6U+d2w8cuarfCi0r6tbTohsUlYKx2lELO4mh3aV26uZBypPyQ1 FX7V1k0GwGlsPdB8vxQ0WXlCEDqzO7uvWWURS43bM1sX+JqB2yZJOVRKsiLkVIUHv161 VvXUN8lYbtUTDE0T243qrCkhsAUoDR/xM/dc1kTpPCJxBDE8jVPBtwtgK4DAjzvTAo0z C4H8YyuGitkEj0M204pEl01uCdidfQFZn7O0ITM0LXK2BRb+Dpbf9bVfCENIoerkj29g QfnUdHOyZHLafGi7no1VpAH0sPNje1L9kRkssoh9QFU+NsmNKcDswaxV6U7xSN8T8ymb rdrA== X-Gm-Message-State: AOJu0YwV3Pj5j/073e50cnlUUkheAYb6ZtxXPyuOc5Mf8UYxFmU56mhs Piepq7dzGE4qFeNBz3G7aTJo6kpQ0A/jvEtF9aScbWWd1TX5ZC0vqAt+wLUrmT1bw5M9YiQUGoj vfq92 X-Gm-Gg: ASbGnctR+lEdWYCr7nv1gLacAfp0Yd0I/Gbycp40GRWJ54wH5BJhYq1vACzvENYrvqN 9XgaXhqw0YUjMlnNOcOMMuHLY0vifwh5yRHpIph+4wRe5J4aqirOs6KgIOA4jZRQgMmwdyfyTdC aNjniQ1XjtQ4T2VO4DAqS+xiBV3sZDqPkE6SsoRWT9g9QM82AKM0jmmO8QOfv70MfyPS2s5ynR3 9kP7GM9lKhSRoBrBvwO3wcPZW8wajEuoH4YUhakMjuW9sWFq5me6XAzyt+xxwoiZofj88PtiQcQ Yb9SgZJ9u+Z8GETc73EQRoBxx40vYZzqDe0SrSHsM9IsZRXo7Oq+rFRK+xvhpFGZ+4foAPs6Pbz T18TMSF8eJGLO7Ojl4s1ormTUBxpCtrd19Klmtsdf12pYtuUzSH/uCWdr7R1UD9MVEuu/7O53ZR 5VXVJEmQpTd4gjtuxE X-Google-Smtp-Source: AGHT+IFsTzjfRBanOU7LaokSXhMprnVaaedq4sxulK9yqSk7iton/NC/FjykliuiYbHi784oVC2s/g== X-Received: by 2002:a05:6000:26d1:b0:3ec:db0a:464c with SMTP id ffacd0b85a97d-42704dc94a0mr18735827f8f.44.1761231366879; Thu, 23 Oct 2025 07:56:06 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 10/16] target/arm: Fix reads of CNTFRQ_EL0 in linux-user mode Date: Thu, 23 Oct 2025 15:55:48 +0100 Message-ID: <20251023145554.2062752-11-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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: 1761231537107154100 In commit bd8e9ddf6f6 ("target/arm: Refactor default generic timer frequency handling") we changed how we initialized the generic timer frequency as reported in the CNTFRQ_EL0 register. As part of that, we chanegd the linux-user version of the CNTFRQ_EL0 sysreg from having a constant value set at compile time through the .resetvalue field to having a reset value which we compute in a .resetfn. This accidentally broke the reading of CNTFRQ_EL0 in linux-user mode, because the cpreg is marked as ARM_CP_CONST, which means we translate it as a read of the compile-time constant value in the .resetvalue field. This is now zero, so userspace sees a 0 frequency value. Fix the bug by dropping the ARM_CP_CONST marking. This will cause us to translate the read as a load of the value from the CPU state struct cp15.c14_cntfrq field, which is where the real frequency value now lives. Cc: qemu-stable@nongnu.org Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3159 Fixes: bd8e9ddf6f6 ("target/arm: Refactor default generic timer frequency h= andling") Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-id: 20251013161040.216819-1-peter.maydell@linaro.org --- target/arm/helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 8c0b8889dbf..2ef9c178147 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -2309,7 +2309,7 @@ static uint64_t gt_virt_cnt_read(CPUARMState *env, co= nst ARMCPRegInfo *ri) static const ARMCPRegInfo generic_timer_cp_reginfo[] =3D { { .name =3D "CNTFRQ_EL0", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 3, .opc1 =3D 3, .crn =3D 14, .crm =3D 0, .opc2 =3D 0, - .type =3D ARM_CP_CONST, .access =3D PL0_R /* no PL1_RW in linux-user= */, + .access =3D PL0_R /* no PL1_RW in linux-user */, .fieldoffset =3D offsetof(CPUARMState, cp15.c14_cntfrq), .resetfn =3D arm_gt_cntfrq_reset, }, --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231427; cv=none; d=zohomail.com; s=zohoarc; b=n/v2D04TWTENKrpNpnWRwsaW0fJoefifivoYL1pYFhYqid6sG4m1nDmaZ16U7lvSrFUCpeMRxJMMjeei2ykwgmku6QGlSJhm5Kigd9G6bLzbgXjSpMJH6uv/WrgskjjZyYKHkZTSTPwoCE0UL+1vfLcQODHDuGtum22hdzW7ShU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231427; 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=ar66TTmPzOwjx9/IPkHZAqhVMFm+dkSo+frnjYQI6Ts=; b=b4cWPaLjK5wrE6BBmRh8LKmRWFgxis2MyRsTC1/N9ixAajC1z35xA+LTuRA2uO7UtyeDNbV2nlAX+ZWDKmYxZlhcqZhNvVYhoLb8VgclS14r+YUDHrJ/ZCJ1Z1z2pizohrNmKnUCnLjABPxai4txts9mUf+K+wEpoNOdH3pRh/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 1761231427697697.1230487700966; Thu, 23 Oct 2025 07:57:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwje-0004o0-5w; Thu, 23 Oct 2025 10:56:14 -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 1vBwjb-0004mv-MF for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:12 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vBwjZ-0005Zn-Qx for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:11 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-471b80b994bso13024365e9.3 for ; Thu, 23 Oct 2025 07:56:09 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231368; x=1761836168; 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=ar66TTmPzOwjx9/IPkHZAqhVMFm+dkSo+frnjYQI6Ts=; b=SqkzF6PkCVUOUe5g4LT6+fMMTN+h350TMB22iy7IUPxsNQvpB2uTFKxDjucTkZblMP OR3tnRLvfTmNvXJKL/qViFoRTm28c4WddV/czWYXhL1BDOt5diMhwG0t1Y7cvEM4YbnD fuYeNKKI+fkZsJ91UUeHx7amEvEr/xnxAArtLg0pRTLBVsQbg8fsMG5OtYcEOaTwIkA3 8sBOGneKh7m00CfHk/HeJ6IShV5EXKyLzCsr1YvY3Pge1r3BurzSkqAqrVtc8TtBAR7O Th98SyqDgOf6gAZugP1YN3hk6PF/YEWJqIP1oNN1QLMlYbJoTdxyWd1MroSOfD/C0IL9 3j8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231368; x=1761836168; 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=ar66TTmPzOwjx9/IPkHZAqhVMFm+dkSo+frnjYQI6Ts=; b=bK7T96gFQeEVPb4OLD6rQf2JSBcEqrrH5tHbcW8eYhPWh0N4U8yoFtz9xJBIEDUG7K qbm/fs0jDvq4pZl5nHZe0jBYWFHOgprzuMRfpi7nHnUe2mnJvPhYSWW3TAgtHew0/hiQ f6ipO9pi5/n12iTDYYHZEkTuqCSeMdhBgH+bMH6uhXSHoGG9cHfp3X25OP5ibfYfCmOX 2O9KpwrYEZdwlq+zj3ZTmI4EDc17E0orgCZ0LXy73r/FpXOhUI3oWf4W7DnQzxBIrFCQ bu06YakW+n9Mt8zN4wZ/eJyL9BJBCkDZszCgAjXWfkmYBeXdP8xw1SIEQpwHsecqI3kz Auew== X-Gm-Message-State: AOJu0YxgQPn9++I9lCxyUyRZCk1KYEkJ1jdGCwPEwC8rT4CdJMLvHGYp NaFA8r4m3/WYCf0B+dOM8+o2LBxonrjdsjGvmmYfXwmMkoeza6UKjiPXf4JshGly/fof++0qq3q 0CGaU X-Gm-Gg: ASbGncvuEslyoaqov+Q0YHhZefUREZkHBxFjjqbTu/isOTMAFoJLnJQN0+eS+GnctVx GNLgs82m40B2zdqmHZnDKV+pV569l6LX4WEWWqBj23V1D0CsykDcqODkKkmUNKYtY0SkFnkTkTR /EaQEGG1gOL6vNauI1Kk/jvyRsz02kfMgMu5LBxjPEcnYWZtPMACLx0W9m/MYogxz0rVVdbtgjq 0E8TuI4T0+hX4X6Tv3Li3xM4mhdeipo1FfUQU4niXb/sUUB8N9MPAlH57Y9eRbSi3kk32jEKK+j f+vucoMUJ4SuNHNXToCjsiU5EC16S4Cixta52Teyb3FHYnI2ArPo1CHNwAWEVGlv9rnB01pN51c UQ7PkN8oo4OcN+Ss+dCKmBCsvVcrTVm6550C9exsO5y5X5ZtiK7lz86W5PViZOftigOnAwe8YTL FE3RyKPQuk9bY8iuf3 X-Google-Smtp-Source: AGHT+IFAC7Z93O8G8w+8wTuj+wQ/M1qOZr9n+fPLrXCAU0AU3sk9aJ/E114yInhoDPrevgAcDObaDg== X-Received: by 2002:a05:600c:8b66:b0:46e:428a:b4c7 with SMTP id 5b1f17b1804b1-471179120ccmr170785645e9.23.1761231367862; Thu, 23 Oct 2025 07:56:07 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 11/16] hw/intc/arm_gicv3_kvm: Avoid reading ICC_CTLR_EL1 from kernel in cpuif reset Date: Thu, 23 Oct 2025 15:55:49 +0100 Message-ID: <20251023145554.2062752-12-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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::336; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x336.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: 1761231431280158500 Content-Type: text/plain; charset="utf-8" Currently in arm_gicv3_icc_reset() we read the kernel's value of ICC_CTLR_EL1 as part of resetting the CPU interface. This mostly works, but we're actually breaking an assumption the kernel makes that userspace only accesses the in-kernel GIC data when the VM is totally paused, which may not be the case if a single vCPU is being reset. The effect is that it's possible that the read attempt returns EBUSY. Avoid this by reading the kernel's value of the reset ICC_CTLR_EL1 once in device realize. This brings ICC_CTLR_EL1 into line with the other cpuif registers, where we assume we know what the kernel is resetting them to and just update QEMU's data structures in arm_gicv3_icc_reset(). Reviewed-by: Salil Mehta Tested-by: Salil Mehta Signed-off-by: Peter Maydell Message-id: 20251014102439.319915-1-peter.maydell@linaro.org --- include/hw/intc/arm_gicv3_common.h | 3 ++ hw/intc/arm_gicv3_kvm.c | 49 +++++++++++++++++++++--------- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/include/hw/intc/arm_gicv3_common.h b/include/hw/intc/arm_gicv3= _common.h index 38aa1961c50..61d51915e07 100644 --- a/include/hw/intc/arm_gicv3_common.h +++ b/include/hw/intc/arm_gicv3_common.h @@ -166,6 +166,9 @@ struct GICv3CPUState { uint64_t icc_igrpen[3]; uint64_t icc_ctlr_el3; =20 + /* For KVM, cached copy of the kernel reset value of ICC_CTLR_EL1 */ + uint64_t kvm_reset_icc_ctlr_el1; + /* Virtualization control interface */ uint64_t ich_apr[3][4]; /* ich_apr[GICV3_G1][x] never used */ uint64_t ich_hcr_el2; diff --git a/hw/intc/arm_gicv3_kvm.c b/hw/intc/arm_gicv3_kvm.c index 405496c7bb3..66b0dddfd4b 100644 --- a/hw/intc/arm_gicv3_kvm.c +++ b/hw/intc/arm_gicv3_kvm.c @@ -658,11 +658,24 @@ static void kvm_arm_gicv3_get(GICv3State *s) =20 static void arm_gicv3_icc_reset(CPUARMState *env, const ARMCPRegInfo *ri) { - GICv3State *s; - GICv3CPUState *c; + GICv3CPUState *c =3D (GICv3CPUState *)env->gicv3state; =20 - c =3D (GICv3CPUState *)env->gicv3state; - s =3D c->gic; + /* + * This function is called when each vcpu resets. The kernel + * API for the GIC assumes that it is only to be used when the + * whole VM is paused, so if we attempt to read the kernel's + * reset values here we might get EBUSY failures. + * So instead we assume we know what the kernel's reset values + * are (mostly zeroes) and only update the QEMU state struct + * fields. The exception is that we do need to know the kernel's + * idea of the ICC_CTLR_EL1 reset value, so we cache that at + * device realize time. + * + * This makes these sysregs different from the usual CPU ones, + * which can be validly read and written when only the single + * vcpu they apply to is paused, and where (in target/arm code) + * we read the reset values out of the kernel on every reset. + */ =20 c->icc_pmr_el1 =3D 0; /* @@ -683,16 +696,8 @@ static void arm_gicv3_icc_reset(CPUARMState *env, cons= t ARMCPRegInfo *ri) memset(c->icc_apr, 0, sizeof(c->icc_apr)); memset(c->icc_igrpen, 0, sizeof(c->icc_igrpen)); =20 - if (s->migration_blocker) { - return; - } - - /* Initialize to actual HW supported configuration */ - kvm_device_access(s->dev_fd, KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS, - KVM_VGIC_ATTR(ICC_CTLR_EL1, c->gicr_typer), - &c->icc_ctlr_el1[GICV3_NS], false, &error_abort); - - c->icc_ctlr_el1[GICV3_S] =3D c->icc_ctlr_el1[GICV3_NS]; + c->icc_ctlr_el1[GICV3_NS] =3D c->kvm_reset_icc_ctlr_el1; + c->icc_ctlr_el1[GICV3_S] =3D c->kvm_reset_icc_ctlr_el1; } =20 static void kvm_arm_gicv3_reset_hold(Object *obj, ResetType type) @@ -926,6 +931,22 @@ static void kvm_arm_gicv3_realize(DeviceState *dev, Er= ror **errp) kvm_arm_gicv3_notifier, MIG_MODE_CPR_TRANSFER); } + + /* + * Now we can read the kernel's initial value of ICC_CTLR_EL1, which + * we will need if a CPU interface is reset. If the kernel is ancient + * and doesn't support writing the GIC state then we don't need to + * care what reset does to QEMU's data structures. + */ + if (!s->migration_blocker) { + for (i =3D 0; i < s->num_cpu; i++) { + GICv3CPUState *c =3D &s->cpu[i]; + + kvm_device_access(s->dev_fd, KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS, + KVM_VGIC_ATTR(ICC_CTLR_EL1, c->gicr_typer), + &c->kvm_reset_icc_ctlr_el1, false, &error_ab= ort); + } + } } =20 static void kvm_arm_gicv3_class_init(ObjectClass *klass, const void *data) --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231444; cv=none; d=zohomail.com; s=zohoarc; b=PaMutnapepYRSqY5loLrA8Jk65UYs9Hv/Ss4Icbg0HcN7mH+tJ7iYK1T5y7BBQcmDpZHmGyZV5l2QdbcmUlbnsw0fpr5uYZRMkmshshrxumAAr3LvaBtvakSNQgZGu70KIp4pfYVnTHnetqPaw1dtWcwXyLJZLWeVCfLNGP9JN4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231444; 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=zur/1Syyp7QKq3yESbOczhxVhBdbhamiIq+pcBe1C9o=; b=MJjHXJDOKgwnd19TSbfqPk+l6k3Bao/T4rgr3skJe4+JreHLqXp1U+lcvx0G5bypy3uZ7eVgPy8N1Rh647zt069p3a3QEAP7Gi1keiVJA1mbNPs61aytVltBMb3phfm3zDMTjJrLNw0ftzmVoUtusLogLRM6S2OMxpLlu1dvehk= 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 1761231443997608.9047435750578; Thu, 23 Oct 2025 07:57:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwje-0004os-P5; Thu, 23 Oct 2025 10:56:14 -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 1vBwjc-0004nQ-L6 for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:12 -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 1vBwjb-0005aC-1V for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:12 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3ed20bdfdffso906193f8f.2 for ; Thu, 23 Oct 2025 07:56:10 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231369; x=1761836169; 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=zur/1Syyp7QKq3yESbOczhxVhBdbhamiIq+pcBe1C9o=; b=nlOX9Rjm+Q2FcqlJ8gFHkrhplff6KeeOk9TZjTCQXpd7kHorITHzEmQIr/AlUxFLhi /H2LamLMzGLqZjlJTYK5A5gjfPf5jRNTpsGWMiCXbhq4d+FOwNmKVIydc/x5Fe50RFWs dfl9le0D6MdsFBmjhc+3Lg6LgxLQjqq1kr9O7capxiE+7SD3sJSpj89NUdx0kCi66UXi DvNnWOwX0XgGOhCMA8ElApoDmmpVo42bD6dBU0BxekkPQbzIHgoBN1Dhhnb8tcKwI5W9 H3RAAYaOriq3teAKABCXKbkhU3LVBHjgyhynHjOZgzdIZlK+U7t/wyWaTBeCtU3meT+X Ev9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231369; x=1761836169; 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=zur/1Syyp7QKq3yESbOczhxVhBdbhamiIq+pcBe1C9o=; b=wsKb6/zJP+Gl7uCaXmAi2lZC9IfttX04L3dfn/xTzbDLk6LY6125DuUi4l7wvP7SIQ TB3R+FkI6rcJbgrn2Mgfp5Pyb9sPTKfGM+Ihr2eBruz0bYcyyzOmvRpkaMh3+xNHJsvq K8z2crIAiOb7t339roNCr4rAzhkQ6OktNAUrMpD12tKOVjY5pUSe1XduyHPwd4vLbwD2 rqw2MCQKZ5sqcfGB/rnctfg7aNzzoKvDC4PPACTvKASLsWRySIRqquEynSh/wECN76FJ UvZdWH5F3HyjL3qaaSc4F6txmIKeCY+C89Zh3JKuqL47LBeUb24GAxFUt0efu4E31Ajy xK0A== X-Gm-Message-State: AOJu0YxjSdj8B7lMFVt7tA9Vh9UaGREcwEyC+YQWZMSdf0wrC7otVcK6 Lp9lfLXzt+lrcqOj16PXdN/eAqAtXodhaEJ91fbjLbqiC7oguhslwvqGjdK7MBrBGc7olskXUlP cAa4u X-Gm-Gg: ASbGncv1d5guoMQ9E7HA+FNDy8v+i4r6eOjbwx4GdR2NpXVqYcgj2ZGXZ3Iwi9L+yJN a2BA8uMM/ldFTs0hw7lMLDB1vbINh0douqy6YfoXMUzXWbqMzVoORhKZNaG2UFvWu6V2QKCji2U B6Qae06vhoeS/9VtcW16fqHMmfsVB23XoEBLdh571K/LnmUtKXEIkBFKGj3yV+t/ebFXN2BwaTn 0xiqeVJeqWp7Ib+bQ7x5X7MOvHSx9NCUFsrzyy93lZSzj5HsT5E7/FivT+q+7wUa3arfBNycUfb UyQzyZFi9sMta5m0GRIVlvr2arACAzfVjMg7Ntqb4p1LITTDQtqWieX5LNcqFQxepW3MMUqWSl+ LHP7CVx0e4229QP9P6k+IMTRP7U0lrbzj/uHG+j8LfBrehNyMShLOTyba3GMGU2yQwCZyzro9ii vdvvAedA== X-Google-Smtp-Source: AGHT+IE/zm8IKerLXqWyigf6UE26OMGy/D7IBfceqll6B6+wOGnNrm5xR9AGlfzVn/Lsi5p3ROFaNQ== X-Received: by 2002:a5d:5d10:0:b0:427:7ac:5287 with SMTP id ffacd0b85a97d-42707ac52e1mr14817958f8f.34.1761231369200; Thu, 23 Oct 2025 07:56:09 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 12/16] MAINTAINERS: Claim the Arm XML in gdb-xml Date: Thu, 23 Oct 2025 15:55:50 +0100 Message-ID: <20251023145554.2062752-13-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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::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: 1761231447477158500 Add F: entries to the Arm CPU section to claim the Arm related XML files in gdb-xml. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20251017154244.971608-1-peter.maydell@linaro.org --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 36eef27b419..732b5242e85 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -208,6 +208,8 @@ F: hw/cpu/a*mpcore.c F: include/hw/cpu/a*mpcore.h F: docs/system/target-arm.rst F: docs/system/arm/cpu-features.rst +F: gdb-xml/arm*.xml +F: gdb-xml/aarch64*.xml =20 ARM SMMU M: Eric Auger --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231405; cv=none; d=zohomail.com; s=zohoarc; b=ADgznkwC1svyhct44JQYvn2Cgzsi0gf1IKHJcnd0jsIUr5T2zslIPQLppkZEGS4A+yzxmazL9Pk6zBUJrOLf5esEsF3lRNZWG2OU7K3gE46m9sp8R+FXoUegblYFwDHPyQHHl3+jCc6eLQqc2kH+kuApq4VSUIjBqtc4QAmsneQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231405; 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=QCuV9Ie04TI1xV3BkHsw3lfUDwis9uD7D2gaUqo7FkM=; b=c0tK0F29kC3b6vnrOo1okgU909PF/7KDLGHzzJ40N2O6Ek7VYX8JQeidV0tB3RwudxTLvV8jeh3qg+8F7yF8x/DLBhzThaCtKXLdjGZsFJIw9SUnDq5vuOfnViL2xKBZwKizkOWxIj+0mIS1aj5nqHjmzbULKdBSFqFMpycMWf8= 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 1761231405772413.9772775947446; Thu, 23 Oct 2025 07:56:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjg-0004rE-7Q; Thu, 23 Oct 2025 10:56: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 1vBwje-0004oG-CV for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:14 -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 1vBwjc-0005aO-AX for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:14 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4711b95226dso10625535e9.0 for ; Thu, 23 Oct 2025 07:56:11 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231370; x=1761836170; 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=QCuV9Ie04TI1xV3BkHsw3lfUDwis9uD7D2gaUqo7FkM=; b=gqAR5aXUUR4gQGr/v0/QYnQPszakdWNsSpjfPHi6aPnOsuIuPgX7+1NMH5G26gktzy sosYCEBGGq3hegV0KoJM2m7d1IRcJ9MGfL+rJ75ced5BtrlpFpn5yMClRmvxTaxT/QCh H5LikZVYrDJ8scEz+/nwkvIP1EFC282hVOhJ+SXjZFuwW5n3roNLO+gOUzNA+Vhg+j0K Talv5yvxIWi3QPvlfQxsEwCYFrywWSTsKy1DDvimqLuVHLg0kHKb8emD9n2jAx0WUhBQ TZ7/mr0enoUUYXzpcHcu/ehqFTFgttHpf+4QX8WdMJqdVpm7sG2CtOPDyCKNlilmHpn1 spCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231370; x=1761836170; 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=QCuV9Ie04TI1xV3BkHsw3lfUDwis9uD7D2gaUqo7FkM=; b=DFvELANoTFCzlxbqvtBlTgfWUiD1I1aDupTYNGFuW17+774kFMQepjMXfTA4ivczJ/ Be0fYOrIL2hn0uOp6sgYJNaw1MDymSg5lmgErwGc3IAPjfDKpK5mYadQlSDoX44Feo53 +GRLYxUKf52rA5j9v6YgZGSV3HYTS6aC2dfzDl1Lv9jhDqANPvWpaQYu7gT32AMypTuq g9G6/ATE/wMaG6GB7Xf10Llqa5WAyeKgt6PSqjDZUs+lAnfM7Y5W5jqvbfhDRmYaLG7P LUP7r3IoGWDoIihE+Gcr9jplCRmVZNIp/o3sKK1L41e4sh/05YaUXZw1pHntAcr1Gwl+ 0cOg== X-Gm-Message-State: AOJu0YyYDAbi5g1QE2+fZtH89SN4QPlMk8V/+v8/BvlFwfe41fWgYdhO M6sGzT/tG1AXCkHu4cpi+KmZ11+jwLooJlNUyXGoXpvSg9CnPquCBh27mnxbgqOtM59eVMn/D29 R/unR X-Gm-Gg: ASbGncsy7D7cB4Rs9Nh0RS7k/Gw6TQjB/zpjQsABvXEUvZ3VWL1GXiA+iDCMb4uoEPA 6o5ZqQPg051Htiop/a0vSoCxoHCRkWc4b/HxLKZBDtcESQygYIppVSFieyJWkDYLTkXhC0Ap3Y8 F82D3uNwoRLEKaGkA+YSPHCUXAnhAoqP3gQhKzsdaDxT+tLReRlPoaCTdKaGuNNjs5tScT9HpSh 8AsaGSapD9ZBaMYj5NJyJvtr7AGxBVms9QRpykJOucKr61O3ARW0aq7rKxR3kGFjyihZrheQIJ6 Fq7OjEtKx0ZGm0NchZiIkt7+dmr17VCrr1mbn2aFHGlqwy1PXWzvz1hlYc5IxMoBOcfN3+y/BPb Vx3pab+aLee0K4sUUzo27/FwUgQ06rXMLtgrshblaTcu3qU3vzMdnWa9naDMSwMDioxB9iPnMyr i+k/fdiP+bR0Q9t0Ux X-Google-Smtp-Source: AGHT+IHPTvWBBUMxfx+4r/+i5X/knCT5ux45OGwBs3tk8YSpaYx0Jf1oCDA8s6ZlSz0ACC7trSyTrQ== X-Received: by 2002:a05:600c:870e:b0:46e:37a7:48d1 with SMTP id 5b1f17b1804b1-4711791f94dmr235291825e9.34.1761231370466; Thu, 23 Oct 2025 07:56:10 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 13/16] target/arm: Implement SME2 support in gdbstub Date: Thu, 23 Oct 2025 15:55:51 +0100 Message-ID: <20251023145554.2062752-14-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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::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: 1761231407354158500 For SME2, we need to expose the new ZT0 register in the gdbstub XML. gdb documents that the requirements are: > The =E2=80=98org.gnu.gdb.aarch64.sme2=E2=80=99 feature is optional. If p= resent, > then the =E2=80=98org.gnu.gdb.aarch64.sme=E2=80=99 feature must also be p= resent. > The =E2=80=98org.gnu.gdb.aarch64.sme2=E2=80=99 feature should contain the > following: > > - ZT0 is a register of 512 bits (64 bytes). It is defined as a > vector of bytes. Implement this. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20251017153027.969016-2-peter.maydell@linaro.org --- configs/targets/aarch64-bsd-user.mak | 2 +- configs/targets/aarch64-linux-user.mak | 2 +- configs/targets/aarch64-softmmu.mak | 2 +- configs/targets/aarch64_be-linux-user.mak | 2 +- target/arm/internals.h | 2 + target/arm/gdbstub.c | 6 +++ target/arm/gdbstub64.c | 52 +++++++++++++++++++++++ gdb-xml/aarch64-sme2.xml | 14 ++++++ 8 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 gdb-xml/aarch64-sme2.xml diff --git a/configs/targets/aarch64-bsd-user.mak b/configs/targets/aarch64= -bsd-user.mak index f99c73377a9..7f42e060477 100644 --- a/configs/targets/aarch64-bsd-user.mak +++ b/configs/targets/aarch64-bsd-user.mak @@ -1,4 +1,4 @@ TARGET_ARCH=3Daarch64 TARGET_BASE_ARCH=3Darm -TARGET_XML_FILES=3D gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-x= ml/aarch64-pauth.xml +TARGET_XML_FILES=3D gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-x= ml/aarch64-pauth.xml gdb-xml/aarch64-sme2.xml TARGET_LONG_BITS=3D64 diff --git a/configs/targets/aarch64-linux-user.mak b/configs/targets/aarch= 64-linux-user.mak index b779ac3b4a0..bf328b3b80c 100644 --- a/configs/targets/aarch64-linux-user.mak +++ b/configs/targets/aarch64-linux-user.mak @@ -1,6 +1,6 @@ TARGET_ARCH=3Daarch64 TARGET_BASE_ARCH=3Darm -TARGET_XML_FILES=3D gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-x= ml/aarch64-pauth.xml gdb-xml/aarch64-mte.xml +TARGET_XML_FILES=3D gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-x= ml/aarch64-pauth.xml gdb-xml/aarch64-mte.xml gdb-xml/aarch64-sme2.xml TARGET_HAS_BFLT=3Dy CONFIG_SEMIHOSTING=3Dy CONFIG_ARM_COMPATIBLE_SEMIHOSTING=3Dy diff --git a/configs/targets/aarch64-softmmu.mak b/configs/targets/aarch64-= softmmu.mak index 5dfeb35af90..d14bcfc4900 100644 --- a/configs/targets/aarch64-softmmu.mak +++ b/configs/targets/aarch64-softmmu.mak @@ -1,7 +1,7 @@ TARGET_ARCH=3Daarch64 TARGET_BASE_ARCH=3Darm TARGET_KVM_HAVE_GUEST_DEBUG=3Dy -TARGET_XML_FILES=3D gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-x= ml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-vfp-sy= sregs.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml gdb-xml/arm-m-prof= ile-mve.xml gdb-xml/aarch64-pauth.xml +TARGET_XML_FILES=3D gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-x= ml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-vfp-sy= sregs.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml gdb-xml/arm-m-prof= ile-mve.xml gdb-xml/aarch64-pauth.xml gdb-xml/aarch64-sme2.xml # needed by boot.c TARGET_NEED_FDT=3Dy TARGET_LONG_BITS=3D64 diff --git a/configs/targets/aarch64_be-linux-user.mak b/configs/targets/aa= rch64_be-linux-user.mak index ef9be02290f..284430add7b 100644 --- a/configs/targets/aarch64_be-linux-user.mak +++ b/configs/targets/aarch64_be-linux-user.mak @@ -1,7 +1,7 @@ TARGET_ARCH=3Daarch64 TARGET_BASE_ARCH=3Darm TARGET_BIG_ENDIAN=3Dy -TARGET_XML_FILES=3D gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-x= ml/aarch64-pauth.xml gdb-xml/aarch64-mte.xml +TARGET_XML_FILES=3D gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-x= ml/aarch64-pauth.xml gdb-xml/aarch64-mte.xml gdb-xml/aarch64-sme2.xml TARGET_HAS_BFLT=3Dy CONFIG_SEMIHOSTING=3Dy CONFIG_ARM_COMPATIBLE_SEMIHOSTING=3Dy diff --git a/target/arm/internals.h b/target/arm/internals.h index a65386aaed3..bf44066f71b 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1720,6 +1720,8 @@ int aarch64_gdb_get_sve_reg(CPUState *cs, GByteArray = *buf, int reg); int aarch64_gdb_set_sve_reg(CPUState *cs, uint8_t *buf, int reg); int aarch64_gdb_get_sme_reg(CPUState *cs, GByteArray *buf, int reg); int aarch64_gdb_set_sme_reg(CPUState *cs, uint8_t *buf, int reg); +int aarch64_gdb_get_sme2_reg(CPUState *cs, GByteArray *buf, int reg); +int aarch64_gdb_set_sme2_reg(CPUState *cs, uint8_t *buf, int reg); int aarch64_gdb_get_fpu_reg(CPUState *cs, GByteArray *buf, int reg); int aarch64_gdb_set_fpu_reg(CPUState *cs, uint8_t *buf, int reg); int aarch64_gdb_get_pauth_reg(CPUState *cs, GByteArray *buf, int reg); diff --git a/target/arm/gdbstub.c b/target/arm/gdbstub.c index 8d2229f5192..1ca3e647a84 100644 --- a/target/arm/gdbstub.c +++ b/target/arm/gdbstub.c @@ -554,6 +554,12 @@ void arm_cpu_register_gdb_regs_for_features(ARMCPU *cp= u) arm_gen_dynamic_smereg_feature(cs, cs->gdb_num_regs); gdb_register_coprocessor(cs, aarch64_gdb_get_sme_reg, aarch64_gdb_set_sme_reg, sme_feature,= 0); + if (isar_feature_aa64_sme2(&cpu->isar)) { + gdb_register_coprocessor(cs, aarch64_gdb_get_sme2_reg, + aarch64_gdb_set_sme2_reg, + gdb_find_static_feature("aarch64-= sme2.xml"), + 0); + } } /* * Note that we report pauth information via the feature name diff --git a/target/arm/gdbstub64.c b/target/arm/gdbstub64.c index 65d6bbe65fb..5ad00fe771d 100644 --- a/target/arm/gdbstub64.c +++ b/target/arm/gdbstub64.c @@ -335,6 +335,58 @@ int aarch64_gdb_set_sme_reg(CPUState *cs, uint8_t *buf= , int reg) return 0; } =20 +int aarch64_gdb_get_sme2_reg(CPUState *cs, GByteArray *buf, int reg) +{ + ARMCPU *cpu =3D ARM_CPU(cs); + CPUARMState *env =3D &cpu->env; + int len =3D 0; + + switch (reg) { + case 0: /* ZT0 */ + for (int i =3D 0; i < ARRAY_SIZE(env->za_state.zt0); i +=3D 2) { + len +=3D gdb_get_reg128(buf, env->za_state.zt0[i + 1], + env->za_state.zt0[i]); + } + return len; + default: + /* gdbstub asked for something out of range */ + qemu_log_mask(LOG_UNIMP, "%s: out of range register %d", __func__,= reg); + break; + } + + return 0; +} + +int aarch64_gdb_set_sme2_reg(CPUState *cs, uint8_t *buf, int reg) +{ + ARMCPU *cpu =3D ARM_CPU(cs); + CPUARMState *env =3D &cpu->env; + int len =3D 0; + + switch (reg) { + case 0: /* ZT0 */ + for (int i =3D 0; i < ARRAY_SIZE(env->za_state.zt0); i +=3D 2) { + if (target_big_endian()) { + env->za_state.zt0[i + 1] =3D ldq_p(buf); + buf +=3D 8; + env->za_state.zt0[i] =3D ldq_p(buf); + } else { + env->za_state.zt0[i] =3D ldq_p(buf); + buf +=3D 8; + env->za_state.zt0[i + 1] =3D ldq_p(buf); + } + buf +=3D 8; + len +=3D 16; + } + return len; + default: + /* gdbstub asked for something out of range */ + break; + } + + return 0; +} + int aarch64_gdb_get_pauth_reg(CPUState *cs, GByteArray *buf, int reg) { ARMCPU *cpu =3D ARM_CPU(cs); diff --git a/gdb-xml/aarch64-sme2.xml b/gdb-xml/aarch64-sme2.xml new file mode 100644 index 00000000000..43911dae160 --- /dev/null +++ b/gdb-xml/aarch64-sme2.xml @@ -0,0 +1,14 @@ + + + + + + + --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231443; cv=none; d=zohomail.com; s=zohoarc; b=LV7/akDyzPG+2TuzqtH8OgzFlQRscmaqEj/gVVRbCBI7vIxJZvrb2iIMWTHJwfxxT+b/N/ufw5nL/a/GjuUdBva3NuD+wEpP1OzwtmvOMd9ziZkm3t1uvswlrtp7Y4/LemyQSTjRKIpdOfBDrjYRG0Vsm+oUBSAGQTRCYVA6LFM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231443; 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=F0pSAJ7AP3EIbBDaOPx9w3eo4OwQ/YGmc/QOEJCgnxg=; b=XnvYU4ONwLjcDr7nEt+7ORP9MuJF7mFAxSF0yoA0Nj5u/Z/BDjsYdZTH3W1tSeTtUxJm3NHQNGTL9hJyo4OsITtHXFD7mJBCUv04bqKzKhRYh+TyeUyzPCSv1RaRlTNGLb4XpgTtVb7YeD6jDLRzc1yHZfFJvMw3x+23wNL8zfI= 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 1761231443655621.7305947417871; Thu, 23 Oct 2025 07:57:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjg-0004t9-Tn; Thu, 23 Oct 2025 10:56: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 1vBwjf-0004q0-Ce for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:15 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vBwjd-0005ad-GM for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:15 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-47117e75258so7222265e9.2 for ; Thu, 23 Oct 2025 07:56:13 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231372; x=1761836172; 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=F0pSAJ7AP3EIbBDaOPx9w3eo4OwQ/YGmc/QOEJCgnxg=; b=iQEdOkc9qPFbKvtYW/DlCUrib7s3HNyCyTd2fsESerjtPIuneI0IwXwonqgiW/pVcf L5AYjSQ+YSn4u5ueqy+F8yP5gE2IpFbls7jmmVjyQ+qH08gSHFrpRH0Mf2JXjnbUReTJ Ho98DXRkyPGUJOdwaqGZqO7xYNpzJCkEdr+Mb9AqGhqfUEYDpxbrv1CinnNYzR8rRonH sPdRhdFi/Y8oRABNdLQ1Eg3xTEcn0eutlMlf8za3ceeoS8HIqHl462QK3jCBj0eGyXM1 m12jujCZEshdSJ/gyAqOHJH0lBejHBmmcOoA1iJy2Lluo9GVK+Z6AtjQCNjN4IGQP37N UfLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231372; x=1761836172; 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=F0pSAJ7AP3EIbBDaOPx9w3eo4OwQ/YGmc/QOEJCgnxg=; b=j8N29QHHaclJiJjzU8MCSMyX8i9/q5cbXdbEiNYzXd52vNpQYRtqPQfSJ4OBQNPX2h 6NnVGswGQBAo8KeTLGKFnOGTdNaDZCHad87+yjbakmG5I03ALcz9AGWXNZXeKjvgqGdS cPEtR9GiIJ2vN89tjtdEP0wpWDgl9Xqqq5bduC5yqyafUBDZQMQKIU1bPotDxHORDZwG yxQGdk463WZX1PMEtk0IDVYn8c9PL59/tR039YHSt9/vl9f4yUZcqV2QmDRQp2AuFK9G H9xPhQyr9yYgVQ1VAUn2UsjaA1/1i3/H+UAoXYalDnsvaelSfWZ1fvlLQicC3AgrQ3OG i+Zg== X-Gm-Message-State: AOJu0Yxat3mjrPc5ou1C44egWCLejH0MzmBMcSpP4vA+LEpGR7QMnPow SlaCqiNyBCy7xexDcFDvDn+wSnec8BHx3wvdZA6a9N+amBT56TooUCTM1bNm9XExTnwK+n6inwQ SrXsm X-Gm-Gg: ASbGncsK/0lCAWlfaD1Yj0PDXk7edBQeliOB9TQPXAaDf1mh6GWA0uFqyfIG3fgj1dB LXLeRybRbSKcLo/daWSvU7SMVwJMERHIMBite4WhspwDBxydPr1zplj4BtWKsNY7ImVhsUDE4oo fRbe2udwbBpicu58OAEUUIhot8p/DxgfcwJJc9OQEflzyEmlTH+GSt1dVbOxiAWt27O+ZaVM0hE yz6CCO0VwH311N0jdcUPIhb2XrGCT7ug1lBgzLgBayBV6vD8fCbVqVlqLNurFFQ0QcQITysd4vY NjV3LbjndemYn3lmnMmN7Z+0fg3eKdyccGFj89dIzZVLptDSYEPD7BFE2i/ahDBRF3sJ4LS0xOH wTXGM058UoH6K2xciCMUZpnof7/vapeNbomAwFPN21yIiu+Yn5p1fwZE0J8UJJqdsijBD/RISbC Kok0yCiA== X-Google-Smtp-Source: AGHT+IH3liUeNlYpuoHGcKnshekwTa/6uKIeUzihoMjHp9CC4P2AgyT56Iq61PCY3tj4jxfKi9FJDQ== X-Received: by 2002:a05:600c:628f:b0:468:9e79:bee0 with SMTP id 5b1f17b1804b1-475caed394dmr20565595e9.0.1761231371747; Thu, 23 Oct 2025 07:56:11 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 14/16] target/arm: Implement org.gnu.gdb.aarch64.tls XML feature in gdbstub Date: Thu, 23 Oct 2025 15:55:52 +0100 Message-ID: <20251023145554.2062752-15-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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::332; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x332.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: 1761231446175154100 Content-Type: text/plain; charset="utf-8" GDB expects the TLS registers to be exposed via org.gnu.gdb.aarch64.tls, which will contain either just "tpidr", or else "tpidr" and "tpidr2". This will be important for SME in future, because the lazy state restoration scheme requires GDB to use the TPIDR2 information. GDB doesn't currently implement that, but we should provide the register via the XML so that we are ready when future GDB versions support it. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20251017153027.969016-3-peter.maydell@linaro.org --- target/arm/cpu.h | 1 + target/arm/internals.h | 3 ++ target/arm/gdbstub.c | 6 ++++ target/arm/gdbstub64.c | 63 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 73 insertions(+) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 7c226a112d5..39f2b2e54de 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -943,6 +943,7 @@ struct ArchCPU { DynamicGDBFeatureInfo dyn_smereg_feature; DynamicGDBFeatureInfo dyn_m_systemreg_feature; DynamicGDBFeatureInfo dyn_m_secextreg_feature; + DynamicGDBFeatureInfo dyn_tls_feature; =20 /* Timers used by the generic (architected) timer */ QEMUTimer *gt_timer[NUM_GTIMERS]; diff --git a/target/arm/internals.h b/target/arm/internals.h index bf44066f71b..f86f421a3db 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1716,6 +1716,7 @@ static inline uint64_t pmu_counter_mask(CPUARMState *= env) =20 GDBFeature *arm_gen_dynamic_svereg_feature(CPUState *cpu, int base_reg); GDBFeature *arm_gen_dynamic_smereg_feature(CPUState *cpu, int base_reg); +GDBFeature *arm_gen_dynamic_tls_feature(CPUState *cpu, int base_reg); int aarch64_gdb_get_sve_reg(CPUState *cs, GByteArray *buf, int reg); int aarch64_gdb_set_sve_reg(CPUState *cs, uint8_t *buf, int reg); int aarch64_gdb_get_sme_reg(CPUState *cs, GByteArray *buf, int reg); @@ -1728,6 +1729,8 @@ int aarch64_gdb_get_pauth_reg(CPUState *cs, GByteArra= y *buf, int reg); int aarch64_gdb_set_pauth_reg(CPUState *cs, uint8_t *buf, int reg); int aarch64_gdb_get_tag_ctl_reg(CPUState *cs, GByteArray *buf, int reg); int aarch64_gdb_set_tag_ctl_reg(CPUState *cs, uint8_t *buf, int reg); +int aarch64_gdb_get_tls_reg(CPUState *cs, GByteArray *buf, int reg); +int aarch64_gdb_set_tls_reg(CPUState *cs, uint8_t *buf, int reg); void arm_cpu_sve_finalize(ARMCPU *cpu, Error **errp); void arm_cpu_sme_finalize(ARMCPU *cpu, Error **errp); void arm_cpu_pauth_finalize(ARMCPU *cpu, Error **errp); diff --git a/target/arm/gdbstub.c b/target/arm/gdbstub.c index 1ca3e647a84..8865f27089d 100644 --- a/target/arm/gdbstub.c +++ b/target/arm/gdbstub.c @@ -583,6 +583,12 @@ void arm_cpu_register_gdb_regs_for_features(ARMCPU *cp= u) 0); } #endif + + /* All AArch64 CPUs have at least TPIDR */ + gdb_register_coprocessor(cs, aarch64_gdb_get_tls_reg, + aarch64_gdb_set_tls_reg, + arm_gen_dynamic_tls_feature(cs, cs->gdb_n= um_regs), + 0); #endif } else { if (arm_feature(env, ARM_FEATURE_NEON)) { diff --git a/target/arm/gdbstub64.c b/target/arm/gdbstub64.c index 5ad00fe771d..3bc7ff45d57 100644 --- a/target/arm/gdbstub64.c +++ b/target/arm/gdbstub64.c @@ -387,6 +387,44 @@ int aarch64_gdb_set_sme2_reg(CPUState *cs, uint8_t *bu= f, int reg) return 0; } =20 +int aarch64_gdb_get_tls_reg(CPUState *cs, GByteArray *buf, int reg) +{ + ARMCPU *cpu =3D ARM_CPU(cs); + CPUARMState *env =3D &cpu->env; + + switch (reg) { + case 0: /* TPIDR_EL0 */ + return gdb_get_reg64(buf, env->cp15.tpidr_el[0]); + case 1: /* TPIDR2_EL0 */ + return gdb_get_reg64(buf, env->cp15.tpidr2_el0); + default: + /* gdbstub asked for something out of range */ + break; + } + + return 0; +} + +int aarch64_gdb_set_tls_reg(CPUState *cs, uint8_t *buf, int reg) +{ + ARMCPU *cpu =3D ARM_CPU(cs); + CPUARMState *env =3D &cpu->env; + + switch (reg) { + case 0: /* TPIDR_EL0 */ + env->cp15.tpidr_el[0] =3D ldq_p(buf); + return 8; + case 1: /* TPIDR2_EL0 */ + env->cp15.tpidr2_el0 =3D ldq_p(buf); + return 8; + default: + /* gdbstub asked for something out of range */ + break; + } + + return 0; +} + int aarch64_gdb_get_pauth_reg(CPUState *cs, GByteArray *buf, int reg) { ARMCPU *cpu =3D ARM_CPU(cs); @@ -586,6 +624,31 @@ GDBFeature *arm_gen_dynamic_smereg_feature(CPUState *c= s, int base_reg) return &cpu->dyn_smereg_feature.desc; } =20 +GDBFeature *arm_gen_dynamic_tls_feature(CPUState *cs, int base_reg) +{ + ARMCPU *cpu =3D ARM_CPU(cs); + GDBFeatureBuilder builder; + int reg =3D 0; + + gdb_feature_builder_init(&builder, &cpu->dyn_tls_feature.desc, + "org.gnu.gdb.aarch64.tls", "tls-registers.xml= ", + base_reg); + + /* + * This feature must always have "tpidr", and may also have "tpidr2" + * if the CPU has that register. + */ + gdb_feature_builder_append_reg(&builder, "tpidr", 64, + reg++, "data_ptr", NULL); + if (cpu_isar_feature(aa64_sme, cpu)) { + gdb_feature_builder_append_reg(&builder, "tpidr2", 64, + reg++, "data_ptr", NULL); + } + gdb_feature_builder_end(&builder); + + return &cpu->dyn_tls_feature.desc; +} + #ifdef CONFIG_USER_ONLY int aarch64_gdb_get_tag_ctl_reg(CPUState *cs, GByteArray *buf, int reg) { --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231470; cv=none; d=zohomail.com; s=zohoarc; b=f1juO2whcJAcy9rRvlPKkzxZ2kdlRK9Hy8bPqoY9MUMZXAT56kgfYu9edNNJ6lh8Xq74CSC6+dd+MTjyOXUgjrAqFq9bJBxh32tUtdtkxT+j0C3qejHzh0wdz0H44vYGO/96DzfkO8LqNiA1OLQpNuIe4AYkV84abiB0BU1qKkk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231470; 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=bE/XAE9VbTeD/8marqOlL9DMLLUUC/0huKhP50Lqb/8=; b=DsQNsJRIeEjH4vC3KU2tvNCC/HIzFS8yzBdLzHlKNGV7xVzAtFpG+4mn4Zqh66jqdm32GoHOyhD+zd26D6Ms3ZkjjXW5xAVZEInkjultgfHgiUaCfV9IfOR6PxyjEYxQCbwC81Q83vyDtqgLI66l7ngpPpGsDYX0sF/d3nqNLhg= 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 1761231470044558.804224555527; Thu, 23 Oct 2025 07:57:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjh-0004u6-NM; Thu, 23 Oct 2025 10:56:17 -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 1vBwjg-0004sj-Oh for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:16 -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 1vBwjf-0005ap-1A for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:16 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-47106fc51faso13233285e9.0 for ; Thu, 23 Oct 2025 07:56:14 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231373; x=1761836173; 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=bE/XAE9VbTeD/8marqOlL9DMLLUUC/0huKhP50Lqb/8=; b=qAqsbJQDt3tAzLUnaxd8n1lfv7rCuIfzMBOlIDKOc2lR4ih0QNMjbAbP8xjXdnmfgj HtIv3Qeoi8RclvpDbBYf0WHTgJVfGlRFqYYL9uBv6z46aef/1O6wNy7NwAs4Zx9nxKfn FFyXYmRy5+r06iroiW7AHGduB0dScqN6oOobvWSSckMPDx4sZEnewzmetRhwIFfHAWoR pBlMmMngD7wbHNVSrUCVr+W/05vDaiD6q4m8nsRTzPgXuOvkkkuWm2jSIpk6c1Z6QbVe v6gS11rNFOFEjFL4whqtVRVQI5FcBp5DICXrHjJpyFFobKCuYw0SW66VpOJD1rNAZ/4I PCiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231373; x=1761836173; 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=bE/XAE9VbTeD/8marqOlL9DMLLUUC/0huKhP50Lqb/8=; b=SjZmVfiJVjR2ZvNRN2NlOQaIJ2H1ZSYlYwOd1PZcnwaF4ZvyhMr06MK9+KcrYXwEac Nm5pM+lQ8GcNZC6uCyKwUsINmrrUo3+YxlQ6Xs4AfIjrX6gsPaBJBELhftZcO1e23yV/ e3dlcy/YmtsOoZ2lbTRxs07zId45lUgM6OvpT4N+xabS+DmqJeJ6uk4ZHloyzKXEJsCw wLAwShMRBCaHaPjjmWY1msluFVlpMXbDHfccJrg1tpi87a7WT56hZZvBm7gLeWcMlW7y PiDkbzmEhTKKUyRFgEDDdhXNo/VnK9MmFH+mfoSHsLT7I/cpoFg/CQVIjghtVw7Dtw5s NuSg== X-Gm-Message-State: AOJu0Ywgzd/vcPNuqsc3p8QQfHZ/qzU2wsu57Wx1zXxN1udbH7xJDi+R oZSPOUWzbkixEW2nmeGta2TNjQOzn75yPY+sG+NrMNq3hszFhVQU0fXqUrHeKA1Cnra1QH/VYSO XbQ2X X-Gm-Gg: ASbGnctzuvyFNLPRj+2xD7LxL2tUaEU364CEPsjxTfR9JRTRwf0HdHDgYAwz/LDuAxG m7rKCT/SGrn8Zn3c9LeODo0SvY4hRzLqd02QMpRWoSGjSNbGRltb3L9F3a6+fn1eu5YdRbkzt5S sqKCGql07FEY6SmWnFx3HTKPDVYmGHjcOd9ZHSc5lssBb/DC8jt4RVK6xgKaTcKTUCOvFIevCSA cHUNrqgD3oBhLZlt98aW3AyEZeVUyee47UaLqMr+eqqlsuH/aoiqeQD5qIRtsXGx9QtCwa601vh HaN9hBjyCto+dZa5y9Pg4p3lYbcUJVUOvEChbIvyx5eM3cO/yjMXGDRgkoZpM6Kcvh8reuAjuxa 4FKkZKE1aWxn+AW+/16CGe9mR8DZSAQrW+2D+hb3Ceq9Jj6HQ84NthZ7nwVhGUe07aihxE7QeXg X3JVgtRQd2Rm8kFK3D X-Google-Smtp-Source: AGHT+IHsAEZMoDUSjznmqPioCQldxA9g6TM7+OMHIV9W1+ds0s+FOdFlY4i/dj8ttTwWC+uC/sWNIg== X-Received: by 2002:a05:6000:186a:b0:3ff:17ac:a347 with SMTP id ffacd0b85a97d-42704d7be45mr20534226f8f.27.1761231373025; Thu, 23 Oct 2025 07:56:13 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 15/16] tests/tcg/aarch64: Add test case for SME2 gdbstub registers Date: Thu, 23 Oct 2025 15:55:53 +0100 Message-ID: <20251023145554.2062752-16-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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: 1761231471758158500 Test the SME2 register exposure over gdbstub, in the same way we already do for SME. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20251017153027.969016-4-peter.maydell@linaro.org --- tests/tcg/aarch64/Makefile.target | 9 ++++++- tests/tcg/aarch64/gdbstub/test-sme2.py | 36 ++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 tests/tcg/aarch64/gdbstub/test-sme2.py diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile= .target index 55ce34e45ee..9fa86874534 100644 --- a/tests/tcg/aarch64/Makefile.target +++ b/tests/tcg/aarch64/Makefile.target @@ -164,7 +164,14 @@ run-gdbstub-sysregs-sme-tile-slice: sysregs "selected gdb ($(GDB)) does not support SME ZA tile slices") endif =20 -EXTRA_RUNS +=3D run-gdbstub-sysregs-sme run-gdbstub-sysregs-sme-tile-slice +run-gdbstub-sysregs-sme2: sysregs + $(call run-test, $@, $(GDB_SCRIPT) \ + --gdb $(GDB) \ + --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ + --bin $< --test $(AARCH64_SRC)/gdbstub/test-sme2.py, \ + gdbstub SME ZA tile slice support) + +EXTRA_RUNS +=3D run-gdbstub-sysregs-sme run-gdbstub-sysregs-sme-tile-slice= run-gdbstub-sysregs-sme2 =20 endif =20 diff --git a/tests/tcg/aarch64/gdbstub/test-sme2.py b/tests/tcg/aarch64/gdb= stub/test-sme2.py new file mode 100644 index 00000000000..74a045febf5 --- /dev/null +++ b/tests/tcg/aarch64/gdbstub/test-sme2.py @@ -0,0 +1,36 @@ +# +# Copyright (C) 2025 Linaro Ltd. +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# +# Test the SME2 registers are visible and changeable via gdbstub +# +# This is launched via tests/guest-debug/run-test.py +# + +import gdb +from test_gdbstub import main, report + + +def run_test(): + """Test reads and writes of the SME2 registers""" + frame =3D gdb.selected_frame() + rname =3D "zt0" + zt0 =3D frame.read_register(rname) + report(True, "Reading %s" % rname) + + # Writing to the ZT0 register, byte by byte. + for i in range(0, 64): + cmd =3D "set $zt0[%d] =3D 0x01" % (i) + gdb.execute(cmd) + report(True, "%s" % cmd) + + # Reading from the ZT0 register, byte by byte. + for i in range(0, 64): + reg =3D "$zt0[%d]" % (i) + v =3D gdb.parse_and_eval(reg) + report(str(v.type) =3D=3D "uint8_t", "size of %s" % (reg)) + report(v =3D=3D 0x1, "%s is 0x%x" % (reg, 0x1)) + +main(run_test, expected_arch=3D"aarch64") --=20 2.43.0 From nobody Mon Oct 27 11:41:46 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=1761231484; cv=none; d=zohomail.com; s=zohoarc; b=O67W0R0o5eX4c9KDgvIwV6TZ2x/LcWeNluP+a0UfaJzVGtDGgi0ZH2uPycAwi0+NwilYyP0Mc6nVaekDBRBVu6rtUoEMQ6ao79IWiIqBM1oy8+b5dd8euTqFs4bKtYwjrTBqysGtiPadLIuiiMfeiiloja7FYX28GpHsxQ1mZFY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761231484; 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=vJBIux6dYQ51Htvje7MqSD4Q3H/yZoxJqquoVf9AWbs=; b=iX6Vdz0c0fyOnF04iD1eN/IZm982lDRmnwhNo1eL7Jf+5F6Cas3oPe4BUKPx8e94Fc8LYQvxFrn9cn2GCNSmYYYtJIqQyp+Vstjl6vJsIT3paiycJf1+CZd4iaGmp+wESSoLnVGtopMiJRz7gZEANZTZimxKGSNGoV8qtc/QNFM= 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 1761231484048169.83205427942892; Thu, 23 Oct 2025 07:58:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vBwjj-0004vc-64; Thu, 23 Oct 2025 10:56:19 -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 1vBwjh-0004tt-C4 for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:17 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vBwjf-0005ay-LE for qemu-devel@nongnu.org; Thu, 23 Oct 2025 10:56:17 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-427084a641aso677559f8f.1 for ; Thu, 23 Oct 2025 07:56:15 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429898acc63sm4398465f8f.27.2025.10.23.07.56.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 07:56:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1761231374; x=1761836174; 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=vJBIux6dYQ51Htvje7MqSD4Q3H/yZoxJqquoVf9AWbs=; b=fJ4G7qlhgfWmlxOyryIyTVkcpN32BK6bJfOwhhoftdP45o3d7+eR4j/cuXCZ/pENFb aMXiG1Eb1VppMZJCJhta/gmO0stWfBptLkwlRWLEHJBADLrvDrG7mDD4i46HbjP90o28 D8mhuCEEdf8oRP2P4nAs7I71tu2hmQx1qnASmKq25gMX/SGahpqpc2O4f5n26TMOA8C+ wA86ILwDAfjMHWE13ctz1qS2xJ/VnpseK/CFBFtewrH+zHFUWSZpbzBk8UrgTbY/2blb h8VD+h1hseItjcBfw5bX7Hjnb65RXlUInF3jz21EctSbSyKHr85KBQd0b5ACvSDxkngd KkdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761231374; x=1761836174; 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=vJBIux6dYQ51Htvje7MqSD4Q3H/yZoxJqquoVf9AWbs=; b=CW+sTQ9i/0mntImX7uTUVIr/GbmyPZHIs2MmphLG18M2Ej/IRLpYCG0b86whIKg61m 9qBppcGyxyfDoy6AEnZLw1RipYpat3R8e4jIjmBgJoh5vjxh9Onr/PXwb2WFVMxqT5rJ iI7HvS/+FWe9DLH5poT1Q9WDoE1aC61oQwcfQu49J7K87UQ/VE/Qa/aIEU+JXLHG7SM2 xI7vZahlP+HafpKj4ipFWu7Cj187Zfb9jLRqAl0J9wXq7U08fVJ81Buc87MMKKMIDJqw NdQB7aMbSIp5yGvlExaN/3EEYU5kdbQGn27z5lFSmRrK4Sv4NPPbFRlLeq7Oo5CIp7ep rrOw== X-Gm-Message-State: AOJu0YzOGXtSCe7DxhoBvZlhZffyTKZVreNqTHgmtXLAEORhEZCx3Kvt /f87UtTnu7ve2v2o4e5O7dpR+KBusWYpDIXTvt0LilU7Wm3pG1Acv1mCEwqqQjDROCoSx8FBMYy XFr8G X-Gm-Gg: ASbGncsR5yGeNcf99GtE0xmv9Y9KHJsT8E2Sq/+UAZN/FB5DcHWgp401soBPCvke5Z4 d1/ub1WVANBYd3lmHNc1AZZ9naeswG2jvFYmnSbvh/55qdkrwE9CF/8AiDtw4o6Npxh9Rm+FORI ZstTsX22bLaG01QLrGB8akA3xosEglF8hOeHXUs75GZGuSZyGqku0mbbbdoQIMQr/EUR4Z1oBHJ vJuANvcaYDp5jrV2MNvx4SQKJIcXao/hzf/U8+OucTF7nTeGSkYPJ+x/Qyf+9fKAeRuc3hHKUtF SPhlf7gcePxMcHqvnPj2FqxOrOGp0pzkArBIMymEoFS9P8CtS9BTVvh2dGaxx1VmdCl8TTvUo9S JO4ANGxqH4lT/k4NxGzQTDGu9D++O3iMgki7NfOroyJvVcF3SwXzDVGfKJyH/NGSt2eU/0x6DHE KJKXNIOtUClRm3o0cv X-Google-Smtp-Source: AGHT+IFQ9rNOXoYp/Zn6dDuqjTIVW/oKLixVd0oVvLVNmL8zjR3xffzav24oa0OiEsNArdY7ah3dtQ== X-Received: by 2002:a5d:5d02:0:b0:3f7:b7ac:f3d2 with SMTP id ffacd0b85a97d-42704d9b22amr15501163f8f.43.1761231374005; Thu, 23 Oct 2025 07:56:14 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 16/16] hw/net/rocker: Don't overflow in of_dpa_mask2prefix() Date: Thu, 23 Oct 2025 15:55:54 +0100 Message-ID: <20251023145554.2062752-17-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251023145554.2062752-1-peter.maydell@linaro.org> References: <20251023145554.2062752-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::42c; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42c.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: 1761231489905158500 In of_dpa_mask2prefix() we do "(2 << i)" for a loop where i can go up to 31. At i =3D=3D 31 we shift off the top end of an integer. This doesn't actually calculate the wrong value in practice, because we calculate 0 - 1 which is the 0xffffffff mask we wanted (and for QEMU shifting off the top of a signed integer is not UB); but it makes Coverity complain. We could fix this simply by using "2ULL" (where the "(2ULL << i) - 1" expression also evaluates to 0xffffffff for i =3D=3D 31), but in fact this function is a slow looping implementation of counting the number of trailing zeroes in the (network-order) input mask: 0bxxxxxxxxx1 =3D> 32 0bxxxxxxxx10 =3D> 31 0bxxxxxxx100 =3D> 30 ... 0bx100000000 =3D> 2 0b1000000000 =3D> 1 0b0000000000 =3D> 0 Replace the implementation with 32 - ctz32(). Coverity: CID 1547602 Suggested-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20251016145407.781978-1-peter.maydell@linaro.org --- hw/net/rocker/rocker_of_dpa.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/hw/net/rocker/rocker_of_dpa.c b/hw/net/rocker/rocker_of_dpa.c index 4aed1787566..16b9bc7a4b8 100644 --- a/hw/net/rocker/rocker_of_dpa.c +++ b/hw/net/rocker/rocker_of_dpa.c @@ -198,16 +198,7 @@ typedef struct of_dpa_group { =20 static int of_dpa_mask2prefix(uint32_t mask) { - int i; - int count =3D 32; - - for (i =3D 0; i < 32; i++) { - if (!(ntohl(mask) & ((2 << i) - 1))) { - count--; - } - } - - return count; + return 32 - ctz32(ntohl(mask)); } =20 #if defined(DEBUG_ROCKER) --=20 2.43.0