最新版本的一个Bug!!!
arm920t_mmu_read 这个函数 其中代码if (MMU_Disabled)
{
//*data = mem_read_word(state, va);
if (datatype == ARM_BYTE_TYPE)
//*data = mem_read_byte (state, va);
bus_read (8, va, data);
else if (datatype == ARM_HALFWORD_TYPE)
//*data = mem_read_halfword (state, va);
bus_read (16, va, data);
else if (datatype == ARM_WORD_TYPE)
//*data = mem_read_word (state, va);
bus_read (32, va, data);
else
{
printf ("SKYEYE:1 arm920t_mmu_read error: unknown data type %d\n", datatype);
skyeye_exit (-1);
}
//这里直接返回了,会导至datatype == ARM_BYTE_TYPE||ARM_HALFWORD_TYPE 情况下,读入CPU 寄存器的 BYTE 或 Half work 高位没有机会清0.
return 0;
}
[ 本帖最后由 quihaitang 于 2009-8-6 11:23 编辑 ] 很好的一个发现。
牛人。:)
页:
[1]