Received: by 2002:a05:7412:d1aa:b0:fc:a2b0:25d7 with SMTP id ba42csp925860rdb; Tue, 30 Jan 2024 02:55:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IHkwuluoMjq/ml8twshq0/PTocGP9vYbJ97Xt4kZPD1BkR81O0wzWM2cMVBsg2KuLbqL4Jp X-Received: by 2002:a17:906:264e:b0:a36:1e51:4a4c with SMTP id i14-20020a170906264e00b00a361e514a4cmr1025057ejc.75.1706612132848; Tue, 30 Jan 2024 02:55:32 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706612132; cv=pass; d=google.com; s=arc-20160816; b=SAAjn7dPnS7xHFLEnU/8+jIDK7aqMB27f6FxcUBeC28OODAUbX1GeiYyDwVRWmK6mJ ISds7cM64548MljI/HfmjIgjBkaNIbR9VM8+D7HqQ41sgqDCNGvoeWvOxkpIpE2V+lfA yPhsJDqpMm3zanT7OmgEEJrVGj08rqVs1I1ko44PRKOUGhQQBdSle3+Hfy2vGRjpLkqB GwhqNKGVv2aKEABnXrNpzB7wESOfbeCjiiEyZVR5nH+M/Hmc9918eZR3BgKVvsueUTnv 5wgBMXHOV1E04KmrxXiAoRXgJxUrkvGJgO9KAIIFNmJp9uHt7cPKQAI1bMnlWAZv0MDf 6eMQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date; bh=OwyW+gksK3qRc4psEc/XvJ/La4UCveCsolbYUVcrhZY=; fh=bnH/IVvwu0+r8Z1i/prSBRcbJUIcbweMEga4dAUBuT8=; b=ViQWAAS6KzsYiaEEK2vNiUAuiNENmMJ5tnF+yfuopLX4D7rAGZpv+FYkX5qiA86QI9 93RIFr7AvpGG/ElzWpUjB/fOu8saL6Ht/VYKStW4nXoRzA7peGyYwB8TsUVkWtp8vZvW gvbRWVi/FP+i6iZI2cZ/QGHIZ3RFLmqGvg6EOSHkkhvlN9zKfN1vJvbUYgjKqeaAivfS Vw2z1TrqfThuQq99P3sg0OG77gKxWH4D334qLnlyoPOwx0hXjtAAxQLjL34BNelnS74g w5YFqcpbJ/7EoSIelXNcwT8qQjAkIl3JBjnQ+soXkXNZovZshEpBXVw2p3xiStPqgNv9 9RUQ== ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-44436-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-44436-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id zn6-20020a170906ff0600b00a349982a383si4644963ejb.751.2024.01.30.02.55.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jan 2024 02:55:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-44436-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-44436-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-44436-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.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 am.mirrors.kernel.org (Postfix) with ESMTPS id 9A68E1F2325A for ; Tue, 30 Jan 2024 10:55:32 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9928867E74; Tue, 30 Jan 2024 10:54:13 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D9AEA67E61 for ; Tue, 30 Jan 2024 10:54:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706612053; cv=none; b=R7ErCzcguUMMZOqa7EgbkM+dld4N0auclcfY8MkvqCo0SmrQ3pkexVFI5sMU7oxshJdMT7Z9RaA+2dsTyNUnfzZgSQBiZ0Wc/aieMdFMaUzMfRyCQueqbehhh7N3VWpxwKeFoB6ZYao7ijsSoM0G5XjhK8NkmzgSiWJendFYtag= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706612053; c=relaxed/simple; bh=Uf5lm/bBKl/t66RkGmw4DAaNnqHacgZqug2RRU8WVg4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=IvmlHakLH0c+MTChlW/SUqGdGBfPmEQl6ELdQgbnnMLW+HkFsJgqG7AxY/L/X9nHk2VyYUoDU2J26Z7gDGbZrmKVmb1wMVvTYiY2/g7nV9nGDmV7dyEuHRr2S6q9KfhXE1+sJMFZUC28CNogFYwr8O/10IxDbDGHuuY4KrhCVXY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com 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 1DCC4DA7; Tue, 30 Jan 2024 02:54:53 -0800 (PST) Received: from e133380.arm.com (e133380.arm.com [10.1.197.58]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8E77D3F5A1; Tue, 30 Jan 2024 02:54:08 -0800 (PST) Date: Tue, 30 Jan 2024 10:54:06 +0000 From: Dave Martin To: Mark Brown Cc: Catalin Marinas , Will Deacon , Jackson Cooper-Driver , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] arm64/sme: Restore SMCR_EL1.EZT0 on exit from suspend Message-ID: References: <20240130-arm64-sme-resume-v1-0-0e60ebba18df@kernel.org> <20240130-arm64-sme-resume-v1-2-0e60ebba18df@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240130-arm64-sme-resume-v1-2-0e60ebba18df@kernel.org> On Tue, Jan 30, 2024 at 12:02:49AM +0000, Mark Brown wrote: > The fields in SMCR_EL1 reset to an architecturally UNKNOWN value. Since we > do not otherwise manage the traps configured in this register at runtime we > need to reconfigure them after a suspend in case nothing else was kind > enough to preserve them for us. Do so for SMCR_EL1.EZT0. > > Fixes: d4913eee152d (arm64/sme: Add basic enumeration for SME2) > Reported-by: Jackson Cooper-Driver > Signed-off-by: Mark Brown > --- > arch/arm64/kernel/fpsimd.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c > index 69201208bb13..329782fe39c5 100644 > --- a/arch/arm64/kernel/fpsimd.c > +++ b/arch/arm64/kernel/fpsimd.c > @@ -1320,6 +1320,8 @@ void sme_suspend_exit(void) > > if (system_supports_fa64()) > smcr |= SMCR_ELx_FA64; Ditto comments on patch 1. Unrelated to this patch, it is worth having a prctl for this? The architecture seems to discourage software written for the SME ISA to implicitly rely on FA64, so it would useful to be able to run with it disabled even on hardware that supports it. > + if (system_supports_sme2()) > + smcr |= SMCR_ELx_EZT0; Side question: since ZT0 is likely to be sporadically used, maybe it is worth having separate lazy restore for it versus the main SME state? (Not relevant for this series though, and probably best deferred until there is hardware to benchmark on. Also, ZT0 is small compared with the SME state proper...) [...] Cheers ---Dave