Annotation of XNU/iokit/Families/IOATABus/IOATAData.cpp, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * The contents of this file constitute Original Code as defined in and
                      7:  * are subject to the Apple Public Source License Version 1.1 (the
                      8:  * "License").  You may not use this file except in compliance with the
                      9:  * License.  Please obtain a copy of the License at
                     10:  * http://www.apple.com/publicsource and read it before using this file.
                     11:  * 
                     12:  * This Original Code and all software distributed under the License are
                     13:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     14:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     15:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     16:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     17:  * License for the specific language governing rights and limitations
                     18:  * under the License.
                     19:  * 
                     20:  * @APPLE_LICENSE_HEADER_END@
                     21:  */
                     22: /*
                     23:  *
                     24:  *    IOATAData.cpp
                     25:  *
                     26:  */
                     27: 
                     28: #include <IOKit/ata/IOATA.h>
                     29: #include "ATAPrivate.h"
                     30: 
                     31: static void  *x;
                     32: #define id ((ATAIdentify *)x)
                     33: 
                     34: EndianTable  AppleIdentifyEndianTable[] =
                     35: {
                     36:     { sizeof(id->generalConfiguration),                sizeof(UInt16)  },
                     37:     { sizeof(id->logicalCylinders),                    sizeof(UInt16)  },
                     38:     { sizeof(id->reserved_1),                          sizeof(UInt16)  },
                     39:     { sizeof(id->logicalHeads),                        sizeof(UInt16)  },
                     40:     { sizeof(id->reserved_2),                          sizeof(UInt16)  },
                     41:     { sizeof(id->logicalSectorsPerTrack),              sizeof(UInt16)  },
                     42:     { sizeof(id->reserved_3),                          sizeof(UInt16)  },
                     43:     { sizeof(id->serialNumber),                        sizeof(UInt8)   },
                     44:     { sizeof(id->reserved_4),                          sizeof(UInt16)  },
                     45:     { sizeof(id->firmwareRevision),                    sizeof(UInt8)   },
                     46:     { sizeof(id->modelNumber),                                 sizeof(UInt8)   },
                     47:     { sizeof(id->multipleModeSectors),                         sizeof(UInt16)  },
                     48:     { sizeof(id->reserved_5),                          sizeof(UInt16)  },
                     49:     { sizeof(id->capabilities1),                       sizeof(UInt16)  },
                     50:     { sizeof(id->capabilities2),                       sizeof(UInt16)  },
                     51:     { sizeof(id->pioMode),                             sizeof(UInt16)  },
                     52:     { sizeof(id->reserved_6),                          sizeof(UInt16)  },
                     53:     { sizeof(id->validFields),                                 sizeof(UInt16)  },
                     54:     { sizeof(id->currentLogicalCylinders),             sizeof(UInt16)  },
                     55:     { sizeof(id->currentLogicalHeads),                         sizeof(UInt16)  },
                     56:     { sizeof(id->currentLogicalSectorsPerTrack),       sizeof(UInt16)  },
                     57:     { sizeof(id->currentAddressableSectors),           sizeof(UInt32)  },
                     58:     { sizeof(id->currentMultipleModeSectors),          sizeof(UInt16)  },
                     59:     { sizeof(id->userAddressableSectors),              sizeof(UInt32)  },
                     60:     { sizeof(id->reserved_7),                          sizeof(UInt16)  },
                     61:     { sizeof(id->dmaModes),                            sizeof(UInt16)  },
                     62:     { sizeof(id->advancedPIOModes),                    sizeof(UInt16)  },
                     63:     { sizeof(id->minDMACycleTime),                     sizeof(UInt16)  },
                     64:     { sizeof(id->recDMACycleTime),                     sizeof(UInt16)  },
                     65:     { sizeof(id->minPIOCycleTimeNoIORDY),              sizeof(UInt16)  },
                     66:     { sizeof(id->minPIOCyclcTimeIORDY),                sizeof(UInt16)  },
                     67:     { sizeof(id->reserved_8),                          sizeof(UInt16)  },
                     68:     { sizeof(id->busReleaseLatency),                   sizeof(UInt16)  },
                     69:     { sizeof(id->serviceLatency),                      sizeof(UInt16)  },
                     70:     { sizeof(id->reserved_9),                          sizeof(UInt16)  },
                     71:     { sizeof(id->queueDepth),                          sizeof(UInt16)  },
                     72:     { sizeof(id->reserved_10),                                 sizeof(UInt16)  },
                     73:     { sizeof(id->versionMajor),                                sizeof(UInt16)  },
                     74:     { sizeof(id->versionMinor),                        sizeof(UInt16)  },
                     75:     { sizeof(id->commandSetsSupported1),               sizeof(UInt16)  },
                     76:     { sizeof(id->commandSetsSupported2),               sizeof(UInt16)  },
                     77:     { sizeof(id->commandSetsSupported3),               sizeof(UInt16)  },
                     78:     { sizeof(id->commandSetsEnabled1),                         sizeof(UInt16)  },
                     79:     { sizeof(id->commandSetsEnabled2),                         sizeof(UInt16)  },
                     80:     { sizeof(id-> commandSetsDefault),                         sizeof(UInt16)  },
                     81:     { sizeof(id->ultraDMAModes),                       sizeof(UInt16)  },
                     82:     { sizeof(id->securityEraseTime),                   sizeof(UInt16)  },
                     83:     { sizeof(id-> securityEnhancedEraseTime),          sizeof(UInt16)  },
                     84:     { sizeof(id-> currentAdvPowerMgtValue),            sizeof(UInt16)  },
                     85:     { sizeof(id->reserved_11),                         sizeof(UInt16)  },
                     86:     { sizeof(id->removableMediaSupported),             sizeof(UInt16)  },
                     87:     { sizeof(id->securityStatus),                      sizeof(UInt16)  },
                     88:     { sizeof(id->reserved_12),                         sizeof(UInt16)  },
                     89:     { 0,                                               0               }
                     90: };    
                     91: 
                     92: ATAModeTable ApplePIOModes[] =
                     93: {
                     94:     { 165,    600 },   /* Mode 0 */
                     95:     { 125,    383 },   /*      1 */ 
                     96:     { 100,    240 },   /*      2 */
                     97:     {  80,    180 },   /*      3 */
                     98:     {  70,    120 }    /*      4 */
                     99: };
                    100: UInt32 AppleNumPIOModes = (sizeof(ApplePIOModes)/sizeof(ATAModeTable));
                    101: 
                    102: ATAModeTable AppleDMAModes[] =
                    103: {
                    104:     { 215,    480 },   /* Mode 0 */
                    105:     {  80,    150 },   /*      1 */
                    106:     {  70,    120 }    /*      2 */
                    107: };
                    108: UInt32 AppleNumDMAModes = (sizeof(AppleDMAModes)/sizeof(ATAModeTable));
                    109: 
                    110: ATAModeTable AppleUltraModes[] =
                    111: {
                    112:     {   0,    114 },   /* Mode 0 */
                    113:     {   0,     75 },   /*      1 */
                    114:     {   0,     55 },   /*      2 */
                    115:     {   100,   45 },   /*      3 */
                    116:     {   100,   25 }    /*      4 */
                    117: };
                    118: UInt32 AppleNumUltraModes = (sizeof(AppleUltraModes)/sizeof(ATAModeTable));
                    119: 

unix.superglobalmegacorp.com

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