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

From: Christoph Hellwig
Date: Tue Nov 02 2021 - 02:07:45 EST


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.