Changes in uspace/srv/bd/ata_bd/ata_bd.h [31de325:a99cf073] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/ata_bd/ata_bd.h
r31de325 ra99cf073 38 38 #include <sys/types.h> 39 39 #include <fibril_sync.h> 40 #include <string.h> 40 41 41 42 enum { … … 115 116 116 117 enum drive_head_bits { 117 DHR_DRV = 0x10 118 DHR_LBA = 0x40, /**< Use LBA addressing mode */ 119 DHR_DRV = 0x10 /**< Select device 1 */ 118 120 }; 119 121 … … 142 144 }; 143 145 146 /** Data returned from @c identify command. */ 147 typedef struct { 148 uint16_t gen_conf; 149 uint16_t cylinders; 150 uint16_t _res2; 151 uint16_t heads; 152 uint16_t _vs4; 153 uint16_t _vs5; 154 uint16_t sectors; 155 uint16_t _vs7; 156 uint16_t _vs8; 157 uint16_t _vs9; 158 uint16_t serial_number[10]; 159 uint16_t _vs20; 160 uint16_t _vs21; 161 uint16_t vs_bytes; 162 uint16_t firmware_rev[4]; 163 uint16_t model_name[20]; 164 uint16_t max_rw_multiple; 165 uint16_t _res48; 166 uint16_t caps; 167 uint16_t _res50; 168 uint16_t pio_timing; 169 uint16_t dma_timing; 170 uint16_t validity; 171 uint16_t cur_cyl; 172 uint16_t cur_heads; 173 uint16_t cur_sectors; 174 uint16_t cur_capacity0; 175 uint16_t cur_capacity1; 176 uint16_t mss; 177 uint16_t total_lba_sec0; 178 uint16_t total_lba_sec1; 179 uint16_t sw_dma; 180 uint16_t mw_dma; 181 uint16_t pio_modes; 182 uint16_t min_mw_dma_cycle; 183 uint16_t rec_mw_dma_cycle; 184 uint16_t min_raw_pio_cycle; 185 uint16_t min_iordy_pio_cycle; 186 uint16_t _res69; 187 uint16_t _res70; 188 uint16_t _res71[1 + 127 - 71]; 189 uint16_t _vs128[1 + 159 - 128]; 190 uint16_t _res160[1 + 255 - 160]; 191 } identify_data_t; 192 193 enum ata_caps { 194 cap_iordy = 0x0800, 195 cap_iordy_cbd = 0x0400, 196 cap_lba = 0x0200, 197 cap_dma = 0x0100 198 }; 199 200 /** Block addressing mode. */ 201 enum addr_mode { 202 am_chs, 203 am_lba28 204 }; 205 144 206 typedef struct { 145 207 bool present; 146 unsigned heads; 147 unsigned cylinders; 148 unsigned sectors; 208 enum addr_mode amode; 209 210 /* 211 * Geometry. Only valid if operating in CHS mode. 212 */ 213 struct { 214 unsigned heads; 215 unsigned cylinders; 216 unsigned sectors; 217 } geom; 218 149 219 uint64_t blocks; 220 221 char model[STR_BOUNDS(40) + 1]; 150 222 151 223 fibril_mutex_t lock;
Note:
See TracChangeset
for help on using the changeset viewer.