This commit is contained in:
Anatoliy Belyanskiy 2023-08-31 03:52:15 +10:00
parent cc23cc96bb
commit d83a663874

View File

@ -7,27 +7,31 @@
;RemovableMedia bit 7
;Retired1 bit 8..14
;DeviceType bit 15
GeneralConfiguration WORD ; 0
NumCylinders WORD ; 1
SpecificConfiguration WORD ; 2
NumHeads WORD ; 3
NumUnformattedBytesPerTrack WORD ; 4
NumUnformattedBytesPerSector WORD ; 5
NumSectorsPerTrack WORD ; 6
VendorUnique7 BLOCK 6 ; 6
SerialNumber BLOCK 20 ; 10
BufferType WORD ; 20
BufferSizeMul_512 WORD ; 21
Obsolete22 WORD ; 22
FirmwareRevision BLOCK 8 ; 23
ModelNumber BLOCK 40 ; 27
MaximumBlockTransfer BYTE ; 47
VendorUnique2 BYTE
GeneralConfiguration WORD ; 0 0
NumCylinders WORD ; 1 2
SpecificConfiguration WORD ; 2 4
NumHeads WORD ; 3 6
NumUnformattedBytesPerTrack WORD ; 4 8
NumUnformattedBytesPerSector WORD ; 5 10
NumSectorsPerTrack WORD ; 6 12
VendorUnique7 BLOCK 6 ; 7 14
SerialNumber BLOCK 20 ; 10 20
BufferType WORD ; 20 40
BufferSizeMul_512 WORD ; 21 42
Obsolete22 WORD ; 22 44
FirmwareRevision BLOCK 8 ; 23 46
ModelNumber BLOCK 40 ; 27 54
MaximumBlockTransfer BYTE ; 47 94
VendorUnique2 BYTE ; 95
;FeatureSupported bit 0
;Reserved bit 1..15
TrustedComputing WORD ; 48
TrustedComputing WORD ; 48 96
;CurrentLongPhysicalSectorAlignment bit 0..1
;Reserved bit 2..7
Capabilities_low BYTE ; 49 98
;DMAsupported bit 8
;LBAsupported bit 9
;IORDYdisable bit 10
@ -36,20 +40,25 @@ TrustedComputing WORD ; 48
;OverlapOperationSupported bit 13
;CommandQueuingSupported bit 14
;InterleavedDMAsupported bit 15
Capabilities WORD ; 49
Reserved50 WORD ; 50
Capabilities_high WORD ; 99
Reserved50 WORD ; 50 100
ObsoleteWords51 WORD ; 51 102
ObsoleteWords52 WORD ; 52 104
ObsoleteWords51 WORD ; 51
ObsoleteWords52 WORD ; 52
;FieldsInWords54_58Valid bit 0
;FieldsInWords64_70Valid bit 1
;FieldsInWord88_Valid bit 2
;Reserved bit 3..15
TranslationFieldsValid WORD ; 53
NumberOfCurrentCylinders WORD ; 54
NumberOfCurrentHeads WORD ; 55
CurrentSectorsPerTrack WORD ; 56
CurrentSectorCapacity DWORD ; 57
TranslationFieldsValid WORD ; 53 106
NumberOfCurrentCylinders_low BYTE ; 54 108
NumberOfCurrentCylinders_high BYTE ; 109
NumberOfCurrentHeads_low BYTE ; 55 110
NumberOfCurrentHeads_high BYTE ; 111
CurrentSectorsPerTrack_low WORD ; 56 112
CurrentSectorsPerTrack_high WORD ; 113
CurrentSectorCapacity DWORD ; 57 114
;SectorsPerInt bit 0..7
;MultiSectorSettingValid bit 8
;Reserved bit 9..11
@ -57,46 +66,49 @@ CurrentSectorCapacity DWORD ; 57
;CryptoScrambleExtCommandSupported bit 13
;OverwriteExtCommandSupported bit 14
;BlockEraseExtCommandSupported bit 15
CurrentMultiSectorSetting WORD ; 59
UserAddressableSectors DWORD ; 60
CurrentMultiSectorSetting WORD ; 59 118
UserAddressableSectors DWORD ; 60 120
;TransferModesSupported bit 0..7
;TransferModeActive bit 8..15
SingleWordDMA WORD ; 62
SingleWordDMA WORD ; 62 124
;TransferModesSupported bit 0..7
;TransferModeActive bit 8..15
MultiWordDMA WORD ; 63
MultiWordDMA WORD ; 63 126
AdvancedPIOModes BYTE ; 64 128
ReservedByte129 BYTE ; 129
MinimumMWXferCycleTime WORD ; 65 130
RecommendedMWXferCycleTime WORD ; 66 132
MinimumPIOCycleTime WORD ; 67 134
MinimumPIOCycleTimeIORDY WORD ; 68 136
AdvancedPIOModes BYTE ; 64
ReservedByte129 BYTE
MinimumMWXferCycleTime WORD ; 65
RecommendedMWXferCycleTime WORD ; 66
MinimumPIOCycleTime WORD ; 67
MinimumPIOCycleTimeIORDY WORD ; 68
;ZonedCapabilities bit 0..1
;NonVolatileWriteCache bit 2
;ExtendedUserAddressableSectorsSupported bit 3
;ExtendedUserAddressableSectors bit 3
;DeviceEncryptsAllUserData bit 4
;ReadZeroAfterTrimSupported bit 5
;Optional28BitCommandsSupported bit 6
;ReadZeroAfterTrim bit 5
;Optional28BitCommands bit 6
;IEEE1667 bit 7
;DownloadMicrocodeDmaSupported bit 8
;SetMaxSetPasswordUnlockDmaSupported bit 9
;WriteBufferDmaSupported bit 10
;ReadBufferDmaSupported bit 11
;DeviceConfigIdentifySetDmaSupported bit 12
;LPSAERCSupported bit 13
;DeterministicReadAfterTrimSupported bit 14
;CFastSpecSupported bit 15
AdditionalSupported WORD ; 69
ReservedWords70 BLOCK 10 ; 70
QueueDepth WORD ; 75
SerialAtaCapabilities DWORD ; 76
SerialAtaFeaturesSupported WORD ; 78
SerialAtaFeaturesEnabled WORD ; 79
AdditionalSupported_low BYTE ; 69 138
;DownloadMicrocodeDma bit 8
;SetMaxSetPasswordUnlockDMA bit 9
;WriteBufferDMA bit 10
;ReadBufferDMA bit 11
;DeviceConfigIdentifySetDMA bit 12
;LPSAERC bit 13
;DeterministicReadAfterTrim bit 14
;CFastSpec bit 15
AdditionalSupported_high BYTE ; 139
ReservedWords70 BLOCK 10 ; 70 140
QueueDepth WORD ; 75 150
SerialAtaCapabilities DWORD ; 76 152
SerialAtaFeaturesSupported WORD ; 78 156
SerialAtaFeaturesEnabled WORD ; 79 158
MajorRevision WORD ; 80 160
MinorRevision WORD ; 81 162
MajorRevision WORD ; 80
MinorRevision WORD ; 81
;SmartCommands bit 0
;SecurityMode bit 1
;RemovableMediaFeature bit 2
@ -142,7 +154,8 @@ MinorRevision WORD ; 81
;ReservedForTechReport bit 43.44
;IdleWithUnloadFeature bit 45
;WordValid bit 46..47
CommandSetSupport BLOCK 6 ; 82
CommandSetSupport BLOCK 6 ; 82 164
;SmartCommands bit 0
;SecurityMode bit 1
;RemovableMediaFeature bit 2
@ -189,41 +202,44 @@ CommandSetSupport BLOCK 6 ; 82
;ReservedForTechReport bit 43..44
;IdleWithUnloadFeature bit 45
;Reserved4 bit 46..47
CommandSetActive BLOCK 6 ; 85
CommandSetActive BLOCK 6 ; 85 170
UltraDMASupport BYTE ; 88 176
UltraDMAActive BYTE ; 177
UltraDMASupport BYTE ; 88
UltraDMAActive BYTE
; USHORT TimeRequired : 15
; USHORT ExtendedTimeReported : 1
NormalSecurityEraseUnit WORD ; 89
; USHORT TimeRequired : 15
; USHORT ExtendedTimeReported : 1
EnhancedSecurityEraseUnit WORD ; 90
;USHORT TimeRequired : 15
;USHORT ExtendedTimeReported : 1
NormalSecurityEraseUnit WORD ; 89 178
;USHORT TimeRequired : 15
;USHORT ExtendedTimeReported : 1
EnhancedSecurityEraseUnit WORD ; 90 180
CurrentAPMLevel BYTE ; 91 182
ReservedByte183 BYTE ; 183
MasterPasswordID WORD ; 92 184
HardwareResetResult WORD ; 93 186
CurrentAcousticValue BYTE ; 94 188
RecommendedAcousticValue BYTE ; 189
StreamMinRequestSize WORD ; 95 190
StreamingTransferTimeDMA WORD ; 96 192
StreamingAccessLatencyDMAPIO WORD ; 97 194
StreamingPerfGranularity DWORD ; 98 196
Max48BitLBA BLOCK 8 ; 100 200
StreamingTransferTime WORD ; 104 208
DsmCap WORD ; 105 210
CurrentAPMLevel BYTE ; 91
ReservedByte183 BYTE
MasterPasswordID WORD ; 92
HardwareResetResult WORD ; 93
CurrentAcousticValue BYTE ; 94
RecommendedAcousticValue BYTE
StreamMinRequestSize WORD ; 95
StreamingTransferTimeDMA WORD ; 96
StreamingAccessLatencyDMAPIO WORD ; 97
StreamingPerfGranularity DWORD ; 98
Max48BitLBA BLOCK 8 ; 100
StreamingTransferTime WORD ; 104
DsmCap WORD ; 105
;LogicalSectorsPerPhysicalSector : 4
;Reserved0 : 8
;LogicalSectorLongerThan256Words : 1
;MultipleLogicalSectorsPerPhysicalSector : 1
;Reserved1 : 2
PhysicalLogicalSectorSize WORD ; 106
InterSeekDelay WORD ; 107
WorldWideName[4] BLOCK 8 ; 108
ReservedForWorldWideName128[4] BLOCK 8 ; 112
ReservedForTlcTechnicalReport WORD ; 116
WordsPerLogicalSector[2] DWORD ; 117
PhysicalLogicalSectorSize WORD ; 106 212
InterSeekDelay WORD ; 107 214
WorldWideName[4] BLOCK 8 ; 108 216
ReservedForWorldWideName128[4] BLOCK 8 ; 112 224
ReservedForTlcTechnicalReport WORD ; 116 232
WordsPerLogicalSector[2] DWORD ; 117 234
;ReservedForDrqTechnicalReport : 1
;WriteReadVerify : 1
;WriteUncorrectableExt : 1
@ -234,7 +250,8 @@ WordsPerLogicalSector[2] DWORD ; 117
;ExtendedPowerConditions : 1
;Reserved0 : 6
;WordValid : 2
CommandSetSupportExt WORD ; 119
CommandSetSupportExt WORD ; 119 238
;ReservedForDrqTechnicalReport : 1
;WriteReadVerify : 1
;WriteUncorrectableExt : 1
@ -245,11 +262,11 @@ CommandSetSupportExt WORD ; 119
;ExtendedPowerConditions : 1
;Reserved0 : 6
;Reserved1 : 2
CommandSetActiveExt WORD ; 120
CommandSetActiveExt WORD ; 120 240
Reserved121 BLOCK 12 ; 121
MsnSupport BYTE ; 127
ReservedByte255 BYTE
Reserved121 BLOCK 12 ; 121 242
MsnSupport BYTE ; 127 254
ReservedByte255 BYTE ; 255
;SecuritySupported : 1
;SecurityEnabled : 1
@ -260,18 +277,19 @@ ReservedByte255 BYTE
;Reserved0 : 2
;SecurityLevel : 1
;Reserved1 : 7
SecurityStatus WORD ; 128
SecurityStatus WORD ; 128 256
ReservedBlock129 BLOCK 62 ; 129 258
ReservedBlock129 BLOCK 62 ; 129
;MaximumCurrentInMA : 12
;CfaPowerMode1Disabled : 1
;CfaPowerMode1Required : 1
;Reserved0 : 1
;Word160Supported : 1
CfaPowerMode1 WORD ; 160
CfaPowerMode1 WORD ; 160 320
ReservedBlock161 BLOCK 14 ; 161
NominalFormFactor WORD ; 168
ReservedBlock161 BLOCK 14 ; 161 322
NominalFormFactor WORD ; 168 336
struct {