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.