Received: by 2002:ab2:3350:0:b0:1f4:6588:b3a7 with SMTP id o16csp1700747lqe; Mon, 8 Apr 2024 18:30:20 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVQyAf1wwqFquoaaC+s++94bTHiAOJ/64pBj/UU8CcWddvhTV2gUnEvf4ktFXn+IKbjmIF7pLwvYU1lSIC3XSQWQBeV34Ap5Ds2TteVQg== X-Google-Smtp-Source: AGHT+IE+v/8Rz7L2SQQORfU55pWnwNbpuTuYGDoJBCCdQBHqInGAfHICq2pyR8tJp0Kwbb0UUDks X-Received: by 2002:a05:620a:4103:b0:78d:7068:fe71 with SMTP id j3-20020a05620a410300b0078d7068fe71mr228839qko.24.1712626220155; Mon, 08 Apr 2024 18:30:20 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712626220; cv=pass; d=google.com; s=arc-20160816; b=iNuW/5HuJJ3AZW3cMsf+y5r10CGXJAYJ3SdXRB3mxWBSjUuzHXZ3ezJ23Zg0/+5vUv IVtClc5dhp338vYfmaK11DOaHP9pktHnCcMHKOWasOV0BFsKLb3KHbqzrIXaf3w3CoFD /QqzDmHJTAlKp6+DkgA/m6XrwzKmxXBOcek1TuMj5/84D4OIRbBoYpq+Xq+4MZyl847S DIYHgQhZr9LcjTUdkDas/MzC/MGrndetKSv5uZVALOCT3VE5VLp5KamfsEYO3dE1xQ1t 08+HigClANufhbzQQfPG3N7cIbf40peCUeNwenfaJA+FbiufhiKcueeNRD7aLH1aJker gFpA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from; bh=qMLhzhOn0kLCn/vyYBXBv9hnVGiCtPSq2pHW8sAGzng=; fh=RatWSVbNJ1/MmnzWWlcZp/KokkZi2YybezTbDh3X02M=; b=REfN+D39J+RtcadMSnKMsPP+qIxHHfyC/axZ9IP7qGCq5og17VnGApc75VXI2QsDP6 gZZCvCmXxtUaHWTzPPf5h/cmKrlOR6MwqN8LeUKv3jMVZ/me1sbVDnUP+sqxxVPtcpaw GO7CU0HiqBdoko/rgokr+e2qw2DC5Su4wOLgtmkpqsrouMgDzPWuChiOSibfIfyx8xFy 6ClBJAPMF+RC1wXQZGyZ0yuNbUcYRiCRIETQurTxwHc5ArF1PjUSx+WFg6vbgOW2qPQa qEeVV/P5q1AEe5/6IUMR2Zne/mr7ZYKB8kTRS4IKlf0KBfjQzQVtsNjNl3ehC+lxlRTn XjPQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=huawei.com dmarc=pass fromdomain=huawei.com); spf=pass (google.com: domain of linux-kernel+bounces-136078-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-136078-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id x5-20020a05620a0ec500b0078d61468078si4898262qkm.582.2024.04.08.18.30.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Apr 2024 18:30:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-136078-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=huawei.com dmarc=pass fromdomain=huawei.com); spf=pass (google.com: domain of linux-kernel+bounces-136078-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-136078-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id DD7271C22446 for ; Tue, 9 Apr 2024 01:30:19 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 71BDB2375F; Tue, 9 Apr 2024 01:30:02 +0000 (UTC) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA5B23A8CE for ; Tue, 9 Apr 2024 01:29:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.189 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712626201; cv=none; b=VUKQZIrfRXUV3Cgdv0QL8yCtvr4meUOTGEAbQtGp19IvJ3NFC/6Nqgbo/YOTkwoqW8OD6ludqp7kwkPPTq2jsFd5G6apSylZZ1/RebsBVl9aH/qxmxTUWCNnP0J4od+RH9Qww7f+YIeEpo5BTJyk418uE3iZK3jtOpZAb8dLAK4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712626201; c=relaxed/simple; bh=xmdnB+OlH189zldRri5hZkoYzs160LsEOPCqB3tJe40=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Wxpl97/t3cV4R27giiLtMM4I6kivbfNvVvCBnxzjsQxXnF+cXjfFZOpgj23KTyFak5f4n0hp0s143gjr/iBhcXZI4uLL6v5C3GQzw0DQMbq4qvv0739K9lJW5URaRAgQqUv6zGx7waQtd3dCTvguD7XraIgtj9jyXZq23ek5AGc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; arc=none smtp.client-ip=45.249.212.189 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com Received: from mail.maildlp.com (unknown [172.19.162.254]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4VD7cZ4gqFzNnJb; Tue, 9 Apr 2024 09:27:42 +0800 (CST) Received: from kwepemd200013.china.huawei.com (unknown [7.221.188.133]) by mail.maildlp.com (Postfix) with ESMTPS id 4240618007D; Tue, 9 Apr 2024 09:29:57 +0800 (CST) Received: from huawei.com (10.67.174.28) by kwepemd200013.china.huawei.com (7.221.188.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Tue, 9 Apr 2024 09:29:55 +0800 From: Liao Chang To: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , CC: , , Subject: [PATCH 1/9] arm64/sysreg: Add definitions for immediate versions of MSR ALLINT Date: Tue, 9 Apr 2024 01:23:36 +0000 Message-ID: <20240409012344.3194724-2-liaochang1@huawei.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240409012344.3194724-1-liaochang1@huawei.com> References: <20240409012344.3194724-1-liaochang1@huawei.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemd200013.china.huawei.com (7.221.188.133) From: Mark Brown Encodings are provided for ALLINT which allow setting of ALLINT.ALLINT using an immediate rather than requiring that a register be loaded with the value to write. Since these don't currently fit within the scheme we have for sysreg generation add manual encodings like we currently do for other similar registers such as SVCR. Since it is required that these immediate versions be encoded with xzr as the source register provide asm wrapper which ensure this is the case. Signed-off-by: Mark Brown --- arch/arm64/include/asm/nmi.h | 27 +++++++++++++++++++++++++++ arch/arm64/include/asm/sysreg.h | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 arch/arm64/include/asm/nmi.h diff --git a/arch/arm64/include/asm/nmi.h b/arch/arm64/include/asm/nmi.h new file mode 100644 index 000000000000..0c566c649485 --- /dev/null +++ b/arch/arm64/include/asm/nmi.h @@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (C) 2022 ARM Ltd. + */ +#ifndef __ASM_NMI_H +#define __ASM_NMI_H + +#ifndef __ASSEMBLER__ + +#include + +extern bool arm64_supports_nmi(void); + +#endif /* !__ASSEMBLER__ */ + +static __always_inline void _allint_clear(void) +{ + asm volatile(__msr_s(SYS_ALLINT_CLR, "xzr")); +} + +static __always_inline void _allint_set(void) +{ + asm volatile(__msr_s(SYS_ALLINT_SET, "xzr")); +} + +#endif + diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h index 9e8999592f3a..b105773c57ca 100644 --- a/arch/arm64/include/asm/sysreg.h +++ b/arch/arm64/include/asm/sysreg.h @@ -167,6 +167,8 @@ * System registers, organised loosely by encoding but grouped together * where the architected name contains an index. e.g. ID_MMFR_EL1. */ +#define SYS_ALLINT_CLR sys_reg(0, 1, 4, 0, 0) +#define SYS_ALLINT_SET sys_reg(0, 1, 4, 1, 0) #define SYS_SVCR_SMSTOP_SM_EL0 sys_reg(0, 3, 4, 2, 3) #define SYS_SVCR_SMSTART_SM_EL0 sys_reg(0, 3, 4, 3, 3) #define SYS_SVCR_SMSTOP_SMZA_EL0 sys_reg(0, 3, 4, 6, 3) -- 2.34.1