Linux 核心對 ARM Cortex-A78 的支持

Linux 核心對 ARM Cortex-A78 的支持

我計劃為基於 ARM Cortex A78 的系統啟動 Linux。
我對此也有一些疑問。

1. 我應該選擇哪個核心版本?
我檢查了 5.4.112、5.10.30、5.11.14、5.12-rc7 內核,將 ARM_CPU_PART_CORTEX_A78 放入 root/arch/arm64/include/cputype.h,但沒有匹配。
您能推薦一個支援 Cortex-A78 的核心版本嗎?或者
您能建議任何可以向內核添加 Cortex-A78 支援的補丁嗎?

2. 我的目標平台/機器是模擬器,僅具有 ARM Cortex A78 核心和 DDR RAM。暫時沒有其他週邊。
這台機器的最低核心配置應該是什麼?
在配置核心時,defconfig 中的哪些選項可以選擇為“no”,以保證所選的最小配置一定能在上述平台上啟動 Linux?

3. 我應該使用未壓縮的圖像還是壓縮的圖像?
請注意,我計劃將編譯後的 Linux 映像的二進位檔案放入 RAM 中,位於 A78 重置時跳躍的位置。如果需要,我們還將為 A78 開發基本啟動程式碼,這將允許處理器跳到 RAM 中的 Linux 映像位置。


我知道在嵌入式裝置上啟動 Linux 需要更多的軟體元件,例如 bood 程式碼、FSBL、uboot 等。的Linux系統,並希望看到與 Linux 運作相同的系統。

除了上述問題的答案外,我們將非常感謝您的建議。
如果您有任何不清楚的地方,請隨時告訴我。

感謝與問候,
莫妮克·帕特爾

答案1

  1. Linux版本

您不需要任何特定的 Linux 核心版本。現代 ARM CPU 透過 ID 暫存器報告其支援的功能 - 核心不需要您所使用的確切處理器的具體知識。盡可能選擇最新的核心。

  1. 最小平台

運行 Linux 的唯一真正要求是一個中斷控制器(Cortex-A78 設計為與符合 ARM 的 GICv4 規範的控制器配合使用)和一個計時器(包含在 A78 中)。但您需要某種方式與系統互動 - UART 上的串行控制台就是實現此目的的方法。

如果您完全繞過 EL3,並編寫一個放入 EL2 並在那裡運行核心的包裝器,那麼您可能不需要為安全世界提供單獨的控制台。話又說回來,UART 很便宜,所以也許還是增加一個備用的。然而,一旦您考慮運行多個內核,您就需要 PSCI 實施。那時,您不妨引入 Trusted Firmware-A 作為您的 EL3 韌體。

然後,您需要一個描述 DRAM、CPU、UART、GIC 和通用定時器的裝置樹。 (以及任何 PSCI 掛鉤。)

  1. 是否壓縮內核

64 位元 ARM 不支援像 32 位元 ARM 那樣的獨立可執行自解壓縮 zImage。除非您開始擔心儲存空間,否則壓縮核心沒有任何價值。

相關內容