Date: Mon, 26 Jan 2004 07:45:49 -0800 (PST) From: Hirokazu WATANABE <wnabe@par.odn.ne.jp> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/61960: [Patch] BigDrive support for PC-98 architecture (ata(4) driver) Message-ID: <200401261545.i0QFjnRP075973@www.freebsd.org> Resent-Message-ID: <200401261620.i0QGK6Zo014802@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 61960 >Category: kern >Synopsis: [Patch] BigDrive support for PC-98 architecture (ata(4) driver) >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Jan 26 08:20:06 PST 2004 >Closed-Date: >Last-Modified: >Originator: Hirokazu WATANABE >Release: FreeBSD/pc98 5.2-RELEASE >Organization: >Environment: FreeBSD hebe.fb98.dyndns.org 5.2-CURRENT FreeBSD 5.2-CURRENT #0: Sun Jan 25 14:06:12 JST 2004 watanabe@proteus.fb98.dyndns.org:/usr/src/sys/pc98/compile/GENERIC i386 >Description: PC-98's slice table managed by CHS geometry. And the ata(4) driver is using the head/sector value acquired from HDD. However, in 32GB or more of HDD, since a cylinder value overflows, it cannot be used normally. (Some interfaces for PC-98x1 works over 8GB HDDs. But there are still manages in CHS geometry.) PC-98's slice table max values are followd(maybe)... Cylinder: 65534(=65535) Heads: 255(=256) Sectors: 255 Typical PC-98's geometry: under 4.3GB: heads=8, sectors=17 4.3GB to 32GB: heads=16, sectors=63(=HDD's geometry) 32GB to 128GB: heads=16, sectors=255(*1) 128GB to 2TB: heads=255, sectors=255(*2,*3,*4) over 2TB: cylinders=65534, heads=255, sectors=255(*2,*3) (*1) PK98-Mistress9[atacbus's add-on BIOS] and UIDE-133/98(PCI-ATA) only (*2) UIDE-133/98 only (*3) PK98-Mistress9 is cylinders=65534, heads=16, sectors=255 (*4) over 128GB or supports 48bit LBA >How-To-Repeat: FreeBSD/pc98 5.2-RELEASE installed, and use fdisk_pc98(8) for over-32GB-HDD. Then, fdisk_pc98 cannot handle its geometry. This is because cylinder of HDD is over 16bit. >Fix: ata(4) use BIOS geometry, or it changes not with the value acquired from HDDs but with the fixed value(heads/sectors). A patch which solves this problem is appended to below. (http://fb98.dyndns.org/FreeBSD/bignadrive-20040126.diff.gz) begin 644 bignadrive.diff.gz M'XL(")W.%$```V)I9VYA9')I=F4N9&EF9@"]6/USVD83_AG^BHT[3<$@T!>? MKDF(33.\$\<98[_O3-,,(Z23N3%(C#ZHT\;_^[M[^D`2"#OMM(PMT-WMWN[> ML\_=WM2QV.,0?,]LK_B"_BWN/[3-I>'<LY99/?_[G^K-Q0QLOF)#:"_=-6L[ MYM9OE\W8W%8]%GB<;;ES#QY^^=QU0&FI>M7BM@U2"))'KY`:*4E2J0<5I0,? MW2VHLJR"H@U5?:@.0)+Q4Q%*&XU&N;#:A?\8#@GK(.M#11G*G4BX^O8M2+K< M[$$#GXH";]]6H<)MJ)$&:;3@KC\WOZY@!(JLZO4J_,`<=``'57S#87`.\EFU M\0.W+6;#IXM!O]HHBB\M&)V#VNG6<2!;^6Q_!AH"2C1@7SUDU>_)^LP,T@G( MG5ZOV85&7VFJFG`G55EPZ1RB!G,9.@^^-/+Y'PS:-/6>^E/(&5M_SF52_S-T M.QV-?*I4$`NAYZ`4OK1/8>S[X9K!W?1R(BF:UA[TI3%<+(W5BN&">?!N>CT# MN37HJ\H%;`S/6+,`FT_;*%XTC1SOG.4[,)SG&,Y"ZQ&?&R_S^3O=?#=]+SF& M=.GQ+7NS9[TP<M_VOV]ELMY/5:C"UN56=;JC!_^KW[;8MFT$!OU+)/U/$\3A M.4LI0NEV<QR![Y`Q-:&)PUHKF,-IKJOJ4.X/-3TE"E*=,$6)?($K5&W8T;-< MT:7DPF<ORBWNF*O08O#S=MW>KEO+4:%MLS8VA=:U82ZYP]IK:[XU/.IL['<N M7#?@CNV6R"Y"O]!#[GAKPRDTWS-WW:;'7/B'G8(B.N1%K]L<""_HXP=>B'@R MK+GOVH$)IX:U.8NZPCEW`DV=![!:&(3%;'M7W[7K?80?]6`[6`_ST.%!W++3 ML>"$<8Z0]/QL9S_J6S+#\IOTB_#MTAB(IJ/D>U5#LS`_UL@5KEFC25V[5K"] MWH2K^?B2GA^O_S>>WL(W_/GKY.:Z7J_#G\APN-[SC1?@\M?P)WXUX>27\?3# MW<T$)##=<&6!XZ)&FL4(&%B4PQX&R?6,>_:;<X*)1H%45)4BJ:@("#V-)5D: M*Y9&@K\PA\/-QO6"ENFN<94L%5[#^'8\G]U]^G1]<XOF7MY,9C.]7X?7K]'" M-**X,:C=OJYU]$ZG3J9;&VD4N(&QH@#Y&(ML\*-X$O?P>\$[$,\+MNO!Q\D% M$K8TZ#\JX#-,/;\E:"FQ6>A&H[G)B'P,QV$K:62OC'L_-O=N-ID3Y;^?7%]1 M*)-M0+AR.[Z=7LRGET1HT>*C=13J>Q;,5Z%3>XT3T(\Y)D7$5+0;YD:3!3AB M1V.-R@X*."#-"VP5G$?8_APK^()6RH^V?19)"2BA3.T9H=$(*.Q9T12A+Q/' MK3N6CS1PNU9<IY'8)SIW'Y"RE2X^NIH(8"4)?AJ$O)-.-&7H,PN1`;0)Y.V+ M@Y:9JHTF)]Z?9C*I'DU(6].=SZ)=EEQ!%OX:;4\1NC+1SF1ATIM$-9DBZLF# M/1N^0KY7#B"X5/I4^$L1RDQ]"EDKD^GW\CGT:5_).1GE+46P),"-QEF\(D]` MV(SB1:M#$L@`"]=G<12C=7O!LL7C#QDIVDG1";'-SN*??.`6,UIP$8<"Q!$@ M=-9&8"Y?O4H=><:3/5?^DA$SC)XX9OCP._.88,:-YRZ8]>I-:HF8B7X\Q1#[ MQ<"S@`6!FU$)6V,5LB80X&S^B-VNPUH)]DH7,1JZMXKIAK`CK2)7*=UWT]MZ M9L70L`O7P94,7GC\3&9-K,QQ92Z_4YK&'/_V+0KK7]X%4M#D$S(^+Q92,6TE M[U9\@U'%'?(1\\3RF._'EA](O'3IC](5JH^>=7B3$3DX8%ADHQ(8OL2MZ`2? M059&0V$M;Z^OKB>*+EUQ/`N@RX-\XF<7KV3J`LGD9C\:UE0P%]GC^,@%,HN; MP^%[>H9B]S>`Q+!:*6_64Z:K9(X+TL8<]/$`)*):(SH!/#>(_*O'0<RL0I(+ M^^180C."9?)S(:\8"R2*%EPBPT0\QWVD.F(]37W_KI7D>X(#^CY.>T_1D>9) M)$3QV$)>Q"=*[/6Q9-M`L&1@AXX94`6R"3RQMF)($G6+!7CT%K&>1[_/CI55 M&Y/_VU65F+*TJ.IIN9JJI\'.S+**2O0>+ZA0;5D]%4OKN7)*P[]NIISJJ.*R M@KYVI8BY3`C]\]5X=CNY^=+"95J[%MV'F,'*(Q"+][,]@=F'\7\G+QF/!_L' MBE$R(GXOWFPDPZ.-Y=OY'IPR!3=]HBL`B/"/6V0-[4+TBF*\@!>N];O1PP@# M%W/._C<@<VC6\E*\E[^NPW?(&)L%SB&]%2VYM-,(.JH\[,B[6KRGY[!S4,$S M\%$Z/;JZHZ_D[@Y)YA1^7S)')#56'J*PE])S+E::S//"#59$>$#!`@AF#WR3 M"(HZST=1(X"E@>53L$0R2K>1>%B[>/T5GQ&3VH`.@_*C;LNJ;&<N_<I&*?&H MY.:O4D'OD=Y")FI??-]X:+9=.X$?'X<_ROW5(YPT@5.5'.NJY]@H]+V6O^`. MQ94[/NX+J[8XO_W3`#LR<3G&]$$>8_H`$F,3@!W16U$R&).'=+VK[C"&NA., M'=61A5EWJ/:&FIR%F=(5,%.2:Q_Z4$%=X\@?M[3QBIM:$!=V<]J8/O,O9\`; M#2K9HP&-\WQW=*U7N-V5TFHP>_=\'MTQTJG2RM\89YNR%\&T"W^7*A0ZH@MB 5"!]4^7T:NWJL4*#]_T4X_!BY&``` ` end >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401261545.i0QFjnRP075973>