这两天在跑 KS8695 开发板,移植 u-boot 还算顺利,将内存分布弄弄清楚就完成了。
标准内核已经包括了 KS8695 的支持,原本想也不需要花时间,直接编译就能跑,果然能跑,可是跑起来就死了。
后来通过 jtag 调试,知道死在了 synchronize_irq() 里,再查原因,是 serial_ks8695.c 里面的中断处理函数里面调用了 disable_irq() -> synchronize_irq(),这个在 kernel cn maillist 里面和人讨论过,问题也就是这。
修改
disable_irq() to disable_irq_nosync()
生成 patch
提交到ARM patch system
下午不知道怎么,发现这个 patch 已经有人提交了。。。我晕!~白高兴一场,以为发现什么新东西,这可是我第一个patch!~
要纪念下,虽然失败了。