]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - Documentation/m68k/kernel-options.rst
Merge tag 'iommu-fixes-v5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git...
[mirror_ubuntu-jammy-kernel.git] / Documentation / m68k / kernel-options.rst
CommitLineData
23e02422
MCC
1===================================
2Command Line Options for Linux/m68k
3===================================
1da177e4
LT
4
5Last Update: 2 May 1999
23e02422 6
1da177e4 7Linux/m68k version: 2.2.6
23e02422 8
1da177e4 9Author: Roman.Hodek@informatik.uni-erlangen.de (Roman Hodek)
23e02422 10
1da177e4
LT
11Update: jds@kom.auc.dk (Jes Sorensen) and faq@linux-m68k.org (Chris Lawrence)
12
130) Introduction
14===============
15
23e02422 16Often I've been asked which command line options the Linux/m68k
1da177e4
LT
17kernel understands, or how the exact syntax for the ... option is, or
18... about the option ... . I hope, this document supplies all the
19answers...
20
23e02422 21Note that some options might be outdated, their descriptions being
1da177e4
LT
22incomplete or missing. Please update the information and send in the
23patches.
24
25
261) Overview of the Kernel's Option Processing
27=============================================
28
29The kernel knows three kinds of options on its command line:
30
31 1) kernel options
32 2) environment settings
33 3) arguments for init
34
35To which of these classes an argument belongs is determined as
36follows: If the option is known to the kernel itself, i.e. if the name
37(the part before the '=') or, in some cases, the whole argument string
38is known to the kernel, it belongs to class 1. Otherwise, if the
39argument contains an '=', it is of class 2, and the definition is put
40into init's environment. All other arguments are passed to init as
41command line options.
42
23e02422 43This document describes the valid kernel options for Linux/m68k in
1da177e4
LT
44the version mentioned at the start of this file. Later revisions may
45add new such options, and some may be missing in older versions.
46
23e02422 47In general, the value (the part after the '=') of an option is a
1da177e4
LT
48list of values separated by commas. The interpretation of these values
49is up to the driver that "owns" the option. This association of
50options with drivers is also the reason that some are further
51subdivided.
52
53
542) General Kernel Options
55=========================
56
572.1) root=
58----------
59
23e02422
MCC
60:Syntax: root=/dev/<device>
61:or: root=<hex_number>
1da177e4
LT
62
63This tells the kernel which device it should mount as the root
64filesystem. The device must be a block device with a valid filesystem
65on it.
66
23e02422 67The first syntax gives the device by name. These names are converted
1da177e4
LT
68into a major/minor number internally in the kernel in an unusual way.
69Normally, this "conversion" is done by the device files in /dev, but
70this isn't possible here, because the root filesystem (with /dev)
71isn't mounted yet... So the kernel parses the name itself, with some
72hardcoded name to number mappings. The name must always be a
73combination of two or three letters, followed by a decimal number.
23e02422 74Valid names are::
1da177e4
LT
75
76 /dev/ram: -> 0x0100 (initial ramdisk)
77 /dev/hda: -> 0x0300 (first IDE disk)
78 /dev/hdb: -> 0x0340 (second IDE disk)
79 /dev/sda: -> 0x0800 (first SCSI disk)
80 /dev/sdb: -> 0x0810 (second SCSI disk)
81 /dev/sdc: -> 0x0820 (third SCSI disk)
82 /dev/sdd: -> 0x0830 (forth SCSI disk)
83 /dev/sde: -> 0x0840 (fifth SCSI disk)
84 /dev/fd : -> 0x0200 (floppy disk)
1da177e4 85
23e02422 86The name must be followed by a decimal number, that stands for the
1da177e4
LT
87partition number. Internally, the value of the number is just
88added to the device number mentioned in the table above. The
89exceptions are /dev/ram and /dev/fd, where /dev/ram refers to an
90initial ramdisk loaded by your bootstrap program (please consult the
91instructions for your bootstrap program to find out how to load an
92initial ramdisk). As of kernel version 2.0.18 you must specify
93/dev/ram as the root device if you want to boot from an initial
94ramdisk. For the floppy devices, /dev/fd, the number stands for the
95floppy drive number (there are no partitions on floppy disks). I.e.,
96/dev/fd0 stands for the first drive, /dev/fd1 for the second, and so
97on. Since the number is just added, you can also force the disk format
98by adding a number greater than 3. If you look into your /dev
99directory, use can see the /dev/fd0D720 has major 2 and minor 16. You
100can specify this device for the root FS by writing "root=/dev/fd16" on
101the kernel command line.
102
103[Strange and maybe uninteresting stuff ON]
104
23e02422 105This unusual translation of device names has some strange
1da177e4
LT
106consequences: If, for example, you have a symbolic link from /dev/fd
107to /dev/fd0D720 as an abbreviation for floppy driver #0 in DD format,
108you cannot use this name for specifying the root device, because the
109kernel cannot see this symlink before mounting the root FS and it
23e02422 110isn't in the table above. If you use it, the root device will not be
1da177e4
LT
111set at all, without an error message. Another example: You cannot use a
112partition on e.g. the sixth SCSI disk as the root filesystem, if you
113want to specify it by name. This is, because only the devices up to
114/dev/sde are in the table above, but not /dev/sdf. Although, you can
115use the sixth SCSI disk for the root FS, but you have to specify the
116device by number... (see below). Or, even more strange, you can use the
117fact that there is no range checking of the partition number, and your
118knowledge that each disk uses 16 minors, and write "root=/dev/sde17"
119(for /dev/sdf1).
120
121[Strange and maybe uninteresting stuff OFF]
122
23e02422 123If the device containing your root partition isn't in the table
1da177e4
LT
124above, you can also specify it by major and minor numbers. These are
125written in hex, with no prefix and no separator between. E.g., if you
126have a CD with contents appropriate as a root filesystem in the first
127SCSI CD-ROM drive, you boot from it by "root=0b00". Here, hex "0b" =
128decimal 11 is the major of SCSI CD-ROMs, and the minor 0 stands for
129the first of these. You can find out all valid major numbers by
130looking into include/linux/major.h.
131
f2d34fd9
WD
132In addition to major and minor numbers, if the device containing your
133root partition uses a partition table format with unique partition
134identifiers, then you may use them. For instance,
135"root=PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF". It is also
136possible to reference another partition on the same device using a
137known partition UUID as the starting point. For example,
138if partition 5 of the device has the UUID of
13900112233-4455-6677-8899-AABBCCDDEEFF then partition 3 may be found as
140follows:
23e02422 141
f2d34fd9
WD
142 PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF/PARTNROFF=-2
143
144Authoritative information can be found in
8c27ceff 145"Documentation/admin-guide/kernel-parameters.rst".
f2d34fd9 146
1da177e4
LT
147
1482.2) ro, rw
149-----------
150
23e02422
MCC
151:Syntax: ro
152:or: rw
1da177e4
LT
153
154These two options tell the kernel whether it should mount the root
155filesystem read-only or read-write. The default is read-only, except
156for ramdisks, which default to read-write.
157
158
1592.3) debug
160----------
161
23e02422 162:Syntax: debug
1da177e4
LT
163
164This raises the kernel log level to 10 (the default is 7). This is the
165same level as set by the "dmesg" command, just that the maximum level
166selectable by dmesg is 8.
167
168
1692.4) debug=
170-----------
171
23e02422 172:Syntax: debug=<device>
1da177e4
LT
173
174This option causes certain kernel messages be printed to the selected
175debugging device. This can aid debugging the kernel, since the
176messages can be captured and analyzed on some other machine. Which
177devices are possible depends on the machine type. There are no checks
178for the validity of the device name. If the device isn't implemented,
179nothing happens.
180
23e02422 181Messages logged this way are in general stack dumps after kernel
1da177e4
LT
182memory faults or bad kernel traps, and kernel panics. To be exact: all
183messages of level 0 (panic messages) and all messages printed while
184the log level is 8 or more (their level doesn't matter). Before stack
185dumps, the kernel sets the log level to 10 automatically. A level of
186at least 8 can also be set by the "debug" command line option (see
1872.3) and at run time with "dmesg -n 8".
188
189Devices possible for Amiga:
190
23e02422
MCC
191 - "ser":
192 built-in serial port; parameters: 9600bps, 8N1
193 - "mem":
194 Save the messages to a reserved area in chip mem. After
1da177e4
LT
195 rebooting, they can be read under AmigaOS with the tool
196 'dmesg'.
197
198Devices possible for Atari:
199
23e02422
MCC
200 - "ser1":
201 ST-MFP serial port ("Modem1"); parameters: 9600bps, 8N1
202 - "ser2":
203 SCC channel B serial port ("Modem2"); parameters: 9600bps, 8N1
204 - "ser" :
205 default serial port
1da177e4 206 This is "ser2" for a Falcon, and "ser1" for any other machine
23e02422
MCC
207 - "midi":
208 The MIDI port; parameters: 31250bps, 8N1
209 - "par" :
210 parallel port
211
1da177e4
LT
212 The printing routine for this implements a timeout for the
213 case there's no printer connected (else the kernel would
214 lock up). The timeout is not exact, but usually a few
215 seconds.
216
217
fac8b209 2182.6) ramdisk_size=
23e02422 219------------------
1da177e4 220
23e02422 221:Syntax: ramdisk_size=<size>
1da177e4 222
23e02422 223This option instructs the kernel to set up a ramdisk of the given
1da177e4
LT
224size in KBytes. Do not use this option if the ramdisk contents are
225passed by bootstrap! In this case, the size is selected automatically
226and should not be overwritten.
227
23e02422 228The only application is for root filesystems on floppy disks, that
1da177e4
LT
229should be loaded into memory. To do that, select the corresponding
230size of the disk as ramdisk size, and set the root device to the disk
231drive (with "root=").
232
233
2342.7) swap=
23e02422
MCC
235
236 I can't find any sign of this option in 2.2.6.
237
1da177e4
LT
2382.8) buff=
239-----------
240
23e02422 241 I can't find any sign of this option in 2.2.6.
1da177e4
LT
242
243
2443) General Device Options (Amiga and Atari)
245===========================================
246
2473.1) ether=
248-----------
249
23e02422 250:Syntax: ether=[<irq>[,<base_addr>[,<mem_start>[,<mem_end>]]]],<dev-name>
1da177e4 251
23e02422 252<dev-name> is the name of a net driver, as specified in
1da177e4
LT
253drivers/net/Space.c in the Linux source. Most prominent are eth0, ...
254eth3, sl0, ... sl3, ppp0, ..., ppp3, dummy, and lo.
255
23e02422 256The non-ethernet drivers (sl, ppp, dummy, lo) obviously ignore the
1da177e4
LT
257settings by this options. Also, the existing ethernet drivers for
258Linux/m68k (ariadne, a2065, hydra) don't use them because Zorro boards
259are really Plug-'n-Play, so the "ether=" option is useless altogether
260for Linux/m68k.
261
262
2633.2) hd=
264--------
265
23e02422 266:Syntax: hd=<cylinders>,<heads>,<sectors>
1da177e4 267
23e02422 268This option sets the disk geometry of an IDE disk. The first hd=
1da177e4
LT
269option is for the first IDE disk, the second for the second one.
270(I.e., you can give this option twice.) In most cases, you won't have
271to use this option, since the kernel can obtain the geometry data
272itself. It exists just for the case that this fails for one of your
273disks.
274
275
2763.3) max_scsi_luns=
277-------------------
278
23e02422 279:Syntax: max_scsi_luns=<n>
1da177e4 280
23e02422 281Sets the maximum number of LUNs (logical units) of SCSI devices to
1da177e4
LT
282be scanned. Valid values for <n> are between 1 and 8. Default is 8 if
283"Probe all LUNs on each SCSI device" was selected during the kernel
284configuration, else 1.
285
286
2873.4) st=
288--------
289
23e02422 290:Syntax: st=<buffer_size>,[<write_thres>,[<max_buffers>]]
1da177e4 291
23e02422 292Sets several parameters of the SCSI tape driver. <buffer_size> is
1da177e4
LT
293the number of 512-byte buffers reserved for tape operations for each
294device. <write_thres> sets the number of blocks which must be filled
295to start an actual write operation to the tape. Maximum value is the
296total number of buffers. <max_buffer> limits the total number of
297buffers allocated for all tape devices.
298
299
3003.5) dmasound=
301--------------
302
23e02422 303:Syntax: dmasound=[<buffers>,<buffer-size>[,<catch-radius>]]
1da177e4 304
23e02422 305This option controls some configurations of the Linux/m68k DMA sound
1da177e4
LT
306driver (Amiga and Atari): <buffers> is the number of buffers you want
307to use (minimum 4, default 4), <buffer-size> is the size of each
308buffer in kilobytes (minimum 4, default 32) and <catch-radius> says
309how much percent of error will be tolerated when setting a frequency
310(maximum 10, default 0). For example with 3% you can play 8000Hz
311AU-Files on the Falcon with its hardware frequency of 8195Hz and thus
312don't need to expand the sound.
313
314
315
3164) Options for Atari Only
317=========================
318
3194.1) video=
320-----------
321
23e02422 322:Syntax: video=<fbname>:<sub-options...>
1da177e4
LT
323
324The <fbname> parameter specifies the name of the frame buffer,
23e02422 325eg. most atari users will want to specify `atafb` here. The
1da177e4
LT
326<sub-options> is a comma-separated list of the sub-options listed
327below.
328
23e02422
MCC
329NB:
330 Please notice that this option was renamed from `atavideo` to
331 `video` during the development of the 1.3.x kernels, thus you
1da177e4
LT
332 might need to update your boot-scripts if upgrading to 2.x from
333 an 1.2.x kernel.
334
23e02422
MCC
335NBB:
336 The behavior of video= was changed in 2.1.57 so the recommended
337 option is to specify the name of the frame buffer.
1da177e4
LT
338
3394.1.1) Video Mode
340-----------------
341
342This sub-option may be any of the predefined video modes, as listed
343in atari/atafb.c in the Linux/m68k source tree. The kernel will
344activate the given video mode at boot time and make it the default
345mode, if the hardware allows. Currently defined names are:
346
347 - stlow : 320x200x4
348 - stmid, default5 : 640x200x2
349 - sthigh, default4: 640x400x1
350 - ttlow : 320x480x8, TT only
351 - ttmid, default1 : 640x480x4, TT only
352 - tthigh, default2: 1280x960x1, TT only
353 - vga2 : 640x480x1, Falcon only
354 - vga4 : 640x480x2, Falcon only
355 - vga16, default3 : 640x480x4, Falcon only
356 - vga256 : 640x480x8, Falcon only
357 - falh2 : 896x608x1, Falcon only
358 - falh16 : 896x608x4, Falcon only
359
23e02422 360If no video mode is given on the command line, the kernel tries the
1da177e4
LT
361modes names "default<n>" in turn, until one is possible with the
362hardware in use.
363
23e02422 364A video mode setting doesn't make sense, if the external driver is
1da177e4
LT
365activated by a "external:" sub-option.
366
3674.1.2) inverse
368--------------
369
370Invert the display. This affects both, text (consoles) and graphics
371(X) display. Usually, the background is chosen to be black. With this
372option, you can make the background white.
373
3744.1.3) font
375-----------
376
23e02422 377:Syntax: font:<fontname>
1da177e4
LT
378
379Specify the font to use in text modes. Currently you can choose only
23e02422 380between `VGA8x8`, `VGA8x16` and `PEARL8x8`. `VGA8x8` is default, if the
1da177e4 381vertical size of the display is less than 400 pixel rows. Otherwise, the
23e02422 382`VGA8x16` font is the default.
1da177e4 383
23e02422
MCC
3844.1.4) `hwscroll_`
385------------------
1da177e4 386
23e02422 387:Syntax: `hwscroll_<n>`
1da177e4
LT
388
389The number of additional lines of video memory to reserve for
390speeding up the scrolling ("hardware scrolling"). Hardware scrolling
391is possible only if the kernel can set the video base address in steps
392fine enough. This is true for STE, MegaSTE, TT, and Falcon. It is not
393possible with plain STs and graphics cards (The former because the
394base address must be on a 256 byte boundary there, the latter because
395the kernel doesn't know how to set the base address at all.)
396
23e02422 397By default, <n> is set to the number of visible text lines on the
1da177e4
LT
398display. Thus, the amount of video memory is doubled, compared to no
399hardware scrolling. You can turn off the hardware scrolling altogether
400by setting <n> to 0.
401
4024.1.5) internal:
403----------------
404
23e02422 405:Syntax: internal:<xres>;<yres>[;<xres_max>;<yres_max>;<offset>]
1da177e4
LT
406
407This option specifies the capabilities of some extended internal video
408hardware, like e.g. OverScan. <xres> and <yres> give the (extended)
409dimensions of the screen.
410
23e02422 411If your OverScan needs a black border, you have to write the last
1da177e4
LT
412three arguments of the "internal:". <xres_max> is the maximum line
413length the hardware allows, <yres_max> the maximum number of lines.
414<offset> is the offset of the visible part of the screen memory to its
415physical start, in bytes.
416
23e02422 417Often, extended interval video hardware has to be activated somehow.
1da177e4
LT
418For this, see the "sw_*" options below.
419
4204.1.6) external:
421----------------
422
23e02422
MCC
423:Syntax:
424 external:<xres>;<yres>;<depth>;<org>;<scrmem>[;<scrlen>[;<vgabase>
425 [;<colw>[;<coltype>[;<xres_virtual>]]]]]
1da177e4 426
23e02422 427.. I had to break this line...
1da177e4 428
23e02422 429This is probably the most complicated parameter... It specifies that
1da177e4
LT
430you have some external video hardware (a graphics board), and how to
431use it under Linux/m68k. The kernel cannot know more about the hardware
432than you tell it here! The kernel also is unable to set or change any
433video modes, since it doesn't know about any board internal. So, you
434have to switch to that video mode before you start Linux, and cannot
435switch to another mode once Linux has started.
436
23e02422 437The first 3 parameters of this sub-option should be obvious: <xres>,
1da177e4 438<yres> and <depth> give the dimensions of the screen and the number of
670e9f34 439planes (depth). The depth is the logarithm to base 2 of the number
1da177e4
LT
440of colors possible. (Or, the other way round: The number of colors is
4412^depth).
442
23e02422 443You have to tell the kernel furthermore how the video memory is
1da177e4
LT
444organized. This is done by a letter as <org> parameter:
445
23e02422
MCC
446 'n':
447 "normal planes", i.e. one whole plane after another
448 'i':
449 "interleaved planes", i.e. 16 bit of the first plane, than 16 bit
1da177e4 450 of the next, and so on... This mode is used only with the
23e02422
MCC
451 built-in Atari video modes, I think there is no card that
452 supports this mode.
453 'p':
454 "packed pixels", i.e. <depth> consecutive bits stand for all
455 planes of one pixel; this is the most common mode for 8 planes
456 (256 colors) on graphic cards
457 't':
458 "true color" (more or less packed pixels, but without a color
459 lookup table); usually depth is 24
1da177e4
LT
460
461For monochrome modes (i.e., <depth> is 1), the <org> letter has a
462different meaning:
463
23e02422
MCC
464 'n':
465 normal colors, i.e. 0=white, 1=black
466 'i':
467 inverted colors, i.e. 0=black, 1=white
1da177e4 468
23e02422 469The next important information about the video hardware is the base
1da177e4
LT
470address of the video memory. That is given in the <scrmem> parameter,
471as a hexadecimal number with a "0x" prefix. You have to find out this
472address in the documentation of your hardware.
473
23e02422 474The next parameter, <scrlen>, tells the kernel about the size of the
1da177e4
LT
475video memory. If it's missing, the size is calculated from <xres>,
476<yres>, and <depth>. For now, it is not useful to write a value here.
477It would be used only for hardware scrolling (which isn't possible
478with the external driver, because the kernel cannot set the video base
479address), or for virtual resolutions under X (which the X server
480doesn't support yet). So, it's currently best to leave this field
481empty, either by ending the "external:" after the video address or by
482writing two consecutive semicolons, if you want to give a <vgabase>
483(it is allowed to leave this parameter empty).
484
23e02422 485The <vgabase> parameter is optional. If it is not given, the kernel
1da177e4
LT
486cannot read or write any color registers of the video hardware, and
487thus you have to set appropriate colors before you start Linux. But if
488your card is somehow VGA compatible, you can tell the kernel the base
489address of the VGA register set, so it can change the color lookup
490table. You have to look up this address in your board's documentation.
491To avoid misunderstandings: <vgabase> is the _base_ address, i.e. a 4k
492aligned address. For read/writing the color registers, the kernel
493uses the addresses vgabase+0x3c7...vgabase+0x3c9. The <vgabase>
494parameter is written in hexadecimal with a "0x" prefix, just as
495<scrmem>.
496
23e02422 497<colw> is meaningful only if <vgabase> is specified. It tells the
1da177e4
LT
498kernel how wide each of the color register is, i.e. the number of bits
499per single color (red/green/blue). Default is 6, another quite usual
500value is 8.
501
23e02422 502Also <coltype> is used together with <vgabase>. It tells the kernel
1da177e4
LT
503about the color register model of your gfx board. Currently, the types
504"vga" (which is also the default) and "mv300" (SANG MV300) are
505implemented.
506
23e02422
MCC
507Parameter <xres_virtual> is required for ProMST or ET4000 cards where
508the physical linelength differs from the visible length. With ProMST,
1da177e4
LT
509xres_virtual must be set to 2048. For ET4000, xres_virtual depends on the
510initialisation of the video-card.
511If you're missing a corresponding yres_virtual: the external part is legacy,
512therefore we don't support hardware-dependent functions like hardware-scroll,
513panning or blanking.
514
5154.1.7) eclock:
516--------------
517
518The external pixel clock attached to the Falcon VIDEL shifter. This
519currently works only with the ScreenWonder!
520
5214.1.8) monitorcap:
522-------------------
523
23e02422 524:Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
1da177e4
LT
525
526This describes the capabilities of a multisync monitor. Don't use it
527with a fixed-frequency monitor! For now, only the Falcon frame buffer
528uses the settings of "monitorcap:".
529
23e02422 530<vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
1da177e4
LT
531your monitor can work with, in Hz. <hmin> and <hmax> are the same for
532the horizontal frequency, in kHz.
533
534 The defaults are 58;62;31;32 (VGA compatible).
535
536 The defaults for TV/SC1224/SC1435 cover both PAL and NTSC standards.
537
5384.1.9) keep
539------------
540
541If this option is given, the framebuffer device doesn't do any video
542mode calculations and settings on its own. The only Atari fb device
543that does this currently is the Falcon.
544
23e02422 545What you reach with this: Settings for unknown video extensions
1da177e4
LT
546aren't overridden by the driver, so you can still use the mode found
547when booting, when the driver doesn't know to set this mode itself.
548But this also means, that you can't switch video modes anymore...
549
23e02422 550An example where you may want to use "keep" is the ScreenBlaster for
1da177e4
LT
551the Falcon.
552
553
5544.2) atamouse=
555--------------
556
23e02422 557:Syntax: atamouse=<x-threshold>,[<y-threshold>]
1da177e4 558
23e02422 559With this option, you can set the mouse movement reporting threshold.
1da177e4
LT
560This is the number of pixels of mouse movement that have to accumulate
561before the IKBD sends a new mouse packet to the kernel. Higher values
562reduce the mouse interrupt load and thus reduce the chance of keyboard
563overruns. Lower values give a slightly faster mouse responses and
564slightly better mouse tracking.
565
23e02422 566You can set the threshold in x and y separately, but usually this is
1da177e4
LT
567of little practical use. If there's just one number in the option, it
568is used for both dimensions. The default value is 2 for both
569thresholds.
570
571
5724.3) ataflop=
573-------------
574
23e02422 575:Syntax: ataflop=<drive type>[,<trackbuffering>[,<steprateA>[,<steprateB>]]]
1da177e4
LT
576
577 The drive type may be 0, 1, or 2, for DD, HD, and ED, resp. This
578 setting affects how many buffers are reserved and which formats are
579 probed (see also below). The default is 1 (HD). Only one drive type
580 can be selected. If you have two disk drives, select the "better"
581 type.
582
583 The second parameter <trackbuffer> tells the kernel whether to use
584 track buffering (1) or not (0). The default is machine-dependent:
585 no for the Medusa and yes for all others.
586
587 With the two following parameters, you can change the default
23e02422 588 steprate used for drive A and B, resp.
1da177e4
LT
589
590
5914.4) atascsi=
592-------------
593
23e02422 594:Syntax: atascsi=<can_queue>[,<cmd_per_lun>[,<scat-gat>[,<host-id>[,<tagged>]]]]
1da177e4 595
23e02422 596This option sets some parameters for the Atari native SCSI driver.
1da177e4
LT
597Generally, any number of arguments can be omitted from the end. And
598for each of the numbers, a negative value means "use default". The
599defaults depend on whether TT-style or Falcon-style SCSI is used.
600Below, defaults are noted as n/m, where the first value refers to
601TT-SCSI and the latter to Falcon-SCSI. If an illegal value is given
602for one parameter, an error message is printed and that one setting is
603ignored (others aren't affected).
604
605 <can_queue>:
606 This is the maximum number of SCSI commands queued internally to the
607 Atari SCSI driver. A value of 1 effectively turns off the driver
608 internal multitasking (if it causes problems). Legal values are >=
609 1. <can_queue> can be as high as you like, but values greater than
610 <cmd_per_lun> times the number of SCSI targets (LUNs) you have
611 don't make sense. Default: 16/8.
612
613 <cmd_per_lun>:
614 Maximum number of SCSI commands issued to the driver for one
615 logical unit (LUN, usually one SCSI target). Legal values start
616 from 1. If tagged queuing (see below) is not used, values greater
617 than 2 don't make sense, but waste memory. Otherwise, the maximum
618 is the number of command tags available to the driver (currently
619 32). Default: 8/1. (Note: Values > 1 seem to cause problems on a
620 Falcon, cause not yet known.)
621
23e02422 622 The <cmd_per_lun> value at a great part determines the amount of
1da177e4
LT
623 memory SCSI reserves for itself. The formula is rather
624 complicated, but I can give you some hints:
23e02422
MCC
625
626 no scatter-gather:
627 cmd_per_lun * 232 bytes
628 full scatter-gather:
629 cmd_per_lun * approx. 17 Kbytes
1da177e4
LT
630
631 <scat-gat>:
632 Size of the scatter-gather table, i.e. the number of requests
633 consecutive on the disk that can be merged into one SCSI command.
634 Legal values are between 0 and 255. Default: 255/0. Note: This
635 value is forced to 0 on a Falcon, since scatter-gather isn't
636 possible with the ST-DMA. Not using scatter-gather hurts
637 performance significantly.
638
639 <host-id>:
640 The SCSI ID to be used by the initiator (your Atari). This is
641 usually 7, the highest possible ID. Every ID on the SCSI bus must
642 be unique. Default: determined at run time: If the NV-RAM checksum
643 is valid, and bit 7 in byte 30 of the NV-RAM is set, the lower 3
644 bits of this byte are used as the host ID. (This method is defined
645 by Atari and also used by some TOS HD drivers.) If the above
646 isn't given, the default ID is 7. (both, TT and Falcon).
647
648 <tagged>:
649 0 means turn off tagged queuing support, all other values > 0 mean
650 use tagged queuing for targets that support it. Default: currently
651 off, but this may change when tagged queuing handling has been
652 proved to be reliable.
653
654 Tagged queuing means that more than one command can be issued to
655 one LUN, and the SCSI device itself orders the requests so they
656 can be performed in optimal order. Not all SCSI devices support
657 tagged queuing (:-().
658
f9c98d02 6594.5 switches=
1da177e4
LT
660-------------
661
23e02422 662:Syntax: switches=<list of switches>
1da177e4 663
23e02422 664With this option you can switch some hardware lines that are often
1da177e4
LT
665used to enable/disable certain hardware extensions. Examples are
666OverScan, overclocking, ...
667
23e02422 668The <list of switches> is a comma-separated list of the following
1da177e4
LT
669items:
670
23e02422
MCC
671 ikbd:
672 set RTS of the keyboard ACIA high
673 midi:
674 set RTS of the MIDI ACIA high
675 snd6:
676 set bit 6 of the PSG port A
677 snd7:
678 set bit 6 of the PSG port A
1da177e4
LT
679
680It doesn't make sense to mention a switch more than once (no
681difference to only once), but you can give as many switches as you
682want to enable different features. The switch lines are set as early
683as possible during kernel initialization (even before determining the
684present hardware.)
685
23e02422
MCC
686All of the items can also be prefixed with `ov_`, i.e. `ov_ikbd`,
687`ov_midi`, ... These options are meant for switching on an OverScan
1da177e4
LT
688video extension. The difference to the bare option is that the
689switch-on is done after video initialization, and somehow synchronized
690to the HBLANK. A speciality is that ov_ikbd and ov_midi are switched
691off before rebooting, so that OverScan is disabled and TOS boots
692correctly.
693
23e02422
MCC
694If you give an option both, with and without the `ov_` prefix, the
695earlier initialization (`ov_`-less) takes precedence. But the
1da177e4
LT
696switching-off on reset still happens in this case.
697
1da177e4
LT
6985) Options for Amiga Only:
699==========================
700
7015.1) video=
702-----------
703
23e02422 704:Syntax: video=<fbname>:<sub-options...>
1da177e4
LT
705
706The <fbname> parameter specifies the name of the frame buffer, valid
23e02422 707options are `amifb`, `cyber`, 'virge', `retz3` and `clgen`, provided
1da177e4
LT
708that the respective frame buffer devices have been compiled into the
709kernel (or compiled as loadable modules). The behavior of the <fbname>
710option was changed in 2.1.57 so it is now recommended to specify this
711option.
712
713The <sub-options> is a comma-separated list of the sub-options listed
714below. This option is organized similar to the Atari version of the
715"video"-option (4.1), but knows fewer sub-options.
716
7175.1.1) video mode
718-----------------
719
720Again, similar to the video mode for the Atari (see 4.1.1). Predefined
721modes depend on the used frame buffer device.
722
723OCS, ECS and AGA machines all use the color frame buffer. The following
724predefined video modes are available:
725
726NTSC modes:
727 - ntsc : 640x200, 15 kHz, 60 Hz
728 - ntsc-lace : 640x400, 15 kHz, 60 Hz interlaced
23e02422 729
1da177e4
LT
730PAL modes:
731 - pal : 640x256, 15 kHz, 50 Hz
732 - pal-lace : 640x512, 15 kHz, 50 Hz interlaced
23e02422 733
1da177e4
LT
734ECS modes:
735 - multiscan : 640x480, 29 kHz, 57 Hz
736 - multiscan-lace : 640x960, 29 kHz, 57 Hz interlaced
737 - euro36 : 640x200, 15 kHz, 72 Hz
738 - euro36-lace : 640x400, 15 kHz, 72 Hz interlaced
739 - euro72 : 640x400, 29 kHz, 68 Hz
740 - euro72-lace : 640x800, 29 kHz, 68 Hz interlaced
741 - super72 : 800x300, 23 kHz, 70 Hz
742 - super72-lace : 800x600, 23 kHz, 70 Hz interlaced
743 - dblntsc-ff : 640x400, 27 kHz, 57 Hz
744 - dblntsc-lace : 640x800, 27 kHz, 57 Hz interlaced
745 - dblpal-ff : 640x512, 27 kHz, 47 Hz
746 - dblpal-lace : 640x1024, 27 kHz, 47 Hz interlaced
747 - dblntsc : 640x200, 27 kHz, 57 Hz doublescan
748 - dblpal : 640x256, 27 kHz, 47 Hz doublescan
23e02422 749
1da177e4
LT
750VGA modes:
751 - vga : 640x480, 31 kHz, 60 Hz
752 - vga70 : 640x400, 31 kHz, 70 Hz
753
754Please notice that the ECS and VGA modes require either an ECS or AGA
755chipset, and that these modes are limited to 2-bit color for the ECS
756chipset and 8-bit color for the AGA chipset.
757
7585.1.2) depth
759------------
760
23e02422 761:Syntax: depth:<nr. of bit-planes>
1da177e4
LT
762
763Specify the number of bit-planes for the selected video-mode.
764
7655.1.3) inverse
766--------------
767
768Use inverted display (black on white). Functionally the same as the
769"inverse" sub-option for the Atari.
770
7715.1.4) font
772-----------
773
23e02422 774:Syntax: font:<fontname>
1da177e4
LT
775
776Specify the font to use in text modes. Functionally the same as the
23e02422
MCC
777"font" sub-option for the Atari, except that `PEARL8x8` is used instead
778of `VGA8x8` if the vertical size of the display is less than 400 pixel
1da177e4
LT
779rows.
780
7815.1.5) monitorcap:
782-------------------
783
23e02422 784:Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
1da177e4
LT
785
786This describes the capabilities of a multisync monitor. For now, only
787the color frame buffer uses the settings of "monitorcap:".
788
23e02422 789<vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
1da177e4
LT
790your monitor can work with, in Hz. <hmin> and <hmax> are the same for
791the horizontal frequency, in kHz.
792
23e02422 793The defaults are 50;90;15;38 (Generic Amiga multisync monitor).
1da177e4
LT
794
795
7965.2) fd_def_df0=
797----------------
798
23e02422 799:Syntax: fd_def_df0=<value>
1da177e4
LT
800
801Sets the df0 value for "silent" floppy drives. The value should be in
802hexadecimal with "0x" prefix.
803
804
8055.3) wd33c93=
806-------------
807
23e02422 808:Syntax: wd33c93=<sub-options...>
1da177e4
LT
809
810These options affect the A590/A2091, A3000 and GVP Series II SCSI
811controllers.
812
813The <sub-options> is a comma-separated list of the sub-options listed
814below.
815
8165.3.1) nosync
817-------------
818
23e02422 819:Syntax: nosync:bitmask
1da177e4 820
23e02422 821bitmask is a byte where the 1st 7 bits correspond with the 7
1da177e4
LT
822possible SCSI devices. Set a bit to prevent sync negotiation on that
823device. To maintain backwards compatibility, a command-line such as
824"wd33c93=255" will be automatically translated to
825"wd33c93=nosync:0xff". The default is to disable sync negotiation for
826all devices, eg. nosync:0xff.
827
8285.3.2) period
829-------------
830
23e02422 831:Syntax: period:ns
1da177e4 832
23e02422 833`ns` is the minimum # of nanoseconds in a SCSI data transfer
1da177e4
LT
834period. Default is 500; acceptable values are 250 - 1000.
835
8365.3.3) disconnect
837-----------------
838
23e02422 839:Syntax: disconnect:x
1da177e4 840
23e02422 841Specify x = 0 to never allow disconnects, 2 to always allow them.
1da177e4
LT
842x = 1 does 'adaptive' disconnects, which is the default and generally
843the best choice.
844
8455.3.4) debug
846------------
847
23e02422 848:Syntax: debug:x
1da177e4 849
23e02422 850If `DEBUGGING_ON` is defined, x is a bit mask that causes various
1da177e4
LT
851types of debug output to printed - see the DB_xxx defines in
852wd33c93.h.
853
8545.3.5) clock
855------------
856
23e02422 857:Syntax: clock:x
1da177e4 858
23e02422 859x = clock input in MHz for WD33c93 chip. Normal values would be from
1da177e4
LT
8608 through 20. The default value depends on your hostadapter(s),
861default for the A3000 internal controller is 14, for the A2091 it's 8
862and for the GVP hostadapters it's either 8 or 14, depending on the
863hostadapter and the SCSI-clock jumper present on some GVP
864hostadapters.
865
8665.3.6) next
867-----------
868
23e02422 869No argument. Used to separate blocks of keywords when there's more
1da177e4
LT
870than one wd33c93-based host adapter in the system.
871
8725.3.7) nodma
873------------
874
23e02422 875:Syntax: nodma:x
1da177e4 876
23e02422 877If x is 1 (or if the option is just written as "nodma"), the WD33c93
1da177e4
LT
878controller will not use DMA (= direct memory access) to access the
879Amiga's memory. This is useful for some systems (like A3000's and
880A4000's with the A3640 accelerator, revision 3.0) that have problems
881using DMA to chip memory. The default is 0, i.e. to use DMA if
882possible.
883
884
8855.4) gvp11=
886-----------
887
23e02422 888:Syntax: gvp11=<addr-mask>
1da177e4 889
23e02422 890The earlier versions of the GVP driver did not handle DMA
1da177e4
LT
891address-mask settings correctly which made it necessary for some
892people to use this option, in order to get their GVP controller
893running under Linux. These problems have hopefully been solved and the
894use of this option is now highly unrecommended!
895
23e02422 896Incorrect use can lead to unpredictable behavior, so please only use
1da177e4
LT
897this option if you *know* what you are doing and have a reason to do
898so. In any case if you experience problems and need to use this
899option, please inform us about it by mailing to the Linux/68k kernel
900mailing list.
901
23e02422 902The address mask set by this option specifies which addresses are
1da177e4
LT
903valid for DMA with the GVP Series II SCSI controller. An address is
904valid, if no bits are set except the bits that are set in the mask,
905too.
906
23e02422 907Some versions of the GVP can only DMA into a 24 bit address range,
1da177e4
LT
908some can address a 25 bit address range while others can use the whole
90932 bit address range for DMA. The correct setting depends on your
910controller and should be autodetected by the driver. An example is the
91124 bit region which is specified by a mask of 0x00fffffe.