From owner-FreeBSD-users-jp@jp.FreeBSD.org Wed Mar  6 01:12:04 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g25GC4A26588;
	Wed, 6 Mar 2002 01:12:04 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from lute.ds.cs.toyo.ac.jp (lute.ds.cs.toyo.ac.jp [133.79.93.128])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g25GC3P26582
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 6 Mar 2002 01:12:04 +0900 (JST)
	(envelope-from jju@ds.cs.toyo.ac.jp)
Received: from localhost (lute.ds.cs.toyo.ac.jp [192.168.168.1])
	by lute.ds.cs.toyo.ac.jp (8.9.3/3.7W) with ESMTP id BAA15225
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 6 Mar 2002 01:12:03 +0900 (JST)
To: FreeBSD-users-jp@jp.FreeBSD.org
X-Mailer: Mew version 1.94.1 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <20020306011203X.jju@ds.cs.toyo.ac.jp>
Date: Wed, 06 Mar 2002 01:12:03 +0900
From: Nobuyoshi SATO <jju@ds.cs.toyo.ac.jp>
X-Dispatcher: imput version 20000228(IM140)
Lines: 83
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+011218
X-Sequence: FreeBSD-users-jp 67377
Subject: [FreeBSD-users-jp 67377] 4.5-RELEASE
 =?ISO-2022-JP?B?GyRCJE4bKEI=?= 48bit LBA
 =?ISO-2022-JP?B?GyRCJTUlXSE8JUgbKEI=?= 
Errors-To: owner-FreeBSD-users-jp@jp.FreeBSD.org
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: jju@ds.cs.toyo.ac.jp


$B:4F#!wElMNBg>pJs$G$9!#(B
$BF1$8OCBj$,=P$F$$$J$$$_$?$$$J$N$G!";d$N=j$@$1$+$bCN$l$^$;$s$,(B...

