Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp4071155pxb; Mon, 4 Oct 2021 16:46:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyuOv8fphsp8HvaGrcSkZsGAJIG+glAjAuQsAC6OpXzjLRveYQNUBYG6ZKFF+9Z+iQWd8GB X-Received: by 2002:a05:6402:2044:: with SMTP id bc4mr8306470edb.49.1633391206651; Mon, 04 Oct 2021 16:46:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633391206; cv=none; d=google.com; s=arc-20160816; b=tF4p+r7zSRJSxsZpg0c++PPcoo89Zc5PMo69Oe9pkjxmzLXyKs0KjFOw9gzqBhzUeE NprvadwxR+Nh7OdnHg5VGRvHF9hJbdmMXQmRRU0DWJqJam52bkbDkeiajVyTm03k101D Bk/YjIGKt9JnygULFSwwzpOOjBCO1MCePUyyIV78HykVJoKSyLVU5IjICJr9HYCPY+wz zCRNqe/NFyrptX+ZTqU3DJ09S+ivy90IsDw5NMXn6sIyGOehhs10ssSfRB4FIYUakqlO 4yOVLt9F+rEhdzCxHwlxoy7+MjrjJUpmSbL5aN+crUQSM00bqYqF3r1AUgYJYmRnMezh wOXw== 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=k5Oj8nfUK7MhDY6PVM4z2eknQ8DuSmpzFOHLDmhb9GDpQizM7bMCDjB1Lzxf0Ojn/r i/UyEX0+k/SPrm30WbcW8q/JL1tdD5y65xfb+o8gBoFTUlTR6npq1ZNGhp3RR8bDwJIq U95lq+NQg+3ZvRvnYFlmClLv6RRDW5cXUAo89+YIHzYUHDUYpWIL9lCOAsHlPrmDGhXa XRcJ/UA29c4kfLz3l1ZvbIm/hyUKDi7tJjnvEZrytVpHZchxWq81d2HuklSNj/sKXbVd 5xH6W5x658kqywlYX9BvAvCaazxvQ50u1pcCyzlf8JRVFvHr1ubanwdjmOhPXG0ReYQ5 nsww== 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 ca23si21542408edb.585.2021.10.04.16.46.23; Mon, 04 Oct 2021 16:46:46 -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 S236132AbhJDUZG (ORCPT + 99 others); Mon, 4 Oct 2021 16:25:06 -0400 Received: from foss.arm.com ([217.140.110.172]:36020 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236190AbhJDUZF (ORCPT ); Mon, 4 Oct 2021 16:25:05 -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 2CD931FB; Mon, 4 Oct 2021 13:23:16 -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 113C73F70D; Mon, 4 Oct 2021 13:23:13 -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 v2 3/5] arm64: mte: CPU feature detection for Asymm MTE Date: Mon, 4 Oct 2021 21:22:51 +0100 Message-Id: <20211004202253.27857-4-vincenzo.frascino@arm.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20211004202253.27857-1-vincenzo.frascino@arm.com> References: <20211004202253.27857-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