← Documents Documentation/scsi/BusLogic.rst GitHub 원문 ↗

Linux 6.18.37 · SCSI

BusLogic MultiMaster와 FlashPoint SCSI Driver

BusLogic adapter, 설치 주의점, probe·queue·debug option과 Linux 2.0 설치 기록을 설명합니다.

Source pathDocumentation/scsi/BusLogic.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

BusLogic.rst:1-581

BusLogic adapter, 설치 주의점, probe·queue·debug option과 Linux 2.0 설치 기록을 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 =========================================================
4 BusLogic MultiMaster and FlashPoint SCSI Driver for Linux
5 =========================================================
6
7 Version 2.0.15 for Linux 2.0
8
9 Version 2.1.15 for Linux 2.1
10
11 PRODUCTION RELEASE
12
13 17 August 1998
14
15 Leonard N. Zubkoff
16
17 Dandelion Digital
18
19 lnz@dandelion.com
20
21 Copyright 1995-1998 by Leonard N. Zubkoff <lnz@dandelion.com>
22
23
24 Introduction
25 ============
26
27 BusLogic, Inc. designed and manufactured a variety of high performance SCSI
28 host adapters which share a common programming interface across a diverse
29 collection of bus architectures by virtue of their MultiMaster ASIC technology.
30 BusLogic was acquired by Mylex Corporation in February 1996, but the products
31 supported by this driver originated under the BusLogic name and so that name is
32 retained in the source code and documentation.
33
34 This driver supports all present BusLogic MultiMaster Host Adapters, and should
35 support any future MultiMaster designs with little or no modification. More
36 recently, BusLogic introduced the FlashPoint Host Adapters, which are less
37 costly and rely on the host CPU, rather than including an onboard processor.
38 Despite not having an onboard CPU, the FlashPoint Host Adapters perform very
39 well and have very low command latency. BusLogic has recently provided me with
40 the FlashPoint Driver Developer's Kit, which comprises documentation and freely
41 redistributable source code for the FlashPoint SCCB Manager. The SCCB Manager
42 is the library of code that runs on the host CPU and performs functions
43 analogous to the firmware on the MultiMaster Host Adapters. Thanks to their
44 having provided the SCCB Manager, this driver now supports the FlashPoint Host
45 Adapters as well.
46
47 My primary goals in writing this completely new BusLogic driver for Linux are
48 to achieve the full performance that BusLogic SCSI Host Adapters and modern
49 SCSI peripherals are capable of, and to provide a highly robust driver that can
50 be depended upon for high performance mission critical applications. All of
51 the major performance features can be configured from the Linux kernel command
52 line or at module initialization time, allowing individual installations to
53 tune driver performance and error recovery to their particular needs.
54
55 The latest information on Linux support for BusLogic SCSI Host Adapters, as
56 well as the most recent release of this driver and the latest firmware for the
57 BT-948/958/958D, will always be available from my Linux Home Page at URL
58 "http://sourceforge.net/projects/dandelion/".
59
60 Bug reports should be sent via electronic mail to "lnz@dandelion.com". Please
61 include with the bug report the complete configuration messages reported by the
62 driver and SCSI subsystem at startup, along with any subsequent system messages
63 relevant to SCSI operations, and a detailed description of your system's
64 hardware configuration.
65
66 Mylex has been an excellent company to work with and I highly recommend their
67 products to the Linux community. In November 1995, I was offered the
68 opportunity to become a beta test site for their latest MultiMaster product,
69 the BT-948 PCI Ultra SCSI Host Adapter, and then again for the BT-958 PCI Wide
70 Ultra SCSI Host Adapter in January 1996. This was mutually beneficial since
71 Mylex received a degree and kind of testing that their own testing group cannot
72 readily achieve, and the Linux community has available high performance host
73 adapters that have been well tested with Linux even before being brought to
74 market. This relationship has also given me the opportunity to interact
75 directly with their technical staff, to understand more about the internal
76 workings of their products, and in turn to educate them about the needs and
77 potential of the Linux community.
78
79 More recently, Mylex has reaffirmed the company's interest in supporting the
80 Linux community, and I am now working on a Linux driver for the DAC960 PCI RAID
81 Controllers. Mylex's interest and support is greatly appreciated.
82
83 Unlike some other vendors, if you contact Mylex Technical Support with a
84 problem and are running Linux, they will not tell you that your use of their
85 products is unsupported. Their latest product marketing literature even states
86 "Mylex SCSI host adapters are compatible with all major operating systems
87 including: ... Linux ...".
88
89 Mylex Corporation is located at 34551 Ardenwood Blvd., Fremont, California
90 94555, USA and can be reached at 510/796-6100 or on the World Wide Web at
91 http://www.mylex.com. Mylex HBA Technical Support can be reached by electronic
92 mail at techsup@mylex.com, by Voice at 510/608-2400, or by FAX at 510/745-7715.
93 Contact information for offices in Europe and Japan is available on the Web
94 site.
95
96
97 Driver Features
98 ===============
99
100 Configuration Reporting and Testing
101 -----------------------------------
102
103 During system initialization, the driver reports extensively on the host
104 adapter hardware configuration, including the synchronous transfer parameters
105 requested and negotiated with each target device. AutoSCSI settings for
106 Synchronous Negotiation, Wide Negotiation, and Disconnect/Reconnect are
107 reported for each target device, as well as the status of Tagged Queuing.
108 If the same setting is in effect for all target devices, then a single word
109 or phrase is used; otherwise, a letter is provided for each target device to
110 indicate the individual status. The following examples
111 should clarify this reporting format:
112
113 Synchronous Negotiation: Ultra
114
115 Synchronous negotiation is enabled for all target devices and the host
116 adapter will attempt to negotiate for 20.0 mega-transfers/second.
117
118 Synchronous Negotiation: Fast
119
120 Synchronous negotiation is enabled for all target devices and the host
121 adapter will attempt to negotiate for 10.0 mega-transfers/second.
122
123 Synchronous Negotiation: Slow
124
125 Synchronous negotiation is enabled for all target devices and the host
126 adapter will attempt to negotiate for 5.0 mega-transfers/second.
127
128 Synchronous Negotiation: Disabled
129
130 Synchronous negotiation is disabled and all target devices are limited to
131 asynchronous operation.
132
133 Synchronous Negotiation: UFSNUUU#UUUUUUUU
134
135 Synchronous negotiation to Ultra speed is enabled for target devices 0
136 and 4 through 15, to Fast speed for target device 1, to Slow speed for
137 target device 2, and is not permitted to target device 3. The host
138 adapter's SCSI ID is represented by the "#".
139
140 The status of Wide Negotiation, Disconnect/Reconnect, and Tagged Queuing
141 are reported as "Enabled", Disabled", or a sequence of "Y" and "N" letters.
142
143 Performance Features
144 --------------------
145
146 BusLogic SCSI Host Adapters directly implement SCSI-2 Tagged Queuing, and so
147 support has been included in the driver to utilize tagged queuing with any
148 target devices that report having the tagged queuing capability. Tagged
149 queuing allows for multiple outstanding commands to be issued to each target
150 device or logical unit, and can improve I/O performance substantially. In
151 addition, BusLogic's Strict Round Robin Mode is used to optimize host adapter
152 performance, and scatter/gather I/O can support as many segments as can be
153 effectively utilized by the Linux I/O subsystem. Control over the use of
154 tagged queuing for each target device as well as individual selection of the
155 tagged queue depth is available through driver options provided on the kernel
156 command line or at module initialization time. By default, the queue depth
157 is determined automatically based on the host adapter's total queue depth and
158 the number, type, speed, and capabilities of the target devices found. In
159 addition, tagged queuing is automatically disabled whenever the host adapter
160 firmware version is known not to implement it correctly, or whenever a tagged
161 queue depth of 1 is selected. Tagged queuing is also disabled for individual
162 target devices if disconnect/reconnect is disabled for that device.
163
164 Robustness Features
165 -------------------
166
167 The driver implements extensive error recovery procedures. When the higher
168 level parts of the SCSI subsystem request that a timed out command be reset,
169 a selection is made between a full host adapter hard reset and SCSI bus reset
170 versus sending a bus device reset message to the individual target device
171 based on the recommendation of the SCSI subsystem. Error recovery strategies
172 are selectable through driver options individually for each target device,
173 and also include sending a bus device reset to the specific target device
174 associated with the command being reset, as well as suppressing error
175 recovery entirely to avoid perturbing an improperly functioning device. If
176 the bus device reset error recovery strategy is selected and sending a bus
177 device reset does not restore correct operation, the next command that is
178 reset will force a full host adapter hard reset and SCSI bus reset. SCSI bus
179 resets caused by other devices and detected by the host adapter are also
180 handled by issuing a soft reset to the host adapter and re-initialization.
181 Finally, if tagged queuing is active and more than one command reset occurs
182 in a 10 minute interval, or if a command reset occurs within the first 10
183 minutes of operation, then tagged queuing will be disabled for that target
184 device. These error recovery options improve overall system robustness by
185 preventing individual errant devices from causing the system as a whole to
186 lock up or crash, and thereby allowing a clean shutdown and restart after the
187 offending component is removed.
188
189 PCI Configuration Support
190 -------------------------
191
192 On PCI systems running kernels compiled with PCI BIOS support enabled, this
193 driver will interrogate the PCI configuration space and use the I/O port
194 addresses assigned by the system BIOS, rather than the ISA compatible I/O
195 port addresses. The ISA compatible I/O port address is then disabled by the
196 driver. On PCI systems it is also recommended that the AutoSCSI utility be
197 used to disable the ISA compatible I/O port entirely as it is not necessary.
198 The ISA compatible I/O port is disabled by default on the BT-948/958/958D.
199
200 /proc File System Support
201 -------------------------
202
203 Copies of the host adapter configuration information together with updated
204 data transfer and error recovery statistics are available through the
205 /proc/scsi/BusLogic/<N> interface.
206
207 Shared Interrupts Support
208 -------------------------
209
210 On systems that support shared interrupts, any number of BusLogic Host
211 Adapters may share the same interrupt request channel.
212
213
214 Supported Host Adapters
215 =======================
216
217 The following list comprises the supported BusLogic SCSI Host Adapters as of
218 the date of this document. It is recommended that anyone purchasing a BusLogic
219 Host Adapter not in the following table contact the author beforehand to verify
220 that it is or will be supported.
221
222 FlashPoint Series PCI Host Adapters:
223
224 ======================= =============================================
225 FlashPoint LT (BT-930) Ultra SCSI-3
226 FlashPoint LT (BT-930R) Ultra SCSI-3 with RAIDPlus
227 FlashPoint LT (BT-920) Ultra SCSI-3 (BT-930 without BIOS)
228 FlashPoint DL (BT-932) Dual Channel Ultra SCSI-3
229 FlashPoint DL (BT-932R) Dual Channel Ultra SCSI-3 with RAIDPlus
230 FlashPoint LW (BT-950) Wide Ultra SCSI-3
231 FlashPoint LW (BT-950R) Wide Ultra SCSI-3 with RAIDPlus
232 FlashPoint DW (BT-952) Dual Channel Wide Ultra SCSI-3
233 FlashPoint DW (BT-952R) Dual Channel Wide Ultra SCSI-3 with RAIDPlus
234 ======================= =============================================
235
236 MultiMaster "W" Series Host Adapters:
237
238 ======= === ==============================
239 BT-948 PCI Ultra SCSI-3
240 BT-958 PCI Wide Ultra SCSI-3
241 BT-958D PCI Wide Differential Ultra SCSI-3
242 ======= === ==============================
243
244 MultiMaster "C" Series Host Adapters:
245
246 ======== ==== ==============================
247 BT-946C PCI Fast SCSI-2
248 BT-956C PCI Wide Fast SCSI-2
249 BT-956CD PCI Wide Differential Fast SCSI-2
250 BT-445C VLB Fast SCSI-2
251 BT-747C EISA Fast SCSI-2
252 BT-757C EISA Wide Fast SCSI-2
253 BT-757CD EISA Wide Differential Fast SCSI-2
254 ======== ==== ==============================
255
256 MultiMaster "S" Series Host Adapters:
257
258 ======= ==== ==============================
259 BT-445S VLB Fast SCSI-2
260 BT-747S EISA Fast SCSI-2
261 BT-747D EISA Differential Fast SCSI-2
262 BT-757S EISA Wide Fast SCSI-2
263 BT-757D EISA Wide Differential Fast SCSI-2
264 BT-742A EISA SCSI-2 (742A revision H)
265 ======= ==== ==============================
266
267 MultiMaster "A" Series Host Adapters:
268
269 ======= ==== ==============================
270 BT-742A EISA SCSI-2 (742A revisions A - G)
271 ======= ==== ==============================
272
273 AMI FastDisk Host Adapters that are true BusLogic MultiMaster clones are also
274 supported by this driver.
275
276 BusLogic SCSI Host Adapters are available packaged both as bare boards and as
277 retail kits. The BT- model numbers above refer to the bare board packaging.
278 The retail kit model numbers are found by replacing BT- with KT- in the above
279 list. The retail kit includes the bare board and manual as well as cabling and
280 driver media and documentation that are not provided with bare boards.
281
282
283 FlashPoint Installation Notes
284 =============================
285
286 RAIDPlus Support
287 ----------------
288
289 FlashPoint Host Adapters now include RAIDPlus, Mylex's bootable software
290 RAID. RAIDPlus is not supported on Linux, and there are no plans to support
291 it. The MD driver in Linux 2.0 provides for concatenation (LINEAR) and
292 striping (RAID-0), and support for mirroring (RAID-1), fixed parity (RAID-4),
293 and distributed parity (RAID-5) is available separately. The built-in Linux
294 RAID support is generally more flexible and is expected to perform better
295 than RAIDPlus, so there is little impetus to include RAIDPlus support in the
296 BusLogic driver.
297
298 Enabling UltraSCSI Transfers
299 ----------------------------
300
301 FlashPoint Host Adapters ship with their configuration set to "Factory
302 Default" settings that are conservative and do not allow for UltraSCSI speed
303 to be negotiated. This results in fewer problems when these host adapters
304 are installed in systems with cabling or termination that is not sufficient
305 for UltraSCSI operation, or where existing SCSI devices do not properly
306 respond to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI
307 may be used to load "Optimum Performance" settings which allow UltraSCSI
308 speed to be negotiated with all devices, or UltraSCSI speed can be enabled on
309 an individual basis. It is recommended that SCAM be manually disabled after
310 the "Optimum Performance" settings are loaded.
311
312
313 BT-948/958/958D Installation Notes
314 ==================================
315
316 The BT-948/958/958D PCI Ultra SCSI Host Adapters have some features which may
317 require attention in some circumstances when installing Linux.
318
319 PCI I/O Port Assignments
320 ------------------------
321
322 When configured to factory default settings, the BT-948/958/958D will only
323 recognize the PCI I/O port assignments made by the motherboard's PCI BIOS.
324 The BT-948/958/958D will not respond to any of the ISA compatible I/O ports
325 that previous BusLogic SCSI Host Adapters respond to. This driver supports
326 the PCI I/O port assignments, so this is the preferred configuration.
327 However, if the obsolete BusLogic driver must be used for any reason, such as
328 a Linux distribution that does not yet use this driver in its boot kernel,
329 BusLogic has provided an AutoSCSI configuration option to enable a legacy ISA
330 compatible I/O port.
331
332 To enable this backward compatibility option, invoke the AutoSCSI utility via
333 Ctrl-B at system startup and select "Adapter Configuration", "View/Modify
334 Configuration", and then change the "ISA Compatible Port" setting from
335 "Disable" to "Primary" or "Alternate". Once this driver has been installed,
336 the "ISA Compatible Port" option should be set back to "Disable" to avoid
337 possible future I/O port conflicts. The older BT-946C/956C/956CD also have
338 this configuration option, but the factory default setting is "Primary".
339
340 PCI Slot Scanning Order
341 -----------------------
342
343 In systems with multiple BusLogic PCI Host Adapters, the order in which the
344 PCI slots are scanned may appear reversed with the BT-948/958/958D as
345 compared to the BT-946C/956C/956CD. For booting from a SCSI disk to work
346 correctly, it is necessary that the host adapter's BIOS and the kernel agree
347 on which disk is the boot device, which requires that they recognize the PCI
348 host adapters in the same order. The motherboard's PCI BIOS provides a
349 standard way of enumerating the PCI host adapters, which is used by the Linux
350 kernel. Some PCI BIOS implementations enumerate the PCI slots in order of
351 increasing bus number and device number, while others do so in the opposite
352 direction.
353
354 Unfortunately, Microsoft decided that Windows 95 would always enumerate the
355 PCI slots in order of increasing bus number and device number regardless of
356 the PCI BIOS enumeration, and requires that their scheme be supported by the
357 host adapter's BIOS to receive Windows 95 certification. Therefore, the
358 factory default settings of the BT-948/958/958D enumerate the host adapters
359 by increasing bus number and device number. To disable this feature, invoke
360 the AutoSCSI utility via Ctrl-B at system startup and select "Adapter
361 Configuration", "View/Modify Configuration", press Ctrl-F10, and then change
362 the "Use Bus And Device # For PCI Scanning Seq." option to OFF.
363
364 This driver will interrogate the setting of the PCI Scanning Sequence option
365 so as to recognize the host adapters in the same order as they are enumerated
366 by the host adapter's BIOS.
367
368 Enabling UltraSCSI Transfers
369 ----------------------------
370
371 The BT-948/958/958D ship with their configuration set to "Factory Default"
372 settings that are conservative and do not allow for UltraSCSI speed to be
373 negotiated. This results in fewer problems when these host adapters are
374 installed in systems with cabling or termination that is not sufficient for
375 UltraSCSI operation, or where existing SCSI devices do not properly respond
376 to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI may be
377 used to load "Optimum Performance" settings which allow UltraSCSI speed to be
378 negotiated with all devices, or UltraSCSI speed can be enabled on an
379 individual basis. It is recommended that SCAM be manually disabled after the
380 "Optimum Performance" settings are loaded.
381
382
383 Driver Options
384 ==============
385
386 BusLogic Driver Options may be specified either via the Linux Kernel Command
387 Line or via the Loadable Kernel Module Installation Facility. Driver Options
388 for multiple host adapters may be specified either by separating the option
389 strings by a semicolon, or by specifying multiple "BusLogic=" strings on the
390 command line. Individual option specifications for a single host adapter are
391 separated by commas. The Probing and Debugging Options apply to all host
392 adapters whereas the remaining options apply individually only to the
393 selected host adapter.
394
395 The BusLogic Driver Probing Options comprise the following:
396
397 NoProbe
398
399 The "NoProbe" option disables all probing and therefore no BusLogic Host
400 Adapters will be detected.
401
402 NoProbePCI
403
404 The "NoProbePCI" options disables the interrogation of PCI Configuration
405 Space and therefore only ISA Multimaster Host Adapters will be detected, as
406 well as PCI Multimaster Host Adapters that have their ISA Compatible I/O
407 Port set to "Primary" or "Alternate".
408
409 NoSortPCI
410
411 The "NoSortPCI" option forces PCI MultiMaster Host Adapters to be
412 enumerated in the order provided by the PCI BIOS, ignoring any setting of
413 the AutoSCSI "Use Bus And Device # For PCI Scanning Seq." option.
414
415 MultiMasterFirst
416
417 The "MultiMasterFirst" option forces MultiMaster Host Adapters to be probed
418 before FlashPoint Host Adapters. By default, if both FlashPoint and PCI
419 MultiMaster Host Adapters are present, this driver will probe for
420 FlashPoint Host Adapters first unless the BIOS primary disk is controlled
421 by the first PCI MultiMaster Host Adapter, in which case MultiMaster Host
422 Adapters will be probed first.
423
424 FlashPointFirst
425
426 The "FlashPointFirst" option forces FlashPoint Host Adapters to be probed
427 before MultiMaster Host Adapters.
428
429 The BusLogic Driver Tagged Queuing Options allow for explicitly specifying
430 the Queue Depth and whether Tagged Queuing is permitted for each Target
431 Device (assuming that the Target Device supports Tagged Queuing). The Queue
432 Depth is the number of SCSI Commands that are allowed to be concurrently
433 presented for execution (either to the Host Adapter or Target Device). Note
434 that explicitly enabling Tagged Queuing may lead to problems; the option to
435 enable or disable Tagged Queuing is provided primarily to allow disabling
436 Tagged Queuing on Target Devices that do not implement it correctly. The
437 following options are available:
438
439 QueueDepth:<integer>
440
441 The "QueueDepth:" or QD:" option specifies the Queue Depth to use for all
442 Target Devices that support Tagged Queuing, as well as the maximum Queue
443 Depth for devices that do not support Tagged Queuing. If no Queue Depth
444 option is provided, the Queue Depth will be determined automatically based
445 on the Host Adapter's Total Queue Depth and the number, type, speed, and
446 capabilities of the detected Target Devices. Target Devices that
447 do not support Tagged Queuing always have their Queue Depth set to
448 BusLogic_UntaggedQueueDepth or BusLogic_UntaggedQueueDepthBB, unless a
449 lower Queue Depth option is provided. A Queue Depth of 1 automatically
450 disables Tagged Queuing.
451
452 QueueDepth:[<integer>,<integer>...]
453
454 The "QueueDepth:[...]" or "QD:[...]" option specifies the Queue Depth
455 individually for each Target Device. If an <integer> is omitted, the
456 associated Target Device will have its Queue Depth selected automatically.
457
458 TaggedQueuing:Default
459
460 The "TaggedQueuing:Default" or "TQ:Default" option permits Tagged Queuing
461 based on the firmware version of the BusLogic Host Adapter and based on
462 whether the Queue Depth allows queuing multiple commands.
463
464 TaggedQueuing:Enable
465
466 The "TaggedQueuing:Enable" or "TQ:Enable" option enables Tagged Queuing for
467 all Target Devices on this Host Adapter, overriding any limitation that
468 would otherwise be imposed based on the Host Adapter firmware version.
469
470 TaggedQueuing:Disable
471
472 The "TaggedQueuing:Disable" or "TQ:Disable" option disables Tagged Queuing
473 for all Target Devices on this Host Adapter.
474
475 TaggedQueuing:<Target-Spec>
476
477 The "TaggedQueuing:<Target-Spec>" or "TQ:<Target-Spec>" option controls
478 Tagged Queuing individually for each Target Device. <Target-Spec> is a
479 sequence of "Y", "N", and "X" characters. "Y" enables Tagged Queuing, "N"
480 disables Tagged Queuing, and "X" accepts the default based on the firmware
481 version. The first character refers to Target Device 0, the second to
482 Target Device 1, and so on; if the sequence of "Y", "N", and "X" characters
483 does not cover all the Target Devices, unspecified characters are assumed
484 to be "X".
485
486 The BusLogic Driver Miscellaneous Options comprise the following:
487
488 BusSettleTime:<seconds>
489
490 The "BusSettleTime:" or "BST:" option specifies the Bus Settle Time in
491 seconds. The Bus Settle Time is the amount of time to wait between a Host
492 Adapter Hard Reset which initiates a SCSI Bus Reset and issuing any SCSI
493 Commands. If unspecified, it defaults to BusLogic_DefaultBusSettleTime.
494
495 InhibitTargetInquiry
496
497 The "InhibitTargetInquiry" option inhibits the execution of an Inquire
498 Target Devices or Inquire Installed Devices command on MultiMaster Host
499 Adapters. This may be necessary with some older Target Devices that do not
500 respond correctly when Logical Units above 0 are addressed.
501
502 The BusLogic Driver Debugging Options comprise the following:
503
504 TraceProbe
505
506 The "TraceProbe" option enables tracing of Host Adapter Probing.
507
508 TraceHardwareReset
509
510 The "TraceHardwareReset" option enables tracing of Host Adapter Hardware
511 Reset.
512
513 TraceConfiguration
514
515 The "TraceConfiguration" option enables tracing of Host Adapter
516 Configuration.
517
518 TraceErrors
519
520 The "TraceErrors" option enables tracing of SCSI Commands that return an
521 error from the Target Device. The CDB and Sense Data will be printed for
522 each SCSI Command that fails.
523
524 Debug
525
526 The "Debug" option enables all debugging options.
527
528 The following examples demonstrate setting the Queue Depth for Target Devices
529 1 and 2 on the first host adapter to 7 and 15, the Queue Depth for all Target
530 Devices on the second host adapter to 31, and the Bus Settle Time on the
531 second host adapter to 30 seconds.
532
533 Linux Kernel Command Line::
534
535 linux BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30
536
537 LILO Linux Boot Loader (in /etc/lilo.conf)::
538
539 append = "BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"
540
541 INSMOD Loadable Kernel Module Installation Facility::
542
543 insmod BusLogic.o \
544 'BusLogic="QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"'
545
546
547 .. Note::
548
549 Module Utilities 2.1.71 or later is required for correct parsing
550 of driver options containing commas.
551
552
553 Driver Installation
554 ===================
555
556 This distribution was prepared for Linux kernel version 2.0.35, but should be
557 compatible with 2.0.4 or any later 2.0 series kernel.
558
559 To install the new BusLogic SCSI driver, you may use the following commands,
560 replacing "/usr/src" with wherever you keep your Linux kernel source tree::
561
562 cd /usr/src
563 tar -xvzf BusLogic-2.0.15.tar.gz
564 mv README.* LICENSE.* BusLogic.[ch] FlashPoint.c linux/drivers/scsi
565 patch -p0 < BusLogic.patch (only for 2.0.33 and below)
566 cd linux
567 make config
568 make zImage
569
570 Then install "arch/x86/boot/zImage" as your standard kernel, run lilo if
571 appropriate, and reboot.
572
573
574 BusLogic Announcements Mailing List
575 ===================================
576
577 The BusLogic Announcements Mailing List provides a forum for informing Linux
578 users of new driver releases and other announcements regarding Linux support
579 for BusLogic SCSI Host Adapters. To join the mailing list, send a message to
580 "buslogic-announce-request@dandelion.com" with the line "subscribe" in the
581 message body.
582

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

