[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
