Logo

Linux 核心

6.16.0-rc4

快速搜尋

目錄

  • 開發流程
  • 提交補丁
  • 行為準則
  • 維護者手冊
  • 所有開發流程文件
  • 核心 API
  • 驅動 API
  • 子系統
    • 核心子系統
    • 人機介面
    • 網路介面
      • 網路
      • NetLabel
      • InfiniBand
      • ISDN
      • MHI
    • 儲存介面
    • 其他子系統
  • 鎖定
  • 許可規則
  • 編寫文件
  • 開發工具
  • 測試指南
  • 開發指南
  • 跟蹤
  • 故障注入
  • 熱補丁
  • Rust
  • 管理
  • 構建系統
  • 報告問題
  • 使用者空間工具
  • 使用者空間 API
  • 韌體
  • 韌體和裝置樹
  • CPU 架構
  • 未分類文件
  • 翻譯

本頁

  • 顯示原始檔

iosm devlink 支援¶

本文件描述了由 iosm 裝置驅動程式實現的 devlink 功能。

引數¶

iosm 驅動程式實現了以下驅動程式特定引數。

已實現的驅動程式特定引數¶

名稱

型別

模式

描述

erase_full_flash

u8

執行時

erase_full_flash 引數用於檢查在韌體刷寫過程中裝置是否需要完全擦除。如果設定,將向裝置傳送完整的 NAND 擦除命令。預設情況下,僅啟用條件擦除支援。

快閃記憶體更新¶

iosm 驅動程式透過使用 devlink-flash 介面實現快閃記憶體更新支援。

它支援使用包含引導載入程式映像和其他調變解調器軟體映像的組合快閃記憶體映像來更新裝置快閃記憶體。

驅動程式使用 DEVLINK_SUPPORT_FLASH_UPDATE_COMPONENT 來識別使用者空間應用程式請求的需要刷寫的韌體映像型別。支援的韌體映像型別:

韌體映像型別¶

名稱

描述

PSI RAM

主簽名映像

EBL

外部引導載入程式

FLS

調變解調器軟體映像

PSI RAM 和 EBL 是在裝置處於引導 ROM 階段時注入裝置的 RAM 映像。成功注入後,實際的調變解調器韌體映像將被刷寫到裝置中。調變解調器軟體映像包含多個檔案,每個檔案包含一個安全 bin 檔案和至少一個載入對映/區域檔案。為了刷寫這些檔案,需要將適當的命令連同刷寫所需的資料傳送到調變解調器裝置。區域數量和每個區域地址等資料必須使用 devlink param 命令傳遞給驅動程式。

如果在韌體刷寫之前裝置需要完全擦除,使用者應用程式需要使用 devlink param 命令設定 erase_full_flash 引數。預設情況下,支援條件擦除功能。

快閃記憶體命令:¶

1) 當調變解調器處於引導 ROM 階段時,使用者可以使用以下命令透過 devlink flash 命令注入 PSI RAM 映像。

$ devlink dev flash pci/0000:02:00.0 file <PSI_RAM_File_name>

2) 如果使用者需要進行完全擦除,需要執行以下命令來設定完全快閃記憶體擦除引數(僅在需要完全擦除時設定)。

$ devlink dev param set pci/0000:02:00.0 name erase_full_flash value true cmode runtime

  1. 在調變解調器處於 PSI 階段後注入 EBL。

$ devlink dev flash pci/0000:02:00.0 file <EBL_File_name>

4) EBL 成功注入後,將進行實際的韌體刷寫。以下是用於每個韌體映像的命令序列。

  1. 刷寫安全 bin 檔案。

$ devlink dev flash pci/0000:02:00.0 file <Secure_bin_file_name>

  1. 刷寫載入對映/區域檔案

$ devlink dev flash pci/0000:02:00.0 file <Load_map_file_name>

區域¶

iosm 驅動程式支援轉儲核心轉儲日誌。

如果韌體遇到異常,驅動程式將建立一個快照。以下區域用於訪問裝置內部資料。

已實現的區域¶

名稱

描述

report.json

作為此區域一部分記錄的異常詳細資訊摘要。

coredump.fcd

此區域包含裝置中發生的異常詳細資訊(RAM 轉儲)。

cdd.log

此區域包含與調變解調器 CDD 驅動程式相關的日誌。

eeprom.bin

此區域包含 eeprom 日誌。

bootcore_trace.bin

此區域包含當前引導載入程式日誌例項。

bootcore_prev_trace.bin

此區域包含先前的引導載入程式日誌例項。

區域命令¶

$ devlink region show

$ devlink region new pci/0000:02:00.0/report.json

$ devlink region dump pci/0000:02:00.0/report.json snapshot 0

$ devlink region del pci/0000:02:00.0/report.json snapshot 0

$ devlink region new pci/0000:02:00.0/coredump.fcd

$ devlink region dump pci/0000:02:00.0/coredump.fcd snapshot 1

$ devlink region del pci/0000:02:00.0/coredump.fcd snapshot 1

$ devlink region new pci/0000:02:00.0/cdd.log

$ devlink region dump pci/0000:02:00.0/cdd.log snapshot 2

$ devlink region del pci/0000:02:00.0/cdd.log snapshot 2

$ devlink region new pci/0000:02:00.0/eeprom.bin

$ devlink region dump pci/0000:02:00.0/eeprom.bin snapshot 3

$ devlink region del pci/0000:02:00.0/eeprom.bin snapshot 3

$ devlink region new pci/0000:02:00.0/bootcore_trace.bin

$ devlink region dump pci/0000:02:00.0/bootcore_trace.bin snapshot 4

$ devlink region del pci/0000:02:00.0/bootcore_trace.bin snapshot 4

$ devlink region new pci/0000:02:00.0/bootcore_prev_trace.bin

$ devlink region dump pci/0000:02:00.0/bootcore_prev_trace.bin snapshot 5

$ devlink region del pci/0000:02:00.0/bootcore_prev_trace.bin snapshot 5

©核心開發社群。 | 由 Sphinx 5.3.0 & Alabaster 0.7.16 提供技術支援 | 頁面原始檔