1998년 driver 배경과 지원 관계

1-96

이 문서는 Linux 2.0용 2.0.15와 Linux 2.1용 2.1.15 production release를 1998년 8월 17일 기준으로 설명한다. BusLogic은 1996년 Mylex에 인수됐지만 source와 문서는 원래 제품명을 유지한다.

MultiMaster ASIC adapter는 여러 bus architecture에서 공통 programming interface와 onboard processor를 사용한다. 더 저렴한 FlashPoint는 host CPU에서 `SCCB Manager` library를 실행해 MultiMaster firmware와 유사한 기능을 수행한다. 재배포 가능한 developer kit 덕분에 같은 driver가 두 계열을 지원한다.

목표는 modern SCSI device의 성능을 끌어내면서 mission-critical workload에서 견고하게 동작하는 것이다. Command line과 module 초기화 option으로 성능·error recovery를 조절한다.

원문은 당시 SourceForge page, 저자 email, Mylex 주소·전화·FAX·support email을 제공하고 bug report에 startup configuration, 이후 SCSI message, hardware 구성을 포함하라고 요청한다. 연락처는 역사적 정보다.

두 adapter 구조
계열실행특징
MultiMasterOnboard processorASIC 공통 interface
FlashPointHost CPU SCCB Manager낮은 command latency

