From: lkcl Date: Sun, 23 Jun 2019 18:56:21 +0000 (+0100) Subject: (no commit message) X-Git-Tag: convert-csv-opcode-to-binary~4517 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d2e84646fc209aafa85fd682a2b9e9f100e20e50;p=libreriscv.git --- diff --git a/simple_v_extension/specification.mdwn b/simple_v_extension/specification.mdwn index 6ad8f0a8f..d403cf02b 100644 --- a/simple_v_extension/specification.mdwn +++ b/simple_v_extension/specification.mdwn @@ -133,6 +133,8 @@ Thus for example, a User Mode trap will end up swapping STATE and ueSTATE (on bo Likewise, Supervisor Mode may perform context-switches, safe in the knowledge that its Vectorisation State is unaffected by User Mode. +For this to work, the (x)eSTATE CSR must be saved onto the stack by the trap, just like (x)epc, before modifying the trap atomicity flag (x)ie. + The access pattern for these groups of CSRs in each mode follows the same pattern for other CSRs that have M-Mode and S-Mode "mirrors":