ARM linux中的MMU出错 CP15的C5要命啊

[复制链接]
2988|0
 楼主| 有意思 发表于 2009-9-9 08:51 | 显示全部楼层 |阅读模式
HiDear all
我在使用Hms30c7202过程中遇到一个难题,我使用的内核是2.6.13.4,大多数能够正常启动运行,个别出现不能启动情况。打印DEBUG信息,非正常设备启动失败,打印:
Kernel panic - not syncing: No init found.
Try passing init= option to kernel.
linux系统启动过程进行跟踪,执行流程如下:系统各项初始化完毕è挂载文件系统è启动init程序(busybox);在启动init程序过程中,会有对内存的操作,进一步跟踪到__arch_clear_user函数;系统在执行 strplt r2, [r0], #4指令时发生异常,进入异常处理。进入异常后,在CP15C5中,正常设备的值为0x1A000005,非正常设备设备该值为0x1A00000D。根据PSR状态,正常设备发生的是缺页异常(section translation fault),随后进入缺页异常处理流程;而非正常设备发生的访问允许异常(section permission fault)。随后进入访问允许异常处理流程。
正常设备与非正常的程序一样,不知道问题出在哪个位置,是硬件问题还是软件问题?是否有人遇到过类似情况?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

79

主题

331

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部