Covers MFMMU and MTMMU for MMU MMUs (dsisr, dar), and DCBZ and TLBIE.
-Note: RB is *redirected* (in the decoder CSV files) to the field that
-happens, here, to be named "ra"! yes wonderfully confusing. similar
-thing goes on with shift_rot.
+Interestingly none of the MMU instructions use RA, they all use RB.
+except dcbz which uses (RA|0)
Links:
* https://bugs.libre-soc.org/show_bug.cgi?id=491
class MMUInputData(IntegerData):
regspec = [('INT', 'ra', '0:63'), # RA
+ ('INT', 'rb', '0:63'), # RB
('SPR', 'spr1', '0:63'), # MMU (slow)
- ('FAST', 'fast1', '0:63'), # MMU (fast: LR, CTR etc)
]
def __init__(self, pspec):
super().__init__(pspec, False)
# convenience
self.a = self.ra
+ self.b = self.rb
class MMUOutputData(IntegerData):
regspec = [('INT', 'o', '0:63'), # RT
('SPR', 'spr1', '0:63'), # MMU (slow)
- ('FAST', 'fast1', '0:63'), # MMU (fast: LR, CTR etc)
]
def __init__(self, pspec):
super().__init__(pspec, True)