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