在 TLB 访问中设置断点
Setting breakpoint in TLB Access
假设我知道 PID,是否有可能在特定 PID 访问 ARM v6 中的 TLB 条目(翻译后备缓冲区)后设置断点。
TLB 条目是否有特定地址以便我可以为它们设置断点?
在用户 space 中几乎不可能做到这一点,因为内核和硬件从用户那里抽象出来。
当存在虚拟地址查找未命中时,TLB 实际上由硬件填充,并在每次上下文切换时被刷新。
我能想到的唯一方法是使用一些 kprintf 和 fiddle 以及 linux 中的内存管理代码,这对于 kgdb 来说不是很容易理解。
这个堆栈溢出答案可能对您有所帮助ARM11 Translation Lookaside Buffer (TLB) usage?
假设我知道 PID,是否有可能在特定 PID 访问 ARM v6 中的 TLB 条目(翻译后备缓冲区)后设置断点。
TLB 条目是否有特定地址以便我可以为它们设置断点?
在用户 space 中几乎不可能做到这一点,因为内核和硬件从用户那里抽象出来。
当存在虚拟地址查找未命中时,TLB 实际上由硬件填充,并在每次上下文切换时被刷新。
我能想到的唯一方法是使用一些 kprintf 和 fiddle 以及 linux 中的内存管理代码,这对于 kgdb 来说不是很容易理解。
这个堆栈溢出答案可能对您有所帮助ARM11 Translation Lookaside Buffer (TLB) usage?