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