1*10696SDavid.Hollister@Sun.COM /* 2*10696SDavid.Hollister@Sun.COM * CDDL HEADER START 3*10696SDavid.Hollister@Sun.COM * 4*10696SDavid.Hollister@Sun.COM * The contents of this file are subject to the terms of the 5*10696SDavid.Hollister@Sun.COM * Common Development and Distribution License (the "License"). 6*10696SDavid.Hollister@Sun.COM * You may not use this file except in compliance with the License. 7*10696SDavid.Hollister@Sun.COM * 8*10696SDavid.Hollister@Sun.COM * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*10696SDavid.Hollister@Sun.COM * or http://www.opensolaris.org/os/licensing. 10*10696SDavid.Hollister@Sun.COM * See the License for the specific language governing permissions 11*10696SDavid.Hollister@Sun.COM * and limitations under the License. 12*10696SDavid.Hollister@Sun.COM * 13*10696SDavid.Hollister@Sun.COM * When distributing Covered Code, include this CDDL HEADER in each 14*10696SDavid.Hollister@Sun.COM * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*10696SDavid.Hollister@Sun.COM * If applicable, add the following below this CDDL HEADER, with the 16*10696SDavid.Hollister@Sun.COM * fields enclosed by brackets "[]" replaced with your own identifying 17*10696SDavid.Hollister@Sun.COM * information: Portions Copyright [yyyy] [name of copyright owner] 18*10696SDavid.Hollister@Sun.COM * 19*10696SDavid.Hollister@Sun.COM * CDDL HEADER END 20*10696SDavid.Hollister@Sun.COM * 21*10696SDavid.Hollister@Sun.COM * 22*10696SDavid.Hollister@Sun.COM * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23*10696SDavid.Hollister@Sun.COM * Use is subject to license terms. 24*10696SDavid.Hollister@Sun.COM */ 25*10696SDavid.Hollister@Sun.COM /* 26*10696SDavid.Hollister@Sun.COM * ATA8-ACS Definitions (subset) Working Draft AT Attachment 8 - ATA/ATAPI 27*10696SDavid.Hollister@Sun.COM * Command Set (D1699r4c) 28*10696SDavid.Hollister@Sun.COM */ 29*10696SDavid.Hollister@Sun.COM #ifndef _ATA8_ACS_H 30*10696SDavid.Hollister@Sun.COM #define _ATA8_ACS_H 31*10696SDavid.Hollister@Sun.COM #ifdef __cplusplus 32*10696SDavid.Hollister@Sun.COM extern "C" { 33*10696SDavid.Hollister@Sun.COM #endif 34*10696SDavid.Hollister@Sun.COM 35*10696SDavid.Hollister@Sun.COM /* 36*10696SDavid.Hollister@Sun.COM * ATA Command Set 37*10696SDavid.Hollister@Sun.COM */ 38*10696SDavid.Hollister@Sun.COM enum ata_opcode { 39*10696SDavid.Hollister@Sun.COM ATA_NOP = 0x00, 40*10696SDavid.Hollister@Sun.COM CFA_REQUEST_EXTENDED_ERROR = 0x03, 41*10696SDavid.Hollister@Sun.COM DEVICE_RESET = 0x08, 42*10696SDavid.Hollister@Sun.COM READ_SECTORS = 0x20, 43*10696SDavid.Hollister@Sun.COM READ_SECTORS_EXT = 0x24, 44*10696SDavid.Hollister@Sun.COM READ_DMA_EXT = 0x25, 45*10696SDavid.Hollister@Sun.COM READ_DMA_QUEUED_EXT = 0x26, 46*10696SDavid.Hollister@Sun.COM READ_NATIVE_MAX_ADDRESS_EXT = 0x27, 47*10696SDavid.Hollister@Sun.COM READ_MULTIPLE_EXT = 0x29, 48*10696SDavid.Hollister@Sun.COM READ_STREAM_DMA_EXT = 0x2A, 49*10696SDavid.Hollister@Sun.COM READ_STREAM_EXT = 0x2B, 50*10696SDavid.Hollister@Sun.COM READ_LOG_EXT = 0x2F, 51*10696SDavid.Hollister@Sun.COM WRITE_SECTORS = 0x30, 52*10696SDavid.Hollister@Sun.COM WRITE_SECTORS_EXT = 0x34, 53*10696SDavid.Hollister@Sun.COM WRITE_DMA_EXT = 0x35, 54*10696SDavid.Hollister@Sun.COM WRITE_DMA_QUEUED_EXT = 0x36, 55*10696SDavid.Hollister@Sun.COM SET_MAX_ADDRESS_EXT = 0x37, 56*10696SDavid.Hollister@Sun.COM CFA_WRITE_SECTORS_WITHOUT_ERASE = 0x38, 57*10696SDavid.Hollister@Sun.COM WRITE_MULTIPLE_EXT = 0x39, 58*10696SDavid.Hollister@Sun.COM WRITE_STREAM_DMA_EXT = 0x3A, 59*10696SDavid.Hollister@Sun.COM WRITE_STREAM_EXT = 0x3B, 60*10696SDavid.Hollister@Sun.COM WRITE_DMA_FUA_EXT = 0x3D, 61*10696SDavid.Hollister@Sun.COM WRITE_DMA_QUEUED_FUA_EXT = 0x3E, 62*10696SDavid.Hollister@Sun.COM WRITE_LOG_EXT = 0x3F, 63*10696SDavid.Hollister@Sun.COM READ_VERIFY_SECTORS = 0x40, 64*10696SDavid.Hollister@Sun.COM READ_VERIFY_SECTORS_EXT = 0x42, 65*10696SDavid.Hollister@Sun.COM WRITE_UNCORRECTABLE_EXT = 0x45, 66*10696SDavid.Hollister@Sun.COM READ_LOG_DMA_EXT = 0x47, 67*10696SDavid.Hollister@Sun.COM CONFIGURE_STREAM = 0x51, 68*10696SDavid.Hollister@Sun.COM WRITE_LOG_DMA_EXT = 0x57, 69*10696SDavid.Hollister@Sun.COM TRUSTED_NON_DATA = 0x5B, 70*10696SDavid.Hollister@Sun.COM TRUSTED_RECEIVE = 0x5C, 71*10696SDavid.Hollister@Sun.COM TRUSTED_RECEIVE_DMA = 0x5D, 72*10696SDavid.Hollister@Sun.COM TRUSTED_SEND = 0x5E, 73*10696SDavid.Hollister@Sun.COM TRUSTED_SEND_DMA = 0x5E, 74*10696SDavid.Hollister@Sun.COM READ_FPDMA_QUEUED = 0x60, 75*10696SDavid.Hollister@Sun.COM WRITE_FPDMA_QUEUED = 0x61, 76*10696SDavid.Hollister@Sun.COM CFA_TRANSLATE_SECTOR = 0x87, 77*10696SDavid.Hollister@Sun.COM EXECUTE_DEVICE_DIAGNOSTIC = 0x90, 78*10696SDavid.Hollister@Sun.COM DOWNLOAD_MICROCODE = 0x92, 79*10696SDavid.Hollister@Sun.COM PACKET = 0xA0, 80*10696SDavid.Hollister@Sun.COM IDENTIFY_PACKET_DEVICE = 0xA1, 81*10696SDavid.Hollister@Sun.COM SERVICE = 0xA2, 82*10696SDavid.Hollister@Sun.COM SMART = 0xB0, 83*10696SDavid.Hollister@Sun.COM DEVICE_CONFIGURATION_OVERLAY = 0xB1, 84*10696SDavid.Hollister@Sun.COM NV_CACHE = 0xB6, 85*10696SDavid.Hollister@Sun.COM CFA_ERASE_SECTORS = 0xC0, 86*10696SDavid.Hollister@Sun.COM READ_MULTIPLE = 0xC4, 87*10696SDavid.Hollister@Sun.COM WRITE_MULTIPLE = 0xC5, 88*10696SDavid.Hollister@Sun.COM SET_MULTIPLE_MODE = 0xC6, 89*10696SDavid.Hollister@Sun.COM READ_DMA_QUEUED = 0xC7, 90*10696SDavid.Hollister@Sun.COM READ_DMA = 0xC8, 91*10696SDavid.Hollister@Sun.COM WRITE_DMA = 0xCA, 92*10696SDavid.Hollister@Sun.COM WRITE_DMA_QUEUED = 0xCC, 93*10696SDavid.Hollister@Sun.COM CFA_WRITE_MULTIPLE_WITHOUT_ERASE = 0xCD, 94*10696SDavid.Hollister@Sun.COM WRITE_MULTIPLE_FUA_EXT = 0xCE, 95*10696SDavid.Hollister@Sun.COM CHECK_MEDIA_CARD_TYPE = 0xD1, 96*10696SDavid.Hollister@Sun.COM STANDBY_IMMEDIATE = 0xE0, 97*10696SDavid.Hollister@Sun.COM IDLE_IMMEDIATE = 0xE1, 98*10696SDavid.Hollister@Sun.COM STANDBY = 0xE2, 99*10696SDavid.Hollister@Sun.COM IDLE = 0xE3, 100*10696SDavid.Hollister@Sun.COM ATA_READ_BUFFER = 0xE4, 101*10696SDavid.Hollister@Sun.COM CHECK_POWER_MODE = 0xE5, 102*10696SDavid.Hollister@Sun.COM SLEEP = 0xE6, 103*10696SDavid.Hollister@Sun.COM FLUSH_CACHE = 0xE7, 104*10696SDavid.Hollister@Sun.COM ATA_WRITE_BUFFER = 0xE8, 105*10696SDavid.Hollister@Sun.COM FLUSH_CACHE_EXT = 0xEA, 106*10696SDavid.Hollister@Sun.COM IDENTIFY_DEVICE = 0xEC, 107*10696SDavid.Hollister@Sun.COM MEDIA_EJECT = 0xED, 108*10696SDavid.Hollister@Sun.COM SET_FEATURES = 0xEF, 109*10696SDavid.Hollister@Sun.COM SECURITY_SET_PASSWORD = 0xF1, 110*10696SDavid.Hollister@Sun.COM SECURITY_UNLOCK = 0xF2, 111*10696SDavid.Hollister@Sun.COM SECURITY_ERASE_PREPARE = 0xF3, 112*10696SDavid.Hollister@Sun.COM SECURITY_ERASE_UNIT = 0xF4, 113*10696SDavid.Hollister@Sun.COM SECURITY_FREEZE_LOCK = 0xF5, 114*10696SDavid.Hollister@Sun.COM SECURITY_DISABLE_PASSWORD = 0xF6, 115*10696SDavid.Hollister@Sun.COM READ_NATIVE_MAX_ADDRESS = 0xF8, 116*10696SDavid.Hollister@Sun.COM SET_MAX_ADDRESS = 0xF9 117*10696SDavid.Hollister@Sun.COM }; 118*10696SDavid.Hollister@Sun.COM 119*10696SDavid.Hollister@Sun.COM #ifdef __cplusplus 120*10696SDavid.Hollister@Sun.COM } 121*10696SDavid.Hollister@Sun.COM #endif 122*10696SDavid.Hollister@Sun.COM #endif /* _ATA8_ACS_H */ 123