On Wed, 2004-08-25 at 15:35, Erik C.J. Laan wrote:
> The first try was without any special measures. The bootlogs are
> attached as 2.6.7-mac_run1.txt and 2.6.8-mac_run1_and_2.txt. Because it
> fails when starting the Sonic's driver, I experimented with tricks that
> would help others get through such errors on 2.0.x en 2.2.x kernels
> before: Starting MacOS without extensions (pressing Shift on bootup) and
> starting Linux/mac68k without the networkcables connected. With the
> networkcable disconnected. 2.6.7 got a few characters further
> (2.6.7-mac_run2.txt) but 2.6.8 died at the same point. Without loading
> MacOS extensions both got a few characters further (see
> 2.6.7-mac_run3*.txt and 2.6.8-mac_run3*.txt respecively).
There seems to be something wrong with the SONIC driver. Under 2.2.25
it reports:
eth0: onboard / comm-slot SONIC at 0x50f0a000
eth0: revision 0x0004, using 32 bit DMA and register offset 2
2.6 kernels report:
eth0: revision 0xffff9424, using 16 bit DMA and register offset 0
or
eth0: revision 0x9424, using 16 bit DMA and register offset 0
This is all being done in mac_onboard_sonic_probe in macsonic.c. The
offending code seems to be around line 405:
sr = sonic_read(dev, SONIC_SR);
if (sr == 0 || sr == 0xffff) {
reg_offset = 2;
/* 83932 is 0x0004, 83934 is 0x0100 or 0x0101 */
sr = sonic_read(dev, SONIC_SR);
dma_bitmode = 1;
}
which in 2.2.25 is:
sr = sonic_read(dev, SONIC_SR);
if (sr == 0x0004 || sr == 0x0100 || sr == 0x0101) {
/* 83932 is 0x0004, 83934 is 0x0100 or 0x0101 */
dma_bitmode = 1;
}
Somebody with knowledge of SONIC stuff may have ideas on what's wrong and why.
Cheers,
Alfred
--
Alfred G. de Wijn
Home address: Cambridgelaan 199 k 3, 3584 DZ Utrecht, The Netherlands
e-mail: dwijn@iluvatar.eu.org www: http://www.iluvatar.eu.org/~dwijn/
Attachment:
signature.asc
Description: This is a digitally signed message part