diff --git a/common.vhdl b/common.vhdl index f80593b..d376ac3 100644 --- a/common.vhdl +++ b/common.vhdl @@ -27,6 +27,7 @@ package common is constant SPR_DSISR : spr_num_t := 18; constant SPR_DAR : spr_num_t := 19; constant SPR_TB : spr_num_t := 268; + constant SPR_TBU : spr_num_t := 269; constant SPR_DEC : spr_num_t := 22; constant SPR_SRR0 : spr_num_t := 26; constant SPR_SRR1 : spr_num_t := 27; diff --git a/execute1.vhdl b/execute1.vhdl index 902af70..c585f78 100644 --- a/execute1.vhdl +++ b/execute1.vhdl @@ -752,6 +752,9 @@ begin case decode_spr_num(e_in.insn) is when SPR_TB => spr_val := ctrl.tb; + when SPR_TBU => + spr_val(63 downto 32) := (others => '0'); + spr_val(31 downto 0) := ctrl.tb(63 downto 32); when SPR_DEC => spr_val := ctrl.dec; when 724 => -- LOG_ADDR SPR