Firmware 실행 위치가 핵심 차이입니다.

Bug report 구성
Driver startup configurationSCSI subsystem startup관련 후속 message상세 hardware 구성증상과 재현 설명

재현에 필요한 당시 권장 자료입니다.

.. SPDX-License-Identifier: GPL-2.0

=========================================================
BusLogic MultiMaster and FlashPoint SCSI Driver for Linux
=========================================================

                         Version 2.0.15 for Linux 2.0

                         Version 2.1.15 for Linux 2.1

                              PRODUCTION RELEASE

                                17 August 1998

                               Leonard N. Zubkoff

                               Dandelion Digital

                               lnz@dandelion.com

         Copyright 1995-1998 by Leonard N. Zubkoff <lnz@dandelion.com>


Introduction
============

BusLogic, Inc. designed and manufactured a variety of high performance SCSI
host adapters which share a common programming interface across a diverse
collection of bus architectures by virtue of their MultiMaster ASIC technology.
BusLogic was acquired by Mylex Corporation in February 1996, but the products
supported by this driver originated under the BusLogic name and so that name is
retained in the source code and documentation.

This driver supports all present BusLogic MultiMaster Host Adapters, and should
support any future MultiMaster designs with little or no modification.  More
recently, BusLogic introduced the FlashPoint Host Adapters, which are less
costly and rely on the host CPU, rather than including an onboard processor.
Despite not having an onboard CPU, the FlashPoint Host Adapters perform very
well and have very low command latency.  BusLogic has recently provided me with
the FlashPoint Driver Developer's Kit, which comprises documentation and freely
redistributable source code for the FlashPoint SCCB Manager.  The SCCB Manager
is the library of code that runs on the host CPU and performs functions
analogous to the firmware on the MultiMaster Host Adapters.  Thanks to their
having provided the SCCB Manager, this driver now supports the FlashPoint Host
Adapters as well.

