Re: [PATCH v2 1/3] RISC-V: Add separate asm/encoding.h for spec related defines

From: Christoph Hellwig
Date: Mon Apr 15 2019 - 01:49:59 EST


On Sat, Apr 13, 2019 at 03:38:35PM +0000, Anup Patel wrote:
> It's better to have all RISC-V spec related defines in one place
> so this patch adds separate asm/encoding.h for such defines which
> can be included in assembly as well as C code.

As per the discussion of version 1 on Saturday I disagree with this
move. There is both a philosophical and a practical reason for that:

a) in RISC-V CSR access is really nicely split out into a separate
number space, just accessed through a few special instructions.
It has no overlap with the rest of instruction encoding
b) <asm/csr.h> is pulled into just about every file build in the kernel
though <asm/irqflags.h>, <asm/switch_to.h> and <asm/thread_info.h>

So even if you want to later add a new <asm/encoding.h> for instruction
encoding details later, I'd rather prefer to keep CSR access separate
from it.