Annotation of XNU/iokit/Families/IOATABus/IOATAData.cpp, revision 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.