My primary goals in writing this completely new BusLogic driver for Linux are
to achieve the full performance that BusLogic SCSI Host Adapters and modern
SCSI peripherals are capable of, and to provide a highly robust driver that can
be depended upon for high performance mission critical applications.  All of
the major performance features can be configured from the Linux kernel command
line or at module initialization time, allowing individual installations to
tune driver performance and error recovery to their particular needs.

The latest information on Linux support for BusLogic SCSI Host Adapters, as
well as the most recent release of this driver and the latest firmware for the
BT-948/958/958D, will always be available from my Linux Home Page at URL
"http://sourceforge.net/projects/dandelion/".

Bug reports should be sent via electronic mail to "lnz@dandelion.com".  Please
include with the bug report the complete configuration messages reported by the
driver and SCSI subsystem at startup, along with any subsequent system messages
relevant to SCSI operations, and a detailed description of your system's
hardware configuration.

Mylex has been an excellent company to work with and I highly recommend their
products to the Linux community.  In November 1995, I was offered the
opportunity to become a beta test site for their latest MultiMaster product,
the BT-948 PCI Ultra SCSI Host Adapter, and then again for the BT-958 PCI Wide
Ultra SCSI Host Adapter in January 1996.  This was mutually beneficial since
Mylex received a degree and kind of testing that their own testing group cannot
readily achieve, and the Linux community has available high performance host
adapters that have been well tested with Linux even before being brought to
market.  This relationship has also given me the opportunity to interact
directly with their technical staff, to understand more about the internal
workings of their products, and in turn to educate them about the needs and
potential of the Linux community.

More recently, Mylex has reaffirmed the company's interest in supporting the
Linux community, and I am now working on a Linux driver for the DAC960 PCI RAID
Controllers.  Mylex's interest and support is greatly appreciated.

