Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Nov 1997 22:20:01 -0800 (PST)
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-bugs
Subject:   Re: kern/4921: sio0/sio1 not found - probe test 5 and 8 failed
Message-ID:  <199711100620.WAA06828@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/4921; it has been noted by GNATS.

From: Bruce Evans <bde@zeta.org.au>
To: cjafe@tin.it, freebsd-gnats-submit@FreeBSD.ORG
Cc:  Subject: Re: kern/4921: sio0/sio1 not found - probe test 5 and 8 failed
Date: Mon, 10 Nov 1997 17:10:04 +1100

 >>Description:
 >Totem motherboard TX1, bios 1.2N, Award Bios 4.51PG, chipset 430Tx, ALI 5135, AMD K6 166Mhz. 
 >during boot i receive this message:
 >
 >sio0 not found
 >probe test 5 failed
 >sio1 not found
 >probe test 8 failed
 
 This is probably caused by nonstandard hardware configuration of the IRQs.
 I get similar failures if I swap the IRQs using userconfig.  The above
 messages can't happen (please be careful transcribing error messages),
 but the asymmetry of the failures suggests that sio0 is getting in the
 way of sio1, so I was able to debug this quickly.  I get the following
 messages:
 
 sio0: probe test 3 failed
 sio0: not found at 0x3f8
 sio1: probe test 5 failed
 sio1: probe test 8 failed
 sio1: not found at 0x2f8
 
 With the IRQs swapped, test 3 on sio0 normally fails because it tests
 the wrong IRQ and sio1 has not been initialized enough to confuse the
 issue.  But sometimes, sio1 will be driving the IRQ _low_ at boot time.
 Then partial initalization of sio1 will float the IRQ high and cause a
 false positive for test 3 on sio0.  The error will be detected later
 because the IRQ won't go away so tests 5 and 8 on sio0 will fail.
 This behaviour is surprising.  I would have expected the floating IRQ
 to cause a false positive for test 3 on sio0 in all (IRQ swapped) cases.
 It doesn't because the interrupt controller (ICU) loses track of the
 IRQ state when the ICU is reset.
 
 With the IRQs swapped, tests 5 and 8 on sio1 always fail because sio0
 _has_ been initialized enough to confuse the issue.  sio0's IRQ is
 driven low and high during the sio0 probe and floats high at the end
 of the probe, so the behaviour is the same as in the "sometimes" case
 above (with the sio's swapped).
 
 Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711100620.WAA06828>