Back to home page

OSCL-LXR

 
 

    


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.