Unlike some other vendors, if you contact Mylex Technical Support with a
problem and are running Linux, they will not tell you that your use of their
products is unsupported.  Their latest product marketing literature even states
"Mylex SCSI host adapters are compatible with all major operating systems
including: ... Linux ...".

Mylex Corporation is located at 34551 Ardenwood Blvd., Fremont, California
94555, USA and can be reached at 510/796-6100 or on the World Wide Web at
http://www.mylex.com.  Mylex HBA Technical Support can be reached by electronic
mail at techsup@mylex.com, by Voice at 510/608-2400, or by FAX at 510/745-7715.
Contact information for offices in Europe and Japan is available on the Web
site.

구성 보고, 성능과 오류 복구

97-213

초기화 때 hardware 구성, target별 요청·협상 synchronous parameter, AutoSCSI의 synchronous·wide·disconnect 설정을 보고한다. Target inquiry, mailbox loopback, interrupt test로 firmware·driver 통신도 점검한다.

성능 기능은 tagged queuing, scatter/gather, mailbox 수 최적화, target별 queue depth, strict round-robin mode와 CCB group allocation을 포함한다. `/proc/scsi/BusLogic/<N>`에서 구성과 전송·error recovery 통계를 읽을 수 있다.

오류 복구는 target별 strategy를 선택하고 bus device reset, host hard reset과 SCSI bus reset, 외부 reset 뒤 soft reset·reinitialization을 수행한다. 10분 안에 command reset이 반복되거나 운용 첫 10분에 reset이 생기면 해당 target의 tagged queuing을 끈다.

PCI BIOS support kernel에서는 PCI configuration space의 I/O port를 사용하고 ISA-compatible port를 disable한다. Shared interrupt를 지원하는 system에서는 여러 BusLogic adapter가 같은 IRQ를 공유할 수 있다.

Driver 기능
영역기능
구성Negotiation·AutoSCSI 보고, mailbox/IRQ test
성능Tagged queue, S/G, mailbox, CCB group
복구Device reset, hard reset, bus reset
관찰/proc/scsi/BusLogic/<N>
PCIPCI config I/O, ISA port disable
IRQShared interrupts

관찰·성능·복구·플랫폼 영역입니다.

Reset escalation
Command reset선택 policy로 device reset복구 실패다음 reset에서 host hard resetSCSI bus resetAdapter reinitialize

Target 오류가 host 전체로 번지는 것을 제한합니다.

Driver Features
===============

Configuration Reporting and Testing
-----------------------------------

  During system initialization, the driver reports extensively on the host
  adapter hardware configuration, including the synchronous transfer parameters
  requested and negotiated with each target device.  AutoSCSI settings for
  Synchronous Negotiation, Wide Negotiation, and Disconnect/Reconnect are
  reported for each target device, as well as the status of Tagged Queuing.
  If the same setting is in effect for all target devices, then a single word
  or phrase is used; otherwise, a letter is provided for each target device to
  indicate the individual status.  The following examples
  should clarify this reporting format:

    Synchronous Negotiation: Ultra

      Synchronous negotiation is enabled for all target devices and the host
      adapter will attempt to negotiate for 20.0 mega-transfers/second.

    Synchronous Negotiation: Fast

      Synchronous negotiation is enabled for all target devices and the host
      adapter will attempt to negotiate for 10.0 mega-transfers/second.

    Synchronous Negotiation: Slow

      Synchronous negotiation is enabled for all target devices and the host
      adapter will attempt to negotiate for 5.0 mega-transfers/second.

    Synchronous Negotiation: Disabled

      Synchronous negotiation is disabled and all target devices are limited to
      asynchronous operation.

    Synchronous Negotiation: UFSNUUU#UUUUUUUU

      Synchronous negotiation to Ultra speed is enabled for target devices 0
      and 4 through 15, to Fast speed for target device 1, to Slow speed for
      target device 2, and is not permitted to target device 3.  The host
      adapter's SCSI ID is represented by the "#".

    The status of Wide Negotiation, Disconnect/Reconnect, and Tagged Queuing
    are reported as "Enabled", Disabled", or a sequence of "Y" and "N" letters.

Performance Features
--------------------

  BusLogic SCSI Host Adapters directly implement SCSI-2 Tagged Queuing, and so
  support has been included in the driver to utilize tagged queuing with any
  target devices that report having the tagged queuing capability.  Tagged
  queuing allows for multiple outstanding commands to be issued to each target
  device or logical unit, and can improve I/O performance substantially.  In
  addition, BusLogic's Strict Round Robin Mode is used to optimize host adapter
  performance, and scatter/gather I/O can support as many segments as can be
  effectively utilized by the Linux I/O subsystem.  Control over the use of
  tagged queuing for each target device as well as individual selection of the
  tagged queue depth is available through driver options provided on the kernel
  command line or at module initialization time.  By default, the queue depth
  is determined automatically based on the host adapter's total queue depth and
  the number, type, speed, and capabilities of the target devices found.  In
  addition, tagged queuing is automatically disabled whenever the host adapter
  firmware version is known not to implement it correctly, or whenever a tagged
  queue depth of 1 is selected.  Tagged queuing is also disabled for individual
  target devices if disconnect/reconnect is disabled for that device.

Robustness Features
-------------------

  The driver implements extensive error recovery procedures.  When the higher
  level parts of the SCSI subsystem request that a timed out command be reset,
  a selection is made between a full host adapter hard reset and SCSI bus reset
  versus sending a bus device reset message to the individual target device
  based on the recommendation of the SCSI subsystem.  Error recovery strategies
  are selectable through driver options individually for each target device,
  and also include sending a bus device reset to the specific target device
  associated with the command being reset, as well as suppressing error
  recovery entirely to avoid perturbing an improperly functioning device.  If
  the bus device reset error recovery strategy is selected and sending a bus
  device reset does not restore correct operation, the next command that is
  reset will force a full host adapter hard reset and SCSI bus reset.  SCSI bus
  resets caused by other devices and detected by the host adapter are also
  handled by issuing a soft reset to the host adapter and re-initialization.
  Finally, if tagged queuing is active and more than one command reset occurs
  in a 10 minute interval, or if a command reset occurs within the first 10
  minutes of operation, then tagged queuing will be disabled for that target
  device.  These error recovery options improve overall system robustness by
  preventing individual errant devices from causing the system as a whole to
  lock up or crash, and thereby allowing a clean shutdown and restart after the
  offending component is removed.

PCI Configuration Support
-------------------------

  On PCI systems running kernels compiled with PCI BIOS support enabled, this
  driver will interrogate the PCI configuration space and use the I/O port
  addresses assigned by the system BIOS, rather than the ISA compatible I/O
  port addresses.  The ISA compatible I/O port address is then disabled by the
  driver.  On PCI systems it is also recommended that the AutoSCSI utility be
  used to disable the ISA compatible I/O port entirely as it is not necessary.
  The ISA compatible I/O port is disabled by default on the BT-948/958/958D.

/proc File System Support
-------------------------

  Copies of the host adapter configuration information together with updated
  data transfer and error recovery statistics are available through the
  /proc/scsi/BusLogic/<N> interface.

Shared Interrupts Support
-------------------------

  On systems that support shared interrupts, any number of BusLogic Host
  Adapters may share the same interrupt request channel.

지원 FlashPoint와 MultiMaster adapter

214-282

FlashPoint PCI 목록은 LT BT-920/930, DL BT-932, LW BT-950, DW BT-952와 RAIDPlus suffix R model을 포함한다. LT·DL은 Ultra SCSI-3, LW·DW는 Wide Ultra SCSI-3이며 DL/DW는 dual-channel이다.

MultiMaster W 계열 BT-948/958/958D는 PCI Ultra SCSI-3이고 958은 wide, 958D는 wide differential이다. C 계열은 PCI·VLB·EISA Fast SCSI-2, S 계열은 VLB·EISA Fast 또는 wide differential SCSI-2, A 계열은 BT-742A revision A~G다.

