From nobody Mon Feb 9 08:07:22 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1764871620; cv=none; d=zohomail.com; s=zohoarc; b=XNHbqO5jrE89HM7rBb1dc6ifFmAcQaQJtFmCZmpPiiBUtUiAc8nzmqn5ftny346eTB+wl0Fs6vhlI8m3eOYSzuLM4Vwe6KCl99g27/+oZPLbaxpMMpn5mlqsLnLz2gUvIFOsK/tjRov3sudYXQ98EUlID26V0N1Q2th497++KaI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764871620; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=3pWIda8e2UrEXXWq+lxi04bS+9Uhurh/4yQC9gLnIYs=; b=LsGFL3oP70CobCtWPl8YXxXy4btVpD4MLkJPoefRy9jg4kYFe73/zGnKrH0Uh80cVuUvcEmtZlU1XdPInvySo+mt05piu8B8nZX/DzBXGog1Vtra+7mwc+fXKB8s1XAp6H5vHuYZ4VrTmNGlffyRCKnh2+O9rsv2IWs/vbmlkP4= 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 1764871620173613.7535819572855; Thu, 4 Dec 2025 10:07:00 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vRDiq-0006Aa-Iw; Thu, 04 Dec 2025 13:06:32 -0500 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 1vRDij-00067M-Ru for qemu-devel@nongnu.org; Thu, 04 Dec 2025 13:06:27 -0500 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vRDig-0005Xq-8U for qemu-devel@nongnu.org; Thu, 04 Dec 2025 13:06:23 -0500 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-42e2d52c24dso718510f8f.1 for ; Thu, 04 Dec 2025 10:06:21 -0800 (PST) Received: from jimm-x1.. ([2a10:d582:31e:0:d817:b2ba:2766:5b2a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42f7d331e29sm4589641f8f.32.2025.12.04.10.06.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Dec 2025 10:06:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1764871580; x=1765476380; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3pWIda8e2UrEXXWq+lxi04bS+9Uhurh/4yQC9gLnIYs=; b=lTrJwie28wTVbt08NwGM3xAMY/LNJ7IPT0XJ0xjqoIlWq/NKbmGU8WK3UjiZMfSiiq 44jeqfc+v40ZNJr06NJAcKdwL3Fx9+1O+EIvr3wRg3pi38ADUvhGyhqnZ+Iyk5LaJTKL QGglWJRolyqmWGrfGb55+xFJ/oqBCV2H9OSifXtlX97mvzxCLhtZtNau3SL41OR2d94p Ar0ExFjTqDXVQAtBYxQF/yWSuCX2UdMqIFeL6WTNxUq9Z/wWLfLpVeMwRCz/EYnAKwNl wr8twGAmzMEAyB8bxsbn2bZKBwdUDJJNdNoBYjFtB396Uym6TzmxbiUZeWgnnSVXt2Wk JvBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764871580; x=1765476380; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=3pWIda8e2UrEXXWq+lxi04bS+9Uhurh/4yQC9gLnIYs=; b=XDxf/POP9XZheA3xw8shMIizZC471pROJJPIRSyAw/oq4ex01t8lL1uAsZ+GhGlI9m 48OkzwyIgAzp5YopCRja4B0QD/kl7kiXWwNgAgvRoKF0cZa3oUtyFpkPEMLrmau1lUt3 UekawMAX5ySeuXtKBkL5KsIRsKNAHj9F1Gg7VwPByMRAJPQkbMnMJfmOoHx+qc5SnDXe SLJpXqEk0X7DTMFXawqW69Jhl85+Fb7p2ZoV8WG17AyFE4lgRsKeixVmRM8YSWW1abKk xng/J64bzIe3ntPP7oM7cHeMzWWjNLTmx1JnkCc3SDfnM82t4RYQEVgcPwvG4tU6PMrK w9EQ== X-Gm-Message-State: AOJu0YxwJzj15fJuazyO3v+PuL9J7oI0xNANEByCbcddP72AqzwHN3mZ zqlMb6gQ3+G9BhnAv39mN9tQi68meBmlZ2UGl3cWBZnnGHa/1pYbvgOtMNziw/cKE5Uk+XmTAJe DiOwc X-Gm-Gg: ASbGnctuNAPlde14JB2wC8DSNQnIhxlfRF7DVUXnDUbWu/MYY59oWeMo/hQxCsovW7F B79HYjcHqyI2HJy47EfIDQygB/fUDqfJyq9lAok9bIQx4gN+f7fWj3BFEB/shvDUgqFF2jhvBz8 YrOnDZNoe7DJp9poyOE16DFJEOyRfq+jL6MqV+i1LB0J7L8EaaHG0nzaHb8vpKwNFfvZUosjqRj JlEwRavi+uY0dNccFa1VP6B+nbdpSBelTr0wVEds8cWOMIxLd/QjGgn9JcbXunroTJZpcwxdq4u hmHTpboDaQMfRvq9GOupIa+EJdCk9AgzWjXk6CY3uOWg/9k9mk8HGL4G5Tq6pIWdpvpjr/ujnJH nwoB6YccHV6FsE6mZo0EYmq5NeJ/bVFS+AuhSpZ0jKn/4uN8oUzf+LmfnzbO1ajcQH9xQO/Sehh FPN5qf8fJYV69c X-Google-Smtp-Source: AGHT+IHdXPMQkc61rFnp66+Hnj8vxOTn7Nm5+pp1SaajtwOmUTAywFIm4MbGo4jNrAow5CnbnSUqtg== X-Received: by 2002:a05:6000:290e:b0:429:c7dc:e613 with SMTP id ffacd0b85a97d-42f731f5ffdmr7950499f8f.41.1764871580123; Thu, 04 Dec 2025 10:06:20 -0800 (PST) From: Jim MacArthur To: qemu-devel@nongnu.org Cc: Jim MacArthur Subject: [PATCH 1/4] target/arm: Enable ID_AA64MMFR4_EL1 register Date: Thu, 4 Dec 2025 18:04:11 +0000 Message-ID: <20251204180617.1190660-2-jim.macarthur@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251204180617.1190660-1-jim.macarthur@linaro.org> References: <20251204180617.1190660-1-jim.macarthur@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=jim.macarthur@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, 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: 1764871622497019200 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jim MacArthur --- target/arm/cpu-sysregs.h.inc | 1 + target/arm/helper.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/target/arm/cpu-sysregs.h.inc b/target/arm/cpu-sysregs.h.inc index 2bb2861c62..2ba49d8478 100644 --- a/target/arm/cpu-sysregs.h.inc +++ b/target/arm/cpu-sysregs.h.inc @@ -14,6 +14,7 @@ DEF(ID_AA64MMFR0_EL1, 3, 0, 0, 7, 0) DEF(ID_AA64MMFR1_EL1, 3, 0, 0, 7, 1) DEF(ID_AA64MMFR2_EL1, 3, 0, 0, 7, 2) DEF(ID_AA64MMFR3_EL1, 3, 0, 0, 7, 3) +DEF(ID_AA64MMFR4_EL1, 3, 0, 0, 7, 4) DEF(ID_PFR0_EL1, 3, 0, 0, 1, 0) DEF(ID_PFR1_EL1, 3, 0, 0, 1, 1) DEF(ID_DFR0_EL1, 3, 0, 0, 1, 2) diff --git a/target/arm/helper.c b/target/arm/helper.c index 27ebc6f29b..c20334fa65 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -6566,11 +6566,11 @@ void register_cp_regs_for_features(ARMCPU *cpu) .access =3D PL1_R, .type =3D ARM_CP_CONST, .accessfn =3D access_aa64_tid3, .resetvalue =3D GET_IDREG(isar, ID_AA64MMFR3) }, - { .name =3D "ID_AA64MMFR4_EL1_RESERVED", .state =3D ARM_CP_STA= TE_AA64, + { .name =3D "ID_AA64MMFR4_EL1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 3, .opc1 =3D 0, .crn =3D 0, .crm =3D 7, .opc2 =3D = 4, .access =3D PL1_R, .type =3D ARM_CP_CONST, .accessfn =3D access_aa64_tid3, - .resetvalue =3D 0 }, + .resetvalue =3D GET_IDREG(isar, ID_AA64MMFR4) }, { .name =3D "ID_AA64MMFR5_EL1_RESERVED", .state =3D ARM_CP_STA= TE_AA64, .opc0 =3D 3, .opc1 =3D 0, .crn =3D 0, .crm =3D 7, .opc2 =3D = 5, .access =3D PL1_R, .type =3D ARM_CP_CONST, --=20 2.43.0 From nobody Mon Feb 9 08:07:22 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1764871641; cv=none; d=zohomail.com; s=zohoarc; b=j0vh0h1mS8o+6PAtWlpPOvcA/K6GxtKlzXw6oljQgLh445pfL/jX27ym0ZtmwlxloAtMcpcuHdZ8M/57qNWwfmv0iqTSKQ6dJjHLaba53EzN2PcJfuDZE7UHCHffO+7OwniMdVKSzgU8i7QRBzxtb3uM53QeVHz3yyCrQWLT/qk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764871641; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=PB2UE02+vaRNynPNG9J56XxSHzWeqyBwXNuiiG3tTJQ=; b=HmbCECwG8xv80SHYkvKvsG/OPS8tgN3S+epeE2FFTGs8bNtrLoNZayF2A9OgJB9Jee/peU+mcTr7ltoyR8TlQeB+m4/VWjCb/76SgDdvU9eskIsxpyvSteGiEmOs1NcV5yfb+/b4vPjXyIKGq2WnHfwd4mg9T5ZR3ZzKPq9M4+w= 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 1764871641964526.9270239695247; Thu, 4 Dec 2025 10:07:21 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vRDir-0006Au-6P; Thu, 04 Dec 2025 13:06:33 -0500 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 1vRDij-00067N-SZ for qemu-devel@nongnu.org; Thu, 04 Dec 2025 13:06:27 -0500 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 1vRDig-0005Xw-8b for qemu-devel@nongnu.org; Thu, 04 Dec 2025 13:06:24 -0500 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-42e2ce8681eso942279f8f.0 for ; Thu, 04 Dec 2025 10:06:21 -0800 (PST) Received: from jimm-x1.. ([2a10:d582:31e:0:d817:b2ba:2766:5b2a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42f7d331e29sm4589641f8f.32.2025.12.04.10.06.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Dec 2025 10:06:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1764871580; x=1765476380; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PB2UE02+vaRNynPNG9J56XxSHzWeqyBwXNuiiG3tTJQ=; b=rOELjwws89y5aNoh+OplVS/J13KSl4pgHd5HUan+2Qs9919xWIKFtPqV6mVGEuvJn1 NyFdgr4a9PzaFNDpUbBxwoyXvzRJIb2L7DsGC8QeZysB2hPPTCvCiBMi2GO1h2zlXCIr vgzTcGNkJ9zoWvO9x9MI9n378xc16PokAtOncTCxj54WZz4vl1c7A32a0dx3ZfBDoRhG JtTrTAGaXm8Tai5k7bdegCSTQZyAHnv5LzncSIrX7V9AAui1wrfMU1h9NtDEXrHlUb3H KZpopuiOWiHhUURsdttcG5QTcARghtVWJuBILiIB735bUYoZtE/wALaZSCAswvnkIhNH t4sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764871580; x=1765476380; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=PB2UE02+vaRNynPNG9J56XxSHzWeqyBwXNuiiG3tTJQ=; b=u6KuQAECgNTE8ZjF7UhC8K6tGmQyMeiMVVj8UYlPEE/46RmbbhFJFGW+oDX68y8BJ/ FCSGcNW0ones53zelsgPMfnIC6GiRRGdRGGKoyZoLpY9kDzGtDt04yRkCPsOzWbIlcaT 3v7B59uaH8BF7kQKhbFd5NKHW3tN2ZzUcvFrk5G1oOuWG/iqbAlPl1LByJNnUdcB+AjN 4uf+9nARMhBcB99eJEWHVa5x136pmdmcJXR3+VJpjnpQxvZo0hzxUIc5n5SudlvL3Saf eongyuYCMr43A0RQGuxfAtBhp+0jSTOXdMFSZp4T2NLe5KqWZyqolmV8NM9Xd77LJJ3d Ci/A== X-Gm-Message-State: AOJu0YyITNYAXFDi9u7YqOZyLkG6I83w5tTk/C2PKVzC1A1LUyLZHDBy a4d6DFVZE7rpwCrcc+uH8ki9q4aQIJ1FAm3xKfr8bh3OLSxaXsTUldX01qcGEpWZG2qoKE3+hgG CkVPM X-Gm-Gg: ASbGncs2D08Bvtdg6+CFzpMeCsVt9X4ro1qxme//+/UjGqJON20jp4dex2VqUjUj6vF 4/XefMugfzRWeOIBbfYH+Vs10t7zD771jg0JXwmrMRolT89xUEHn742Jr9EyUOiY7fGzTMaABwS LJbETxhxKvTxz8TX9zvB3OR+OruE3iKQZ36Q/4aiJoysKKGxJOJ1mm+WQfkCiwyxyU5+Nae5HBA oOBSTM+dQwFVMd4PZiSz8bf370noOH4aLro+4aJ5GyAfL0vd/dc0e+eX7eA6Iv9N5wskp8CAgia A2CFedKCeSxtGjPjtzdQVKtF2rWxLalJUvvrYJjGU0Jrl25psCZ+frRhmFeUkmB1var6G+bs2uK EEzc4A+e8VLbA9nonxOZneuYWItKp9cLZQbuI/d2Wr6bfZieO/56Pk1WdOWBIE4n0jrm+aTVpH+ cPYTl2mXLkXEma X-Google-Smtp-Source: AGHT+IEMrouYXTaWBww9NSpfEqi1VGV6PCmDswP2kxQAg+O2qr1KJSkyJ1pEjTwGKDGKTWEKIN3yOQ== X-Received: by 2002:a05:6000:4025:b0:42e:28a4:1fc4 with SMTP id ffacd0b85a97d-42f731cf0femr7889326f8f.55.1764871580559; Thu, 04 Dec 2025 10:06:20 -0800 (PST) From: Jim MacArthur To: qemu-devel@nongnu.org Cc: Jim MacArthur Subject: [PATCH 2/4] target/arm: Allow writes to FNG1, FNG0, A2 Date: Thu, 4 Dec 2025 18:04:12 +0000 Message-ID: <20251204180617.1190660-3-jim.macarthur@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251204180617.1190660-1-jim.macarthur@linaro.org> References: <20251204180617.1190660-1-jim.macarthur@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=jim.macarthur@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: 1764871642949019200 Content-Type: text/plain; charset="utf-8" This just allows read/write of three feature bits. ASID is still ignored. Any writes to TTBR0_EL0 and TTBR1_EL0, including changing the ASID, will still cause a complete flush of the TLB. Signed-off-by: Jim MacArthur --- target/arm/cpu-features.h | 7 +++++++ target/arm/helper.c | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h index 579fa8f8f4..d56bda9ce0 100644 --- a/target/arm/cpu-features.h +++ b/target/arm/cpu-features.h @@ -346,6 +346,8 @@ FIELD(ID_AA64MMFR3, SDERR, 52, 4) FIELD(ID_AA64MMFR3, ADERR, 56, 4) FIELD(ID_AA64MMFR3, SPEC_FPACC, 60, 4) =20 +FIELD(ID_AA64MMFR4, ASID2, 8, 4) + FIELD(ID_AA64DFR0, DEBUGVER, 0, 4) FIELD(ID_AA64DFR0, TRACEVER, 4, 4) FIELD(ID_AA64DFR0, PMUVER, 8, 4) @@ -1369,6 +1371,11 @@ static inline bool isar_feature_aa64_aie(const ARMIS= ARegisters *id) return FIELD_EX64_IDREG(id, ID_AA64MMFR3, AIE) !=3D 0; } =20 +static inline bool isar_feature_aa64_asid2(const ARMISARegisters *id) +{ + return FIELD_EX64_IDREG(id, ID_AA64MMFR4, ASID2) !=3D 0; +} + static inline bool isar_feature_aa64_mec(const ARMISARegisters *id) { return FIELD_EX64_IDREG(id, ID_AA64MMFR3, MEC) !=3D 0; diff --git a/target/arm/helper.c b/target/arm/helper.c index c20334fa65..ecb31b058c 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -6095,6 +6095,7 @@ static void tcr2_el1_write(CPUARMState *env, const AR= MCPRegInfo *ri, { ARMCPU *cpu =3D env_archcpu(env); uint64_t valid_mask =3D 0; + bool require_flush =3D false; =20 if (cpu_isar_feature(aa64_s1pie, cpu)) { valid_mask |=3D TCR2_PIE; @@ -6102,8 +6103,16 @@ static void tcr2_el1_write(CPUARMState *env, const A= RMCPRegInfo *ri, if (cpu_isar_feature(aa64_aie, cpu)) { valid_mask |=3D TCR2_AIE; } + if (cpu_isar_feature(aa64_asid2, cpu)) { + valid_mask |=3D TCR2_FNG1 | TCR2_FNG0 | TCR2_A2; + require_flush =3D true; + } value &=3D valid_mask; raw_write(env, ri, value); + + if (require_flush) { + tlb_flush(CPU(cpu)); + } } =20 static void tcr2_el2_write(CPUARMState *env, const ARMCPRegInfo *ri, @@ -6111,6 +6120,7 @@ static void tcr2_el2_write(CPUARMState *env, const AR= MCPRegInfo *ri, { ARMCPU *cpu =3D env_archcpu(env); uint64_t valid_mask =3D 0; + bool require_flush =3D false; =20 if (cpu_isar_feature(aa64_s1pie, cpu)) { valid_mask |=3D TCR2_PIE; @@ -6121,8 +6131,16 @@ static void tcr2_el2_write(CPUARMState *env, const A= RMCPRegInfo *ri, if (cpu_isar_feature(aa64_mec, cpu)) { valid_mask |=3D TCR2_AMEC0 | TCR2_AMEC1; } + if (cpu_isar_feature(aa64_asid2, cpu)) { + valid_mask |=3D TCR2_FNG1 | TCR2_FNG0 | TCR2_A2; + require_flush =3D true; + } value &=3D valid_mask; raw_write(env, ri, value); + + if (require_flush) { + tlb_flush(CPU(cpu)); + } } =20 static const ARMCPRegInfo tcr2_reginfo[] =3D { --=20 2.43.0 From nobody Mon Feb 9 08:07:22 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1764871629; cv=none; d=zohomail.com; s=zohoarc; b=lsx/MNntOAxjTdKYUwbx+OIcJUT7cYvlPSbwVONLIQPim/jVdzFOKGTLzBKqrs5Z09lXvObz+88pOaVODa/IDsEfo1rnn6IgBzmC/EWnTxZhF2m9jvcMva1ufgXgl/ln1Du7lm1nsmGaXG7hZWI+s9hu4t+CvTRqf/zAcwkoXck= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764871629; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=cb5R6GVtT3ngT31J+bLz+2AkcRkLlyFAa9g4z7kxhQ8=; b=CPo7vEh9NLnNh8fEtK6xfZxthwWOcWzWzHJ+rB8d7NQ1mAW1AnavIVocymRD7G3IhK7G2oDK3zeNJfWs2qb/NcqxAZK0pFl7N0iDUf0sS9dvRsG84L5OYyHwaDPJ2oZ/rTDZnoteRol0L5vef50P7k+PXKTX40ywmq1o7krlIxA= 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 1764871625856755.7978060468681; Thu, 4 Dec 2025 10:07:05 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vRDir-0006Ay-Mm; Thu, 04 Dec 2025 13:06:33 -0500 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 1vRDij-00067K-R9 for qemu-devel@nongnu.org; Thu, 04 Dec 2025 13:06:27 -0500 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vRDig-0005Y1-S5 for qemu-devel@nongnu.org; Thu, 04 Dec 2025 13:06:24 -0500 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-42e2cf93f7dso887372f8f.1 for ; Thu, 04 Dec 2025 10:06:22 -0800 (PST) Received: from jimm-x1.. ([2a10:d582:31e:0:d817:b2ba:2766:5b2a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42f7d331e29sm4589641f8f.32.2025.12.04.10.06.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Dec 2025 10:06:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1764871581; x=1765476381; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cb5R6GVtT3ngT31J+bLz+2AkcRkLlyFAa9g4z7kxhQ8=; b=Rb85RnX+vFYjpLzqtXFXBTA4C8Fn+CmbmxUqMGHqNGRGFxKLbbCd9Up2c5FB0qXKMb TUaM1jF3/JurnoSRKtd2EodnSadiM6m9OyaAEtVFiu3jDYEL0+AP6fGiN3TTVYHpTbbR LBk6n/+MQcyLe0y2pIjWW30PakeRWAVBU0mcGu3Te05UhcQ0MeSWijS8FkTE+L+Y9CXd ruqXJf3jrgS+OmCT/TGcCIFbbJ79JT/XekiieRQ51jZq8nJtvDPMX+Swj0MFU9zmRQfj 7kbJp04Yzrp+3OZOPRa53rUdXUONnBig5OwAjgkDAfmkGKM9S2141AI032SdWYFqlywZ +vVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764871581; x=1765476381; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=cb5R6GVtT3ngT31J+bLz+2AkcRkLlyFAa9g4z7kxhQ8=; b=UpmICfm6xBdad23rO1biNUpDz6Pl/hQX9NzF0+3nZhe5SMwaLVxe1utr8PWXaeVqvK SODFf1d8hsnLnze0ztPi28NpHHYePse6DXUSbl9UiLl5JoZmzEGgu7GR9GiNpAmNL/p9 IALYqkYEOCRds+Gy7gxBblW0Hj9BRJvptcbVLHr5EcMNIlxrcfXobr/cUT5HleM5Hl1I pyxLGwW4ZcNMEvkKALnreFKPoIgbMsrfTdVDcZdTzJ/J5Zc8UCVwisjXuPATIfpyRCEk 9mc2ZXawgzDOMz7xlm/cxBtpvFE64LK7H43vst2w5EMJ14FmsctQy53DyP2rEUqm/015 XqdQ== X-Gm-Message-State: AOJu0YwqDREY5prsF1DEoBkmWD2QKZPDUxMrKryDEjepjq7+quRO/KNe 23U41PhlX4/O/QV7DENovUTzGi764xLzarL8ENxxCxjHBDjKtVai/14a9NnXMLiCGTlhs/6fFxy lntEi X-Gm-Gg: ASbGncsmAf6fVY3Ggh9PlVt6B4KsZ8LnNur0IJtVMphiLlZVvrdtBpvlJ1iNKMf9jJh Um97U9OA8EFYsUVLu4fXknrus8dA2et4S7pXtlLr/OY1uRw7WUDlFhhfoo4ZzXuJJgm+5irQk9k CKXrV4EDvNf2AtX8rGnZZIEh7nUud6bNba3wwRR+9ody5efVh743D2HuCBSXHfbKkbYtlPCZ/JG J+EfaQoUFa7kPtORm5OTUzZ5Ldutp9ewPv8mphz0o3AXpL7EGddRqw0kA9eGGvlWZBYHsHT6q+S SUL0E/fEnQShBTYMzdPgvmlZJvrRPUJ2BLcHl4KlUrTTWJXFCDgeOJXTmwcNkzrVBKWzzfxvmiZ HCJYEOyMTEKT+bgXfvf2CxXzO9SQHvREI80r9q88oTvV4xIUXInxVjk7eYk04S5QRIfefBjDgEL HkvONaDKj3K5PZ X-Google-Smtp-Source: AGHT+IHEf5tCppG3/fL6Y/N1R4fdiS4nYV50+bAh3hdQ+plEZb2YJYd+W+07S4f7ECz6bxqqH2i3Tw== X-Received: by 2002:a05:6000:4025:b0:42e:28a4:1fc4 with SMTP id ffacd0b85a97d-42f731cf0femr7889380f8f.55.1764871581263; Thu, 04 Dec 2025 10:06:21 -0800 (PST) From: Jim MacArthur To: qemu-devel@nongnu.org Cc: Jim MacArthur Subject: [PATCH 3/4] target/arm/tcg/cpu64.c: Enable ASID2 for cpu_max Date: Thu, 4 Dec 2025 18:04:13 +0000 Message-ID: <20251204180617.1190660-4-jim.macarthur@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251204180617.1190660-1-jim.macarthur@linaro.org> References: <20251204180617.1190660-1-jim.macarthur@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::42a; envelope-from=jim.macarthur@linaro.org; helo=mail-wr1-x42a.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: 1764871634629019200 Content-Type: text/plain; charset="utf-8" docs/system/arm/emulation.rst: Add ASID2 Signed-off-by: Jim MacArthur --- docs/system/arm/emulation.rst | 1 + target/arm/tcg/cpu64.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst index 31a5878a8f..3f30ea5a30 100644 --- a/docs/system/arm/emulation.rst +++ b/docs/system/arm/emulation.rst @@ -24,6 +24,7 @@ the following architecture extensions: - FEAT_AIE (Memory Attribute Index Enhancement) - FEAT_Armv9_Crypto (Armv9 Cryptographic Extension) - FEAT_ASID16 (16 bit ASID) +- FEAT_ASID2 (Concurrent use of two ASIDs) - FEAT_ATS1A (Address Translation operations that ignore stage 1 permissio= ns) - FEAT_BBM at level 2 (Translation table break-before-make levels) - FEAT_BF16 (AArch64 BFloat16 instructions) diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c index 6871956382..ef4c0c8d73 100644 --- a/target/arm/tcg/cpu64.c +++ b/target/arm/tcg/cpu64.c @@ -1334,6 +1334,10 @@ void aarch64_max_tcg_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64MMFR3, AIE, 1); /* FEAT_AIE */ SET_IDREG(isar, ID_AA64MMFR3, t); =20 + t =3D GET_IDREG(isar, ID_AA64MMFR4); + t =3D FIELD_DP64(t, ID_AA64MMFR4, ASID2, 1); /* FEAT_ASID2 */ + SET_IDREG(isar, ID_AA64MMFR4, t); + t =3D GET_IDREG(isar, ID_AA64ZFR0); t =3D FIELD_DP64(t, ID_AA64ZFR0, SVEVER, 2); /* FEAT_SVE2p1 */ t =3D FIELD_DP64(t, ID_AA64ZFR0, AES, 2); /* FEAT_SVE_PMULL128 */ --=20 2.43.0 From nobody Mon Feb 9 08:07:22 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1764871641; cv=none; d=zohomail.com; s=zohoarc; b=JVGeLb8RcAcKSA9BM75EQbE8WzuadtIhkdteGr0BQSOqNlwlcZU1MlWd/s+qCnYgLmcXxdChib0HF1/3p0QZvAuHwCYJ2XSTqDVystjuSV5YIq9zqHaoREjFE3pX6K/2lcwvePbITR4T4WH1jX2zNzXIwgChPe3q9OL9I95jaig= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764871641; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5zzJrLyR2vlRWkV9LLSEUDWhWY0B157Kg5d1h9ui2A0=; b=YZLFLvMMsaPqJGWzrGcwbEEv0cUygdDYSkv5tb7l1OjQLDi/yJpdqIqWhFcvLF7hhN8OgjqsRHKnpYPCYUlcwvJQhoV01pQFL/NMvV5tj5+RMKZIi2QlYHvDYxGv1IQqKcX54gvcErE5SFOU1JqRmHDnCNAFhxb2+TNoUbis/sQ= 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 1764871641751806.4247282618469; Thu, 4 Dec 2025 10:07:21 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vRDis-0006Az-44; Thu, 04 Dec 2025 13:06:34 -0500 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 1vRDil-00068a-NB for qemu-devel@nongnu.org; Thu, 04 Dec 2025 13:06:28 -0500 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 1vRDih-0005Y6-Fk for qemu-devel@nongnu.org; Thu, 04 Dec 2025 13:06:26 -0500 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-477a219db05so9197895e9.2 for ; Thu, 04 Dec 2025 10:06:23 -0800 (PST) Received: from jimm-x1.. ([2a10:d582:31e:0:d817:b2ba:2766:5b2a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42f7d331e29sm4589641f8f.32.2025.12.04.10.06.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Dec 2025 10:06:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1764871582; x=1765476382; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5zzJrLyR2vlRWkV9LLSEUDWhWY0B157Kg5d1h9ui2A0=; b=x3fO17cud0n7L9WPBILA4/9FSztm/kszP+uYuy3cOezhsX3Dv+gH813jZg1+ABBYkg HrkIqkvlzZgb21jJJjRboIYeKpvzRJVhF+WDExmNanyJ1Gk3Bl7PRVlkVEKs6O41XjZY j4vHIPttbSXEoABtuWvdYC+3XjnGBXN0MBRhVINGatIVoPYj17dGmoL+8oiSNwRX9pbg RtIaUr72HWXuCPgd3kVpeAvFCYalEQk6yb55NEmXxdk0W/I0ChuPBld2WCeEyoiGOJS3 2Y6ViAItj2fI4l0J8DSHQI/SktMb7vxsCU73hoxJ90SJGSTyOfDnlDVCEJxr5jcuK3OW ut/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764871582; x=1765476382; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=5zzJrLyR2vlRWkV9LLSEUDWhWY0B157Kg5d1h9ui2A0=; b=IJI6YDNT9kZ80zapPDBlv3m+0gMMeFClRbb8n3/VRnchzmMAeZD89kcVL2tBMFwzBY FfpSf84qg67ICVgzzrBOR80b3OKMe2itGS2KB3erJNoJ+mQ0q4v0z38+v0JLQDyMwukI RssaIDaU7vC1/KI60O8ADri0l8SGARldfaM3ApaSs1YGqGn9wtNbkvLYTDTfxjgLWQzD 0oSQYQ+C3Tenf2MnHVtHUQhzJFDfu3vVxCJeryEXvOGfSc/jYL/AIhV0iDWirsAqRjK7 3LYUl05ukEjaTkn5PEs1bUgbo4DyQrzPDoIZmmYqi+WEdrom2cWAi4w8b583eHaEY/Xt w8nw== X-Gm-Message-State: AOJu0YzYBJmuTP/avn0BPPX3ffuuo+cRCbIXBict6PHSyElOULq7YirY v/d/EOsR29QGn4nPZuGvQCVIdCfNZpNFLg6+Oa4fG67Ta7GNXYYZrWng17M6f04InizoUdQxVxF wKZdz X-Gm-Gg: ASbGncv1IZ1EwYDQokc8ZIvZSPFAD5Uhn0aUskhgmRuYUQWuNK3hgFhBTew3mKD3cPi ZUm4lG/RI2kfIiw3JJWa4GXqU4fl9WpAvlL/U46w+iC+dwbzIXMdBXFLGWfBQZW8VVXAfbAwY1M ABEgxhVbCM+NLjsYJJIbC0s8fP+eb79IJ0R+j5S1QA/TGWPFkLF17cd/C8H8GhPgYLq3WslViQP rb4GSS2SCSd5X3A6Yt0boB1ydqPDDL/8PpvWaFZqpmGx1LSFVfxn1dDKduwZQKHBGwJ/DGXnZ4L r8S+phJiUlLtRlXsZfcRhkTgeWAP1Kp6E4dKoJUIxDYLmx5njwzhOTx3b+/sDjkCplLXgWGhSoJ p7JgZQNidHm97xHp5T1vN9Uf8T4e75CpHH9fHp1UI+PSXmoYcUjdATygXp78dwKzV41i1oXVj7n QBsf9EY2dmRq1A X-Google-Smtp-Source: AGHT+IH5jtyoA0c0XrjC51fQWXyeNpZNhv7ZVgXoI6bjK/JJuem5B6tIRpVWRKgtsFlQtwbnn6wMgg== X-Received: by 2002:a05:6000:2484:b0:42b:3298:4690 with SMTP id ffacd0b85a97d-42f731a523emr7770016f8f.33.1764871581928; Thu, 04 Dec 2025 10:06:21 -0800 (PST) From: Jim MacArthur To: qemu-devel@nongnu.org Cc: Jim MacArthur Subject: [PATCH 4/4] tests: Add test for ASID2 and write/read of feature bits Date: Thu, 4 Dec 2025 18:04:14 +0000 Message-ID: <20251204180617.1190660-5-jim.macarthur@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251204180617.1190660-1-jim.macarthur@linaro.org> References: <20251204180617.1190660-1-jim.macarthur@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=jim.macarthur@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: 1764871642931019200 Content-Type: text/plain; charset="utf-8" Test for presence of ASID2; if it is, check FNG1, FNG0, and A2 are writable, and read value shows the update. If not present, check these read as RES0. Signed-off-by: Jim MacArthur --- tests/tcg/aarch64/system/asid2.c | 76 ++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 tests/tcg/aarch64/system/asid2.c diff --git a/tests/tcg/aarch64/system/asid2.c b/tests/tcg/aarch64/system/as= id2.c new file mode 100644 index 0000000000..7d5466af34 --- /dev/null +++ b/tests/tcg/aarch64/system/asid2.c @@ -0,0 +1,76 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * + * ASID2 Feature presence and enabled TCR2_EL1 bits test + * + * Copyright (c) 2025 Linaro Ltd + * + */ + +#include +#include + +#define ID_AA64MMFR3_EL1 "S3_0_C0_C7_3" +#define ID_AA64MMFR4_EL1 "S3_0_C0_C7_4" +#define TCR2_EL1 "S3_0_C2_C0_3" + +int main() +{ + /* + * Test for presence of ASID2 and three feature bits enabled by it: + * https://developer.arm.com/documentation/109697/2025_09/Feature-desc= riptions/The-Armv9-5-architecture-extension + * Bits added are FNG1, FNG0, and A2. These should be RES0 if A2 is + * not enabled and read as the written value if A2 is enabled. + */ + + uint64_t out; + uint64_t idreg3; + uint64_t idreg4; + int tcr2_present; + int asid2_present; + + /* Mask is FNG1, FNG0, and A2 */ + const uint64_t feature_mask =3D (1ULL << 18 | 1ULL << 17 | 1ULL << 16); + const uint64_t in =3D feature_mask; + + asm("mrs %[idreg3], " ID_AA64MMFR3_EL1 "\n\t" + : [idreg3] "=3Dr" (idreg3)); + + tcr2_present =3D ((idreg3 & 0xF) !=3D 0); + + if (!tcr2_present) { + ml_printf("TCR2 is not present, cannot perform test"); + return 0; + } + + asm("mrs %[idreg4], " ID_AA64MMFR4_EL1 "\n\t" + : [idreg4] "=3Dr" (idreg4)); + + asid2_present =3D ((idreg4 & 0xF00) !=3D 0); + + asm("msr " TCR2_EL1 ", %[x0]\n\t" + "mrs %[x1], " TCR2_EL1 "\n\t" + : [x1] "=3Dr" (out) + : [x0] "r" (in)); + + if (asid2_present) { + if ((out & feature_mask) =3D=3D in) { + ml_printf("OK\n"); + return 0; + } else { + ml_printf("FAIL: ASID2 present, but read value %lx !=3D " + "written value %lx\n", + out & feature_mask, in); + return 1; + } + } else { + if (out =3D=3D 0) { + ml_printf("TCR2_EL1 reads as RES0 as expected\n"); + return 0; + } else { + ml_printf("FAIL: ASID2, missing but read value %lx !=3D 0\n", + out & feature_mask, in); + return 1; + } + } +} --=20 2.43.0