From nobody Mon Feb 9 14:01:52 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=1649570420; cv=none; d=zohomail.com; s=zohoarc; b=jKCrMbadruZdNnOZ50UULrf7Vl/5JAiEFMomKCEIhRBBKVHDnuc5HedtfhJMumiGvZD9bbIFjwQubukEOh9/fDf8OHjHVzSuSkXsD51qAOoNNjgMeQ+RpJ+VqlAKxkJq5s15x6UzsZmko1ASaS2o+Rg0iBBCKGBrGHeLZwKuykA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1649570420; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=rLOhJvvj7gL9dKj7DvOFNAonGDNAYGQD5IOiVrmpC+4=; b=lfVJUuhuyya8mxnob9iZfumPtkkUg+p4E1r3PnIK+I+8Qq7rIr5Pglw9K6Sij34Rcvfu7RmzR0arDZvzGjIUGDFhT615NB2GxGAerz5yMIR1xR0eECorD71QqKztuCrpWyOBzebPx9wn3n/MsWcpAak+QqfSGGkTq71K+1iHTjc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1649570420613195.86621358614968; Sat, 9 Apr 2022 23:00:20 -0700 (PDT) Received: from localhost ([::1]:42418 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ndQcV-0004NA-Gm for importer@patchew.org; Sun, 10 Apr 2022 02:00:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40990) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ndQZn-0001wl-N1 for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:31 -0400 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]:35761) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ndQZl-0002yr-64 for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:31 -0400 Received: by mail-pf1-x42f.google.com with SMTP id f3so11936402pfe.2 for ; Sat, 09 Apr 2022 22:57:28 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id l18-20020a056a00141200b004f75395b2cesm30481862pfu.150.2022.04.09.22.57.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Apr 2022 22:57:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rLOhJvvj7gL9dKj7DvOFNAonGDNAYGQD5IOiVrmpC+4=; b=gvf3jxfymqplg7m2aamXw5cSmTrPxbG7H6v6wi+7bHPg4GIOObNmEKAhAYjh3jn7TS AqF6awPVYSUDKw6rMDEjNH1bN+K89Kq1wWBpySB1wx1s/gc37dG/+lupS35K78Cg2drb hVP5qAavydPuYP2YXFdVDZHVoRiD5iObgTZNanQlG4Voa72fUz9+VSKOPp+Gc0wF0zmo fT4/UQuwM3cJEpk9pYvGNYBDq6M6xEw4v30S1NOC2NVnTaHVxYp68+e+fjcoabJGvA5l Jm/zheF4rqh1EgeQUqemzAyn96gGrC6KbfL/U8c5XRGVQMRrt68L9ESG6l2RW7vaVbxR biDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rLOhJvvj7gL9dKj7DvOFNAonGDNAYGQD5IOiVrmpC+4=; b=U9LsErPwbe9r/yVPSpOL/tHMm7AlvXu21i+w9gegW0yglw6gRQ9TfqTxLK/jUogyCh gf7VXOx+9PySSmdgssYbZ+FxojOqjSPEzUPcNYfTe6rHCfDClh6FeYW/H9BC3WSfYTev 3rnf5aSG9eN9ije8VCwYPwOw8M58npd3niGzvxXhgCBBZ9oJhHMqpyC6H8nWrS1q00Ff txcWlkmlgeF7Mp+dgqDvN0L7Rb5nVUCv9ixHZVkaeOenBmdLPLcimEqwZY7JTYGFA0rt igilGNQvfvkJoVfBPgstIdOcsJXFQMe1cHqmAQV0uTb27zNioJmrnHnlo2PcCNSm3lIB rPXA== X-Gm-Message-State: AOAM5331zXezwX+ycpsh79SqvqlFfltaoqMk7TooY1sRq2tcP9UxqK1D pYrovJHY0MvKwCILIiw8y3+pNiv87g9vog== X-Google-Smtp-Source: ABdhPJzaI+XZ62PpRh1t+xM+qNonqPkzfFVfy3+8npYewY/9jUb+5OZwcXBfOCu/Ce4j9u/IMy/MwQ== X-Received: by 2002:a63:535c:0:b0:39d:353e:64d5 with SMTP id t28-20020a63535c000000b0039d353e64d5mr2526210pgl.355.1649570247925; Sat, 09 Apr 2022 22:57:27 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 1/7] target/arm: Enable FEAT_CSV2 for -cpu max Date: Sat, 9 Apr 2022 22:57:19 -0700 Message-Id: <20220410055725.380246-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220410055725.380246-1-richard.henderson@linaro.org> References: <20220410055725.380246-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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::42f; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1649570422325100003 Content-Type: text/plain; charset="utf-8" This extension concerns branch speculation, which TCG does not implement. Thus we can trivially enable this feature. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/cpu64.c | 1 + target/arm/cpu_tcg.c | 1 + 2 files changed, 2 insertions(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index def0f1fdcb..c1006a067c 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -805,6 +805,7 @@ static void aarch64_max_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64PFR0, SVE, 1); t =3D FIELD_DP64(t, ID_AA64PFR0, SEL2, 1); /* FEAT_SEL2 */ t =3D FIELD_DP64(t, ID_AA64PFR0, DIT, 1); /* FEAT_DIT */ + t =3D FIELD_DP64(t, ID_AA64PFR0, CSV2, 1); /* FEAT_CSV2 */ cpu->isar.id_aa64pfr0 =3D t; =20 t =3D cpu->isar.id_aa64pfr1; diff --git a/target/arm/cpu_tcg.c b/target/arm/cpu_tcg.c index 5cce9116d0..2750cbebec 100644 --- a/target/arm/cpu_tcg.c +++ b/target/arm/cpu_tcg.c @@ -71,6 +71,7 @@ void arm32_max_features(ARMCPU *cpu) cpu->isar.id_mmfr4 =3D t; =20 t =3D cpu->isar.id_pfr0; + t =3D FIELD_DP32(t, ID_PFR0, CSV2, 2); /* FEAT_CVS2 */ t =3D FIELD_DP32(t, ID_PFR0, DIT, 1); /* FEAT_DIT */ t =3D FIELD_DP32(t, ID_PFR0, RAS, 1); /* FEAT_RAS */ cpu->isar.id_pfr0 =3D t; --=20 2.25.1 From nobody Mon Feb 9 14:01:52 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=1649570707; cv=none; d=zohomail.com; s=zohoarc; b=bkFnRIHVPJKs1Gh2U59ixnHFF7BUj8wt+aNZ2UhMojlHu/o9NFDdvBv+9RLv73/dJ3wXZTyVPvOfeZle1Kt8FFlUDLAAW9vEbpe4LIcP0XqPElbtenYhVXcFK62xVxz2snu3C5SUbxOuu5x76ZPeRbCUy1RUqtUeTSPqAgHqp3E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1649570707; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hRUTijrX/dWDGgF7d1LOxJ77lZwiKODTAAz7SOC7SIQ=; b=B6S2NteHue53KQsPmjnI0HeW0D8Xz2Lw2R/veTUmkcXdu7juS5w5UEoqIhGTHQ+PsO1thOJnTpRidPvlmE4MJGIT1Xe5yZqcDA+l1Of8eBJjj3V+XLJythb4FpP9v1he4ZtfQOVwPea0Ya5E4RIx0GguceLqZ2T8Nse6SU0CQ1Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1649570707753952.2857673053468; Sat, 9 Apr 2022 23:05:07 -0700 (PDT) Received: from localhost ([::1]:49222 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ndQh8-0000hu-Im for importer@patchew.org; Sun, 10 Apr 2022 02:05:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41014) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ndQZo-0001xQ-DT for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:32 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]:34502) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ndQZm-0002z1-PH for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:32 -0400 Received: by mail-pf1-x42b.google.com with SMTP id h19so11941238pfv.1 for ; Sat, 09 Apr 2022 22:57:30 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id l18-20020a056a00141200b004f75395b2cesm30481862pfu.150.2022.04.09.22.57.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Apr 2022 22:57:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hRUTijrX/dWDGgF7d1LOxJ77lZwiKODTAAz7SOC7SIQ=; b=bnU455ssQErSvA0G+tCdBo+iKZ6v9JPpgG+JPvJDZ1GhlYABWzkKTpCVA7oHiPfpxR o5X73YHfr3VcHRe0E18zsVFTex24vYhxcVeIaBPuywzq87Hrb+nRi/ZQ3doL6hLQ1gfM 8Z20Y0/DJkTjXguYvYNsnB0zIzJt3vBmPoFfuQMDRouiGC2NKLoxOeET7NsJqBgxTK0I 2iEJOkU18OOSkItsn3/YyxWtEu7cBvQPw+49WYVUd+cw6zjua3agHnMsvqdiu4kEf6nR 3V0BE0bhIG+jAuIOforNedWyu2iaqP0a52eExE/+8hxXkjcYq2jPtkaYnKi7Ua2fKntv 6puw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hRUTijrX/dWDGgF7d1LOxJ77lZwiKODTAAz7SOC7SIQ=; b=qK4t+A4rhFu8NFQnxe/zDgj4H2KLGuGnbx13vm37vMo13k9TUZ34uuXBnCqFtsNCgC M9aYqxJ0tXunF7kgqLJfDff86vYjQMonruFba2ltWBpsJqXe2W1CESMhsHk1TMdCfTww q7R3E0kk3xoFOjsoP+fYptaHj5KeZmJmc+JBwe764KNdjfUALflUjHcg6Gv3fkEvKT/U Ota7lZ7Xhz/ySkajUrkkpfgziIYCV6JV4dkRkfMvr39HEtnkSTwqiS7OYXKAgvBYoJwO yv1TaFmMjEs11qh4i7iFHlrdOWZ5i4RpV5X8aobWPctunijx5lQA+9HQTW9ZY5qsdAn1 WgNg== X-Gm-Message-State: AOAM533RnChKSHWfYdgdtb5ZqtWn7GKVra1FNdIaY3ngyP2vp6kkvdJL x4vRVMgkyInBFnQMhgWs1w+8ZoKzzt9S2g== X-Google-Smtp-Source: ABdhPJylkbEaBQXS9RWq9am5VUuxK1mPg5MUUU4GkjIjB8DFONXmwWT2okm+mDS6cBxatlAeoGRERg== X-Received: by 2002:a63:6c04:0:b0:398:54fb:5632 with SMTP id h4-20020a636c04000000b0039854fb5632mr21383554pgc.78.1649570248620; Sat, 09 Apr 2022 22:57:28 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 2/7] target/arm: Update ISAR fields for ARMv8.8 Date: Sat, 9 Apr 2022 22:57:20 -0700 Message-Id: <20220410055725.380246-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220410055725.380246-1-richard.henderson@linaro.org> References: <20220410055725.380246-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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::42b; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, UPPERCASE_50_75=0.008 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1649570709506100001 Content-Type: text/plain; charset="utf-8" Update isar fields per ARM DDI0487 H.a. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/cpu.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index eb8cb738b5..c6c6d89a69 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -1941,6 +1941,7 @@ FIELD(ID_MMFR4, CCIDX, 24, 4) FIELD(ID_MMFR4, EVT, 28, 4) =20 FIELD(ID_MMFR5, ETS, 0, 4) +FIELD(ID_MMFR5, NTLBPA, 4, 4) =20 FIELD(ID_PFR0, STATE0, 0, 4) FIELD(ID_PFR0, STATE1, 4, 4) @@ -1993,6 +1994,16 @@ FIELD(ID_AA64ISAR1, SPECRES, 40, 4) FIELD(ID_AA64ISAR1, BF16, 44, 4) FIELD(ID_AA64ISAR1, DGH, 48, 4) FIELD(ID_AA64ISAR1, I8MM, 52, 4) +FIELD(ID_AA64ISAR1, XS, 56, 4) +FIELD(ID_AA64ISAR1, LS64, 60, 4) + +FIELD(ID_AA64ISAR2, WFXT, 0, 4) +FIELD(ID_AA64ISAR2, RPRES, 4, 4) +FIELD(ID_AA64ISAR2, GPA3, 8, 4) +FIELD(ID_AA64ISAR2, APA3, 12, 4) +FIELD(ID_AA64ISAR2, MOPS, 16, 4) +FIELD(ID_AA64ISAR2, BC, 20, 4) +FIELD(ID_AA64ISAR2, PAC_FRAC, 24, 4) =20 FIELD(ID_AA64PFR0, EL0, 0, 4) FIELD(ID_AA64PFR0, EL1, 4, 4) @@ -2015,6 +2026,10 @@ FIELD(ID_AA64PFR1, SSBS, 4, 4) FIELD(ID_AA64PFR1, MTE, 8, 4) FIELD(ID_AA64PFR1, RAS_FRAC, 12, 4) FIELD(ID_AA64PFR1, MPAM_FRAC, 16, 4) +FIELD(ID_AA64PFR1, SME, 24, 4) +FIELD(ID_AA64PFR1, RNDR_TRAP, 28, 4) +FIELD(ID_AA64PFR1, CSV2_FRAC, 32, 4) +FIELD(ID_AA64PFR1, NMI, 36, 4) =20 FIELD(ID_AA64MMFR0, PARANGE, 0, 4) FIELD(ID_AA64MMFR0, ASIDBITS, 4, 4) @@ -2041,6 +2056,11 @@ FIELD(ID_AA64MMFR1, SPECSEI, 24, 4) FIELD(ID_AA64MMFR1, XNX, 28, 4) FIELD(ID_AA64MMFR1, TWED, 32, 4) FIELD(ID_AA64MMFR1, ETS, 36, 4) +FIELD(ID_AA64MMFR1, HCX, 40, 4) +FIELD(ID_AA64MMFR1, AFP, 44, 4) +FIELD(ID_AA64MMFR1, NTLBPA, 48, 4) +FIELD(ID_AA64MMFR1, TIDCP1, 52, 4) +FIELD(ID_AA64MMFR1, CMOW, 56, 4) =20 FIELD(ID_AA64MMFR2, CNP, 0, 4) FIELD(ID_AA64MMFR2, UAO, 4, 4) @@ -2067,7 +2087,9 @@ FIELD(ID_AA64DFR0, CTX_CMPS, 28, 4) FIELD(ID_AA64DFR0, PMSVER, 32, 4) FIELD(ID_AA64DFR0, DOUBLELOCK, 36, 4) FIELD(ID_AA64DFR0, TRACEFILT, 40, 4) +FIELD(ID_AA64DFR0, TRACEBUFFER, 44, 4) FIELD(ID_AA64DFR0, MTPMU, 48, 4) +FIELD(ID_AA64DFR0, BRBE, 52, 4) =20 FIELD(ID_AA64ZFR0, SVEVER, 0, 4) FIELD(ID_AA64ZFR0, AES, 4, 4) @@ -2089,6 +2111,7 @@ FIELD(ID_DFR0, PERFMON, 24, 4) FIELD(ID_DFR0, TRACEFILT, 28, 4) =20 FIELD(ID_DFR1, MTPMU, 0, 4) +FIELD(ID_DFR1, HPMN0, 4, 4) =20 FIELD(DBGDIDR, SE_IMP, 12, 1) FIELD(DBGDIDR, NSUHD_IMP, 14, 1) --=20 2.25.1 From nobody Mon Feb 9 14:01:52 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=1649570474; cv=none; d=zohomail.com; s=zohoarc; b=leVn3K2NFLIIxa/Gvu3lDYcCv787aUwSiF0dkysGxiOOokWiD0tuUvlGlDyZBS+zdCyhfj0yUHJ+QX9Yahq1/ahrk9XEQtIgJfRPIBN9sRMNc+WPiptuIMlwQdVPOXVQUWpdEJEnuLPhpaq4RwMSQL02vylRIYDq9STqdnhjSvs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1649570474; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=NpS74LDHWG/S/DkrcIyrDZyCFuZ6BFbDpFALEvPQLBw=; b=Logd6vLcHYoNbb1q+cd5sydMEFeIYJqbQ6XaU46PCS3wmRm+rXgVi8ycDtDtbtI7RB1aPORtBfkkCqbqKh6ZqGmdkKlRKP9HjgmoAWJnGfCyyxmgyrtiKC5YI2OY7TpsOUbHsENatlQzUYQQC9Zzn/lnF2o1osRloBgATfHl3Zs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16495704745341006.0889371514302; Sat, 9 Apr 2022 23:01:14 -0700 (PDT) Received: from localhost ([::1]:43402 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ndQdN-00053S-4X for importer@patchew.org; Sun, 10 Apr 2022 02:01:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41060) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ndQZp-0001yc-Jy for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:33 -0400 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]:45739) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ndQZm-0002zC-TN for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:33 -0400 Received: by mail-pj1-x1035.google.com with SMTP id a16-20020a17090a6d9000b001c7d6c1bb13so13559593pjk.4 for ; Sat, 09 Apr 2022 22:57:30 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id l18-20020a056a00141200b004f75395b2cesm30481862pfu.150.2022.04.09.22.57.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Apr 2022 22:57:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NpS74LDHWG/S/DkrcIyrDZyCFuZ6BFbDpFALEvPQLBw=; b=pbpP/sv3V8pWGG7SwEwzlNOm6aChKj5XbhkJKMmfZ1KrDaaDHkWT0dkV+oV8Z3kcaL US+DcsehPjCfJjxrVxWJZUWThcKNLBLw96wFYp3bhlMbGwESEHEydh//IHvGvZYXf7+b 9DflojKLX+CYVlYs4Kggjt52RQJQWqhMA9V5kG3D7HaaDuxo7US9GgIqOGM9BqBq4axI qeAu2jnWL1xgfq7DzujG5+zO8atmjyLYFDKsY1vAv6mbG43KpLsajKvtWp1tbQTrLOtL jvOqVkiDbEJj8vR3BYV9vO6Gmx4ehps6yjvfHHhzYZpFesQn0OV1UN6uSjBU2yNQYzEh wBpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NpS74LDHWG/S/DkrcIyrDZyCFuZ6BFbDpFALEvPQLBw=; b=puzmk9ci/6Nx7F8esqujpwkNxtuuoUhzUErix0W5r4MAieqXTHN+Iz82F/0wJK3cPs OaItKvIObSKAB4fYVtkUfuzLWHvSmjOG6V175qBb7Fh8e3sG3z4jfSXCrEV9Kt3YcW3D jsOsru+kGOs9sK9ZvtKHu0thR3B8DsoAspSBbOUYvSU92olhim1+Ze/+p+snPOOyJeQF 1DHRau0wEl0cKvaNkgem2dc2caFh6ygdBqbnc9Uudg3/Olr0C/0JMEjEF089AS4yozqF dOyuHd1zMysOI//xJM00P8z5lmOJ+XQNTNHAe+FJIl5UbPn8Hp7sB3dVgyFMxw6ZeY7z gvew== X-Gm-Message-State: AOAM532Q5adGiIb7oK8SAYrFGgOv7Xpad1KJYOjlCnegMf1JtvhxUYz8 uL2CwMw2/mJQSCAYOoxBmA9wbiUK2mnPTg== X-Google-Smtp-Source: ABdhPJz+yQBWWZP1OiZwO7XUSu8GmgJKPVe8CvDvj3PtdZ/kfofHi/tinaJHL41ZAkpq7U59dPuu0Q== X-Received: by 2002:a17:90b:4c8e:b0:1c6:d1ed:f6b2 with SMTP id my14-20020a17090b4c8e00b001c6d1edf6b2mr29995305pjb.166.1649570249352; Sat, 09 Apr 2022 22:57:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 3/7] target/arm: Enable FEAT_CSV2_2 for -cpu max Date: Sat, 9 Apr 2022 22:57:21 -0700 Message-Id: <20220410055725.380246-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220410055725.380246-1-richard.henderson@linaro.org> References: <20220410055725.380246-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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1035; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1035.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, T_SCC_BODY_TEXT_LINE=-0.01 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1649570476607100001 Content-Type: text/plain; charset="utf-8" There is no branch prediction in TCG, therefore there is no need to actually include the context number into the predictor. Therefore all we need to do is add the state for SCXTNUM_ELx. Signed-off-by: Richard Henderson --- target/arm/cpu.h | 16 +++++++++++ target/arm/cpu64.c | 2 +- target/arm/helper.c | 70 ++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 86 insertions(+), 2 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index c6c6d89a69..0b89620662 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -688,6 +688,8 @@ typedef struct CPUArchState { ARMPACKey apdb; ARMPACKey apga; } keys; + + uint64_t scxtnum_el[4]; #endif =20 #if defined(CONFIG_USER_ONLY) @@ -1211,6 +1213,7 @@ void pmu_init(ARMCPU *cpu); #define SCTLR_WXN (1U << 19) #define SCTLR_ST (1U << 20) /* up to ??, RAZ in v6 */ #define SCTLR_UWXN (1U << 20) /* v7 onward, AArch32 only */ +#define SCTLR_TSCXT (1U << 20) /* FEAT_CSV2_1p2, AArch64 only */ #define SCTLR_FI (1U << 21) /* up to v7, v8 RES0 */ #define SCTLR_IESB (1U << 21) /* v8.2-IESB, AArch64 only */ #define SCTLR_U (1U << 22) /* up to v6, RAO in v7 */ @@ -4368,6 +4371,19 @@ static inline bool isar_feature_aa64_dit(const ARMIS= ARegisters *id) return FIELD_EX64(id->id_aa64pfr0, ID_AA64PFR0, DIT) !=3D 0; } =20 +static inline bool isar_feature_aa64_scxtnum(const ARMISARegisters *id) +{ + int key =3D FIELD_EX64(id->id_aa64pfr0, ID_AA64PFR0, CSV2); + if (key >=3D 2) { + return true; /* FEAT_CSV2_2 */ + } + if (key =3D=3D 1) { + key =3D FIELD_EX64(id->id_aa64pfr1, ID_AA64PFR1, CSV2_FRAC); + return key >=3D 2; /* FEAT_CSV2_1p2 */ + } + return false; +} + static inline bool isar_feature_aa64_ssbs(const ARMISARegisters *id) { return FIELD_EX64(id->id_aa64pfr1, ID_AA64PFR1, SSBS) !=3D 0; diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index c1006a067c..9ff08bd995 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -805,7 +805,7 @@ static void aarch64_max_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64PFR0, SVE, 1); t =3D FIELD_DP64(t, ID_AA64PFR0, SEL2, 1); /* FEAT_SEL2 */ t =3D FIELD_DP64(t, ID_AA64PFR0, DIT, 1); /* FEAT_DIT */ - t =3D FIELD_DP64(t, ID_AA64PFR0, CSV2, 1); /* FEAT_CSV2 */ + t =3D FIELD_DP64(t, ID_AA64PFR0, CSV2, 2); /* FEAT_CSV2_2 */ cpu->isar.id_aa64pfr0 =3D t; =20 t =3D cpu->isar.id_aa64pfr1; diff --git a/target/arm/helper.c b/target/arm/helper.c index bd1c8e01cb..66af3397ee 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -1780,6 +1780,9 @@ static void scr_write(CPUARMState *env, const ARMCPRe= gInfo *ri, uint64_t value) if (cpu_isar_feature(aa64_mte, cpu)) { valid_mask |=3D SCR_ATA; } + if (cpu_isar_feature(aa64_scxtnum, cpu)) { + valid_mask |=3D SCR_ENSCXT; + } } else { valid_mask &=3D ~(SCR_RW | SCR_ST); if (cpu_isar_feature(aa32_ras, cpu)) { @@ -5312,6 +5315,9 @@ static void do_hcr_write(CPUARMState *env, uint64_t v= alue, uint64_t valid_mask) if (cpu_isar_feature(aa64_mte, cpu)) { valid_mask |=3D HCR_ATA | HCR_DCT | HCR_TID5; } + if (cpu_isar_feature(aa64_scxtnum, cpu)) { + valid_mask |=3D HCR_ENSCXT; + } } =20 /* Clear RES0 bits. */ @@ -5965,6 +5971,10 @@ static void define_arm_vh_e2h_redirects_aliases(ARMC= PU *cpu) { K(3, 0, 5, 6, 0), K(3, 4, 5, 6, 0), K(3, 5, 5, 6, 0), "TFSR_EL1", "TFSR_EL2", "TFSR_EL12", isar_feature_aa64_mte }, =20 + { K(3, 0, 0xd, 0, 7), K(3, 4, 0xd, 0, 7), K(3, 5, 0xd, 0, 7), + "SCXTNUM_EL1", "SCXTNUM_EL2", "SCXTNUM_EL12", + isar_feature_aa64_scxtnum }, + /* TODO: ARMv8.2-SPE -- PMSCR_EL2 */ /* TODO: ARMv8.4-Trace -- TRFCR_EL2 */ }; @@ -7434,7 +7444,61 @@ static const ARMCPRegInfo mte_el0_cacheop_reginfo[] = =3D { REGINFO_SENTINEL }; =20 -#endif +static CPAccessResult access_scxtnum(CPUARMState *env, const ARMCPRegInfo = *ri, + bool isread) +{ + uint64_t hcr; + + switch (arm_current_el(env)) { + case 0: + hcr =3D arm_hcr_el2_eff(env); + if ((hcr & (HCR_TGE | HCR_E2H)) !=3D (HCR_TGE | HCR_E2H)) { + if (env->cp15.sctlr_el[1] & SCTLR_TSCXT) { + if (hcr & HCR_TGE) { + return CP_ACCESS_TRAP_EL2; + } + return CP_ACCESS_TRAP; + } + if (arm_is_el2_enabled(env) && !(hcr & HCR_ENSCXT)) { + return CP_ACCESS_TRAP_EL2; + } + } else { + QEMU_FALLTHROUGH; + case 1: + if (env->cp15.sctlr_el[2] & SCTLR_TSCXT) { + return CP_ACCESS_TRAP_EL2; + } + } + QEMU_FALLTHROUGH; + case 2: + if (arm_feature(env, ARM_FEATURE_EL3) + && !(env->cp15.scr_el3 & SCR_ENSCXT)) { + return CP_ACCESS_TRAP_EL3; + } + } + return CP_ACCESS_OK; +} + +static const ARMCPRegInfo scxtnum_reginfo[] =3D { + { .name =3D "SCXTNUM_EL0", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 3, .opc1 =3D 3, .crn =3D 0xd, .crm =3D 0, .opc2 =3D 7, + .access =3D PL0_RW, .accessfn =3D access_scxtnum, + .fieldoffset =3D offsetof(CPUARMState, scxtnum_el[0]) }, + { .name =3D "SCXTNUM_EL1", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 3, .opc1 =3D 0, .crn =3D 0xd, .crm =3D 0, .opc2 =3D 7, + .access =3D PL1_RW, .accessfn =3D access_scxtnum, + .fieldoffset =3D offsetof(CPUARMState, scxtnum_el[1]) }, + { .name =3D "SCXTNUM_EL2", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 3, .opc1 =3D 4, .crn =3D 0xd, .crm =3D 0, .opc2 =3D 7, + .access =3D PL2_RW, .accessfn =3D access_scxtnum, + .fieldoffset =3D offsetof(CPUARMState, scxtnum_el[2]) }, + { .name =3D "SCXTNUM_EL3", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 3, .opc1 =3D 6, .crn =3D 0xd, .crm =3D 0, .opc2 =3D 7, + .access =3D PL3_RW, + .fieldoffset =3D offsetof(CPUARMState, scxtnum_el[3]) }, + REGINFO_SENTINEL +}; +#endif /* TARGET_AARCH64 */ =20 static CPAccessResult access_predinv(CPUARMState *env, const ARMCPRegInfo = *ri, bool isread) @@ -8634,6 +8698,10 @@ void register_cp_regs_for_features(ARMCPU *cpu) define_arm_cp_regs(cpu, mte_tco_ro_reginfo); define_arm_cp_regs(cpu, mte_el0_cacheop_reginfo); } + + if (cpu_isar_feature(aa64_scxtnum, cpu)) { + define_arm_cp_regs(cpu, scxtnum_reginfo); + } #endif =20 if (cpu_isar_feature(any_predinv, cpu)) { --=20 2.25.1 From nobody Mon Feb 9 14:01:52 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=1649571085; cv=none; d=zohomail.com; s=zohoarc; b=cxcmLMOZ76AHcv2YHBpmPFMcbVkiFzti75gHH4Bg1Ley4Pr4RQRRf9+PE8CygXSRmSFI92ye3MmZtARpbMSKErnOUrDsQBZPYGb5vRQOkUUih5y4UU2twSPBQfVk2GO8/hut6toiYQ4I77Tr5YAycjHFK4pa4e79cH4NE+XuFR4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1649571085; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BroqQ5N0uu4nZwWtW7xJ22ciYDILNp0aXNIR5uju8Ao=; b=CqcRL2qvl6sDRStl4riNnNwd8iemtEbSzxRAQsjFs0xN0Hm5Fvk8Ve8R4HYrGb5d9afkISO2CISXqCSkFkOM97JyGvz202UWf6p2oUncZe6sY5d8EtzMkMYBgWaDGyNCtpM6apJrtsyLhwiLoYEeZmzYlWE+0giCPerfhlzJ208= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16495710850681017.0968480720366; Sat, 9 Apr 2022 23:11:25 -0700 (PDT) Received: from localhost ([::1]:57760 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ndQn2-0006ji-Iz for importer@patchew.org; Sun, 10 Apr 2022 02:11:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41072) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ndQZp-0001z7-Mq for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:33 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]:42629) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ndQZn-0002zU-HV for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:33 -0400 Received: by mail-pl1-x62f.google.com with SMTP id s10so3820034plg.9 for ; Sat, 09 Apr 2022 22:57:31 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id l18-20020a056a00141200b004f75395b2cesm30481862pfu.150.2022.04.09.22.57.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Apr 2022 22:57:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BroqQ5N0uu4nZwWtW7xJ22ciYDILNp0aXNIR5uju8Ao=; b=Uhto1k+dAOduyX7/+XOokKlwX1uZlDIdJNMeskp+/DoNbO8Hrv/cToki9dPW8M8mpl P7IAiGFBT6CoVNcB2vc25q6v/iQx4ntL10lmZTVqVobynJNoQfwrn+c7VpGj9YFOcf1H Gg6WmOqKKQNjAcZEGzHGXvm1bYif2J5upgwCKiMIQxXVw+wCcFPMc7SZ6Ac9vhsdK/aV dr4oaLEbB3xaFDqOXt65HI3rGnT1qHd5woW4UDzzaDZwVsYLx+7sRYjEo3mfZmDKprXv EJzoiCRxhtoSbmFWVEApDgIySS0Z8gkl7vs/J44Lgask6oyDkxQ3kJHd/WIf3JEr8VLA nQIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BroqQ5N0uu4nZwWtW7xJ22ciYDILNp0aXNIR5uju8Ao=; b=Osq3luPNPFalGq5mHbj36uabBAPtd6bbjiDw/PygIXCc/C5LEIgLE+GG11U85Offmx R7iQggbg5WDqZie6r1OSN1vnNnTFfAOxWmDkFD/oDmHfDms+sfDa1Z82hc76Y+bO7w98 GthSjiKDPNuuK5ir5YtDAOBenPv4ps798R/AHg01YEYJY0w44SoltDVrCTLQBKS5sQea OTkXPyiGf4iemuxfgfez4yENjo1Vht++Q911YSFBxXEAIsuCXfmkMW//HX85ZwYsnH32 h9D+GksR82w2SPgkF1UUpkgzJo6A53zMLJ//N+RXtg7PdBjDV/K3vnN4vth3u3E4rFzE BOsQ== X-Gm-Message-State: AOAM5334zXKrNLDLPBZgCrE7x4rvjLXpODyfogEYLz4K+IUliX/r1DIK Uhwws8I7hWuQDmo6tQPkeFIYltwl2JCVJw== X-Google-Smtp-Source: ABdhPJwNb8/ZrtXLYw9SAL8LQe6gGmK/QhWje1KN+fyOrY/7pe3GlraHmA7ui2PQpUENfTIjSxV6XQ== X-Received: by 2002:a17:902:c403:b0:158:5831:4e0e with SMTP id k3-20020a170902c40300b0015858314e0emr986597plk.134.1649570250214; Sat, 09 Apr 2022 22:57:30 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 4/7] target/arm: Enable FEAT_CSV3 for -cpu max Date: Sat, 9 Apr 2022 22:57:22 -0700 Message-Id: <20220410055725.380246-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220410055725.380246-1-richard.henderson@linaro.org> References: <20220410055725.380246-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=lists.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, T_SCC_BODY_TEXT_LINE=-0.01 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1649571085662100001 Content-Type: text/plain; charset="utf-8" This extension concerns cache speculation, which TCG does not implement. Thus we can trivially enable this feature. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/cpu64.c | 1 + target/arm/cpu_tcg.c | 1 + 2 files changed, 2 insertions(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 9ff08bd995..a0429538cc 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -806,6 +806,7 @@ static void aarch64_max_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64PFR0, SEL2, 1); /* FEAT_SEL2 */ t =3D FIELD_DP64(t, ID_AA64PFR0, DIT, 1); /* FEAT_DIT */ t =3D FIELD_DP64(t, ID_AA64PFR0, CSV2, 2); /* FEAT_CSV2_2 */ + t =3D FIELD_DP64(t, ID_AA64PFR0, CSV3, 1); /* FEAT_CSV3 */ cpu->isar.id_aa64pfr0 =3D t; =20 t =3D cpu->isar.id_aa64pfr1; diff --git a/target/arm/cpu_tcg.c b/target/arm/cpu_tcg.c index 2750cbebec..31ea5a90e0 100644 --- a/target/arm/cpu_tcg.c +++ b/target/arm/cpu_tcg.c @@ -77,6 +77,7 @@ void arm32_max_features(ARMCPU *cpu) cpu->isar.id_pfr0 =3D t; =20 t =3D cpu->isar.id_pfr2; + t =3D FIELD_DP32(t, ID_PFR2, CSV3, 1); /* FEAT_CSV3 */ t =3D FIELD_DP32(t, ID_PFR2, SSBS, 1); /* FEAT_SSBS */ cpu->isar.id_pfr2 =3D t; =20 --=20 2.25.1 From nobody Mon Feb 9 14:01:52 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=1649570823; cv=none; d=zohomail.com; s=zohoarc; b=dcR1aCPtbUdiUZpL+Yf9VUStG3vO/Ggw9ve/7AlWreI5XjW5vDmaH72Ztr4d5hUWOR6wO1bo55nHaSApOkyKIdwVL5DS3RJBSgTzuDTMBbPly+ZNzlNAuJVMO04Zn3nJaaHmukbrFQuSWKPz21UTK09R3K10vnYzwDEZUEPNsLY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1649570823; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=rAFoHiqfdDsz3JpAFNFs8ScJcRhTKGmndskIyyVL2JU=; b=JAwmQXv7jqw/FLW+jo9kgVfkpbjkgZefIFGkT5Y8FsOYQ+2m3SHOaZKgEHsJk6WS3HOCxzSF2chkWkuIvP+aBSv1aGgcBjIcWb0YojcfLhW0J9oJ/4E2mrpi2sP08Jun3SjEhsIdRzbsctvGh1ixFJ0zyNRWRsLHtEZBMPRdXdM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1649570823272703.0741017833434; Sat, 9 Apr 2022 23:07:03 -0700 (PDT) Received: from localhost ([::1]:50568 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ndQiz-0001bi-VL for importer@patchew.org; Sun, 10 Apr 2022 02:07:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41106) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ndQZq-00021w-Jy for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:34 -0400 Received: from mail-pj1-x1031.google.com ([2607:f8b0:4864:20::1031]:34244) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ndQZo-0002zk-Lt for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:34 -0400 Received: by mail-pj1-x1031.google.com with SMTP id g12-20020a17090a640c00b001cb59d7a57cso2831728pjj.1 for ; Sat, 09 Apr 2022 22:57:32 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id l18-20020a056a00141200b004f75395b2cesm30481862pfu.150.2022.04.09.22.57.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Apr 2022 22:57:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rAFoHiqfdDsz3JpAFNFs8ScJcRhTKGmndskIyyVL2JU=; b=lf8zMwjJEGaqYKtmwUqtiK2cvkLZnkbiNcBs+jqSskJYa39Qt1uy0NtOjr2O2Wmutl 2CkuZ8R2UVcglg2DWBAW+/HcvIiZbhxMONOYhEsppAG8K8kfhdRKIWnSsJEarnk4AO7y q8rMrmb83SafpvQ8CimD1yAsI6bUTjcdPOzYQfJfVQcu1FJO9eXvSlyCAfkJWMZc8Nu/ v4YuLdosso/Gh5T7HnDj1zjeVuUeIT2yFuj1QJxpfAO+nrWNiDrHNxVVfyPzvTEcVSqr SWyVBhrZ57IjAixIpg2PJdjWtNYpk/wUtOuZxbfsypFPmdPva5wO8PRHoeIuTHR8kxZU mqog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rAFoHiqfdDsz3JpAFNFs8ScJcRhTKGmndskIyyVL2JU=; b=HmfJ6lYsb2x449pzTGZndZ5iZPl6ONIJ7/fmlk6CVtkq5MenWs6kXh0ubM0JqDicJI dEsFatk9KlRXzlWRokJZJ0agn0JVptUrrPrVl72jof6+XtUiTuKHmZDIY/f2mIZ43vUP IwNCxhoRbPJHZUwJLSB/0D9K04mn+gUm3zneRWUtvIAKvDw+iQV+wve6iCEbgqiE4hhZ 4p4pSvTFhoLnR62apB5IGhNxBZHnve2I0Uyso32mh72x3SQxFjmCRpPlQd/tAREwzNSr HVLFysh0cbTJLWPUW+mfBWaEsOAvttUxnchJtyhryqQwJ0CNGKRpMbkX7tFxxvRBVcNd 92Dw== X-Gm-Message-State: AOAM532ynvlAHK3U4EMXesU8vO6jNWsfbQu+Sz++Z6eI2ybpuNXDyG/3 iD7SLz3jt0/5UUmNXPm+9mEX7qpWjKzEGQ== X-Google-Smtp-Source: ABdhPJwhNcOM4wT/nwDrluF52LWUq/Xy6e1lQTNsn9ZWIZx5OqZ3yB2g8v41ddFZwoSbL6zZbG9ZYQ== X-Received: by 2002:a17:90b:350f:b0:1c7:7769:3cc6 with SMTP id ls15-20020a17090b350f00b001c777693cc6mr29966948pjb.120.1649570251214; Sat, 09 Apr 2022 22:57:31 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 5/7] target/arm: Enable FEAT_DGH for -cpu max Date: Sat, 9 Apr 2022 22:57:23 -0700 Message-Id: <20220410055725.380246-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220410055725.380246-1-richard.henderson@linaro.org> References: <20220410055725.380246-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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1031; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1031.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, T_SCC_BODY_TEXT_LINE=-0.01 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1649570824022100001 Content-Type: text/plain; charset="utf-8" This extension concerns not merging memory access, which TCG does not implement. Thus we can trivially enable this feature. Add a comment to handle_hint for the DGH instruction, but no code. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/cpu64.c | 1 + target/arm/translate-a64.c | 1 + 2 files changed, 2 insertions(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index a0429538cc..199ca437a0 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -795,6 +795,7 @@ static void aarch64_max_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64ISAR1, SB, 1); /* FEAT_SB */ t =3D FIELD_DP64(t, ID_AA64ISAR1, SPECRES, 1); /* FEAT_SPECRES */ t =3D FIELD_DP64(t, ID_AA64ISAR1, BF16, 1); /* FEAT_BF16 */ + t =3D FIELD_DP64(t, ID_AA64ISAR1, DGH, 1); /* FEAT_DGH */ t =3D FIELD_DP64(t, ID_AA64ISAR1, I8MM, 1); /* FEAT_I8MM */ cpu->isar.id_aa64isar1 =3D t; =20 diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index cc54dff83c..c3c1a19dea 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -1442,6 +1442,7 @@ static void handle_hint(DisasContext *s, uint32_t ins= n, break; case 0b00100: /* SEV */ case 0b00101: /* SEVL */ + case 0b00110: /* DGH */ /* we treat all as NOP at least for now */ break; case 0b00111: /* XPACLRI */ --=20 2.25.1 From nobody Mon Feb 9 14:01:52 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=1649571119; cv=none; d=zohomail.com; s=zohoarc; b=VBNdkI3pmd0l+zRqDk0UxPtzaGHvHXTAD3BEnHZQWgBGwuq1gc3LaE3iotaLwFAFdaH4IWKbeQEc5rCoIE5V4ZTbu/hMkWoPOEXxroujc4H9Lw/PpuNiqgLqGLpOpe8Re+wH3HH6PCLZ4/TmD3K1LLhF7BhJGKmEG432/t+Ta2c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1649571119; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5QswmRLp0zJBHFk1pYr5Ngu+gpbMPNOeIbq7m9P+NBQ=; b=EmyklRgXHIqMW9XHDKJulDaIt6uqsUSlj1na/k87umKyHNggmAV8lV7jBPfnhr/rrXGqzFP2jVmKX2FhZANnSIlOCJQ6PkE99xHxMzZ+etzIC+d9d4Dxi7G84BOnpr/PkKdHJ6Hw0epN1pu2aumwzzdilxjjU4Rrt4eOYK8kJWc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1649571119408185.31903521155823; Sat, 9 Apr 2022 23:11:59 -0700 (PDT) Received: from localhost ([::1]:58182 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ndQnm-00070z-Bp for importer@patchew.org; Sun, 10 Apr 2022 02:11:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41136) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ndQZr-00024m-Ey for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:35 -0400 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]:51092) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ndQZp-00030B-JY for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:35 -0400 Received: by mail-pj1-x1036.google.com with SMTP id u14so12329333pjj.0 for ; Sat, 09 Apr 2022 22:57:33 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id l18-20020a056a00141200b004f75395b2cesm30481862pfu.150.2022.04.09.22.57.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Apr 2022 22:57:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5QswmRLp0zJBHFk1pYr5Ngu+gpbMPNOeIbq7m9P+NBQ=; b=YN2ysF2alCMJdpnTrB3pmkMnmwFMWx7piiG1PWTMCTdibQ3w+uBe955KFAaxt7BbtC AZbe6XM/vxkYAs/3FETnB6GWwuuGqwCgnBaxoraa13r/Tr1ZjR8a6GPT1Nq/tR/VGzrx r2MM/eJY0qIAtpYFvYT2DBS8O6gsDyzH5mL065tYRi+QJECoBbGP4liE97HBM8Wk68hd O0SBXN8G5b0gxAV9NU8opV0BSz3pTbMX39VokdA+6TsPK3j4CUlZaa6l70wOg+WE7jhD nUMlye8UIVGxMfHviZolnc0fqmVrCdnNaSN+T6X1jEar9QylgqU6GW4JK6UgfMf3cdvy ku7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5QswmRLp0zJBHFk1pYr5Ngu+gpbMPNOeIbq7m9P+NBQ=; b=lOMMrycfVh/ZcBx6JCG5UNmGVNIQUdN2Ry/qqzbVWQVYRGyotFHErD4bJZiiCSW9Ty BkocHW0zHB0vvMM4jgrAMUBc7udqO07B/k2S0qjuz4PPwcp/wA/I3YbWecfJJiHvYdwv 3wH5glURNYioPHH5ucbvhFtgwyOFHdi5QFg/5avIAGcp/YTQeazXRbjfVda8jkw2auf9 MUcaSSPnoFyjs1hJmVR/fTGTqFMbqhkBIMWoiQcaJ968FVStry/clebS++kVuGxmEUWn ukGUN4QWnalFrHiZTFWjegK5D/LBG5rjTddNwEkL4S70FZ7PSPjE47Hasg5bjfouikoW R2EQ== X-Gm-Message-State: AOAM5309Y89e8v7sPK8NFUT+h67o3prcW+IAX5AYEx06WrvmTWUSInay Xu1atnLbzbC2XgiQRJ8WtE2R59/NQ7Oruw== X-Google-Smtp-Source: ABdhPJyoJ0PUdiL5Jqyn1PJGhfMGjZ+sz0GjpvZgj7dxl5b/QVXAwU1s7MuGzwYpQuP5v2ZZ7cw8AA== X-Received: by 2002:a17:902:8a8d:b0:157:ab0:a07 with SMTP id p13-20020a1709028a8d00b001570ab00a07mr15315062plo.77.1649570252232; Sat, 09 Apr 2022 22:57:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 6/7] target/arm: Define cortex-a76 Date: Sat, 9 Apr 2022 22:57:24 -0700 Message-Id: <20220410055725.380246-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220410055725.380246-1-richard.henderson@linaro.org> References: <20220410055725.380246-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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1036; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1036.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, T_SCC_BODY_TEXT_LINE=-0.01 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1649571119954100001 Content-Type: text/plain; charset="utf-8" Enable the a76 for virt and sbsa board use. Signed-off-by: Richard Henderson --- hw/arm/sbsa-ref.c | 1 + hw/arm/virt.c | 1 + target/arm/cpu64.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c index 2387401963..2ddde88f5e 100644 --- a/hw/arm/sbsa-ref.c +++ b/hw/arm/sbsa-ref.c @@ -145,6 +145,7 @@ static const int sbsa_ref_irqmap[] =3D { static const char * const valid_cpus[] =3D { ARM_CPU_TYPE_NAME("cortex-a57"), ARM_CPU_TYPE_NAME("cortex-a72"), + ARM_CPU_TYPE_NAME("cortex-a76"), ARM_CPU_TYPE_NAME("max"), }; =20 diff --git a/hw/arm/virt.c b/hw/arm/virt.c index d2e5ecd234..ce15c36a7f 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -202,6 +202,7 @@ static const char *valid_cpus[] =3D { ARM_CPU_TYPE_NAME("cortex-a53"), ARM_CPU_TYPE_NAME("cortex-a57"), ARM_CPU_TYPE_NAME("cortex-a72"), + ARM_CPU_TYPE_NAME("cortex-a76"), ARM_CPU_TYPE_NAME("a64fx"), ARM_CPU_TYPE_NAME("host"), ARM_CPU_TYPE_NAME("max"), diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 199ca437a0..a00c02be2c 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -251,6 +251,69 @@ static void aarch64_a72_initfn(Object *obj) define_arm_cp_regs(cpu, cortex_a72_a57_a53_cp_reginfo); } =20 +static void aarch64_a76_initfn(Object *obj) +{ + ARMCPU *cpu =3D ARM_CPU(obj); + + cpu->dtb_compatible =3D "arm,cortex-a76"; + set_feature(&cpu->env, ARM_FEATURE_V8); + set_feature(&cpu->env, ARM_FEATURE_NEON); + set_feature(&cpu->env, ARM_FEATURE_GENERIC_TIMER); + set_feature(&cpu->env, ARM_FEATURE_AARCH64); + set_feature(&cpu->env, ARM_FEATURE_CBAR_RO); + set_feature(&cpu->env, ARM_FEATURE_EL2); + set_feature(&cpu->env, ARM_FEATURE_EL3); + set_feature(&cpu->env, ARM_FEATURE_PMU); + + /* Ordered by B2.4 AArch64 registers by functional group */ + cpu->clidr =3D 0x82000023; + cpu->ctr =3D 0x8444C004; + cpu->dcz_blocksize =3D 4; + cpu->isar.id_aa64dfr0 =3D 0x0000000010305408ull; + cpu->isar.id_aa64isar0 =3D 0x0000100010211120ull; + cpu->isar.id_aa64isar1 =3D 0x0000000000100001ull; + cpu->isar.id_aa64mmfr0 =3D 0x0000000000101122ull; + cpu->isar.id_aa64mmfr1 =3D 0x0000000010212122ull; + cpu->isar.id_aa64mmfr2 =3D 0x0000000000001011ull; + cpu->isar.id_aa64pfr0 =3D 0x1100000010111112ull; + cpu->isar.id_aa64pfr1 =3D 0x0000000000000010ull; + cpu->isar.id_dfr0 =3D 0x04010088; + cpu->isar.id_isar0 =3D 0x02101110; + cpu->isar.id_isar1 =3D 0x13112111; + cpu->isar.id_isar2 =3D 0x21232042; + cpu->isar.id_isar3 =3D 0x01112131; + cpu->isar.id_isar4 =3D 0x00010142; + cpu->isar.id_isar5 =3D 0x01011121; + cpu->isar.id_isar6 =3D 0x00000010; + cpu->isar.id_mmfr0 =3D 0x10201105; + cpu->isar.id_mmfr1 =3D 0x40000000; + cpu->isar.id_mmfr2 =3D 0x01260000; + cpu->isar.id_mmfr3 =3D 0x02122211; + cpu->isar.id_mmfr4 =3D 0x00021110; + cpu->isar.id_pfr0 =3D 0x10010131; + cpu->isar.id_pfr1 =3D 0x10010000; + cpu->isar.id_pfr2 =3D 0x00000011; + cpu->midr =3D 0x413fd0b1; + + /* From B2.18 CCSIDR_EL1 */ + cpu->ccsidr[0] =3D 0x701fe01a; /* 64KB L1 dcache */ + cpu->ccsidr[1] =3D 0x201fe01a; /* 64KB L1 icache */ + cpu->ccsidr[2] =3D 0x707fe03a; /* 512KB L2 cache */ + + /* From B2.93 SCTLR_EL3 */ + cpu->reset_sctlr =3D 0x30c50838; + + /* From B4.23 ICH_VTR_EL2 */ + cpu->gic_num_lrs =3D 4; + cpu->gic_vpribits =3D 5; + cpu->gic_vprebits =3D 5; + + /* From B5.1 AdvSIMD AArch64 register summary */ + cpu->isar.mvfr0 =3D 0x10110222; + cpu->isar.mvfr1 =3D 0x13211111; + cpu->isar.mvfr2 =3D 0x00000043; +} + void arm_cpu_sve_finalize(ARMCPU *cpu, Error **errp) { /* @@ -935,6 +998,7 @@ static const ARMCPUInfo aarch64_cpus[] =3D { { .name =3D "cortex-a57", .initfn =3D aarch64_a57_initfn }, { .name =3D "cortex-a53", .initfn =3D aarch64_a53_initfn }, { .name =3D "cortex-a72", .initfn =3D aarch64_a72_initfn }, + { .name =3D "cortex-a76", .initfn =3D aarch64_a76_initfn }, { .name =3D "a64fx", .initfn =3D aarch64_a64fx_initfn }, { .name =3D "max", .initfn =3D aarch64_max_initfn }, #if defined(CONFIG_KVM) || defined(CONFIG_HVF) --=20 2.25.1 From nobody Mon Feb 9 14:01:52 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=1649571523; cv=none; d=zohomail.com; s=zohoarc; b=BbnN0K9w3UOkQ+r3yzX5RzWz/GuH40ARV6E+KTU8lyPIVZTnKlbWFJimgjx/X3rIrj3wBJcGIrERtVQWQJa/pVyQg5NSCG2NQPByY9vqcgcsDc4eJf3UgNyGzxMXXPONRkIdVkL5AUBicYPZR8IzmViiuoP6Wx4OBYOMA+ADddE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1649571523; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=RQCqNqBk6D7obGxLExlOvEx+VOWdRCxumNtqIfV9qcg=; b=VeEysfaWK7KbJQ49WJAU3y4ODNfqNi+ILW3ilmTRZCtSwZg0RtjXcbtYsDVBOKOLVoUk5wSJBDKuRu0BXG6Gby3Jm52u+Bk2zVR3kWdzCqLV4bVHHRnmzN3sjBf2Hco2GXvffs+1/zzMI/UvB9Wqy+nogoc7/TesDjVsfUh+/3w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 164957152344021.97345048130842; Sat, 9 Apr 2022 23:18:43 -0700 (PDT) Received: from localhost ([::1]:38642 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ndQuI-0004lr-4d for importer@patchew.org; Sun, 10 Apr 2022 02:18:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41156) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ndQZs-00028C-Iu for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:36 -0400 Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]:40702) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ndQZq-00030f-MU for qemu-devel@nongnu.org; Sun, 10 Apr 2022 01:57:36 -0400 Received: by mail-pf1-x430.google.com with SMTP id a42so5373795pfx.7 for ; Sat, 09 Apr 2022 22:57:34 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id l18-20020a056a00141200b004f75395b2cesm30481862pfu.150.2022.04.09.22.57.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Apr 2022 22:57:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RQCqNqBk6D7obGxLExlOvEx+VOWdRCxumNtqIfV9qcg=; b=oK/EtcpHJr71WWjaM7tHpXckt9XUYsPoPk5PKZFGvK0zHxXEUi10q3lntrjY9NfSvr yp6u0uGmm51eeFmvc8/xYHD/pR0tgEHuITXkQdWV5rt0KOq/87Ia79HuNG+GHCBNns28 rXkV6Wzy0YRaeYUKaPa7hSA6uGpMi6aaNOzfYLcMZ5fumcLdt5zVOc6mkLNsD3LTd4Q0 SCj7POW1ltVlcmQntzNj8bJRWiA6AM6iNKh8QFIW2C/Cl5VE6Femb4DpFs/9QS+BW/Yk 2dPUCXX2KH7rF1JAvRWQmBrC9WfTvH29IZmVhvrwqdxIH74cdy3NyvpITqX+IjfRyvoC sKuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RQCqNqBk6D7obGxLExlOvEx+VOWdRCxumNtqIfV9qcg=; b=1+H9ySpZbqzVBh9VimX+ipg3BUJ2KHdRVE3Im0Vk5XIHWEq2AbqP6W4BY1npvDaYgT rT2L/kELJ08ogeG/Tx/4FS4IDGhQ1/1oJ9sO2H70Luqvg/eJriBSX1KI1Yv5gk3JM5n8 HAHoTIx6ki5TBDLweyCReLPOqpjIzOLK0vieGgnzUyQATIBmzAiMdqlrvHI41XwQzkVQ HEehRDFW9YFe5nJUq+dLsUvvu3aE8FIosguXwRqLme8hAFYxEqVJP5WO813EuQLkeclN Tv+QeQzZAmljvDG4wR43d+ru099tBRgXXKigBypxmFkhksQj9/XfBFpu1SV+zGfkF9is AVzw== X-Gm-Message-State: AOAM532/G+QnOXHJD6P4mU9/ZkwzVFsKTWIeBcHppmvIfEY6EmUILk50 K4iSlKmSEjOixCXZmc5mmvor0Nagig2F/A== X-Google-Smtp-Source: ABdhPJyp3Z+rp097ChFvS1B1sdKMSjVLx8Bsk74EIrp4/yLNVKXdOLcc7DCwtZ0TeT3hKgDx3OKVpw== X-Received: by 2002:a65:530b:0:b0:382:b21d:82eb with SMTP id m11-20020a65530b000000b00382b21d82ebmr22326011pgq.215.1649570253242; Sat, 09 Apr 2022 22:57:33 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 7/7] target/arm: Define neoverse-n1 Date: Sat, 9 Apr 2022 22:57:25 -0700 Message-Id: <20220410055725.380246-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220410055725.380246-1-richard.henderson@linaro.org> References: <20220410055725.380246-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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::430; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1649571523858100001 Content-Type: text/plain; charset="utf-8" Enable the n1 for virt and sbsa board use. Signed-off-by: Richard Henderson --- hw/arm/sbsa-ref.c | 1 + hw/arm/virt.c | 1 + target/arm/cpu64.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c index 2ddde88f5e..dac8860f2d 100644 --- a/hw/arm/sbsa-ref.c +++ b/hw/arm/sbsa-ref.c @@ -146,6 +146,7 @@ static const char * const valid_cpus[] =3D { ARM_CPU_TYPE_NAME("cortex-a57"), ARM_CPU_TYPE_NAME("cortex-a72"), ARM_CPU_TYPE_NAME("cortex-a76"), + ARM_CPU_TYPE_NAME("neoverse-n1"), ARM_CPU_TYPE_NAME("max"), }; =20 diff --git a/hw/arm/virt.c b/hw/arm/virt.c index ce15c36a7f..82dd934de6 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -204,6 +204,7 @@ static const char *valid_cpus[] =3D { ARM_CPU_TYPE_NAME("cortex-a72"), ARM_CPU_TYPE_NAME("cortex-a76"), ARM_CPU_TYPE_NAME("a64fx"), + ARM_CPU_TYPE_NAME("neoverse-n1"), ARM_CPU_TYPE_NAME("host"), ARM_CPU_TYPE_NAME("max"), }; diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index a00c02be2c..6a67b3d840 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -314,6 +314,69 @@ static void aarch64_a76_initfn(Object *obj) cpu->isar.mvfr2 =3D 0x00000043; } =20 +static void aarch64_neoverse_n1_initfn(Object *obj) +{ + ARMCPU *cpu =3D ARM_CPU(obj); + + cpu->dtb_compatible =3D "arm,neoverse-n1"; + set_feature(&cpu->env, ARM_FEATURE_V8); + set_feature(&cpu->env, ARM_FEATURE_NEON); + set_feature(&cpu->env, ARM_FEATURE_GENERIC_TIMER); + set_feature(&cpu->env, ARM_FEATURE_AARCH64); + set_feature(&cpu->env, ARM_FEATURE_CBAR_RO); + set_feature(&cpu->env, ARM_FEATURE_EL2); + set_feature(&cpu->env, ARM_FEATURE_EL3); + set_feature(&cpu->env, ARM_FEATURE_PMU); + + /* Ordered by B2.4 AArch64 registers by functional group */ + cpu->clidr =3D 0x82000023; + cpu->ctr =3D 0x8444c004; + cpu->dcz_blocksize =3D 4; + cpu->isar.id_aa64dfr0 =3D 0x0000000110305408ull; + cpu->isar.id_aa64isar0 =3D 0x0000100010211120ull; + cpu->isar.id_aa64isar1 =3D 0x0000000000100001ull; + cpu->isar.id_aa64mmfr0 =3D 0x0000000000101125ull; + cpu->isar.id_aa64mmfr1 =3D 0x0000000010212122ull; + cpu->isar.id_aa64mmfr2 =3D 0x0000000000001011ull; + cpu->isar.id_aa64pfr0 =3D 0x1100000010111112ull; + cpu->isar.id_aa64pfr1 =3D 0x0000000000000020ull; + cpu->isar.id_dfr0 =3D 0x04010088; + cpu->isar.id_isar0 =3D 0x02101110; + cpu->isar.id_isar1 =3D 0x13112111; + cpu->isar.id_isar2 =3D 0x21232042; + cpu->isar.id_isar3 =3D 0x01112131; + cpu->isar.id_isar4 =3D 0x00010142; + cpu->isar.id_isar5 =3D 0x01011121; + cpu->isar.id_isar6 =3D 0x00000010; + cpu->isar.id_mmfr0 =3D 0x10201105; + cpu->isar.id_mmfr1 =3D 0x40000000; + cpu->isar.id_mmfr2 =3D 0x01260000; + cpu->isar.id_mmfr3 =3D 0x02122211; + cpu->isar.id_mmfr4 =3D 0x00021110; + cpu->isar.id_pfr0 =3D 0x10010131; + cpu->isar.id_pfr1 =3D 0x10010000; + cpu->isar.id_pfr2 =3D 0x00000011; + cpu->midr =3D 0x414fd0c1; + + /* From B2.23 CCSIDR_EL1 */ + cpu->ccsidr[0] =3D 0x701fe01a; /* 64KB L1 dcache */ + cpu->ccsidr[1] =3D 0x201fe01a; /* 64KB L1 icache */ + cpu->ccsidr[2] =3D 0x70ffe03a; /* 1MB L2 cache */ + + /* From B2.98 SCTLR_EL3 */ + cpu->reset_sctlr =3D 0x30c50838; + + /* From B4.23 ICH_VTR_EL2 */ + cpu->gic_num_lrs =3D 4; + cpu->gic_vpribits =3D 5; + cpu->gic_vprebits =3D 5; + + /* From B5.1 AdvSIMD AArch64 register summary */ + cpu->isar.mvfr0 =3D 0x10110222; + cpu->isar.mvfr1 =3D 0x12111111; + cpu->isar.mvfr2 =3D 0x00000043; +} + void arm_cpu_sve_finalize(ARMCPU *cpu, Error **errp) { /* @@ -1000,6 +1063,7 @@ static const ARMCPUInfo aarch64_cpus[] =3D { { .name =3D "cortex-a72", .initfn =3D aarch64_a72_initfn }, { .name =3D "cortex-a76", .initfn =3D aarch64_a76_initfn }, { .name =3D "a64fx", .initfn =3D aarch64_a64fx_initfn }, + { .name =3D "neoverse-n1", .initfn =3D aarch64_neoverse_n1_init= fn }, { .name =3D "max", .initfn =3D aarch64_max_initfn }, #if defined(CONFIG_KVM) || defined(CONFIG_HVF) { .name =3D "host", .initfn =3D aarch64_host_initfn }, --=20 2.25.1