Annotation of XNU/iokit/Drivers/platform/drvAppleCuda/AppleCudaCommands.h, 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:  * Copyright 1996 1995 by Open Software Foundation, Inc. 1997 1996 1995 1994 1993 1992 1991  
        !            24:  *              All Rights Reserved 
        !            25:  *  
        !            26:  * Permission to use, copy, modify, and distribute this software and 
        !            27:  * its documentation for any purpose and without fee is hereby granted, 
        !            28:  * provided that the above copyright notice appears in all copies and 
        !            29:  * that both the copyright notice and this permission notice appear in 
        !            30:  * supporting documentation. 
        !            31:  *  
        !            32:  * OSF DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE 
        !            33:  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
        !            34:  * FOR A PARTICULAR PURPOSE. 
        !            35:  *  
        !            36:  * IN NO EVENT SHALL OSF BE LIABLE FOR ANY SPECIAL, INDIRECT, OR 
        !            37:  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 
        !            38:  * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT, 
        !            39:  * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 
        !            40:  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
        !            41:  * 
        !            42:  */
        !            43: /*
        !            44:  * Copyright 1996 1995 by Apple Computer, Inc. 1997 1996 1995 1994 1993 1992 1991  
        !            45:  *              All Rights Reserved 
        !            46:  *  
        !            47:  * Permission to use, copy, modify, and distribute this software and 
        !            48:  * its documentation for any purpose and without fee is hereby granted, 
        !            49:  * provided that the above copyright notice appears in all copies and 
        !            50:  * that both the copyright notice and this permission notice appear in 
        !            51:  * supporting documentation. 
        !            52:  *  
        !            53:  * APPLE COMPUTER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE 
        !            54:  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
        !            55:  * FOR A PARTICULAR PURPOSE. 
        !            56:  *  
        !            57:  * IN NO EVENT SHALL APPLE COMPUTER BE LIABLE FOR ANY SPECIAL, INDIRECT, OR 
        !            58:  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 
        !            59:  * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT, 
        !            60:  * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 
        !            61:  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
        !            62:  */
        !            63: /*
        !            64:  * MKLINUX-1.0DR2
        !            65:  */
        !            66: 
        !            67: /*
        !            68:  * 18 June 1998 sdouglas
        !            69:  * Start IOKit version.
        !            70:  */
        !            71: 
        !            72: struct cuda_packet {
        !            73:     int            a_hcount;
        !            74:     unsigned char   a_header[8];
        !            75:     int            a_bcount;       /* on entry size, on exit, actual */
        !            76:     unsigned char * a_buffer;      /* ool data */
        !            77: };
        !            78: 
        !            79: typedef struct cuda_packet cuda_packet_t;
        !            80: 
        !            81: #ifdef __cplusplus
        !            82: class IOSyncer;
        !            83: 
        !            84: struct cuda_request {
        !            85:     cuda_packet_t              a_cmd;      /* Command packet */
        !            86:     cuda_packet_t              a_reply;    /* Reply packet */
        !            87:     volatile struct cuda_request* a_next;
        !            88:     IOSyncer *                 sync;
        !            89:     bool                       needWake;
        !            90: };
        !            91: 
        !            92: typedef struct cuda_request cuda_request_t;
        !            93: 
        !            94: #else
        !            95: 
        !            96: struct cuda_request {
        !            97:     cuda_packet_t              a_cmd;      /* Command packet */
        !            98:     cuda_packet_t              a_reply;    /* Reply packet */
        !            99:     volatile struct cuda_request* a_next;
        !           100:     void *                     sync;
        !           101: };
        !           102: 
        !           103: typedef struct cuda_request cuda_request_t;
        !           104: 
        !           105: #endif
        !           106: 
        !           107: 
        !           108: /*
        !           109:  * ADB Packet Types
        !           110:  */
        !           111: 
        !           112: #define ADB_PACKET_ADB      0
        !           113: #define ADB_PACKET_PSEUDO   1
        !           114: #define ADB_PACKET_ERROR    2
        !           115: #define ADB_PACKET_TIMER    3
        !           116: #define ADB_PACKET_POWER    4
        !           117: #define ADB_PACKET_MACIIC   5
        !           118: 
        !           119: /*
        !           120:  * ADB Device Commands 
        !           121:  */
        !           122: 
        !           123: #define ADB_ADBCMD_RESET_BUS    0x00
        !           124: #define ADB_ADBCMD_FLUSH_ADB    0x01
        !           125: #define ADB_ADBCMD_WRITE_ADB    0x08
        !           126: #define ADB_ADBCMD_READ_ADB    0x0c
        !           127: 
        !           128: /*
        !           129:  * ADB Pseudo Commands
        !           130:  */
        !           131: 
        !           132: #define ADB_PSEUDOCMD_WARM_START                       0x00
        !           133: #define ADB_PSEUDOCMD_START_STOP_AUTO_POLL     0x01
        !           134: #define ADB_PSEUDOCMD_GET_6805_ADDRESS         0x02
        !           135: #define ADB_PSEUDOCMD_GET_REAL_TIME            0x03
        !           136: #define ADB_PSEUDOCMD_GET_PRAM                 0x07
        !           137: #define ADB_PSEUDOCMD_SET_6805_ADDRESS         0x08
        !           138: #define ADB_PSEUDOCMD_SET_REAL_TIME            0x09
        !           139: #define ADB_PSEUDOCMD_POWER_DOWN               0x0a
        !           140: #define ADB_PSEUDOCMD_SET_POWER_UPTIME         0x0b
        !           141: #define ADB_PSEUDOCMD_SET_PRAM                 0x0c
        !           142: #define ADB_PSEUDOCMD_MONO_STABLE_RESET        0x0d
        !           143: #define ADB_PSEUDOCMD_SEND_DFAC                0x0e
        !           144: #define ADB_PSEUDOCMD_BATTERY_SWAP_SENSE       0x10
        !           145: #define ADB_PSEUDOCMD_RESTART_SYSTEM           0x11
        !           146: #define ADB_PSEUDOCMD_SET_IPL_LEVEL            0x12
        !           147: #define ADB_PSEUDOCMD_FILE_SERVER_FLAG         0x13
        !           148: #define ADB_PSEUDOCMD_SET_AUTO_RATE            0x14
        !           149: #define ADB_PSEUDOCMD_GET_AUTO_RATE            0x16
        !           150: #define ADB_PSEUDOCMD_SET_DEVICE_LIST          0x19
        !           151: #define ADB_PSEUDOCMD_GET_DEVICE_LIST          0x1a
        !           152: #define ADB_PSEUDOCMD_SET_ONE_SECOND_MODE      0x1b
        !           153: #define ADB_PSEUDOCMD_SET_POWER_MESSAGES       0x21
        !           154: #define ADB_PSEUDOCMD_GET_SET_IIC              0x22
        !           155: #define ADB_PSEUDOCMD_ENABLE_DISABLE_WAKEUP    0x23
        !           156: #define ADB_PSEUDOCMD_TIMER_TICKLE             0x24
        !           157: #define ADB_PSEUDOCMD_COMBINED_FORMAT_IIC      0X25
        !           158: 
        !           159: /*
        !           160:  * Macros to help build commands up
        !           161:  */
        !           162: 
        !           163: #define ADB_BUILD_CMD1(c, p1) {(c)->a_cmd.a_header[0] = p1; (c)->a_cmd.a_hcount = 1; }
        !           164: #define ADB_BUILD_CMD2(c, p1, p2) {(c)->a_cmd.a_header[0] = p1; (c)->a_cmd.a_header[1] = p2; (c)->a_cmd.a_hcount = 2; }
        !           165: #define ADB_BUILD_CMD3(c, p1, p2, p3) {(c)->a_cmd.a_header[0] = p1; (c)->a_cmd.a_header[1] = p2; (c)->a_cmd.a_header[2] = p3; (c)->a_cmd.a_hcount = 3; }
        !           166: 
        !           167: #define ADB_BUILD_CMD4(c, p1, p2, p3, p4) {(c)->a_cmd.a_header[0] = p1; (c)->a_cmd.a_header[1] = p2; \
        !           168:                      (c)->a_cmd.a_header[2] = p3; (c)->a_cmd.a_header[3] = p4; (c)->a_cmd.a_hcount = 4; }
        !           169: #if 0
        !           170: #define ADB_BUILD_CMD2_BUFFER(c, p1, p2, len, buf) {(c)->a_cmd.a_header[0] = p1; (c)->a_cmd.a_header[1] = p2; (c)->a_cmd.a_hcount = 2;\
        !           171:         (c)->a_cmd.a_bcount = len;\
        !           172:         memcpy(&(c)->a_cmd.a_buffer, buf, len); }
        !           173: 
        !           174: #endif
        !           175: 
        !           176: #define adb_init_request(a) { bzero((char *) a, sizeof(*a)); }
        !           177: 
        !           178: 
        !           179: 

unix.superglobalmegacorp.com

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