xref: /aosp_15_r20/prebuilts/build-tools/sysroots/arm-unknown-linux-musleabihf/include/linux/hdreg.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
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