I'll make the argument that the spec implicitly requires them to be canonical, because in the intro we say that a hart sees a full XLEN-bit address space, and in the priv spec we say that any address is either memory, I/O, or vacant. This definition doesn't appear to admit the possibility of unchecked address bits.With that said, I suppose it's legal in principle to say that you've chosen to alias the physical address space 2^(XLEN - implemented physical address bits) times, which is roughly equivalent to not checking the upper address bits.
--
You received this message because you are subscribed to the Google Groups "RISC-V ISA Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isa-dev+u...@groups.riscv.org.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/CAD%3DxdLhFq%2BGmJ54cpOMcHzLsYgXXxdw1h5tz2V2C9Zz7-1-35Q%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/CAF4tt%3DBK6oQsNW0ezd%3DGRLkVYBbqFuxOCbui_HLCSCX7bOD42A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "RISC-V ISA Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isa-dev+u...@groups.riscv.org.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/CAD%3DxdLhFq%2BGmJ54cpOMcHzLsYgXXxdw1h5tz2V2C9Zz7-1-35Q%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/CAEz%3DsonHmhQdEAgHk9MfRtY9wTAze4r7pgGdyqOSipKeBxe8qw%40mail.gmail.com.
So if one computes a 64-bit PA with bit 63 set, then it is up to a PMA or PMP check to flag this address as inaccessible in some manner. Typically, for "actual PA length"=N (<64), there would be an implicit or hardwired PMA that matches all computed PA's >= 2^N, treats that as a "vacant" region, and causes an Access Fault exception.
You should add no. 4 which is that read accesses for addresses
out side the implemented range return 0 and writes do nothing.
This is preferable to mirroring and aliasing different addresses
to the same physical location. This occurs often in peripherals
which have bits or words in their address space which are unused
or reserved for bigger versions of the same peripheral.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/f1e8e291-d8ae-40eb-8f17-434d87165644n%40groups.riscv.org.