[RESEND PATCH V3 2/2] riscv: add RISC-V Svpbmt extension supports

Christoph Hellwig hch at lst.de
Mon Nov 1 23:07:34 PDT 2021


On Mon, Oct 25, 2021 at 06:55:09PM +0800, Wei Fu wrote:
> How about this macro:
> #define _SVPBMT_PMA         0x0UL
> #define _SVPBMT_NC         BIT(61)
> #define _SVPBMT_IO         BIT(62)
> #define _SVPBMT_MASK         GENMASK(62, 61)

Personally I find these macros highly confusing. 

#define _SVPBMT_PMA	0UL
#define _SVPBMT_NC	(1UL << 61)
#define _SVPBMT_IO	(1UL << 62).
#define _SVPBMT_MASK	(_SVPBMT_NC  | _SVPBMT_IO)

is much eaier to follow.  Note that we can probably just drop
_SVPBMT_PMA entirely to make this even more readable.

> > Also why not use the standard names for these _PAGE bits used by
> > most other architectures?
> 
> Which names are you suggesting? Would you mind providing an example ?
> _PAGE_BIT_   for _PAGE_KERNEL_ ??

Use _PAGE_NOCACHE for _SVPBMT_NC, and _PAGE_IO for _SVPBMT_IO.



More information about the linux-riscv mailing list