Turnstone Operating System
|
Public Attributes | ||
struct { | ||
uint16_t reserved1: 1 | ||
uint16_t retired3: 1 | ||
uint16_t response_incomplete: 1 | ||
uint16_t retired2: 3 | ||
uint16_t fixed_device: 1 | ||
uint16_t removable_media: 1 | ||
uint16_t retired1: 7 | ||
uint16_t device_type: 1 | ||
} | general_configuration | |
uint16_t | num_cylinders | |
uint16_t | specific_configuration | |
uint16_t | num_heads | |
uint16_t | num_sectors_per_track | |
uint16_t | vendor_unique1 [3] | |
char_t | serial_number [20] | |
uint16_t | obsolete1 | |
char_t | firmware_revision [8] | |
char_t | model_number [40] | |
char_t | maximum_block_transfer | |
char_t | vendor_unique2 | |
struct { | ||
uint16_t feature_supported: 1 | ||
uint16_t reserved: 15 | ||
} | trusted_computing | |
struct { | ||
char_t current_long_physical_sector_alignment: 2 | ||
char_t reserved_byte49: 6 | ||
char_t dma_supported: 1 | ||
char_t lba_supported: 1 | ||
char_t iordy_disable: 1 | ||
char_t iordy_supported: 1 | ||
char_t reserved1: 1 | ||
char_t standyby_timer_support: 1 | ||
char_t reserved2: 2 | ||
uint16_t reserved_word50 | ||
} | capabilities | |
uint16_t | obsolete_words51 [2] | |
uint16_t | translation_fields_valid: 3 | |
uint16_t | reserved3: 5 | |
uint16_t | free_fall_control_sensitivity: 8 | |
uint16_t | number_ofcurrent_cylinders | |
uint16_t | number_ofcurrent_heads | |
uint16_t | current_sectors_per_track | |
uint32_t | current_sector_capacity | |
char_t | current_multi_sector_setting | |
char_t | multi_sector_setting_valid: 1 | |
char_t | reserved_byte59: 3 | |
char_t | sanitize_feature_supported: 1 | |
char_t | crypto_scramble_ext_command_supported: 1 | |
char_t | overwrite_ext_command_supported: 1 | |
char_t | block_erase_ext_command_supported: 1 | |
uint32_t | user_addressable_sectors | |
uint16_t | obsolete_word62 | |
uint16_t | multi_worddmasupport: 8 | |
uint16_t | multi_worddmaactive: 8 | |
uint16_t | advancedpiomodes: 8 | |
uint16_t | reserved_byte64: 8 | |
uint16_t | minimummwxfer_cycle_time | |
uint16_t | recommendedmwxfer_cycle_time | |
uint16_t | minimumpiocycle_time | |
uint16_t | minimumpiocycle_timeiordy | |
struct { | ||
uint16_t zoned_capabilities: 2 | ||
uint16_t non_volatile_write_cache: 1 | ||
uint16_t extended_user_addressable_sectors_supported: 1 | ||
uint16_t device_encrypts_all_user_data: 1 | ||
uint16_t read_zero_after_trim_supported: 1 | ||
uint16_t optional28bit_commands_supported: 1 | ||
uint16_t ieee1667: 1 | ||
uint16_t download_microcode_dma_supported: 1 | ||
uint16_t set_max_set_password_unlock_dma_supported: 1 | ||
uint16_t write_buffer_dma_supported: 1 | ||
uint16_t read_buffer_dma_supported: 1 | ||
uint16_t device_config_identify_set_dma_supported: 1 | ||
uint16_t lpsaercsupported: 1 | ||
uint16_t deterministic_read_after_trim_supported: 1 | ||
uint16_t cfast_spec_supported: 1 | ||
} | additional_supported | |
uint16_t | reserved_words70 [5] | |
uint16_t | queue_depth: 5 | |
uint16_t | reserved_word75: 11 | |
struct { | ||
uint16_t reserved0: 1 | ||
uint16_t sata_gen1: 1 | ||
uint16_t sata_gen2: 1 | ||
uint16_t sata_gen3: 1 | ||
uint16_t reserved1: 4 | ||
uint16_t ncq: 1 | ||
uint16_t hipm: 1 | ||
uint16_t phy_events: 1 | ||
uint16_t ncq_unload: 1 | ||
uint16_t ncq_priority: 1 | ||
uint16_t host_autops: 1 | ||
uint16_t device_autops: 1 | ||
uint16_t read_logdma: 1 | ||
uint16_t reserved2: 1 | ||
uint16_t current_speed: 3 | ||
uint16_t ncq_streaming: 1 | ||
uint16_t ncq_queue_mgmt: 1 | ||
uint16_t ncq_receive_send: 1 | ||
uint16_t devslpto_reduced_pwr_state: 1 | ||
uint16_t reserved3: 8 | ||
} | serial_ata_capabilities | |
struct { | ||
uint16_t reserved0: 1 | ||
uint16_t non_zero_offsets: 1 | ||
uint16_t dma_setup_auto_activate: 1 | ||
uint16_t dipm: 1 | ||
uint16_t in_order_data: 1 | ||
uint16_t hardware_feature_control: 1 | ||
uint16_t software_settings_preservation: 1 | ||
uint16_t ncqautosense: 1 | ||
uint16_t devslp: 1 | ||
uint16_t hybrid_information: 1 | ||
uint16_t reserved1: 6 | ||
} | serial_ata_features_supported | |
struct { | ||
uint16_t reserved0: 1 | ||
uint16_t non_zero_offsets: 1 | ||
uint16_t dma_setup_auto_activate: 1 | ||
uint16_t dipm: 1 | ||
uint16_t in_order_data: 1 | ||
uint16_t hardware_feature_control: 1 | ||
uint16_t software_settings_preservation: 1 | ||
uint16_t device_autops: 1 | ||
uint16_t devslp: 1 | ||
uint16_t hybrid_information: 1 | ||
uint16_t reserved1: 6 | ||
} | serial_ata_features_enabled | |
uint16_t | major_revision | |
uint16_t | minor_revision | |
struct { | ||
uint16_t smart_commands: 1 | ||
uint16_t security_mode: 1 | ||
uint16_t removable_media_feature: 1 | ||
uint16_t power_management: 1 | ||
uint16_t reserved1: 1 | ||
uint16_t write_cache: 1 | ||
uint16_t look_ahead: 1 | ||
uint16_t release_interrupt: 1 | ||
uint16_t service_interrupt: 1 | ||
uint16_t device_reset: 1 | ||
uint16_t host_protected_area: 1 | ||
uint16_t obsolete1: 1 | ||
uint16_t write_buffer: 1 | ||
uint16_t read_buffer: 1 | ||
uint16_t nop: 1 | ||
uint16_t obsolete2: 1 | ||
uint16_t download_microcode: 1 | ||
uint16_t dma_queued: 1 | ||
uint16_t cfa: 1 | ||
uint16_t advanced_pm: 1 | ||
uint16_t msn: 1 | ||
uint16_t power_upin_standby: 1 | ||
uint16_t manual_power_up: 1 | ||
uint16_t reserved2: 1 | ||
uint16_t set_max: 1 | ||
uint16_t acoustics: 1 | ||
uint16_t big_lba: 1 | ||
uint16_t device_config_overlay: 1 | ||
uint16_t flush_cache: 1 | ||
uint16_t flush_cache_ext: 1 | ||
uint16_t word_valid83: 2 | ||
uint16_t smart_error_log: 1 | ||
uint16_t smart_self_test: 1 | ||
uint16_t media_serial_number: 1 | ||
uint16_t media_card_pass_through: 1 | ||
uint16_t streaming_feature: 1 | ||
uint16_t gp_logging: 1 | ||
uint16_t write_fua: 1 | ||
uint16_t write_queued_fua: 1 | ||
uint16_t wwn64bit: 1 | ||
uint16_t urgread_stream: 1 | ||
uint16_t urgwrite_stream: 1 | ||
uint16_t reserved_for_tech_report: 2 | ||
uint16_t idle_with_unload_feature: 1 | ||
uint16_t word_valid: 2 | ||
} | command_set_support | |
struct { | ||
uint16_t smart_commands: 1 | ||
uint16_t security_mode: 1 | ||
uint16_t removable_media_feature: 1 | ||
uint16_t power_management: 1 | ||
uint16_t reserved1: 1 | ||
uint16_t write_cache: 1 | ||
uint16_t look_ahead: 1 | ||
uint16_t release_interrupt: 1 | ||
uint16_t service_interrupt: 1 | ||
uint16_t device_reset: 1 | ||
uint16_t host_protected_area: 1 | ||
uint16_t obsolete1: 1 | ||
uint16_t write_buffer: 1 | ||
uint16_t read_buffer: 1 | ||
uint16_t nop: 1 | ||
uint16_t obsolete2: 1 | ||
uint16_t download_microcode: 1 | ||
uint16_t dma_queued: 1 | ||
uint16_t cfa: 1 | ||
uint16_t advanced_pm: 1 | ||
uint16_t msn: 1 | ||
uint16_t power_upin_standby: 1 | ||
uint16_t manual_power_up: 1 | ||
uint16_t reserved2: 1 | ||
uint16_t set_max: 1 | ||
uint16_t acoustics: 1 | ||
uint16_t big_lba: 1 | ||
uint16_t device_config_overlay: 1 | ||
uint16_t flush_cache: 1 | ||
uint16_t flush_cache_ext: 1 | ||
uint16_t resrved3: 1 | ||
uint16_t words119_120valid: 1 | ||
uint16_t smart_error_log: 1 | ||
uint16_t smart_self_test: 1 | ||
uint16_t media_serial_number: 1 | ||
uint16_t media_card_pass_through: 1 | ||
uint16_t streaming_feature: 1 | ||
uint16_t gp_logging: 1 | ||
uint16_t write_fua: 1 | ||
uint16_t write_queued_fua: 1 | ||
uint16_t wwn64bit: 1 | ||
uint16_t urgread_stream: 1 | ||
uint16_t urgwrite_stream: 1 | ||
uint16_t reserved_for_tech_report: 2 | ||
uint16_t idle_with_unload_feature: 1 | ||
uint16_t reserved4: 2 | ||
} | command_set_active | |
uint16_t | ultradmasupport: 8 | |
uint16_t | ultradmaactive: 8 | |
struct { | ||
uint16_t time_required: 15 | ||
uint16_t extended_time_reported: 1 | ||
} | normal_security_erase_unit | |
struct { | ||
uint16_t time_required: 15 | ||
uint16_t extended_time_reported: 1 | ||
} | enhanced_security_erase_unit | |
uint16_t | currentapmlevel: 8 | |
uint16_t | reserved_word91: 8 | |
uint16_t | master_passwordid | |
uint16_t | hardware_reset_result | |
uint16_t | current_acoustic_value: 8 | |
uint16_t | recommended_acoustic_value: 8 | |
uint16_t | stream_min_request_size | |
uint16_t | streaming_transfer_timedma | |
uint16_t | streaming_access_latencydmapio | |
uint32_t | streaming_perf_granularity | |
uint64_t | user_addressable_sectors_ext | |
uint16_t | streaming_transfer_time | |
uint16_t | dsm_cap | |
struct { | ||
uint16_t logical_sectors_per_physical_sector: 4 | ||
uint16_t reserved0: 8 | ||
uint16_t logical_sector_longer_than256words: 1 | ||
uint16_t multiple_logical_sectors_per_physical_sector: 1 | ||
uint16_t reserved1: 2 | ||
} | physical_logical_sector_size | |
uint16_t | inter_seek_delay | |
uint16_t | world_wide_name [4] | |
uint16_t | reserved_for_world_wide_name128 [4] | |
uint16_t | reserved_for_tlc_technical_report | |
uint16_t | words_per_logical_sector [2] | |
struct { | ||
uint16_t reserved_for_drq_technical_report: 1 | ||
uint16_t write_read_verify: 1 | ||
uint16_t write_uncorrectable_ext: 1 | ||
uint16_t read_write_log_dma_ext: 1 | ||
uint16_t download_microcode_mode3: 1 | ||
uint16_t freefall_control: 1 | ||
uint16_t sense_data_reporting: 1 | ||
uint16_t extended_power_conditions: 1 | ||
uint16_t reserved0: 6 | ||
uint16_t word_valid: 2 | ||
} | command_set_support_ext | |
struct { | ||
uint16_t reserved_for_drq_technical_report: 1 | ||
uint16_t write_read_verify: 1 | ||
uint16_t write_uncorrectable_ext: 1 | ||
uint16_t read_write_log_dma_ext: 1 | ||
uint16_t download_microcode_mode3: 1 | ||
uint16_t freefall_control: 1 | ||
uint16_t sense_data_reporting: 1 | ||
uint16_t extended_power_conditions: 1 | ||
uint16_t reserved0: 6 | ||
uint16_t reserved1: 2 | ||
} | command_set_active_ext | |
uint16_t | reserved_for_expanded_supportand_active [6] | |
uint16_t | msn_support: 2 | |
uint16_t | reserved_word127: 14 | |
struct { | ||
uint16_t security_supported: 1 | ||
uint16_t security_enabled: 1 | ||
uint16_t security_locked: 1 | ||
uint16_t security_frozen: 1 | ||
uint16_t security_count_expired: 1 | ||
uint16_t enhanced_security_erase_supported: 1 | ||
uint16_t reserved0: 2 | ||
uint16_t security_level: 1 | ||
uint16_t reserved1: 7 | ||
} | security_status | |
uint16_t | reserved_word129 [31] | |
struct { | ||
uint16_t maximum_current_inma: 12 | ||
uint16_t cfa_power_mode1disabled: 1 | ||
uint16_t cfa_power_mode1required: 1 | ||
uint16_t reserved0: 1 | ||
uint16_t word160supported: 1 | ||
} | cfa_power_mode1 | |
uint16_t | reserved_for_cfa_word161 [7] | |
uint16_t | nominal_form_factor: 4 | |
uint16_t | reserved_word168: 12 | |
struct { | ||
uint16_t supports_trim: 1 | ||
uint16_t reserved0: 15 | ||
} | data_set_management_feature | |
uint16_t | additional_productid [4] | |
uint16_t | reserved_for_cfa_word174 [2] | |
uint16_t | current_media_serial_number [30] | |
struct { | ||
uint16_t supported: 1 | ||
uint16_t reserved0: 1 | ||
uint16_t write_same_suported: 1 | ||
uint16_t error_recovery_control_supported: 1 | ||
uint16_t feature_control_suported: 1 | ||
uint16_t data_tables_suported: 1 | ||
uint16_t reserved1: 6 | ||
uint16_t vendor_specific: 4 | ||
} | sctcommand_transport | |
uint16_t | reserved_word207 [2] | |
struct { | ||
uint16_t alignment_oflogical_within_physical: 14 | ||
uint16_t word209supported: 1 | ||
uint16_t reserved0: 1 | ||
} | block_alignment | |
uint16_t | write_read_verify_sector_count_mode3only [2] | |
uint16_t | write_read_verify_sector_count_mode2only [2] | |
struct { | ||
uint16_t nvcache_power_mode_enabled: 1 | ||
uint16_t reserved0: 3 | ||
uint16_t nvcache_feature_set_enabled: 1 | ||
uint16_t reserved1: 3 | ||
uint16_t nvcache_power_mode_version: 4 | ||
uint16_t nvcache_feature_set_version: 4 | ||
} | nvcache_capabilities | |
uint16_t | nvcache_sizelsw | |
uint16_t | nvcache_sizemsw | |
uint16_t | nominal_media_rotation_rate | |
uint16_t | reserved_word218 | |
struct { | ||
char_t nvcache_estimated_time_tospin_upin_seconds | ||
char_t reserved | ||
} | nvcache_options | |
uint16_t | write_read_verify_sector_count_mode: 8 | |
uint16_t | reserved_word220: 8 | |
uint16_t | reserved_word221 | |
struct { | ||
uint16_t major_version: 12 | ||
uint16_t transport_type: 4 | ||
} | transport_major_version | |
uint16_t | transport_minor_version | |
uint16_t | reserved_word224 [6] | |
uint32_t | extended_number_ofuser_addressable_sectors [2] | |
uint16_t | min_blocks_per_download_microcode_mode03 | |
uint16_t | max_blocks_per_download_microcode_mode03 | |
uint16_t | reserved_word236 [19] | |
uint16_t | signature: 8 | |
uint16_t | check_sum: 8 | |