From e33c30734b475879318b4f5c178a2f3bf2090bbb Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Wed, 16 Nov 2022 19:12:28 -0600 Subject: Implement bx lr --- rtl/core/decode/mux.sv | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'rtl/core/decode/mux.sv') diff --git a/rtl/core/decode/mux.sv b/rtl/core/decode/mux.sv index 51fe14b..3f613a4 100644 --- a/rtl/core/decode/mux.sv +++ b/rtl/core/decode/mux.sv @@ -216,6 +216,20 @@ module core_decode_mux /*`GROUP_SWP: ; `INSN_SWI: ;*/ + /* No es parte de ARMv4 pero U-Boot lo necesita. esto se + * decodifica igual que `mov pc, lr` ya que no tenemos Thumb. + */ + `INSN_BXLR: begin + dec_data.op = `ALU_MOV; + dec_data.rd = `R15; + dec_data.uses_rn = 0; + + dec_snd.r = `R14; + dec_snd.is_imm = 0; + + writeback = 1; + end + default: undefined = 1; endcase -- cgit v1.2.3