From b1b11869265f13fbdc6fbaac0a521b1e7dae04a8 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Sun, 12 Dec 2021 18:56:48 +0000 Subject: [PATCH] copy over fake OP_FETCH_FAILED and instruction on instr_fault --- src/openpower/decoder/power_decoder2.py | 3 +++ 1 file changed, 3 insertions(+) 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. -- 2.30.2