You should also be able to modify the kernel to prove/disprove that wr10 is not being preserved during a task switch coincident with this fault.<br>Rex<br><br><div class="gmail_quote">On Wed, Jun 23, 2010 at 10:41 AM, Enrico Scholz <span dir="ltr">&lt;<a href="mailto:enrico.scholz@sigma-chemnitz.de">enrico.scholz@sigma-chemnitz.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">Enrico Scholz &lt;<a href="mailto:enrico.scholz@sigma-chemnitz.de">enrico.scholz@sigma-chemnitz.de</a>&gt; writes:<br>

<br>
&gt; [ 2280.392473] sed: unhandled page fault (11) at 0x40026200, code 0x017<br>
&gt; [ 2280.392500] pgd = c7bf0000<br>
&gt; [ 2280.395191] [40026200] *pgd=87b57031, *pte=00000000, *ppte=00000000<br>
&gt; [ 2280.401529]<br>
&gt; [ 2280.408893] Pid: 8831, comm:                  sed<br>
&gt; [ 2280.418649] CPU: 0    Not tainted  (2.6.31.13 #1)<br>
&gt; [ 2280.424497] PC is at 0x40016a84<br>
&gt; [ 2280.427610] LR is at 0x40014b0c<br>
&gt; [ 2280.430724] pc : [&lt;40016a84&gt;]    lr : [&lt;40014b0c&gt;]    psr: 20000010<br>
&gt; [ 2280.430733] sp : befff8f8  ip : befff910  fp : befff99c<br>
&gt; [ 2280.460747] r10: 00000000  r9 : 6474e552  r8 : 00000004<br>
&gt; [ 2280.466537] r7 : 00000000  r6 : 00000012  r5 : 00000201  r4 : 40026202<br>
&gt; [ 2280.473452] r3 : befff8f8  r2 : 00000009  r1 : 40026200  r0 : 40026202<br>
&gt; [ 2280.479937] Flags: nzCv  IRQs on  FIQs on  Mode USER_32  ISA ARM  Segment user<br>
&gt; [ 2280.487354] Control: 0400397f  Table: 87bf0018  DAC: 00000015<br>
<br>
</div>I modified kernel to give out iwmmxt regs:<br>
<br>
  wr0: 0000000000000009  wr1: 0000000000000000<br>
  wr2: 0000000000000000  wr3: 0000000000000000<br>
  wr4: 0000000000000012  wr5: 0000000000000000<br>
  wr6: 0000000000000000  wr7: 0000000000000000<br>
  wr8: 0000000000000000  wr9: 0000000000000000<br>
  wr10: 0000000000000000  wr11: 0000000000000000<br>
  wr12: 0000000000000000  wr13: 0000000000000000<br>
  wr14: 0000000000000000  wr15: 0000000000000000<br>
  wcid:  69052010  wcon:  00000003  wcssf: 00000000  wcasf: 00000000<br>
  wcgr0: 00000201  wcgr1: 00000104  wcgr2: 00000000  wcgr3: 00000000<br>
<br>
<br>
--&gt; wr10 which should contain 0x1 is 0; the removal of the n&#39;th bit is<br>
    a noop hence and loop won&#39;t terminate.<br>
<br>
    wr10 is not modified within the loop<br>
<div class="im"><br>
<br>
&gt;   14ab4:       e3a00001        mov     r0, #1  ; 0x1<br>
&gt;   14ab8:       e3a01000        mov     r1, #0  ; 0x0<br>
</div>&gt;   ...<br>
<div class="im">&gt;   14ac8:       ec41000a        tmcrr   wr10, r0, r1<br>
</div>&gt;   ...<br>
&gt;   ...<br>
<div class="im">&gt;   14b14:       eeda5149        wslldg  wr5, wr10, wcgr1<br>
</div>&gt;   ...<br>
<div class="im">&gt;   14b20:       ec510005        tmrrc   r0, r1, wr5<br>
</div><div class="im">&gt;   14b24:       e0266000        eor     r6, r6, r0<br>
</div><div class="im">&gt;   14b28:       e0277001        eor     r7, r7, r1<br>
<br>
<br>
<br>
</div><font color="#888888">Enrico<br>
</font><div><div></div><div class="h5"><br>
_______________________________________________<br>
linux-arm mailing list<br>
<a href="mailto:linux-arm@lists.infradead.org">linux-arm@lists.infradead.org</a><br>
<a href="http://lists.infradead.org/mailman/listinfo/linux-arm" target="_blank">http://lists.infradead.org/mailman/listinfo/linux-arm</a><br>
</div></div></blockquote></div><br>