1*47674Scael.\" Copyright (c) 1980,1988, 1991 Regents of the University of California. 2*47674Scael.\" All rights reserved. 320665Smckusick.\" 4*47674Scael.\" %sccs.include.redist.man% 520665Smckusick.\" 6*47674Scael.\" @(#)hp.4 6.5 (Berkeley) 03/27/91 7*47674Scael.\" 8*47674Scael.Dd 9*47674Scael.Dt HP 4 vax 10*47674Scael.Os BSD 4 11*47674Scael.Sh NAME 12*47674Scael.Nm hp 13*47674Scael.Nd 14*47674Scael.Tn MASSBUS 15*47674Scaeldisk interface 16*47674Scael.Sh SYNOPSIS 17*47674Scael.Cd "disk hp0 at mba0 drive 0" 18*47674Scael.Sh DESCRIPTION 19*47674ScaelThe 20*47674Scael.Nm hp 21*47674Scaeldriver 22*47674Scaelis a generic Massbus disk driver which handles both the standard 23*47674Scael.Tn DEC 24*47674Scaelcontrollers and the Emulex 25*47674Scael.Tn SC750 26*47674Scaeland 27*47674Scael.Tn SC780 28*47674Scaelcontrollers. 29*47674ScaelIt is typical of a block-device disk driver; block 30*47674Scael.Tn I/O 31*47674Scaelis 32*47674Scaeldescribed in 33*47674Scael.Xr physio 4 . 34*47674Scael.Pp 35*47674ScaelThe script 36*47674Scael.Xr MAKEDEV 8 37*47674Scaelshould be used to create the special files; if a special file 38*47674Scaelneeds to be created by hand consult 39*47674Scael.Xr mknod 8 . 40*47674ScaelIt is recommended as a security precaution to not create special files 41*47674Scaelfor devices which may never be installed. 42*47674Scael.Pp 4334730SkarelsThe first sector of each disk contains both a first-stage bootstrap program 4434730Skarelsand a disk label containing geometry information and partition layouts (see 45*47674Scael.Xr disklabel 5 . 4634730SkarelsThis sector is normally write-protected, and disk-to-disk copies should 4734730Skarelsavoid copying this sector. 4834730SkarelsThe label may be updated with 49*47674Scael.Xr disklabel 8 , 5034730Skarelswhich can also be used to write-enable and write-disable the sector. 5134730SkarelsThe next 15 sectors contain a second-stage bootstrap program. 52*47674Scael.Sh DISK SUPPORT 53*47674ScaelThis driver handles both standard 54*47674Scael.Tn DEC 55*47674Scaelcontrollers and Emulex 56*47674Scael.Tn SC750 57*47674Scaeland 58*47674Scael.Tn SC780 59*47674Scaelcontrollers. 6034730SkarelsDuring autoconfiguration or whenever a drive comes on line for the first time, 61*47674Scaelor when a drive is opened after all partitions are closed, 6234730Skarelsthe first sector of the drive is examined for a disk label. 6334730SkarelsIf a label is found, the geometry of the drive and the partition tables 6434730Skarelsare taken from it. 6534730SkarelsIf no label is found, 66*47674Scaelstandard 67*47674Scael.Tn DEC 68*47674Scaeldrive types are 69*47674Scaelrecognized according to the 70*47674Scael.Tn MASSBUS 71*47674Scaeldrive type register, 7234730Skarelsand default partitions are used. 7334730SkarelsFor the Emulex controller the drive type register should be configured 74*47674Scaelto indicate the drive is an 75*47674Scael.Tn RM02 . 76*47674ScaelWhen this is encountered, 7720666Smckusickthe driver checks the holding register to find out 7820666Smckusickthe disk geometry and, based on this information, decides what 79*47674Scaelthe drive type is. 80*47674Scael.Pp 81*47674ScaelSpecial file names begin with 82*47674Scael.Sq Li hp 83*47674Scaeland 84*47674Scael.Sq Li rhp 85*47674Scaelfor the block and character files respectively. The second 86*47674Scaelcomponent of the name, a drive unit number in the range of zero to 87*47674Scaelseven, is represented by a 88*47674Scael.Sq Li ? 89*47674Scaelin the disk layouts below. 90*47674ScaelThe last component is the file system partition 91*47674Scaeldesignated 92*47674Scaelby a letter from 93*47674Scael.Sq Li a 94*47674Scaelto 95*47674Scael.Sq Li h 96*47674Scaeland also corresponds to a minor device number set: zero to seven, 97*47674Scaeleight to 15, 16 to 23 and so forth for drive zero, drive two and drive 98*47674Scaelthree respectively. 99*47674ScaelThe following disks are supported: 100*47674Scael.Tn RM03 , 101*47674Scael.Tn RM05 , 102*47674Scael.Tn RP06 , 103*47674Scael.Tn RM80 , 104*47674Scael.Tn RP05 , 105*47674Scael.Tn RP07 , 106*47674Scael.Tn ML11A , 107*47674Scael.Tn ML11B , 108*47674Scael.Tn CDC 9775 , 109*47674Scael.Tn CDC 9730 , 110*47674Scael.Tn AMPEX 111*47674ScaelCapricorn (32 sectors/track), 112*47674Scael.Tn FUJITSU 113*47674ScaelEagle (48 sectors/track), 114*47674Scael.Tn FUJITSU 2361, 115*47674Scaeland 116*47674Scael.Tn AMPEX 117*47674Scael9300. The default layout and size (in sectors) of the 118*47674Scaelpartitions for these drives: 119*47674Scael.Bl -column header diskx undefined length 120*47674Scael.Tn RM03 No partitions 121*47674Scael.Sy disk start length cyls 12220665Smckusick hp?a 0 15884 0-99 12320665Smckusick hp?b 16000 33440 100-309 12420665Smckusick hp?c 0 131680 0-822 12520666Smckusick hp?d 49600 15884 309-408 12620666Smckusick hp?e 65440 55936 409-758 12720666Smckusick hp?f 121440 10080 759-822 12820666Smckusick hp?g 49600 82080 309-822 129*47674Scael 130*47674Scael.Tn RM05 No partitions 131*47674Scael.Sy disk start length cyls 13220665Smckusick hp?a 0 15884 0-26 13320665Smckusick hp?b 16416 33440 27-81 13420665Smckusick hp?c 0 500384 0-822 13520665Smckusick hp?d 341696 15884 562-588 13620665Smckusick hp?e 358112 55936 589-680 13720666Smckusick hp?f 414048 86176 681-822 13820666Smckusick hp?g 341696 158528 562-822 13920665Smckusick hp?h 49856 291346 82-561 140*47674Scael 141*47674Scael.Tn RP06 No partitions 142*47674Scael.Sy disk start length cyls 14320666Smckusick hp?a 0 15884 0-37 14420666Smckusick hp?b 15884 33440 38-117 14520666Smckusick hp?c 0 340670 0-814 14620666Smckusick hp?d 49324 15884 118-155 14720666Smckusick hp?e 65208 55936 156-289 14820666Smckusick hp?f 121220 219296 290-814 14920666Smckusick hp?g 49324 291192 118-814 150*47674Scael 151*47674Scael.Tn RM80 No partitions 152*47674Scael.Sy disk start length cyls 15320665Smckusick hp?a 0 15884 0-36 15420665Smckusick hp?b 16058 33440 37-114 15520665Smckusick hp?c 0 242606 0-558 15620666Smckusick hp?d 49910 15884 115-151 15720666Smckusick hp?e 68096 55936 152-280 15820666Smckusick hp?f 125888 120466 281-558 15920666Smckusick hp?g 49910 192510 115-558 160*47674Scael 161*47674Scael.Tn RP05 No partitions 162*47674Scael.Sy disk start length cyls 16320666Smckusick hp?a 0 15884 0-37 16420666Smckusick hp?b 15884 33440 38-117 16520666Smckusick hp?c 0 171798 0-410 16620666Smckusick hp?d 2242 15884 118-155 16720666Smckusick hp?e 65208 55936 156-289 16820666Smckusick hp?f 121220 50424 290-410 16920666Smckusick hp?g 2242 122320 118-410 170*47674Scael 171*47674Scael.Tn RP07 No partitions 172*47674Scael.Sy disk start length cyls 17320665Smckusick hp?a 0 15884 0-9 17420666Smckusick hp?b 16000 66880 10-51 17520665Smckusick hp?c 0 1008000 0-629 17620666Smckusick hp?d 376000 15884 235-244 17720666Smckusick hp?e 392000 307200 245-436 17820666Smckusick hp?f 699200 308600 437-629 17920666Smckusick hp?g 376000 631800 235-629 18020666Smckusick hp?h 83200 291346 52-234 181*47674Scael 182*47674Scael.Tn CDC No 9775 partitions 183*47674Scael.Sy disk start length cyls 18420666Smckusick hp?a 0 15884 0-12 18520666Smckusick hp?b 16640 66880 13-65 18628250Skarels hp?c 0 1077760 0-841 18720666Smckusick hp?d 376320 15884 294-306 18820666Smckusick hp?e 392960 307200 307-546 18928250Skarels hp?f 700160 377440 547-841 19028250Skarels hp?g 376320 701280 294-841 19120666Smckusick hp?h 84480 291346 66-293 192*47674Scael 193*47674Scael.Tn CDC No 9730 partitions 194*47674Scael.Sy disk start length cyls 19520666Smckusick hp?a 0 15884 0-49 19620666Smckusick hp?b 16000 33440 50-154 19720666Smckusick hp?c 0 263360 0-822 19820666Smckusick hp?d 49600 15884 155-204 19920666Smckusick hp?e 65600 55936 205-379 20020666Smckusick hp?f 121600 141600 380-822 20120666Smckusick hp?g 49600 213600 155-822 202*47674Scael 203*47674Scael.Tn AMPEX No Capricorn partitions 204*47674Scael.Sy disk start length cyls 20520666Smckusick hp?a 0 15884 0-31 20620666Smckusick hp?b 16384 33440 32-97 20720666Smckusick hp?c 0 524288 0-1023 20820666Smckusick hp?d 342016 15884 668-699 20920666Smckusick hp?e 358400 55936 700-809 21020666Smckusick hp?f 414720 109408 810-1023 21120666Smckusick hp?g 342016 182112 668-1023 21220666Smckusick hp?h 50176 291346 98-667 213*47674Scael 214*47674Scael.Tn FUJITSU No Eagle partitions 215*47674Scael.Sy disk start length cyls 21620666Smckusick hp?a 0 15884 0-16 21720666Smckusick hp?b 16320 66880 17-86 21820666Smckusick hp?c 0 808320 0-841 21920666Smckusick hp?d 375360 15884 391-407 22020666Smckusick hp?e 391680 55936 408-727 22120666Smckusick hp?f 698880 109248 728-841 22220666Smckusick hp?g 375360 432768 391-841 22320666Smckusick hp?h 83520 291346 87-390 224*47674Scael 225*47674Scael.Tn FUJITSU No 2361 partitions 226*47674Scael.Sy disk start length cyls 22728936Smis hp?a 0 15884 0-12 22828936Smis hp?b 16640 66880 13-65 22928936Smis hp?c 0 1077760 0-841 23028936Smis hp?d 376320 15884 294-306 23128936Smis hp?e 392960 307200 307-546 23228936Smis hp?f 700160 377408 547-841 23328936Smis hp?g 363520 701248 294-841 23428936Smis hp?h 84480 291346 66-293 235*47674Scael 236*47674Scael.Tn AMPEX No 9300 partitions 237*47674Scael.Sy disk start length cyl 23820666Smckusick hp?a 0 15884 0-26 23920666Smckusick hp?b 16416 33440 27-81 24020666Smckusick hp?c 0 495520 0-814 24120666Smckusick hp?d 341696 15884 562-588 24220666Smckusick hp?e 358112 55936 589-680 24320666Smckusick hp?f 414048 81312 681-814 24420666Smckusick hp?g 341696 153664 562-814 24520666Smckusick hp?h 49856 291346 82-561 246*47674Scael.El 247*47674Scael.Pp 24820665SmckusickThe hp?a partition is normally used for the root file system, 24920665Smckusickthe hp?b partition as a paging area, 25020665Smckusickand the hp?c partition for pack-pack copying (it maps the entire disk). 25120666SmckusickOn disks larger than about 205 Megabytes, the hp?h partition 25220666Smckusickis inserted prior to the hp?d or hp?g partition; 25320666Smckusickthe hp?g partition then maps the remainder of the pack. 25420666SmckusickAll disk partition tables are calculated using the 255*47674Scael.Xr diskpart 8 25620666Smckusickprogram. 257*47674Scael.Pp 258*47674Scael.Sh FILES 259*47674Scael.Bl -tag -width /dev/rhp[0-7][a-h] -compact 260*47674Scael.It Pa /dev/hp[0-7][a-h] 261*47674Scaelblock files 262*47674Scael.It Pa /dev/rhp[0-7][a-h] 263*47674Scaelraw files 264*47674Scael.El 265*47674Scael.Sh DIAGNOSTICS 266*47674Scael.Bl -diag 267*47674Scael.It "hp%d%c: hard error %sing fsbn %d [of %d-%d] (hp%d bn %d cn %d tn %d sn %d) mbsr=%b er1=%b er2=%b." 26834730SkarelsAn unrecoverable error occurred during transfer of the specified 26934730Skarelsfilesystem block number, 27034730Skarelswhich is a logical block number on the indicated partition. 27134730SkarelsIf the transfer involved multiple blocks, the block range is printed as well. 27234730SkarelsThe parenthesized fields list the actual disk sector number 27334730Skarelsrelative to the beginning of the drive, 27434730Skarelsas well as the cylinder, track and sector number of the block. 275*47674ScaelThe 276*47674Scael.Tn MASSBUS 277*47674Scaelstatus register is printed in hexadecimal and 278*47674Scaelwith the error bits decoded if any error bits other than 279*47674Scael.Tn MBEXC 280*47674Scaeland 281*47674Scael.Tn DTABT 28220665Smckusickare set. In any case the contents of the two error registers are also printed 28320665Smckusickin octal and symbolically with bits decoded. 284*47674Scael(Note that er2 is what old 285*47674Scael.Tn RP06 286*47674Scaelmanuals would call 287*47674Scael.Tn RPER3 ; 288*47674Scaelthe terminology 289*47674Scaelis that of the 290*47674Scael.Tn RM 291*47674Scaeldisks). 29220665SmckusickThe error was either unrecoverable, or a large number of retry attempts 29320665Smckusick(including offset positioning and drive recalibration) could not 29420665Smckusickrecover the error. 295*47674Scael.Pp 296*47674Scael.It hp%d: write locked. 297*47674ScaelThe write protect switch was set on the drive 29820665Smckusickwhen a write was attempted. The write operation is not recoverable. 299*47674Scael.Pp 300*47674Scael.It hp%d: not ready . 301*47674ScaelThe drive was spun down or off line when it was 302*47674Scaelaccessed. The 303*47674Scael.Tn I/O 304*47674Scaeloperation is not recoverable. 305*47674Scael.Pp 306*47674Scael.It "hp%d%c: soft ecc reading fsbn %d [of %d-%d] (hp%d bn %d cn %d tn %d sn %d)." 307*47674ScaelA recoverable 308*47674Scael.Tn ECC 309*47674Scaelerror occurred on the 31020666Smckusickspecified sector of the specified disk partition. 31134730SkarelsIf the transfer involved multiple blocks, the block range is printed as well. 31234730SkarelsThe parenthesized fields list the actual disk sector number 31334730Skarelsrelative to the beginning of the drive, 31434730Skarelsas well as the cylinder, track and sector number of the block. 31520666SmckusickThis happens normally 31620665Smckusicka few times a week. If it happens more frequently than 31720666Smckusickthis the sectors where the errors are occurring should be checked to see 31820665Smckusickif certain cylinders on the pack, spots on the carriage of the drive 31920665Smckusickor heads are indicated. 320*47674Scael.Pp 321*47674Scael.It hp%d: 9775 (direct). 322*47674Scael.It hp%d: 9730 (direct). 323*47674Scael.It hp%d: 9300. 324*47674Scael.It hp%d: 9762. 325*47674Scael.It hp%d: capricorn. 326*47674Scael.It hp%d: eagle. 327*47674Scael.It hp%d: 2361. 328*47674Scael.It hp%d: ntracks %d, nsectors %d: unknown device. 329*47674ScaelDuring autoconfiguration one of the above messages may appear 33020666Smckusickon the console indicating the appropriate drive type was recognized. 33120666SmckusickThe last message indicates the drive is of a unknown type. 33234730SkarelsIn this case, the correct geometry is set, and one partition is created 33334730Skarelsthat contains the entire drive. 334*47674Scael.Pp 335*47674Scael.El 336*47674Scael.Sh SEE ALSO 337*47674Scael.Xr physio 4 , 338*47674Scael.Xr up 4 , 339*47674Scael.Xr disklabel 5 , 340*47674Scael.Xr MAKEDEV 8 341*47674Scael.Xr disklabel 8 342*47674Scael.Xr mknod 8 343*47674Scael.Sh HISTORY 344*47674ScaelThe 345*47674Scael.Nm 346*47674Scaeldriver appeared in 347*47674Scael.Bx 4.0 . 348*47674Scael.Sh BUGS 349*47674Scael.Tn DEC Ns -standard 350*47674Scaelerror logging should be supported. 351*47674Scael.Pp 35220665SmckusickA program to analyze the logged error information (even in its 35320665Smckusickpresent reduced form) is needed. 354