Closed nick-knight closed 2 years ago
Hi @nick-knight , I just noticed that this pull request should be filed against the freedom-e-sdk-private project instead. Could you move it there? Can discuss further on Slack to describe what changed here. Thanks :-)
This PR attempts to resolve #429 by the techniques described therein:
__riscv_vector
macro;My implementation does introduce a subtle change in the semantics. Previously, if I'm understanding it correctly, this code implemented the following state transition of mstatus.VS (when misa.V was set):
Now, this code unconditionally sets mstatus.VS to Dirty.
I'm not sure I understand the previous Freedom-Metal behavior (nor the similar behavior of mstatus.FS). I feel like it would be most sensible to set these bits to Initial. Perhaps the assumption is that these bits are guaranteed to be Off at this point in execution, so they will always transition to Initial? I welcome the Freedom Metal developers to clarify their intention, and take over this PR.