53 uint8_t packet_sz : 2;
55 uint8_t is_removable : 1;
56 uint8_t packet_cmdset : 6;
83 uint16_t serial_number[10];
92 uint16_t firmware_revision[4];
95 uint16_t model_number[20];
99 uint8_t max_sectors_per_irq;
113 uint8_t iordy_disabled : 1;
115 uint8_t iordy_supported : 1;
119 uint8_t std_standby : 1;
133 uint8_t multiword_dma_valid : 1;
134 uint8_t ultra_dma_valid : 1;
144 uint8_t curr_sectors_per_irq : 8;
145 uint8_t is_valid : 1;
150 uint32_t sector_count;
161 uint8_t sel_mode0 : 1;
162 uint8_t sel_mode1 : 1;
163 uint8_t sel_mode2 : 1;
168 uint8_t pio_modes_supported;
172 uint16_t minimum_multiword_dma_cycle;
175 uint16_t recommended_multiword_dma_cycle;
178 uint16_t minimum_pio_cycle;
181 uint16_t minimum_pio_cycle_iordy;
190 uint8_t max_queue_depth : 5;
213 uint8_t security : 1;
214 uint8_t removable : 1;
218 uint8_t lookahead : 1;
219 uint8_t release_int : 1;
220 uint8_t service_int : 1;
221 uint8_t device_reset : 1;
222 uint8_t is_protected : 1;
224 uint8_t write_buffer : 1;
225 uint8_t read_buffer : 1;
228 }
PACKED command_set_support;
232 uint8_t microcode : 1;
233 uint8_t rw_dma_queued : 1;
235 uint8_t adv_power : 1;
236 uint8_t removable_notify : 1;
237 uint8_t powerup_standby : 1;
238 uint8_t set_features_spinup : 1;
241 uint8_t acoustic : 1;
242 uint8_t address48 : 1;
243 uint8_t config_overlay : 1;
244 uint8_t flush_cache : 1;
245 uint8_t flush_cache_ext : 1;
248 }
PACKED command_sets_support;
252 uint8_t smart_logging : 1;
253 uint8_t smart_selftest : 1;
254 uint8_t media_serial : 1;
255 uint8_t media_passthrough : 1;
256 uint8_t streaming : 1;
258 uint8_t write_mult_fua_ext : 1;
259 uint8_t write_dma_fua_ext : 1;
261 uint8_t read_dma_ext_urg : 1;
262 uint8_t write_dma_ext_urg : 1;
264 uint8_t idle_immediate : 1;
267 }
PACKED command_set_ext_support;
272 uint8_t security : 1;
273 uint8_t removable : 1;
277 uint8_t lookahead : 1;
278 uint8_t release_int : 1;
279 uint8_t service_int : 1;
280 uint8_t device_reset : 1;
281 uint8_t is_protected : 1;
283 uint8_t write_buffer : 1;
284 uint8_t read_buffer : 1;
287 }
PACKED command_set_enabled;
291 uint8_t microcode : 1;
292 uint8_t rw_dma_queued : 1;
294 uint8_t adv_power : 1;
295 uint8_t removable_notify : 1;
296 uint8_t powerup_standby : 1;
297 uint8_t set_features_spinup : 1;
300 uint8_t acoustic : 1;
301 uint8_t address48 : 1;
302 uint8_t config_overlay : 1;
303 uint8_t flush_cache : 1;
304 uint8_t flush_cache_ext : 1;
307 }
PACKED command_sets_enabled;
311 uint8_t smart_logging : 1;
312 uint8_t smart_selftest : 1;
313 uint8_t media_serial : 1;
314 uint8_t media_passthrough : 1;
315 uint8_t streaming : 1;
317 uint8_t write_mult_fua_ext : 1;
318 uint8_t write_dma_fua_ext : 1;
320 uint8_t read_dma_ext_urg : 1;
321 uint8_t write_dma_ext_urg : 1;
323 uint8_t idle_immediate : 1;
326 }
PACKED command_set_ext_default;
330 uint8_t supp_mode0 : 1;
331 uint8_t supp_mode1 : 1;
332 uint8_t supp_mode2 : 1;
333 uint8_t supp_mode3 : 1;
334 uint8_t supp_mode4 : 1;
335 uint8_t supp_mode5 : 1;
336 uint8_t supp_mode6 : 1;
338 uint8_t sel_mode0 : 1;
339 uint8_t sel_mode1 : 1;
340 uint8_t sel_mode2 : 1;
341 uint8_t sel_mode3 : 1;
342 uint8_t sel_mode4 : 1;
343 uint8_t sel_mode5 : 1;
344 uint8_t sel_mode6 : 1;
349 uint16_t secure_erase_time;
352 uint16_t enhanced_secure_erase_time;
355 uint16_t curr_adv_power;
358 uint16_t master_password_revision;
367 uint8_t diagnostics : 1;
368 uint8_t pdiag_assert : 1;
369 uint8_t dasp_assert : 1;
371 uint8_t responds_to_other : 1;
378 uint8_t d1_method : 2;
379 uint8_t d1_pdiag_assert : 1;
383 uint8_t cbild_level : 1;
389 uint8_t current_acoustic;
390 uint8_t vendor_acoustic;
393 uint16_t stream_min_size;
396 uint16_t dma_streaming_time;
399 uint16_t streaming_latency;
402 uint32_t streaming_granularity;
405 uint64_t max_user_lba48;
408 uint16_t pio_streaming_time;
416 uint8_t logical_per_physical : 4;
418 uint8_t logical_larger_than_512b : 1;
419 uint8_t multiple_logical_per_physical : 1;
425 uint16_t iso9779_delay;
444 uint32_t words_per_logical;
451 uint16_t removable_notify_support;
455 uint8_t supported : 1;
459 uint8_t count_expired : 1;
460 uint8_t ehanced_erase_support : 1;
470 uint16_t cfa_power_mode1;
476 char media_serial[60];