scsi_modes revision 289914
1258945Sroberto# SCSI mode page data base. 2258945Sroberto 3258945Sroberto# Copyright (c) 1995 HD Associates 4298770Sdelphij# Copyright (c) 2001 The FreeBSD Project 5316722Sdelphij# (contact: dufault@hda.com) 6258945Sroberto# All rights reserved. 7258945Sroberto# 8280849Scy# Redistribution and use in source and binary forms, with or without 9258945Sroberto# modification, are permitted provided that the following conditions 10258945Sroberto# are met: 11258945Sroberto# 1. Redistributions of source code must retain the above copyright 12294569Sdelphij# notice, this list of conditions and the following disclaimer. 13258945Sroberto# 2. Redistributions in binary form must reproduce the above copyright 14258945Sroberto# notice, this list of conditions and the following disclaimer in the 15294569Sdelphij# documentation and/or other materials provided with the distribution. 16294569Sdelphij# 3. The name of HD Associates 17258945Sroberto# may not be used to endorse or promote products derived from this software 18258945Sroberto# without specific prior written permission. 19258945Sroberto# 20258945Sroberto# THIS SOFTWARE IS PROVIDED BY HD ASSOCIATES ``AS IS'' AND 21310419Sdelphij# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22258945Sroberto# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23258945Sroberto# ARE DISCLAIMED. IN NO EVENT SHALL HD ASSOCIATES BE LIABLE 24258945Sroberto# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25258945Sroberto# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26258945Sroberto# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27258945Sroberto# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28258945Sroberto# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29258945Sroberto# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30310419Sdelphij# SUCH DAMAGE. 31310419Sdelphij# 32310419Sdelphij# $FreeBSD: head/share/misc/scsi_modes 289914 2015-10-25 03:22:21Z ngie $ 33310419Sdelphij# 34310419Sdelphij# The ordering is alphabetical by page name, as it appears in the SCSI spec. 35310419Sdelphij 36310419Sdelphij# 'i' is a byte-sized integral types, followed by a field width of 37310419Sdelphij# 1 through 4 (1 to 4 bytes). 38258945Sroberto# 39258945Sroberto# 'b' is a bit-sized integral type 40258945Sroberto# 't' is a bitfield type- followed by a bit field width 41258945Sroberto# 42294569Sdelphij# 'c' values are character arrays 43258945Sroberto# 'z' values are null-padded strings 44258945Sroberto# 45258945Sroberto# 46258945Sroberto# '*' suppresses assignment (for 'seeking'). 47258945Sroberto# Bitfields are MSB to LSB. 48258945Sroberto 49294569Sdelphij 50258945Sroberto# ALL DEVICE TYPES 51258945Sroberto 52294569Sdelphij0x0a "Control Mode Page" { 53258945Sroberto {TST} t3 54258945Sroberto {TMF_ONLY} t1 55258945Sroberto {DPICZ} t1 56258945Sroberto {D_SENSE} t1 57258945Sroberto {GLTSD} t1 58294569Sdelphij {RLEC} t1 59280849Scy {Queue Algorithm Modifier} t4 60258945Sroberto {NUAR} t1 61294569Sdelphij {QErr} t2 62294569Sdelphij {DQue} t1 63258945Sroberto {EECA} t1 64298770Sdelphij {RAC} t1 65258945Sroberto {UA_INTLCK_CTRL} t2 66298770Sdelphij {SWP} t1 67298770Sdelphij {RAENP} t1 68298770Sdelphij {UAAENP} t1 69298770Sdelphij {EAENP} t1 70298770Sdelphij {ATO} t1 71310419Sdelphij {TAS} t1 72258945Sroberto {ATMPE} t1 73298770Sdelphij {RWWP} t1 74258945Sroberto {Reserved} *t1 75258945Sroberto {Autoload Mode} t3 76258945Sroberto {Ready AEN Holdoff Period} i2 77258945Sroberto {Busy Timeout Period} i2 78258945Sroberto {Extended Self-Test Completion Time} i2 79258945Sroberto} 80258945Sroberto 81258945Sroberto0x02 "Disconnect-Reconnect Page" { 82258945Sroberto {Buffer Full Ratio} i1 83258945Sroberto {Buffer Empty Ratio} i1 84258945Sroberto {Bus Inactivity Limit} i2 85258945Sroberto {Disconnect Time Limit} i2 86258945Sroberto {Connect Time Limit} i2 87258945Sroberto {Maximum Burst Size} i2 88258945Sroberto {Reserved} *t6 89258945Sroberto {DTDC} t2 90258945Sroberto {Reserved} *i1 91258945Sroberto {Reserved} *i1 92258945Sroberto {Reserved} *i1 93258945Sroberto} 94258945Sroberto 95258945Sroberto0x15 "Extended Page"; 96258945Sroberto 97258945Sroberto0x16 "Extended Device-Type Specific Page"; 98258945Sroberto 99258945Sroberto0x1c "Informational Exceptions Control Page" { 100258945Sroberto {PERF} t1 101258945Sroberto {Reserved} *t1 102258945Sroberto {EBF} t1 103258945Sroberto {EWasc} t1 104258945Sroberto {DExcpt} t1 105258945Sroberto {TEST} t1 106258945Sroberto {EBACKERR} t1 107258945Sroberto {LogErr} t1 108258945Sroberto {Reserved} *t4 109258945Sroberto {MRIE} b4 110258945Sroberto {Interval Timer} i4 111258945Sroberto {Report Count} i4 112258945Sroberto} 113280849Scy 114258945Sroberto0x09 "Peripheral Device Page" { 115258945Sroberto {Interface Identifier} i2 116258945Sroberto {Reserved} *i1 117258945Sroberto {Reserved} *i1 118280849Scy {Reserved} *i1 119258945Sroberto {Reserved} *i1 120258945Sroberto} 121258945Sroberto 122258945Sroberto0x1a "Power Condition Page" { 123258945Sroberto {Reserved} *i1 124258945Sroberto {Reserved} *t6 125258945Sroberto {Idle} t1 126280849Scy {Standby} t1 127258945Sroberto {Idle Condition Timer} i4 128258945Sroberto {Standby Condition Timer} i4 129258945Sroberto} 130258945Sroberto 131258945Sroberto0x18 "Protocol-Specific LUN Page"; 132258945Sroberto 133258945Sroberto0x19 "Protocol-Specific Port Page"; 134258945Sroberto 135258945Sroberto# DIRECT ACCESS DEVICES 136280849Scy0x08 "Caching Page" { 137258945Sroberto {IC} t1 138258945Sroberto {ABPF} t1 139258945Sroberto {CAP} t1 140258945Sroberto {DISC} t1 141258945Sroberto {SIZE} t1 142258945Sroberto {WCE} t1 143258945Sroberto {MF} t1 144258945Sroberto {RCD} t1 145258945Sroberto {Demand Retention Priority} t4 146258945Sroberto {Write Retention Priority} t4 147258945Sroberto {Disable Pre-fetch Transfer Length} i2 148258945Sroberto {Minimum Pre-fetch} i2 149258945Sroberto {Maximum Pre-fetch} i2 150258945Sroberto {Maximum Pre-fetch Ceiling} i2 151258945Sroberto} 152258945Sroberto 153258945Sroberto0x05 "Flexible Disk Page" { 154258945Sroberto {Transfer rate} i2 155258945Sroberto {Number of heads} i1 156258945Sroberto {Sectors per track} i1 157258945Sroberto {Data bytes per sector} i2 158258945Sroberto {Number of cylinders} i2 159258945Sroberto {Starting cylinder-write precompensation} i2 160258945Sroberto {Starting cylinder-reduced write current} i2 161258945Sroberto {Drive step rate} i2 162258945Sroberto {Drive step pulse width} i1 163258945Sroberto {Head settle delay} i2 164258945Sroberto {Motor on delay} i1 165258945Sroberto {Motor off delay} i1 166258945Sroberto {TRDY} t1 167258945Sroberto {SSN} t1 168258945Sroberto {MO} t1 169258945Sroberto {Reserved} *t5 170258945Sroberto {Reserved} *t4 171258945Sroberto {SPC} t4 172258945Sroberto {Write Compensation} i1 173258945Sroberto {Head load delay} i1 174258945Sroberto {Head unload delay} i1 175258945Sroberto {Pin 34} t4 176258945Sroberto {Pin 2} t4 177258945Sroberto {Pin 4} t4 178258945Sroberto {Pin 1} t4 179258945Sroberto {Medium rotation rate} i2 180258945Sroberto {Reserved} *i1 181258945Sroberto {Reserved} *i1 182258945Sroberto} 183258945Sroberto 184258945Sroberto0x03 "Format Device Page" { 185258945Sroberto {Tracks per Zone} i2 186258945Sroberto {Alternate Sectors per Zone} i2 187258945Sroberto {Alternate Tracks per Zone} i2 188258945Sroberto {Alternate Tracks per Logical Unit} i2 189258945Sroberto {Sectors per Track} i2 190258945Sroberto {Data Bytes per Physical Sector} i2 191258945Sroberto {Interleave} i2 192258945Sroberto {Track Skew Factor} i2 193258945Sroberto {Cylinder Skew Factor} i2 194258945Sroberto {SSEC} t1 195258945Sroberto {HSEC} t1 196258945Sroberto {RMB} t1 197258945Sroberto {SURF} t1 198258945Sroberto {Reserved} *t4 199258945Sroberto} 200258945Sroberto 201258945Sroberto0x0b "Medium Types Supported Page" { 202258945Sroberto {Reserved} *i1 203258945Sroberto {Reserved} *i1 204 {Medium type one supported} i1 205 {Medium type two supported} i1 206 {Medium type three supported} i1 207 {Medium type four supported} i1 208} 209 210# Notch page (0x0c) 2110x0c "Notch and Partition Page"; 212 2130x01 "Read-Write Error Recovery Page" { 214 {AWRE (Auto Write Reallocation Enbld)} t1 215 {ARRE (Auto Read Reallocation Enbld)} t1 216 {TB (Transfer Block)} t1 217 {RC (Read Continuous)} t1 218 {EER (Enable Early Recovery)} t1 219 {PER (Post Error)} t1 220 {DTE (Disable Transfer on Error)} t1 221 {DCR (Disable Correction)} t1 222 {Read Retry Count} i1 223 {Correction Span} i1 224 {Head Offset Count} i1 225 {Data Strobe Offset Count} i1 226 {LBPERE (LBP Error Reporting Enabled)} t1 227 {Reserved} *t7 228 {Write Retry Count} i1 229 {Reserved} *i1 230 {Recovery Time Limit} i2 231} 232 2330x04 "Rigid Disk Drive Geometry Page" { 234 {Number of Cylinders} i3 235 {Number of Heads} i1 236 {Starting Cylinder-Write Precompensation} i3 237 {Starting Cylinder-Reduced Write Current} i3 238 {Drive Step Rate} i2 239 {Landing Zone Cylinder} i3 240 {Reserved} *t6 241 {RPL} t2 242 {Rotational Offset} i1 243 {Reserved} *i1 244 {Medium Rotation Rate} i2 245 {Reserved} *i1 246 {Reserved} *i1 247} 248 2490x07 "Verify Error Recovery Page" { 250 {Reserved} *t4 251 {EER} t1 252 {PER} t1 253 {DTE} t1 254 {DCR} t1 255 {Verify Retry Count} i1 256 {Verify Correction Span} i1 257 {Reserved} *i1 258 {Reserved} *i1 259 {Reserved} *i1 260 {Reserved} *i1 261 {Reserved} *i1 262 {Verify Recovery Time Limit} i2 263} 264 2650x0E "CD-ROM Audio Control Parameters Page" { 266 {Reserved} *t5 267 {Immed} t1 268 {SOTC} t1 269 {Reserved} *t1 270 {Reserved} *i2 271 {APRVal} t1 272 {Reserved} *t3 273 {Format of LBAs / sec.} t4 274 {Logical Blocks per Second of Audio Playback} i2 275 {Reserved} *t4 276 {Output Port 0 Channel Selection} t4 277 {Output Port 0 Volume} i1 278 {Reserved} *t4 279 {Output Port 1 Channel Selection} t4 280 {Output Port 1 Volume} i1 281 {Reserved} *t4 282 {Output Port 2 Channel Selection} t4 283 {Output Port 2 Volume} i1 284 {Reserved} *t4 285 {Output Port 3 Channel Selection} t4 286 {Output Port 3 Volume} i1 287} 288 289# SEQUENTIAL ACCESS DEVICES 2900x10 "Device Configuration Page" { 291 {Reserved} *t1 292 {Change Active Partition} t1 293 {Change Active Format} t1 294 {Active Format} t5 295 {Active Partition} i1 296 {Write Buffer Full Ratio} i1 297 {Write Buffer Empty Ratio} i1 298 {Write Delay Time} i2 299 {Data Buffer Recovery} t1 300 {Block Identifiers Support} t1 301 {Report Setmarks} t1 302 {Automatic Velocity Control} t1 303 {Stop on Consecutive Filemarks} t2 304 {Recover Buffer Order} t1 305 {Report Early-Warning} t1 306 {Gap Size} i1 307 {EOD Defined} t3 308 {Enable EOD Generation} t1 309 {Synchronize at Early-Warning} t1 310 {Reserved} *t3 311 {Buffer Size at Early-Warning} i3 312 {Select Data Compression Algorithm} i1 313 {Reserved} *t5 314 {SCSI-3 Associated Write Protect} t1 315 {SCSI-3 Persistent Write Protect} t1 316 {SCSI-3 Permanent Write Protect} t1 317} 318 3190x0f "Data Compression Page" { 320 {Data Compression Enabled} t1 321 {Date Compression Capable} t1 322 {Reserved} *t6 323 {Data Decompression Capable} t1 324 {Data Decompression Report on Exception} t2 325 {Reserved} *t5 326 {Compression Algorithm} i4 327 {Decompression Algorithm} i4 328 {Reserved} *i4 329} 330 331# Removable devices 3320x1b "Removable Block Access Capacities Page" { 333 {System Floppy Type Device} t1 334 {Supports Reporting Format Progress} t1 335 {Reserved} *t6 336 {Non CD Optical Device} t1 337 {Single or Multiple LUN Supported} t1 338 {Reserved} *t3 339 {Total Logical Units Supported} t3 340 {Reserved} *i8 341} 342 343# CD-ROM (and CD-R[W]) devices 3440x2a "CD capabilities and mechanical status page" { 345 {Reserved} *t4 346 {Method 2} t1 347 {CD-RW Read} t1 348 {CD-R Read} t1 349 {Reserved} *t4 350 {Test Write} t1 351 {CD-RW Write} t1 352 {CD-R Write} t1 353 {Reserved} *t1 354 {Multi Session} t1 355 {Mode 2 Form 2} t1 356 {Mode 2 Form 1} t1 357 {Digital Port (2)} t1 358 {Digital Port (1)} t1 359 {Composite} t1 360 {Audio Play} t1 361 {Read Bar Code} t1 362 {UPC} t1 363 {ISRC} t1 364 {C2 Pointers are supported} t1 365 {R-W De-interleaved & corrected} t1 366 {R-W Supported} t1 367 {CD-DA Stream is Accurate} t1 368 {CD-DA Commands Supported} t1 369 {Loading Mechanism Type} t3 370 {Reserved} *t1 371 {Eject} t1 372 {Prevent Jumper} t1 373 {Lock State} t1 374 {Lock} t1 375 {Reserved} *t4 376 {S/W Slot Selection} t1 377 {Changer Supports Disc Present reporting} t1 378 {Separate Channel Mute Supported} t1 379 {Separate volume levels per channel} t1 380 {Maximum Read Speed Supported (kBps)} i2 381 {Number of Volume Leves Supported} i2 382 {Buffer Size supported by Drive (KB)} i2 383 {Current Read Speed Selected (kBps)} i2 384 {Reserved} *i1 385 {Reserved} *t2 386 {Length} t2 387 {LSBF} t1 388 {RCK} t1 389 {BCK} t1 390 {Reserved} *t1 391 {Maximum Write Speed Supported (kBps)} i2 392 {Current Write Speed Supported (kBps)} i2 393}; 394 3950x00 "Vendor-Specific"; 396