>>>>> On Fri, 25 May 2018 05:25:09 -0700 (PDT), Paul Miranda <
paulcm...@gmail.com> said:
| I was just looking at PMP the other day thinking that top-of-range addressing
| mode is going to be quite slow to implement relative to power-of-two chunks. I
| wouldn't mind if TOR went away completely... is that a possibility?
It'll be up to a platform to mandate the PMPs it requires.
| I suppose an implementation can always choose to have TOR perform badly and
| then software will "learn" not to use it, and that is how obscure parts of the
| x86 ISA have effectively died off over the years, but it's sad to see a
| clean-sheet ISA already saddled with a burden like this.
I will note that some systems that previously had only power-of-2
boundaries in their memory protection units have added more flexible
limits recently. I think the trend is in the opposite direction, with
better/more-complex protection becoming common.
| PMP in general seems
| like a bit of an afterthought that could have been more extensible so PMA
| didn't have to be a hand-wave of "implementation-specific".
PMP (dynamic software permissions) and PMA (static hardware abilities)
are very different things, and we purposefully separated them.
| I assume most high
| performance RV implementations will cache PMP and PMA in the TLB, but all in
| different ways, which seems unfortunate.
Why is it unfortunate to allow multiple caching strategies provided
they have the same behavior?
Krste
| On Friday, May 25, 2018 at 12:31:54 AM UTC-5, mjc wrote:
| BTW - I think QEMU’s software implementation requires an SFENCE.VMA as well
| as the recent granularity updates, as PMP is enforced at page size
| granularity and the entries are caches in the TLB with page size protection
| granularity. It would be too slow to check PMP in the softmmu load/store
| fast path.
| 7b322c96-f9ba-485a-b8de-0b92e6c41b12%
40groups.riscv.org.