1*4882a593Smuzhiyun============================================= 2*4882a593SmuzhiyunKernel initialisation parameters on ARM Linux 3*4882a593Smuzhiyun============================================= 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunThe following document describes the kernel initialisation parameter 6*4882a593Smuzhiyunstructure, otherwise known as 'struct param_struct' which is used 7*4882a593Smuzhiyunfor most ARM Linux architectures. 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunThis structure is used to pass initialisation parameters from the 10*4882a593Smuzhiyunkernel loader to the Linux kernel proper, and may be short lived 11*4882a593Smuzhiyunthrough the kernel initialisation process. As a general rule, it 12*4882a593Smuzhiyunshould not be referenced outside of arch/arm/kernel/setup.c:setup_arch(). 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunThere are a lot of parameters listed in there, and they are described 15*4882a593Smuzhiyunbelow: 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun page_size 18*4882a593Smuzhiyun This parameter must be set to the page size of the machine, and 19*4882a593Smuzhiyun will be checked by the kernel. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun nr_pages 22*4882a593Smuzhiyun This is the total number of pages of memory in the system. If 23*4882a593Smuzhiyun the memory is banked, then this should contain the total number 24*4882a593Smuzhiyun of pages in the system. 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun If the system contains separate VRAM, this value should not 27*4882a593Smuzhiyun include this information. 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun ramdisk_size 30*4882a593Smuzhiyun This is now obsolete, and should not be used. 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun flags 33*4882a593Smuzhiyun Various kernel flags, including: 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun ===== ======================== 36*4882a593Smuzhiyun bit 0 1 = mount root read only 37*4882a593Smuzhiyun bit 1 unused 38*4882a593Smuzhiyun bit 2 0 = load ramdisk 39*4882a593Smuzhiyun bit 3 0 = prompt for ramdisk 40*4882a593Smuzhiyun ===== ======================== 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun rootdev 43*4882a593Smuzhiyun major/minor number pair of device to mount as the root filesystem. 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun video_num_cols / video_num_rows 46*4882a593Smuzhiyun These two together describe the character size of the dummy console, 47*4882a593Smuzhiyun or VGA console character size. They should not be used for any other 48*4882a593Smuzhiyun purpose. 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun It's generally a good idea to set these to be either standard VGA, or 51*4882a593Smuzhiyun the equivalent character size of your fbcon display. This then allows 52*4882a593Smuzhiyun all the bootup messages to be displayed correctly. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun video_x / video_y 55*4882a593Smuzhiyun This describes the character position of cursor on VGA console, and 56*4882a593Smuzhiyun is otherwise unused. (should not be used for other console types, and 57*4882a593Smuzhiyun should not be used for other purposes). 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun memc_control_reg 60*4882a593Smuzhiyun MEMC chip control register for Acorn Archimedes and Acorn A5000 61*4882a593Smuzhiyun based machines. May be used differently by different architectures. 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun sounddefault 64*4882a593Smuzhiyun Default sound setting on Acorn machines. May be used differently by 65*4882a593Smuzhiyun different architectures. 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun adfsdrives 68*4882a593Smuzhiyun Number of ADFS/MFM disks. May be used differently by different 69*4882a593Smuzhiyun architectures. 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun bytes_per_char_h / bytes_per_char_v 72*4882a593Smuzhiyun These are now obsolete, and should not be used. 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun pages_in_bank[4] 75*4882a593Smuzhiyun Number of pages in each bank of the systems memory (used for RiscPC). 76*4882a593Smuzhiyun This is intended to be used on systems where the physical memory 77*4882a593Smuzhiyun is non-contiguous from the processors point of view. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun pages_in_vram 80*4882a593Smuzhiyun Number of pages in VRAM (used on Acorn RiscPC). This value may also 81*4882a593Smuzhiyun be used by loaders if the size of the video RAM can't be obtained 82*4882a593Smuzhiyun from the hardware. 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun initrd_start / initrd_size 85*4882a593Smuzhiyun This describes the kernel virtual start address and size of the 86*4882a593Smuzhiyun initial ramdisk. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun rd_start 89*4882a593Smuzhiyun Start address in sectors of the ramdisk image on a floppy disk. 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun system_rev 92*4882a593Smuzhiyun system revision number. 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun system_serial_low / system_serial_high 95*4882a593Smuzhiyun system 64-bit serial number 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun mem_fclk_21285 98*4882a593Smuzhiyun The speed of the external oscillator to the 21285 (footbridge), 99*4882a593Smuzhiyun which control's the speed of the memory bus, timer & serial port. 100*4882a593Smuzhiyun Depending upon the speed of the cpu its value can be between 101*4882a593Smuzhiyun 0-66 MHz. If no params are passed or a value of zero is passed, 102*4882a593Smuzhiyun then a value of 50 Mhz is the default on 21285 architectures. 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun paths[8][128] 105*4882a593Smuzhiyun These are now obsolete, and should not be used. 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun commandline 108*4882a593Smuzhiyun Kernel command line parameters. Details can be found elsewhere. 109