[smc/hw] Save target PC during IRQ after iPTW -If an IRQ arrives in the middle of a boundary iPTW and is serviced after iPTW completion, ensure the target PC is saved if the IRQ requires another iPTW Bug: 296913208 Change-Id: I47431ba0a65db3f115bb2b84811b1bed004f0d4f
diff --git a/hw/top_matcha/ip/smc/rtl/smc_controller.sv b/hw/top_matcha/ip/smc/rtl/smc_controller.sv index fc4f76d..275ec8c 100644 --- a/hw/top_matcha/ip/smc/rtl/smc_controller.sv +++ b/hw/top_matcha/ip/smc/rtl/smc_controller.sv
@@ -762,11 +762,11 @@ exc_cause_o = ExcCauseIrqTimerS; end - if (ptw_spec_walk_i) begin + if (ptw_spec_walk_i | ptw_instr_walk_i) begin ptw_pc_change_instr_d = 1'b1; - ctrl_fsm_ns = PAGING_IF; ptw_exc_cause_d = exc_cause_o; ptw_exc_pc_mux_d = exc_pc_mux_o; + ptw_pc_mux_d = pc_mux_o; end end