True BusLogic MultiMaster clone인 AMI FastDisk도 지원한다. Bare board `BT-` model의 retail kit는 `KT-`로 바꾸어 표기하며 cable, manual, driver media와 문서를 추가한다.

지원 계열
계열대표 modelBus / 규격
FlashPointBT-920/930/932/950/952PCI Ultra SCSI-3
MultiMaster WBT-948/958/958DPCI Ultra SCSI-3
MultiMaster CBT-946C/956C/445C/747C/757CPCI/VLB/EISA Fast SCSI-2
MultiMaster SBT-445S/747S/757S/742AVLB/EISA SCSI-2
MultiMaster ABT-742A A-GEISA SCSI-2
CloneAMI FastDiskTrue MultiMaster clone

Bus와 SCSI 세대를 함께 표시합니다.

Supported Host Adapters
=======================

The following list comprises the supported BusLogic SCSI Host Adapters as of
the date of this document.  It is recommended that anyone purchasing a BusLogic
Host Adapter not in the following table contact the author beforehand to verify
that it is or will be supported.

FlashPoint Series PCI Host Adapters:

=======================        =============================================
FlashPoint LT (BT-930)        Ultra SCSI-3
FlashPoint LT (BT-930R)        Ultra SCSI-3 with RAIDPlus
FlashPoint LT (BT-920)        Ultra SCSI-3 (BT-930 without BIOS)
FlashPoint DL (BT-932)        Dual Channel Ultra SCSI-3
FlashPoint DL (BT-932R)        Dual Channel Ultra SCSI-3 with RAIDPlus
FlashPoint LW (BT-950)        Wide Ultra SCSI-3
FlashPoint LW (BT-950R)        Wide Ultra SCSI-3 with RAIDPlus
FlashPoint DW (BT-952)        Dual Channel Wide Ultra SCSI-3
FlashPoint DW (BT-952R)        Dual Channel Wide Ultra SCSI-3 with RAIDPlus
=======================        =============================================

MultiMaster "W" Series Host Adapters:

=======     ===                ==============================
BT-948            PCI                Ultra SCSI-3
BT-958            PCI                Wide Ultra SCSI-3
BT-958D            PCI                Wide Differential Ultra SCSI-3
=======     ===                ==============================

MultiMaster "C" Series Host Adapters:

========    ====        ==============================
BT-946C            PCI                Fast SCSI-2
BT-956C            PCI                Wide Fast SCSI-2
BT-956CD    PCI                Wide Differential Fast SCSI-2
BT-445C            VLB                Fast SCSI-2
BT-747C            EISA        Fast SCSI-2
BT-757C            EISA        Wide Fast SCSI-2
BT-757CD    EISA        Wide Differential Fast SCSI-2
========    ====        ==============================

MultiMaster "S" Series Host Adapters:

=======     ====        ==============================
BT-445S            VLB                Fast SCSI-2
BT-747S            EISA        Fast SCSI-2
BT-747D            EISA        Differential Fast SCSI-2
BT-757S            EISA        Wide Fast SCSI-2
BT-757D            EISA        Wide Differential Fast SCSI-2
BT-742A            EISA        SCSI-2 (742A revision H)
=======     ====        ==============================

MultiMaster "A" Series Host Adapters:

=======     ====        ==============================
BT-742A            EISA        SCSI-2 (742A revisions A - G)
=======     ====        ==============================

AMI FastDisk Host Adapters that are true BusLogic MultiMaster clones are also
supported by this driver.

BusLogic SCSI Host Adapters are available packaged both as bare boards and as
retail kits.  The BT- model numbers above refer to the bare board packaging.
The retail kit model numbers are found by replacing BT- with KT- in the above
list.  The retail kit includes the bare board and manual as well as cabling and
driver media and documentation that are not provided with bare boards.

FlashPoint RAIDPlus와 UltraSCSI

283-312

FlashPoint의 bootable software RAID인 RAIDPlus는 Linux에서 지원하지 않으며 지원 계획도 없다고 명시한다. Linux 2.0 MD는 LINEAR와 RAID-0을 제공하고 RAID-1·4·5도 별도 지원되므로 더 유연하고 빠를 것으로 평가한다.

Factory Default는 cable·termination·negotiation 문제를 줄이려고 UltraSCSI 협상을 허용하지 않는 보수적 설정이다. AutoSCSI의 `Optimum Performance`를 load하거나 device별로 UltraSCSI를 켤 수 있으며 그 뒤 SCAM을 수동으로 disable하는 것이 권장된다.

FlashPoint 선택
설정효과
Factory DefaultUltraSCSI 협상 안 함
Optimum Performance모든 device에서 UltraSCSI 허용
Per-device선택 target만 UltraSCSI
SCAM고성능 설정 뒤 disable 권장

기본 안정성과 고속 설정의 tradeoff입니다.

FlashPoint Installation Notes
=============================

RAIDPlus Support
----------------

  FlashPoint Host Adapters now include RAIDPlus, Mylex's bootable software
  RAID.  RAIDPlus is not supported on Linux, and there are no plans to support
  it.  The MD driver in Linux 2.0 provides for concatenation (LINEAR) and
  striping (RAID-0), and support for mirroring (RAID-1), fixed parity (RAID-4),
  and distributed parity (RAID-5) is available separately.  The built-in Linux
  RAID support is generally more flexible and is expected to perform better
  than RAIDPlus, so there is little impetus to include RAIDPlus support in the
  BusLogic driver.

Enabling UltraSCSI Transfers
----------------------------

  FlashPoint Host Adapters ship with their configuration set to "Factory
  Default" settings that are conservative and do not allow for UltraSCSI speed
  to be negotiated.  This results in fewer problems when these host adapters
  are installed in systems with cabling or termination that is not sufficient
  for UltraSCSI operation, or where existing SCSI devices do not properly
  respond to synchronous transfer negotiation for UltraSCSI speed.  AutoSCSI
  may be used to load "Optimum Performance" settings which allow UltraSCSI
  speed to be negotiated with all devices, or UltraSCSI speed can be enabled on
  an individual basis.  It is recommended that SCAM be manually disabled after
  the "Optimum Performance" settings are loaded.

BT-948/958/958D 설치와 PCI scan

313-382

BT-948/958/958D 기본 설정은 motherboard PCI BIOS가 할당한 PCI I/O port에만 응답한다. 이 driver의 권장 구성이다. 구형 boot kernel 때문에 obsolete driver를 써야 하면 AutoSCSI에서 ISA Compatible Port를 Primary 또는 Alternate로 임시 활성화하고 새 driver 설치 뒤 다시 Disable해 충돌을 피한다.

여러 PCI adapter의 scan 순서는 host BIOS와 kernel이 같은 boot disk를 골라야 한다. Windows 95 certification 때문에 BT-948/958/958D 기본값은 bus·device 번호 증가 순서를 쓰므로 AutoSCSI의 `Use Bus And Device # For PCI Scanning Seq.`를 필요에 따라 OFF로 바꾼다. Driver는 이 설정을 읽어 adapter BIOS 순서와 맞춘다.

UltraSCSI enable 절차는 FlashPoint와 같다. 기본은 보수적이고 AutoSCSI Optimum Performance 또는 device별 enable을 사용하며 SCAM disable을 권장한다.

Legacy I/O 임시 사용
Ctrl-B AutoSCSIISA Compatible Port enable구형 boot driver로 설치새 BusLogic driver 설치ISA port 다시 Disable

구형 driver에서 새 driver로 전환하는 순서입니다.

Boot disk 순서 일치
PCI BIOS enumeration 확인AutoSCSI scanning option 확인Driver가 option 조회동일 adapter 순서같은 SCSI boot disk

Host adapter BIOS와 kernel enumeration을 맞춥니다.

BT-948/958/958D Installation Notes
==================================

The BT-948/958/958D PCI Ultra SCSI Host Adapters have some features which may
require attention in some circumstances when installing Linux.

