quihaitang 发表于 2009-8-4 10:35:35

最新版本的一个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 编辑 ]

knpingan 发表于 2009-8-20 17:17:28

很好的一个发现。
牛人。:)
页: [1]
查看完整版本: 最新版本的一个Bug!!!