mirror of
https://github.com/openhwgroup/cva6.git
synced 2025-04-20 04:07:36 -04:00
fix(ptw): do not throw an execption on G-intermediate translation of instr
This commit is contained in:
parent
9c100098ba
commit
539fd23573
1 changed files with 2 additions and 1 deletions
|
@ -452,7 +452,8 @@ module cva6_ptw
|
|||
// If page is not executable, we can directly raise an error. This
|
||||
// doesn't put a useless entry into the TLB. The same idea applies
|
||||
// to the access flag since we let the access flag be managed by SW.
|
||||
if (!pte.x || !pte.a) begin
|
||||
if ((!pte.x && (!CVA6Cfg.RVH || ptw_stage_q != G_INTERMED_STAGE)) || !pte.a
|
||||
|| (CVA6Cfg.RVH && ptw_stage_q == G_INTERMED_STAGE && !pte.r)) begin
|
||||
state_d = PROPAGATE_ERROR;
|
||||
if (CVA6Cfg.RVH) ptw_stage_d = ptw_stage_q;
|
||||
end else if ((CVA6Cfg.RVH && ((ptw_stage_q == G_FINAL_STAGE) || !enable_g_translation_i)) || !CVA6Cfg.RVH)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue