1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _LINUX_HDREG_H 8*8d67ca89SAndroid Build Coastguard Worker #define _LINUX_HDREG_H 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #define HDIO_DRIVE_CMD_HDR_SIZE (4 * sizeof(__u8)) 11*8d67ca89SAndroid Build Coastguard Worker #define HDIO_DRIVE_HOB_HDR_SIZE (8 * sizeof(__u8)) 12*8d67ca89SAndroid Build Coastguard Worker #define HDIO_DRIVE_TASK_HDR_SIZE (8 * sizeof(__u8)) 13*8d67ca89SAndroid Build Coastguard Worker #define IDE_DRIVE_TASK_NO_DATA 0 14*8d67ca89SAndroid Build Coastguard Worker #define IDE_DRIVE_TASK_INVALID - 1 15*8d67ca89SAndroid Build Coastguard Worker #define IDE_DRIVE_TASK_SET_XFER 1 16*8d67ca89SAndroid Build Coastguard Worker #define IDE_DRIVE_TASK_IN 2 17*8d67ca89SAndroid Build Coastguard Worker #define IDE_DRIVE_TASK_OUT 3 18*8d67ca89SAndroid Build Coastguard Worker #define IDE_DRIVE_TASK_RAW_WRITE 4 19*8d67ca89SAndroid Build Coastguard Worker #define IDE_TASKFILE_STD_IN_FLAGS 0xFE 20*8d67ca89SAndroid Build Coastguard Worker #define IDE_HOB_STD_IN_FLAGS 0x3C 21*8d67ca89SAndroid Build Coastguard Worker #define IDE_TASKFILE_STD_OUT_FLAGS 0xFE 22*8d67ca89SAndroid Build Coastguard Worker #define IDE_HOB_STD_OUT_FLAGS 0x3C 23*8d67ca89SAndroid Build Coastguard Worker typedef unsigned char task_ioreg_t; 24*8d67ca89SAndroid Build Coastguard Worker typedef unsigned long sata_ioreg_t; 25*8d67ca89SAndroid Build Coastguard Worker typedef union ide_reg_valid_s { 26*8d67ca89SAndroid Build Coastguard Worker unsigned all : 16; 27*8d67ca89SAndroid Build Coastguard Worker struct { 28*8d67ca89SAndroid Build Coastguard Worker unsigned data : 1; 29*8d67ca89SAndroid Build Coastguard Worker unsigned error_feature : 1; 30*8d67ca89SAndroid Build Coastguard Worker unsigned sector : 1; 31*8d67ca89SAndroid Build Coastguard Worker unsigned nsector : 1; 32*8d67ca89SAndroid Build Coastguard Worker unsigned lcyl : 1; 33*8d67ca89SAndroid Build Coastguard Worker unsigned hcyl : 1; 34*8d67ca89SAndroid Build Coastguard Worker unsigned select : 1; 35*8d67ca89SAndroid Build Coastguard Worker unsigned status_command : 1; 36*8d67ca89SAndroid Build Coastguard Worker unsigned data_hob : 1; 37*8d67ca89SAndroid Build Coastguard Worker unsigned error_feature_hob : 1; 38*8d67ca89SAndroid Build Coastguard Worker unsigned sector_hob : 1; 39*8d67ca89SAndroid Build Coastguard Worker unsigned nsector_hob : 1; 40*8d67ca89SAndroid Build Coastguard Worker unsigned lcyl_hob : 1; 41*8d67ca89SAndroid Build Coastguard Worker unsigned hcyl_hob : 1; 42*8d67ca89SAndroid Build Coastguard Worker unsigned select_hob : 1; 43*8d67ca89SAndroid Build Coastguard Worker unsigned control_hob : 1; 44*8d67ca89SAndroid Build Coastguard Worker } b; 45*8d67ca89SAndroid Build Coastguard Worker } ide_reg_valid_t; 46*8d67ca89SAndroid Build Coastguard Worker typedef struct ide_task_request_s { 47*8d67ca89SAndroid Build Coastguard Worker __u8 io_ports[8]; 48*8d67ca89SAndroid Build Coastguard Worker __u8 hob_ports[8]; 49*8d67ca89SAndroid Build Coastguard Worker ide_reg_valid_t out_flags; 50*8d67ca89SAndroid Build Coastguard Worker ide_reg_valid_t in_flags; 51*8d67ca89SAndroid Build Coastguard Worker int data_phase; 52*8d67ca89SAndroid Build Coastguard Worker int req_cmd; 53*8d67ca89SAndroid Build Coastguard Worker unsigned long out_size; 54*8d67ca89SAndroid Build Coastguard Worker unsigned long in_size; 55*8d67ca89SAndroid Build Coastguard Worker } ide_task_request_t; 56*8d67ca89SAndroid Build Coastguard Worker typedef struct ide_ioctl_request_s { 57*8d67ca89SAndroid Build Coastguard Worker ide_task_request_t * task_request; 58*8d67ca89SAndroid Build Coastguard Worker unsigned char * out_buffer; 59*8d67ca89SAndroid Build Coastguard Worker unsigned char * in_buffer; 60*8d67ca89SAndroid Build Coastguard Worker } ide_ioctl_request_t; 61*8d67ca89SAndroid Build Coastguard Worker struct hd_drive_cmd_hdr { 62*8d67ca89SAndroid Build Coastguard Worker __u8 command; 63*8d67ca89SAndroid Build Coastguard Worker __u8 sector_number; 64*8d67ca89SAndroid Build Coastguard Worker __u8 feature; 65*8d67ca89SAndroid Build Coastguard Worker __u8 sector_count; 66*8d67ca89SAndroid Build Coastguard Worker }; 67*8d67ca89SAndroid Build Coastguard Worker typedef struct hd_drive_task_hdr { 68*8d67ca89SAndroid Build Coastguard Worker __u8 data; 69*8d67ca89SAndroid Build Coastguard Worker __u8 feature; 70*8d67ca89SAndroid Build Coastguard Worker __u8 sector_count; 71*8d67ca89SAndroid Build Coastguard Worker __u8 sector_number; 72*8d67ca89SAndroid Build Coastguard Worker __u8 low_cylinder; 73*8d67ca89SAndroid Build Coastguard Worker __u8 high_cylinder; 74*8d67ca89SAndroid Build Coastguard Worker __u8 device_head; 75*8d67ca89SAndroid Build Coastguard Worker __u8 command; 76*8d67ca89SAndroid Build Coastguard Worker } task_struct_t; 77*8d67ca89SAndroid Build Coastguard Worker typedef struct hd_drive_hob_hdr { 78*8d67ca89SAndroid Build Coastguard Worker __u8 data; 79*8d67ca89SAndroid Build Coastguard Worker __u8 feature; 80*8d67ca89SAndroid Build Coastguard Worker __u8 sector_count; 81*8d67ca89SAndroid Build Coastguard Worker __u8 sector_number; 82*8d67ca89SAndroid Build Coastguard Worker __u8 low_cylinder; 83*8d67ca89SAndroid Build Coastguard Worker __u8 high_cylinder; 84*8d67ca89SAndroid Build Coastguard Worker __u8 device_head; 85*8d67ca89SAndroid Build Coastguard Worker __u8 control; 86*8d67ca89SAndroid Build Coastguard Worker } hob_struct_t; 87*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_NO_DATA 0x0000 88*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_IN 0x0001 89*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_MULTI_IN 0x0002 90*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_OUT 0x0004 91*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_MULTI_OUT 0x0008 92*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_IN_OUT 0x0010 93*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_IN_DMA 0x0020 94*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_OUT_DMA 0x0040 95*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_IN_DMAQ 0x0080 96*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_OUT_DMAQ 0x0100 97*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_P_IN 0x0200 98*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_P_OUT 0x0400 99*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_P_IN_DMA 0x0800 100*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_P_OUT_DMA 0x1000 101*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_P_IN_DMAQ 0x2000 102*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_P_OUT_DMAQ 0x4000 103*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_48 0x8000 104*8d67ca89SAndroid Build Coastguard Worker #define TASKFILE_INVALID 0x7fff 105*8d67ca89SAndroid Build Coastguard Worker #define WIN_NOP 0x00 106*8d67ca89SAndroid Build Coastguard Worker #define CFA_REQ_EXT_ERROR_CODE 0x03 107*8d67ca89SAndroid Build Coastguard Worker #define WIN_SRST 0x08 108*8d67ca89SAndroid Build Coastguard Worker #define WIN_DEVICE_RESET 0x08 109*8d67ca89SAndroid Build Coastguard Worker #define WIN_RECAL 0x10 110*8d67ca89SAndroid Build Coastguard Worker #define WIN_RESTORE WIN_RECAL 111*8d67ca89SAndroid Build Coastguard Worker #define WIN_READ 0x20 112*8d67ca89SAndroid Build Coastguard Worker #define WIN_READ_ONCE 0x21 113*8d67ca89SAndroid Build Coastguard Worker #define WIN_READ_LONG 0x22 114*8d67ca89SAndroid Build Coastguard Worker #define WIN_READ_LONG_ONCE 0x23 115*8d67ca89SAndroid Build Coastguard Worker #define WIN_READ_EXT 0x24 116*8d67ca89SAndroid Build Coastguard Worker #define WIN_READDMA_EXT 0x25 117*8d67ca89SAndroid Build Coastguard Worker #define WIN_READDMA_QUEUED_EXT 0x26 118*8d67ca89SAndroid Build Coastguard Worker #define WIN_READ_NATIVE_MAX_EXT 0x27 119*8d67ca89SAndroid Build Coastguard Worker #define WIN_MULTREAD_EXT 0x29 120*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITE 0x30 121*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITE_ONCE 0x31 122*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITE_LONG 0x32 123*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITE_LONG_ONCE 0x33 124*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITE_EXT 0x34 125*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITEDMA_EXT 0x35 126*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITEDMA_QUEUED_EXT 0x36 127*8d67ca89SAndroid Build Coastguard Worker #define WIN_SET_MAX_EXT 0x37 128*8d67ca89SAndroid Build Coastguard Worker #define CFA_WRITE_SECT_WO_ERASE 0x38 129*8d67ca89SAndroid Build Coastguard Worker #define WIN_MULTWRITE_EXT 0x39 130*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITE_VERIFY 0x3C 131*8d67ca89SAndroid Build Coastguard Worker #define WIN_VERIFY 0x40 132*8d67ca89SAndroid Build Coastguard Worker #define WIN_VERIFY_ONCE 0x41 133*8d67ca89SAndroid Build Coastguard Worker #define WIN_VERIFY_EXT 0x42 134*8d67ca89SAndroid Build Coastguard Worker #define WIN_FORMAT 0x50 135*8d67ca89SAndroid Build Coastguard Worker #define WIN_INIT 0x60 136*8d67ca89SAndroid Build Coastguard Worker #define WIN_SEEK 0x70 137*8d67ca89SAndroid Build Coastguard Worker #define CFA_TRANSLATE_SECTOR 0x87 138*8d67ca89SAndroid Build Coastguard Worker #define WIN_DIAGNOSE 0x90 139*8d67ca89SAndroid Build Coastguard Worker #define WIN_SPECIFY 0x91 140*8d67ca89SAndroid Build Coastguard Worker #define WIN_DOWNLOAD_MICROCODE 0x92 141*8d67ca89SAndroid Build Coastguard Worker #define WIN_STANDBYNOW2 0x94 142*8d67ca89SAndroid Build Coastguard Worker #define WIN_STANDBY2 0x96 143*8d67ca89SAndroid Build Coastguard Worker #define WIN_SETIDLE2 0x97 144*8d67ca89SAndroid Build Coastguard Worker #define WIN_CHECKPOWERMODE2 0x98 145*8d67ca89SAndroid Build Coastguard Worker #define WIN_SLEEPNOW2 0x99 146*8d67ca89SAndroid Build Coastguard Worker #define WIN_PACKETCMD 0xA0 147*8d67ca89SAndroid Build Coastguard Worker #define WIN_PIDENTIFY 0xA1 148*8d67ca89SAndroid Build Coastguard Worker #define WIN_QUEUED_SERVICE 0xA2 149*8d67ca89SAndroid Build Coastguard Worker #define WIN_SMART 0xB0 150*8d67ca89SAndroid Build Coastguard Worker #define CFA_ERASE_SECTORS 0xC0 151*8d67ca89SAndroid Build Coastguard Worker #define WIN_MULTREAD 0xC4 152*8d67ca89SAndroid Build Coastguard Worker #define WIN_MULTWRITE 0xC5 153*8d67ca89SAndroid Build Coastguard Worker #define WIN_SETMULT 0xC6 154*8d67ca89SAndroid Build Coastguard Worker #define WIN_READDMA_QUEUED 0xC7 155*8d67ca89SAndroid Build Coastguard Worker #define WIN_READDMA 0xC8 156*8d67ca89SAndroid Build Coastguard Worker #define WIN_READDMA_ONCE 0xC9 157*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITEDMA 0xCA 158*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITEDMA_ONCE 0xCB 159*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITEDMA_QUEUED 0xCC 160*8d67ca89SAndroid Build Coastguard Worker #define CFA_WRITE_MULTI_WO_ERASE 0xCD 161*8d67ca89SAndroid Build Coastguard Worker #define WIN_GETMEDIASTATUS 0xDA 162*8d67ca89SAndroid Build Coastguard Worker #define WIN_ACKMEDIACHANGE 0xDB 163*8d67ca89SAndroid Build Coastguard Worker #define WIN_POSTBOOT 0xDC 164*8d67ca89SAndroid Build Coastguard Worker #define WIN_PREBOOT 0xDD 165*8d67ca89SAndroid Build Coastguard Worker #define WIN_DOORLOCK 0xDE 166*8d67ca89SAndroid Build Coastguard Worker #define WIN_DOORUNLOCK 0xDF 167*8d67ca89SAndroid Build Coastguard Worker #define WIN_STANDBYNOW1 0xE0 168*8d67ca89SAndroid Build Coastguard Worker #define WIN_IDLEIMMEDIATE 0xE1 169*8d67ca89SAndroid Build Coastguard Worker #define WIN_STANDBY 0xE2 170*8d67ca89SAndroid Build Coastguard Worker #define WIN_SETIDLE1 0xE3 171*8d67ca89SAndroid Build Coastguard Worker #define WIN_READ_BUFFER 0xE4 172*8d67ca89SAndroid Build Coastguard Worker #define WIN_CHECKPOWERMODE1 0xE5 173*8d67ca89SAndroid Build Coastguard Worker #define WIN_SLEEPNOW1 0xE6 174*8d67ca89SAndroid Build Coastguard Worker #define WIN_FLUSH_CACHE 0xE7 175*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITE_BUFFER 0xE8 176*8d67ca89SAndroid Build Coastguard Worker #define WIN_WRITE_SAME 0xE9 177*8d67ca89SAndroid Build Coastguard Worker #define WIN_FLUSH_CACHE_EXT 0xEA 178*8d67ca89SAndroid Build Coastguard Worker #define WIN_IDENTIFY 0xEC 179*8d67ca89SAndroid Build Coastguard Worker #define WIN_MEDIAEJECT 0xED 180*8d67ca89SAndroid Build Coastguard Worker #define WIN_IDENTIFY_DMA 0xEE 181*8d67ca89SAndroid Build Coastguard Worker #define WIN_SETFEATURES 0xEF 182*8d67ca89SAndroid Build Coastguard Worker #define EXABYTE_ENABLE_NEST 0xF0 183*8d67ca89SAndroid Build Coastguard Worker #define WIN_SECURITY_SET_PASS 0xF1 184*8d67ca89SAndroid Build Coastguard Worker #define WIN_SECURITY_UNLOCK 0xF2 185*8d67ca89SAndroid Build Coastguard Worker #define WIN_SECURITY_ERASE_PREPARE 0xF3 186*8d67ca89SAndroid Build Coastguard Worker #define WIN_SECURITY_ERASE_UNIT 0xF4 187*8d67ca89SAndroid Build Coastguard Worker #define WIN_SECURITY_FREEZE_LOCK 0xF5 188*8d67ca89SAndroid Build Coastguard Worker #define WIN_SECURITY_DISABLE 0xF6 189*8d67ca89SAndroid Build Coastguard Worker #define WIN_READ_NATIVE_MAX 0xF8 190*8d67ca89SAndroid Build Coastguard Worker #define WIN_SET_MAX 0xF9 191*8d67ca89SAndroid Build Coastguard Worker #define DISABLE_SEAGATE 0xFB 192*8d67ca89SAndroid Build Coastguard Worker #define SMART_READ_VALUES 0xD0 193*8d67ca89SAndroid Build Coastguard Worker #define SMART_READ_THRESHOLDS 0xD1 194*8d67ca89SAndroid Build Coastguard Worker #define SMART_AUTOSAVE 0xD2 195*8d67ca89SAndroid Build Coastguard Worker #define SMART_SAVE 0xD3 196*8d67ca89SAndroid Build Coastguard Worker #define SMART_IMMEDIATE_OFFLINE 0xD4 197*8d67ca89SAndroid Build Coastguard Worker #define SMART_READ_LOG_SECTOR 0xD5 198*8d67ca89SAndroid Build Coastguard Worker #define SMART_WRITE_LOG_SECTOR 0xD6 199*8d67ca89SAndroid Build Coastguard Worker #define SMART_WRITE_THRESHOLDS 0xD7 200*8d67ca89SAndroid Build Coastguard Worker #define SMART_ENABLE 0xD8 201*8d67ca89SAndroid Build Coastguard Worker #define SMART_DISABLE 0xD9 202*8d67ca89SAndroid Build Coastguard Worker #define SMART_STATUS 0xDA 203*8d67ca89SAndroid Build Coastguard Worker #define SMART_AUTO_OFFLINE 0xDB 204*8d67ca89SAndroid Build Coastguard Worker #define SMART_LCYL_PASS 0x4F 205*8d67ca89SAndroid Build Coastguard Worker #define SMART_HCYL_PASS 0xC2 206*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_8BIT 0x01 207*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_WCACHE 0x02 208*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_DEFECT 0x04 209*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_APM 0x05 210*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_SAME_R 0x22 211*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_MSN 0x31 212*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_RETRY 0x33 213*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_AAM 0x42 214*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_RW_LONG 0x44 215*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_SET_CACHE 0x54 216*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_RLA 0x55 217*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_RI 0x5D 218*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_SI 0x5E 219*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_RPOD 0x66 220*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_ECC 0x77 221*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_8BIT 0x81 222*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_WCACHE 0x82 223*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_DEFECT 0x84 224*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_APM 0x85 225*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_ECC 0x88 226*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_MSN 0x95 227*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_RETRY 0x99 228*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_RLA 0xAA 229*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_PREFETCH 0xAB 230*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_REST 0xAC 231*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_4B_RW_LONG 0xBB 232*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_AAM 0xC2 233*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_RPOD 0xCC 234*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_RI 0xDD 235*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_EN_SAME_M 0xDD 236*8d67ca89SAndroid Build Coastguard Worker #define SETFEATURES_DIS_SI 0xDE 237*8d67ca89SAndroid Build Coastguard Worker #define SECURITY_SET_PASSWORD 0xBA 238*8d67ca89SAndroid Build Coastguard Worker #define SECURITY_UNLOCK 0xBB 239*8d67ca89SAndroid Build Coastguard Worker #define SECURITY_ERASE_PREPARE 0xBC 240*8d67ca89SAndroid Build Coastguard Worker #define SECURITY_ERASE_UNIT 0xBD 241*8d67ca89SAndroid Build Coastguard Worker #define SECURITY_FREEZE_LOCK 0xBE 242*8d67ca89SAndroid Build Coastguard Worker #define SECURITY_DISABLE_PASSWORD 0xBF 243*8d67ca89SAndroid Build Coastguard Worker struct hd_geometry { 244*8d67ca89SAndroid Build Coastguard Worker unsigned char heads; 245*8d67ca89SAndroid Build Coastguard Worker unsigned char sectors; 246*8d67ca89SAndroid Build Coastguard Worker unsigned short cylinders; 247*8d67ca89SAndroid Build Coastguard Worker unsigned long start; 248*8d67ca89SAndroid Build Coastguard Worker }; 249*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GETGEO 0x0301 250*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_UNMASKINTR 0x0302 251*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_MULTCOUNT 0x0304 252*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_QDMA 0x0305 253*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_XFER 0x0306 254*8d67ca89SAndroid Build Coastguard Worker #define HDIO_OBSOLETE_IDENTITY 0x0307 255*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_KEEPSETTINGS 0x0308 256*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_32BIT 0x0309 257*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_NOWERR 0x030a 258*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_DMA 0x030b 259*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_NICE 0x030c 260*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_IDENTITY 0x030d 261*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_WCACHE 0x030e 262*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_ACOUSTIC 0x030f 263*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_ADDRESS 0x0310 264*8d67ca89SAndroid Build Coastguard Worker #define HDIO_GET_BUSSTATE 0x031a 265*8d67ca89SAndroid Build Coastguard Worker #define HDIO_TRISTATE_HWIF 0x031b 266*8d67ca89SAndroid Build Coastguard Worker #define HDIO_DRIVE_RESET 0x031c 267*8d67ca89SAndroid Build Coastguard Worker #define HDIO_DRIVE_TASKFILE 0x031d 268*8d67ca89SAndroid Build Coastguard Worker #define HDIO_DRIVE_TASK 0x031e 269*8d67ca89SAndroid Build Coastguard Worker #define HDIO_DRIVE_CMD 0x031f 270*8d67ca89SAndroid Build Coastguard Worker #define HDIO_DRIVE_CMD_AEB HDIO_DRIVE_TASK 271*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_MULTCOUNT 0x0321 272*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_UNMASKINTR 0x0322 273*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_KEEPSETTINGS 0x0323 274*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_32BIT 0x0324 275*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_NOWERR 0x0325 276*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_DMA 0x0326 277*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_PIO_MODE 0x0327 278*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SCAN_HWIF 0x0328 279*8d67ca89SAndroid Build Coastguard Worker #define HDIO_UNREGISTER_HWIF 0x032a 280*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_NICE 0x0329 281*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_WCACHE 0x032b 282*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_ACOUSTIC 0x032c 283*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_BUSSTATE 0x032d 284*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_QDMA 0x032e 285*8d67ca89SAndroid Build Coastguard Worker #define HDIO_SET_ADDRESS 0x032f 286*8d67ca89SAndroid Build Coastguard Worker enum { 287*8d67ca89SAndroid Build Coastguard Worker BUSSTATE_OFF = 0, 288*8d67ca89SAndroid Build Coastguard Worker BUSSTATE_ON, 289*8d67ca89SAndroid Build Coastguard Worker BUSSTATE_TRISTATE 290*8d67ca89SAndroid Build Coastguard Worker }; 291*8d67ca89SAndroid Build Coastguard Worker #define __NEW_HD_DRIVE_ID 292*8d67ca89SAndroid Build Coastguard Worker struct hd_driveid { 293*8d67ca89SAndroid Build Coastguard Worker unsigned short config; 294*8d67ca89SAndroid Build Coastguard Worker unsigned short cyls; 295*8d67ca89SAndroid Build Coastguard Worker unsigned short reserved2; 296*8d67ca89SAndroid Build Coastguard Worker unsigned short heads; 297*8d67ca89SAndroid Build Coastguard Worker unsigned short track_bytes; 298*8d67ca89SAndroid Build Coastguard Worker unsigned short sector_bytes; 299*8d67ca89SAndroid Build Coastguard Worker unsigned short sectors; 300*8d67ca89SAndroid Build Coastguard Worker unsigned short vendor0; 301*8d67ca89SAndroid Build Coastguard Worker unsigned short vendor1; 302*8d67ca89SAndroid Build Coastguard Worker unsigned short vendor2; 303*8d67ca89SAndroid Build Coastguard Worker unsigned char serial_no[20]; 304*8d67ca89SAndroid Build Coastguard Worker unsigned short buf_type; 305*8d67ca89SAndroid Build Coastguard Worker unsigned short buf_size; 306*8d67ca89SAndroid Build Coastguard Worker unsigned short ecc_bytes; 307*8d67ca89SAndroid Build Coastguard Worker unsigned char fw_rev[8]; 308*8d67ca89SAndroid Build Coastguard Worker unsigned char model[40]; 309*8d67ca89SAndroid Build Coastguard Worker unsigned char max_multsect; 310*8d67ca89SAndroid Build Coastguard Worker unsigned char vendor3; 311*8d67ca89SAndroid Build Coastguard Worker unsigned short dword_io; 312*8d67ca89SAndroid Build Coastguard Worker unsigned char vendor4; 313*8d67ca89SAndroid Build Coastguard Worker unsigned char capability; 314*8d67ca89SAndroid Build Coastguard Worker unsigned short reserved50; 315*8d67ca89SAndroid Build Coastguard Worker unsigned char vendor5; 316*8d67ca89SAndroid Build Coastguard Worker unsigned char tPIO; 317*8d67ca89SAndroid Build Coastguard Worker unsigned char vendor6; 318*8d67ca89SAndroid Build Coastguard Worker unsigned char tDMA; 319*8d67ca89SAndroid Build Coastguard Worker unsigned short field_valid; 320*8d67ca89SAndroid Build Coastguard Worker unsigned short cur_cyls; 321*8d67ca89SAndroid Build Coastguard Worker unsigned short cur_heads; 322*8d67ca89SAndroid Build Coastguard Worker unsigned short cur_sectors; 323*8d67ca89SAndroid Build Coastguard Worker unsigned short cur_capacity0; 324*8d67ca89SAndroid Build Coastguard Worker unsigned short cur_capacity1; 325*8d67ca89SAndroid Build Coastguard Worker unsigned char multsect; 326*8d67ca89SAndroid Build Coastguard Worker unsigned char multsect_valid; 327*8d67ca89SAndroid Build Coastguard Worker unsigned int lba_capacity; 328*8d67ca89SAndroid Build Coastguard Worker unsigned short dma_1word; 329*8d67ca89SAndroid Build Coastguard Worker unsigned short dma_mword; 330*8d67ca89SAndroid Build Coastguard Worker unsigned short eide_pio_modes; 331*8d67ca89SAndroid Build Coastguard Worker unsigned short eide_dma_min; 332*8d67ca89SAndroid Build Coastguard Worker unsigned short eide_dma_time; 333*8d67ca89SAndroid Build Coastguard Worker unsigned short eide_pio; 334*8d67ca89SAndroid Build Coastguard Worker unsigned short eide_pio_iordy; 335*8d67ca89SAndroid Build Coastguard Worker unsigned short words69_70[2]; 336*8d67ca89SAndroid Build Coastguard Worker unsigned short words71_74[4]; 337*8d67ca89SAndroid Build Coastguard Worker unsigned short queue_depth; 338*8d67ca89SAndroid Build Coastguard Worker unsigned short words76_79[4]; 339*8d67ca89SAndroid Build Coastguard Worker unsigned short major_rev_num; 340*8d67ca89SAndroid Build Coastguard Worker unsigned short minor_rev_num; 341*8d67ca89SAndroid Build Coastguard Worker unsigned short command_set_1; 342*8d67ca89SAndroid Build Coastguard Worker unsigned short command_set_2; 343*8d67ca89SAndroid Build Coastguard Worker unsigned short cfsse; 344*8d67ca89SAndroid Build Coastguard Worker unsigned short cfs_enable_1; 345*8d67ca89SAndroid Build Coastguard Worker unsigned short cfs_enable_2; 346*8d67ca89SAndroid Build Coastguard Worker unsigned short csf_default; 347*8d67ca89SAndroid Build Coastguard Worker unsigned short dma_ultra; 348*8d67ca89SAndroid Build Coastguard Worker unsigned short trseuc; 349*8d67ca89SAndroid Build Coastguard Worker unsigned short trsEuc; 350*8d67ca89SAndroid Build Coastguard Worker unsigned short CurAPMvalues; 351*8d67ca89SAndroid Build Coastguard Worker unsigned short mprc; 352*8d67ca89SAndroid Build Coastguard Worker unsigned short hw_config; 353*8d67ca89SAndroid Build Coastguard Worker unsigned short acoustic; 354*8d67ca89SAndroid Build Coastguard Worker unsigned short msrqs; 355*8d67ca89SAndroid Build Coastguard Worker unsigned short sxfert; 356*8d67ca89SAndroid Build Coastguard Worker unsigned short sal; 357*8d67ca89SAndroid Build Coastguard Worker unsigned int spg; 358*8d67ca89SAndroid Build Coastguard Worker unsigned long long lba_capacity_2; 359*8d67ca89SAndroid Build Coastguard Worker unsigned short words104_125[22]; 360*8d67ca89SAndroid Build Coastguard Worker unsigned short last_lun; 361*8d67ca89SAndroid Build Coastguard Worker unsigned short word127; 362*8d67ca89SAndroid Build Coastguard Worker unsigned short dlf; 363*8d67ca89SAndroid Build Coastguard Worker unsigned short csfo; 364*8d67ca89SAndroid Build Coastguard Worker unsigned short words130_155[26]; 365*8d67ca89SAndroid Build Coastguard Worker unsigned short word156; 366*8d67ca89SAndroid Build Coastguard Worker unsigned short words157_159[3]; 367*8d67ca89SAndroid Build Coastguard Worker unsigned short cfa_power; 368*8d67ca89SAndroid Build Coastguard Worker unsigned short words161_175[15]; 369*8d67ca89SAndroid Build Coastguard Worker unsigned short words176_205[30]; 370*8d67ca89SAndroid Build Coastguard Worker unsigned short words206_254[49]; 371*8d67ca89SAndroid Build Coastguard Worker unsigned short integrity_word; 372*8d67ca89SAndroid Build Coastguard Worker }; 373*8d67ca89SAndroid Build Coastguard Worker #define IDE_NICE_DSC_OVERLAP (0) 374*8d67ca89SAndroid Build Coastguard Worker #define IDE_NICE_ATAPI_OVERLAP (1) 375*8d67ca89SAndroid Build Coastguard Worker #define IDE_NICE_1 (3) 376*8d67ca89SAndroid Build Coastguard Worker #define IDE_NICE_0 (2) 377*8d67ca89SAndroid Build Coastguard Worker #define IDE_NICE_2 (4) 378*8d67ca89SAndroid Build Coastguard Worker #endif 379