Hi all,
I'm running Linux on a small embedded MIPS (5kc) based board, basically resembling a Malta with one or two things added. If you're familiar with the MIPS architecture, out of the box it can only address the first
512MB of physical memory. If you need to address memory beyond that, you need to program the TLBs.So, I have an application where I need to access an address outside of the standard MIPS unmapped 512MB limit. Is there a standard way within Linux to handle issues such as TLB programming ? I'm hoping there's something like
add_tlb_mapping(physaddr, virtaddr)
but I guess that would be too easy :)
Also, how can I ensure that the mapping for the region of memory I need to access remains current permanently, after the kernel boots ? I know that process switches and other MMU type operations cause the TLBs to be flushed. Does Linux maintain a table somewhere of memory regions which are "permanently" mapped by the MMU ?
If there's a FAQ or other documentation on this issue I'd happily be directed that way ...
Cheers in advance ...