# ... however we *do* need to *write* MSR, NIA, SVSTATE (RFID)
('STATE', 'nia', '0:63'), # NIA (Next PC)
('STATE', 'msr', '0:63'), # MSR
- ('STATE', 'svstate', '0:31')] # SVSTATE
+ ('STATE', 'svstate', '0:63')] # SVSTATE
def __init__(self, pspec):
super().__init__(pspec, True)
# convenience
('insn', 32),
('msr', 64), # from core.state
('cia', 64), # likewise
- ('svstate', 32), # likewise
+ ('svstate', 64), # likewise
('is_32bit', 1),
('traptype', TT.size), # see trap main_stage.py, PowerDecoder2
('trapaddr', 13),
# instruction go/monitor
self.pc_o = Signal(64, reset_less=True)
self.pc_i = Data(64, "pc_i") # set "ok" to indicate "please change me"
- self.svstate_i = Data(32, "svstate_i") # ditto
+ self.svstate_i = Data(64, "svstate_i") # ditto
self.core_bigendian_i = Signal() # TODO: set based on MSR.LE
self.busy_o = Signal(reset_less=True)
self.memerr_o = Signal(reset_less=True)
m = Module()
comb = m.d.comb
pc_i = Signal(32)
- svstate_i = Signal(32)
+ svstate_i = Signal(64)
if self.microwatt_mmu:
ldst_ifacetype = 'test_mmu_cache_wb'