Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp475679pxb; Wed, 6 Oct 2021 08:52:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxMek1m9aqKaT6daVjA+3VLLEYoCDkPyCxmZNoWIN/ozUI6J543Vn3V7xX+XFN1iBqACHxp X-Received: by 2002:a05:6402:78f:: with SMTP id d15mr24554187edy.44.1633535572617; Wed, 06 Oct 2021 08:52:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633535572; cv=none; d=google.com; s=arc-20160816; b=MQfnzLn5KWU2T1CkXdbg7g/ox2PFC21wBeLb/QLKi2HVGKU6Ko1xsQwCJZSI5BVLYz Pp+7URiAZxKUTFlvRtk57iF639V0mBNMo7ObTthQUBjF9cA/fq/efJOfhd+WCbsbjNnI tgJKCNP7+rb+HB+u4Gfz8s0qyY8COlQltf/t2YOFB+hJNK5mt5PXs/flCXOhB/IHvLyQ JLFuC2a5PDTaloL9eSpLHc80PhWGxY83y7USEec7QkudB81hu/ODswo1MlWRSTpIotIU 8S8hk7Tc67pXiaJzLi4G/Xu37q7ngQHVdDCexyjpHSUcTKF7s0x2xPXIYz6KNYu8oU7M kv2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=yTlERtHDIlPOQgOV1RlT1zTcUloBx5GrEDg5YkCAcAM=; b=WvtuxO3mKoKRlJkMnYpctjQJA7JeQLJe9ahemw8fyl3LiFkd3FNTmlN/kNFl4mSRAm /jvSx4vY27ms+KEjwYpkGL2zd0IscjDzdXFb2ExgEXPlv2KB2xodbedJUfMMZO5yToWM cM1WjY67vN2sOimZUS5+tnGUub8VCOxIXecfgZ5BtZKsHdSVSDA44kWF8yqMveQBp0OG QrILpadLr23cTevDBQsNeUYX+4CiV2qVRLEGKRAWfdpwwZ0P60SxF4/+GwWLXxbtr8k4 lvRaN5ndHb+V4pFaLog3Z70wEfJJbIzljbOJmGlMeTPnYX1KL8kg84u00vJM7r3ZjgUM RoHA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s3si24693837ejs.386.2021.10.06.08.52.27; Wed, 06 Oct 2021 08:52:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239314AbhJFPuH (ORCPT + 99 others); Wed, 6 Oct 2021 11:50:07 -0400 Received: from foss.arm.com ([217.140.110.172]:41546 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239263AbhJFPuA (ORCPT ); Wed, 6 Oct 2021 11:50:00 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6FF656D; Wed, 6 Oct 2021 08:48:08 -0700 (PDT) Received: from e119884-lin.cambridge.arm.com (e119884-lin.cambridge.arm.com [10.1.196.72]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 590FF3F70D; Wed, 6 Oct 2021 08:48:06 -0700 (PDT) From: Vincenzo Frascino To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com Cc: vincenzo.frascino@arm.com, Andrew Morton , Catalin Marinas , Will Deacon , Dmitry Vyukov , Andrey Ryabinin , Alexander Potapenko , Marco Elver , Evgenii Stepanov , Branislav Rankov , Andrey Konovalov , Lorenzo Pieralisi , Suzuki K Poulose , Suzuki K Poulose Subject: [PATCH v3 3/5] arm64: mte: CPU feature detection for Asymm MTE Date: Wed, 6 Oct 2021 16:47:49 +0100 Message-Id: <20211006154751.4463-4-vincenzo.frascino@arm.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20211006154751.4463-1-vincenzo.frascino@arm.com> References: <20211006154751.4463-1-vincenzo.frascino@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add the cpufeature entries to detect the presence of Asymmetric MTE. Note: The tag checking mode is initialized via cpu_enable_mte() -> kasan_init_hw_tags() hence to enable it we require asymmetric mode to be at least on the boot CPU. If the boot CPU does not have it, it is fine for late CPUs to have it as long as the feature is not enabled (ARM64_CPUCAP_BOOT_CPU_FEATURE). Cc: Will Deacon Cc: Catalin Marinas Cc: Suzuki K Poulose Signed-off-by: Vincenzo Frascino Reviewed-by: Catalin Marinas Reviewed-by: Suzuki K Poulose --- arch/arm64/kernel/cpufeature.c | 10 ++++++++++ arch/arm64/tools/cpucaps | 1 + 2 files changed, 11 insertions(+) diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index 6ec7036ef7e1..9e3e8ad75f20 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -2321,6 +2321,16 @@ static const struct arm64_cpu_capabilities arm64_features[] = { .sign = FTR_UNSIGNED, .cpu_enable = cpu_enable_mte, }, + { + .desc = "Asymmetric MTE Tag Check Fault", + .capability = ARM64_MTE_ASYMM, + .type = ARM64_CPUCAP_BOOT_CPU_FEATURE, + .matches = has_cpuid_feature, + .sys_reg = SYS_ID_AA64PFR1_EL1, + .field_pos = ID_AA64PFR1_MTE_SHIFT, + .min_field_value = ID_AA64PFR1_MTE_ASYMM, + .sign = FTR_UNSIGNED, + }, #endif /* CONFIG_ARM64_MTE */ { .desc = "RCpc load-acquire (LDAPR)", diff --git a/arch/arm64/tools/cpucaps b/arch/arm64/tools/cpucaps index 49305c2e6dfd..74a569bf52d6 100644 --- a/arch/arm64/tools/cpucaps +++ b/arch/arm64/tools/cpucaps @@ -39,6 +39,7 @@ HW_DBM KVM_PROTECTED_MODE MISMATCHED_CACHE_TYPE MTE +MTE_ASYMM SPECTRE_V2 SPECTRE_V3A SPECTRE_V4 -- 2.33.0