问题描述:
从日志看出,dom0运行android_kernel,刚开始运行就会crash,引发panic
解决及其原因分析:
最终问题得到解决,发现是前期在调试汇编阶段代码时,增加了汇编打印的指令,注释掉这些指令,问题得到解决。至少为什么导致这个现象,还未分析出来,通过日志,结合内核的源码有一个猜测,在setup_arch中的local_daif_restore的函数功能中有打开某个中断的动作,有可能是在汇编阶段写入的地址产生了中断了,但是此时中断并未打开,被屏蔽了,中断并未相应,后续内核执行到内核的c阶段把中断又打开了 ,这时候就开始响应中断,所以在c阶段引发kernel的panic了,而不是在汇编阶段就crash。