ARM Linux 上的核心初始化引數

以下文件描述了核心初始化引數結構,也稱為“struct param_struct”,它用於大多數 ARM Linux 架構。

此結構用於將初始化引數從核心載入器傳遞到 Linux 核心,並且在核心初始化過程中可能很短暫。 一般來說,不應在 arch/arm/kernel/setup.c:setup_arch() 之外引用它。

其中列出了很多引數,下面將對其進行描述

page_size

此引數必須設定為機器的頁面大小,並且將由核心檢查。

nr_pages

這是系統中記憶體頁面的總數。 如果記憶體已分組,則此項應包含系統中的頁面總數。

如果系統包含單獨的 VRAM,則此值不應包含此資訊。

ramdisk_size

這現在已過時,不應使用。

flags

各種核心標誌,包括

位 0

1 = 以只讀方式掛載根目錄

位 1

未使用

位 2

0 = 載入 ramdisk

位 3

0 = 提示 ramdisk

rootdev

要掛載為根檔案系統的裝置的主/次編號對。

video_num_cols / video_num_rows

這兩個引數共同描述了虛擬控制檯或 VGA 控制檯字元大小的字元大小。 它們不應用於任何其他目的。

通常,最好將它們設定為標準 VGA,或與您的 fbcon 顯示器等效的字元大小。 這樣可以正確顯示所有啟動訊息。

video_x / video_y

這描述了 VGA 控制檯上游標的字元位置,否則未使用。(不應用於其他控制檯型別,也不應用於其他目的)。

memc_control_reg

基於 Acorn Archimedes 和 Acorn A5000 的機器的 MEMC 晶片控制暫存器。 不同的架構可能會以不同的方式使用它。

sounddefault

Acorn 機器上的預設聲音設定。 不同的架構可能會以不同的方式使用它。

adfsdrives

ADFS/MFM 磁碟的數量。 不同的架構可能會以不同的方式使用它。

bytes_per_char_h / bytes_per_char_v

這現在已過時,不應使用。

pages_in_bank[4]

系統記憶體的每個 bank 中的頁面數(用於 RiscPC)。 這旨在用於物理記憶體從處理器角度來看不連續的系統。

pages_in_vram

VRAM 中的頁面數(用於 Acorn RiscPC)。 如果無法從硬體獲取影片 RAM 的大小,則載入程式也可以使用此值。

initrd_start / initrd_size

這描述了初始 ramdisk 的核心虛擬起始地址和大小。

rd_start

軟盤上 ramdisk 映象的起始地址(以扇區為單位)。

system_rev

系統修訂號。

system_serial_low / system_serial_high

系統 64 位序列號

mem_fclk_21285

21285(footbridge)的外部振盪器的速度,它控制著記憶體匯流排、定時器和序列埠的速度。 根據 cpu 的速度,其值可以在 0-66 MHz 之間。 如果未傳遞任何引數或傳遞了零值,則在 21285 架構上,預設值為 50 Mhz。

paths[8][128]

這現在已過時,不應使用。

commandline

核心命令列引數。 詳細資訊可以在其他地方找到。