0001 =============================================
0002 Kernel initialisation parameters on ARM Linux
0003 =============================================
0004
0005 The following document describes the kernel initialisation parameter
0006 structure, otherwise known as 'struct param_struct' which is used
0007 for most ARM Linux architectures.
0008
0009 This structure is used to pass initialisation parameters from the
0010 kernel loader to the Linux kernel proper, and may be short lived
0011 through the kernel initialisation process. As a general rule, it
0012 should not be referenced outside of arch/arm/kernel/setup.c:setup_arch().
0013
0014 There are a lot of parameters listed in there, and they are described
0015 below:
0016
0017 page_size
0018 This parameter must be set to the page size of the machine, and
0019 will be checked by the kernel.
0020
0021 nr_pages
0022 This is the total number of pages of memory in the system. If
0023 the memory is banked, then this should contain the total number
0024 of pages in the system.
0025
0026 If the system contains separate VRAM, this value should not
0027 include this information.
0028
0029 ramdisk_size
0030 This is now obsolete, and should not be used.
0031
0032 flags
0033 Various kernel flags, including:
0034
0035 ===== ========================
0036 bit 0 1 = mount root read only
0037 bit 1 unused
0038 bit 2 0 = load ramdisk
0039 bit 3 0 = prompt for ramdisk
0040 ===== ========================
0041
0042 rootdev
0043 major/minor number pair of device to mount as the root filesystem.
0044
0045 video_num_cols / video_num_rows
0046 These two together describe the character size of the dummy console,
0047 or VGA console character size. They should not be used for any other
0048 purpose.
0049
0050 It's generally a good idea to set these to be either standard VGA, or
0051 the equivalent character size of your fbcon display. This then allows
0052 all the bootup messages to be displayed correctly.
0053
0054 video_x / video_y
0055 This describes the character position of cursor on VGA console, and
0056 is otherwise unused. (should not be used for other console types, and
0057 should not be used for other purposes).
0058
0059 memc_control_reg
0060 MEMC chip control register for Acorn Archimedes and Acorn A5000
0061 based machines. May be used differently by different architectures.
0062
0063 sounddefault
0064 Default sound setting on Acorn machines. May be used differently by
0065 different architectures.
0066
0067 adfsdrives
0068 Number of ADFS/MFM disks. May be used differently by different
0069 architectures.
0070
0071 bytes_per_char_h / bytes_per_char_v
0072 These are now obsolete, and should not be used.
0073
0074 pages_in_bank[4]
0075 Number of pages in each bank of the systems memory (used for RiscPC).
0076 This is intended to be used on systems where the physical memory
0077 is non-contiguous from the processors point of view.
0078
0079 pages_in_vram
0080 Number of pages in VRAM (used on Acorn RiscPC). This value may also
0081 be used by loaders if the size of the video RAM can't be obtained
0082 from the hardware.
0083
0084 initrd_start / initrd_size
0085 This describes the kernel virtual start address and size of the
0086 initial ramdisk.
0087
0088 rd_start
0089 Start address in sectors of the ramdisk image on a floppy disk.
0090
0091 system_rev
0092 system revision number.
0093
0094 system_serial_low / system_serial_high
0095 system 64-bit serial number
0096
0097 mem_fclk_21285
0098 The speed of the external oscillator to the 21285 (footbridge),
0099 which control's the speed of the memory bus, timer & serial port.
0100 Depending upon the speed of the cpu its value can be between
0101 0-66 MHz. If no params are passed or a value of zero is passed,
0102 then a value of 50 Mhz is the default on 21285 architectures.
0103
0104 paths[8][128]
0105 These are now obsolete, and should not be used.
0106
0107 commandline
0108 Kernel command line parameters. Details can be found elsewhere.