summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/atapi.c
diff options
context:
space:
mode:
authorkato <kato@FreeBSD.org>1997-01-17 16:58:38 +0000
committerkato <kato@FreeBSD.org>1997-01-17 16:58:38 +0000
commiteedeab40af5360993f499df06cf6b8617f9691fe (patch)
tree31aa8488e447985dcd3d80e7a27b4f9cab2aa466 /sys/i386/isa/atapi.c
parent36e3910a7d4d2443addb87b2ec5a93aa0a3c0a5a (diff)
downloadFreeBSD-src-eedeab40af5360993f499df06cf6b8617f9691fe.zip
FreeBSD-src-eedeab40af5360993f499df06cf6b8617f9691fe.tar.gz
Fixed unit select code in atapi_probe (PC98 specific).
Diffstat (limited to 'sys/i386/isa/atapi.c')
-rw-r--r--sys/i386/isa/atapi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/i386/isa/atapi.c b/sys/i386/isa/atapi.c
index 2445dcb..8d0b43a 100644
--- a/sys/i386/isa/atapi.c
+++ b/sys/i386/isa/atapi.c
@@ -365,7 +365,11 @@ static struct atapi_params *atapi_probe (int port, int unit)
print(("unit = %d,select %d\n",unit,unit%2));
#endif
/* Wait for controller not busy. */
+#ifdef PC98
+ outb (port + AR_DRIVE, unit / 2 ? ARD_DRIVE1 : ARD_DRIVE0);
+#else
outb (port + AR_DRIVE, unit ? ARD_DRIVE1 : ARD_DRIVE0);
+#endif
if (atapi_wait (port, 0) < 0) {
print (("atapiX.%d at 0x%x: controller busy, status=%b\n",
unit, port, inb (port + AR_STATUS), ARS_BITS));
OpenPOWER on IntegriCloud