【发布时间】:2013-10-17 00:42:50
【问题描述】:
我有一个 Android 设备 - 内核版本为 2.6.35.14 (arm cortex a9) 的三星 Galaxy s2
我试图找到异常向量表的物理地址。我知道它位于 0xffff0000 虚拟地址。 (我可以通过内核模块打印它的值)
我也知道大部分内核虚拟地址(到物理地址)的转换是由值 0x8000000 的 substation 完成的。
我有一个可以直接从设备内存读取数据的设备,我想获取异常向量表。
当我构建内核模块并尝试使用宏 virt_to_phys(0xffff0000) 时,我得到了一些地址,但表不存在。我通过这种方式成功找到了系统调用表,但是这里的宏给了我错误的地址。
有人知道为什么会这样吗?异常向量表的地址是否位于特殊的物理地址中?内核是否以某种特殊方式转换其地址?
谢谢!!
【问题讨论】:
标签: android memory-management linux-kernel arm