Nick Hibma wrote:
> Anything the change to nexus.c that Peter Wemm made would change?
Yes, 1.14 broke non-PCI systems, and 1.15 fixed it.
I forgot to change:
DEVICE_METHOD(device_attach, bus_generic_attach);
to:
DEVICE_METHOD(device_attach, nexus_attach);
.. which would explain why nexus_attach() wasn't being called. There were
a few other problems, including the eisa probe/attach that would have returned
ENXIO and failing the attach before isa was attached.
> 1.15 Mon Aug 23 19:23:33 1999 UTC by peter
> CVS Tags: HEAD
> Diffs to 1.14
>
> The nexus_attach() code works a lot better if it's actually connected to
> the device methods... Also, don't fail to add eisa/isa because a
> previous device failed to attach.
>
>
> 1.14 Sun Aug 22 19:56:55 1999 UTC by peter
> Diffs to 1.13
>
> Take advantage of the apm/npx code and let them identify themselves
> rather than having explicit hooks here. Treat the eisa/isa attach a
> little differently so that we defer the decision about to attach
> eisa/isa to the motherboard directly only if the PCI probe (if it
> exists) fails to turn up a PCI->EISA/ISA bridge. This restores the
> original device geometry where ISA and/or EISA attach to their bridge
> rather than bypassing and going to the root.
>
>
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/i386/i386/nexus.c
>
> > > Okay, further investigation shows that configure() has the following
> > > code:
> > >
> > > #if NPNP > 0
> > > /* Activate PNP. If no drivers are found, let ISA probe them.. */
> > > pnp_configure();
> > > #endif
> > >
> > > /*
> > > * Explicitly probe and attach ISA last. The isa bus saves
> > > * it's device node at attach time for us here.
> > > */
> > > if (isa_bus_device)
> > > bus_generic_attach(isa_bus_device);
> > >
> > > However isa_bus_device is still NULL so we never get any ISA devices
> > > attached. No ISA devices means no console (the VGA card and serial ports
> > > are both ISA devices), so we explode.
> > >
> > > Since the ISA bus in this machine is on-board instead of being hung
> > > off a PCI to ISA bridge, I suspect that somebody broke the handling
> > > on on-board ISA buses.
> > >
> > > Thank you very much, may I have another.
> >
> > It seems like isa bus is never being attached for some reason. Have a
> > look at nexus_attach() and see if anything suspicious is happening (like
> > an error return from device_probe_and_attach()).
Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message