Port-ofppc archive

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

Re: Current hangs at boot



On Wed, 14 May 2008 00:14:50 -0700 (MST)
Tim Rightnour <root%garbled.net@localhost> wrote:

> > Maybe a firmware issue? The firmware in my -150 is quite old.
> It's possible. One thing at a time though, I'll try the 170 first.
I run this firmware by purpose: It doesn't have that very annoying 60
second delay when netbooting...

[lots of printf(9) debugging later]

It seems to be somthing different: The B50 has only two PCI slots on
the PCI riser card. The -150 has more slots and a PCI-PCI bridge on the
PCI riser card.
arch/powerpc/pci/pci_machdep_ofw.c:genofw_find_node_by_devfunc()
goes into an infinite loop if it hits the PCI-PCI bridge. The folowing
hack breaks the loop:
--- /tmp/pci_machdep_ofw.c      2008-05-14 20:14:28.000000000 +0200
+++ ../powerpc/pci/pci_machdep_ofw.c    2008-05-14 20:14:35.000000000 +0200
@@ -351,6 +351,10 @@
 
        for (node = startnode; node; node = p) {
                sz = OF_getprop(node, "reg", &reg, sizeof(reg));
+               if (sz < 0) {
+                       printf( "genofw_find_node_by_devfunc: node=%i sz=%i\n", 
node, sz);
+                       return -1;
+               }
                if (sz != sizeof(reg))
                        continue;
                if (OFW_PCI_PHYS_HI_BUS(reg) == bus &&


With that hack I get to single user mode. I'll mount a disk into the
box and try a full install on that disk now. Here is a snip from dmesg
with pci_conf_debug set to 1:
PCI: bus 0, device 22, function 0: id=ffffffff: Vendor=ffff, Product=ffff
PCI: bus 0, device 23, function 0: id=221014: Vendor=1014, Product=22
PCI: bus 0, device 23, function 0: Found dev 0x1014 0x0022 -- really probing.
genofw_find_node_by_devfunc: node=13359816 sz=-1
Cannot find node for device bus 0 dev 23 func 0
PCI: bus 0, device 23, function 0: device is a bridge; not clearing enables
PCI: bus 1, device 0, function 0: id=ffffffff: Vendor=ffff, Product=ffff

Can you give me some hints to understand that code in
pci_machdep_ofw.c for further debugging? (I am missing the big
picture.)

BTW: How do I "boot net -d" from OFW?
I.e. how can I make the kernel entering DDB as soon as possible?

> Yeah, thats how most of the POWER3/POWER4 series service processors
> work.  You can power them up, but not down.  You can get back to the
> service processor by issuing a powerdown from the OS via rtas.
Braindead. What do I need a service processor for? Power on the machine
when it is off. OK, that works. But as important: Power down / reset
the machine if it is stuck at some point. SGI did this better with the
Origin 200. The service processor is entirely independent of the main
machine and has its own RS232 port.

> (Basically, a 270/170 never fully powers off, its allways watching
> the serial port for someone to hit enter and bring up the menu)
Same for the -170. If you supply mains power the green LED at the back
blinks, the backlight on the front LCD panel is lit, some error / test
codes are displayed on the LCD and finaly there is a "OK" on the LCD...

Thanks for taking care of the -170.
-- 


tsch__,
       Jochen

Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/



Home | Main Index | Thread Index | Old Index