Re: Issue booting v2.6.39 .. v3.4-rc6 on hp712/100

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2012-05-16 at 10:27 +0100, James Bottomley wrote:
> On Wed, 2012-05-16 at 08:27 +0100, James Bottomley wrote:
> > My current attempts to boot a B180 are failing on RCU:
> > 
> > Initializing cgroup subsys cpuacct
> > Initializing cgroup subsys memory
> > Initializing cgroup subsys devices
> > Initializing cgroup subsys freezer
> > devtmpfs: initialized
> > NET: Registered protocol family 16
> > Backtrace:
> >  [<10180fc4>] rcu_process_callbacks+0x20/0x40
> >  [<101330b0>] __do_softirq+0xd8/0x190
> >  [<101331d0>] run_ksoftirqd+0x68/0x118
> >  [<1014a144>] kthread+0xac/0xb4
> >  [<1010305c>] ret_from_kernel_thread+0x1c/0x24
> > 
> > 
> > Kernel Fault: Code=26 regs=2ec3c2c0 (Addr=00000000)
> 
> OK, debugged this: it's a prefetch(NULL) in the RCU code.  Apparently on
> the PA7300LC processor, which is what my B180 has, this is actually
> generating a dtlb insertion interruption.  The fix is to nullify the
> prefetch if the address is zero, which I'm testing out now.

OK, confirmed, my B180 finally boot.  This is the final patch it needed.

James

---

diff --git a/arch/parisc/include/asm/prefetch.h b/arch/parisc/include/asm/prefetch.h
index c5edc60..1ee7c82 100644
--- a/arch/parisc/include/asm/prefetch.h
+++ b/arch/parisc/include/asm/prefetch.h
@@ -21,7 +21,12 @@
 #define ARCH_HAS_PREFETCH
 static inline void prefetch(const void *addr)
 {
-	__asm__("ldw 0(%0), %%r0" : : "r" (addr));
+	__asm__(
+#ifndef CONFIG_PA20
+		/* Need to avoid prefetch of NULL on PA7300LC */
+		"	extrw,u,= %0,31,32,%%r0\n"
+#endif
+		"	ldw 0(%0), %%r0" : : "r" (addr));
 }
 
 /* LDD is a PA2.0 addition. */


--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux