linux 临时页表

40 篇文章 2 订阅

armv8 linux4.9

查看dma map前后mmu page table的变化的时候,有看到有的page table entry映射了2M的size,这个2M的entry是何时建立的,目的是什么是这边博客要弄清楚的问题。

arm64 定义页框大小的define位置如下,每一个页表项映射一个页框大小的范围,当前系统定义为4K

linux 内核空间的页表是在kernel 初始化时做的一一映射,swapper_pg_dir是一级页表的在内存中的位置,所有kernel space线程共享的,userspace 线程的pagetable是fork时从父进程继承过来的,不同进程区分的页表。

除此之外还有一个idmap_pg_dir (identical)为了打开mmu准备的va与pa相同的页表,当然这是来自之前对32bit的理解,64bit va不是32bit

 

lds 对两者的定义看,都是存放在bss 段,位置相临,二者的页表项的个数一样,PTRS_PER_PGD代表描述内核memeory空间需要的页表项个数,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shenhuxi_yu

感谢投币,继续输出

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值