linuxdebuggingarmv6tlb

Setting breakpoint in TLB Access


Is there any possibility to set a breakpoint once a specific PID accessed a TLB entry(Translation Lookaside Buffer) in ARM v6, assuming that I know the PID.

Does TLB entries have specific address so I can set breakpoint for them?


Solution

  • It is going to be almost impossible to do it in user space as the kernel and hardware abstracts this from the user.

    The TLB is actually filled by the hardware when there is a virtual address lookup miss and is flushed out every time there is a context switch.

    The only way i can think of is to use some kprintf and fiddle with the memory management code in linux and this is not going to be straightforward to understand with kgdb.

    This stack overflow answer may help you ARM11 Translation Lookaside Buffer (TLB) usage?