[Skyeye-developer] Alignment fault for Thumb instructions if
MMU enabled for ARM926EJ-S
Smirnov Dmitry
Dmitry.Smirnov at tlmcom.ru
Tue Aug 28 20:50:33 CST 2007
>Date: Tue, 28 Aug 2007 11:16:40 +0800
>From: Michael.Kang <blackfin.kang at gmail.com>
>
> Could you give us a case for this bug so that other guys can
>reproduce and confirm this bug?
The case is simple:
While MMU is enabled ('MMU_Enabled' is evaluated to true), code is
branching from ARM to THUMB.
In my case, first THUMB instruction after branching is located at
word-aligned address and is decoded correctly.
Second one is located at even address (+2 bytes after branching).
This causes arm926ejs_mmu_load_instr() to return ALIGNMENT_FAULT.
The call to decode the second instruction is made from ARMul_Emulate32
(line 464):
decoded =
ARMul_LoadInstrS (state, pc + (isize),
isize);
That's it. I'm afraid I cannot share the binary I have (it is large and
is not open-source) but perhaps it is not hard to create some simple
assembler code to test this case.
BTW,
Dmitry
More information about the Skyeye-developer
mailing list