On 8/3/20 7:01 AM, Jonathan Behrens wrote:
>For RV32, values with satp clear and satp[30:0] non-zero are reserved. I propose that values with satp clear and satp[30:29]=0x3 be defined as Custom.
Are 7 bits enough , for ASID?
It depends on how you are using them. For x86-64, Linux actually only uses 4 ASID bits (out of the 12 available) because it assigns them per-core and recycles them aggressively. However, if you instead try to have globally unique ASIDs then you might need
far more than 7 bits.
Agreed, but the proposal doesn't assume that a custom implementation will use the bits of satp in the same way the priv spec uses them. The bits may well be used in a different fashion.
Of course, as with instruction opcodes, an implementation is free also to used reserved encodings if the implementers are willing to have a possible conflict with future standard extensions.