whoops, use MSR.IR for I-Cache fetch!
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 22 Dec 2021 02:44:57 +0000 (02:44 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 22 Dec 2021 02:44:57 +0000 (02:44 +0000)
virtual memory instruction fetch uses MSR.IR not MSR.DR

src/soc/simple/issuer.py

index ffb7dc9710a21152e88f7d0c98113b4929b44933..ab414f520d8285a06c0bfe34a84b688afc2aaa5a 100644 (file)
@@ -713,7 +713,7 @@ class FetchFSM(ControlBase):
         # set priv / virt mode on I-Cache, sigh
         if isinstance(self.imem, ICache):
             comb += self.imem.i_in.priv_mode.eq(~msr[MSR.PR])
-            comb += self.imem.i_in.virt_mode.eq(msr[MSR.DR])
+            comb += self.imem.i_in.virt_mode.eq(msr[MSR.IR]) # Instr. Redir (VM)
 
         with m.FSM(name='fetch_fsm'):