Back to home page

OSCL-LXR

 
 

    


0001 ===================================
0002 Command Line Options for Linux/m68k
0003 ===================================
0004 
0005 Last Update: 2 May 1999
0006 
0007 Linux/m68k version: 2.2.6
0008 
0009 Author: Roman.Hodek@informatik.uni-erlangen.de (Roman Hodek)
0010 
0011 Update: jds@kom.auc.dk (Jes Sorensen) and faq@linux-m68k.org (Chris Lawrence)
0012 
0013 0) Introduction
0014 ===============
0015 
0016 Often I've been asked which command line options the Linux/m68k
0017 kernel understands, or how the exact syntax for the ... option is, or
0018 ... about the option ... . I hope, this document supplies all the
0019 answers...
0020 
0021 Note that some options might be outdated, their descriptions being
0022 incomplete or missing. Please update the information and send in the
0023 patches.
0024 
0025 
0026 1) Overview of the Kernel's Option Processing
0027 =============================================
0028 
0029 The kernel knows three kinds of options on its command line:
0030 
0031   1) kernel options
0032   2) environment settings
0033   3) arguments for init
0034 
0035 To which of these classes an argument belongs is determined as
0036 follows: If the option is known to the kernel itself, i.e. if the name
0037 (the part before the '=') or, in some cases, the whole argument string
0038 is known to the kernel, it belongs to class 1. Otherwise, if the
0039 argument contains an '=', it is of class 2, and the definition is put
0040 into init's environment. All other arguments are passed to init as
0041 command line options.
0042 
0043 This document describes the valid kernel options for Linux/m68k in
0044 the version mentioned at the start of this file. Later revisions may
0045 add new such options, and some may be missing in older versions.
0046 
0047 In general, the value (the part after the '=') of an option is a
0048 list of values separated by commas. The interpretation of these values
0049 is up to the driver that "owns" the option. This association of
0050 options with drivers is also the reason that some are further
0051 subdivided.
0052 
0053 
0054 2) General Kernel Options
0055 =========================
0056 
0057 2.1) root=
0058 ----------
0059 
0060 :Syntax: root=/dev/<device>
0061 :or:     root=<hex_number>
0062 
0063 This tells the kernel which device it should mount as the root
0064 filesystem. The device must be a block device with a valid filesystem
0065 on it.
0066 
0067 The first syntax gives the device by name. These names are converted
0068 into a major/minor number internally in the kernel in an unusual way.
0069 Normally, this "conversion" is done by the device files in /dev, but
0070 this isn't possible here, because the root filesystem (with /dev)
0071 isn't mounted yet... So the kernel parses the name itself, with some
0072 hardcoded name to number mappings. The name must always be a
0073 combination of two or three letters, followed by a decimal number.
0074 Valid names are::
0075 
0076   /dev/ram: -> 0x0100 (initial ramdisk)
0077   /dev/hda: -> 0x0300 (first IDE disk)
0078   /dev/hdb: -> 0x0340 (second IDE disk)
0079   /dev/sda: -> 0x0800 (first SCSI disk)
0080   /dev/sdb: -> 0x0810 (second SCSI disk)
0081   /dev/sdc: -> 0x0820 (third SCSI disk)
0082   /dev/sdd: -> 0x0830 (forth SCSI disk)
0083   /dev/sde: -> 0x0840 (fifth SCSI disk)
0084   /dev/fd : -> 0x0200 (floppy disk)
0085 
0086 The name must be followed by a decimal number, that stands for the
0087 partition number. Internally, the value of the number is just
0088 added to the device number mentioned in the table above. The
0089 exceptions are /dev/ram and /dev/fd, where /dev/ram refers to an
0090 initial ramdisk loaded by your bootstrap program (please consult the
0091 instructions for your bootstrap program to find out how to load an
0092 initial ramdisk). As of kernel version 2.0.18 you must specify
0093 /dev/ram as the root device if you want to boot from an initial
0094 ramdisk. For the floppy devices, /dev/fd, the number stands for the
0095 floppy drive number (there are no partitions on floppy disks). I.e.,
0096 /dev/fd0 stands for the first drive, /dev/fd1 for the second, and so
0097 on. Since the number is just added, you can also force the disk format
0098 by adding a number greater than 3. If you look into your /dev
0099 directory, use can see the /dev/fd0D720 has major 2 and minor 16. You
0100 can specify this device for the root FS by writing "root=/dev/fd16" on
0101 the kernel command line.
0102 
0103 [Strange and maybe uninteresting stuff ON]
0104 
0105 This unusual translation of device names has some strange
0106 consequences: If, for example, you have a symbolic link from /dev/fd
0107 to /dev/fd0D720 as an abbreviation for floppy driver #0 in DD format,
0108 you cannot use this name for specifying the root device, because the
0109 kernel cannot see this symlink before mounting the root FS and it
0110 isn't in the table above. If you use it, the root device will not be
0111 set at all, without an error message. Another example: You cannot use a
0112 partition on e.g. the sixth SCSI disk as the root filesystem, if you
0113 want to specify it by name. This is, because only the devices up to
0114 /dev/sde are in the table above, but not /dev/sdf. Although, you can
0115 use the sixth SCSI disk for the root FS, but you have to specify the
0116 device by number... (see below). Or, even more strange, you can use the
0117 fact that there is no range checking of the partition number, and your
0118 knowledge that each disk uses 16 minors, and write "root=/dev/sde17"
0119 (for /dev/sdf1).
0120 
0121 [Strange and maybe uninteresting stuff OFF]
0122 
0123 If the device containing your root partition isn't in the table
0124 above, you can also specify it by major and minor numbers. These are
0125 written in hex, with no prefix and no separator between. E.g., if you
0126 have a CD with contents appropriate as a root filesystem in the first
0127 SCSI CD-ROM drive, you boot from it by "root=0b00". Here, hex "0b" =
0128 decimal 11 is the major of SCSI CD-ROMs, and the minor 0 stands for
0129 the first of these. You can find out all valid major numbers by
0130 looking into include/linux/major.h.
0131 
0132 In addition to major and minor numbers, if the device containing your
0133 root partition uses a partition table format with unique partition
0134 identifiers, then you may use them.  For instance,
0135 "root=PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF".  It is also
0136 possible to reference another partition on the same device using a
0137 known partition UUID as the starting point.  For example,
0138 if partition 5 of the device has the UUID of
0139 00112233-4455-6677-8899-AABBCCDDEEFF then partition 3 may be found as
0140 follows:
0141 
0142   PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF/PARTNROFF=-2
0143 
0144 Authoritative information can be found in
0145 "Documentation/admin-guide/kernel-parameters.rst".
0146 
0147 
0148 2.2) ro, rw
0149 -----------
0150 
0151 :Syntax: ro
0152 :or:     rw
0153 
0154 These two options tell the kernel whether it should mount the root
0155 filesystem read-only or read-write. The default is read-only, except
0156 for ramdisks, which default to read-write.
0157 
0158 
0159 2.3) debug
0160 ----------
0161 
0162 :Syntax: debug
0163 
0164 This raises the kernel log level to 10 (the default is 7). This is the
0165 same level as set by the "dmesg" command, just that the maximum level
0166 selectable by dmesg is 8.
0167 
0168 
0169 2.4) debug=
0170 -----------
0171 
0172 :Syntax: debug=<device>
0173 
0174 This option causes certain kernel messages be printed to the selected
0175 debugging device. This can aid debugging the kernel, since the
0176 messages can be captured and analyzed on some other machine. Which
0177 devices are possible depends on the machine type. There are no checks
0178 for the validity of the device name. If the device isn't implemented,
0179 nothing happens.
0180 
0181 Messages logged this way are in general stack dumps after kernel
0182 memory faults or bad kernel traps, and kernel panics. To be exact: all
0183 messages of level 0 (panic messages) and all messages printed while
0184 the log level is 8 or more (their level doesn't matter). Before stack
0185 dumps, the kernel sets the log level to 10 automatically. A level of
0186 at least 8 can also be set by the "debug" command line option (see
0187 2.3) and at run time with "dmesg -n 8".
0188 
0189 Devices possible for Amiga:
0190 
0191  - "ser":
0192           built-in serial port; parameters: 9600bps, 8N1
0193  - "mem":
0194           Save the messages to a reserved area in chip mem. After
0195           rebooting, they can be read under AmigaOS with the tool
0196           'dmesg'.
0197 
0198 Devices possible for Atari:
0199 
0200  - "ser1":
0201            ST-MFP serial port ("Modem1"); parameters: 9600bps, 8N1
0202  - "ser2":
0203            SCC channel B serial port ("Modem2"); parameters: 9600bps, 8N1
0204  - "ser" :
0205            default serial port
0206            This is "ser2" for a Falcon, and "ser1" for any other machine
0207  - "midi":
0208            The MIDI port; parameters: 31250bps, 8N1
0209  - "par" :
0210            parallel port
0211 
0212            The printing routine for this implements a timeout for the
0213            case there's no printer connected (else the kernel would
0214            lock up). The timeout is not exact, but usually a few
0215            seconds.
0216 
0217 
0218 2.6) ramdisk_size=
0219 ------------------
0220 
0221 :Syntax: ramdisk_size=<size>
0222 
0223 This option instructs the kernel to set up a ramdisk of the given
0224 size in KBytes. Do not use this option if the ramdisk contents are
0225 passed by bootstrap! In this case, the size is selected automatically
0226 and should not be overwritten.
0227 
0228 The only application is for root filesystems on floppy disks, that
0229 should be loaded into memory. To do that, select the corresponding
0230 size of the disk as ramdisk size, and set the root device to the disk
0231 drive (with "root=").
0232 
0233 
0234 2.7) swap=
0235 
0236   I can't find any sign of this option in 2.2.6.
0237 
0238 2.8) buff=
0239 -----------
0240 
0241   I can't find any sign of this option in 2.2.6.
0242 
0243 
0244 3) General Device Options (Amiga and Atari)
0245 ===========================================
0246 
0247 3.1) ether=
0248 -----------
0249 
0250 :Syntax: ether=[<irq>[,<base_addr>[,<mem_start>[,<mem_end>]]]],<dev-name>
0251 
0252 <dev-name> is the name of a net driver, as specified in
0253 drivers/net/Space.c in the Linux source. Most prominent are eth0, ...
0254 eth3, sl0, ... sl3, ppp0, ..., ppp3, dummy, and lo.
0255 
0256 The non-ethernet drivers (sl, ppp, dummy, lo) obviously ignore the
0257 settings by this options. Also, the existing ethernet drivers for
0258 Linux/m68k (ariadne, a2065, hydra) don't use them because Zorro boards
0259 are really Plug-'n-Play, so the "ether=" option is useless altogether
0260 for Linux/m68k.
0261 
0262 
0263 3.2) hd=
0264 --------
0265 
0266 :Syntax: hd=<cylinders>,<heads>,<sectors>
0267 
0268 This option sets the disk geometry of an IDE disk. The first hd=
0269 option is for the first IDE disk, the second for the second one.
0270 (I.e., you can give this option twice.) In most cases, you won't have
0271 to use this option, since the kernel can obtain the geometry data
0272 itself. It exists just for the case that this fails for one of your
0273 disks.
0274 
0275 
0276 3.3) max_scsi_luns=
0277 -------------------
0278 
0279 :Syntax: max_scsi_luns=<n>
0280 
0281 Sets the maximum number of LUNs (logical units) of SCSI devices to
0282 be scanned. Valid values for <n> are between 1 and 8. Default is 8 if
0283 "Probe all LUNs on each SCSI device" was selected during the kernel
0284 configuration, else 1.
0285 
0286 
0287 3.4) st=
0288 --------
0289 
0290 :Syntax: st=<buffer_size>,[<write_thres>,[<max_buffers>]]
0291 
0292 Sets several parameters of the SCSI tape driver. <buffer_size> is
0293 the number of 512-byte buffers reserved for tape operations for each
0294 device. <write_thres> sets the number of blocks which must be filled
0295 to start an actual write operation to the tape. Maximum value is the
0296 total number of buffers. <max_buffer> limits the total number of
0297 buffers allocated for all tape devices.
0298 
0299 
0300 3.5) dmasound=
0301 --------------
0302 
0303 :Syntax: dmasound=[<buffers>,<buffer-size>[,<catch-radius>]]
0304 
0305 This option controls some configurations of the Linux/m68k DMA sound
0306 driver (Amiga and Atari): <buffers> is the number of buffers you want
0307 to use (minimum 4, default 4), <buffer-size> is the size of each
0308 buffer in kilobytes (minimum 4, default 32) and <catch-radius> says
0309 how much percent of error will be tolerated when setting a frequency
0310 (maximum 10, default 0). For example with 3% you can play 8000Hz
0311 AU-Files on the Falcon with its hardware frequency of 8195Hz and thus
0312 don't need to expand the sound.
0313 
0314 
0315 
0316 4) Options for Atari Only
0317 =========================
0318 
0319 4.1) video=
0320 -----------
0321 
0322 :Syntax: video=<fbname>:<sub-options...>
0323 
0324 The <fbname> parameter specifies the name of the frame buffer,
0325 eg. most atari users will want to specify `atafb` here. The
0326 <sub-options> is a comma-separated list of the sub-options listed
0327 below.
0328 
0329 NB:
0330     Please notice that this option was renamed from `atavideo` to
0331     `video` during the development of the 1.3.x kernels, thus you
0332     might need to update your boot-scripts if upgrading to 2.x from
0333     an 1.2.x kernel.
0334 
0335 NBB:
0336     The behavior of video= was changed in 2.1.57 so the recommended
0337     option is to specify the name of the frame buffer.
0338 
0339 4.1.1) Video Mode
0340 -----------------
0341 
0342 This sub-option may be any of the predefined video modes, as listed
0343 in atari/atafb.c in the Linux/m68k source tree. The kernel will
0344 activate the given video mode at boot time and make it the default
0345 mode, if the hardware allows. Currently defined names are:
0346 
0347  - stlow           : 320x200x4
0348  - stmid, default5 : 640x200x2
0349  - sthigh, default4: 640x400x1
0350  - ttlow           : 320x480x8, TT only
0351  - ttmid, default1 : 640x480x4, TT only
0352  - tthigh, default2: 1280x960x1, TT only
0353  - vga2            : 640x480x1, Falcon only
0354  - vga4            : 640x480x2, Falcon only
0355  - vga16, default3 : 640x480x4, Falcon only
0356  - vga256          : 640x480x8, Falcon only
0357  - falh2           : 896x608x1, Falcon only
0358  - falh16          : 896x608x4, Falcon only
0359 
0360 If no video mode is given on the command line, the kernel tries the
0361 modes names "default<n>" in turn, until one is possible with the
0362 hardware in use.
0363 
0364 A video mode setting doesn't make sense, if the external driver is
0365 activated by a "external:" sub-option.
0366 
0367 4.1.2) inverse
0368 --------------
0369 
0370 Invert the display. This affects only text consoles.
0371 Usually, the background is chosen to be black. With this
0372 option, you can make the background white.
0373 
0374 4.1.3) font
0375 -----------
0376 
0377 :Syntax: font:<fontname>
0378 
0379 Specify the font to use in text modes. Currently you can choose only
0380 between `VGA8x8`, `VGA8x16` and `PEARL8x8`. `VGA8x8` is default, if the
0381 vertical size of the display is less than 400 pixel rows. Otherwise, the
0382 `VGA8x16` font is the default.
0383 
0384 4.1.4) `hwscroll_`
0385 ------------------
0386 
0387 :Syntax: `hwscroll_<n>`
0388 
0389 The number of additional lines of video memory to reserve for
0390 speeding up the scrolling ("hardware scrolling"). Hardware scrolling
0391 is possible only if the kernel can set the video base address in steps
0392 fine enough. This is true for STE, MegaSTE, TT, and Falcon. It is not
0393 possible with plain STs and graphics cards (The former because the
0394 base address must be on a 256 byte boundary there, the latter because
0395 the kernel doesn't know how to set the base address at all.)
0396 
0397 By default, <n> is set to the number of visible text lines on the
0398 display. Thus, the amount of video memory is doubled, compared to no
0399 hardware scrolling. You can turn off the hardware scrolling altogether
0400 by setting <n> to 0.
0401 
0402 4.1.5) internal:
0403 ----------------
0404 
0405 :Syntax: internal:<xres>;<yres>[;<xres_max>;<yres_max>;<offset>]
0406 
0407 This option specifies the capabilities of some extended internal video
0408 hardware, like e.g. OverScan. <xres> and <yres> give the (extended)
0409 dimensions of the screen.
0410 
0411 If your OverScan needs a black border, you have to write the last
0412 three arguments of the "internal:". <xres_max> is the maximum line
0413 length the hardware allows, <yres_max> the maximum number of lines.
0414 <offset> is the offset of the visible part of the screen memory to its
0415 physical start, in bytes.
0416 
0417 Often, extended interval video hardware has to be activated somehow.
0418 For this, see the "sw_*" options below.
0419 
0420 4.1.6) external:
0421 ----------------
0422 
0423 :Syntax:
0424   external:<xres>;<yres>;<depth>;<org>;<scrmem>[;<scrlen>[;<vgabase>
0425   [;<colw>[;<coltype>[;<xres_virtual>]]]]]
0426 
0427 .. I had to break this line...
0428 
0429 This is probably the most complicated parameter... It specifies that
0430 you have some external video hardware (a graphics board), and how to
0431 use it under Linux/m68k. The kernel cannot know more about the hardware
0432 than you tell it here! The kernel also is unable to set or change any
0433 video modes, since it doesn't know about any board internal. So, you
0434 have to switch to that video mode before you start Linux, and cannot
0435 switch to another mode once Linux has started.
0436 
0437 The first 3 parameters of this sub-option should be obvious: <xres>,
0438 <yres> and <depth> give the dimensions of the screen and the number of
0439 planes (depth). The depth is the logarithm to base 2 of the number
0440 of colors possible. (Or, the other way round: The number of colors is
0441 2^depth).
0442 
0443 You have to tell the kernel furthermore how the video memory is
0444 organized. This is done by a letter as <org> parameter:
0445 
0446  'n':
0447       "normal planes", i.e. one whole plane after another
0448  'i':
0449       "interleaved planes", i.e. 16 bit of the first plane, than 16 bit
0450       of the next, and so on... This mode is used only with the
0451       built-in Atari video modes, I think there is no card that
0452       supports this mode.
0453  'p':
0454       "packed pixels", i.e. <depth> consecutive bits stand for all
0455       planes of one pixel; this is the most common mode for 8 planes
0456       (256 colors) on graphic cards
0457  't':
0458       "true color" (more or less packed pixels, but without a color
0459       lookup table); usually depth is 24
0460 
0461 For monochrome modes (i.e., <depth> is 1), the <org> letter has a
0462 different meaning:
0463 
0464  'n':
0465       normal colors, i.e. 0=white, 1=black
0466  'i':
0467       inverted colors, i.e. 0=black, 1=white
0468 
0469 The next important information about the video hardware is the base
0470 address of the video memory. That is given in the <scrmem> parameter,
0471 as a hexadecimal number with a "0x" prefix. You have to find out this
0472 address in the documentation of your hardware.
0473 
0474 The next parameter, <scrlen>, tells the kernel about the size of the
0475 video memory. If it's missing, the size is calculated from <xres>,
0476 <yres>, and <depth>. For now, it is not useful to write a value here.
0477 It would be used only for hardware scrolling (which isn't possible
0478 with the external driver, because the kernel cannot set the video base
0479 address), or for virtual resolutions under X (which the X server
0480 doesn't support yet). So, it's currently best to leave this field
0481 empty, either by ending the "external:" after the video address or by
0482 writing two consecutive semicolons, if you want to give a <vgabase>
0483 (it is allowed to leave this parameter empty).
0484 
0485 The <vgabase> parameter is optional. If it is not given, the kernel
0486 cannot read or write any color registers of the video hardware, and
0487 thus you have to set appropriate colors before you start Linux. But if
0488 your card is somehow VGA compatible, you can tell the kernel the base
0489 address of the VGA register set, so it can change the color lookup
0490 table. You have to look up this address in your board's documentation.
0491 To avoid misunderstandings: <vgabase> is the _base_ address, i.e. a 4k
0492 aligned address. For read/writing the color registers, the kernel
0493 uses the addresses vgabase+0x3c7...vgabase+0x3c9. The <vgabase>
0494 parameter is written in hexadecimal with a "0x" prefix, just as
0495 <scrmem>.
0496 
0497 <colw> is meaningful only if <vgabase> is specified. It tells the
0498 kernel how wide each of the color register is, i.e. the number of bits
0499 per single color (red/green/blue). Default is 6, another quite usual
0500 value is 8.
0501 
0502 Also <coltype> is used together with <vgabase>. It tells the kernel
0503 about the color register model of your gfx board. Currently, the types
0504 "vga" (which is also the default) and "mv300" (SANG MV300) are
0505 implemented.
0506 
0507 Parameter <xres_virtual> is required for ProMST or ET4000 cards where
0508 the physical linelength differs from the visible length. With ProMST,
0509 xres_virtual must be set to 2048. For ET4000, xres_virtual depends on the
0510 initialisation of the video-card.
0511 If you're missing a corresponding yres_virtual: the external part is legacy,
0512 therefore we don't support hardware-dependent functions like hardware-scroll,
0513 panning or blanking.
0514 
0515 4.1.7) eclock:
0516 --------------
0517 
0518 The external pixel clock attached to the Falcon VIDEL shifter. This
0519 currently works only with the ScreenWonder!
0520 
0521 4.1.8) monitorcap:
0522 -------------------
0523 
0524 :Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
0525 
0526 This describes the capabilities of a multisync monitor. Don't use it
0527 with a fixed-frequency monitor! For now, only the Falcon frame buffer
0528 uses the settings of "monitorcap:".
0529 
0530 <vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
0531 your monitor can work with, in Hz. <hmin> and <hmax> are the same for
0532 the horizontal frequency, in kHz.
0533 
0534   The defaults are 58;62;31;32 (VGA compatible).
0535 
0536   The defaults for TV/SC1224/SC1435 cover both PAL and NTSC standards.
0537 
0538 4.1.9) keep
0539 ------------
0540 
0541 If this option is given, the framebuffer device doesn't do any video
0542 mode calculations and settings on its own. The only Atari fb device
0543 that does this currently is the Falcon.
0544 
0545 What you reach with this: Settings for unknown video extensions
0546 aren't overridden by the driver, so you can still use the mode found
0547 when booting, when the driver doesn't know to set this mode itself.
0548 But this also means, that you can't switch video modes anymore...
0549 
0550 An example where you may want to use "keep" is the ScreenBlaster for
0551 the Falcon.
0552 
0553 
0554 4.2) atamouse=
0555 --------------
0556 
0557 :Syntax: atamouse=<x-threshold>,[<y-threshold>]
0558 
0559 With this option, you can set the mouse movement reporting threshold.
0560 This is the number of pixels of mouse movement that have to accumulate
0561 before the IKBD sends a new mouse packet to the kernel. Higher values
0562 reduce the mouse interrupt load and thus reduce the chance of keyboard
0563 overruns. Lower values give a slightly faster mouse responses and
0564 slightly better mouse tracking.
0565 
0566 You can set the threshold in x and y separately, but usually this is
0567 of little practical use. If there's just one number in the option, it
0568 is used for both dimensions. The default value is 2 for both
0569 thresholds.
0570 
0571 
0572 4.3) ataflop=
0573 -------------
0574 
0575 :Syntax: ataflop=<drive type>[,<trackbuffering>[,<steprateA>[,<steprateB>]]]
0576 
0577    The drive type may be 0, 1, or 2, for DD, HD, and ED, resp. This
0578    setting affects how many buffers are reserved and which formats are
0579    probed (see also below). The default is 1 (HD). Only one drive type
0580    can be selected. If you have two disk drives, select the "better"
0581    type.
0582 
0583    The second parameter <trackbuffer> tells the kernel whether to use
0584    track buffering (1) or not (0). The default is machine-dependent:
0585    no for the Medusa and yes for all others.
0586 
0587    With the two following parameters, you can change the default
0588    steprate used for drive A and B, resp.
0589 
0590 
0591 4.4) atascsi=
0592 -------------
0593 
0594 :Syntax: atascsi=<can_queue>[,<cmd_per_lun>[,<scat-gat>[,<host-id>[,<tagged>]]]]
0595 
0596 This option sets some parameters for the Atari native SCSI driver.
0597 Generally, any number of arguments can be omitted from the end. And
0598 for each of the numbers, a negative value means "use default". The
0599 defaults depend on whether TT-style or Falcon-style SCSI is used.
0600 Below, defaults are noted as n/m, where the first value refers to
0601 TT-SCSI and the latter to Falcon-SCSI. If an illegal value is given
0602 for one parameter, an error message is printed and that one setting is
0603 ignored (others aren't affected).
0604 
0605   <can_queue>:
0606     This is the maximum number of SCSI commands queued internally to the
0607     Atari SCSI driver. A value of 1 effectively turns off the driver
0608     internal multitasking (if it causes problems). Legal values are >=
0609     1. <can_queue> can be as high as you like, but values greater than
0610     <cmd_per_lun> times the number of SCSI targets (LUNs) you have
0611     don't make sense. Default: 16/8.
0612 
0613   <cmd_per_lun>:
0614     Maximum number of SCSI commands issued to the driver for one
0615     logical unit (LUN, usually one SCSI target). Legal values start
0616     from 1. If tagged queuing (see below) is not used, values greater
0617     than 2 don't make sense, but waste memory. Otherwise, the maximum
0618     is the number of command tags available to the driver (currently
0619     32). Default: 8/1. (Note: Values > 1 seem to cause problems on a
0620     Falcon, cause not yet known.)
0621 
0622     The <cmd_per_lun> value at a great part determines the amount of
0623     memory SCSI reserves for itself. The formula is rather
0624     complicated, but I can give you some hints:
0625 
0626       no scatter-gather:
0627         cmd_per_lun * 232 bytes
0628       full scatter-gather:
0629         cmd_per_lun * approx. 17 Kbytes
0630 
0631   <scat-gat>:
0632     Size of the scatter-gather table, i.e. the number of requests
0633     consecutive on the disk that can be merged into one SCSI command.
0634     Legal values are between 0 and 255. Default: 255/0. Note: This
0635     value is forced to 0 on a Falcon, since scatter-gather isn't
0636     possible with the ST-DMA. Not using scatter-gather hurts
0637     performance significantly.
0638 
0639   <host-id>:
0640     The SCSI ID to be used by the initiator (your Atari). This is
0641     usually 7, the highest possible ID. Every ID on the SCSI bus must
0642     be unique. Default: determined at run time: If the NV-RAM checksum
0643     is valid, and bit 7 in byte 30 of the NV-RAM is set, the lower 3
0644     bits of this byte are used as the host ID. (This method is defined
0645     by Atari and also used by some TOS HD drivers.) If the above
0646     isn't given, the default ID is 7. (both, TT and Falcon).
0647 
0648   <tagged>:
0649     0 means turn off tagged queuing support, all other values > 0 mean
0650     use tagged queuing for targets that support it. Default: currently
0651     off, but this may change when tagged queuing handling has been
0652     proved to be reliable.
0653 
0654     Tagged queuing means that more than one command can be issued to
0655     one LUN, and the SCSI device itself orders the requests so they
0656     can be performed in optimal order. Not all SCSI devices support
0657     tagged queuing (:-().
0658 
0659 4.5 switches=
0660 -------------
0661 
0662 :Syntax: switches=<list of switches>
0663 
0664 With this option you can switch some hardware lines that are often
0665 used to enable/disable certain hardware extensions. Examples are
0666 OverScan, overclocking, ...
0667 
0668 The <list of switches> is a comma-separated list of the following
0669 items:
0670 
0671   ikbd:
0672         set RTS of the keyboard ACIA high
0673   midi:
0674         set RTS of the MIDI ACIA high
0675   snd6:
0676         set bit 6 of the PSG port A
0677   snd7:
0678         set bit 6 of the PSG port A
0679 
0680 It doesn't make sense to mention a switch more than once (no
0681 difference to only once), but you can give as many switches as you
0682 want to enable different features. The switch lines are set as early
0683 as possible during kernel initialization (even before determining the
0684 present hardware.)
0685 
0686 All of the items can also be prefixed with `ov_`, i.e. `ov_ikbd`,
0687 `ov_midi`, ... These options are meant for switching on an OverScan
0688 video extension. The difference to the bare option is that the
0689 switch-on is done after video initialization, and somehow synchronized
0690 to the HBLANK. A speciality is that ov_ikbd and ov_midi are switched
0691 off before rebooting, so that OverScan is disabled and TOS boots
0692 correctly.
0693 
0694 If you give an option both, with and without the `ov_` prefix, the
0695 earlier initialization (`ov_`-less) takes precedence. But the
0696 switching-off on reset still happens in this case.
0697 
0698 5) Options for Amiga Only:
0699 ==========================
0700 
0701 5.1) video=
0702 -----------
0703 
0704 :Syntax: video=<fbname>:<sub-options...>
0705 
0706 The <fbname> parameter specifies the name of the frame buffer, valid
0707 options are `amifb`, `cyber`, 'virge', `retz3` and `clgen`, provided
0708 that the respective frame buffer devices have been compiled into the
0709 kernel (or compiled as loadable modules). The behavior of the <fbname>
0710 option was changed in 2.1.57 so it is now recommended to specify this
0711 option.
0712 
0713 The <sub-options> is a comma-separated list of the sub-options listed
0714 below. This option is organized similar to the Atari version of the
0715 "video"-option (4.1), but knows fewer sub-options.
0716 
0717 5.1.1) video mode
0718 -----------------
0719 
0720 Again, similar to the video mode for the Atari (see 4.1.1). Predefined
0721 modes depend on the used frame buffer device.
0722 
0723 OCS, ECS and AGA machines all use the color frame buffer. The following
0724 predefined video modes are available:
0725 
0726 NTSC modes:
0727  - ntsc            : 640x200, 15 kHz, 60 Hz
0728  - ntsc-lace       : 640x400, 15 kHz, 60 Hz interlaced
0729 
0730 PAL modes:
0731  - pal             : 640x256, 15 kHz, 50 Hz
0732  - pal-lace        : 640x512, 15 kHz, 50 Hz interlaced
0733 
0734 ECS modes:
0735  - multiscan       : 640x480, 29 kHz, 57 Hz
0736  - multiscan-lace  : 640x960, 29 kHz, 57 Hz interlaced
0737  - euro36          : 640x200, 15 kHz, 72 Hz
0738  - euro36-lace     : 640x400, 15 kHz, 72 Hz interlaced
0739  - euro72          : 640x400, 29 kHz, 68 Hz
0740  - euro72-lace     : 640x800, 29 kHz, 68 Hz interlaced
0741  - super72         : 800x300, 23 kHz, 70 Hz
0742  - super72-lace    : 800x600, 23 kHz, 70 Hz interlaced
0743  - dblntsc-ff      : 640x400, 27 kHz, 57 Hz
0744  - dblntsc-lace    : 640x800, 27 kHz, 57 Hz interlaced
0745  - dblpal-ff       : 640x512, 27 kHz, 47 Hz
0746  - dblpal-lace     : 640x1024, 27 kHz, 47 Hz interlaced
0747  - dblntsc         : 640x200, 27 kHz, 57 Hz doublescan
0748  - dblpal          : 640x256, 27 kHz, 47 Hz doublescan
0749 
0750 VGA modes:
0751  - vga             : 640x480, 31 kHz, 60 Hz
0752  - vga70           : 640x400, 31 kHz, 70 Hz
0753 
0754 Please notice that the ECS and VGA modes require either an ECS or AGA
0755 chipset, and that these modes are limited to 2-bit color for the ECS
0756 chipset and 8-bit color for the AGA chipset.
0757 
0758 5.1.2) depth
0759 ------------
0760 
0761 :Syntax: depth:<nr. of bit-planes>
0762 
0763 Specify the number of bit-planes for the selected video-mode.
0764 
0765 5.1.3) inverse
0766 --------------
0767 
0768 Use inverted display (black on white). Functionally the same as the
0769 "inverse" sub-option for the Atari.
0770 
0771 5.1.4) font
0772 -----------
0773 
0774 :Syntax: font:<fontname>
0775 
0776 Specify the font to use in text modes. Functionally the same as the
0777 "font" sub-option for the Atari, except that `PEARL8x8` is used instead
0778 of `VGA8x8` if the vertical size of the display is less than 400 pixel
0779 rows.
0780 
0781 5.1.5) monitorcap:
0782 -------------------
0783 
0784 :Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
0785 
0786 This describes the capabilities of a multisync monitor. For now, only
0787 the color frame buffer uses the settings of "monitorcap:".
0788 
0789 <vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
0790 your monitor can work with, in Hz. <hmin> and <hmax> are the same for
0791 the horizontal frequency, in kHz.
0792 
0793 The defaults are 50;90;15;38 (Generic Amiga multisync monitor).
0794 
0795 
0796 5.2) fd_def_df0=
0797 ----------------
0798 
0799 :Syntax: fd_def_df0=<value>
0800 
0801 Sets the df0 value for "silent" floppy drives. The value should be in
0802 hexadecimal with "0x" prefix.
0803 
0804 
0805 5.3) wd33c93=
0806 -------------
0807 
0808 :Syntax: wd33c93=<sub-options...>
0809 
0810 These options affect the A590/A2091, A3000 and GVP Series II SCSI
0811 controllers.
0812 
0813 The <sub-options> is a comma-separated list of the sub-options listed
0814 below.
0815 
0816 5.3.1) nosync
0817 -------------
0818 
0819 :Syntax: nosync:bitmask
0820 
0821 bitmask is a byte where the 1st 7 bits correspond with the 7
0822 possible SCSI devices. Set a bit to prevent sync negotiation on that
0823 device. To maintain backwards compatibility, a command-line such as
0824 "wd33c93=255" will be automatically translated to
0825 "wd33c93=nosync:0xff". The default is to disable sync negotiation for
0826 all devices, eg. nosync:0xff.
0827 
0828 5.3.2) period
0829 -------------
0830 
0831 :Syntax: period:ns
0832 
0833 `ns` is the minimum # of nanoseconds in a SCSI data transfer
0834 period. Default is 500; acceptable values are 250 - 1000.
0835 
0836 5.3.3) disconnect
0837 -----------------
0838 
0839 :Syntax: disconnect:x
0840 
0841 Specify x = 0 to never allow disconnects, 2 to always allow them.
0842 x = 1 does 'adaptive' disconnects, which is the default and generally
0843 the best choice.
0844 
0845 5.3.4) debug
0846 ------------
0847 
0848 :Syntax: debug:x
0849 
0850 If `DEBUGGING_ON` is defined, x is a bit mask that causes various
0851 types of debug output to printed - see the DB_xxx defines in
0852 wd33c93.h.
0853 
0854 5.3.5) clock
0855 ------------
0856 
0857 :Syntax: clock:x
0858 
0859 x = clock input in MHz for WD33c93 chip. Normal values would be from
0860 8 through 20. The default value depends on your hostadapter(s),
0861 default for the A3000 internal controller is 14, for the A2091 it's 8
0862 and for the GVP hostadapters it's either 8 or 14, depending on the
0863 hostadapter and the SCSI-clock jumper present on some GVP
0864 hostadapters.
0865 
0866 5.3.6) next
0867 -----------
0868 
0869 No argument. Used to separate blocks of keywords when there's more
0870 than one wd33c93-based host adapter in the system.
0871 
0872 5.3.7) nodma
0873 ------------
0874 
0875 :Syntax: nodma:x
0876 
0877 If x is 1 (or if the option is just written as "nodma"), the WD33c93
0878 controller will not use DMA (= direct memory access) to access the
0879 Amiga's memory.  This is useful for some systems (like A3000's and
0880 A4000's with the A3640 accelerator, revision 3.0) that have problems
0881 using DMA to chip memory.  The default is 0, i.e. to use DMA if
0882 possible.
0883 
0884 
0885 5.4) gvp11=
0886 -----------
0887 
0888 :Syntax: gvp11=<addr-mask>
0889 
0890 The earlier versions of the GVP driver did not handle DMA
0891 address-mask settings correctly which made it necessary for some
0892 people to use this option, in order to get their GVP controller
0893 running under Linux. These problems have hopefully been solved and the
0894 use of this option is now highly unrecommended!
0895 
0896 Incorrect use can lead to unpredictable behavior, so please only use
0897 this option if you *know* what you are doing and have a reason to do
0898 so. In any case if you experience problems and need to use this
0899 option, please inform us about it by mailing to the Linux/68k kernel
0900 mailing list.
0901 
0902 The address mask set by this option specifies which addresses are
0903 valid for DMA with the GVP Series II SCSI controller. An address is
0904 valid, if no bits are set except the bits that are set in the mask,
0905 too.
0906 
0907 Some versions of the GVP can only DMA into a 24 bit address range,
0908 some can address a 25 bit address range while others can use the whole
0909 32 bit address range for DMA. The correct setting depends on your
0910 controller and should be autodetected by the driver. An example is the
0911 24 bit region which is specified by a mask of 0x00fffffe.