PCI I/O Port Assignments
------------------------

  When configured to factory default settings, the BT-948/958/958D will only
  recognize the PCI I/O port assignments made by the motherboard's PCI BIOS.
  The BT-948/958/958D will not respond to any of the ISA compatible I/O ports
  that previous BusLogic SCSI Host Adapters respond to.  This driver supports
  the PCI I/O port assignments, so this is the preferred configuration.
  However, if the obsolete BusLogic driver must be used for any reason, such as
  a Linux distribution that does not yet use this driver in its boot kernel,
  BusLogic has provided an AutoSCSI configuration option to enable a legacy ISA
  compatible I/O port.

  To enable this backward compatibility option, invoke the AutoSCSI utility via
  Ctrl-B at system startup and select "Adapter Configuration", "View/Modify
  Configuration", and then change the "ISA Compatible Port" setting from
  "Disable" to "Primary" or "Alternate".  Once this driver has been installed,
  the "ISA Compatible Port" option should be set back to "Disable" to avoid
  possible future I/O port conflicts.  The older BT-946C/956C/956CD also have
  this configuration option, but the factory default setting is "Primary".

PCI Slot Scanning Order
-----------------------

  In systems with multiple BusLogic PCI Host Adapters, the order in which the
  PCI slots are scanned may appear reversed with the BT-948/958/958D as
  compared to the BT-946C/956C/956CD.  For booting from a SCSI disk to work
  correctly, it is necessary that the host adapter's BIOS and the kernel agree
  on which disk is the boot device, which requires that they recognize the PCI
  host adapters in the same order.  The motherboard's PCI BIOS provides a
  standard way of enumerating the PCI host adapters, which is used by the Linux
  kernel.  Some PCI BIOS implementations enumerate the PCI slots in order of
  increasing bus number and device number, while others do so in the opposite
  direction.

  Unfortunately, Microsoft decided that Windows 95 would always enumerate the
  PCI slots in order of increasing bus number and device number regardless of
  the PCI BIOS enumeration, and requires that their scheme be supported by the
  host adapter's BIOS to receive Windows 95 certification.  Therefore, the
  factory default settings of the BT-948/958/958D enumerate the host adapters
  by increasing bus number and device number.  To disable this feature, invoke
  the AutoSCSI utility via Ctrl-B at system startup and select "Adapter
  Configuration", "View/Modify Configuration", press Ctrl-F10, and then change
  the "Use Bus And Device # For PCI Scanning Seq." option to OFF.

  This driver will interrogate the setting of the PCI Scanning Sequence option
  so as to recognize the host adapters in the same order as they are enumerated
  by the host adapter's BIOS.

Enabling UltraSCSI Transfers
----------------------------

  The BT-948/958/958D ship with their configuration set to "Factory Default"
  settings that are conservative and do not allow for UltraSCSI speed to be
  negotiated.  This results in fewer problems when these host adapters are
  installed in systems with cabling or termination that is not sufficient for
  UltraSCSI operation, or where existing SCSI devices do not properly respond
  to synchronous transfer negotiation for UltraSCSI speed.  AutoSCSI may be
  used to load "Optimum Performance" settings which allow UltraSCSI speed to be
  negotiated with all devices, or UltraSCSI speed can be enabled on an
  individual basis.  It is recommended that SCAM be manually disabled after the
  "Optimum Performance" settings are loaded.

Probe와 tagged queue option

383-485

Option은 kernel command line 또는 module load 때 지정한다. 여러 adapter option은 semicolon이나 여러 `BusLogic=`으로 구분하고 한 adapter 안에서는 comma를 쓴다. Probe·debug option은 전체 adapter에, 나머지는 선택 adapter에 적용한다.

`NoProbe`는 모든 탐색을 끈다. `NoProbePCI`는 PCI configuration space 조회를 끄므로 ISA MultiMaster와 ISA-compatible port가 Primary/Alternate인 PCI MultiMaster만 찾는다. `NoSortPCI`는 AutoSCSI scan option을 무시하고 PCI BIOS 순서를 쓴다. `MultiMasterFirst`와 `FlashPointFirst`는 계열 탐색 우선순위를 강제한다.

`QueueDepth:<integer>` 또는 `QD:`는 모든 target의 depth를 정한다. 생략하면 adapter total depth와 device 수·종류·속도·capability로 자동 계산한다. Untagged device는 내부 기본값 이하를 쓰고 depth 1은 tagged queuing을 자동 disable한다. `QueueDepth:[...]`는 target별 값을 주며 빈 위치는 자동 선택이다.

`TaggedQueuing:Default`는 firmware와 depth에 따르고 `Enable`은 firmware 제한을 넘어 전체 target에서 강제하며 `Disable`은 전체를 끈다. Target별 spec은 Y enable, N disable, X default이며 첫 문자가 target 0이다. 빠진 나머지는 X다. 잘못 구현한 device에서 tagged queuing을 끄는 용도가 중심이다.

Probe option
Option효과
NoProbe모든 BusLogic 탐색 disable
NoProbePCIPCI config 조회 disable
NoSortPCIPCI BIOS 순서 사용
MultiMasterFirstMultiMaster 우선
FlashPointFirstFlashPoint 우선

탐색 범위와 순서를 제어합니다.

Queue option
Option범위
QueueDepth:n / QD:n전체 target
QueueDepth:[...]Target별 depth
TQ:DefaultFirmware·depth 기본
TQ:Enable전체 강제 enable
TQ:Disable전체 disable
TQ:Y/N/X...Target별 enable/disable/default

전체와 target별 정책입니다.

Driver Options
==============

BusLogic Driver Options may be specified either via the Linux Kernel Command
Line or via the Loadable Kernel Module Installation Facility.  Driver Options
for multiple host adapters may be specified either by separating the option
strings by a semicolon, or by specifying multiple "BusLogic=" strings on the
command line.  Individual option specifications for a single host adapter are
separated by commas.  The Probing and Debugging Options apply to all host
adapters whereas the remaining options apply individually only to the
selected host adapter.

The BusLogic Driver Probing Options comprise the following:

NoProbe

  The "NoProbe" option disables all probing and therefore no BusLogic Host
  Adapters will be detected.

NoProbePCI

  The "NoProbePCI" options disables the interrogation of PCI Configuration
  Space and therefore only ISA Multimaster Host Adapters will be detected, as
  well as PCI Multimaster Host Adapters that have their ISA Compatible I/O
  Port set to "Primary" or "Alternate".

NoSortPCI

  The "NoSortPCI" option forces PCI MultiMaster Host Adapters to be
  enumerated in the order provided by the PCI BIOS, ignoring any setting of
  the AutoSCSI "Use Bus And Device # For PCI Scanning Seq." option.

MultiMasterFirst

  The "MultiMasterFirst" option forces MultiMaster Host Adapters to be probed
  before FlashPoint Host Adapters.  By default, if both FlashPoint and PCI
  MultiMaster Host Adapters are present, this driver will probe for
  FlashPoint Host Adapters first unless the BIOS primary disk is controlled
  by the first PCI MultiMaster Host Adapter, in which case MultiMaster Host
  Adapters will be probed first.

FlashPointFirst

  The "FlashPointFirst" option forces FlashPoint Host Adapters to be probed
  before MultiMaster Host Adapters.

The BusLogic Driver Tagged Queuing Options allow for explicitly specifying
the Queue Depth and whether Tagged Queuing is permitted for each Target
Device (assuming that the Target Device supports Tagged Queuing).  The Queue
Depth is the number of SCSI Commands that are allowed to be concurrently
presented for execution (either to the Host Adapter or Target Device).  Note
that explicitly enabling Tagged Queuing may lead to problems; the option to
enable or disable Tagged Queuing is provided primarily to allow disabling
Tagged Queuing on Target Devices that do not implement it correctly.  The
following options are available:

