sizes.h: add SZ_8G/SZ_16G/SZ_32G macros
[linux-2.6-microblaze.git] / Documentation / arm / setup.rst
1 =============================================
2 Kernel initialisation parameters on ARM Linux
3 =============================================
4
5 The following document describes the kernel initialisation parameter
6 structure, otherwise known as 'struct param_struct' which is used
7 for most ARM Linux architectures.
8
9 This structure is used to pass initialisation parameters from the
10 kernel loader to the Linux kernel proper, and may be short lived
11 through the kernel initialisation process.  As a general rule, it
12 should not be referenced outside of arch/arm/kernel/setup.c:setup_arch().
13
14 There are a lot of parameters listed in there, and they are described
15 below:
16
17  page_size
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    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
30    This is now obsolete, and should not be used.
31
32  flags
33    Various kernel flags, including:
34
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     =====   ========================
41
42  rootdev
43    major/minor number pair of device to mount as the root filesystem.
44
45  video_num_cols / video_num_rows
46    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
54  video_x / video_y
55    This describes the character position of cursor on VGA console, and
56    is otherwise unused. (should not be used for other console types, and
57    should not be used for other purposes).
58
59  memc_control_reg
60    MEMC chip control register for Acorn Archimedes and Acorn A5000
61    based machines.  May be used differently by different architectures.
62
63  sounddefault
64    Default sound setting on Acorn machines.  May be used differently by
65    different architectures.
66
67  adfsdrives
68    Number of ADFS/MFM disks.  May be used differently by different
69    architectures.
70
71  bytes_per_char_h / bytes_per_char_v
72    These are now obsolete, and should not be used.
73
74  pages_in_bank[4]
75    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
80    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
84  initrd_start / initrd_size
85    This describes the kernel virtual start address and size of the
86    initial ramdisk.
87
88  rd_start
89    Start address in sectors of the ramdisk image on a floppy disk.
90
91  system_rev
92    system revision number.
93
94  system_serial_low / system_serial_high
95    system 64-bit serial number
96
97  mem_fclk_21285
98    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]
105    These are now obsolete, and should not be used.
106
107  commandline
108    Kernel command line parameters.  Details can be found elsewhere.