
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
一个人勃一次不难,难的是勃一辈子……最近分心的事很多,勃得越来越少了! 打开mmu是一件神圣的工作,需要仔细、再仔细…… 从__v7_setup函数返回来,进入到__enable_mmu过程,做起飞前的最后确认: __enable_mmu:#ifdef CONFIG_ALIGNMENT_TRAPorr r0, r0, #CR_A#elsebic r
Linux内核的ARM内存管理是一个难啃的骨头,之所以要开始啃它,是因为我所能见到的文章,无不是为X86体系所写,与其等待关于ARM的文章出炉,不如自己动手,看能否丰衣足食。 这个骨头是如此的难啃,以至于我只是将这块骨头捡起来翻看了一下,就发现无从下嘴,而必须要首先研究透彻DDI0304和DDI0406这两篇文档中关于MMU的内容,才能知道这块骨头上,肉在哪里…… 这个骨头是如此的
arch/arm/kernel/head.S该文件末尾包含了语句:#include "head-common.S",__lookup_processor_type函数在arch/arm/kernel/head-common.S中定义。关键数据结构:struct proc_info_list,在arch/arm/include/asm/procinfo.h文件中定义,Cortex对此数据结构
有许多事,需要回到u-boot才能说清楚…… include/configs/XXXX.h中(XXXX视具体平台而定),一般会作类似如下定义: #define CONFIG_BOOTCOMMAND "mmcinit; fatload mmc 0 0x81c00000 uImage; bootm 0x81c00000" 编译时该宏CONFIG_BOOTCOMMAND传递
__lookup_processor_type函数: __lookup_processor_type: ARM( adr r3, 3f ) ARM( ldmda r3, {r5 - r7} ) THUMB( adr r3, 3f+4 ) THUMB( ldmdb r3, {r5 - r7} ) THUMB( sub r3, r3, #4 )sub r3, r3
欢迎回到Kernel中……(看了2.6.29内核,做了些修订,关于it指令的) 继续说__vet_atags函数,这个函数仍旧定义在arch/arm/kernel/head-common.s文件中: /* Determine validity of the r2 atags pointer. The heuristic requires * that the point







