riscv/riscv-isa-manual

Merge privileged and unprivileged specs

Timmmm opened this issue · 0 comments

When I first started learning RISC-V I started by only reading the unprivileged spec, and trying to make a simple processor based on that. That's turned out to be extremely confusing because you have to read both documented. There are loads of features where the details are spread over both documents. In particular:

  • exceptions
  • CSRs

Information from the privileged spec can also affect behaviours from the unprivileged spec. For example xenvcfg.FIOM affects fences, even though the fence instruction description makes no mention of this.

So is there any benefit to splitting the spec like this? The only one I can think of is document length, but I would say that isn't a good trade-off.