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