liaojiawei666

Results 2 comments of liaojiawei666

请问一下如何建立“恒等”映射啊?比如如何使用虚拟地址0x80400000访问物理地址0x80400000啊,虚拟地址应该要经过三次页表项的访问才能拿到物理地址,但是页表项本身又怎么建立起来的呢,如何在虚拟地址寻址的情况下,维护页表本身啊

> 请问一下如何建立“恒等”映射啊?比如如何使用虚拟地址0x80400000访问物理地址0x80400000啊,虚拟地址应该要经过三次页表项的访问才能拿到物理地址,但是页表项本身又怎么建立起来的呢,如何在虚拟地址寻址的情况下,维护页表本身啊 经过分析大概明白了,感觉这块还是比较复杂的,它是在物理寻址的时候建立“恒等”映射,而不是开启虚拟地址寻址后再建立“恒等”映射,在物理寻址期间,会根据MapArea的映射需求建立一个三级页表,页表本身存放到ekernel~MEMORY_END之间,核心是:比如要建立地址ppn的恒等映射,它会先把ppn按照虚拟地址的格式解析,按照类似字典树的方式建立一个三级页表,并在最后一级页表(叶节点)的页表项的物理地址字段写入ppn,即写入本次寻址的地址本身,这样就建立好了一个“恒等”映射。