1============================================= 2Kernel initialisation parameters on ARM Linux 3============================================= 4 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 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. 109