QueueDepth:<integer>

  The "QueueDepth:" or QD:" option specifies the Queue Depth to use for all
  Target Devices that support Tagged Queuing, as well as the maximum Queue
  Depth for devices that do not support Tagged Queuing.  If no Queue Depth
  option is provided, the Queue Depth will be determined automatically based
  on the Host Adapter's Total Queue Depth and the number, type, speed, and
  capabilities of the detected Target Devices.  Target Devices that
  do not support Tagged Queuing always have their Queue Depth set to
  BusLogic_UntaggedQueueDepth or BusLogic_UntaggedQueueDepthBB, unless a
  lower Queue Depth option is provided.  A Queue Depth of 1 automatically
  disables Tagged Queuing.

QueueDepth:[<integer>,<integer>...]

  The "QueueDepth:[...]" or "QD:[...]" option specifies the Queue Depth
  individually for each Target Device.  If an <integer> is omitted, the
  associated Target Device will have its Queue Depth selected automatically.

TaggedQueuing:Default

  The "TaggedQueuing:Default" or "TQ:Default" option permits Tagged Queuing
  based on the firmware version of the BusLogic Host Adapter and based on
  whether the Queue Depth allows queuing multiple commands.

TaggedQueuing:Enable

  The "TaggedQueuing:Enable" or "TQ:Enable" option enables Tagged Queuing for
  all Target Devices on this Host Adapter, overriding any limitation that
  would otherwise be imposed based on the Host Adapter firmware version.

TaggedQueuing:Disable

  The "TaggedQueuing:Disable" or "TQ:Disable" option disables Tagged Queuing
  for all Target Devices on this Host Adapter.

TaggedQueuing:<Target-Spec>

  The "TaggedQueuing:<Target-Spec>" or "TQ:<Target-Spec>" option controls
  Tagged Queuing individually for each Target Device.  <Target-Spec> is a
  sequence of "Y", "N", and "X" characters.  "Y" enables Tagged Queuing, "N"
  disables Tagged Queuing, and "X" accepts the default based on the firmware
  version.  The first character refers to Target Device 0, the second to
  Target Device 1, and so on; if the sequence of "Y", "N", and "X" characters
  does not cover all the Target Devices, unspecified characters are assumed
  to be "X".

Settle time, inquiry, debug와 예제

486-552

`BusSettleTime:<seconds>` 또는 `BST:`는 host hard reset이 SCSI bus reset을 발생시킨 뒤 첫 command까지 기다리는 시간이다. 생략하면 `BusLogic_DefaultBusSettleTime`을 쓴다. `InhibitTargetInquiry`는 LUN 0보다 큰 주소에 잘못 응답하는 구형 target 때문에 MultiMaster inquiry command를 막는다.

`TraceProbe`, `TraceHardwareReset`, `TraceConfiguration`은 각 경로 trace를 켠다. `TraceErrors`는 실패 command마다 CDB와 Sense Data를 출력하고 `Debug`는 모든 debugging option을 켠다.

예제는 첫 adapter target 1·2 depth를 7·15, 두 번째 adapter 전체를 31, 두 번째 bus settle을 30초로 정한다. Kernel command line, LILO append, `insmod BusLogic.o` 세 형식을 제공하며 comma가 든 option parsing에는 Module Utilities 2.1.71 이상이 필요하다.

기타·debug option
Option역할
BusSettleTime / BSTReset 뒤 대기 초
InhibitTargetInquiry구형 LUN inquiry 억제
TraceProbeProbe trace
TraceHardwareResetHardware reset trace
TraceConfiguration구성 trace
TraceErrors실패 CDB·Sense 출력
Debug전체 debug enable

운영과 진단 기능입니다.

다중 adapter 예제
Adapter 0Target 1 depth 7Target 2 depth 15SemicolonAdapter 1 all depth 31Settle 30초

Semicolon 앞뒤가 서로 다른 adapter입니다.

The BusLogic Driver Miscellaneous Options comprise the following:

BusSettleTime:<seconds>

  The "BusSettleTime:" or "BST:" option specifies the Bus Settle Time in
  seconds.  The Bus Settle Time is the amount of time to wait between a Host
  Adapter Hard Reset which initiates a SCSI Bus Reset and issuing any SCSI
  Commands.  If unspecified, it defaults to BusLogic_DefaultBusSettleTime.

InhibitTargetInquiry

  The "InhibitTargetInquiry" option inhibits the execution of an Inquire
  Target Devices or Inquire Installed Devices command on MultiMaster Host
  Adapters.  This may be necessary with some older Target Devices that do not
  respond correctly when Logical Units above 0 are addressed.

The BusLogic Driver Debugging Options comprise the following:

TraceProbe

  The "TraceProbe" option enables tracing of Host Adapter Probing.

TraceHardwareReset

  The "TraceHardwareReset" option enables tracing of Host Adapter Hardware
  Reset.

TraceConfiguration

  The "TraceConfiguration" option enables tracing of Host Adapter
  Configuration.

TraceErrors

  The "TraceErrors" option enables tracing of SCSI Commands that return an
  error from the Target Device.  The CDB and Sense Data will be printed for
  each SCSI Command that fails.

Debug

  The "Debug" option enables all debugging options.

The following examples demonstrate setting the Queue Depth for Target Devices
1 and 2 on the first host adapter to 7 and 15, the Queue Depth for all Target
Devices on the second host adapter to 31, and the Bus Settle Time on the
second host adapter to 30 seconds.

Linux Kernel Command Line::

  linux BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30

LILO Linux Boot Loader (in /etc/lilo.conf)::

  append = "BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"

INSMOD Loadable Kernel Module Installation Facility::

  insmod BusLogic.o \
      'BusLogic="QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"'


.. Note::

      Module Utilities 2.1.71 or later is required for correct parsing
      of driver options containing commas.

Linux 2.0 설치와 announce list

553-581

배포본은 Linux 2.0.35용이며 2.0.4 이후 2.0 series와 호환될 것으로 설명한다. `/usr/src`에서 tar를 풀고 README·LICENSE·BusLogic source·FlashPoint.c를 `linux/drivers/scsi`로 옮긴 뒤 2.0.33 이하면 patch를 적용하고 `make config`, `make zImage`를 실행한다.

생성된 `arch/x86/boot/zImage`를 표준 kernel로 설치하고 필요하면 lilo를 실행한 뒤 reboot한다. 이 절차는 현대 kernel build/install 지침이 아니라 1998년 원문이다.

BusLogic announce mailing list 가입은 `buslogic-announce-request@dandelion.com`에 본문 `subscribe`를 보내도록 안내한다. 현재 운영 여부는 별도 확인해야 한다.

역사적 설치 절차
단계작업
1Tar archive 해제
2Driver files를 drivers/scsi로 이동
32.0.33 이하 patch
4make config
5make zImage
6Kernel 설치·lilo·reboot

Linux 2.0 source tree 작업입니다.

Driver Installation
===================

This distribution was prepared for Linux kernel version 2.0.35, but should be
compatible with 2.0.4 or any later 2.0 series kernel.

To install the new BusLogic SCSI driver, you may use the following commands,
replacing "/usr/src" with wherever you keep your Linux kernel source tree::

  cd /usr/src
  tar -xvzf BusLogic-2.0.15.tar.gz
  mv README.* LICENSE.* BusLogic.[ch] FlashPoint.c linux/drivers/scsi
  patch -p0 < BusLogic.patch (only for 2.0.33 and below)
  cd linux
  make config
  make zImage

Then install "arch/x86/boot/zImage" as your standard kernel, run lilo if
appropriate, and reboot.


BusLogic Announcements Mailing List
===================================

The BusLogic Announcements Mailing List provides a forum for informing Linux
users of new driver releases and other announcements regarding Linux support
for BusLogic SCSI Host Adapters.  To join the mailing list, send a message to
"buslogic-announce-request@dandelion.com" with the line "subscribe" in the
message body.