From: Luke Kenneth Casson Leighton Date: Sun, 12 Dec 2021 18:56:48 +0000 (+0000) Subject: copy over fake OP_FETCH_FAILED and instruction on instr_fault X-Git-Tag: sv_maxu_works-initial~634 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b1b11869265f13fbdc6fbaac0a521b1e7dae04a8;p=openpower-isa.git copy over fake OP_FETCH_FAILED and instruction on instr_fault --- diff --git a/src/openpower/decoder/power_decoder2.py b/src/openpower/decoder/power_decoder2.py index 271fb971..3517dafa 100644 --- a/src/openpower/decoder/power_decoder2.py +++ b/src/openpower/decoder/power_decoder2.py @@ -1509,9 +1509,12 @@ class PowerDecode2(PowerDecodeSubset): # absolute top priority: check for an instruction failed with m.If(self.instr_fault): comb += self.e.eq(0) # reset eeeeeverything + comb += self.do_copy("insn", self.dec.opcode_in, True) comb += self.do_copy("insn_type", MicrOp.OP_FETCH_FAILED, True) comb += self.do_copy("fn_unit", Function.MMU, True) comb += self.do_copy("nia", self.state.pc, True) # PC + # special override on internal_op, due to being a "fake" op + comb += self.dec.op.internal_op.eq(MicrOp.OP_FETCH_FAILED) # LD/ST exceptions. TestIssuer copies the exception info at us # after a failed LD/ST.