Received: by 2002:a05:6a10:6d25:0:0:0:0 with SMTP id gq37csp1611185pxb; Mon, 13 Sep 2021 01:17:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzNz/uBXKaSkDRnPcawXQJ8TtclmdMPvEK3u3iYjRa7soer1IBI8wxOkixYBcHbQjMo1qIk X-Received: by 2002:a05:6e02:148c:: with SMTP id n12mr7374422ilk.36.1631521042317; Mon, 13 Sep 2021 01:17:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631521042; cv=none; d=google.com; s=arc-20160816; b=HvpwtvIIj/w7QQvGne+soIrxBH00Dc+xy7o0C+ysndUt8hCmhey/+o2gItLfdEAt5g puz6Ij9Trb3wFzTlsNDRCPeFFOyQcOwBHRJJ0W/T/DVcoO7dlleuRhU8eT823ddOwUfL HsxUG9pzlR5Ow1S6uCdJejUfSfMdNFEZh+ZV0fnRnmeP5sl5REOHVRDffy+KZFxxxUSE xHYX0vP69C9Iyc/4fRQoOHMpXdBcZZ1vumiz4I51qWoRfA0OuBKBzm+FT5phcSspWAq+ NAo0ZNMCt5hkl17XaqX2H93xHEPr89HwYgsoi9fJBYXRUrIPQrQWNaFstM7+qrAU6bwR bpaQ== 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=/8N4m48b79eqa/c3H38qJy26rzOVK0ps08eU0erevGQ=; b=TgBZ1HMya1vCbztNY8+q+tZa9zHql32uPGODBhOWrDR8/iD9L3FoVHhzn9pDH0F6/N d9OBcSuJzaWKhrMR6NiMj4qhQ5AftTGn3mRrUnTNVf1FbixY+aVkukPu5tkpYeBkRVk3 MCmhLwGCnB70xFY5Jty97UTR9GyzRJdNQtIzEcqCbBGl1RXvvWlki0kseA9BdS6NoNky oSX/f1N23zTYPrDHWZQzzf4z1n3OMuzbXlq9ejlXBWV/7s08XSVBdplu3TfY6rHWAoKJ bxd/ES8s5MsaQLB676sjDUneJVRl5jf5iMJnsG+TWDq8kS4gXWPXwJXZtDk6WJM+hWvU 3eyA== 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 m24si6538633jac.82.2021.09.13.01.17.10; Mon, 13 Sep 2021 01:17:22 -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 S237995AbhIMIQH (ORCPT + 99 others); Mon, 13 Sep 2021 04:16:07 -0400 Received: from foss.arm.com ([217.140.110.172]:54878 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237929AbhIMIQB (ORCPT ); Mon, 13 Sep 2021 04:16:01 -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 CD66331B; Mon, 13 Sep 2021 01:14:45 -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 CE3403F5A1; Mon, 13 Sep 2021 01:14:43 -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 Subject: [PATCH 3/5] arm64: mte: CPU feature detection for Asymm MTE Date: Mon, 13 Sep 2021 09:14:22 +0100 Message-Id: <20210913081424.48613-4-vincenzo.frascino@arm.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210913081424.48613-1-vincenzo.frascino@arm.com> References: <20210913081424.48613-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 --- 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 f8a3067d10c6..a18774071a45 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -2317,6 +2317,16 @@ static const struct arm64_cpu_capabilities arm64_features[] = { .sign = FTR_UNSIGNED, .cpu_enable = cpu_enable_mte, }, + { + .desc = "Asymmetric Memory Tagging Extension", + .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