]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/misc/scsi_modes
Merge llvm-project release/17.x llvmorg-17.0.0-rc4-10-g0176e8729ea4
[FreeBSD/FreeBSD.git] / share / misc / scsi_modes
1 # SCSI mode page data base.
2
3 # Copyright (c) 1995 HD Associates
4 # Copyright (c) 2001 The FreeBSD Project
5 # (contact: dufault@hda.com)
6 # All rights reserved.
7
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions
10 # are met:
11 # 1. Redistributions of source code must retain the above copyright
12 #    notice, this list of conditions and the following disclaimer.
13 # 2. Redistributions in binary form must reproduce the above copyright
14 #    notice, this list of conditions and the following disclaimer in the
15 #    documentation and/or other materials provided with the distribution.
16 # 3. The name of HD Associates
17 #    may not be used to endorse or promote products derived from this software
18 #    without specific prior written permission.
19
20 # THIS SOFTWARE IS PROVIDED BY HD ASSOCIATES ``AS IS'' AND
21 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 # ARE DISCLAIMED.  IN NO EVENT SHALL HD ASSOCIATES BE LIABLE
24 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 # SUCH DAMAGE.
31 #
32 #
33 # The ordering is alphabetical by page name, as it appears in the SCSI spec.
34
35 # 'i' is a byte-sized integral types, followed by a field width of 
36 #  1 through 4 (1 to 4 bytes).
37 #
38 # 'b' is a bit-sized integral type
39 # 't' is a bitfield type- followed by a bit field width
40 #
41 # 'c' values are character arrays
42 # 'z' values are null-padded strings
43 #
44 #
45 # '*' suppresses assignment (for 'seeking').
46 # Bitfields are MSB to LSB.
47
48
49 # ALL DEVICE TYPES
50
51 0x0a,0x03 "Command Duration Limit A";
52
53 0x0a,0x04 "Command Duration Limit B";
54
55 0x0a "Control" {
56         {TST} t3
57         {TMF_ONLY} t1
58         {DPICZ} t1
59         {D_SENSE} t1
60         {GLTSD} t1
61         {RLEC} t1
62         {Queue Algorithm Modifier} t4
63         {NUAR} t1
64         {QErr} t2
65         {DQue} t1
66         {EECA} t1
67         {RAC} t1
68         {UA_INTLCK_CTRL} t2
69         {SWP} t1
70         {RAENP} t1
71         {UAAENP} t1
72         {EAENP} t1
73         {ATO} t1
74         {TAS} t1
75         {ATMPE} t1
76         {RWWP} t1
77         {SBLP (Supported Block Lengths and Protection)} t1
78         {Autoload Mode} t3
79         {Ready AEN Holdoff Period} i2
80         {Busy Timeout Period} i2
81         {Extended Self-Test Completion Time} i2
82 }
83
84 0x0a,0x01 "Control Extension" {
85         {Reserved} *t4
86         {DLC} t1
87         {TCMOS} t1
88         {SCSIP} t1
89         {IALUAE} t1
90         {Reserved} *t4
91         {Initial Command Priority} t4
92         {Maximum Sense Data Length} i1
93 }
94
95 0x02 "Disconnect-Reconnect" {
96         {Buffer Full Ratio} i1
97         {Buffer Empty Ratio} i1
98         {Bus Inactivity Limit} i2
99         {Disconnect Time Limit} i2
100         {Connect Time Limit} i2
101         {Maximum Burst Size} i2
102         {Reserved} *t6
103         {DTDC} t2
104         {Reserved} *i1
105         {Reserved} *i1
106         {Reserved} *i1
107 }
108
109 0x15 "Extended";
110
111 0x16 "Extended Device-Type Specific";
112
113 0x09 "Peripheral Device" {
114         {Interface Identifier} i2
115         {Reserved} *i1
116         {Reserved} *i1
117         {Reserved} *i1
118         {Reserved} *i1
119 }
120
121 0x1a "Power Condition" {
122         {PM_BG_PRECEDENCE} t1
123         {Reserved} *t6
124         {STANDBY_Y} t1
125         {Reserved} *t4
126         {IDLE_C} t1
127         {IDLE_B} t1
128         {IDLE_A} t1
129         {STANDBY_Z} t1
130         {IDLE_A Condition Timer} i4
131         {STANDBY_Z Condition Timer} i4
132         {IDLE_B Condition Timer} i4
133         {IDLE_C Condition Timer} i4
134         {STANDBY_Y Condition Timer} i4
135         {Reserved} *i4
136         {Reserved} *i4
137         {Reserved} *i4
138         {Reserved} *i3
139         {CCF Idle} t2
140         {CCF Standby} t2
141         {CCF Stopped} t2
142         {Reserved} *t2
143 }
144
145 0x1a,0x01 "Power Consumption" {
146         {Reserved} *i2
147         {Reserved} *t6
148         {Active Level} t2
149         {Power Consumption Identifier} i1
150         {Reserved} *i4
151         {Reserved} *i4
152 }
153
154 0x18 "Protocol-Specific Logical Unit";
155
156 0x19 "Protocol-Specific Port";
157
158 # DIRECT ACCESS DEVICES
159
160 0x0a,0x02 "Application Tag";
161
162 0x1a,0xf1 "ATA Power Condition";
163
164 0x1c,0x01 "Background Control" {
165         {Reserved} *t5
166         {S_L_FULL} *t1
167         {LOWIR} *t1
168         {EN_BMS} *t1
169         {Reserved} *t7
170         {EN_PS} *t1
171         {Background Medium Scan Interval Time} i2
172         {Background Pre-Scan Time Limit} i2
173         {Minimum Idle Time Before Background Scan} i2
174         {Maximum Time To Suspend Background Scan} i2
175         {Reserved} *i2
176 }
177
178 0x0a,0x06 "Background Operation Control" {
179         {BO_MODE} t2
180         {Reserved} *t6
181 }
182
183 0x08 "Caching" {
184         {IC} t1
185         {ABPF} t1
186         {CAP} t1
187         {DISC} t1
188         {SIZE} t1
189         {WCE} t1
190         {MF} t1
191         {RCD} t1
192         {Demand Retention Priority} t4
193         {Write Retention Priority} t4
194         {Disable Pre-fetch Transfer Length} i2
195         {Minimum Pre-fetch} i2
196         {Maximum Pre-fetch} i2
197         {Maximum Pre-fetch Ceiling} i2
198         {FSW (Force Sequential Write)} t1
199         {LBCSS (Logical Block Cache Segment Size)} t1
200         {DRA (Disable Read-Ahead)} t1
201         {Vendor Specific} t2
202         {SYNC_PROG} t1
203         {NV_DIS} t1
204         {Number of Cache Segments} i1
205         {Cache Segment Size} i2
206         {Reserved} *t4
207 }
208
209 0x05 "Flexible Disk" {
210         {Transfer rate} i2
211         {Number of heads} i1
212         {Sectors per track} i1
213         {Data bytes per sector} i2
214         {Number of cylinders} i2
215         {Starting cylinder-write precompensation} i2
216         {Starting cylinder-reduced write current} i2
217         {Drive step rate} i2
218         {Drive step pulse width} i1
219         {Head settle delay} i2
220         {Motor on delay} i1
221         {Motor off delay} i1
222         {TRDY} t1
223         {SSN} t1
224         {MO} t1
225         {Reserved} *t5
226         {Reserved} *t4
227         {SPC} t4
228         {Write Compensation} i1
229         {Head load delay} i1
230         {Head unload delay} i1
231         {Pin 34} t4
232         {Pin 2} t4
233         {Pin 4} t4
234         {Pin 1} t4
235         {Medium rotation rate} i2
236         {Reserved} *i1
237         {Reserved} *i1
238 }
239
240 0x03 "Format Device" {
241         {Tracks per Zone} i2
242         {Alternate Sectors per Zone} i2
243         {Alternate Tracks per Zone} i2
244         {Alternate Tracks per Logical Unit} i2
245         {Sectors per Track} i2
246         {Data Bytes per Physical Sector} i2
247         {Interleave} i2
248         {Track Skew Factor} i2
249         {Cylinder Skew Factor} i2
250         {SSEC} t1
251         {HSEC} t1
252         {RMB} t1
253         {SURF} t1
254         {Reserved} *t4
255 }
256
257 0x0a,0x05 "I/O Advice Hints Grouping";
258
259 0x1c "Informational Exceptions Control" {
260         {PERF} t1
261         {Reserved} *t1
262         {EBF} t1
263         {EWasc} t1
264         {DExcpt} t1
265         {TEST} t1
266         {EBACKERR} t1
267         {LogErr} t1
268         {Reserved} *t4
269         {MRIE} t4
270         {Interval Timer} i4
271         {Report Count} i4
272 }
273
274 0x1c,0x02 "Logical Block Provisioning" {
275         {Reserved} *t7
276         {SITUA} t1
277         {Reserved} *i1
278         {Reserved} *i1
279         {Reserved} *i1
280         {Reserved} *i4
281         {Reserved} *i4
282 }
283
284 0x0b "Medium Types Supported" {
285         {Reserved} *i1
286         {Reserved} *i1
287         {Medium type one supported} i1
288         {Medium type two supported} i1
289         {Medium type three supported} i1
290         {Medium type four supported} i1
291 }
292
293 0x0c "Notch and Partition";
294
295 0x0a,0xf1 "PATA Control";
296
297 0x01 "Read-Write Error Recovery" {
298         {AWRE (Auto Write Reallocation Enbld)} t1
299         {ARRE (Auto Read Reallocation Enbld)} t1
300         {TB (Transfer Block)} t1
301         {RC (Read Continuous)} t1
302         {EER (Enable Early Recovery)} t1
303         {PER (Post Error)} t1
304         {DTE (Disable Transfer on Error)} t1
305         {DCR (Disable Correction)} t1
306         {Read Retry Count} i1
307         {Correction Span} i1
308         {Head Offset Count} i1
309         {Data Strobe Offset Count} i1
310         {LBPERE (LBP Error Reporting Enabled)} t1
311         {MWR (Misaligned Write Reporting)} t2
312         {Reserved} *t5
313         {Write Retry Count} i1
314         {Reserved} *i1
315         {Recovery Time Limit} i2
316 }
317
318 0x04 "Rigid Disk Drive Geometry" {
319         {Number of Cylinders} i3
320         {Number of Heads} i1
321         {Starting Cylinder-Write Precompensation} i3
322         {Starting Cylinder-Reduced Write Current} i3
323         {Drive Step Rate} i2
324         {Landing Zone Cylinder} i3
325         {Reserved} *t6
326         {RPL} t2
327         {Rotational Offset} i1
328         {Reserved} *i1
329         {Medium Rotation Rate} i2
330         {Reserved} *i1
331         {Reserved} *i1
332 }
333
334 0x07 "Verify Error Recovery" {
335         {Reserved} *t4
336         {EER} t1
337         {PER} t1
338         {DTE} t1
339         {DCR} t1
340         {Verify Retry Count} i1
341         {Verify Correction Span} i1
342         {Reserved} *i1
343         {Reserved} *i1
344         {Reserved} *i1
345         {Reserved} *i1
346         {Reserved} *i1
347         {Verify Recovery Time Limit} i2
348 }
349
350 0x0E "CD-ROM Audio Control Parameters" {
351         {Reserved} *t5
352         {Immed} t1
353         {SOTC} t1
354         {Reserved} *t1
355         {Reserved} *i2
356         {APRVal} t1
357         {Reserved} *t3
358         {Format of LBAs / sec.} t4
359         {Logical Blocks per Second of Audio Playback} i2
360         {Reserved} *t4
361         {Output Port 0 Channel Selection} t4
362         {Output Port 0 Volume} i1
363         {Reserved} *t4
364         {Output Port 1 Channel Selection} t4
365         {Output Port 1 Volume} i1
366         {Reserved} *t4
367         {Output Port 2 Channel Selection} t4
368         {Output Port 2 Volume} i1
369         {Reserved} *t4
370         {Output Port 3 Channel Selection} t4
371         {Output Port 3 Volume} i1
372 }
373
374 # SEQUENTIAL ACCESS DEVICES
375 0x10 "Device Configuration" {
376         {Reserved} *t1
377         {Change Active Partition} t1
378         {Change Active Format} t1
379         {Active Format} t5
380         {Active Partition} i1
381         {Write Buffer Full Ratio} i1
382         {Write Buffer Empty Ratio} i1
383         {Write Delay Time} i2
384         {Data Buffer Recovery} t1
385         {Block Identifiers Support} t1
386         {Report Setmarks} t1
387         {Automatic Velocity Control} t1
388         {Stop on Consecutive Filemarks} t2
389         {Recover Buffer Order} t1
390         {Report Early-Warning} t1
391         {Gap Size} i1
392         {EOD Defined} t3
393         {Enable EOD Generation} t1
394         {Synchronize at Early-Warning} t1
395         {Reserved} *t3
396         {Buffer Size at Early-Warning} i3
397         {Select Data Compression Algorithm} i1
398         {Reserved} *t5
399         {SCSI-3 Associated Write Protect} t1
400         {SCSI-3 Persistent Write Protect} t1
401         {SCSI-3 Permanent Write Protect} t1
402 }
403
404 0x0f "Data Compression" {
405         {Data Compression Enabled} t1
406         {Date Compression Capable} t1
407         {Reserved} *t6
408         {Data Decompression Capable} t1
409         {Data Decompression Report on Exception} t2
410         {Reserved} *t5
411         {Compression Algorithm} i4
412         {Decompression Algorithm} i4
413         {Reserved} *i4
414 }
415
416 # Removable devices
417 0x1b "Removable Block Access Capacities" {
418         {System Floppy Type Device} t1
419         {Supports Reporting Format Progress} t1
420         {Reserved} *t6
421         {Non CD Optical Device} t1
422         {Single or Multiple LUN Supported} t1
423         {Reserved} *t3
424         {Total Logical Units Supported} t3
425         {Reserved} *i8
426 }
427
428 # CD-ROM (and CD-R[W]) devices
429 0x2a "CD capabilities and mechanical status" {
430         {Reserved} *t4
431         {Method 2} t1
432         {CD-RW Read} t1
433         {CD-R Read} t1
434         {Reserved} *t4
435         {Test Write} t1
436         {CD-RW Write} t1
437         {CD-R Write} t1
438         {Reserved} *t1
439         {Multi Session} t1
440         {Mode 2 Form 2} t1
441         {Mode 2 Form 1} t1
442         {Digital Port (2)} t1
443         {Digital Port (1)} t1
444         {Composite} t1
445         {Audio Play} t1
446         {Read Bar Code} t1
447         {UPC} t1
448         {ISRC} t1
449         {C2 Pointers are supported} t1
450         {R-W De-interleaved & corrected} t1
451         {R-W Supported} t1
452         {CD-DA Stream is Accurate} t1
453         {CD-DA Commands Supported} t1
454         {Loading Mechanism Type} t3
455         {Reserved} *t1
456         {Eject} t1
457         {Prevent Jumper} t1
458         {Lock State} t1
459         {Lock} t1
460         {Reserved} *t4
461         {S/W Slot Selection} t1
462         {Changer Supports Disc Present reporting} t1
463         {Separate Channel Mute Supported} t1
464         {Separate volume levels per channel} t1
465         {Maximum Read Speed Supported (kBps)} i2
466         {Number of Volume Leves Supported} i2
467         {Buffer Size supported by Drive (KB)} i2
468         {Current Read Speed Selected (kBps)} i2
469         {Reserved} *i1
470         {Reserved} *t2
471         {Length} t2
472         {LSBF} t1
473         {RCK} t1
474         {BCK} t1
475         {Reserved} *t1
476         {Maximum Write Speed Supported (kBps)} i2
477         {Current Write Speed Supported (kBps)} i2
478 };
479
480 0x1d "Timeout and Protect" {
481         {Reserved} *i2
482         {Reserved} *t4
483         {G3Enable} t1
484         {TMOE} t1
485         {DISP} t1
486         {SWPP} t1
487         {Reserved} *i1
488         {Group 1 Minimum Timeout} i2
489         {Group 2 Minimum Timeout} i2
490         {Group 3 Timeout} i2
491 };
492
493 0x00 "Vendor-Specific";