Re: kernel panic in current benh tree (chrp)
From: Olaf Hering <hidden>
Date: 2000-07-31 11:03:53
On Sat, Jul 29, Olaf Hering wrote:
the current benh tree gives me a kernel panic whit a chrp only config.
Any ideas what can cause the problem? I will update the diffs of the last benh changes at ftp://ftp.suse.com/pub/suse/ppc/update/BETA/devel/kernel/benh/
The problem seems to be the size of prom.c. I tried all diffs and reverse patched the above linux.tar.bz2, the 20th kernel worked then. So, the diff that caused the problem was the following: diff -urN source20/linux-pmac-benh/arch/ppc/kernel/prom.c source19/linux-pmac-benh/arch/ppc/kernel/prom.c
--- source20/linux-pmac-benh/arch/ppc/kernel/prom.c Mon Jul 31 10:56:18 2000
+++ source19/linux-pmac-benh/arch/ppc/kernel/prom.c Mon Jul 31 10:48:07 2000@@ -1711,9 +1711,17 @@ int l; for (np = allnodes; np != 0; np = np->allnext) { - char *pname = np->parent ? - (char *)get_property(np->parent, "name", &l) : 0; - if (pname && strcmp(pname, "mac-io") == 0) + int in_macio = 0; + struct device_node* parent = np->parent; + while(parent) { + char *pname = (char *)get_property(np->parent, "name", &l); + if (pname && strcmp(pname, "mac-io") == 0) { + in_macio = 1; + break; + } + parent = np->parent; + } + if (in_macio) continue; reg = (unsigned int *) get_property(np, "reg", &l); if (reg == 0 || l < sizeof(struct reg_property))
But, when I insert a printk() before the "for" loop it works again. But
the size of the vmlinux didn't change.
So it seems that the size of prom.c can cause any problems?
I use quik as boot loader, the zImage from arch/ppc/chrpboot/ didn't
work as well. The machine is a B50 with 1GB ram.
Gruss Olaf
--
$ man clone
BUGS
Main feature not yet implemented...
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/