blob: 0cb1e64bde80129a3d5e36935b082e516afc8a6c [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001Kernel initialisation parameters on ARM Linux
2---------------------------------------------
3
4The following document describes the kernel initialisation parameter
5structure, otherwise known as 'struct param_struct' which is used
6for most ARM Linux architectures.
7
8This structure is used to pass initialisation parameters from the
9kernel loader to the Linux kernel proper, and may be short lived
10through the kernel initialisation process. As a general rule, it
11should not be referenced outside of arch/arm/kernel/setup.c:setup_arch().
12
13There are a lot of parameters listed in there, and they are described
14below:
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
Andrzej Zaborowski13fce802006-03-24 18:13:37 +010061 is otherwise unused. (should not be used for other console types, and
Linus Torvalds1da177e2005-04-16 15:20:36 -070062 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.