大家好,armv8上面,我想开着mmu,但是虚拟地址和物理地址又是一样的,这个怎么样才能实现。
谢谢。
这个比较好实现,设置TLB描述表项的物理地址即可,具体方法如下:
以1MB一级页表为例,设:
unsigned int page_table[4096]={0}
unsigned int va=0xC000 0000 <---虚拟地址
unsigned int pa=0x4000 0000 <--物理地址
设置
page_table[va>>20].pa=pa & 0xfff0 0000
page_table[va>>20].pa表示对应表项的pa字段
表项的低20位为该TLB描述符属性,参照手册