Programming the MMU/TLBs

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

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 ...


"Jokes mentioning ducks were considered particularly funny." -

Site Timeline