blob: 8e12ef3fb9a76a1ff102ca4d772a3ea3205393ff [file] [log] [blame]
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -03001=============================================
Linus Torvalds1da177e2005-04-16 15:20:36 -07002Kernel initialisation parameters on ARM Linux
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -03003=============================================
Linus Torvalds1da177e2005-04-16 15:20:36 -07004
5The following document describes the kernel initialisation parameter
6structure, otherwise known as 'struct param_struct' which is used
7for most ARM Linux architectures.
8
9This structure is used to pass initialisation parameters from the
10kernel loader to the Linux kernel proper, and may be short lived
11through the kernel initialisation process. As a general rule, it
12should not be referenced outside of arch/arm/kernel/setup.c:setup_arch().
13
14There are a lot of parameters listed in there, and they are described
15below:
16
17 page_size
Linus Torvalds1da177e2005-04-16 15:20:36 -070018 This parameter must be set to the page size of the machine, and
19 will be checked by the kernel.
20
21 nr_pages
Linus Torvalds1da177e2005-04-16 15:20:36 -070022 This is the total number of pages of memory in the system. If
23 the memory is banked, then this should contain the total number
24 of pages in the system.
25
26 If the system contains separate VRAM, this value should not
27 include this information.
28
29 ramdisk_size
Linus Torvalds1da177e2005-04-16 15:20:36 -070030 This is now obsolete, and should not be used.
31
32 flags
Linus Torvalds1da177e2005-04-16 15:20:36 -070033 Various kernel flags, including:
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030034
35 ===== ========================
36 bit 0 1 = mount root read only
37 bit 1 unused
38 bit 2 0 = load ramdisk
39 bit 3 0 = prompt for ramdisk
40 ===== ========================
Linus Torvalds1da177e2005-04-16 15:20:36 -070041
42 rootdev
Linus Torvalds1da177e2005-04-16 15:20:36 -070043 major/minor number pair of device to mount as the root filesystem.
44
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030045 video_num_cols / video_num_rows
Linus Torvalds1da177e2005-04-16 15:20:36 -070046 These two together describe the character size of the dummy console,
47 or VGA console character size. They should not be used for any other
48 purpose.
49
50 It's generally a good idea to set these to be either standard VGA, or
51 the equivalent character size of your fbcon display. This then allows
52 all the bootup messages to be displayed correctly.
53
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030054 video_x / video_y
Linus Torvalds1da177e2005-04-16 15:20:36 -070055 This describes the character position of cursor on VGA console, and
Andrzej Zaborowski13fce802006-03-24 18:13:37 +010056 is otherwise unused. (should not be used for other console types, and
Linus Torvalds1da177e2005-04-16 15:20:36 -070057 should not be used for other purposes).
58
59 memc_control_reg
Linus Torvalds1da177e2005-04-16 15:20:36 -070060 MEMC chip control register for Acorn Archimedes and Acorn A5000
61 based machines. May be used differently by different architectures.
62
63 sounddefault
Linus Torvalds1da177e2005-04-16 15:20:36 -070064 Default sound setting on Acorn machines. May be used differently by
65 different architectures.
66
67 adfsdrives
Linus Torvalds1da177e2005-04-16 15:20:36 -070068 Number of ADFS/MFM disks. May be used differently by different
69 architectures.
70
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030071 bytes_per_char_h / bytes_per_char_v
Linus Torvalds1da177e2005-04-16 15:20:36 -070072 These are now obsolete, and should not be used.
73
74 pages_in_bank[4]
Linus Torvalds1da177e2005-04-16 15:20:36 -070075 Number of pages in each bank of the systems memory (used for RiscPC).
76 This is intended to be used on systems where the physical memory
77 is non-contiguous from the processors point of view.
78
79 pages_in_vram
Linus Torvalds1da177e2005-04-16 15:20:36 -070080 Number of pages in VRAM (used on Acorn RiscPC). This value may also
81 be used by loaders if the size of the video RAM can't be obtained
82 from the hardware.
83
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030084 initrd_start / initrd_size
Linus Torvalds1da177e2005-04-16 15:20:36 -070085 This describes the kernel virtual start address and size of the
86 initial ramdisk.
87
88 rd_start
Linus Torvalds1da177e2005-04-16 15:20:36 -070089 Start address in sectors of the ramdisk image on a floppy disk.
90
91 system_rev
Linus Torvalds1da177e2005-04-16 15:20:36 -070092 system revision number.
93
Mauro Carvalho Chehabdc7a12b2019-04-14 15:51:10 -030094 system_serial_low / system_serial_high
Linus Torvalds1da177e2005-04-16 15:20:36 -070095 system 64-bit serial number
96
97 mem_fclk_21285
Linus Torvalds1da177e2005-04-16 15:20:36 -070098 The speed of the external oscillator to the 21285 (footbridge),
99 which control's the speed of the memory bus, timer & serial port.
100 Depending upon the speed of the cpu its value can be between
101 0-66 MHz. If no params are passed or a value of zero is passed,
102 then a value of 50 Mhz is the default on 21285 architectures.
103
104 paths[8][128]
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105 These are now obsolete, and should not be used.
106
107 commandline
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108 Kernel command line parameters. Details can be found elsewhere.