长话短说:我想获得指向当前流程的MIPS第一级翻译表的指针。
在x86上我从CR3获得它。在ARM上,我使用TTBR来实现此目的。如何在MIPS上执行此操作(不访问当前task_struct->mm->pgd
)?
以下是我需要它的原因。
我必须获得有关在QEMU系统仿真器中运行的Linux中当前进程的一些信息。我的代码作为QEMU的一部分在主机上运行。让我们假设我知道来宾内核结构中的所有相关偏移量。
当guest虚拟机处于内核模式时(如果它不是内核线程),可以通过位于内核堆栈上的task_struct
直接获取当前thread_info
。
但是,当guest虚拟机处于用户模式时,我必须遍历task_struct
列表,将每个task->mm->pgd
(实际上是相应的物理地址)与当前转换进行比较表指针。后者是我正在寻找的。 p>