misa.T bit = Ztso?


Andrew Waterman
 

A while back, it was proposed that the Ztso extension (which strengthens the memory model to RVTSO instead of RVWMO) be discoverable via the misa.T bit.  The T bit had been tentatively reserved for a transactional memory extension, but there has been no progress on that front, and there probably won't be for a while.

If we were to repurpose misa.T for Ztso, then we would (for now) require that misa.T not be writable, and that all harts hardwire misa.T to the same value.  This allows us to avoid specifying what it means to have RVTSO and RVWMO harts interacting with each other.  In the future, we could consider revising the spec to allow the bit to be writable.

The alternative is to make Ztso discoverable through some other mechanism (i.e. config string).

I have a slight preference for using misa.T for this purpose, because it'll make it easier to support dynamically switching the memory model, should we ever choose to allow that.  What do y'all think?

Andrew


Andrew Waterman
 


On Mon, Dec 30, 2019 at 1:05 PM Andrew Waterman <andrew@...> wrote:
A while back, it was proposed that the Ztso extension (which strengthens the memory model to RVTSO instead of RVWMO) be discoverable via the misa.T bit.  The T bit had been tentatively reserved for a transactional memory extension, but there has been no progress on that front, and there probably won't be for a while.

If we were to repurpose misa.T for Ztso, then we would (for now) require that misa.T not be writable, and that all harts hardwire misa.T to the same value.  This allows us to avoid specifying what it means to have RVTSO and RVWMO harts interacting with each other.  In the future, we could consider revising the spec to allow the bit to be writable.

The alternative is to make Ztso discoverable through some other mechanism (i.e. config string).

I have a slight preference for using misa.T for this purpose, because it'll make it easier to support dynamically switching the memory model, should we ever choose to allow that.  What do y'all think?

Andrew