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