From nobody Sat Sep 26 21:37:56 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=1787956128; cv=none; d=zohomail.com; s=zohoarc; b=e/Uu5IuswebxqZoX8dWd3ho0ECNRnwcBP+/o1gX9k2qRJqjXImbE1y17dw88NaFBFugqITq1qs6nBdX9aXsrsb299rO64PxuhMzZ2fLMRt2LntylFtVAxLoBaapkCfL6BWfh8QI+P9EIqbUQ/O2caKk5uX3NbdWFa5gMHDZnNwk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956128; 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=KR13c9n0s+ysXjQ32jlNfW+FisQREx18vtaeYTqxrDc=; b=EJ3o0i9NfsOIIRLpwgc9IMqbNa94TW2KkZtR6G+h/GHNllsV9KD1RljYOHIptYhfSIo8KMwKqE1IRsywIufhq9k/QZZ349xw0k17aU2PZkiesFSweEvikZ7JZFtXwJU5JP+JXWLllqe7Xb3AlwTt4ojbLTkfJbbs1thh/XQ3Slo= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178795612891217.73707972313707; Fri, 28 Aug 2026 15:28:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x0528-0002kJ-47; Fri, 28 Aug 2026 18:26:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x0526-0002ie-8i for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:46 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x0524-0002HV-0V for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:45 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-2d715f4a587so21367405ad.2 for ; Fri, 28 Aug 2026 15:26:43 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956002; x=1788560802; 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:content-type; bh=KR13c9n0s+ysXjQ32jlNfW+FisQREx18vtaeYTqxrDc=; b=QQlVLMbb45dXhjqNm1V/3B3w6b1E5svDNPx98HIdn/wrcS3muIAg9TW0lq0QG+RsXt mLoAkAGwKt1CrAD07avmYs33PmDIoGb/iy+BITwfHAGjeumEv3sOcYmeXFlWmROTVWJR 9gcxhESBTBe5Vb5OAacMo0+Mo2K7cYB5mXtXxeorP/mTTu6H8o228eJf+HY0R04qAzKN Mjb99WOJZcI+NR//PoicmPXO0WUzDWyrhb9EgRFQl55s0Ykp/wwzKR9eg3Xf/5D4B9nA 6/diKg+U5J8jy3NpODfqGGQjUVtItb5g+LT9R9Lscmds7G3o04oya7wb4rjkGDso3czs rfsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956002; x=1788560802; 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:content-type; bh=KR13c9n0s+ysXjQ32jlNfW+FisQREx18vtaeYTqxrDc=; b=P/xgtV6fjNHvSWRUpJCrCQ1SYWExZ4sbqE4/NKHUYJhMLeEqDNPrHUWAiWCvR4KMRM AbwTfDJCPOgvD75nd2zdtUHPh1xjYKwCxm9YbElymUGTYmcP0Uh6Sq/ajsDXEAGcFeZL znnQ2EoQ0bJL8U35/ONN7IIMufaECzrJGmqYjQI6+GNpqr6YUWBZ3X1a5osvBTpmCpmD Er7y4j7UT+HjodadC2zp1cVObCsc1tN+M5Tcdec/5aXIGX+B46dj6FU2nSO+uoPdKy5+ f4y76VknAl7T/BkMjW2kbpUqtaGn4eZGO3KUwl96/S6DNwY2NP3cUkLZmARf35IyLWdg PYvw== X-Gm-Message-State: AFuF++kpULKlrx/P+uzv8oiP5QRXlSMm/287Hlntq2j5VdwjmOqjeom3 qAUQhBUHpIFvHXxyvToHCjDSeBADw5Nt/I1L9o35VdmoeGdUCtDDEg9x3v0YqAgfvETYjdWLbs4 sigJ9fH0= X-Gm-Gg: AYBFou196h/fM2g2A+BgJLSjtIHdEjK1gJfOR8+lDQ3Ro5Y6NhFS1mzeZVD4liGtiO3 k9uggsCUldMWRYTTOO2FQOyS3sSJEJPzcINXkvsJ0c60XQAxoTfIU3WJldbmsbXDOKo23V4vg7J Yn4ltEHwkDXdFhRWjbqUJ5k1Am/lwC+d2Bbdf9w9xJoJwLg4cbuc6iOqJWfWsV+L9qjGgy+XHw7 uNmLzNKOOz5ff66S4Cf6D6swQoQY+BkMcu9O0UTVMDbCUhc6D6/vTah8KgIjRUTZmgi8Qw3Seqr 268VGzUe7UoZHnaksaUpkxg8MK28lUc5sM498dc0/t0moQzZf55yT0RXZWmcN1qwzxB5ZPO78iB QQvFggJgZ65Ho4NWo3tRAphkGBwtaoR8us45OL47Tv1YTIVjh4Md/qaAbRR2PZMXiTAg8aVpfRt Bqac+emGM4pQfa8q5W+mW9c7UgwcC9AK+YDCcCA6WQLUBcUEn7vBbMAZj6mKItE2tbqupWPcBWV kfR5KTtRGci7I1/MNPMvigAi1+zQAY= X-Received: by 2002:a17:903:32c2:b0:2d0:cc92:f7ae with SMTP id d9443c01a7336-2d74dbe3ef4mr166436055ad.3.1787956002164; Fri, 28 Aug 2026 15:26:42 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 01/13] target/arm: Rename and adjust aarch32_max_v8_tcg_initfn Date: Fri, 28 Aug 2026 15:26:27 -0700 Message-ID: <20260828222639.1432046-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::634; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x634.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956130678154101 Content-Type: text/plain; charset="utf-8" Rename from aarch32_max_tcg_init and take an Object pointer, in preparation from being used with TypeInit. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/internals.h | 2 +- target/arm/cpu-max.c | 2 +- target/arm/tcg/cpu32.c | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index f6b4e173a54..fc7d5ad6f2c 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1838,7 +1838,7 @@ uint32_t *arm_v7m_get_sp_ptr(CPUARMState *env, bool s= ecure, bool el_is_in_host(CPUARMState *env, int el); =20 void aa32_max_features(ARMCPU *cpu); -void aarch32_max_tcg_init(ARMCPU *cpu); +void aarch32_max_v8_tcg_initfn(Object *obj); int exception_target_el(CPUARMState *env); bool arm_singlestep_active(CPUARMState *env); bool arm_generate_debug_exceptions(CPUARMState *env); diff --git a/target/arm/cpu-max.c b/target/arm/cpu-max.c index 4df52bcb08e..9ed45c8764f 100644 --- a/target/arm/cpu-max.c +++ b/target/arm/cpu-max.c @@ -108,7 +108,7 @@ static void cpu_max_initfn(Object *obj) =20 if (tcg_enabled()) { if (!aarch64_enabled) { - aarch32_max_tcg_init(cpu); + aarch32_max_v8_tcg_initfn(obj); } else { aarch64_max_tcg_initfn(obj); } diff --git a/target/arm/tcg/cpu32.c b/target/arm/tcg/cpu32.c index bc07e33877a..8397f26a864 100644 --- a/target/arm/tcg/cpu32.c +++ b/target/arm/tcg/cpu32.c @@ -855,8 +855,10 @@ void aa32_max_features(ARMCPU *cpu) FIELD_DP32_IDREG(isar, ID_DFR1, HPMN0, 1); /* FEAT_HPMN0 */ } =20 -void aarch32_max_tcg_init(ARMCPU *cpu) +void aarch32_max_v8_tcg_initfn(Object *obj) { + ARMCPU *cpu =3D ARM_CPU(obj); + aarch64_aa32_a57_init(cpu, false); aa32_max_features(cpu); #ifdef CONFIG_USER_ONLY --=20 2.53.0 From nobody Sat Sep 26 21:37:56 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=1787956114; cv=none; d=zohomail.com; s=zohoarc; b=Jkq5J2n+6kDyI7dM/nzNqlpklvXiCge/vaQn7XP2IChyWbv2uD2PMDGq8YuVkv7FQCEtosrNpxoEDBtxgLz2QsWOXwU40Z8xqwrxm5RxcFQ/m/vLSfOYyz+Rz5EEgesMZvaGPLLGigIIN4oX5yV5VP5shOID5QLc2/QbtnuhPYE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956114; 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=5OlP4xmBxJaU39dQm0XttdRoWfw/hb/T/Y+p7JEg/bw=; b=WctDQHDvd4FOgK+zHm5AMu7BrFb/odUdaJq2B2LaHWN5TB/5AE7rhXXVH8Nx61GB1RJ96PMksVMK6mCvvmkDwPdP7LK1dNJbmtynm0cyV79+W3kj0UGMuHRVtQu3udM3PkXs05cjkQpJCLt+Yp9QQC3CuU2Lc6spOvo7poBSlBk= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787956114640745.0935970529954; Fri, 28 Aug 2026 15:28:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x0528-0002lB-RO; Fri, 28 Aug 2026 18:26:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x0526-0002if-AQ for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:46 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x0524-0002Hc-E6 for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:46 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-2d6d28aa26cso11422335ad.2 for ; Fri, 28 Aug 2026 15:26:44 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956003; x=1788560803; 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:content-type; bh=5OlP4xmBxJaU39dQm0XttdRoWfw/hb/T/Y+p7JEg/bw=; b=OcJRwkITvO+JIvBYo4VsaMYvyjUcQQpJkuDKzUyCdD+un737ufW6gVu6oEKbYvFa2d flDEl6PLvvJj8pq8O2vPZtT2nH0uOCTst8n3JiySuwOvIRnNEpcExoWYI8OjRdk5/kKU 0tTNH4+yToGDlLtcnaUe16nXBwGHijIFFbAL5s+qh3JTuvcFERXqLOvNL4V8TaZlzqeM jClmjxqyUycvoOuf9aMH7PaTVn3+Szs/jUsPQGEMoTWanxRDUM22XfaJFjuaY0lIlA0v fZCDAve//IFmxriEHsc12yc68rXSNubXRt1XgvUoU1vnunpCBpeSydDzuHtAC9qV1AyE X59g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956003; x=1788560803; 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:content-type; bh=5OlP4xmBxJaU39dQm0XttdRoWfw/hb/T/Y+p7JEg/bw=; b=a8kW6Mq0GcE9UKwUxuO1AxTINSq8YZonZaGVNbSn55FTj4d1vlHi5HvaOut+yf39DB 5oOWtKYqHjKAU5DquYyQiYkYRKZpyonEz0tZhcvSQctKL/KBS3tdekyN1hiPoKDHZliZ DA01NzIwv+1jqIbM6b1hiDcqoGliF5tNut4n7IimD2luQn3Ijz9KULiwRtrUAApydbdU Wz0S09HZ9qzXNv6FPD7eCliqDoAQoJH3ufweItSafljf1PDJpElKQtLz7VZp+widtECe Eaqtbne7ZvwRwunnF0+UzznhVWK3mQys2+d3syyR9edhKLa4LMhfE1V0THM7hwnh6WN2 JJig== X-Gm-Message-State: AFuF++kHuROBPB8TVJHt4YeDvSXPh0PeMT5cAk4j8MJS/7CsIZ0dnW0m mwlLx2PuWY3X+5EiT9wR5A0UxT/Gyo5+u6a58rTBSCATDYxlDHu43f5mEBK8TyHBkt/evRjSnry g7RKFv2A= X-Gm-Gg: AYBFou3Guq7Awpm+Em/oPWGoU+MBM6/onw+DCsjkSxA0Be218eBc6QHBLQ+cqx29oNT kLwc+qBwUZQ/RI2HARQ0sLRdF2ExBR6sR1wLUNPYk7Gw5hdIDsZuwjJX6/IV0lIbHT9XQLhHkhd 5SICMj+Z7z97hi5exLyqkdRQunKSUIvbGRi+5QfztjkieoOcsVIOsRs9yQuFwqgwV5c8So1qAIA ueEFSjBHsJOqxW7cltUHfmQS8DuQ/GbaidboYTga9c6t1lo64Rt194E2LeabugQqekskmYmrUZr lq055hrVBxOlum5AJv8q5UGgRnNdWXoKV9Lf8b2UDagMv0i/7C3Ho07PZ45fhX+XGTjuX2q3lm0 9SZltv0WtwcYpcRDcU0vlCBeP1KH5DTMfKREED7R+obPWX1NBCinGhL5iKafykwNI0Z+7C3ctNi oyv6K3dwXRbSh0WE2RjdfiNLazRkYUaCy/DStfSbamqnF5CqlqwPLbBU0b8eePAG4PgUX9Y2Zeq m3gRMCTv/sFLvWGqRHi5Q== X-Received: by 2002:a17:903:f8d:b0:2ca:f21a:a6c5 with SMTP id d9443c01a7336-2d74dbea25bmr205709005ad.1.1787956002792; Fri, 28 Aug 2026 15:26:42 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 02/13] target/arm: Introduce cpu types max-v8 and max-v9 Date: Fri, 28 Aug 2026 15:26:28 -0700 Message-ID: <20260828222639.1432046-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::636; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x636.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956116493154100 Content-Type: text/plain; charset="utf-8" Introduce the names and allow them with the virt and sbsa-ref machine types. So far, the cpu types both exactly match "max". Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/sbsa-ref.c | 2 ++ hw/arm/virt.c | 2 ++ target/arm/tcg/cpu32.c | 4 ++++ target/arm/tcg/cpu64.c | 2 ++ 4 files changed, 10 insertions(+) diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c index 484b90053e8..56d08f605c8 100644 --- a/hw/arm/sbsa-ref.c +++ b/hw/arm/sbsa-ref.c @@ -913,6 +913,8 @@ static void sbsa_ref_class_init(ObjectClass *oc, const = void *data) ARM_CPU_TYPE_NAME("neoverse-v1"), ARM_CPU_TYPE_NAME("neoverse-n2"), ARM_CPU_TYPE_NAME("max"), + ARM_CPU_TYPE_NAME("max-v8"), + ARM_CPU_TYPE_NAME("max-v9"), NULL, }; =20 diff --git a/hw/arm/virt.c b/hw/arm/virt.c index e7a56e37f73..d738b95c726 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -4132,6 +4132,7 @@ static GPtrArray *virt_get_valid_cpu_types(const Mach= ineState *ms) if (tcg_enabled()) { g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a7"))); g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a15"))); + g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("max-v8"))); } if (tcg_enabled() && target_aarch64()) { g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a35"))); @@ -4143,6 +4144,7 @@ static GPtrArray *virt_get_valid_cpu_types(const Mach= ineState *ms) g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-n1"))); g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-v1"))); g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-n2"))); + g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("max-v9"))); } if (target_aarch64()) { g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a53"))); diff --git a/target/arm/tcg/cpu32.c b/target/arm/tcg/cpu32.c index 8397f26a864..12e70ded9c1 100644 --- a/target/arm/tcg/cpu32.c +++ b/target/arm/tcg/cpu32.c @@ -744,6 +744,10 @@ static const ARMCPUInfo arm_tcg_cpus[] =3D { { .name =3D "ti925t", .initfn =3D ti925t_initfn }, { .name =3D "sa1100", .initfn =3D sa1100_initfn }, { .name =3D "sa1110", .initfn =3D sa1110_initfn }, +#ifndef TARGET_AARCH64 + /* For aarch64, max-v8 is defined in cpu64.c */ + { .name =3D "max-v8", .initfn =3D aarch32_max_v8_tcg_initfn }, +#endif }; =20 static void arm_tcg_cpu_register_types(void) diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c index b38c61ba623..4f5375deb25 100644 --- a/target/arm/tcg/cpu64.c +++ b/target/arm/tcg/cpu64.c @@ -1488,6 +1488,8 @@ static const ARMCPUInfo aarch64_cpus[] =3D { { .name =3D "neoverse-n1", .initfn =3D aarch64_neoverse_n1_init= fn }, { .name =3D "neoverse-v1", .initfn =3D aarch64_neoverse_v1_init= fn }, { .name =3D "neoverse-n2", .initfn =3D aarch64_neoverse_n2_init= fn }, + { .name =3D "max-v8", .initfn =3D aarch64_max_tcg_initfn }, + { .name =3D "max-v9", .initfn =3D aarch64_max_tcg_initfn }, }; =20 static void aarch64_cpu_register_types(void) --=20 2.53.0 From nobody Sat Sep 26 21:37:56 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=1787956127; cv=none; d=zohomail.com; s=zohoarc; b=YzdDQLfS5VNAOvSFFw1KBe11PiVp24rVEb7fOmjFAJt1JPZqqKgKAKc7a5eUkTfbLuxsSn1Rcv1tcXts9+WOVvAsGadPYI4u0ylk7p8qrn02VQY842ZyciIj5OAcvL3jG/x/2mlE6+jl8hpqn9ePXgxbSS4KRtHgoJxugm77AO0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956127; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=d9vZmtDzK9BaCqOMKO6CDu9rwbtI575ats31dCsjvHc=; b=U9ubtq9zmwKEuZV1DMDMOJf1ePHcDTvjTE5SURhf4pnznMUi6cUC+ijeXCkiHeThCtSsDb4oQTPqPHOKhP+fm/8FN+ACaJcN/YmXmGgt1ktFPSgGb93zmHLAnYQi1Umk71mh92ioum5g926yrg78xMCm7XKXfXFRKSyy5r2K+tw= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787956127606937.6121286402339; Fri, 28 Aug 2026 15:28:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x0528-0002kN-4Y; Fri, 28 Aug 2026 18:26:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x0526-0002jA-PZ for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:46 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x0525-0002Hp-30 for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:46 -0400 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-2ceab75934dso16266695ad.2 for ; Fri, 28 Aug 2026 15:26:44 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956003; x=1788560803; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=d9vZmtDzK9BaCqOMKO6CDu9rwbtI575ats31dCsjvHc=; b=l0XQNT+u2IN0BmRwE2qWZp+h5utV91Gk2S5aOfbpkR1OlYGpkeayqEkHVwuvZ7iUkK 2MzZrHlulqGDm6cnRltzt/DC++IA3W6lr/BjxQrwjAafr/2C98/JLDvPiVBRRI3Tdqcb JuaVQ3EI/nGJIaKUkIap5Kh1QTNLVAQNGqPj/lLo2iI5cDIOSxRlgynNZWXdxZ920alG k8y2LjrCAafyeRhpAFsqmt6L9/jUHCpowcHJg7BfWNnsXkWG3j7hfMkDoY1w1QsGyGqq 3NDrnu/9ybI9TDtXWT7HHuhS9Lzym+foXVTTWmh2nG3bKnsNpNHrDfdEhV5XKO73nhDT XyPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956003; x=1788560803; h=content-transfer-encoding:content-type: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 :content-type; bh=d9vZmtDzK9BaCqOMKO6CDu9rwbtI575ats31dCsjvHc=; b=Q1Q+ZjMd3h+/XwonWuFen5q+DiB37ltoBcnxOciCSy39P2pk0W50CQzkjfjcPCY5Xl uWFqbIM7CgygswxSxUIrwkbPEcPYki9yKdMGZjS78NdnVv4xbf44FG7OHxzNnPZ3EJFP otZC+kXqlJ4uaMNLOHXPdOUeddEVYSHMAPTMa6cpAoY6VejV4S4ntWoYawbE0skvHpSE 2AsrQMyJemwHE0lmrdlmlDWnyOe9ofur+TaqjxkzZJ15ypvx2M/fnZq9ZLwp//ocsP25 O+6FjZfStUAHBl5nNCyod/80TETKWOzl0vLVs+WXOZi8TwfTmtHIxXx6MYcBu+aqFJ7A mNcQ== X-Gm-Message-State: AFuF++k+kPYRVH9gyXsz5y2OyrHDCOIBDz9btQmWxoTXAjK2aOro0m9p jkdMG6BCWThLA6jYNvLNxdgeSHwVaU8VUgN0Ta1ujcHEObfvpp0fIXcNsfnkbHvDT6GMwnQOer6 SuD7aO/c= X-Gm-Gg: AYBFou3XjBufpC9Y8Lc09e366NHudmG8hKyPILZDhifI1C6rIZD05cicThdfbQSdlZD ZHy6yNFojuseXrtEBp66KGjueqGwKiumlRFz/iq9VO/2dN+IHENmD9+5DpL0XbxzdTpUBj+jVId zjiM9lwsYQNm1sRW+q/a7p4ly7pg7j2rSur7zWruX5YvGvSoeLQ0hHlI+6DM/4IEPByJUTJTozO IwWtqYkp8b13BF6JtrtYLuddw4zVqt1FMNOJClEf/F2OIIumupWa9RGtlVq3J03EpJ+g+HbCrD1 2cAwSO4+oJzwpoCTMJuNJtZv5Vgdx7DeiGT+1wEUUcfRnqYHS6WinDE4PrsARL9vwGq2IsUmNsQ kCWFCoDWs9o8uMIOC39e5cJIMRR2W3G3eV+ycwtltlsV/uf8JqE6Uv6ob62M44XrWRGlUWgiKYl AUxoXGPkkPHmRx62vhY73H2GMoFMzHO6iwJtsKZgAmT4z+GLrBM84r099T3PCs9LpiDGr6uDbfN aXQ1nRqR0JxMG7evY0H X-Received: by 2002:a17:903:4511:b0:2d6:ede8:51c5 with SMTP id d9443c01a7336-2d74dc83cd5mr150243015ad.6.1787956003552; Fri, 28 Aug 2026 15:26:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 03/13] target/arm: Use -cpu max-v8 with aarch64=off Date: Fri, 28 Aug 2026 15:26:29 -0700 Message-ID: <20260828222639.1432046-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::633; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x633.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956128826158500 Armv9 does not support privileged aarch32 execution, so aarch64 cannot be disabled. These tests must use Armv8. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Richard Henderson --- tests/qtest/arm-cpu-features.c | 4 ++-- tests/functional/aarch64/test_virt_aarch64_off.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/qtest/arm-cpu-features.c b/tests/qtest/arm-cpu-features.c index cb4d01fd46a..7348fb8d28b 100644 --- a/tests/qtest/arm-cpu-features.c +++ b/tests/qtest/arm-cpu-features.c @@ -493,8 +493,8 @@ static void test_query_cpu_model_expansion(const void *= data) sve_tests_default(qts, "max"); pauth_tests_default(qts, "max"); =20 - /* TCG allows us to turn off AArch64 on the 'max' CPU type */ - assert_set_feature(qts, "max", "aarch64", false); + /* TCG allows us to turn off AArch64 on the 'max-v8' CPU type */ + assert_set_feature(qts, "max-v8", "aarch64", false); } =20 qtest_quit(qts); diff --git a/tests/functional/aarch64/test_virt_aarch64_off.py b/tests/func= tional/aarch64/test_virt_aarch64_off.py index 13d8b73b0d7..73c9a4109c0 100755 --- a/tests/functional/aarch64/test_virt_aarch64_off.py +++ b/tests/functional/aarch64/test_virt_aarch64_off.py @@ -18,9 +18,9 @@ class ArmVirtMachine(LinuxKernelTest): def test_arm_virt(self): self.set_machine('virt') # KVM aarch64=3Doff requires a host CPU that supports it, so - # restrict the test to TCG only + # restrict the test to TCG ARMv8. self.require_accelerator('tcg') - self.vm.add_args('-cpu', 'max,aarch64=3Doff') + self.vm.add_args('-cpu', 'max-v8,aarch64=3Doff') =20 kernel_path =3D self.ASSET_KERNEL.fetch() =20 --=20 2.53.0 From nobody Sat Sep 26 21:37:56 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=1787956061; cv=none; d=zohomail.com; s=zohoarc; b=YP5ivT1nvuG6LDbGOU9eYDE5088CND4T3YCd4KVxwrbR9VMpTVIJe61VQbqlXePMeSL65H7Z4oH3oQVe5YT6GDDQ0lEgMfj8cSmPd0T1fH7rUD7y3y6h2U/tQ16/IRgpLFKz7Vud8j1ew7Dfuj8xd2xN36BmPCzSdkzBT3fS+R8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956061; 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=FadOnieyk4YXHKZKDuEAb7YfbMHcSnTEoXvwiJfjgqQ=; b=W++siajUbA9UBvhWWzWW1koxz3Ak3ZZXE6ZdJz2fM+iqKyFu3xN6wMQxL3NDDz7fez32cbCFEgApzDybgkXCcqcXvE44jU8M6Zzpzt/kvM/sd98+ucGiCCZLCYBHG+gDyX/cji5TvBkaQiV4nFVy1DWbIYmuNLB0gFE/wF6XYjo= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787956061668517.149737237729; Fri, 28 Aug 2026 15:27:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x052B-0002n0-T7; Fri, 28 Aug 2026 18:26:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x0528-0002l4-K7 for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:48 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x0525-0002IF-Ry for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:48 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2caea3f742bso21692265ad.0 for ; Fri, 28 Aug 2026 15:26:45 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956004; x=1788560804; 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:content-type; bh=FadOnieyk4YXHKZKDuEAb7YfbMHcSnTEoXvwiJfjgqQ=; b=j+5Q3mKgUbsv4OhwoLQCr0aUtYkbCHEexEkKGZo5mhyAbaPyZg+D1lXcACqmw6iRHJ mOg3huqoTBlygg0qSmxpVjA47mOfEam6kP1IPRQlGoWMlcEAc13a0iB20dufR4w4/moX /HaH0vX8cJ0tNtuFT4v63JrERoHdhs2ly/B8nvSaobPiM+X4jpN8S0yCWlxofsFIZVTs dfE3Qea0ZfgLjRHMLhcia/hmcBEAyekgL/P4jjTwK4qOjXFj/IyLf88oKan1pavyq60K Kno83QBueHNzAj4oKWKonTEIKRHpvrp/6f/Jz4+RkVCXi0IbxcnE+r6dZFZTYmEvtAje Vd6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956004; x=1788560804; 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:content-type; bh=FadOnieyk4YXHKZKDuEAb7YfbMHcSnTEoXvwiJfjgqQ=; b=T9ETN3dxMAG1vtJ2vIp4Y2VHeXMlZI74Jnwjx8oS8roWlncR5hdS1fpXLNwDdqqCcD 6kQsUU6QFWFp3fmWv0nAVKMHxwqTmEx92k0+60cS0TP8rKNgsw234BKD8P2m13OTe719 NVo12/NiOjZXvV48OiGhjwpVAyzSMr9tnBNbCJno07kCksD+pyxaVRn9h1UD0EuNW9NC cJRFnRKQ0eIa42g7xP41sjCyBZxkKD+PayzyjAotf98jfxjjZNm7s25B5c/fKJKNvPOZ VZpOBbtPpKicBLZUhudNskckZ+0AgHik9pnds6S6c/ffsfJq18kjj4//sasQjE1Clh7u PVBg== X-Gm-Message-State: AFuF++kJQijKaV77/FTsJyuDjAaG+FkBzFp4+jT7yPXXxBodH3RLjqb3 iuUR/DbkzE6S47WrhpLQxVNI3/rnoYxEQM0JkfMIoII6Oy+AOvGQLd0suMJ4MtHzuRvQN6d0Tkd 5NzRiet0= X-Gm-Gg: AYBFou3BpYfP+vq1BOqb3J1TwWY0cv02aB+++DpJBEWIDFjEjmKt4dcDYYnlAlhGRUo xG1TFCNQ1b3BaTCrQZ3OB06kc87Y852fU+5QiXBCg+3Ni1KeE5uIGhrELqO7P664KMybZfV9o4e DZNvAIAl6qnC6ZTVUzShdrjw4nUpua5nXh16TMQ3Tn+5lYgIuPdAZk+bufAoz61lnkGUFXqso36 jaTTvrBA+OfeQm939mJBOxugYGiYdEgAZgh3hAbVX/CJgLzQ3gGFmkR3K9PWR79z2bH6RVB9SZl j+7JHkkKpp2MVbOJSExpUVA1DXrjs8EaxHRZtS3Xpy4SkgypDJerMoXD9sPAFvUvZF/YEwjLBPC iRjm5xDKalVPHgjSCzNyC8lhuZbDgCEq+lFdI4PdelaNBReeftFW0w2PNp/Ni3rdQSMOnAgkp61 YbWPR7Lfwc3rRa4WzhhdZRGyAXUpQZXrwRrQi/3onJcEmaDkVdTK3QVQZknay0xxhOGIWn2D06r oHsWI7U4loKF+ymDvYy X-Received: by 2002:a17:902:e74d:b0:2d6:3c2f:6a5 with SMTP id d9443c01a7336-2d74e0fdd56mr139024885ad.14.1787956004174; Fri, 28 Aug 2026 15:26:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 04/13] target/arm: Separate cpu types max-v8 and max-v9 Date: Fri, 28 Aug 2026 15:26:30 -0700 Message-ID: <20260828222639.1432046-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62d; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62d.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956064441154100 Content-Type: text/plain; charset="utf-8" Do not include v9-only features in "max-v8". Do not include the prohibited v8 features in "max-v9". In tcg mode, define "max" as "max-v9". Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/internals.h | 2 +- target/arm/cpu-max.c | 2 +- target/arm/tcg/cpu64.c | 162 ++++++++++++++++++++++------------ target/arm/tcg/stubs32.c | 2 +- docs/system/arm/emulation.rst | 13 ++- 5 files changed, 122 insertions(+), 59 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index fc7d5ad6f2c..be32a8c531f 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1809,7 +1809,7 @@ void aarch64_cpu_sve_finalize(ARMCPU *cpu, Error **er= rp); void aarch64_cpu_sme_finalize(ARMCPU *cpu, Error **errp); void aarch64_cpu_pauth_finalize(ARMCPU *cpu, Error **errp); void aarch64_cpu_lpa2_finalize(ARMCPU *cpu, Error **errp); -void aarch64_max_tcg_initfn(Object *obj); +void aarch64_max_v9_tcg_initfn(Object *obj); void aarch64_add_pauth_properties(Object *obj); void aarch64_add_sve_properties(Object *obj); void aarch64_add_sme_properties(Object *obj); diff --git a/target/arm/cpu-max.c b/target/arm/cpu-max.c index 9ed45c8764f..739500a04fc 100644 --- a/target/arm/cpu-max.c +++ b/target/arm/cpu-max.c @@ -110,7 +110,7 @@ static void cpu_max_initfn(Object *obj) if (!aarch64_enabled) { aarch32_max_v8_tcg_initfn(obj); } else { - aarch64_max_tcg_initfn(obj); + aarch64_max_v9_tcg_initfn(obj); } return; } diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c index 4f5375deb25..4ef412a6575 100644 --- a/target/arm/tcg/cpu64.c +++ b/target/arm/tcg/cpu64.c @@ -1166,11 +1166,10 @@ static void aarch64_neoverse_n2_initfn(Object *obj) } =20 /* - * -cpu max: a CPU with as many features enabled as our emulation supports. - * The version of '-cpu max' for qemu-system-arm is defined in cpu32.c; - * this only needs to handle 64 bits. + * -cpu max-v8: an ARMv8 CPU with as many features enabled as + * our emulation supports. */ -void aarch64_max_tcg_initfn(Object *obj) +static void aarch64_max_v8_tcg_initfn(Object *obj) { ARMCPU *cpu =3D ARM_CPU(obj); ARMISARegisters *isar =3D &cpu->isar; @@ -1244,7 +1243,7 @@ void aarch64_max_tcg_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64ISAR0, SHA1, 1); /* v8.0: FEAT_SHA1 */ t =3D FIELD_DP64(t, ID_AA64ISAR0, SHA2, 2); /* v8.1: FEAT_SHA512 */ t =3D FIELD_DP64(t, ID_AA64ISAR0, CRC32, 1); /* v8.0: FEAT_CRC32 */ - t =3D FIELD_DP64(t, ID_AA64ISAR0, ATOMIC, 3); /* v9.3: FEAT_LSE128 */ + t =3D FIELD_DP64(t, ID_AA64ISAR0, ATOMIC, 2); /* v8.0: FEAT_LSE */ t =3D FIELD_DP64(t, ID_AA64ISAR0, RDM, 1); /* v8.0: FEAT_RDM */ t =3D FIELD_DP64(t, ID_AA64ISAR0, SHA3, 1); /* v8.1: FEAT_SHA3 */ t =3D FIELD_DP64(t, ID_AA64ISAR0, SM3, 1); /* v8.1: FEAT_SM3 */ @@ -1277,16 +1276,10 @@ void aarch64_max_tcg_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64ISAR2, MOPS, 1); /* v8.7: FEAT_MOPS */ t =3D FIELD_DP64(t, ID_AA64ISAR2, BC, 1); /* v8.7: FEAT_HBC */ t =3D FIELD_DP64(t, ID_AA64ISAR2, WFXT, 2); /* v8.6: FEAT_WFxT */ - t =3D FIELD_DP64(t, ID_AA64ISAR2, CSSC, 2); /* v9.3: FEAT_CMPBR */ - t =3D FIELD_DP64(t, ID_AA64ISAR2, LUT, 1); /* v9.2: FEAT_LUT */ + t =3D FIELD_DP64(t, ID_AA64ISAR2, CSSC, 1); /* v8.7: FEAT_CSSC */ t =3D FIELD_DP64(t, ID_AA64ISAR2, ATS1A, 1); /* v8.8: FEAT_ATS1A */ SET_IDREG(isar, ID_AA64ISAR2, t); =20 - t =3D GET_IDREG(isar, ID_AA64ISAR3); - t =3D FIELD_DP64(t, ID_AA64ISAR3, FAMINMAX, 1); /* v9.2: FEAT_FAMINMAX= */ - t =3D FIELD_DP64(t, ID_AA64ISAR3, FPRCVT, 1); /* v9.5: FEAT_FPRCVT */ - SET_IDREG(isar, ID_AA64ISAR3, t); - t =3D GET_IDREG(isar, ID_AA64PFR0); t =3D FIELD_DP64(t, ID_AA64PFR0, FP, 1); /* v8.2: FEAT_FP16 */ t =3D FIELD_DP64(t, ID_AA64PFR0, ADVSIMD, 1); /* v8.2: FEAT_FP16 */ @@ -1308,17 +1301,14 @@ void aarch64_max_tcg_initfn(Object *obj) */ t =3D FIELD_DP64(t, ID_AA64PFR1, MTE, 3); /* v8.5: FEAT_MTE3 */ t =3D FIELD_DP64(t, ID_AA64PFR1, RAS_FRAC, 0); /* v8.3: FEAT_DoubleFa= ult */ - t =3D FIELD_DP64(t, ID_AA64PFR1, SME, 2); /* v9.2: FEAT_SME2 */ t =3D FIELD_DP64(t, ID_AA64PFR1, RNDR_TRAP, 1); /* v8.4: FEAT_RNG_TRAP= */ t =3D FIELD_DP64(t, ID_AA64PFR1, CSV2_FRAC, 0); /* v8.0: FEAT_CSV2_3 */ t =3D FIELD_DP64(t, ID_AA64PFR1, NMI, 1); /* v8.7: FEAT_NMI */ - t =3D FIELD_DP64(t, ID_AA64PFR1, GCS, 1); /* v9.3: FEAT_GCS */ /* v8.7: FEAT_MTE_NO_ADDRESS_TAGS + FEAT_MTE_CANONICAL_TAGS */ t =3D FIELD_DP64(t, ID_AA64PFR1, MTEX, 1); SET_IDREG(isar, ID_AA64PFR1, t); =20 t =3D GET_IDREG(isar, ID_AA64PFR2); - t =3D FIELD_DP64(t, ID_AA64PFR2, FPMR, 1); /* v9.2: FEAT_FPMR */ t =3D FIELD_DP64(t, ID_AA64PFR2, MTEFAR, 1); /* v8.7: FEAT_MTE_TAGG= ED_FAR */ t =3D FIELD_DP64(t, ID_AA64PFR2, MTESTOREONLY, 1); /* v8.7: FEAT_MTE_S= TORE_ONLY */ t =3D FIELD_DP64(t, ID_AA64PFR2, MTEPERM, 1); /* v8.7: FEAT_MTE_PERM= */ @@ -1368,25 +1358,14 @@ void aarch64_max_tcg_initfn(Object *obj) t =3D GET_IDREG(isar, ID_AA64MMFR3); t =3D FIELD_DP64(t, ID_AA64MMFR3, TCRX, 1); /* v8.0: FEAT_TCR2 */ t =3D FIELD_DP64(t, ID_AA64MMFR3, SCTLRX, 1); /* v8.0: FEAT_SCTLR2 */ - t =3D FIELD_DP64(t, ID_AA64MMFR3, MEC, 1); /* v9.2: FEAT_MEC */ t =3D FIELD_DP64(t, ID_AA64MMFR3, SPEC_FPACC, 1); /* v8.2: FEAT_FPACC_= SPEC */ t =3D FIELD_DP64(t, ID_AA64MMFR3, S1PIE, 1); /* v8.8: FEAT_S1PIE */ t =3D FIELD_DP64(t, ID_AA64MMFR3, S2PIE, 1); /* v8.8: FEAT_S2PIE */ t =3D FIELD_DP64(t, ID_AA64MMFR3, AIE, 1); /* v8.8: 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); /* v9.4: FEAT_ASID2 */ - SET_IDREG(isar, ID_AA64MMFR4, t); - t =3D GET_IDREG(isar, ID_AA64ZFR0); - t =3D FIELD_DP64(t, ID_AA64ZFR0, SVEVER, 2); /* v9.2: FEAT_SVE2p1 */ - t =3D FIELD_DP64(t, ID_AA64ZFR0, AES, 2); /* v9.0: FEAT_SVE_PMUL= L128 */ - t =3D FIELD_DP64(t, ID_AA64ZFR0, BITPERM, 1); /* v9.0: FEAT_SVE_BitP= erm */ t =3D FIELD_DP64(t, ID_AA64ZFR0, BFLOAT16, 2); /* v8.2: FEAT_EBF16 */ - t =3D FIELD_DP64(t, ID_AA64ZFR0, B16B16, 1); /* v9.2: FEAT_SVE_B16B= 16 */ - t =3D FIELD_DP64(t, ID_AA64ZFR0, SHA3, 1); /* v9.0: FEAT_SVE_SHA3= */ - t =3D FIELD_DP64(t, ID_AA64ZFR0, SM4, 1); /* v9.0: FEAT_SVE_SM4 = */ t =3D FIELD_DP64(t, ID_AA64ZFR0, I8MM, 1); /* v8.1: FEAT_I8MM */ t =3D FIELD_DP64(t, ID_AA64ZFR0, F32MM, 1); /* v8.2: FEAT_F32MM */ t =3D FIELD_DP64(t, ID_AA64ZFR0, F64MM, 1); /* v8.2: FEAT_F64MM */ @@ -1398,6 +1377,106 @@ void aarch64_max_tcg_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64DFR0, HPMN0, 1); /* v8.5: FEAT_HPMN0 */ SET_IDREG(isar, ID_AA64DFR0, t); =20 + /* Replicate the same data to the 32-bit id registers. */ + aa32_max_features(cpu); + +#ifdef CONFIG_USER_ONLY + /* + * For usermode -cpu max we can use a larger and more efficient DCZ + * blocksize since we don't have to follow what the hardware does. + */ + cpu->ctr =3D 0x80038003; /* 32 byte I and D cacheline size, VIPT icach= e */ + set_dczid_bs(cpu, 7); /* 512 bytes */ +#endif + + /* v8.2: FEAT_SVE */ + cpu->sve_vq.supported =3D MAKE_64BIT_MASK(0, ARM_MAX_VQ); + aarch64_add_sve_properties(OBJECT(cpu)); + object_property_add(OBJECT(cpu), "sve-max-vq", "uint32", + cpu_max_get_sve_max_vq, cpu_max_set_sve_max_vq, + NULL, NULL); + + /* v8.2: FEAT_PAuth2 */ + aarch64_add_pauth_properties(OBJECT(cpu)); + + /* v8.4: FEAT_MTE2 */ + cpu->gm_blocksize =3D 6; /* 256 bytes */ + + /* v8.6: FEAT_LPA2 */ + qdev_property_add_static(DEVICE(cpu), &arm_cpu_lpa2_property); +} + +/* + * -cpu max-v9: an ARMv9 CPU with as many features enabled as + * our emulation supports. + */ +void aarch64_max_v9_tcg_initfn(Object *obj) +{ + ARMCPU *cpu =3D ARM_CPU(obj); + ARMISARegisters *isar =3D &cpu->isar; + uint64_t t; + + /* Armv9.0 is based on a minimum of Armv8.5. */ + aarch64_max_v8_tcg_initfn(obj); + + /* + * Armv9.0 does not support AArch32 except at EL0, + * therefore indicate EL1 through EL3 are AArch64-only. + */ + t =3D GET_IDREG(isar, ID_AA64PFR0); + t =3D FIELD_DP64(t, ID_AA64PFR0, EL1, 1); + t =3D FIELD_DP64(t, ID_AA64PFR0, EL2, 1); + t =3D FIELD_DP64(t, ID_AA64PFR0, EL3, 1); + SET_IDREG(isar, ID_AA64PFR0, t); + + /* v9.0 prohibits FEAT_DoubleLock. */ + FIELD_DP64_IDREG(isar, ID_AA64DFR0, DOUBLELOCK, -1); + FIELD_DP64_IDREG(isar, ID_AA64PFR0, RAS, 1); + isar->dbgdevid =3D FIELD_DP32(isar->dbgdevid, DBGDEVID, DOUBLELOCK, 0); + + /* + * Below, note the revision from which the feature is OPTIONAL. + */ + t =3D GET_IDREG(isar, ID_AA64ISAR0); + t =3D FIELD_DP64(t, ID_AA64ISAR0, ATOMIC, 3); /* v9.3: FEAT_LSE128 */ + SET_IDREG(isar, ID_AA64ISAR0, t); + + t =3D GET_IDREG(isar, ID_AA64ISAR2); + t =3D FIELD_DP64(t, ID_AA64ISAR2, CSSC, 2); /* v9.3: FEAT_CMPBR */ + t =3D FIELD_DP64(t, ID_AA64ISAR2, LUT, 1); /* v9.2: FEAT_LUT */ + SET_IDREG(isar, ID_AA64ISAR2, t); + + t =3D GET_IDREG(isar, ID_AA64ISAR3); + t =3D FIELD_DP64(t, ID_AA64ISAR3, FAMINMAX, 1); /* v9.2: FEAT_FAMINMAX= */ + t =3D FIELD_DP64(t, ID_AA64ISAR3, FPRCVT, 1); /* v9.5: FEAT_FPRCVT */ + SET_IDREG(isar, ID_AA64ISAR3, t); + + t =3D GET_IDREG(isar, ID_AA64PFR1); + t =3D FIELD_DP64(t, ID_AA64PFR1, SME, 2); /* v9.2: FEAT_SME2 */ + t =3D FIELD_DP64(t, ID_AA64PFR1, GCS, 1); /* v9.3: FEAT_GCS */ + SET_IDREG(isar, ID_AA64PFR1, t); + + t =3D GET_IDREG(isar, ID_AA64PFR2); + t =3D FIELD_DP64(t, ID_AA64PFR2, FPMR, 1); /* v9.2: FEAT_FPMR */ + SET_IDREG(isar, ID_AA64PFR2, t); + + t =3D GET_IDREG(isar, ID_AA64MMFR3); + t =3D FIELD_DP64(t, ID_AA64MMFR3, MEC, 1); /* v9.2: FEAT_MEC */ + SET_IDREG(isar, ID_AA64MMFR3, t); + + t =3D GET_IDREG(isar, ID_AA64MMFR4); + t =3D FIELD_DP64(t, ID_AA64MMFR4, ASID2, 1); /* v9.4: FEAT_ASID2 */ + SET_IDREG(isar, ID_AA64MMFR4, t); + + t =3D GET_IDREG(isar, ID_AA64ZFR0); + t =3D FIELD_DP64(t, ID_AA64ZFR0, SVEVER, 2); /* v9.2: FEAT_SVE2p1 */ + t =3D FIELD_DP64(t, ID_AA64ZFR0, AES, 2); /* v9.0: FEAT_SVE_PMUL= L128 */ + t =3D FIELD_DP64(t, ID_AA64ZFR0, BITPERM, 1); /* v9.0: FEAT_SVE_BitP= erm */ + t =3D FIELD_DP64(t, ID_AA64ZFR0, B16B16, 1); /* v9.2: FEAT_SVE_B16B= 16 */ + t =3D FIELD_DP64(t, ID_AA64ZFR0, SHA3, 1); /* v9.0: FEAT_SVE_SHA3= */ + t =3D FIELD_DP64(t, ID_AA64ZFR0, SM4, 1); /* v9.0: FEAT_SVE_SM4 = */ + SET_IDREG(isar, ID_AA64ZFR0, t); + t =3D GET_IDREG(isar, ID_AA64SMFR0); t =3D FIELD_DP64(t, ID_AA64SMFR0, SMOP4, 1); /* v9.4: FEAT_SME_MOP4= */ t =3D FIELD_DP64(t, ID_AA64SMFR0, STMOP, 1); /* v9.4: FEAT_SME_TMOP= */ @@ -1434,43 +1513,16 @@ void aarch64_max_tcg_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64FPFR0, F8CVT, 1); /* v9.2: FEAT_FP8 */ SET_IDREG(isar, ID_AA64FPFR0, t); =20 - /* Replicate the same data to the 32-bit id registers. */ - aa32_max_features(cpu); - -#ifdef CONFIG_USER_ONLY - /* - * For usermode -cpu max we can use a larger and more efficient DCZ - * blocksize since we don't have to follow what the hardware does. - */ - cpu->ctr =3D 0x80038003; /* 32 byte I and D cacheline size, VIPT icach= e */ - set_dczid_bs(cpu, 7); /* 512 bytes */ -#endif - - /* v8.4: FEAT_MTE2 */ - cpu->gm_blocksize =3D 6; /* 256 bytes */ - - /* v8.2: FEAT_SVE */ - cpu->sve_vq.supported =3D MAKE_64BIT_MASK(0, ARM_MAX_VQ); - aarch64_add_sve_properties(obj); - object_property_add(obj, "sve-max-vq", "uint32", cpu_max_get_sve_max_v= q, - cpu_max_set_sve_max_vq, NULL, NULL); - /* v9.2: FEAT_SME */ cpu->sme_vq.supported =3D SVE_VQ_POW2_MAP; aarch64_add_sme_properties(obj); =20 - /* v8.2: FEAT_PAuth2 */ - aarch64_add_pauth_properties(obj); - /* v9.1: FEAT_RME */ object_property_add_bool(obj, "x-rme", cpu_arm_get_rme, cpu_arm_set_rm= e); =20 /* v9.4: FEAT_RME_GPC2 */ object_property_add(obj, "x-l0gptsz", "uint32", cpu_max_get_l0gptsz, cpu_max_set_l0gptsz, NULL, NULL); - - /* v8.6: FEAT_LPA2 */ - qdev_property_add_static(DEVICE(obj), &arm_cpu_lpa2_property); } =20 static const ARMCPUInfo aarch64_cpus[] =3D { @@ -1488,8 +1540,8 @@ static const ARMCPUInfo aarch64_cpus[] =3D { { .name =3D "neoverse-n1", .initfn =3D aarch64_neoverse_n1_init= fn }, { .name =3D "neoverse-v1", .initfn =3D aarch64_neoverse_v1_init= fn }, { .name =3D "neoverse-n2", .initfn =3D aarch64_neoverse_n2_init= fn }, - { .name =3D "max-v8", .initfn =3D aarch64_max_tcg_initfn }, - { .name =3D "max-v9", .initfn =3D aarch64_max_tcg_initfn }, + { .name =3D "max-v8", .initfn =3D aarch64_max_v8_tcg_initf= n }, + { .name =3D "max-v9", .initfn =3D aarch64_max_v9_tcg_initf= n }, }; =20 static void aarch64_cpu_register_types(void) diff --git a/target/arm/tcg/stubs32.c b/target/arm/tcg/stubs32.c index 78f819ef6ff..939cea71892 100644 --- a/target/arm/tcg/stubs32.c +++ b/target/arm/tcg/stubs32.c @@ -28,7 +28,7 @@ void aarch64_host_initfn(Object *obj) g_assert_not_reached(); } =20 -void aarch64_max_tcg_initfn(Object *obj) +void aarch64_max_v9_tcg_initfn(Object *obj) { g_assert_not_reached(); } diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst index cc42db9e0b7..ff02435975b 100644 --- a/docs/system/arm/emulation.rst +++ b/docs/system/arm/emulation.rst @@ -230,7 +230,18 @@ to the `Arm Architecture Reference Manual for A-profil= e architecture When a specific named CPU is being emulated, only those features which are present in hardware for that CPU are emulated. (If a feature is not in the list above then it is not supported, even if the real -hardware should have it.) The ``max`` CPU enables all features. +hardware should have it.) + +The ``max-v8`` CPU enables all of the listed Armv8-A architecture +extensions but none of the Armv9-A architecture extensions. + +The ``max-v9`` CPU enables all of the listed extensions except for +those that are prohibited by the Armv9-A architecture: FEAT_AA32EL1, +FEAT_AA32EL2, FEAT_AA32EL3, and FEAT_DoubleLock. + +The ``max`` CPU is an alias for ``max-v9`` under AArch64 TCG emulation, +an alias for ``max-v8`` under AArch32 TCG emulation, or an alias +for ``host`` under hardware virtualization. =20 R-profile CPU architecture support =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --=20 2.53.0 From nobody Sat Sep 26 21:37:56 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=1787956070; cv=none; d=zohomail.com; s=zohoarc; b=ehdSGkQAv1DNMjaGd8NEoEoCbyB5GfTCj59OwfZmIWfoPrRsgpW4vyhArG7aAwSMadOXWJbvHwYz5UawFok1Ch5L1HwZ8QVuu6EgVymmgkG7c0/B3Zy5E7WdGKRW2Kp6Zn+SMEd2uE1PKb2An8/7s7qld8zOF0nSDdXxcUNwoKg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956070; 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=L/7Y8RdhplbD4Abq8NZ3BtTsO0de2a0oqbAmGeIVel4=; b=jhqT4qkbw7Lz7qScSwrgX+2Vyd+eXyhoot2jiCXdwUV09Cs9BsmKkBBlqaBoJHSziwxyI7TWAqzsL4IiqNfHgBWyZxLiTzOq0LkBdwNTEybrBXOd63962eR8+YHwhTIl3sjlxOWcDyt6LM5ZeRq4C/JByzTDsCJh9AyvSuCExlM= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787956070402377.45802717495076; Fri, 28 Aug 2026 15:27:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x0529-0002m7-AQ; Fri, 28 Aug 2026 18:26:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x0527-0002kH-VG for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:47 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x0526-0002IL-E5 for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:47 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-2d712281f8bso17449845ad.1 for ; Fri, 28 Aug 2026 15:26:45 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956005; x=1788560805; 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:content-type; bh=L/7Y8RdhplbD4Abq8NZ3BtTsO0de2a0oqbAmGeIVel4=; b=mB1enHum4woW+m8qtNtKyoo4c9XU8mVVhZMJJUa4beIO1U+sxCdOa23xUA0eCb/8Q4 cGi0Kl5h3ZzRw6ylGDNeB+NtaRJvP0m70hA1JA067cJHN618KYJC2MsoumTIL3/EASu7 3dcBmfos4WiY7/6HX/O0WeGOu9zlZRyff46D7LLrJcymOkk+MhNog8mmZYYK116IUfy8 x2mSr0w3ojV8fJ5C9l9DTTYTbdOmaX1NGT0AaJrt5XXLNvRlImbk95hCZYMPWbzbnlRo b36Yj3LV10ZZWvaN0drGK+ciWZAdFl/znSa4sTqrA/QriWJEpL5vAn6gPfnM7rYAh8ib /fBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956005; x=1788560805; 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:content-type; bh=L/7Y8RdhplbD4Abq8NZ3BtTsO0de2a0oqbAmGeIVel4=; b=lrNERNLy0hb1h5H6MJV24MS7Trt+pwk/XPrNiitcYCCpMyqztQuD5MbhwolnkcPDG5 pwLjxJUY6oGl0IrR8BZ2Sg/m0LHQGE2ZRoJ+MHn3VEngtEOEsgxGhtlv7XD9fJbG6r7X hIaLUOkvqBiYzLVc1riPAYZvkEsW938Lvdl2qY0hTlIqXW9d7Ri8jqiqMN8ugSCul/s0 vyZLT1JHMyNmRxqzOfI5Hfz9E9hRmxjLKUg9eVHt8s4fBM47CB3eFl4hIUJVv4oUcADb h/CBIGS50cI8lTW/j/pj4MsTrKFlsCuKxbpzYNsiA2hU5ITj2/nG/UQmxOyZN0Nfcj4b zA+A== X-Gm-Message-State: AFuF++lt3t+2u1xkW24yGQ3ySpr/B/IwjubygyW73cIatYx5dU1aK4Sp 5NhwKjVNDH7A+iD7UFgy7LP0t7mKhK67w+QgYIs8Pl9nWDmT+saOL01jixZK7RqDKzz/jxXHuc6 ssVTigSg= X-Gm-Gg: AYBFou14z/xAqK34tPuIDQpJKy4gthmrPNlEPbCpJywCTMrYJegf6k/7p+hwMeOyrew CFo9RNlmevGZiNMhub1LP5+4auJE41LzS9nIeraFzdUw0Gg8H1Hg2fthXJAoSdvD2LxrNkPRpuI uMC0dMWdBltqmJx0xlLfHha+PZd5qlNZFdA5dozUIYvF8npKs6PB/R4zlwQO6W8Um7qff1IJ34g VTn+8Qr3KtGmhKwh+ryddvqCHGuAAespFIXuafhzFc7c6AUKPAOsTE9lzb5knLHyZPxz4sIy6T7 QMeTH7RpkJe+z5Nd7EOVUY7RbRghg7/h4/NrL/upEnShshPkXvA+362BWimaVQ4Kb71ioLTbkhk Xnvw7cb2D9B2lfAEDt+MUHDh/GtxBGKcfdA+Fs1crc/m9EMjO2hiazzozWkCAx4Ki0FboC5UoGP iUKrM9H45h49OZCeEG4XTKoL4NNSwfErOfTOVBIAEMig9gI4mzle4osTmAaeNW9XJQtagxaAFDl bUgyrpDgoFJ2hcZWvFr X-Received: by 2002:a17:903:390c:b0:2cf:8131:75f4 with SMTP id d9443c01a7336-2d74dee9430mr201795605ad.11.1787956004988; Fri, 28 Aug 2026 15:26:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 05/13] target/arm: Move ID_AA64PFR2 feature tests together Date: Fri, 28 Aug 2026 15:26:31 -0700 Message-ID: <20260828222639.1432046-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::635; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x635.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956071913154100 Content-Type: text/plain; charset="utf-8" Currently the MTE feature tests are clustered together, but those are spread across two ID registers. Sort the functions by ID reg and bitfield order, like most others. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/cpu-features.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h index 280ead6f9cb..8ec9832424e 100644 --- a/target/arm/cpu-features.h +++ b/target/arm/cpu-features.h @@ -1207,16 +1207,6 @@ static inline bool isar_feature_aa64_mte3(const ARMI= SARegisters *id) return FIELD_EX64_IDREG(id, ID_AA64PFR1, MTE) >=3D 3; } =20 -static inline bool isar_feature_aa64_mteperm(const ARMISARegisters *id) -{ - return FIELD_EX64_IDREG(id, ID_AA64PFR2, MTEPERM) >=3D 1; -} - -static inline bool isar_feature_aa64_mte_store_only(const ARMISARegisters = *id) -{ - return FIELD_EX64_IDREG(id, ID_AA64PFR2, MTESTOREONLY) =3D=3D 1; -} - static inline bool isar_feature_aa64_mte_mtx(const ARMISARegisters *id) { return FIELD_EX64_IDREG(id, ID_AA64PFR1, MTEX) !=3D 0; @@ -1237,6 +1227,16 @@ static inline bool isar_feature_aa64_gcs(const ARMIS= ARegisters *id) return FIELD_EX64_IDREG(id, ID_AA64PFR1, GCS) !=3D 0; } =20 +static inline bool isar_feature_aa64_mteperm(const ARMISARegisters *id) +{ + return FIELD_EX64_IDREG(id, ID_AA64PFR2, MTEPERM) >=3D 1; +} + +static inline bool isar_feature_aa64_mte_store_only(const ARMISARegisters = *id) +{ + return FIELD_EX64_IDREG(id, ID_AA64PFR2, MTESTOREONLY) =3D=3D 1; +} + static inline bool isar_feature_aa64_gcie(const ARMISARegisters *id) { return FIELD_EX64_IDREG(id, ID_AA64PFR2, GCIE) !=3D 0; --=20 2.53.0 From nobody Sat Sep 26 21:37:56 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=1787956063; cv=none; d=zohomail.com; s=zohoarc; b=f12rtS6F3wyUgyUjIN6AZ1vBWKQMHMV6NoJz0uv0Y6lqX1oZqHJ2oHF9cj/GTwTaTomgOGEVVRif+OOGmJYhL14l7HtmBdHZ7oGmH6demWLAxb5WqfqvLygX3+In7Ke01vK67jpwq1ap+VA0OJGUqI8qCzVy4nZQMMVtUNRDKuk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956063; 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=JPL48k+kgX/er3dbBwM3QqTUUWWWeQuTkLu4LhOh8Fc=; b=FXpd94WeDKBNZ9fkxvt8meL/68wKQTCwuJHxTME5MFqxCGUwCt3MBj1cJ7Or+kupIDaqZh8fSADw7pLERkfWFWDV3TOm31Q0Yk2pNpkBvTuy5Nc1hDtAY0WOVUyiOB3r4vrPN3hCG9wmzZBrNrvH2ZKJRMRnEZnl+1W0foarXfs= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787956063110230.65025709080498; Fri, 28 Aug 2026 15:27:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x052E-0002oA-Tc; Fri, 28 Aug 2026 18:26:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x0529-0002lp-3v for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:49 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x0527-0002In-51 for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:48 -0400 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-2d72ae08fa1so13559735ad.2 for ; Fri, 28 Aug 2026 15:26:46 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956006; x=1788560806; 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:content-type; bh=JPL48k+kgX/er3dbBwM3QqTUUWWWeQuTkLu4LhOh8Fc=; b=n+I3Maf4pC/FHSPJiMMZtXb4HJvLQgSsOc89dUvrWdOMnmzFraB6tM6YBL0ZW0ciyO KBBSupK3ZovKlnPLpC6OawmoCv1dOIkujIFcUPwQvvUVuv9z9qfs0VhKjdWZOXwZyk/v BPYpgneNKZCbyt/+34WKYntvQz2xJq47biduTpS5MgEiF/UFO52qO9RwNkYMW5uH+OdR 8Mr1WN8xYkrjfTPA7s/nz4mqA+Ha93t6nzvKMOr8v8dQ5BgtO5YTBO+OcJODjm3bpWZN KkQ0bnMc6nGDhzFHcB06y/f7zcw/Tcyjub8cSwJkEPs2Zv9LPAk1bojKpgxroER+Ztsi tFtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956006; x=1788560806; 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:content-type; bh=JPL48k+kgX/er3dbBwM3QqTUUWWWeQuTkLu4LhOh8Fc=; b=lTlisYpZ/RYKsSL0pHvRstv7EXdtfbXvNpdfPXllwcwfNI+YTj/rGUoDvqHKxxM6yf Ujjo34200BCvAz/dOolJrJZevpPgjzdBxVVdE2xVQHWUhPHpfEvQXVoEKze+zGsVB6si OEiaa2QqKUQ/AV2txvOz9sHiEgnmRsG9BEahdZKO0LXUKLb3U8kOrOgrLddegjsl8is0 7JdOmSybHUX7bIXDHLHQabhpl/au9e3iauBPKduR3VxFdEjK/ZJPFxk69xVFGr7EIvAT A1tTbekhfCn2gvYZX2E3itXuOKKhibTsRwNeNPjHsp0eBZJUaVL84GcyA65QkToXpmMD aJ6w== X-Gm-Message-State: AFuF++nbv0d1RRxzlPDTPjT+F0uBShm563jWh7GSSEki5G1ksuZ6UZF7 Go0jgbjfHuCuoV8T9jeVoh4YJl2HnLJ776hDRnqDQkmS/aXO6s6EXfNmqelLrTFPg3Zxo1cHoJR buYmhWoo= X-Gm-Gg: AYBFou23YtMgzWvKjrGqiwSXpVUYtMv63/f6IfEJHV0dbUJ38Qya2CLkaMbsRZ0IDDg KDy3SvAHJEidy4pjz4WVHA2pmIkoWANGJ3YEvL/E9W+TtI2JmK/emJMMP4a1/Op7aMdR2Buwr1+ IUmkFCi+uemZdGy8W2unEz8QnwhIXMsOeapwAzD6autdBnqBXuzheGBKfwn5Yq27hYq2wkavxVa +BS2dMK49r9ll6NmKlKRHQSh+FUrUTkmhUll5FfrJV/3JEMXV/SepbHXfRD8kjOAK3EA8xhlEa7 1uBT5CqF5qrKyqpmuFrcVYW0eK1CB6J4pUZFWSISuPMhXKwohp7PterL9vAnHNHdBBVh4tfeRq/ 5T25cvqXfWln7T5NC+bWhgjlMLBm2YkE0APMnBxB+Z4w2Q5d2MveIpo1atA7wDgSBJEtUaQUlFl Q+mUpmtxer/d6Vkd0fT0uDAbbhcmpOIaMsAQJhSfKJilnX1m+Q+5b1qWhO2jGVNJgdWWYM1AtW0 eQRBQHaA94vZzb00Hk2 X-Received: by 2002:a17:903:144f:b0:2d8:d4d3:da4d with SMTP id d9443c01a7336-2d8d4d3db0emr42727475ad.17.1787956005562; Fri, 28 Aug 2026 15:26:45 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 06/13] target/arm: Add isar_feature_aa64_uinj Date: Fri, 28 Aug 2026 15:26:32 -0700 Message-ID: <20260828222639.1432046-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::633; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x633.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=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956064878158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/cpu-features.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h index 8ec9832424e..1c57bacf5ab 100644 --- a/target/arm/cpu-features.h +++ b/target/arm/cpu-features.h @@ -290,6 +290,7 @@ FIELD(ID_AA64PFR2, MTEPERM, 0, 4) FIELD(ID_AA64PFR2, MTESTOREONLY, 4, 4) FIELD(ID_AA64PFR2, MTEFAR, 8, 4) FIELD(ID_AA64PFR2, GCIE, 12, 4) +FIELD(ID_AA64PFR2, UINJ, 16, 4) FIELD(ID_AA64PFR2, FPMR, 32, 4) =20 FIELD(ID_AA64MMFR0, PARANGE, 0, 4) @@ -1242,6 +1243,11 @@ static inline bool isar_feature_aa64_gcie(const ARMI= SARegisters *id) return FIELD_EX64_IDREG(id, ID_AA64PFR2, GCIE) !=3D 0; } =20 +static inline bool isar_feature_aa64_uinj(const ARMISARegisters *id) +{ + return FIELD_EX64_IDREG(id, ID_AA64PFR2, UINJ) !=3D 0; +} + static inline bool isar_feature_aa64_fpmr(const ARMISARegisters *id) { return FIELD_EX64_IDREG(id, ID_AA64PFR2, FPMR) !=3D 0; --=20 2.53.0 From nobody Sat Sep 26 21:37:56 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=1787956119; cv=none; d=zohomail.com; s=zohoarc; b=hNw1oyteMZ2QuH4pZ+WRMrZNwtbuQ1DifHU/EaOJRNMy4CrWon02lHsFeuJlZM9AHcQmk2oRaHEDaXH2JRZtAPqVqXuUep9E3ozIfqe88DUsodPwqvQlpHti8e6iJx6HrUma4oFywFhZGsLs5DC2EhQkUywWScefPlUlePorZA8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956119; 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=lxDB1AZ/TE1qUbZALArzk4U0devuU3P17x8wphjQwTk=; b=nWeebiofF5sYsxEPOJFf9LFqQo62rPJpdPok0rxWt/whvgB9+PMlyKC+eR8bHBpUvUWCTcSK3i02eBuPKH4ZaikWd7iy/PSkgWyar2NQPjA298xIrr/ilHhcgzTIiKZcW6gJHqL6jGmL0HDY4C2R8DTXCgKAxbdAT1Q55ecXaSo= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787956119940474.03794447325834; Fri, 28 Aug 2026 15:28:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x052H-0002pk-65; Fri, 28 Aug 2026 18:26:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x052F-0002oG-BQ for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:55 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x0527-0002JA-Tk for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:49 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-2cc891373e0so12699925ad.2 for ; Fri, 28 Aug 2026 15:26:47 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956006; x=1788560806; 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:content-type; bh=lxDB1AZ/TE1qUbZALArzk4U0devuU3P17x8wphjQwTk=; b=C0dTyaMu8AV0lpL8B6d6qyFuub5X16m/EcgyT++kwgLfzlC4IujJUZEzljiHWqOBAR IIOGIXit6msaLg6Y1iH/Ml2NdawRnJHhtD/Y/+2k9xCOGSiirmxEKh/9WNIbOkS8hrs5 064ksBBeiLtkhaYhPa2mJClKlJcjlZDrRqlMTgqfp38zg5sfzi3QANnanBgz+qS0ngEg 95/WhQGXQk9qVCAYwhAtuxKAqeDfOnoV6ex/Nev4xAHTC85/1PEhlBqKDBmLHvUj3dE7 /+X3zLeKJQovGjOYt+B4T4khpcss3EMwlFaSEH5Ssj+5LmMDDpB9sncfS+5I4m97tdc1 4w1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956006; x=1788560806; 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:content-type; bh=lxDB1AZ/TE1qUbZALArzk4U0devuU3P17x8wphjQwTk=; b=mqOpgQJDkHja77szX7m0yULjQnLDH/weLFDW7/myZAgg79cQO+g5o64Hbz6CEIXP6E Pa4nIjV5LCVD60tz6ww49Epu7/Fw+isrnMv/X1bxUMXtI9tGFaA/T2FnRzbhKReqLvBy nQ0MZXrqIjJnrxqFg+SE0vEhxmAcIA4vps8T6NbBVFM+qk24tDn8+WHvLO/AXUEiTfr7 TTALymjAZgYOa9Fs651+Vet7D+2wKa6KwjwceNDHzL3HuWlqU81FI6JQdY4Wr4aZqqZD Y7si1TDN/y6qecUA/nuwjm/drF03OxCZL4yQ03sbSzCUaPp9HlUY6WnQG1k+oF/WG2Dd 4OSA== X-Gm-Message-State: AFuF++l8bYkEW0Uw0cw9IhTZMNiQe0z9kScynrBRBV8u96mM6GSrYkV+ bET02Ei7OV3T2Gwyu3zKdNo+BNFH5XKJjng6tmRbCi3wQo8UbHmwuNfJgedbWPwJOXsrImPGzXz d/slbkn4= X-Gm-Gg: AYBFou19GN0A4haP0fuPUmv3ix0A1fuL6N/nw2S0ozRPk3An29eTki2nFXPhAOub/JQ 0XXVYioz+TV1sgdTZc4iIShTTl0ctUdcvu3OBk7V8CYKt9a+YouFdjn3kXp3OMpInI0KqqYaqLp UC10/zHKmHH9GVE8awEmL8FSbIzJSTBU7FAuZn6nP3efHl0Sqi9xU3M3LWn+0UTNVIRqUFKVNU0 wuT2kROxgUh8/FSIZBO7xeq7eiyy2Xl6GiiaPziJnWpeJxajGWgF67CmSh0H66RwKIMtN/Efv6m hMUe2KXq+aE8z9eYqpjmjQi41XDKjmc6etq1oOzScyxJf28o5Pc76TuVmwwevr+vSk4eA7nroYN iOYgilMM8bowbCpGai6Xf64kxXPnJhogENdrp/i6slUj1zfeHAu1tmDgcIg9e7+APq1vG6fdiXT Qq0IbkYfdMgMqSwv0tmnay1F0Fvcp1ijPD+YiTrSTp1KT7QJOpAVHtBxl/2Gd7h0qU4tjS/1Wug vYF5vtpjHSd6fVNVGFt X-Received: by 2002:a17:903:1a27:b0:2d8:d4d3:3fbb with SMTP id d9443c01a7336-2d8d4d34074mr44384525ad.15.1787956006538; Fri, 28 Aug 2026 15:26:46 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 07/13] target/arm: Drop U from most PSTATE bits Date: Fri, 28 Aug 2026 15:26:33 -0700 Message-ID: <20260828222639.1432046-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::636; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x636.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=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956122590154100 Content-Type: text/plain; charset="utf-8" PSTATE is already 64-bit, but many bits are defined such that ~PSTATE_FOO accidentally clears the high bits. Except for PSTATE_N, we can just drop the qualifier. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/cpu.h | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index e8dfc3179f2..9e258fa005e 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -1558,26 +1558,26 @@ void pmu_init(ARMCPU *cpu); * Only these are valid when in AArch64 mode; in * AArch32 mode SPSRs are basically CPSR-format. */ -#define PSTATE_SP (1U) -#define PSTATE_M (0xFU) -#define PSTATE_nRW (1U << 4) -#define PSTATE_F (1U << 6) -#define PSTATE_I (1U << 7) -#define PSTATE_A (1U << 8) -#define PSTATE_D (1U << 9) -#define PSTATE_BTYPE (3U << 10) -#define PSTATE_SSBS (1U << 12) -#define PSTATE_ALLINT (1U << 13) -#define PSTATE_IL (1U << 20) -#define PSTATE_SS (1U << 21) -#define PSTATE_PAN (1U << 22) -#define PSTATE_UAO (1U << 23) -#define PSTATE_DIT (1U << 24) -#define PSTATE_TCO (1U << 25) -#define PSTATE_V (1U << 28) -#define PSTATE_C (1U << 29) -#define PSTATE_Z (1U << 30) -#define PSTATE_N (1U << 31) +#define PSTATE_SP (1) +#define PSTATE_M (0xF) +#define PSTATE_nRW (1 << 4) +#define PSTATE_F (1 << 6) +#define PSTATE_I (1 << 7) +#define PSTATE_A (1 << 8) +#define PSTATE_D (1 << 9) +#define PSTATE_BTYPE (3 << 10) +#define PSTATE_SSBS (1 << 12) +#define PSTATE_ALLINT (1 << 13) +#define PSTATE_IL (1 << 20) +#define PSTATE_SS (1 << 21) +#define PSTATE_PAN (1 << 22) +#define PSTATE_UAO (1 << 23) +#define PSTATE_DIT (1 << 24) +#define PSTATE_TCO (1 << 25) +#define PSTATE_V (1 << 28) +#define PSTATE_C (1 << 29) +#define PSTATE_Z (1 << 30) +#define PSTATE_N (1ULL << 31) #define PSTATE_EXLOCK (1ULL << 34) #define PSTATE_NZCV (PSTATE_N | PSTATE_Z | PSTATE_C | PSTATE_V) #define PSTATE_DAIF (PSTATE_D | PSTATE_A | PSTATE_I | PSTATE_F) --=20 2.53.0 From nobody Sat Sep 26 21:37:56 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=1787956089; cv=none; d=zohomail.com; s=zohoarc; b=dQrBpXZuma4GJgeHAfq3+jpzGnOG3jP5yQBDBEA/mp7nPW8C9IO8EFkfAjH1gq/V/G7kM26bEzul/4UriJU6jlmhSB0CQBfZb/B9ZSXH+d3oOQHABdcrZCwd8ujUYOrtxWL8ZEd4QJD5D6LKZiYBY9h7Wfsqr5qrcMRZt/BCtQw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956089; 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=2MZbjMDE841td0JwucZyy0AxkAYMDGPNezkz1NHmtAY=; b=Bf6XSNq/6+2emLGS/IprxAfXa0UYMj1XXK6JcCrvYeAPFtTQWRDQBEL6Rz32RH9qE0dazM/3uwCBSt9yDdIb/ba8+VQ4ibAe0Aeav2+SzTARra9/06Mo30Jz9MqpNBFix+A9zpUnNzS9KZH0B2TBU8fcc6s31gW5jFhjNfiv0e0= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787956089260645.4832380033907; Fri, 28 Aug 2026 15:28:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x052G-0002pN-My; Fri, 28 Aug 2026 18:26:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x052F-0002oF-BX for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:55 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x0528-0002JY-LO for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:50 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2cfbbdfa60bso16885415ad.3 for ; Fri, 28 Aug 2026 15:26:48 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956007; x=1788560807; 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:content-type; bh=2MZbjMDE841td0JwucZyy0AxkAYMDGPNezkz1NHmtAY=; b=unaHY14J30ejDmKJINX6w5PZlnDCbo/04uFtFZqPjJzINfMiyyWKGUvP6yktuEiZ9W ox+j1nSz3/vQwDWcjLyN5zFQO5GXkH9yWz4iYkD48jtRvEnrlf5+RwlJYBrDemHJJyrs rtktJNVgmFjVjx1sJ2A8zBX7qI1x+meOnZ26ukQRQMJzDzIbwzYX7ORLkOePUlhRlgxR 5Pq1iGqRNI1rTCto5xh7x41tIOj40pT1l0lhAqDs/KxX/CiFGJf3XTi4vBq47g8RRnV6 UqpKfVeUrLvj9HXd+dtubNYilaDxwNlV7LhFK9jLdDe3EjyEwg+VQoY/LglsPX/PaBe1 q/uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956007; x=1788560807; 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:content-type; bh=2MZbjMDE841td0JwucZyy0AxkAYMDGPNezkz1NHmtAY=; b=VJ3Cw6uZ7rFA+oYMIA2B0shPu0bc3CJ3b2Dfz27cl4wKCKY01nidz5CceX/2x47ORy WcXUVTNS3IzasO0hG8cx5wLZPQK4Vz3njNIhBuJKQTDQ8vZ5eK+93UD/F4/iYO3k3lgB Q/P0ocrFkdUQlsZaJhjg7SMjtDR24K7VDb+WmWPLpK73oT6hXUEAOrmEaMRB5d4eaUSd neQJGXv6vmshsdN+nfZNh0fq5b6cwj/+NQZ+MIPucZeJb1Vsi2kTgktjaeRNcQ/xLFGK u9TTsLlhIALrdzKyJsU0AZ/acx8vOgw7Trrc+WRTFq42cz/SnCfR050/YX+xbaDJIKlv SSuQ== X-Gm-Message-State: AFuF++ml7uXXshIIBKB23oMhiLFERvMJEB/79EH0QV/4+rX36sVzyWYZ nnKnvZVSQa8O4PFJECp3FlbvSZGf4uwqg6bqmyfAmmSZMOK/jyl2seKLvZUrmFgJ82cgIZtQgQN oED1O2Kk= X-Gm-Gg: AYBFou2CVcQ6jKSnHkfn7LPyIF/1r0NQdmDKMB8EbO8Nfo49S9tXORXONfXd98YsU6Q 3EM/apqhzrNHvy31hhS9obDT5cgRGJL7EoCVF96aBnq+4Sps0AwyyO2m5u8H8tfVrAXl1zDcmSX aIYzEIF1PaE8Y0UvJlHvrjHuiK4WFjyFH0cyBhs2SVXFWorCaiSM5TdtQ0ltnBZEQGQ5dSqL0aF 15N79Vw8VadNs07C2/wxjgf++wQLW6RMzYwx9aWiLM/pAODSjKRXnzTq/90eHjAk7V2LGOGyx4t flIVyVPeUF0b1SPSCB5eUBJYOMDudREXb7HpS+BczQa98Mr47q9go4M/NOMw+bw4UD7M39CmwSD kR0qDx7Z+7JyNnOLbeLe5Jbpm06L1xnkbMSxMRcaCS9Lbtyfy5F54FGvf1R5mfIYOOnzhOJC8x7 Y7iM+KSYKJYL5ypLSdXfjOPPoroVxUhBC8l3O8gcEXD+aMjgR8aIjmH/cb/h2K3YT9yku6Z1JXH 2vHVZ5bpsSTdaiOWRZn X-Received: by 2002:a17:903:144f:b0:2d8:d4cd:dc8e with SMTP id d9443c01a7336-2d8d4cddf75mr43132365ad.17.1787956007247; Fri, 28 Aug 2026 15:26:47 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 08/13] target/arm: Clear PSTATE.UINJ when taking exceptions Date: Fri, 28 Aug 2026 15:26:34 -0700 Message-ID: <20260828222639.1432046-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62e.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956090757158500 Content-Type: text/plain; charset="utf-8" Clear UINJ when taking an exception. Clear UINJ when exception return is invalid. In both cases, perform the clear without feature check, since the bit is otherwise RES0. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/cpu.h | 1 + target/arm/helper.c | 9 +++++++++ target/arm/tcg/helper-a64.c | 2 ++ 3 files changed, 12 insertions(+) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 9e258fa005e..b7ee215257f 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -1579,6 +1579,7 @@ void pmu_init(ARMCPU *cpu); #define PSTATE_Z (1 << 30) #define PSTATE_N (1ULL << 31) #define PSTATE_EXLOCK (1ULL << 34) +#define PSTATE_UINJ (1ULL << 36) #define PSTATE_NZCV (PSTATE_N | PSTATE_Z | PSTATE_C | PSTATE_V) #define PSTATE_DAIF (PSTATE_D | PSTATE_A | PSTATE_I | PSTATE_F) #define CACHED_PSTATE_BITS (PSTATE_NZCV | PSTATE_DAIF | PSTATE_BTYPE) diff --git a/target/arm/helper.c b/target/arm/helper.c index 4f30a94ecd3..ed6b4d985e1 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -9583,6 +9583,15 @@ static void arm_cpu_do_interrupt_aarch64(CPUState *c= s) =20 env->condexec_bits =3D 0; } + + /* + * R_XKSNJ: If FEAT_UINJ, PSTATE.UINJ is set to 0 *and* the resulting + * value stored in SPSR_ELx is 0. The new PSTATE is automatically + * handled by construction of a new value from 0; clear it from the + * old state and as UINJ is RES0 otherwise, skip the feature check. + */ + old_mode &=3D ~PSTATE_UINJ; + env->banked_spsr[aarch64_banked_spsr_index(new_el)] =3D old_mode; =20 qemu_log_mask(CPU_LOG_INT, "...with SPSR 0x%" PRIx64 "\n", old_mode); diff --git a/target/arm/tcg/helper-a64.c b/target/arm/tcg/helper-a64.c index 9d805231a08..f76d89990c3 100644 --- a/target/arm/tcg/helper-a64.c +++ b/target/arm/tcg/helper-a64.c @@ -764,10 +764,12 @@ illegal_return: * mandated behaviour: * restore NZCV and DAIF from SPSR_ELx * set PSTATE.IL + * reset PSTATE.UINJ * restore PC from ELR_ELx * no change to exception level, execution state or stack pointer */ env->pstate |=3D PSTATE_IL; + env->pstate &=3D ~PSTATE_UINJ; env->pc =3D new_pc; spsr &=3D PSTATE_NZCV | PSTATE_DAIF | PSTATE_ALLINT; spsr |=3D pstate_read(env) & ~(PSTATE_NZCV | PSTATE_DAIF | PSTATE_ALLI= NT); --=20 2.53.0 From nobody Sat Sep 26 21:37:56 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787956089694995.883644424073; Fri, 28 Aug 2026 15:28:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x052K-0002sc-5e; Fri, 28 Aug 2026 18:27:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x052I-0002pv-08 for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:58 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x052F-0002K3-2g for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:57 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2d71e253c90so14395585ad.0 for ; Fri, 28 Aug 2026 15:26:49 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956008; x=1788560808; 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:content-type; bh=B4qeYxozmzv5nUB9BT/DGHD7IZGaEHc1xEeHPC5DMdU=; b=hKvt7We/GA0BKaZdtANUDE3Qi4AsesQDoz8LXX8EkbmuOWYar7A3RwnfINgxKzLjqh ihwfo4WDlb9x0TQ2BTvNUCOQijwKgfatKS519ixr4KsseGuVZ7v72E3kpHmIsWE1jCWN KPGVgNrbl0SEFhz2S67uNF51uOa4AK7cBGqgkzBrv5gVTedR/rY2e7aYO8rjho8eMLe0 k/y+gtcH6NsXQC6HW5JBYGHW0QqhOu/DPGe8dc174A8vr5vbnxfUJHZB7sq317nd6Ixt rS8WZUy6KGiIafuom3hBl8ET4eNiZOrDmlCjaZcFoAcq220l9yD2twTMUPEvjLIYy9v/ RgHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956008; x=1788560808; 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:content-type; bh=B4qeYxozmzv5nUB9BT/DGHD7IZGaEHc1xEeHPC5DMdU=; b=GRkQrQPhA4KM9B9js83B3pDr9pRo0361DpjqGN121o9hh3pvGUVf9eF4zhxJLI/vjA Fa2eUPuePKxHPlwQjXJqsA5LwjJrXqMSUa7g8RQxKOw+0DPyn4vGP58pNcP34bCl3VK3 n3Fc6e6RjLuku5rIC15rLST1iyhV+IP0URQ1mlTYT1+4eA8NvqZGihzZZb8TnRr7PIeM SQ56D0DFtcFHDLbUAERS0Q9LZ2PaeFHWKiUUt2p/G9wOFXO+ABLmKQLYyyJvJsfND4qc renWuwjlNQRdZt8VX6k0lE0mdN2OqoS9z7Y9O6a7t2ZMSRO3iZrDFw8Tli6sTc83XrDR 57dQ== X-Gm-Message-State: AFuF++nbDcYKzEVMxIlJIm7KQKBTnBS/l31zP0yth1bTP3iGl8Fl6OPS NqcwdDljopU/RZbOwqaQQPO7OocD2+fDkYWZpIZgOkcMS3XLPBedYV+PjDRtagTHcsMnIMgkTd7 gzWc75hI= X-Gm-Gg: AYBFou2TJ15AplVI2Vi+axgL1RnbW9BcqJBUyq0SgtpIV2UGmBpNJEWIl73kEyOuYfe FiXVGYXBXmUgtWMpVmCGuQsGKsovyFj/KK50/0f6GN6T3Zhbg+236tfKVqfvhlfFoAeSl3aM8Yj powp2fRHmsT/v1T/higc53zXkC69EsmDATBTT+U6LoCXUnuUnd1qJRywxQENx4Pxo6FyZ5CQoya b8pRsogsadNT+fseJPhB8OGOjHBfbZ2C2zsdZ9QyZnmi5sg83mIce5SYcXvvLDNccwtwK+gAnDp r30DmPB7/4J0rBxkHU/CEZSwuW914BGVRuX4i36c15uOUWZzOCKvwT7E/vTlBvOUGl895NGwzB1 +h0t4GfAghxxskHIt/o8cwvEbMKq7A/D4uJE+ERW9lXEq91UGPmLiQGHJqrqDInQvtngb8tx2PE wcrK61cwT3+m5FrBI5GykGiLFFXGiCTGjKctBSG/0IQ4De9BDVDjbxT+3UxY2TDL/6UpLzEoMrJ m3IGehQUsMxR53i03Yg X-Received: by 2002:a17:902:ce88:b0:2c9:c952:6e9 with SMTP id d9443c01a7336-2d74dca2281mr180565415ad.2.1787956008060; Fri, 28 Aug 2026 15:26:48 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 09/13] target/arm: Widen cpsr_{read, write}_for_spsr_elx to uint64_t Date: Fri, 28 Aug 2026 15:26:35 -0700 Message-ID: <20260828222639.1432046-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62f; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62f.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=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1787956092130154100 Content-Type: text/plain; charset="utf-8" We will shortly need to handle bit 36: PSTATE.UINJ. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/internals.h | 4 ++-- target/arm/helper.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index be32a8c531f..69c9256984a 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -2015,8 +2015,8 @@ void vfp_clear_float_status_exc_flags(CPUARMState *en= v); */ void vfp_set_fpcr_to_host(CPUARMState *env, uint32_t val, uint32_t mask); bool arm_pan_enabled(CPUARMState *env); -uint32_t cpsr_read_for_spsr_elx(CPUARMState *env); -void cpsr_write_from_spsr_elx(CPUARMState *env, uint32_t val); +uint64_t cpsr_read_for_spsr_elx(CPUARMState *env); +void cpsr_write_from_spsr_elx(CPUARMState *env, uint64_t val); =20 /* Compare uint64_t for qsort and bsearch. */ int compare_u64(const void *a, const void *b); diff --git a/target/arm/helper.c b/target/arm/helper.c index ed6b4d985e1..e6b16eade76 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -9353,9 +9353,9 @@ static int aarch64_regnum(CPUARMState *env, int aarch= 32_reg) } } =20 -uint32_t cpsr_read_for_spsr_elx(CPUARMState *env) +uint64_t cpsr_read_for_spsr_elx(CPUARMState *env) { - uint32_t ret =3D cpsr_read(env); + uint64_t ret =3D cpsr_read(env); =20 /* Move DIT to the correct location for SPSR_ELx */ if (ret & CPSR_DIT) { @@ -9368,7 +9368,7 @@ uint32_t cpsr_read_for_spsr_elx(CPUARMState *env) return ret; } =20 -void cpsr_write_from_spsr_elx(CPUARMState *env, uint32_t val) +void cpsr_write_from_spsr_elx(CPUARMState *env, uint64_t val) { uint32_t mask; =20 --=20 2.53.0 From nobody Sat Sep 26 21:37:56 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=1787956103; cv=none; d=zohomail.com; s=zohoarc; b=anEwpqw8zYZM5IUSOdyUuTYB8oXrTHQzpPwydH0y3wAWvlne2mWDU6EIzDqkshfRxRbVFMphP1oNxhxfbjFV9L+AofL0w8kC41sR+prK75j4GWxUjPWY4qS9rLBu8zW2ZDGRaj2vtM95ZbkBPg+pzjXmaHmCGXNKoWMRiD1Fzuo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956103; 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=c3prOMqPHLIQmXgwFNllZn8rehgch0RbINfq/i5tMyY=; b=ZqikSvCEq1mqipZVYa79znV6hFnalLL9wvbNrcdQP0vLaph91HRLRW7FLDHYGIsPmvcdTRNbSwyqW1NDqUw+H+9vm2Byf99XVPtBhELgnmGEkYNtKZX2qYgRCv+AQagUkLZ/xvjS/WuJ7cxVihUTNONdXl9jcUvtWUFB+pPxgdM= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787956103075228.4199538274538; Fri, 28 Aug 2026 15:28:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x052J-0002rC-47; Fri, 28 Aug 2026 18:26:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x052I-0002q4-4y for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:58 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x052F-0002KP-2d for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:57 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2ce98cb8165so15870715ad.1 for ; Fri, 28 Aug 2026 15:26:49 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956009; x=1788560809; 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:content-type; bh=c3prOMqPHLIQmXgwFNllZn8rehgch0RbINfq/i5tMyY=; b=KvQLtlO5usCcGXAas8GbRqL776w9litSjoSPeCXf9scYI03MOSPgbkIuSgcuMizx3r Df99Qq0/75nt6XKmR/xirGYfptnlBNYIWa8zt838ZccK8IvS+/V4K0WbkYuJVozbSMEl ucvsIsOARcdpmBp9vZ7oLrUDzDRMnnvEE1NJwaQjNlyLcBq7ozqXchWyaJ/Q/1bIiTrU CsxAz6+05mZyDg1WpBkEJ1x8KU5MuypdnO+hbv3kBDQJzzp0JJvPzxjaQxPDXOry6za6 +tOghy7ltluZ7DUibDIKNgjKPSJ70ZCKakHqB3tCyoUvMn2ohCAulTRc6m9+BZn2CXJI MenQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956009; x=1788560809; 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:content-type; bh=c3prOMqPHLIQmXgwFNllZn8rehgch0RbINfq/i5tMyY=; b=DGnaYchliA2YaQRyDvlviNuH+MLhjM239rk457L7DhK7qEfKlx/vzUoGjNkfLC0LYN k3FmjT7fNhUa/tONMkaOpT4sWeDA0cESXQhE8H7e8zMOdb3VlDLUBu60nTc+56oK3gXv qMz8Hc10gTrqS/LZIaS0bTWtB6gGtOEkvWb6xeOjRcPtfUc+uQ65rMaQzrZonyWCv41Z hnG9lXXgOTuxOfzarOuX7AuI6VhkJAaOs93A5hwnXfv+cL0Efw0VAoPL1AlOliKYYATS AKl1YW+YpyaaHMQwc0sC7ew5hPx5r/dep5RdiZfgrwQb/K5ey73hG6pBAuRc5jPBD2mP GicA== X-Gm-Message-State: AFuF++lFQPg55vTR49iXHmRUIs6Lat1ZU069tbkVr9SBpQSpalW8UiWo uAEmfcVczXFAda7Ox5F+x/jZ32NeoQoN0yBinfSs0Z5QyP2QqVxhxJSbTqRAy+2OChKJF5+fa0W c6uPpVDc= X-Gm-Gg: AYBFou0Ec2Bw1apefM2K9YBYgEDM8xf8dux2hyPoyzpot7KDYa3xPpHkLt2TsA0yHwW svqd8hfGzlnXOmVAQWFkoYsdEGNXHvE+wopojqHfEN1JfjvXf+kr7yCcia8cPAr3JNOhfZYvFwC giqD0Yf950HrTCeks+YGDKrYfHRjleX2ZY2AWvh0gex6nUCWOnSFJdxrlULN9vsNEoorzOwjHGj 2NptbPj1SxLlIJQV4rG69CQ7tu58ELkF4ubXhCe2J1LQ5AhNKtFMmBLCDM0hQnlFETdHUTfpgVT SzL1Xsd9jRkbobhYHg4nXo8B4+4mKy5yRljgc5XFaaYL7Dv+yh0abnVikJqUx23jok7iOdyfjwN 4cZuQdqPcEa/y+z0mqWilM6/0T6oVnfsdoyaAuYDj1JdN6BDGqJqUXoW/r/WZqMg24cAjVm1lzC rEv6WS8Z0S6rvW5tRRp9ZW4YRO+DJJP/dfz8XcqX0e5UO7OXpWweV6Og+lF5NN2liBLZQX8Q+fd TJncg0XPrEmtS4LlRPK X-Received: by 2002:a17:903:3504:b0:2cf:8aa7:7810 with SMTP id d9443c01a7336-2d8d4a0176fmr27776185ad.2.1787956008963; Fri, 28 Aug 2026 15:26:48 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 10/13] target/arm: Read and write PSTATE.UINJ Date: Fri, 28 Aug 2026 15:26:36 -0700 Message-ID: <20260828222639.1432046-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62f; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62f.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956104240154100 Content-Type: text/plain; charset="utf-8" With FEAT_UINJ, allow PSTATE.UINJ to be set from aa64 and aa32 modes. Read the value back for SPSR_ELx from aa32 mode. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/internals.h | 3 +++ target/arm/helper.c | 13 +++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index 69c9256984a..eac1f7f379d 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1392,6 +1392,9 @@ static inline uint32_t aarch64_pstate_valid_mask(cons= t ARMISARegisters *id) if (isar_feature_aa64_nmi(id)) { valid |=3D PSTATE_ALLINT; } + if (isar_feature_aa64_uinj(id)) { + valid |=3D PSTATE_UINJ; + } =20 return valid; } diff --git a/target/arm/helper.c b/target/arm/helper.c index e6b16eade76..a4a7fa69ff1 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -9362,8 +9362,9 @@ uint64_t cpsr_read_for_spsr_elx(CPUARMState *env) ret &=3D ~CPSR_DIT; ret |=3D PSTATE_DIT; } - /* Merge PSTATE.SS into SPSR_ELx */ - ret |=3D env->pstate & PSTATE_SS; + + /* Merge PSTATE.{SS,UINJ} into SPSR_ELx */ + ret |=3D env->pstate & (PSTATE_SS | PSTATE_UINJ); =20 return ret; } @@ -9372,6 +9373,14 @@ void cpsr_write_from_spsr_elx(CPUARMState *env, uint= 64_t val) { uint32_t mask; =20 + /* Save SPSR_ELx.UINJ into PSTATE. */ + if (unlikely(val & PSTATE_UINJ) + && arm_feature(env, ARM_FEATURE_AARCH64) + && cpu_isar_feature(aa64_uinj, env_archcpu(env))) { + env->pstate |=3D PSTATE_UINJ; + val &=3D ~PSTATE_UINJ; + } + /* Save SPSR_ELx.SS into PSTATE. */ env->pstate =3D (env->pstate & ~PSTATE_SS) | (val & PSTATE_SS); val &=3D ~PSTATE_SS; --=20 2.53.0 From nobody Sat Sep 26 21:37:56 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=1787956100; cv=none; d=zohomail.com; s=zohoarc; b=gKLISKPnxyLnXwt19DQGCCvYo/b6FSf2dh5C0r2R+mdPhoyxb5TnOOPyX6YDBB/HcDROsCtGcDHpr4qUczv4UwQBSu8DRJIEEpwdxf5faECX1VIaOcMdHKs/AyBeuL2pzrujOGKCsKUZJaQonTRIVMS9xHvZhA4BXM683YsHx6I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956100; 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=BlDhmUu6FRHdcxkTrfu/H3G5UIOzp8QqwoOoZ5rTi2Y=; b=f/06WjytVyRN8NrF28FqrwcIZf5GNnfsVDJBoyDgqxyax9j7wu8v61YgJBUY0Yv40c7OdR0OZRWsl1leb73rs2DqvU4ijMavYYPzLo6vzhQqzhXe6g/8Uok5bJF8fth4XqEGYiSN6TMeNDqZez7TXKmNXpLalbpLoVoPJezhgAo= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1787956100517853.3264314086447; Fri, 28 Aug 2026 15:28:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x052J-0002rH-Ad; Fri, 28 Aug 2026 18:26:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x052I-0002qC-8X for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:58 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x052F-0002Kb-2d for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:57 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2d715f4a587so21368525ad.2 for ; Fri, 28 Aug 2026 15:26:50 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956010; x=1788560810; 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:content-type; bh=BlDhmUu6FRHdcxkTrfu/H3G5UIOzp8QqwoOoZ5rTi2Y=; b=eqNqd2GXpo1e5IZXjnU3Oiz4IX3esEg6HxdFlBSTLRpoLhe+l8nyI1RcYm/Rq7jrcQ 2c3Eac9+6w5cxyaSQ/QQIxlVr6w1HozRuKTdZAmMJ1LJkdrJ5oKwTDlVibXO1MnF8k6X 1dfCDYntvU349GCmT0Oxi/x+bh+RT8F55oxA6l6a1awaHr5f8nah1ocHnMfjrtL9MHSW zLhKoHRYvuO9ME5ZmJWtMSkqnxsDFdW9jO38LRTzCalebxo4nurc1huuMFrQFlcIMYuD mLRpbZXKkZWWJGycLxv5sv7dlFkfaUX5z7J972gft/OePZkytn1nFIFKddyrTPWnULMd ZlIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956010; x=1788560810; 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:content-type; bh=BlDhmUu6FRHdcxkTrfu/H3G5UIOzp8QqwoOoZ5rTi2Y=; b=MNyiLwUsVGdwUB6R1bi4k3pCaH+H8H3PCXOiC5ratfJUAYXPQb6/auDAHciGRTX0Fq ZJQT+UAHy3vcvH7cp4erOuLrgPJy3dTczW/hAvIfHI0dnqwzycI5WhRj94V3ZlTHDqhk vfTgLsd1yqUmaB8UtK9QXyjHOu6IKOhDPDoHgAs0yGViwRRMxGvydy1QDtPZvOv9khNN Ic2WVkHKWCCX/sEdojuM7ph/E7PklochaOFIGXWw82kDD7nqf+KDEqOmNtdtTHAmNhMm Ri210oTNj7eBBj8unqfd9eF5SNRRQsHCT3Fi9LGFZwvcHcZvyAvrdNHlmiFdkxfDZ5SB 0XGw== X-Gm-Message-State: AFuF++kMqKMwbOUy02rkPT+1UKZNodZOy06OM4nQgyDsBDJiTPbbC3X7 md5YGoWt920BiyrTqBkg7b5OTwiwmTo0JBMNF7PnOV1X6R3xLNibLKya6p26MhYZsUzNPMLcQ9V wz3QqIVA= X-Gm-Gg: AYBFou1cf2yP3ZuEIPoSEWitU179KEMfDIz14Bo/NJ5cSsq2jmhu3O/5SGCB0wgtUMZ Zmcchn5/2eqwwhJ+K/tUr7nGEOv4M8Bk8PpP/s2bdgv+x88gwMTHRXhd2IQFYz883tqwApzPzPh YsYHB4gb5d4KqyyHwfduQEifiZQRU5qjaicdOVZE5gTKAbuWpCP1zNamMbhGbA0nE0qXB7WtaoQ 1wr7aLomb/XfkyXIEgfEJFIHC9EWCbwCpM2X7A2/Vd8SlotiAfiLyDkA4HPPoo4YGx6kPIsbNYh PzRkN8SADqJKB035HSdsHkVAAEJ1rQ2+bcQZjX40LQXwX82AsSmd3nIl1CWp4wiSgnIrhYnA26D Db6YuhaAAkzC5RUSQ7aMk4mrsoEzxE65LIB4mjc2aTvUyqp+/ooJeji5f1tNLpFkFVYpcHigExc xE7cbyFEUsK8ftC+qQPlFo8SsjjVvc4HoszfUiqEYMtGKLyxG2QDyJsgPMYWUAxS+FoRRtqpVi9 4Tb0WlyJ+ksA3pJ3Mum X-Received: by 2002:a17:903:1b25:b0:2d8:d4cc:5bb3 with SMTP id d9443c01a7336-2d8d4cc5d8bmr40860725ad.19.1787956009699; Fri, 28 Aug 2026 15:26:49 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 11/13] target/arm: Add PSTATE.UINJ to tbflags Date: Fri, 28 Aug 2026 15:26:37 -0700 Message-ID: <20260828222639.1432046-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::629; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x629.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956102328154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/cpu.h | 1 + target/arm/tcg/translate.h | 2 ++ target/arm/tcg/hflags.c | 6 ++++++ target/arm/tcg/translate-a64.c | 1 + target/arm/tcg/translate.c | 1 + 5 files changed, 11 insertions(+) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index b7ee215257f..4fe8bff998d 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -2483,6 +2483,7 @@ FIELD(TBFLAG_ANY, ALIGN_MEM, 10, 1) FIELD(TBFLAG_ANY, PSTATE__IL, 11, 1) FIELD(TBFLAG_ANY, FGT_ACTIVE, 12, 1) FIELD(TBFLAG_ANY, FGT_SVC, 13, 1) +FIELD(TBFLAG_ANY, PSTATE__UINJ, 14, 1) =20 /* * Bit usage when in AArch32 state, both A- and M-profile. diff --git a/target/arm/tcg/translate.h b/target/arm/tcg/translate.h index 31f52a34a68..f633aa265f0 100644 --- a/target/arm/tcg/translate.h +++ b/target/arm/tcg/translate.h @@ -155,6 +155,8 @@ typedef struct DisasContext { bool align_mem; /* True if PSTATE.IL is set */ bool pstate_il; + /* True if PSTATE.UINJ is set */ + bool pstate_uinj; /* True if PSTATE.SM is set. */ bool pstate_sm; /* True if PSTATE.ZA is set. */ diff --git a/target/arm/tcg/hflags.c b/target/arm/tcg/hflags.c index 296ec8101ab..174f4aa746f 100644 --- a/target/arm/tcg/hflags.c +++ b/target/arm/tcg/hflags.c @@ -292,6 +292,9 @@ static CPUARMTBFlags rebuild_hflags_a32(CPUARMState *en= v, int fp_el, if (env->uncached_cpsr & CPSR_IL) { DP_TBFLAG_ANY(flags, PSTATE__IL, 1); } + if (env->pstate & PSTATE_UINJ) { + DP_TBFLAG_ANY(flags, PSTATE__UINJ, 1); + } =20 /* * The SME exception we are testing for is raised via @@ -513,6 +516,9 @@ static CPUARMTBFlags rebuild_hflags_a64(CPUARMState *en= v, int el, int fp_el, if (env->pstate & PSTATE_IL) { DP_TBFLAG_ANY(flags, PSTATE__IL, 1); } + if (env->pstate & PSTATE_UINJ) { + DP_TBFLAG_ANY(flags, PSTATE__UINJ, 1); + } =20 if (arm_fgt_active(env, el)) { DP_TBFLAG_ANY(flags, FGT_ACTIVE, 1); diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c index 4f9a93950b1..026a2a72d05 100644 --- a/target/arm/tcg/translate-a64.c +++ b/target/arm/tcg/translate-a64.c @@ -11014,6 +11014,7 @@ static void aarch64_tr_init_disas_context(DisasCont= extBase *dcbase, dc->fp_excp_el =3D EX_TBFLAG_ANY(tb_flags, FPEXC_EL); dc->align_mem =3D EX_TBFLAG_ANY(tb_flags, ALIGN_MEM); dc->pstate_il =3D EX_TBFLAG_ANY(tb_flags, PSTATE__IL); + dc->pstate_uinj =3D EX_TBFLAG_ANY(tb_flags, PSTATE__UINJ); dc->fgt_active =3D EX_TBFLAG_ANY(tb_flags, FGT_ACTIVE); dc->fgt_svc =3D EX_TBFLAG_ANY(tb_flags, FGT_SVC); dc->trap_eret =3D EX_TBFLAG_A64(tb_flags, TRAP_ERET); diff --git a/target/arm/tcg/translate.c b/target/arm/tcg/translate.c index c866148383f..40929a6ef78 100644 --- a/target/arm/tcg/translate.c +++ b/target/arm/tcg/translate.c @@ -6382,6 +6382,7 @@ static void arm_tr_init_disas_context(DisasContextBas= e *dcbase, CPUState *cs) dc->fp_excp_el =3D EX_TBFLAG_ANY(tb_flags, FPEXC_EL); dc->align_mem =3D EX_TBFLAG_ANY(tb_flags, ALIGN_MEM); dc->pstate_il =3D EX_TBFLAG_ANY(tb_flags, PSTATE__IL); + dc->pstate_uinj =3D EX_TBFLAG_ANY(tb_flags, PSTATE__UINJ); dc->fgt_active =3D EX_TBFLAG_ANY(tb_flags, FGT_ACTIVE); dc->fgt_svc =3D EX_TBFLAG_ANY(tb_flags, FGT_SVC); =20 --=20 2.53.0 From nobody Sat Sep 26 21:37:56 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=1787956062; cv=none; d=zohomail.com; s=zohoarc; b=DQgRR/Xn3wkasxKq1SAVYBOaN+y22DE1RJFeImVIMKizehJS9yOhX3THlfVmF6RtXUOFPSfGotuTGGDiffMrkyW4B7UFxhgL7mg3tRd4EaTJgocfKstWzLmPAaUAC9TqVMHKnH/kioW4MkhhTHfPlO6gRc5q9RmceBeilPfuGIY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956062; 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=iAnGfAmlIa4zGWUxbLQOr6sCdCNjHw8VOXPeiP81wTw=; b=J41+d30qpAmLd6WtfalTy2zHpAjBYupYFGmE3MPJyHqp1gxpw0ihqVhZF9eOulZb07gmngk9Yo0cjE+IgoIazyDwcAVsllEpy/InPkYS/8b6Or0BZDzjtxx7lDlFXU35GROdR+9+HaZXK7zssggEDwla9CNPi0PWosdDh54Yv5s= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178795606223674.01210996396219; Fri, 28 Aug 2026 15:27:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x052L-0002tM-M7; Fri, 28 Aug 2026 18:27:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x052J-0002rI-At for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:59 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x052F-0002Ke-3z for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:59 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-2d71ae3455aso21850365ad.1 for ; Fri, 28 Aug 2026 15:26:51 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956010; x=1788560810; 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:content-type; bh=iAnGfAmlIa4zGWUxbLQOr6sCdCNjHw8VOXPeiP81wTw=; b=oWcDzdWaYbiJG7CxTiWQjVMVmbp8iRMnhlHLP5aYW+oz8tIw5SLZZzL9Ly/bNxfgDA o4uJOh2gzLICn1KRNTIZHKziCvNApdXa/o+ZjbcKGwuMBrBm6GN9+NSAyn6FdSLd8jd0 2WNZH1q64iZQT/rwOQV586twa12Y3AVOU0IkXPEi7ei/nEBc+/dsX4RCeMFeFacO6iIE Mk4gtBg0eMwxP1RNl95Lf8ebCsI3q05Wvu/YDJCKAhS0Q/dOvIqi4e2SpLXsYytdf0KO MVCDMG8gqY/nIewOCq4RsMU7g6lalJ6i1MXzWbhsiUuiHxf465y/jxLcIJnx7K4i6T7D emJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956010; x=1788560810; 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:content-type; bh=iAnGfAmlIa4zGWUxbLQOr6sCdCNjHw8VOXPeiP81wTw=; b=RSSBthUcvPe05gAInedM6/f21ubV5QdUpFTkVZIZZw/nPTLzBCuyUxKRPVtUAiMuJr r3BrliO3ESHLql2p9iwvkfMEiQY147l+QcmA8jHBwkw0Ybnh7Wk9e0F93ViRZ5r5oAYt fwIIQR91fHsT0QavWeHTJZ6RLX20OowgImSsZtZNmtayftwBBo5wrjUWxaN+CUFnkbQ3 E91ZmAR/Z3JT0G9CjSqFa+uBh3wY1mPyaszYZfVy71VZT04t5aGv1sxMjgkqFMfIUx5n ufC2+rjTqzZZaF/6U5mhS+bPYELLcS1r4J5ZXBmrxeUO7ScAo0yq/xde+K/nnb7K5Aw5 zhWg== X-Gm-Message-State: AFuF++k1+Q+1ngO2+FGdOF6Dyu/w2mPFWS8zeazAXf84bEeBi0oIORr3 qqsT3T3JJUG3uCR47vrMYaQr3ucV9RwmTtBpCZ76K0gaqoIOEhinbnk+QAcrw+iKlr68zzz0RxA Uv7e9uJ0= X-Gm-Gg: AYBFou1D9wqiy0yzXkXqBJ6hB7tlNK9l20Fl6469ivPh/EQyVQ0E2d/fUP5sfrua4b0 OJw87RtRvMllberWdGUTo4uMrYRyg+bELtqI4VvPR6FoCseWri8oivjRWs+smzGVC2cBiRKkvOD 20OpTSguSErPum3HAzugNjedoFj+evq7+elE9rvZINrFUCkiOcPrAh9dhfBgTYM+3MYUrv+IMkr hIcgHyEtWMxlf9bmMoJQRLGeNajH2NvH0rrb6N/D+IbECYEw70f0OYU6f5yJdK0nsa9bTnI3B7j EmFEGjQ5hPc0qZxZML0atGJgFsDgxmXg63NxFetKQJb1JkwqrjTrySWlUh5eQDl572MuDc1ezOs sgq9UxFuw4B9JmlXHFpCINXeCaMMz2LSPyFkxzayjycTta5gQ/L4a6My/YHWaxtpmdoo8FAXRpn wnv86234rbK1UH83azStCTIWKtyq2BRHl+SLjRnxR8CIpnQx4olQ0pkBkl1LD76d7thNkihK0pt bsQYNMn2OSEXpcQX8uifiRN/zhWfe0= X-Received: by 2002:a17:903:3d06:b0:2d8:d4cc:5baf with SMTP id d9443c01a7336-2d8d4cc5dcemr50529365ad.15.1787956010298; Fri, 28 Aug 2026 15:26:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 12/13] target/arm: Honor PSTATE.UINJ during translation Date: Fri, 28 Aug 2026 15:26:38 -0700 Message-ID: <20260828222639.1432046-13-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::635; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x635.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=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956064882158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-a64.c | 8 ++++++++ target/arm/tcg/translate.c | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c index 026a2a72d05..05741c94dd7 100644 --- a/target/arm/tcg/translate-a64.c +++ b/target/arm/tcg/translate-a64.c @@ -11168,6 +11168,14 @@ static void aarch64_tr_translate_insn(DisasContext= Base *dcbase, CPUState *cpu) gen_exception_insn(s, 0, EXCP_UDEF, syn_illegalstate()); return; } + if (s->pstate_uinj) { + /* + * PSTATE.UINJ injected undefined instruction. + * Priority immediately after PSTATE.IL. + */ + unallocated_encoding(s); + return; + } =20 if (dc_isar_feature(aa64_bti, s)) { if (s->base.num_insns =3D=3D 1) { diff --git a/target/arm/tcg/translate.c b/target/arm/tcg/translate.c index 40929a6ef78..77391c5486c 100644 --- a/target/arm/tcg/translate.c +++ b/target/arm/tcg/translate.c @@ -6125,6 +6125,14 @@ static void disas_arm_insn(DisasContext *s, unsigned= int insn) gen_exception_insn(s, 0, EXCP_UDEF, syn_illegalstate()); return; } + if (s->pstate_uinj) { + /* + * PSTATE.UINJ injected undefined instruction. + * Priority immediately after PSTATE.IL. + */ + unallocated_encoding(s); + return; + } =20 if (cond =3D=3D 0xf) { /* In ARMv3 and v4 the NV condition is UNPREDICTABLE; we @@ -6700,6 +6708,14 @@ static void thumb_tr_translate_insn(DisasContextBase= *dcbase, CPUState *cpu) gen_exception_insn(dc, 0, EXCP_UDEF, syn_illegalstate()); return; } + if (dc->pstate_uinj) { + /* + * PSTATE.UINJ injected undefined instruction. + * Priority immediately after PSTATE.IL. + */ + unallocated_encoding(dc); + return; + } =20 if (dc->eci) { /* --=20 2.53.0 From nobody Sat Sep 26 21:37:56 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=1787956091; cv=none; d=zohomail.com; s=zohoarc; b=HyYq4gLlbXf9lGXQS+b0me5LTrV7b1FxwMbYjMVXn7U2BKURPDI+hCWNb6NL0Znz7IvKKS9X1wsaiswacL9sVkaCzGVKSPaIieLBp6W5Z/AwkoJjVjBoQmnXqUF97zvw0vJF+5v/zP73xi0VkYQ+ye7WtAGTmMw0ehnMPf/Zcl8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1787956091; 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=H7anQ+nZ6nEMZWsgrQz0HJu50fb8m+vAd3J9mjoNV9E=; b=Qw2nFaaZRrziepNJ796B6oof7CsvmMW95QpaVTphod7wAbf82SQLOKv5bXCHW7IlwCn3ZpFVFSVLe8rcLdsfZG+HAnErHjYsFfe4Gi6t8B1d/ESJ/VpRNj2/g6qz9su8rqs9TPrRbmEB8g7LkHJad6xFS3CEVYenBxWPhWZwUnc= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178795609181594.04923634829822; Fri, 28 Aug 2026 15:28:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x052J-0002sD-Q5; Fri, 28 Aug 2026 18:26:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x052H-0002pu-Ta for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:57 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1x052F-0002Ko-2c for qemu-devel@nongnu.org; Fri, 28 Aug 2026 18:26:57 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2d71ae3455aso21850465ad.1 for ; Fri, 28 Aug 2026 15:26:51 -0700 (PDT) Received: from stoup (71-212-39-143.tukw.qwest.net. [71.212.39.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d759640270sm9178355ad.34.2026.08.28.15.26.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 15:26:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787956011; x=1788560811; 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:content-type; bh=H7anQ+nZ6nEMZWsgrQz0HJu50fb8m+vAd3J9mjoNV9E=; b=m/LIY+sqUdCY3vLx4ta8Yjztw5YVhYUaj/jfXUkoLz/WvJBVJGtT6KFe2uq9hdgTlO 9aX8tmnMbPzWuWnnAoOnO406MKFw3swlvt3v7+nZ5WKrH6VtxcUqTfeCef3649vIx8/P N6gQWipHzZ4pADks0v0KolOcdwdmamZVW9z0km+nCJZtGaEhxxU30jmV6UOHSOBp5NFo wwZ98F0Y2LQj9z+JfqF47wdXMfReNysrP9OgOTrUdktPB17iykUh166hrG0EN4DYSukz AO7J2uCMMS4wh5szddx44DqSIviCImapaoueVtmrlFCj0ij4lrtMR/82zZ0uqbCND3hJ Wftw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787956011; x=1788560811; 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:content-type; bh=H7anQ+nZ6nEMZWsgrQz0HJu50fb8m+vAd3J9mjoNV9E=; b=BRt14BYzteXs0GDv1AY8y9SF0JZYo1j9BPBa/D7uGo/SXaiMHLoR1Z1hFvp/0VtZfm zp0Wb/TxvVesxK9EpfPd9Tz8oSPhN13fx8CzGTOLK7vlUzBezbbmZeGjrTlje2Tf8jCY rg6+t0n8UQHrRD+BFSZ/hcVQxUTKoV4QNJ9Ad8+ArPT/eyNDLbo3LHhEdYRJjJ/erdKv cL9zzhGX5wXAMr1Mt3cAFs5Lb3XGB/azoYhT3BO8HfDmYo7XStrnuL5/9XAyKwKxW2Bv 0a0YhMFI4xIeAvUWsb+5XZF0pfPOvBMIpV5X1rjauA246AXEbhYmQFjIFp/1T3pVqLya sFxg== X-Gm-Message-State: AFuF++mXDxg5XOTWjx0WRaECos0Wlf3EAN4DLLsTzxnt+00H42o6/Vs0 EcIL5F88lyXpMeSXONRukK5BpAFIC8BfbJU1K4JOkfWcN7fbqrEZmpN5Hh2km4tscsoVffHFJoi 41kH1EsM= X-Gm-Gg: AYBFou354a9w2f2BwKFwzjADo1JkgGQ/HrmmbWRp5V/vbEZcmm696BSdXuNTRro1vtm yt6rKcu0Ouh3jxQUF3b6Pb7FUN4Q49yTl1ejZWkVLox9hNfuGexFgkiWE8ckVZQzpR0UmfKpeZp 6+BHe28Pgtf/4nKePDUiG8XZYuft0N/rlrOoIuORt7LADhVJvD+Wzd5gbtMnLEwA4XAZTL+jeIp rCezhAkPdY8EJUJCXBG4hG8ptV/Hu0KisyVVWbimn5qNHH87we349aa+zbOJ6AptaAjI0DndWdE ZuRWIcqh2C9p31XRDsptMm7nN3sp83ojU+5DoWgT9Jfolgsb9JM3s8EgF0gXUQLdef98wLXiP3H qP9TLGZSNMp9rhJ8vr8iKzOmAE/QHJjkgpBIJhKELpouMQG+DCLlStNyozfWnj2MHeM6m9E2YSe wgu0uf/A3s6UL2MctiBTBqkYfkVgc/uMGz57hOto5Ifx1KnMAbFqAZhzhIoByLtSDXKDyZBdsEE 2n762q7+0Ur1yMfX14a9Q== X-Received: by 2002:a17:903:2a8b:b0:2d7:1cee:3682 with SMTP id d9443c01a7336-2d74dc21e53mr184210425ad.5.1787956010902; Fri, 28 Aug 2026 15:26:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 13/13] target/arm: Enable FEAT_UINJ for -cpu max-v9 Date: Fri, 28 Aug 2026 15:26:39 -0700 Message-ID: <20260828222639.1432046-14-richard.henderson@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260828222639.1432046-1-richard.henderson@linaro.org> References: <20260828222639.1432046-1-richard.henderson@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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::629; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x629.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1787956094121154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/cpu64.c | 1 + docs/system/arm/emulation.rst | 1 + 2 files changed, 2 insertions(+) diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c index 4ef412a6575..3b745b5a85a 100644 --- a/target/arm/tcg/cpu64.c +++ b/target/arm/tcg/cpu64.c @@ -1457,6 +1457,7 @@ void aarch64_max_v9_tcg_initfn(Object *obj) SET_IDREG(isar, ID_AA64PFR1, t); =20 t =3D GET_IDREG(isar, ID_AA64PFR2); + t =3D FIELD_DP64(t, ID_AA64PFR2, UINJ, 1); /* v9.0: FEAT_UINJ */ t =3D FIELD_DP64(t, ID_AA64PFR2, FPMR, 1); /* v9.2: FEAT_FPMR */ SET_IDREG(isar, ID_AA64PFR2, t); =20 diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst index ff02435975b..59114abe6e9 100644 --- a/docs/system/arm/emulation.rst +++ b/docs/system/arm/emulation.rst @@ -217,6 +217,7 @@ the following architecture extensions: - FEAT_TTL (Translation Table Level) - FEAT_TTST (Small translation tables) - FEAT_UAO (Unprivileged Access Override control) +- FEAT_UINJ (Injection of Undefined Instruction exceptions) - FEAT_VHE (Virtualization Host Extensions) - FEAT_VMID16 (16-bit VMID) - FEAT_WFxT (WFE and WFI instructions with timeout) --=20 2.53.0