Linux内核静态映射表建立过程分析
来源:互联网 发布:淘宝详情页模版 编辑:程序博客网 时间:2024/05/22 10:31
Linux内核静态映射表建立过程分析
分析的源码:九鼎为s5pv210移植过的
linux+qt4.8
的kernel,内核版本号2.6.35
建立映射表的三个关键部分:
- 映射表
- 映射表建立函数
- 映射表建立函数被调用
1. 映射表
具体物理地址和虚拟地址的值相关的宏定义,也就是文章《随笔–Linux字符设备驱动开发基础》中静态映射操作LED一节提到的静态映射表。实际工作中我们也只要明白静态映射表的意义就可以编写相关的代码
2. 映射表建立函数
该函数负责由(1)中的映射表来建立MMU所能识别的页表映射关系。
在kernel/arch/arm/mach-s5pv210/mach-smdkc110.c中的smdkc110_map_io函数:
结论:经过分析,真正的内核移植时给定的静态映射表在arch/arm/plat-s5p/cpu.c
中的s5p_iodesc
,本质是一个结构体数组,数组中每一个元素就是一个映射,这个映射描述了一段物理地址到虚拟地址之间的映射。这个结构体数组所记录的几个映射关系被iotable_init
所使用,该函数负责将这个结构体数组格式的表建立成MMU所能识别的页表映射关系,这样在开机后可以直接使用相对应的虚拟地址来访问对应的物理地址。
3.映射表建立函数被调用
开机时(kernel启动时)
smdkc110_map_io
怎么被调用的?
0 0
- Linux内核静态映射表建立过程分析
- 静态映射表的建立过程
- linux 内核动态映射与静态映射
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- ARM Linux静态映射分析
- php面向对象视频笔记之第五章(错误和异常处理)
- openjudge1.10简单排序
- PAT---A1077. Kuchiguse (20)
- MFC任务栏和状态栏快速开发
- Qt5.0中lineEdit的输入输出
- Linux内核静态映射表建立过程分析
- 基于Xbian的树莓派电视盒子
- MFC设置窗体透明
- python学习笔记(一)基础语法 — 参考创客智造
- MFC指定对话框大小
- 有关shared_ptr的使用总结
- mysql的事务隔离级别
- MFC设置注册表中服务器信息
- 关于自定义view中处理事件的探索(一)