AnsweredAssumed Answered

MMU TLB Initialization

Question asked by Frank Dischner on Oct 21, 2015
Latest reply on Oct 28, 2015 by Frank Dischner



Is there any documentation about the 128-bit values used to initialize the TLB entries within the tcl scripts? I mean the lines that look like this:


# define   1GB TLB entry  7: 0x00000000 - 0x3FFFFFFF for DDR cacheable

    reg ${CAM_GROUP}L2MMU_CAM7 = 0xA00000061C0800000000000000000001


I haven't found anything in the reference manuals that match these values, but it's possible that I'm not looking in the right place.


This is what I've been able to deduce so far, but I'm not sure it's correct:


First word: Some size value in the upper bits, WIMGE in the lower bits

Second word: No idea, seems to always be 1C080000

Third word: Start address

Fourth word: Same as third word, but with lowest bit set (no idea what that bit signifies)


What I'm most interested in are the WIMGE bits. Judging by the values and comments in the default scripts, it seems that these are mapped directly to the lowest bits in the first word. So in the example above, the value of 6 means that the M and G bits are set and a value of E would mean bits I, M and G are set. Is that correct? If so, is there a reason that the DRAM is marked as guarded by default?