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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 529A8C433F5 for ; Tue, 2 Nov 2021 06:04:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2B06660C4B for ; Tue, 2 Nov 2021 06:04:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230407AbhKBGHK (ORCPT ); Tue, 2 Nov 2021 02:07:10 -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.