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