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