cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

kernel-options.rst (33123B)


      1===================================
      2Command Line Options for Linux/m68k
      3===================================
      4
      5Last Update: 2 May 1999
      6
      7Linux/m68k version: 2.2.6
      8
      9Author: Roman.Hodek@informatik.uni-erlangen.de (Roman Hodek)
     10
     11Update: jds@kom.auc.dk (Jes Sorensen) and faq@linux-m68k.org (Chris Lawrence)
     12
     130) Introduction
     14===============
     15
     16Often I've been asked which command line options the Linux/m68k
     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
     21Note that some options might be outdated, their descriptions being
     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
     43This document describes the valid kernel options for Linux/m68k in
     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
     47In general, the value (the part after the '=') of an option is a
     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
     60:Syntax: root=/dev/<device>
     61:or:     root=<hex_number>
     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
     67The first syntax gives the device by name. These names are converted
     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.
     74Valid names are::
     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)
     85
     86The name must be followed by a decimal number, that stands for the
     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
    105This unusual translation of device names has some strange
    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
    110isn't in the table above. If you use it, the root device will not be
    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
    123If the device containing your root partition isn't in the table
    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
    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:
    141
    142  PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF/PARTNROFF=-2
    143
    144Authoritative information can be found in
    145"Documentation/admin-guide/kernel-parameters.rst".
    146
    147
    1482.2) ro, rw
    149-----------
    150
    151:Syntax: ro
    152:or:     rw
    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
    162:Syntax: debug
    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
    172:Syntax: debug=<device>
    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
    181Messages logged this way are in general stack dumps after kernel
    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
    191 - "ser":
    192	  built-in serial port; parameters: 9600bps, 8N1
    193 - "mem":
    194	  Save the messages to a reserved area in chip mem. After
    195          rebooting, they can be read under AmigaOS with the tool
    196          'dmesg'.
    197
    198Devices possible for Atari:
    199
    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
    206           This is "ser2" for a Falcon, and "ser1" for any other machine
    207 - "midi":
    208	   The MIDI port; parameters: 31250bps, 8N1
    209 - "par" :
    210	   parallel port
    211
    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
    2182.6) ramdisk_size=
    219------------------
    220
    221:Syntax: ramdisk_size=<size>
    222
    223This option instructs the kernel to set up a ramdisk of the given
    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
    228The only application is for root filesystems on floppy disks, that
    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=
    235
    236  I can't find any sign of this option in 2.2.6.
    237
    2382.8) buff=
    239-----------
    240
    241  I can't find any sign of this option in 2.2.6.
    242
    243
    2443) General Device Options (Amiga and Atari)
    245===========================================
    246
    2473.1) ether=
    248-----------
    249
    250:Syntax: ether=[<irq>[,<base_addr>[,<mem_start>[,<mem_end>]]]],<dev-name>
    251
    252<dev-name> is the name of a net driver, as specified in
    253drivers/net/Space.c in the Linux source. Most prominent are eth0, ...
    254eth3, sl0, ... sl3, ppp0, ..., ppp3, dummy, and lo.
    255
    256The non-ethernet drivers (sl, ppp, dummy, lo) obviously ignore the
    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
    266:Syntax: hd=<cylinders>,<heads>,<sectors>
    267
    268This option sets the disk geometry of an IDE disk. The first hd=
    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
    279:Syntax: max_scsi_luns=<n>
    280
    281Sets the maximum number of LUNs (logical units) of SCSI devices to
    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
    290:Syntax: st=<buffer_size>,[<write_thres>,[<max_buffers>]]
    291
    292Sets several parameters of the SCSI tape driver. <buffer_size> is
    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
    303:Syntax: dmasound=[<buffers>,<buffer-size>[,<catch-radius>]]
    304
    305This option controls some configurations of the Linux/m68k DMA sound
    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
    322:Syntax: video=<fbname>:<sub-options...>
    323
    324The <fbname> parameter specifies the name of the frame buffer,
    325eg. most atari users will want to specify `atafb` here. The
    326<sub-options> is a comma-separated list of the sub-options listed
    327below.
    328
    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
    332    might need to update your boot-scripts if upgrading to 2.x from
    333    an 1.2.x kernel.
    334
    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.
    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
    360If no video mode is given on the command line, the kernel tries the
    361modes names "default<n>" in turn, until one is possible with the
    362hardware in use.
    363
    364A video mode setting doesn't make sense, if the external driver is
    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
    377:Syntax: font:<fontname>
    378
    379Specify the font to use in text modes. Currently you can choose only
    380between `VGA8x8`, `VGA8x16` and `PEARL8x8`. `VGA8x8` is default, if the
    381vertical size of the display is less than 400 pixel rows. Otherwise, the
    382`VGA8x16` font is the default.
    383
    3844.1.4) `hwscroll_`
    385------------------
    386
    387:Syntax: `hwscroll_<n>`
    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
    397By default, <n> is set to the number of visible text lines on the
    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
    405:Syntax: internal:<xres>;<yres>[;<xres_max>;<yres_max>;<offset>]
    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
    411If your OverScan needs a black border, you have to write the last
    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
    417Often, extended interval video hardware has to be activated somehow.
    418For this, see the "sw_*" options below.
    419
    4204.1.6) external:
    421----------------
    422
    423:Syntax:
    424  external:<xres>;<yres>;<depth>;<org>;<scrmem>[;<scrlen>[;<vgabase>
    425  [;<colw>[;<coltype>[;<xres_virtual>]]]]]
    426
    427.. I had to break this line...
    428
    429This is probably the most complicated parameter... It specifies that
    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
    437The first 3 parameters of this sub-option should be obvious: <xres>,
    438<yres> and <depth> give the dimensions of the screen and the number of
    439planes (depth). The depth is the logarithm to base 2 of the number
    440of colors possible. (Or, the other way round: The number of colors is
    4412^depth).
    442
    443You have to tell the kernel furthermore how the video memory is
    444organized. This is done by a letter as <org> parameter:
    445
    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
    450      of the next, and so on... This mode is used only with the
    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
    460
    461For monochrome modes (i.e., <depth> is 1), the <org> letter has a
    462different meaning:
    463
    464 'n':
    465      normal colors, i.e. 0=white, 1=black
    466 'i':
    467      inverted colors, i.e. 0=black, 1=white
    468
    469The next important information about the video hardware is the base
    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
    474The next parameter, <scrlen>, tells the kernel about the size of the
    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
    485The <vgabase> parameter is optional. If it is not given, the kernel
    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
    497<colw> is meaningful only if <vgabase> is specified. It tells the
    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
    502Also <coltype> is used together with <vgabase>. It tells the kernel
    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
    507Parameter <xres_virtual> is required for ProMST or ET4000 cards where
    508the physical linelength differs from the visible length. With ProMST,
    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
    524:Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
    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
    530<vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
    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
    545What you reach with this: Settings for unknown video extensions
    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
    550An example where you may want to use "keep" is the ScreenBlaster for
    551the Falcon.
    552
    553
    5544.2) atamouse=
    555--------------
    556
    557:Syntax: atamouse=<x-threshold>,[<y-threshold>]
    558
    559With this option, you can set the mouse movement reporting threshold.
    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
    566You can set the threshold in x and y separately, but usually this is
    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
    575:Syntax: ataflop=<drive type>[,<trackbuffering>[,<steprateA>[,<steprateB>]]]
    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
    588   steprate used for drive A and B, resp.
    589
    590
    5914.4) atascsi=
    592-------------
    593
    594:Syntax: atascsi=<can_queue>[,<cmd_per_lun>[,<scat-gat>[,<host-id>[,<tagged>]]]]
    595
    596This option sets some parameters for the Atari native SCSI driver.
    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
    622    The <cmd_per_lun> value at a great part determines the amount of
    623    memory SCSI reserves for itself. The formula is rather
    624    complicated, but I can give you some hints:
    625
    626      no scatter-gather:
    627	cmd_per_lun * 232 bytes
    628      full scatter-gather:
    629	cmd_per_lun * approx. 17 Kbytes
    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
    6594.5 switches=
    660-------------
    661
    662:Syntax: switches=<list of switches>
    663
    664With this option you can switch some hardware lines that are often
    665used to enable/disable certain hardware extensions. Examples are
    666OverScan, overclocking, ...
    667
    668The <list of switches> is a comma-separated list of the following
    669items:
    670
    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
    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
    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
    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
    694If you give an option both, with and without the `ov_` prefix, the
    695earlier initialization (`ov_`-less) takes precedence. But the
    696switching-off on reset still happens in this case.
    697
    6985) Options for Amiga Only:
    699==========================
    700
    7015.1) video=
    702-----------
    703
    704:Syntax: video=<fbname>:<sub-options...>
    705
    706The <fbname> parameter specifies the name of the frame buffer, valid
    707options are `amifb`, `cyber`, 'virge', `retz3` and `clgen`, provided
    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
    729
    730PAL modes:
    731 - pal             : 640x256, 15 kHz, 50 Hz
    732 - pal-lace        : 640x512, 15 kHz, 50 Hz interlaced
    733
    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
    749
    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
    761:Syntax: depth:<nr. of bit-planes>
    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
    774:Syntax: font:<fontname>
    775
    776Specify the font to use in text modes. Functionally the same as the
    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
    779rows.
    780
    7815.1.5) monitorcap:
    782-------------------
    783
    784:Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
    785
    786This describes the capabilities of a multisync monitor. For now, only
    787the color frame buffer uses the settings of "monitorcap:".
    788
    789<vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
    790your monitor can work with, in Hz. <hmin> and <hmax> are the same for
    791the horizontal frequency, in kHz.
    792
    793The defaults are 50;90;15;38 (Generic Amiga multisync monitor).
    794
    795
    7965.2) fd_def_df0=
    797----------------
    798
    799:Syntax: fd_def_df0=<value>
    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
    808:Syntax: wd33c93=<sub-options...>
    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
    819:Syntax: nosync:bitmask
    820
    821bitmask is a byte where the 1st 7 bits correspond with the 7
    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
    831:Syntax: period:ns
    832
    833`ns` is the minimum # of nanoseconds in a SCSI data transfer
    834period. Default is 500; acceptable values are 250 - 1000.
    835
    8365.3.3) disconnect
    837-----------------
    838
    839:Syntax: disconnect:x
    840
    841Specify x = 0 to never allow disconnects, 2 to always allow them.
    842x = 1 does 'adaptive' disconnects, which is the default and generally
    843the best choice.
    844
    8455.3.4) debug
    846------------
    847
    848:Syntax: debug:x
    849
    850If `DEBUGGING_ON` is defined, x is a bit mask that causes various
    851types of debug output to printed - see the DB_xxx defines in
    852wd33c93.h.
    853
    8545.3.5) clock
    855------------
    856
    857:Syntax: clock:x
    858
    859x = clock input in MHz for WD33c93 chip. Normal values would be from
    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
    869No argument. Used to separate blocks of keywords when there's more
    870than one wd33c93-based host adapter in the system.
    871
    8725.3.7) nodma
    873------------
    874
    875:Syntax: nodma:x
    876
    877If x is 1 (or if the option is just written as "nodma"), the WD33c93
    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
    888:Syntax: gvp11=<addr-mask>
    889
    890The earlier versions of the GVP driver did not handle DMA
    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
    896Incorrect use can lead to unpredictable behavior, so please only use
    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
    902The address mask set by this option specifies which addresses are
    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
    907Some versions of the GVP can only DMA into a 24 bit address range,
    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.