80GB$B$N(BIDE HDD$B$,7R$,$C$F$$$k(BPC$B$r(B4.5R$B$K$7$?$i!"(B0GB$B$HG'<1$5$l$k(B
$B$h$&$K$J$C$F$7$^$$$^$7$?!#(B

ad0: 38166MB <ST340810A> [77545/16/63] at ata0-master UDMA100
ad2: 0MB <ST380020ACE> [0/16/63] at ata1-master UDMA100

BIOS$B$N@_Dj$r$$$B$C$F$_$?$j!"(BBIOS$B$r%"%C%W%G!<%H$7$F$_$?$j!"JL$N(B
$B%^%6!<%\!<%I$r;n$7$F$_$?$j$7$^$7$?$,!"7k6I%@%a$G$7$?!#(B

$B;n$7$?%^%6!<%\!<%I$O0J2<$NDL$j$G$9!#(B
Soyo SY-6IWM BIOS version ? $B!J(B137GB$B0J>eHsBP1~(B?$B!K(B
Gigabyte GA-6VEML BIOS version F3 $B!J(B137GB$B0J>eHsBP1~(B?$B!K(B
Gigabyte GA-6VEML BIOS version F6 $B!J(B137GB$B0J>eHsBP1~(B?$B!K(B
Gigabyte GA-8IRX BIOS version F3 (137GB$B0J>eHsBP1~!K(B
Gigabyte GA-8IRX BIOS version F6 (137GB$B0J>eBP1~!K(B

$B$G!"(Bsys/dev/ata/ata-disk.c$B$N(Bad_attach()$B$N$=$l$i$7$$=j$K(Bprintf$B$r(B
$BF~$l$F$_$k$H!"(B
# $B$3$C$A$r@h$K$d$l$P$h$+$C$?(B...

    adp->heads = AD_PARAM->heads;
    adp->sectors = AD_PARAM->sectors;
    adp->total_secs = AD_PARAM->cylinders * adp->heads * adp->sectors;  

    printf("cyl=%u hd=%u sec=%u lba=%u lba48=%llu lba48enable=%d\n", AD_PARAM->cylinders, AD_PARAM->heads, AD_PARAM->sectors, AD_PARAM->lba_size, AD_PARAM->lba_size48, AD_PARAM->support.address48);
    
    /* does this device need oldstyle CHS addressing */
    if (!ad_version(AD_PARAM->version_major) || 
        !(AD_PARAM->atavalid & ATA_FLAG_54_58) || !AD_PARAM->lba_size)
        adp->flags |= AD_F_CHS_USED;

    /* use the 28bit LBA size if valid */
    if (AD_PARAM->cylinders == 16383 && adp->total_secs < AD_PARAM->lba_size)
        adp->total_secs = AD_PARAM->lba_size;

    /* use the 48bit LBA size if valid */
    if (AD_PARAM->support.address48)
        adp->total_secs = AD_PARAM->lba_size48;

$B0J2<(B dmesg:
cyl=16383 hd=16 sec=63 lba=78165360 lba48=0 lba48enable=0
ad0: 38166MB <ST340810A> [77545/16/63] at ata0-master UDMA100
cyl=16383 hd=16 sec=63 lba=156301488 lba48=0 lba48enable=1
ad2: 0MB <ST380020ACE> [0/16/63] at ata1-master UDMA100

ad2$B$G$O(B48bit LBA$B$,;H$($k$3$H$K$J$C$F$$$k$N$K!"(B48bit LBA$B$N%5%$%:$,(B
0$B$K$J$C$F$$$k$N$,860x$G$7$?!#$3$l$,5,3JDL$j$J$N$+$OCN$j$^$;$s!#(B
BIOS$B$,0-$$$N$+%I%i%$%V$,0-$$$N$+$b$o$+$i$J$$$G$9(B...

$BCN9g$$$NHyL/$K7?HV$,0c$&(B80GB$B$N%I%i%$%V(B(ST380020A)$B$O$A$c$s$H(B4.5R$B$G(B
$B;H$($F$$$k$=$&$G$9!J%^%6!<%\!<%I$N7?HV$O<:G0!K!#(B

$B$H$j$"$($:!"(B48bit LBA$B$N%5%$%:$r<hF@$7$F$$$k$H$3$m$r!"(B
    
    /* use the 48bit LBA size if valid */
    /* XXX some BIOS or HDD(smaller than 137GB) have incorrect(?)           
     * lba_size48 value if they say they support 48bit LBA   
     */
    if (AD_PARAM->support.address48 && adp->total_secs < AD_PARAM->lba_size48)
        adp->total_secs = AD_PARAM->lba_size48;

$B$H$$$&Iw$K$7$F;H$C$F$$$^$9!#(B
# if (AD_PARAM->support.address48 && AD_PARAM->lba_size48) $B$NJ}$,$$$$(B?

$B0J2<(B dmesg:
cyl=16383 hd=16 sec=63 lba=78165360 lba48=0 lba48enable=0
ad0: 38166MB <ST340810A> [77545/16/63] at ata0-master UDMA100
cyl=16383 hd=16 sec=63 lba=156301488 lba48=0 lba48enable=1
ad2: 76319MB <ST380020ACE> [155061/16/63] at ata1-master UDMA100

$B$3$&$$$&LdBj$,5/$-$F$$$k?M$O$$$^$;$s$+(B? $B$J$s$H$J$/(Bsend-pr$B$7$?$[$&$,(B
$BNI$5$=$&$J46$8$G$9$,!";d$N<~$j$G(B0GB$B$HG'<1$5$l$k?M$O$$$J$$$N$G!"(B
$B$9$k$+$7$J$$$+LB$C$F$$$^$9!#(B



$BElMNBg3X9)3XIt>pJs9)3X2J(B $BJ,;6%7%9%F%`8&5f<<(B / $B7W;;5!%"!<%-%F%/%A%c8&5f<<(B
$BBg3X1!9)3X8&5f2J>pJs9)3X@l96(B $BGn;N8e4|2]Dx(B1$BG/(B
$B:4F#(B $B1J6U(B (Nobuyoshi Sato) / 7n2JJU                 jju@ds.cs.toyo.ac.jp
