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