内核启动分析

内核启动分析

ID:39569579

大小:148.50 KB

页数:27页

时间:2019-07-06

内核启动分析_第1页
内核启动分析_第2页
内核启动分析_第3页
内核启动分析_第4页
内核启动分析_第5页
资源描述:

《内核启动分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ARM-Linux内核启动的分析1.介绍..........................................................................22.相关定义介绍..........................................................32.1.TEXTADDR......................................................32.2.stext.....................

2、...............................................32.3.swapper_pg_dir..................................................42.4.(M)pgtbl.............................................................42.5.(M)krnladr......................................................

3、....52.6..proc.info段.......................................................52.7.__proc_info_begin/__proc_info_end.................62.8..arch.info段.......................................................72.9.__arch_info_begin/__arch_info_end.................83.

4、代码分析..................................................................93.1.KERNELENTRY..............................................93.2.__arm920_setup...............................................113.3.__ret..................................................

5、...............133.4.__mmap_switched...........................................143.5.__lookup_processor_type................................163.6.__lookup_architecture_type.............................163.7.__create_page_tables................................

6、.......191.介绍这是一篇对armlinux内核启动的分析,主要是arch/arm/kernel/head-armv.S文件,head-armv.S文件是整个内核的入口,也就是说bootloader执行完毕后将跳转到head-armv.S的第一条指令,head-armv.S执行完后将跳转到start_kernel(),在head-armv.S的执行过程中也用到了其他一些文件,包括arch/arm/kernel/debug-armv.S、arch/arm/mm/proc-arm920.S等等由于此分析基于M

7、X1的内核启动过程,因此除了通用代码,只有定义在CONFIG_ARCH_MX1ADS下的代码和proc-arm920.S(arm920是MX1的CPU)的代码被分析在下面程序流程的说明中,MX1板子启动过程中的寄存器值将会用绿色字体表示出来,而对于专门针对MX1的代码则会用下划线字体表示2.相关定义介绍2.1.TEXTADDRTEXTADDR是内核Image的映像地址,也是内核Image所处的虚拟地址,它在系统内核空间起始地址——通常是0xC0000000(这相对应于物理内存开始的地方)+32K的位置,也就是0x

8、C0008000处TEXTADDR的赋值在arch/arm/Makefile文件中:(0xC0008000)ifeq($(CONFIG_CPU_32),y)PROCESSOR=armvTEXTADDR=0xC0008000LDSCRIPT=arch/arm/vmlinux-armv.lds.inendif在内核映像之前的16K空间用来存放内核的页目录表,这就是为什么TEX

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。