Linux-2.6.12-rc2
[linux-2.6.git] / Documentation / arm / Setup
1 Kernel initialisation parameters on ARM Linux
2 ---------------------------------------------
3
4 The following document describes the kernel initialisation parameter
5 structure, otherwise known as 'struct param_struct' which is used
6 for most ARM Linux architectures.
7
8 This structure is used to pass initialisation parameters from the
9 kernel loader to the Linux kernel proper, and may be short lived
10 through the kernel initialisation process.  As a general rule, it
11 should not be referenced outside of arch/arm/kernel/setup.c:setup_arch().
12
13 There are a lot of parameters listed in there, and they are described
14 below:
15
16  page_size
17
18    This parameter must be set to the page size of the machine, and
19    will be checked by the kernel.
20
21  nr_pages
22
23    This is the total number of pages of memory in the system.  If
24    the memory is banked, then this should contain the total number
25    of pages in the system.
26
27    If the system contains separate VRAM, this value should not
28    include this information.
29
30  ramdisk_size
31
32    This is now obsolete, and should not be used.
33
34  flags
35
36    Various kernel flags, including:
37     bit 0 - 1 = mount root read only
38     bit 1 - unused
39     bit 2 - 0 = load ramdisk
40     bit 3 - 0 = prompt for ramdisk
41
42  rootdev
43
44    major/minor number pair of device to mount as the root filesystem.
45
46  video_num_cols
47  video_num_rows
48
49    These two together describe the character size of the dummy console,
50    or VGA console character size.  They should not be used for any other
51    purpose.
52
53    It's generally a good idea to set these to be either standard VGA, or
54    the equivalent character size of your fbcon display.  This then allows
55    all the bootup messages to be displayed correctly.
56
57  video_x
58  video_y
59
60    This describes the character position of cursor on VGA console, and
61    is otherwise unused. (should not used for other console types, and
62    should not be used for other purposes).
63
64  memc_control_reg
65
66    MEMC chip control register for Acorn Archimedes and Acorn A5000
67    based machines.  May be used differently by different architectures.
68
69  sounddefault
70
71    Default sound setting on Acorn machines.  May be used differently by
72    different architectures.
73
74  adfsdrives
75
76    Number of ADFS/MFM disks.  May be used differently by different
77    architectures.
78
79  bytes_per_char_h
80  bytes_per_char_v
81
82    These are now obsolete, and should not be used.
83
84  pages_in_bank[4]
85
86    Number of pages in each bank of the systems memory (used for RiscPC).
87    This is intended to be used on systems where the physical memory
88    is non-contiguous from the processors point of view.
89
90  pages_in_vram
91
92    Number of pages in VRAM (used on Acorn RiscPC).  This value may also
93    be used by loaders if the size of the video RAM can't be obtained
94    from the hardware.
95
96  initrd_start
97  initrd_size
98
99    This describes the kernel virtual start address and size of the
100    initial ramdisk.
101
102  rd_start
103
104    Start address in sectors of the ramdisk image on a floppy disk.
105
106  system_rev
107
108    system revision number.
109
110  system_serial_low
111  system_serial_high
112
113    system 64-bit serial number
114
115  mem_fclk_21285
116
117    The speed of the external oscillator to the 21285 (footbridge),
118    which control's the speed of the memory bus, timer & serial port.
119    Depending upon the speed of the cpu its value can be between
120    0-66 MHz. If no params are passed or a value of zero is passed,
121    then a value of 50 Mhz is the default on 21285 architectures.
122
123  paths[8][128]
124
125    These are now obsolete, and should not be used.
126
127  commandline
128
129    Kernel command line parameters.  Details can be found elsewhere.