蜗窝科技

【微信群技术讨论】Linux armv7的mmu到底有沒有使用ttbr1

蜗窝讨论区存档 · Linux kernel技术问答 · 楼主 linuxer · 2017-07-20 · 1 帖

本文是原「蜗窝讨论区」的历史存档(2017-07-20),来自版块「Linux kernel技术问答」,共 1 帖。讨论区已停止服务,此处仅供查阅。

linuxer · 2017-07-20 11:38

請問各位大俠,Linux armv7的mmu到底有沒有使用ttbr1 ?,看了資料跟代碼還是搞的好糊塗。

讨论的结果: 1、 ARMv6之前,毫无疑问,各个进程只有一个ttbr 2、 ARMv7分成两种情况,一种是没有开LPAE的,这时候,Linux系统行为跟随ARMv6之前:TTBR1没有使用,各个进程有自己的进程空间,pgd指针保存在各自task struct的pgd成员中,当进程切换的时候用自己的pgd来恢复ttbr0。还有一种情况是打开了LPAE,这时候Linux内核支持两个TTBR寄存器:其中TTBR1固定指向内核空间,而TTBR0指向各自的userspace。