winIDEA supports since build 9.11.63 MPC5xxx TLB (Translation Lookaside Buffer) write access. TLB entries can now be written via MemoryWrite functions (included in isystem.connect API set).
To access a specific TLB entry, the access address encodes the TLB index in bits 16-31 and the MAS register (MMU Assist Registers) in bits 0-15.
The TLB manipulation functions are provided via isystem.connect's CMPC5xxxController class.
Example:
import isystem.connect as ic
cmgr = ic.ConnectionMgr()
cmgr.connectMRU('')
# get MPC5xxx controller
MPCCtrl = ic.CMPC5xxxController(cmgr)
# get TLB 3
TLB = MPCCtrl.getTLB(3)
# change RPN to 0x40800000 physical
TLB.m_dwMAS3 = 0x40800000 | (TLB.m_dwMAS3 & 0xFFF)
# set TLB 3
MPCCtrl.setTLB(3, TLB)
Comments