This is the stack trace.<br><br>Registers:<br>GPR00: 00069030 C01F3000 C01F1080 00000000 00048000 C0639F48 C01F1080 FFFFFC18<br>GPR08: C02203FC 00000020 C0638000 C01F31B0 42FEE022 1056A7F8 00FE502A 00000000<br>GPR16: 00000000 FFC44232 00000000 00000000 FFC441EC 00080000 00010000 0000000A
<br>GPR24: 00000000 0007CD80 00000CE0 00000000 00000000 C02B0000 00000000 C02B0000<br><br>NIP; c0005da4 _&lt;_nmask_and_or_msr+0x18/0x20 [kernel]&gt;<br>Trace; c0025328 _&lt;check_pgt_cache+0x20/0x30 [kernel]&gt;<br>Trace; c0004f4c _&lt;idled+0x58/0x70 [kernel]&gt;
<br>Trace; c0004f74 _&lt;cpu_idle+0x10/0x24 [kernel]&gt;<br>Trace; c00012b0 _&lt;rest_init+0x30/0x40 [kernel]&gt;<br>Trace; c02a45a4 _&lt;start_kernel+0x168/0x17c [kernel]&gt;<br>Trace; c0000250 _&lt;skpinv+0x1f8/0x234 [kernel]&gt;
<br><br><br><div><span class="gmail_quote">On 9/20/06, <b class="gmail_sendername">Benjamin Herrenschmidt</b> &lt;<a href="mailto:benh@kernel.crashing.org">benh@kernel.crashing.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Tue, 2006-09-19 at 18:16 -0700, Manoj Sharma wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hi,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; We use linux kernel 2.4.20 on ppc405 and the system hangs once<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in a while when isync gets called in this function:
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _GLOBAL(_nmask_and_or_msr)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mfmsr&nbsp;&nbsp; r0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* Get current msr */<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; andc&nbsp;&nbsp;&nbsp;&nbsp;r0,r0,r3&nbsp;&nbsp;&nbsp;&nbsp;/* And off the bits set in r3 (first<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parm) */`<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or&nbsp;&nbsp;r0,r0,r4&nbsp;&nbsp;&nbsp;&nbsp;/* Or on the bits in r4 (second parm) */
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sync&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* Some chip revs have problems here... */<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; isync<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mtmsr&nbsp;&nbsp; r0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* Update machine state */<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; isync<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; blr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Done */
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.5 onwards, I find that &quot;sync; isync&quot; has been replaced by a<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; macro SYNC (defined only for 601). I don't find it in any<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; changelog and reason for the change.
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Can someone give some information on this change?<br><br>Regardless of the change... on 2.4, _nmask_and_or_msr() was used for a<br>number of things. We would need to know where it was called from with
<br>what values as arguments to have an idea of what's going wrong. It's<br>probably not dying on the isync, but rather on the following mtmsr due<br>to a problem with the values passed in....<br><br>Ben.<br><br><br><br></blockquote>
</div><br>