From nobody Tue May 21 14:38:28 2024 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 ARC-Seal: i=1; a=rsa-sha256; t=1611809218; cv=none; d=zohomail.com; s=zohoarc; b=Z90PHOD1iqBRM5k4GnJ1i3kWkl+rRPEAD1KyfIqAlTg7tw9GEN5ui/thyXqFCpvpiyePDW97LKHqEgv7NIgazQqFw3AS1ieeBxmH2gRuaUnVg1bizjxKfnCCm69xp3233VmhzbyPnm2U5Nu7jiD1er91gAhMeHq8OM5vazM1nyk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611809218; 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=jdfP1OZLKr2wpke6vhuzCzIdZHjNZfMVraYOyMkae3E=; b=i5+mW440DD305orta6faEQEAuxWK8VHs3uGlkr5+0y7drhIB8MSL7S1iDypE1j39/K/MiKsj391mwoXoKJNehWQQyX9K+dD+mGLVBFHl9vL0nu0OeULr3thYaKwJd1GFxvfYmCjvYpFUDTf3aNpdEt6qOCaTemFLj3nXh0qeG2Q= ARC-Authentication-Results: i=1; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1611809218331743.5045449924622; Wed, 27 Jan 2021 20:46:58 -0800 (PST) Received: from localhost ([::1]:48400 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l4zCq-0006Wq-Q1 for importer@patchew.org; Wed, 27 Jan 2021 23:46:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51386) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l4zBg-0004qY-Kp for qemu-devel@nongnu.org; Wed, 27 Jan 2021 23:45:44 -0500 Received: from mail-ot1-x335.google.com ([2607:f8b0:4864:20::335]:41178) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l4zBc-00074r-7Q for qemu-devel@nongnu.org; Wed, 27 Jan 2021 23:45:44 -0500 Received: by mail-ot1-x335.google.com with SMTP id k8so4028861otr.8 for ; Wed, 27 Jan 2021 20:45:39 -0800 (PST) Received: from cube.nuviainc.com (c-174-52-16-57.hsd1.ut.comcast.net. [174.52.16.57]) by smtp.gmail.com with ESMTPSA id k198sm887399oih.33.2021.01.27.20.45.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jan 2021 20:45:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jdfP1OZLKr2wpke6vhuzCzIdZHjNZfMVraYOyMkae3E=; b=nVea3eY1IZJsQ4YFNL8kMxQYpmOm3wx85Fpaz7QYGQhr/QqsSzRf0uXIpHEOnx0gmM vJzxa3lgAm9fHLDX9RlzQDZsftDG084ozwZIi1Lu5b3TUiSLsLMlIrK/R5v7LQCRN6Y3 pyw9F9/jJtQe5+FLn3+ZCm9sQeSr5vaWIG4+U9D15c56ahXB8nluRHpHmbGimh/yHxf1 S3kLFctSsXvKMw3I0yohVoDTPHZ4gjzLMCJZ5dNyg0IxAha04bo+nTM0OSz6cTzt1Jn5 6IdFNix4QsZ/4E6cmdY5Aoip9vUAM+5NlAyxttP0kcLeZnk73lGhKIj1zFUXqfhbyxyy Ojvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jdfP1OZLKr2wpke6vhuzCzIdZHjNZfMVraYOyMkae3E=; b=eQsGSJR3pA/u0FpZoW3dDDu4dgaOkGwlOsxRAyVdytT1U7LC7pgwm+VxuZKb0WEsuq HFYEcJVZ48ZpX/0GQbV8JeDUr5OSkLx4aNQ4Vj3ubAv5mPx+beAE8QlDjefUr1huZ2Wx hROpjWll1pTBd4nOA29lWXlHcDPjWiZOfWzMo3gzKgbmQjzdIZX7YNLmy16I2MPwEzr+ r93rPB6PKLAbmp5UsP3wbE6FQQu2WY290LOx3aR2rVVfFcUk0dB/3b19L1IXiPEdF2cJ W5PfHnnZEpSCcBA1pUMZLpexcMfDNZfpx1Nt/gyWuB0M+e2kkuHxrv+wNjEUckjnQe8s 8Z3g== X-Gm-Message-State: AOAM531ctV2778Aocrx1cSFbpy1Yi3nVvAk/1+QeJzgVS/+GPBjfn9bq a4pnR4Qd5pLWWivDgFoXXT6r4+wzd3c68GmQi/zByek8X++ciKhkpya70jZfK4aCWtLfimIaFoD 1nzbc50PIJEdmZgqJF6ZNhY0FdPv2kNhiR9KplrwbSFAqIr4/0m1J7sLMxkuzlMNHzTRYsUY= X-Google-Smtp-Source: ABdhPJzp5fLF4bl1+xmR+Ha0ds16h/ByemT6rIU3me3mXDpyC45rrXmrK2Avg+QnsGW/SSMpkhh9Kw== X-Received: by 2002:a9d:774b:: with SMTP id t11mr10194215otl.337.1611809138326; Wed, 27 Jan 2021 20:45:38 -0800 (PST) From: Rebecca Cran To: qemu-devel@nongnu.org Subject: [PATCH v3 1/4] target/arm: Remove PSTATE_SS from cpsr and move it into env->pstate. Date: Wed, 27 Jan 2021 21:45:26 -0700 Message-Id: <20210128044529.1403-2-rebecca@nuviainc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210128044529.1403-1-rebecca@nuviainc.com> References: <20210128044529.1403-1-rebecca@nuviainc.com> 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::335; envelope-from=rebecca@nuviainc.com; helo=mail-ot1-x335.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Rebecca Cran , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" cpsr has been treated as being the same as spsr, but it isn't. Since PSTATE_SS isn't in cpsr, remove it and move it into env->pstate. Signed-off-by: Rebecca Cran --- target/arm/helper-a64.c | 2 +- target/arm/helper.c | 2 +- target/arm/op_helper.c | 9 +-------- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/target/arm/helper-a64.c b/target/arm/helper-a64.c index c426c23d2c4e..a6b162049806 100644 --- a/target/arm/helper-a64.c +++ b/target/arm/helper-a64.c @@ -1001,7 +1001,7 @@ void HELPER(exception_return)(CPUARMState *env, uint6= 4_t new_pc) mask =3D aarch32_cpsr_valid_mask(env->features, &env_archcpu(env)-= >isar); cpsr_write(env, spsr, mask, CPSRWriteRaw); if (!arm_singlestep_active(env)) { - env->uncached_cpsr &=3D ~PSTATE_SS; + env->pstate &=3D ~PSTATE_SS; } aarch64_sync_64_to_32(env); =20 diff --git a/target/arm/helper.c b/target/arm/helper.c index d2ead3fcbdbd..7b7e72ba878c 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -9402,7 +9402,7 @@ static void take_aarch32_exception(CPUARMState *env, = int new_mode, * For exceptions taken to AArch32 we must clear the SS bit in both * PSTATE and in the old-state value we save to SPSR_, so zero i= t now. */ - env->uncached_cpsr &=3D ~PSTATE_SS; + env->pstate &=3D ~PSTATE_SS; env->spsr =3D cpsr_read(env); /* Clear IT bits. */ env->condexec_bits =3D 0; diff --git a/target/arm/op_helper.c b/target/arm/op_helper.c index 5e0f123043b5..65cb37d088f8 100644 --- a/target/arm/op_helper.c +++ b/target/arm/op_helper.c @@ -389,14 +389,7 @@ void HELPER(exception_bkpt_insn)(CPUARMState *env, uin= t32_t syndrome) =20 uint32_t HELPER(cpsr_read)(CPUARMState *env) { - /* - * We store the ARMv8 PSTATE.SS bit in env->uncached_cpsr. - * This is convenient for populating SPSR_ELx, but must be - * hidden from aarch32 mode, where it is not visible. - * - * TODO: ARMv8.4-DIT -- need to move SS somewhere else. - */ - return cpsr_read(env) & ~(CPSR_EXEC | PSTATE_SS); + return cpsr_read(env) & ~CPSR_EXEC; } =20 void HELPER(cpsr_write)(CPUARMState *env, uint32_t val, uint32_t mask) --=20 2.26.2 From nobody Tue May 21 14:38:28 2024 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 ARC-Seal: i=1; a=rsa-sha256; t=1611809220; cv=none; d=zohomail.com; s=zohoarc; b=T0kEHgIf2KG/NtbIcTYsHKc64u+DdU0d7SdfO63NumdXRXRJqj6mSy1qLz71/eun6ohD1S5FpJYjJDg3I8KopHWrm2LecMK0KYYRRhqdLPgMhIngzOLWTSajEgT4F8R8uT0qgEZff341cmUGTQ9k5yeyTO6G3wEF9uWbN5OmM4I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611809220; 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=ePuzVxapvy6BI+DgasJj8U7j+a5TRswsXhKAbmvOk9g=; b=bRSXQ+iphQpTMTDelX1SlE5l89cldgESGch2D8sWvjpM8ALCGWF78T/oDD57ou8xYpry/frUF/4GjZZ0BIcF8VBnfNMOqEh0UABy70n16n95WdCVXdsboa+QMcX20Ob4xF9woyX4c5NHHE+O4kvanhDj09wCzxoHEKUON5Qt9Gw= ARC-Authentication-Results: i=1; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1611809220871119.19973986236982; Wed, 27 Jan 2021 20:47:00 -0800 (PST) Received: from localhost ([::1]:48566 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l4zCt-0006ai-PX for importer@patchew.org; Wed, 27 Jan 2021 23:46:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51404) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l4zBh-0004rC-BA for qemu-devel@nongnu.org; Wed, 27 Jan 2021 23:45:45 -0500 Received: from mail-oi1-x232.google.com ([2607:f8b0:4864:20::232]:42812) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l4zBd-000752-H6 for qemu-devel@nongnu.org; Wed, 27 Jan 2021 23:45:45 -0500 Received: by mail-oi1-x232.google.com with SMTP id x71so4741568oia.9 for ; Wed, 27 Jan 2021 20:45:40 -0800 (PST) Received: from cube.nuviainc.com (c-174-52-16-57.hsd1.ut.comcast.net. [174.52.16.57]) by smtp.gmail.com with ESMTPSA id k198sm887399oih.33.2021.01.27.20.45.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jan 2021 20:45:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ePuzVxapvy6BI+DgasJj8U7j+a5TRswsXhKAbmvOk9g=; b=RKOHl+pOPNi0OysKozyRMRSWAo1S32bzdeHVZe9JVgrteCjnX8KNbXDp5Zj4tbUZ05 Mp8ivoHoVhCVRA3OLxPBvwzmFwoJkBUOF9oHhQ3tpjT8nTgoFo/iOz2/wOUHe1GGWUtR BXI7DVQQtFjMJE9xcHhK7ENrUf8KcJWVL57+7QqlLfEdFjZIZ9lZKcaYYhTz+gARtf/Z 1QLVW7LbwHHjxMszOPTwcW010sFJfCtg55QqhS6/wy8Zt8VS7HMGa6dUXfXmSymHIayq OLzLKjpoVYVSWldC0mRDCIcJ0G4l7ehEsyhUnoXClmHMK/bn/yjKS3BNwLht8a5hfmpy Rprw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ePuzVxapvy6BI+DgasJj8U7j+a5TRswsXhKAbmvOk9g=; b=Q4Bwreqkpn9GeFjv6gDDIEe8At6sxFO7qnlBrTshcxrr+pKyd/z3G3hXYV3orsbUCo IHcAdRdV0OUut0cQFdLFsbDyEfLGn0xc38Nbro4YB69+KlUzBsETYC+HPn11TIUmPXVN jdiYgJ0Rsrp36n9ephwDB9QZkLKs+ihuPMNHARVsWqGMGu8NTFNbAExxv2UhMEaOlMZD 3kMF1kBzD7p1dwzUX23tfoUiu4mA6fu+FtfpU+CLSfnrSyLpOn1LJoaarnQ1DPAUqY2m tnHe81RSuF0u6sUULfV/O3Rb01E5dIAnitQPRMw+uJFy2/5XDKPzLzj+AiWV4H40tZ+v 7ebA== X-Gm-Message-State: AOAM530ervrd+CRP1nVfrpkIcOWc8BzdvNJP5daQnB92oVnpDyZoN45T zgAACCM4FGGMChLUTQ4VypaRu4RYapZ3eB843cyR+y0ECIbFP+1bUzasfqmGDzvMzOj22BKHJjG pfvjV5gq4jzF/PzVl0NDdGi2jGKIQ4dESrUai+sjKsRkvM6PyUrCLwHd3XtqJf7S8puht3yY= X-Google-Smtp-Source: ABdhPJzrj0T0ZLZ6tBRvuIrTPHFooso248EM5jJaysob7vzcdvxXapKpDKFz/Syz88ThNwyOq8fm4Q== X-Received: by 2002:aca:6702:: with SMTP id z2mr5352335oix.149.1611809139454; Wed, 27 Jan 2021 20:45:39 -0800 (PST) From: Rebecca Cran To: qemu-devel@nongnu.org Subject: [PATCH v3 2/4] target/arm: Add support for FEAT_DIT, Data Independent Timing Date: Wed, 27 Jan 2021 21:45:27 -0700 Message-Id: <20210128044529.1403-3-rebecca@nuviainc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210128044529.1403-1-rebecca@nuviainc.com> References: <20210128044529.1403-1-rebecca@nuviainc.com> 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::232; envelope-from=rebecca@nuviainc.com; helo=mail-oi1-x232.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Rebecca Cran , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Add support for FEAT_DIT. DIT (Data Independent Timing) is a required feature for ARMv8.4. Since virtual machine execution is largely nondeterministic and TCG is outside of the security domain, it's implemented as a NOP. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu.h | 12 +++++++++++ target/arm/helper.c | 22 ++++++++++++++++++++ target/arm/internals.h | 6 ++++++ target/arm/translate-a64.c | 12 +++++++++++ 4 files changed, 52 insertions(+) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index df0d6778330f..56b1053dfdec 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -1242,6 +1242,7 @@ void pmu_init(ARMCPU *cpu); #define CPSR_IT_2_7 (0xfc00U) #define CPSR_GE (0xfU << 16) #define CPSR_IL (1U << 20) +#define CPSR_DIT (1U << 21) #define CPSR_PAN (1U << 22) #define CPSR_J (1U << 24) #define CPSR_IT_0_1 (3U << 25) @@ -1309,6 +1310,7 @@ void pmu_init(ARMCPU *cpu); #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) @@ -3875,6 +3877,11 @@ static inline bool isar_feature_aa32_tts2uxn(const A= RMISARegisters *id) return FIELD_EX32(id->id_mmfr4, ID_MMFR4, XNX) !=3D 0; } =20 +static inline bool isar_feature_aa32_dit(const ARMISARegisters *id) +{ + return FIELD_EX32(id->id_pfr0, ID_PFR0, DIT) !=3D 0; +} + /* * 64-bit feature tests via id registers. */ @@ -4119,6 +4126,11 @@ static inline bool isar_feature_aa64_tts2uxn(const A= RMISARegisters *id) return FIELD_EX64(id->id_aa64mmfr1, ID_AA64MMFR1, XNX) !=3D 0; } =20 +static inline bool isar_feature_aa64_dit(const ARMISARegisters *id) +{ + return FIELD_EX64(id->id_aa64pfr0, ID_AA64PFR0, DIT) !=3D 0; +} + /* * Feature tests for "does this exist in either 32-bit or 64-bit?" */ diff --git a/target/arm/helper.c b/target/arm/helper.c index 7b7e72ba878c..435208121e9f 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -4419,6 +4419,24 @@ static const ARMCPRegInfo uao_reginfo =3D { .readfn =3D aa64_uao_read, .writefn =3D aa64_uao_write }; =20 +static uint64_t aa64_dit_read(CPUARMState *env, const ARMCPRegInfo *ri) +{ + return env->pstate & PSTATE_DIT; +} + +static void aa64_dit_write(CPUARMState *env, const ARMCPRegInfo *ri, + uint64_t value) +{ + env->pstate =3D (env->pstate & ~PSTATE_DIT) | (value & PSTATE_DIT); +} + +static const ARMCPRegInfo dit_reginfo =3D { + .name =3D "DIT", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 3, .opc1 =3D 3, .crn =3D 4, .crm =3D 2, .opc2 =3D 5, + .type =3D ARM_CP_NO_RAW, .access =3D PL0_RW, + .readfn =3D aa64_dit_read, .writefn =3D aa64_dit_write +}; + static CPAccessResult aa64_cacheop_poc_access(CPUARMState *env, const ARMCPRegInfo *ri, bool isread) @@ -8203,6 +8221,10 @@ void register_cp_regs_for_features(ARMCPU *cpu) define_one_arm_cp_reg(cpu, &uao_reginfo); } =20 + if (cpu_isar_feature(aa64_dit, cpu)) { + define_one_arm_cp_reg(cpu, &dit_reginfo); + } + if (arm_feature(env, ARM_FEATURE_EL2) && cpu_isar_feature(aa64_vh, cpu= )) { define_arm_cp_regs(cpu, vhe_reginfo); } diff --git a/target/arm/internals.h b/target/arm/internals.h index 853fa88fd616..3d11e42d8e1b 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1222,6 +1222,9 @@ static inline uint32_t aarch32_cpsr_valid_mask(uint64= _t features, if (isar_feature_aa32_pan(id)) { valid |=3D CPSR_PAN; } + if (isar_feature_aa32_dit(id)) { + valid |=3D CPSR_DIT; + } =20 return valid; } @@ -1240,6 +1243,9 @@ static inline uint32_t aarch64_pstate_valid_mask(cons= t ARMISARegisters *id) if (isar_feature_aa64_uao(id)) { valid |=3D PSTATE_UAO; } + if (isar_feature_aa64_dit(id)) { + valid |=3D PSTATE_DIT; + } if (isar_feature_aa64_mte(id)) { valid |=3D PSTATE_TCO; } diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index ffc060e5d70c..1c4b8d02f3b8 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -1700,6 +1700,18 @@ static void handle_msr_i(DisasContext *s, uint32_t i= nsn, tcg_temp_free_i32(t1); break; =20 + case 0x1a: /* DIT */ + if (!dc_isar_feature(aa64_dit, s)) { + goto do_unallocated; + } + if (crm & 1) { + set_pstate_bits(PSTATE_DIT); + } else { + clear_pstate_bits(PSTATE_DIT); + } + /* There's no need to rebuild hflags because DIT is a nop */ + break; + case 0x1e: /* DAIFSet */ t1 =3D tcg_const_i32(crm); gen_helper_msr_i_daifset(cpu_env, t1); --=20 2.26.2 From nobody Tue May 21 14:38:28 2024 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 ARC-Seal: i=1; a=rsa-sha256; t=1611809297; cv=none; d=zohomail.com; s=zohoarc; b=d/LDKHIAoO7CaKLBFe26Aaq5oZkYK5yeTbVuQGv1PoXrC/hO7TtVoeV9cmK+7JllMOxKP9ELUGa7IRBbMiym5RPwM9NCZmYJlwVpf3gvddB3LMwjpUbNGFgw7qWXiNjL6YIUkPvjSyb3pCoj69kDOcEhC2SQT3jSlElp1hCI/60= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611809297; 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=JAFdn6IbZBNqvP6S0gWLCOyNml8OyzsyVzQVR6rXHRA=; b=Idek7snJuAXUvnh9B5Ga1/DgsZA/fjT9ts0orl0Kv5PCdsDaYpfLoXJerVzaovqPU/uRg1W+p0iY+utROCUNRlNQSZyTKrJL5Cx4jlrlRIpilUzWkGOUdl2kDQvKjKfgG7rasIIZBniFZWoTGw/xHwXLtgnu4SowrXe500fc8NI= ARC-Authentication-Results: i=1; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1611809297380259.85740725472476; Wed, 27 Jan 2021 20:48:17 -0800 (PST) Received: from localhost ([::1]:54064 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l4zE8-0000Mu-Dj for importer@patchew.org; Wed, 27 Jan 2021 23:48:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51412) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l4zBi-0004sB-PG for qemu-devel@nongnu.org; Wed, 27 Jan 2021 23:45:46 -0500 Received: from mail-oi1-x22f.google.com ([2607:f8b0:4864:20::22f]:46216) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l4zBe-000767-EV for qemu-devel@nongnu.org; Wed, 27 Jan 2021 23:45:46 -0500 Received: by mail-oi1-x22f.google.com with SMTP id k25so4733273oik.13 for ; Wed, 27 Jan 2021 20:45:41 -0800 (PST) Received: from cube.nuviainc.com (c-174-52-16-57.hsd1.ut.comcast.net. [174.52.16.57]) by smtp.gmail.com with ESMTPSA id k198sm887399oih.33.2021.01.27.20.45.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jan 2021 20:45:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JAFdn6IbZBNqvP6S0gWLCOyNml8OyzsyVzQVR6rXHRA=; b=jtznkj0cJfXTVrAm9697ZVvA84JV+aVT8IFq7uy3gZu5J3BDP4py6NrJxK+/L/tDQO KJT8whhweqw9nSeZkqgiGS80pR93dBwBmHhtCupw9d/1xIMfPqSttd7xrAKBmgMeAaeR +C1/LLsy+WV2brRIc3u5cCaBg6b83kzmOanH+1pU+Yb65tI+8hY7VYfCFMM7v1oAOmdQ 8RiKkq9+oeH5g2sC9wKHp4es7Or+TkWHrsUYwEVvyUEv3G5IKK2jZeHGixKy8VQnRrbU UwNXuZ2HbYOIAc0FaSKAWttQeo/hbhD9X3ptu0ARhsU6xP6zVy55pwg0SOoZDWxXWlti nlWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JAFdn6IbZBNqvP6S0gWLCOyNml8OyzsyVzQVR6rXHRA=; b=R0FR5GQo+8j4DoRObFBx93ph0pcCME60HYVellnFL4rd4JJfAaiBLW/zEr1R75O8+J IKoSNgJiVIiUZeOxYI9tcES/FNzpIVWDmrrU9ZtS+6ZOGVm/8k8s3wx8nq8VGtExasNd tRXcDIhyl4/pKQldykcSrQXqHn0cfY/omptPPZgWNvvfxxlU94o1i+ZtmDgPdL5IBiRW 72TkYgSPlitVE7l8AlAQ6b5syJDx8otozItIWnWOsF3DN+4xo6He/QeXETlc8HGZEujN Dl6JzsXYST1IDXeO78vP79sRIB4P18qPsXzk7iyqm/W2x8hLeGn4Mq421bXTb3gqGhc0 5IMg== X-Gm-Message-State: AOAM530a/OogCfCYHwCl5r62qYrGXr8c/A/xN6pFsRtkX3ksIlFLYZAJ G3nYqF90GboU06JaToc6i/F26Zjtb/UFhiCceS2HLQTykeK75TOFm4Vi3XNqCTGNOQewmO4QIBx 7V/I35EtSXXNr58C/fO9d6pDOK/NLwEsj2c/7YI0Etp2MLOraaSEADEx+PqAqitkin2c/L4U= X-Google-Smtp-Source: ABdhPJz+vwhWliySfK5mJUQWAsdlzosmu47JnlR/j9CLljL94vYPlAAuSPnQhVUQHnECbsWQI50tNw== X-Received: by 2002:a54:4e81:: with SMTP id c1mr5299334oiy.52.1611809140750; Wed, 27 Jan 2021 20:45:40 -0800 (PST) From: Rebecca Cran To: qemu-devel@nongnu.org Subject: [PATCH v3 3/4] target/arm: Set ID_AA64PFR0.DIT and ID_PFR0.DIT to 1 for "max" AA64 CPU Date: Wed, 27 Jan 2021 21:45:28 -0700 Message-Id: <20210128044529.1403-4-rebecca@nuviainc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210128044529.1403-1-rebecca@nuviainc.com> References: <20210128044529.1403-1-rebecca@nuviainc.com> 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::22f; envelope-from=rebecca@nuviainc.com; helo=mail-oi1-x22f.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Rebecca Cran , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Enable FEAT_DIT for the "max" AARCH64 CPU. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 5e851028c592..9a5cfd4fc632 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -666,6 +666,7 @@ static void aarch64_max_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64PFR0, FP, 1); t =3D FIELD_DP64(t, ID_AA64PFR0, ADVSIMD, 1); t =3D FIELD_DP64(t, ID_AA64PFR0, SEL2, 1); + t =3D FIELD_DP64(t, ID_AA64PFR0, DIT, 1); cpu->isar.id_aa64pfr0 =3D t; =20 t =3D cpu->isar.id_aa64pfr1; @@ -715,6 +716,10 @@ static void aarch64_max_initfn(Object *obj) u =3D FIELD_DP32(u, ID_ISAR6, SPECRES, 1); cpu->isar.id_isar6 =3D u; =20 + u =3D cpu->isar.id_pfr0; + u =3D FIELD_DP32(u, ID_PFR0, DIT, 1); + cpu->isar.id_pfr0 =3D u; + u =3D cpu->isar.id_mmfr3; u =3D FIELD_DP32(u, ID_MMFR3, PAN, 2); /* ATS1E1 */ cpu->isar.id_mmfr3 =3D u; --=20 2.26.2 From nobody Tue May 21 14:38:28 2024 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 ARC-Seal: i=1; a=rsa-sha256; t=1611809221; cv=none; d=zohomail.com; s=zohoarc; b=Lof1IzMs0MwF5LSI4r7hUR/Bwj0oJ9rcHjtRIL1TMw8DYtpxsV3cRYsmva12I8+8Ejlh6c/G8mf+q8j7BOnPss5TP4cmrOpp70oPGYTSFWbgkKdeQ0NoEzgIhV6MM/gdGCs1U0hG3FRH7EyxmifaSzLzp7vKhFLWc6KQQcB9mzA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611809221; 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=M+/WKWkniWr3oAapU8F0BKTdulQZGR7T7qCX2Jfk5To=; b=j4m6cpKKvP7WEuk1qx7fMRwggRouYDzIiT6OkcZiF1CWu1Xu5ZuasHwjfCpGkBCNynqCTYlsAw7G/f60rAEAs4E1ZpQHN+C/qd6qcatDxL9/+YFUxAgMS4BcbFODAUdjNFggbkwSPQspX/fZqBndsEX3xx8CXOqTeDeCj58aTVk= ARC-Authentication-Results: i=1; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1611809221606917.2770116534319; Wed, 27 Jan 2021 20:47:01 -0800 (PST) Received: from localhost ([::1]:48704 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l4zCu-0006eN-Du for importer@patchew.org; Wed, 27 Jan 2021 23:47:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51408) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l4zBh-0004rO-R5 for qemu-devel@nongnu.org; Wed, 27 Jan 2021 23:45:45 -0500 Received: from mail-oi1-x235.google.com ([2607:f8b0:4864:20::235]:36160) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l4zBf-00076K-W3 for qemu-devel@nongnu.org; Wed, 27 Jan 2021 23:45:45 -0500 Received: by mail-oi1-x235.google.com with SMTP id d18so4777514oic.3 for ; Wed, 27 Jan 2021 20:45:42 -0800 (PST) Received: from cube.nuviainc.com (c-174-52-16-57.hsd1.ut.comcast.net. [174.52.16.57]) by smtp.gmail.com with ESMTPSA id k198sm887399oih.33.2021.01.27.20.45.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jan 2021 20:45:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=M+/WKWkniWr3oAapU8F0BKTdulQZGR7T7qCX2Jfk5To=; b=lpDvlpCFRu5wXbzUz7bdAfJIokhBml5gvrwoedDtuz69sG9H+5wX+Qvx5R/1VvzHgP HSwoigvAlxUuCxfnDFfOdaYYgj1hhbIkRF270u6xUpa6u6jwC75zRxigZfw+B1eBL/TO jdeiJVMZH3nz/4lPpHKyz1jneCEXdKlu7rd3AexcBQctiK5g/vVHFyvKXswUocSyTPjY LGKBI2G87/Vgb3sLk/nIerSkxYluEuqEwLjzs17foH4wQXVw+6pRXbQmyg4H6IMVwLMk aSZxi8B2hemulgF0Q4vcgofPIwDwAXfQJ4pbO2tsSEr9vRiYQAvDj1xx9/Udd9tXv7+z JD+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=M+/WKWkniWr3oAapU8F0BKTdulQZGR7T7qCX2Jfk5To=; b=lVCsNoIgetriHXhGy1sy7YGmFOzTDBcnoEdn+42cQprzdFdjD03R6kZa4YwaWYxt3x XRHq58MRMVtnST45TtuzOJVrnCLTG1V92KueIAw3/sQdF4+6mTiKAzj7nAKAX9gxGyvP be3yoIskDpDloRgKBqPx9kHjkzO2O09nrq+4qUndmuzRekLFPFRmOZwVuOmVIGlfTlFz 4fcU4zoI6Z/6I22Pn6SwtK6nVqQ0MWSpDTCL8k5xY17QL2EPESSgHLp61ELIg8wSbXYq fxlRiihh2lfoeGbynyHvs32uRPQQu2UwBeYwK++c7XPz4pG+pL5eH6u2yJfZgJWwuoRZ dTKQ== X-Gm-Message-State: AOAM5315KLSCeVTWmO16+J6KFKmxnnj2ilM3gMX6AzQMIHk7lSGovxDk QfzbMrEEYmhcHbZ2t6Y3KvmPphQU8n3QMa6gbSZ+pcoJH1T2R+9IVhennqP/K8Ca2ELVtbLFzdw fFREBcBlGVeVWl550rCpZ2csN4Ec2AKzobirs/PmIOivAo0zEGBrSXmi2xO8gOWG/8AzCK6k= X-Google-Smtp-Source: ABdhPJyqRIh/lt+9qIJ05BbUrl8jfXZRWT1j2xawPDgkQRt44CNLuD6Ki6/tL2PZSxiYJnrprVXWCw== X-Received: by 2002:aca:b909:: with SMTP id j9mr5583821oif.113.1611809141843; Wed, 27 Jan 2021 20:45:41 -0800 (PST) From: Rebecca Cran To: qemu-devel@nongnu.org Subject: [PATCH v3 4/4] target/arm: Set ID_PFR0.DIT to 1 for "max" 32-bit CPU Date: Wed, 27 Jan 2021 21:45:29 -0700 Message-Id: <20210128044529.1403-5-rebecca@nuviainc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210128044529.1403-1-rebecca@nuviainc.com> References: <20210128044529.1403-1-rebecca@nuviainc.com> 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::235; envelope-from=rebecca@nuviainc.com; helo=mail-oi1-x235.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Rebecca Cran , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Enable FEAT_DIT for the "max" 32-bit CPU. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 40142ac141e5..c98f44624423 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2197,6 +2197,10 @@ static void arm_max_initfn(Object *obj) t =3D FIELD_DP32(t, ID_MMFR4, CNP, 1); /* TTCNP */ t =3D FIELD_DP32(t, ID_MMFR4, XNX, 1); /* TTS2UXN */ cpu->isar.id_mmfr4 =3D t; + + t =3D cpu->isar.id_pfr0; + t =3D FIELD_DP32(t, ID_PFR0, DIT, 1); + cpu->isar.id_pfr0 =3D t; } #endif } --=20 2.26.2