本帖最后由 ymind 于 2013-3-17 08:55 编辑
<MMU初始化,在linux内核那部分进行的啊?找了半天,没找到!!!
arm的话,arch/arm/mm/proc-*.S
<还有就是虚拟地址与物理地址的映射是人为指定的,还是有MMU处理的啊?
页表在内存中人为建立,MMU处理。
<要是人为指定,那么在linux内核的那部分涉及到了??
内核空间的固定映射在arch/arm/kernel/head*.S;内核空间的vmalloc, kmap区域是动态建立的,分别用于driver, 大虚空间,high memory等;用户空间更是按需建立(paging system)。后两者要理解代码,需相应理论知识。
<还有就是要是访问arm处理器的寄存器,是不是也是通过MMU转换成物理地址去访问的啊??
cpu寄存器,协处理寄存器不需要,外设寄存器需要(当然是MMU使能的情况)。
|