Removed POINTER_FETCH state from controller_fsm
requested to merge github/fork/silabs-oysteink/silabs-oysteink_pointer-fetch-state-remove into master
Created by: silabs-oysteink
POINTER_FETCH fsm state replaced by a separate state flop. Controller stays in FUNCTIONAL while handling CLIC SHV interrupts.
Mret which restarts CLIC pointer fetch due to mcause.minhv and mcause.mpp will now get its 'last_op' bit set to 0 in the ID stage, and the following CLIC pointer will complete the sequence. CSR updates only happen when the pointer reaches WB.
NOT SEC clean
- Master has bugs (possible deadlock while single stepping mret with CLIC pointers, wrong pipeline stage used for excluding CLIC pointers from incrementing minstret).
- Minstret will now only update for mret when the CLIC pointer is done (or when the mret reaches WB if no CLIC pointer fetch is restarted)