kernel panic in current benh tree (chrp)

Olaf Hering olh at suse.de
Mon Jul 31 21:03:53 EST 2000


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/





More information about the Linuxppc-dev mailing list