QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1047|回复: 0

关于一个动态加载的内核模块所处地址的问题

[复制链接]
发表于 2006-7-21 12:00:03 | 显示全部楼层 |阅读模式
我的是EP9315A的扳子,内核2.6.8.1
动态加载了一个驱动模块,用LSMOD查看,发现最后一行有如下字样:
Live-0xbf000000

是不是表示这个模块所处的起始地址在0XBF000000?
如果是这样的话(实际上,我打印了部分变量和函数的地址,确实在这个地址之后),那就与我内核的起始逻辑地址(0xc0000000) 不符合了。

扳子的物理地址起始于0xc0000000,既与PAGE_OFFSET相同,这样内核逻辑地址与物理地址实际上是一样的。

这个模块刚开始的时候运行还算正常,但有时会导致PANIC。
在加了一个大的数组后,一运行就PANIC。
因为这个数组的地址在0xbf000xxxx,但转化成物理地址后也是0xbf000xxx.显然是错误的。

为什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 14:34 , Processed in 0.042057 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表