Merge minhv handling from CV32E40S
Created by: silabs-oysteink
Note that the minhv handling (still) contains an error where a state change due to (mret->pointer_fetch->mcause.minhv) can be done even though the mret instruction is killed. A fix for this will be done separately.