2008年9月26日星期五

ARM Linux kernel2.6静态memory mapping

基于ARM的SOC,很多设备寄存器的访问是需要直接静态映射的。而这部分工作一般都是在体系结构初始化时,调用iotable_init()完成。
它的其中一个参数是:
struct map_desc {
unsigned long virtual;
unsigned long pfn;
unsigned long length;
unsigned int type;
};
virtual就是想要映射的虚拟地址,pfn是物理地址,我要强调的是它不是point function,而是Page Frame Number,因此这个物理地址要切换成成页号。

1 条评论:

Unknown 说...

谢谢。
我想你是最能说明一些我难以理解的问题的人,
加油~