From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from edison.awellconnected.net ([83.167.180.132]:48480 "EHLO edison.awellconnected.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753768Ab0E2Tql convert rfc822-to-8bit (ORCPT ); Sat, 29 May 2010 15:46:41 -0400 Received: from [127.0.0.1] (helo=localhost) by edison.awellconnected.net with esmtpa (Exim 4.69) (envelope-from ) id 1OIRzP-0000qx-58 for linux-arm-msm@vger.kernel.org; Sat, 29 May 2010 20:46:35 +0100 Message-ID: <20100529204635.1d1v2k4g84kkkwo4@webmail.htc-linux.org> Date: Sat, 29 May 2010 20:46:35 +0100 From: lukas@htc-linux.org Subject: QSD8250 illegal instruction MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; DelSp=Yes format=flowed Content-Disposition: inline Content-Transfer-Encoding: 7BIT Sender: linux-arm-msm-owner@vger.kernel.org List-ID: To: linux-arm-msm@vger.kernel.org Hello, I'm not sure if this is the right place but I don't know who else to address with this problem. The users of this list seem to know much about the qsd8* platform. We are porting linux to the qsd8250 based htc leo device. The code can be found at git://git.linuxtogo.org/home/groups/mobile-linux/kernel.git htc-msm-2.6.32 web: http://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=shortlog;h=refs/heads/htc-msm-2.6.32 It is based on the android-msm-2.6.32 branch from the google git at: http://android.git.kernel.org/?p=kernel/msm.git;a=shortlog;h=refs/heads/android-msm-2.6.32 General information on the device and on this subject can be found here: http://htc-linux.org/wiki/index.php?title=Leo Our big problem is that we get illegal instructions on userspace binary execution. Some program work well, others will always crash with segfault / illegal instruction errors. For a while we thought that it is a question of using the correct toolchain and flags to compile. But it seems that the errors occur with various configurations. Also we tested rootfilesystems that worked perfectly well on the htc passion aka nexus one (same qsd8250) and they crashed in the same way. This makes it look like we rather have a problem with our kernel or that there are some hardware differences. My understanding about these low-level things is bad so I can't go into great detail. I would like to take the liberty to refer to the mailing list where the problem is discussed: http://lists.linuxtogo.org/pipermail/mobile-linux-discuss/2010-May/thread.html It would be very nice if somebody could take a look at that. I will paste the mail with the latest finding for easier reference. On Fri, May 28, 2010 at 3:09 PM, Le Tama wrote: > Hi Guys, > > I did a new experiment that yielded interesting results. > > Here is what I did: I compiled eclair qaesd for ffa to get android binaries > with android toolchain. > > With these binaries, I did a init script using android sh binary, it > reaches > the prompt. > > I also launched static adbd from this script, that was terminated because > of > invalid instruction: > > [ 11.376047] adbd (42): undefined instruction: pc=3D0000fc60 > [ 11.380015] Code: e5843000 e8bd8010 e59f102c e1a0c000 (e52d4004) > [ 11.387759] PL:send_signal (sig=3D4, from_ancestor=3D0) > > > I dumped the compiled adbd with objdump, here is the location: > > 0000fc58 : > fc58: e59f102c ldr r1, [pc, #44] ; fc8c > > fc5c: e1a0c000 mov ip, r0 > fc60: e52d4004 push {r4} ; (str r4, [sp, > #-4]!) > fc64: e59f4024 ldr r4, [pc, #36] ; fc90 > > fc68: e08f3001 add r3, pc, r1 > fc6c: e0834004 add r4, r3, r4 > fc70: e8b4000f ldm r4!, {r0, r1, r2, r3} > fc74: e8ac000f stmia ip!, {r0, r1, r2, r3} > fc78: e8940003 ldm r4, {r0, r1} > fc7c: e88c0003 stm ip, {r0, r1} > fc80: e3a00000 mov r0, #0 > fc84: e8bd0010 pop {r4} > fc88: e12fff1e bx lr > fc8c: 0001890c .word 0x0001890c > fc90: ffffbe04 .word 0xffffbe04 > > So, as you can see, the undefined instruction is the push {r4} line. > > If I interpret well what I see, the instruction is legit, memory is ok, but > the cpu considers it invalid. > > Now, the question is why ? Invalid instruction cache ? Wrong processor > state > ? > > This is out of my league, if someone has an explanation ? > > Best, > > LeTama > > > > _______________________________________________ > Mobile-linux-discuss mailing list > Mobile-linux-discuss at linuxtogo.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/mobile-linux-discuss > We've been struggeling to get past this problem for quite a while now. Any hint is welcome. Kind regards, Lukas