Blame view

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