简单的谈谈关于Linux的mem arch
首先想到的是linux的mem map
3g + 1g
简单的画下
0~0x1000 4k boot secure code: nullpointer affairs
0x1000 ~ 3g user space
3g-16M ~ 3g module load mem space
3g ~ 3g+896M physical mem: direct map
vm_start ~ vm_end for vmalloc use
later protect space
other, 最后一个page是用来放错误码的
一般的arm core会有几个mem port, 如d-cache, i-cache, dma等等
cache出来的va,要过mmu产生pa, mmu里面有tlb, tlb会辅助管理权限等。这里面牵涉到一些VPVT 和VPPT的问题。TLB实际上就会给出
有点乱,PGD, PMD, PTE,
context switch, tlb flush back
thread user space, master pte, corse pte, update
ttb, asid
回头再整
download时候uboot用的是Phyaddr,没有mmu作用? really ?
在内核的拷贝什么的就是用vaddr, 如果想dump出来所有的东西,就是从PAGE_OFFSET来dump ?