From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 855D7C43334 for ; Thu, 21 Jul 2022 13:11:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 10DB98E0006; Thu, 21 Jul 2022 09:11:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 095C08E0001; Thu, 21 Jul 2022 09:11:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E52258E0006; Thu, 21 Jul 2022 09:11:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id D0D988E0001 for ; Thu, 21 Jul 2022 09:11:24 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A8C7E1608FE for ; Thu, 21 Jul 2022 13:11:24 +0000 (UTC) X-FDA: 79711143288.26.9995895 Received: from mail-yw1-f171.google.com (mail-yw1-f171.google.com [209.85.128.171]) by imf28.hostedemail.com (Postfix) with ESMTP id 5F513C009A for ; Thu, 21 Jul 2022 13:11:24 +0000 (UTC) Received: by mail-yw1-f171.google.com with SMTP id 00721157ae682-31d85f82f0bso16505007b3.7 for ; Thu, 21 Jul 2022 06:11:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=3KJW7Fmbq5f+eNMw6VzguHX0B49FKPw4A5l5sLUXhGo=; b=cDDJz93vgcNNLNytxqCbx8V77gcnQB+j09ztN3Q/A3wfSuguHHr5vSGyiDed9ADcd6 Qu8RozwM8yO7TnX8u91/tggfA68L2JN2YkymYnnjqHMkjhSx+8Y73kM+UE8/hiVaa1Xv N9gvNrjJro7Zs83exyXlClnG1UGLhSE5k5vtiC7qEjl6+nITPm1PvNpvnOsAvO7FTTOP o7HkYit2MdLNBhbVQ6J99MG+RyRcpRVTLE2ecIuE5B2p82n95kJOVCFpALnohXFpZdXQ MR+CqTl70MXZZUY30UZxA8llahXQgVjFk0T38Xz+7+cfOil+jfutmR3l7AVmBo5f+Ktk RK5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=3KJW7Fmbq5f+eNMw6VzguHX0B49FKPw4A5l5sLUXhGo=; b=nJXC1Jlun2OuGzMa5ZeFVcNp9YuHnPrKocwgvWQeV8yKQyHO3GonSsvalmkqgzAZqW +/nZ7FpF8DCd/vCIZGzAmhYQhnig6dthem7Vip+JkyzvJklOk9HApZRupdOl/PuvgqnB tJvVytvoeriPYXmRL+ul6ZDUqYklb4rDA+31Q/EsxLthwdW1IIH/Otp59tDfGLS1BQK6 XMtSWN2kKo/Xl+3oti5BaTxzUaYPpQVH74ecAiCuwkMX3NRTZVnQArCWFkLs+RPmSGsX Jipr5xWufEQbjndGPRtBdN3Rg32ZexP41wp9HfQ0Y5JcLQxTfy6hUVICkX+JSjWrXzkw uKtA== X-Gm-Message-State: AJIora8NlU42Id96DSVkKD0fusj4Kauwx9a+TKej/pL+J17Ul7iVJcGJ sp9uDR0L+gZaylTZ+9CmJpiTO2tFn/PmjV5bOMJC+Q== X-Google-Smtp-Source: AGRyM1tLbjkCEhNkeUKj/DUOSL8lYPgWAKfYilQsa2HaMoE1cLwd43UsQsq1xN/a3T6kp4jx0N2DPCYHvCLYCBtYo8I= X-Received: by 2002:a81:a1ca:0:b0:31e:58d4:e724 with SMTP id y193-20020a81a1ca000000b0031e58d4e724mr15075845ywg.486.1658409083510; Thu, 21 Jul 2022 06:11:23 -0700 (PDT) MIME-Version: 1.0 References: <20220712231328.5294-1-kirill.shutemov@linux.intel.com> <20220712231328.5294-3-kirill.shutemov@linux.intel.com> In-Reply-To: <20220712231328.5294-3-kirill.shutemov@linux.intel.com> From: Alexander Potapenko Date: Thu, 21 Jul 2022 15:10:47 +0200 Message-ID: Subject: Re: [PATCHv5 02/13] x86: CPUID and CR3/CR4 flags for Linear Address Masking To: "Kirill A. Shutemov" Cc: Dave Hansen , Andy Lutomirski , Peter Zijlstra , "the arch/x86 maintainers" , Kostya Serebryany , Andrey Ryabinin , Andrey Konovalov , Taras Madan , Dmitry Vyukov , "H . J . Lu" , Andi Kleen , Rick Edgecombe , Linux Memory Management List , LKML Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=cDDJz93v; spf=pass (imf28.hostedemail.com: domain of glider@google.com designates 209.85.128.171 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1658409084; a=rsa-sha256; cv=none; b=YYrPdkU9Qw61gQoOkaK5dShZ7iBBiJGFkx7ig4mzNdHzt2jflg736F+pTqHV3l212ZfNfE 99gTH+C/zoHQBn8MQTnr5xF3kPs2NdW//crV5GHboZF9zKvnfrSNb4apZFW0x+4DunbZRB xxKqanRygColaZc0E+XBdbzvWhKRsUU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658409084; 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=3KJW7Fmbq5f+eNMw6VzguHX0B49FKPw4A5l5sLUXhGo=; b=tVCfXh7SM6UuZ0wEE6hveol9miXZnabst2o4fM8MeIXPPU2IgodzxkM2dEw901l+Ngxp7X EpKKinRF+jfw73trH2tzVOKBgsPQ5rDB2TbeSbCD3/Yghxa12ERx7Uw5AGbQds5Wgretq2 vYsxzNt06VTqqJKTlSzmvLPuAC4oeuc= Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=cDDJz93v; spf=pass (imf28.hostedemail.com: domain of glider@google.com designates 209.85.128.171 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspam-User: X-Rspamd-Server: rspam01 X-Stat-Signature: wx9beooxkzyiqaa61hw7spc17a11m1yt X-Rspamd-Queue-Id: 5F513C009A X-HE-Tag: 1658409084-165018 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: On Wed, Jul 13, 2022 at 1:13 AM Kirill A. Shutemov wrote: > > Enumerate Linear Address Masking and provide defines for CR3 and CR4 > flags. > > Signed-off-by: Kirill A. Shutemov Reviewed-by: Alexander Potapenko Tested-by: Alexander Potapenko > --- > arch/x86/include/asm/cpufeatures.h | 1 + > arch/x86/include/uapi/asm/processor-flags.h | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cp= ufeatures.h > index 03acc823838a..6ad5841e087f 100644 > --- a/arch/x86/include/asm/cpufeatures.h > +++ b/arch/x86/include/asm/cpufeatures.h > @@ -300,6 +300,7 @@ > /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 *= / > #define X86_FEATURE_AVX_VNNI (12*32+ 4) /* AVX VNNI instructio= ns */ > #define X86_FEATURE_AVX512_BF16 (12*32+ 5) /* AVX512 BFLO= AT16 instructions */ > +#define X86_FEATURE_LAM (12*32+26) /* Linear Addr= ess Masking */ > > /* AMD-defined CPU features, CPUID level 0x80000008 (EBX), word 13 */ > #define X86_FEATURE_CLZERO (13*32+ 0) /* CLZERO instruction = */ > diff --git a/arch/x86/include/uapi/asm/processor-flags.h b/arch/x86/inclu= de/uapi/asm/processor-flags.h > index c47cc7f2feeb..d898432947ff 100644 > --- a/arch/x86/include/uapi/asm/processor-flags.h > +++ b/arch/x86/include/uapi/asm/processor-flags.h > @@ -82,6 +82,10 @@ > #define X86_CR3_PCID_BITS 12 > #define X86_CR3_PCID_MASK (_AC((1UL << X86_CR3_PCID_BITS) - 1, UL)) > > +#define X86_CR3_LAM_U57_BIT 61 /* Activate LAM for userspace, 62:57 b= its masked */ > +#define X86_CR3_LAM_U57 _BITULL(X86_CR3_LAM_U57_BIT) > +#define X86_CR3_LAM_U48_BIT 62 /* Activate LAM for userspace, 62:48 b= its masked */ > +#define X86_CR3_LAM_U48 _BITULL(X86_CR3_LAM_U48_BIT) > #define X86_CR3_PCID_NOFLUSH_BIT 63 /* Preserve old PCID */ > #define X86_CR3_PCID_NOFLUSH _BITULL(X86_CR3_PCID_NOFLUSH_BIT) > > @@ -132,6 +136,8 @@ > #define X86_CR4_PKE _BITUL(X86_CR4_PKE_BIT) > #define X86_CR4_CET_BIT 23 /* enable Control-flow Enforce= ment Technology */ > #define X86_CR4_CET _BITUL(X86_CR4_CET_BIT) > +#define X86_CR4_LAM_SUP_BIT 28 /* LAM for supervisor pointers */ > +#define X86_CR4_LAM_SUP _BITUL(X86_CR4_LAM_SUP_BIT) > > /* > * x86-64 Task Priority Register, CR8 > -- > 2.35.1 > --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Liana Sebastian Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg