[EMAIL PROTECTED] wrote:
> Hi all, We are in the process of Porting X86 Flash Player Code to DaVinci
> ARM. We build the source with modifications in Makefile and by reducing
> optimization level from O3 to O2 (since we got internal compiler error when
> building with O3).
> 
> Before running the swf files with the built application, we execute startx &
> and export DISPALY=0:0 When we run the swf file with compiled application,
> the player closes immediately giving following error
> 
> Alignment trap: standalone-640- (1357) PC=0x00094ab8 Instr=0xe5810000
> Address=0x40e22532 FSR 0x813 Bus error
> 
> After i executed the instruction echo 2  > /proc/cpu/alignment to hide the
> alignment trap then i run the same application. I could able to run the .swf
> files but its too slow. performance is very bad. At the end of running the
> .swf file, Segmentation fault is displayed on the console.
> 
> I saw the number of alignment traps as follows.
> 
> [EMAIL PROTECTED]:/workdir/tmp# more  /proc/cpu/alignment
>  User:           28018915 System:         0 Skipped:        0 Half:
> 0 Word:           28018914 DWord:          0 Multi:          0 User faults:
> 2 (fixup)
> 
> There are millions alignment traps we can see.
> 
> Please suggest how to solve Alignment Trap Problem? and  How to improve the
> performance?


1) use an X86 compatible CPU

2) go through your source code and find all places where the codes assumes that
it can access 16 and 32 bit words on 8 bit aligned addresses and fix them. The
X86 allows for unaligned access but an ARM does not and therefore traps - the
kernel can catch this exception and patch this manually but of course it is
really slow.

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to