Annotation of coherent/f/usr/man/KERNEL/at, revision 1.1

1.1     ! root        1: aatt -- Device Driver
        !             2: 
        !             3: 
        !             4: /ddeevv/aatt*  are  the   COHERENT  system's  AT  devices  for  the  hard-disk's
        !             5: partitions.  Each  device is  assigned major-device  number 11, and  may be
        !             6: accessed as a block- or character-special device.
        !             7: 
        !             8: aatt handles  two drives with  up to four  partitions each.  Minor  devices 0
        !             9: through 3  identify the partitions on  drive 0.  Minor devices  4 through 7
        !            10: identify the partitions on drive 1.   Minor device 128 allows access to all
        !            11: of drive 0.   Minor device 129 allows access to  all of drive 1.  To modify
        !            12: the  offsets and  sizes of  the partitions,  use the  command ffddiisskk  on the
        !            13: special device for each drive (minor devices 128 and 129).
        !            14: 
        !            15: To access a disk partition  through COHERENT, directory /ddeevv must contain a
        !            16: device file that has the  appropriate type, major and minor device numbers,
        !            17: and  permissions.  To  create a  special file for  this device,  invoke the
        !            18: command mmkknnoodd as follows:
        !            19: 
        !            20: /etc/mknod /dev/at0a b 11   0 ; : drive 0, partition 0
        !            21: /etc/mknod /dev/at0b b 11   1 ; : drive 0, partition 1
        !            22: /etc/mknod /dev/at0c b 11   2 ; : drive 0, partition 2
        !            23: /etc/mknod /dev/at0d b 11   3 ; : drive 0, partition 3
        !            24: /etc/mknod /dev/at0x b 11 128 ; : drive 0, partition table
        !            25: 
        !            26: _K_e_r_n_e_l _V_a_r_i_a_b_l_e_s
        !            27: Please  note  that the  COHERENT  286 kernel  references  variables with  a
        !            28: trailing  underscore character;  for  example, aattppaarrmm_.   The COHERENT  386
        !            29: kernel, however, does _n_o_t use a trailing underscore; for example, aattppaarrmm.
        !            30: 
        !            31: The following descriptions apply to both COHERENT 286 and COHERENT 386, but
        !            32: the notation will be in the COHERENT-386 form.
        !            33: 
        !            34: _D_r_i_v_e _C_h_a_r_a_c_t_e_r_i_s_t_i_c_s
        !            35: When  processing BIOS  I/O  requests prior  to booting  COHERENT, many  IDE
        !            36: drives  use   ``translation-mode''  drive  parameters:   number  of  heads,
        !            37: cylinders, and  sectors per track.   These numbers are  called translation-
        !            38: mode parameters  because they do not reflect  true physical drive geometry.
        !            39: The translation-mode parameters used by  the BIOS code present on your host
        !            40: adapter can  be obtained  using the  iinnffoo command from  ttbboooott. It  is often
        !            41: necessary  to patch  the  aatt driver  with BIOS  values of  translation-mode
        !            42: parameters  in order  to boot  COHERENT  on IDE  hard drives.   In COHERENT
        !            43: versions 3.1.0  and later, drive  parameters are stored in  table aattppaarrmm in
        !            44: the driver.  For the first hard drive, number of cylinders is a short (two-
        !            45: byte) value at aattppaarrmm+00, number of  heads is a single byte at aattppaarrmm+22, and
        !            46: number of sectors  per track is a single byte  at aattppaarrmm+1144. For the second
        !            47: hard drive,  number of cylinders is  a short value at  aattppaarrmm+1166, number of
        !            48: heads is a  single byte at aattppaarrmm+1188, and number  of sectors per track is a
        !            49: single byte at  aattppaarrmm+3300. For example, if tteessttccoohh is  a kernel linked with
        !            50: the aatt  driver and you  want to patch it  for a second hard  drive with 829
        !            51: cylinders, 10 heads, and 26 sectors per track, you can do:
        !            52: 
        !            53:     /conf/patch testcoh atparm+16=829:s atparm+18=10:c atparm+30=26:c
        !            54: 
        !            55: To read the  characteristics of a hard disk once  the aatt driver is running,
        !            56: use the call to iiooccttll of the following form:
        !            57: 
        !            58:     #include <sys/hdioctl.h>
        !            59:     hdparm_t hdparms;
        !            60:         . . .
        !            61:     ioctl(fd, HDGETA, (char *)&hdparms);
        !            62: 
        !            63: where _f_d is a file descriptor for the hard disk device and _h_d_p_a_r_m_s receives
        !            64: the disk characteristics.
        !            65: 
        !            66: _N_o_n-_S_t_a_n_d_a_r_d _a_n_d _U_n_s_u_p_p_o_r_t_e_d _T_y_p_e_s _o_f _D_r_i_v_e_s
        !            67: Prior releases  of the the  COHERENT aatt hard-disk driver  would not support
        !            68: disk drives  whose geometry  was not supported  by the BIOS  disk parameter
        !            69: tables.   COHERENT adds  support for  these  drives during  installation by
        !            70: ``patching'' the disk parameters into the bootstrap and the /ccoohheerreenntt image
        !            71: on the hard disk.
        !            72: 
        !            73: _F_i_l_e_s
        !            74: /ddeevv/aatt* -- Block-special files
        !            75: /ddeevv/rraatt* -- Character-special files
        !            76: 
        !            77: _S_e_e _A_l_s_o
        !            78: ddeevviiccee ddrriivveerrss, ffddiisskk
        !            79: 
        !            80: _N_o_t_e_s
        !            81: You  can  patch integer  variable  AATTSSRREEGG to  specify  normal or  alternate
        !            82: polling.   Use addresss  0x3F6 for  normal polling,  which works  with most
        !            83: newer drives.  Use address  0x1F7 for alternate polling, which is necessary
        !            84: for  Perstor controllers  and some  other older  equipment.  The  driver is
        !            85: shipped  with a  default value  of 0x3F6; patching  is usually  done during
        !            86: installation as  needed.  Setting this variable  improperly causes frequent
        !            87: controller timeouts and bad-track messages.
        !            88: 
        !            89: Integer  variable AATTSSEECCSS  specifies the  number  of seconds  to wait  for a
        !            90: response from  the drive after an  I/O request.  The default  value is six.
        !            91: Some  IDE  drives  occasionally  become  unresponsive  for  long  intervals
        !            92: (several  seconds)  while  control  firmware  makes  adjustments  to  drive
        !            93: operation.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.