Message ID | 20241001-arm64-gcs-v13-8-222b78d87eee@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 286A7CF318B for <linux-mm@archiver.kernel.org>; Tue, 1 Oct 2024 23:01:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B1AB7440150; Tue, 1 Oct 2024 19:01:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA41D68002B; Tue, 1 Oct 2024 19:01:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8F693440150; Tue, 1 Oct 2024 19:01:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 6EFBE68002B for <linux-mm@kvack.org>; Tue, 1 Oct 2024 19:01:33 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 22520C05F2 for <linux-mm@kvack.org>; Tue, 1 Oct 2024 23:01:33 +0000 (UTC) X-FDA: 82626556866.13.FF686D4 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf17.hostedemail.com (Postfix) with ESMTP id 4F51A4001A for <linux-mm@kvack.org>; Tue, 1 Oct 2024 23:01:31 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=JVOwfzln; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of broonie@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=broonie@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727823652; a=rsa-sha256; cv=none; b=GrV3QXWZQx7pr0R239OprusztjlS4Av+O7j2KgMDPINg6CJqvdiQ2jATstg/UQNtRqRuxE 5BK7WWqF4Wncwx4Vp3VAFFWh/K/VkW7cMMqDGBUD9uqddjLnP9ebRUpnL9wqVqpYv412Em k93sjILCLR0PoyOC2aSItzf6clYSjpg= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=JVOwfzln; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of broonie@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=broonie@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727823652; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Mr/T+93yKvUcKjRjaYnp+R2zQgicOAIXtPhMTARa+dE=; b=n/I8kiHtgoRYOUbEz2OKJ/d2xRY2cZC5+6VwBTkGkyhReACid+OFN7p27vT9cQbTBr+rrC /ft5WISyLi40cos48xHfWacdWNumeeePJh1GqshWNy4OrKG5shNy0U9dyZamK293ITiJ3j +eUTPsvmLU+yWUj9yBUC60ZWAqz0sNg= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 745BF5C0F07; Tue, 1 Oct 2024 23:01:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EF7FFC4CEC6; Tue, 1 Oct 2024 23:01:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1727823690; bh=cWAEuqYZg+17LABQvN9oRF3fUQ66H1+faDLiqviD7Rg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=JVOwfzlnQ1yPBDbyHnBgjdhX8SQ8mjDy1QRkyFkl+gx37UIxMkNToKrHVI1wydeCy RvfGEfIUbYLBkyn5jLSMtS4EU1FuCrXR9nErfytRVB8rKmIeiUyzqTAXya3u5hSYSW ZBqvuVQ+khkZqPwaAr87X/XDdwoPeZijmcaMzMRbnvSldy09sAicXE81Snt3Ig6vI0 OC4JtKB6DHV97T5dceAw0Jo4Bhxw6j2Y/6yYFnKqZbGelN+KxP2Y/5mZwrYxZIAI4z 3LSsPRBfwp/s0bVks8hgqIqV80OhU249mQTsriYGh3sReyLGn6wuVQhtXoHqTkFdWt MzUy1utdiCF1g== From: Mark Brown <broonie@kernel.org> Date: Tue, 01 Oct 2024 23:58:47 +0100 Subject: [PATCH v13 08/40] arm64/sysreg: Add definitions for architected GCS caps MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20241001-arm64-gcs-v13-8-222b78d87eee@kernel.org> References: <20241001-arm64-gcs-v13-0-222b78d87eee@kernel.org> In-Reply-To: <20241001-arm64-gcs-v13-0-222b78d87eee@kernel.org> To: Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>, Jonathan Corbet <corbet@lwn.net>, Andrew Morton <akpm@linux-foundation.org>, Marc Zyngier <maz@kernel.org>, Oliver Upton <oliver.upton@linux.dev>, James Morse <james.morse@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, Arnd Bergmann <arnd@arndb.de>, Oleg Nesterov <oleg@redhat.com>, Eric Biederman <ebiederm@xmission.com>, Shuah Khan <shuah@kernel.org>, "Rick P. Edgecombe" <rick.p.edgecombe@intel.com>, Deepak Gupta <debug@rivosinc.com>, Ard Biesheuvel <ardb@kernel.org>, Szabolcs Nagy <Szabolcs.Nagy@arm.com>, Kees Cook <kees@kernel.org> Cc: "H.J. Lu" <hjl.tools@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, Florian Weimer <fweimer@redhat.com>, Christian Brauner <brauner@kernel.org>, Thiago Jung Bauermann <thiago.bauermann@linaro.org>, Ross Burton <ross.burton@arm.com>, David Spickett <david.spickett@arm.com>, Yury Khrustalev <yury.khrustalev@arm.com>, Wilco Dijkstra <wilco.dijkstra@arm.com>, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Mark Brown <broonie@kernel.org> X-Mailer: b4 0.15-dev-99b12 X-Developer-Signature: v=1; a=openpgp-sha256; l=1514; i=broonie@kernel.org; h=from:subject:message-id; bh=cWAEuqYZg+17LABQvN9oRF3fUQ66H1+faDLiqviD7Rg=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBm/H7KzFUM+Tl6KY9+ZmIs9ee3X2SFnChzVHp/wsKS BBUyQIuJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZvx+ygAKCRAk1otyXVSH0IRzB/ 40t5IAmsVTGi7QY/R5VsHa1iNQj0hKlpetd6TJOdMvRKsXR7+KpNuOvRgAkbhlDXCwJYjeU4V4pZTC 49GPGeYHCub8P8aKfD8/+tiWv28sHcRKtOz1ur8l73Orsj2Cd/ed/JcBfulU4rXfyfI0SpWxr9JucH OwLTLsF1AA17SaFcrEInmJ2dOxjQOIIXfZ7+rCJWC1BBDKx5VwB19cZ07spFGUITn5wpQr3Gzb/8wK jyrS73oi0ChXeCFjRaYAEy8XRgWK3W/PS/rbmSvFxKS0Br/eqUVWIMTnB7+8JZ4zsPVbUs3ZdGhLY9 5ld0bkuoXsL76SMw36DmJc7xoDL2LX X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Rspam-User: X-Rspamd-Queue-Id: 4F51A4001A X-Rspamd-Server: rspam01 X-Stat-Signature: cwnzak1zajp7t8h7w641ic8idn6bm979 X-HE-Tag: 1727823691-671024 X-HE-Meta: U2FsdGVkX1+YZoNIgkx6EPjGKODXTMV1yJql8XhDaNppyk0jgcXY4eCn+JoOXJlc2uTSLvWWt28/BcbbKiHerqqjR6lftLf7+n6AbcBwmfq1Zl8wZyBoDq2lU9f9IjA+VNLIU+Jmf6HfdX0kicDgZdYk/yCMY9TnBRksW2aGjKSivtNhNYaYsJFMqbsBjuQBno+0qdHmG6Og7hTUJSbxU/blJKEloyNn88BOT5uPC3soLAOptG7J+r/HbTNREd/Bt0geYD+qJYZJTX5AoG8DMUcmA8ksdzN96P9JoOYj1kJfSzpsvC63XyHfetJFu2QRXWvkLFLJZbCkVUumN5eiBkGphzVDas4L5fFKJKCOdAPGmF5neaXJ4+q8MfccSi7b3f4V2ioFODpYHZ4srJLufGhK2bjCc/n2qgeBvkAoVOXFiFtJQujbcYq4KiaIGTg2Ilhuvm5unHsRM22dVRn7D1n8N22H5KOKS++jKyVF/VARVOEL8ONBHH2bJX7N1NTRkGXaS4iMeq8Jg+uKl88vr9gh/aXlhUrDzVD905cCX+KANJbXpiYZf6ekjV6Wpw4TE0bblXZ/THSEaEKgh0+wtWQDzbWH+//hs/1yqivbTWmWLopLOBDZ0x58bjHAXEqXA4EPeFHII3mo0MZ9rPpOijUQT2c0eMeBAqZX3ki0ei0TpTblGBg88PTjJmsKp7wcH0HqwKMAbsjaWQAtKwV8PwbKzmzSPINAcIls6gj06WRlsbXPe1j8k/xJaTylqYFhQbncodpF4goWvArkl4t8YFA8cmzrr9R1NjDTK0fnhHrkUsooVU7iviBEmtP9rozzyonl9MRYCHbu1LXZhT31MIzGdAHGHwwEhMpomUy3Hz3ntMRUCHwCW++AW7UXndkoRyekkYTqOj1INrDhT8F7vE2vZ5lINREUgByqM3S4H6pe5h8+FDWrqoWCkfIJJvjYoog3U2ItcqaybPcCHn/ m2+wLcuw meMHFrzoTE1Tun/uDI5trlBI6OcDzfwladxiRXJAEbJqGCkdyz5V+K1TDCXrn66muitSr/4kk8S9bQYOuhUXCpmielmDvVoN0Fw3v/1eRmgWD97xTKZnuz84ANBFd4aXgK3q56Y+iOvxxSmwBBkZDFyN5gwgOMEDaefRlxQ2p0kKTyul1S+35z2w7+n0I1e5QyajpV+tSSeCATIWg5NWMGCoA9jANz2Ewvy0OMo1gjD+vlSz/EVVw6dUiXxJRa0SMyd6fyizKX0CJKHS5I0fFD1T2BqHeJFDwVyWvoEiEBIAnTKe3+xwp0TtFp5ekHebtNZ6KG/Oq5Or2dHkL5o7GpWQVftOSCuT3WuVo+G4ilq7aIQiVBw6ybyygHospSchvRysaxIYJ0LoS1W3lnqQcprAB5qIv/LLln/5Q9JCEsOUrm0ozfmB8xzMTiw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
arm64/gcs: Provide support for GCS in userspace
|
expand
|
diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h index 9ea97dddefc4..9c98ff448bd9 100644 --- a/arch/arm64/include/asm/sysreg.h +++ b/arch/arm64/include/asm/sysreg.h @@ -1101,6 +1101,26 @@ /* Initial value for Permission Overlay Extension for EL0 */ #define POR_EL0_INIT POE_RXW +/* + * Definitions for Guarded Control Stack + */ + +#define GCS_CAP_ADDR_MASK GENMASK(63, 12) +#define GCS_CAP_ADDR_SHIFT 12 +#define GCS_CAP_ADDR_WIDTH 52 +#define GCS_CAP_ADDR(x) FIELD_GET(GCS_CAP_ADDR_MASK, x) + +#define GCS_CAP_TOKEN_MASK GENMASK(11, 0) +#define GCS_CAP_TOKEN_SHIFT 0 +#define GCS_CAP_TOKEN_WIDTH 12 +#define GCS_CAP_TOKEN(x) FIELD_GET(GCS_CAP_TOKEN_MASK, x) + +#define GCS_CAP_VALID_TOKEN 0x1 +#define GCS_CAP_IN_PROGRESS_TOKEN 0x5 + +#define GCS_CAP(x) ((((unsigned long)x) & GCS_CAP_ADDR_MASK) | \ + GCS_CAP_VALID_TOKEN) + #define ARM64_FEATURE_FIELD_BITS 4 /* Defined for compatibility only, do not add new users. */