On Thu, Dec 22, 2005 at 05:52:21PM -0200, Marcelo Tosatti wrote: > Hi, > > The last two 8MB TLB entries are being incorrectly set by initial_mmu on 8xx. > > The first entry is written with the same virtual/physical address, which > renders it invalid: > > BDI>rms 792 0x00001e00 > BDI>rms 824 1 > BDI>rds 824 > SPR 824 : 0xc08000c0 -1065353024 > BDI>rds 825 > SPR 825 : 0xc0800de0 -1065349664 > BDI>rds 826 > SPR 826 : 0x00000000 0 > > And the second entry, in addition, does not have its TLB index set > correctly. > > Dan, I'm afraid that, with this problem fixed, the issue you mentioned > before with relation to conflicts with the vmalloc space becomes real. > > * only pin available RAM at initial_mmu, the pinned mappings pointing > beyond the end of physical RAM cause conflicts with vmalloc() space. > > Is there any way to know the RAM size at this point in boot? The bd_t > structure is board-specific, so no chance at offseting bd_t to reach the > "mem_size" field.
None of this is necessary, we only need to define VMALLOC_START such that it won't conflict with pinned space, as the Book-E 44x port already does.