2011年3月14日 星期一

Top Swap Issue

Platform: Pine Trail
Fail Symptom; Can't boot and Post Code is 0xFF; after reset RTC, it can boot normally.
Root Cause: Top Swap bit is set unexpected.
最近有個Pine Trail機種 發生了無法開機,Post code是0xFF,而用示波器量 LFrame#,卻沒有 assert,在沒有頭緒的情況下,重新翻閱了Tiger Point 的EDS,發現有可以跟Top Swap Bit也許有關,所以將calpella的Top Swap Solution導入,試看看,結果bingo,就可以開機了。分析Top Swap Solution,就是在0xFFFEFFF0h 放jmp 指令,跳到去做清Top Swap Bit的動作,之後做reboot. CPU 在Power On之後hardward Reset完成之後,會Fetch code from 0xFFFFFFF0h,而當tiger point的Top Swap被設起來,Tiger Point會將0xFFFFFFF0h轉到0xFFFEFFF0h,而導致無法Fetch到正常的boot code.