[Skyeye-developer] Alignment fault for Thumb instructions if MMU enabled for ARM926EJ-S

Smirnov Dmitry Dmitry.Smirnov at tlmcom.ru
Mon Aug 27 17:38:15 CST 2007


Hi,

 

I've encountered the following problem while running the ARM926EJ-S
image in simulator.

 

When MMU is enabled, arm926ejs_mmu_load_instr() causes alignment fault
emulation (at line 153 for skyeye 1.2.3) if instruction is located at
halfword boundary.

This happens in Thumb mode and I believe this is a bug (since thumb
instructions are 2byte length).

 

I've inserted the following code at line 151 (replace the original
line):

 

                        if( state->TFlag )

                        {

                                   if( (va & 0x01 ) && MMU_Aligned )

                                   {

                                               // Odd addresses are not
allowed

                                               d_msg ("align\n");

                                               return ALIGNMENT_FAULT;

                                   }

                        }

                        else if ((va & (WORD_SIZE - 1)) && MMU_Aligned)
{

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.gro.clinux.org/pipermail/skyeye-developer/attachments/20070827/322f8b19/attachment.htm


More information about the Skyeye-developer mailing list