-- redirect from execution unit
e_in : in Execute1ToFetch1Type;
+ -- redirect from decode1
+ d_in : in Decode1ToFetch1Type;
+
-- Request to icache
i_out : out Fetch1ToIcacheType;
report "fetch1 rst:" & std_ulogic'image(rst) &
" IR:" & std_ulogic'image(e_in.virt_mode) &
" P:" & std_ulogic'image(e_in.priv_mode) &
- " R:" & std_ulogic'image(e_in.redirect) &
+ " R:" & std_ulogic'image(e_in.redirect) & std_ulogic'image(d_in.redirect) &
" S:" & std_ulogic'image(stall_in) &
" T:" & std_ulogic'image(stop_in) &
" nia:" & to_hstring(r_next.nia) &
v.nia := e_in.redirect_nia;
v.virt_mode := e_in.virt_mode;
v.priv_mode := e_in.priv_mode;
+ elsif d_in.redirect = '1' then
+ v.nia := d_in.redirect_nia;
elsif stall_in = '0' then
-- For debug stop/step to work properly we need a little bit of