Dr. H. Nikolaus Schaller schrieb: > Hi all, > just an intermediate information to everyone (who does not yet know): > > * Nils has tracked down the illegal instruction problem a little more > but no solution is found yet > - it looks as if it disappears when a kernel without caching is used > (horribly slow) > - it appears to be always end in the 'unaligned access' handler in the
Or to be more exact the fault toggles a coprocessor 1 (CP1) exception which is used by many parts, like unaligned handling, FPU emulation and several other things - also of course the real illegal instruction. > kernel (which means fetching data or instructions from an unaligned > address) > - it is not an illegal instruction in the executing (user space) code > (which could come from a broken glibc) Right. Also if there would be random data in the cache that is executed I would also expect random faults - illegal instructions, segfaults, etc. but not *only* this illegal instruction fault with always the same pathology. > - it does not appear always at the same location ... of the running application. > - it is difficult to reproduce when running in gdb (but it also shows up) Right. And the GDB result is inconclusive. > - so this all indicates a real kernel synchronization issue > > * Nils has started a discussion on the mips developer list: > > http://www.nabble.com/Ingenic-JZ4730---illegal-instruction-td22376000.html > > * I have found a similar project that has built a working kernel for the > JZ7440 based Onda vx747 media player > > http://code.google.com/p/jz-hacking/wiki/Index?tm=6 > > * we have contacted the developers and they also use the Ingenic kernel > sources and patches as we do. > One difference is that they build their own toolchain but it is quite > improbable that this is the reason for the issue. Right. I also had a peek into the Ingenic Toolchain they provide on their website. I have not looked through the full 160MB yet but it seems that they do not add any JZ patches to either GCC, binutils or glibc. So the place to look for the fault remains the kernel :( What I am really wondering is why certain applications never fail while others do? E.g. the Xfbdev X server, being big (using lots of RAM) and all kinds of peripherals, never fails. An XTerm never fails. Applications that do fail are many GTK+ applications, even pretty simple ones. This is really weird - I still have one idea: It might have to do with threads. I think all the failing test applications initialise threads at startup. But even if it has todo with threads, what does it tell us? > Nikolaus Cheers nils faerber -- kernel concepts GbR Tel: +49-271-771091-12 Sieghuetter Hauptweg 48 Fax: +49-271-771091-19 D-57072 Siegen Mob: +49-176-21024535 http://www.kernelconcepts.de _______________________________________________ Mipsbook-devel mailing list Mipsbook-devel@linuxtogo.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/mipsbook-devel