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