UPDATE: ATA mkIII first official patches - please test!

Takahashi Yoshihiro nyan at jp.FreeBSD.org
Sat Feb 12 06:06:42 PST 2005


In article <86vf8y0x9r.fsf at xa12.heimat.gr.jp>
NAKAJI Hiroyuki <nakaji at jp.freebsd.org> writes:

> On pc98, the partitions on ad0 are not detected, while slices are
> detected.
> 
> In my case, because ad0s1a which is mounted on root is not detected,
> mountroot() fails and cannot use the system.
> 
> ad0: 814MB <WDC AC2850F 27.25C38> at ata0-master BIOSPIO


ATA-mkIII has three big problems.


1. It seems that CHS mode is broken.

   I think that NAKAJI-san's trouble is due to it.
   I also got the following error on my pc98.

   ad1: 407MB <WDC AC1425F 25.26H35> at ata0-slave BIOSPIO
   ad1: 833616 sectors [6129C/8H/17S] 1 sectors/interrupt 1 depth queue

   # mount -t msdos /dev/ad1s1 /mnt
   msdosfs: /dev/ad1s1: Invalid argument

   # dd if=/dev/ad1s1 of=/dev/null
   dd: /dev/ad1s1: Input/output error
   7+0 records in
   7+0 records out
   3584 bytes transferred in 0.027885 secs (128528 bytes/sec)
   kernel: ad1: FAILURE - READ status=59<READY,DSC,DRQ,ERROR> error=10<NID_NOT_FOUND> LBA=143


2. A geometry translation for pc98 is NOT enough.

   Currently, it works only under 4.3GB disk.


3. Modules for pc98 are broken.

   I attach a patch to fix it.


---
TAKAHASHI Yoshihiro <nyan at jp.FreeBSD.org>
-------------- next part --------------
diff -urN sys.org/modules/ata/Makefile sys/modules/ata/Makefile
--- sys.org/modules/ata/Makefile	Mon Jan 10 20:41:02 2005
+++ sys/modules/ata/Makefile	Sun Feb  6 12:38:01 2005
@@ -1,5 +1,10 @@
 # $FreeBSD$
 
-SUBDIR = ata ataisa atapci atadisk atapicd atapifd atapist ataraid #atacam
+SUBDIR = ata atapci atadisk atapicd atapifd atapist #atacam
+.if ${MACHINE} == "pc98"
+SUBDIR+= atacbus
+.else
+SUBDIR+= ataisa ataraid
+.endif
 
 .include <bsd.subdir.mk>
diff -urN sys.org/modules/ata/Makefile.inc sys/modules/ata/Makefile.inc
--- sys.org/modules/ata/Makefile.inc	Thu Jan  1 09:00:00 1970
+++ sys/modules/ata/Makefile.inc	Sun Feb  6 12:35:56 2005
@@ -0,0 +1,3 @@
+# $FreeBSD$
+
+.include "../Makefile.inc"
diff -urN sys.org/modules/ata/atacbus/Makefile sys/modules/ata/atacbus/Makefile
--- sys.org/modules/ata/atacbus/Makefile	Thu Jan  1 09:00:00 1970
+++ sys/modules/ata/atacbus/Makefile	Sun Feb  6 12:40:30 2005
@@ -0,0 +1,9 @@
+# $FreeBSD$
+
+.PATH: ${.CURDIR}/../../../dev/ata
+
+KMOD=	atacbus
+SRCS=	ata-cbus.c
+SRCS+=	opt_ata.h ata_if.h device_if.h bus_if.h isa_if.h
+
+.include <bsd.kmod.mk>


More information about the freebsd-current mailing list