Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp3865365pxb; Mon, 1 Nov 2021 23:07:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwiEwaKIO2Na1mGnH8rkg1HsmnprDvpGZ+Uskyw+ZxlP23e5rV7L5Gksz87iE7O+dK/WH/4 X-Received: by 2002:a05:6e02:1847:: with SMTP id b7mr23116057ilv.102.1635833271352; Mon, 01 Nov 2021 23:07:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635833271; cv=none; d=google.com; s=arc-20160816; b=kwgcggbSjj2a+bpRS3uSrKCjRRtKzwiRlOncwufoQwqRlpPEBOXcg3b695y9oqGGqN m1H6BADHLZTQWuipxOHiFtSLhx4UFLOdydMpLOnH95iNt5wvbPpzbo8UHVneMVQuCI0M UwTaYbcPcpo2pEYWPRHoJXTDNAqwe7DjK/nxHsexcJt6N9cw6A/v2f0E9IaebXFYkdCa fUrY1FKMmfk2h/8XDHkZMGlaNABcYl927BVoFQDOx0kvAVwwoBY1ySob8PGw6i7Bc+lL oGFRyYtdCM7cM72i/VsaPWdGESZlOPPHqkMj+T7/n07GlBEmiXs0Yh6DbsQlLrsquTfi QoaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=v0gn5aBgIaahTxhRck93nrEQfJvzAtsZTYazUkAFLcI=; b=Gg2AB+ekGEaNfdk8L0efd1ZyhjI8jImR9Q20ZaCWyoCjj6wwyfoq0zlGIJqkMhqknN wOKsJ3B6hVQcNzEbyMJUSQWJ1Dj4rOt2k+1awG6tFdLlkAMVcHetajPyIOQAPH93L/// ZpQ32/2KyUqjtqptz+96au2j3YbxwNGR36kgKWHkYJvdlMZrFInxAJRtq3IbqAuOTwdH jpI4ADwD8l1TvdiHCguwYKRap8irhGg1PO1nKitGwCMcv196lOHxHMiNps2fKAn/TA88 7yuONYlFYEzriumsEnNjc2XIc9Zm1VpQ2ieDGuGz7lOjCV2zwM0RL0WJszxwvsZG/++6 f+/Q== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q2si13743908ilv.130.2021.11.01.23.07.40; Mon, 01 Nov 2021 23:07:51 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229616AbhKBGHJ (ORCPT + 99 others); Tue, 2 Nov 2021 02:07:09 -0400 Received: from verein.lst.de ([213.95.11.211]:54514 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229505AbhKBGHE (ORCPT ); Tue, 2 Nov 2021 02:07:04 -0400 Received: by verein.lst.de (Postfix, from userid 2407) id 4400D68AFE; Tue, 2 Nov 2021 07:04:25 +0100 (CET) Date: Tue, 2 Nov 2021 07:04:24 +0100 From: Christoph Hellwig To: Wei Fu Cc: Christoph Hellwig , Anup Patel , Atish Patra , Palmer Dabbelt , guoren@kernel.org, christoph.muellner@vrull.eu, Philipp Tomsich , Christoph Hellwig , Liu Shaohua , Wei Wu =?utf-8?B?KOWQtOS8nyk=?= , Drew Fustini , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, taiten.peng@canonical.com, aniket.ponkshe@canonical.com, heinrich.schuchardt@canonical.com, gordan.markus@canonical.com, guoren@linux.alibaba.com, Arnd Bergmann , Chen-Yu Tsai , Maxime Ripard , Daniel Lustig , Greg Favor , Andrea Mondelli , Jonathan Behrens , Xinhaoqu , Bill Huffman , Nick Kossifidis , Allen Baum , Josh Scheid , Richard Trauben Subject: Re: [RESEND PATCH V3 2/2] riscv: add RISC-V Svpbmt extension supports Message-ID: <20211102060424.GA27015@lst.de> References: <20211025040607.92786-1-wefu@redhat.com> <20211025040607.92786-3-wefu@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 25, 2021 at 10:49:11PM +0800, Wei Fu wrote: > > > + >> _PAGE_PFN_SHIFT); > > > > > static inline unsigned long _pmd_pfn(pmd_t pmd) > > > { > > > - return pmd_val(pmd) >> _PAGE_PFN_SHIFT; > > > + return (pmd_val(pmd) & _PAGE_CHG_MASK) >> _PAGE_PFN_SHIFT; > > > } > > > > The "(pud_val(pud) & _PAGE_CHG_MASK) >> _PAGE_PFN_SHIFT" expression begs > > for readable and well-documented helper. > > How about these: > #define _chg_of_pmd(pmd) (pmd_val(pmd) & _PAGE_CHG_MASK) > #define _chg_of_pud(pud) (pud_val(pud) & _PAGE_CHG_MASK) I'd use inline functions instead of macros if possible, but otherwise yes. > How about : > > extern unsigned long _svpbmt_mask > extern unsigned long _svpbmt_mt_pma > extern unsigned long _svpbmt_mt_nc > extern unsigned long _svpbmt_mt_io > > #define _PAGE_MT_MASK _svpbmt_mask > #define _PAGE_MT_PMA _svpbmt_mt_pma > #define _PAGE_MT_NC _svpbmt_mt_nc > #define _PAGE_MT_IO _svpbmt_mt_io Looks much better.