PlatformSysmemConfig

sysmem 的平台設定選項。

這個設定同時存在於主機板和平台設定中,可讓主機板設定覆寫靜態預設值,並讓平台設定覆寫主機板設定。

欄位類型說明預設
protected_memory_size MemorySize 覆寫主機板驅動程式為 sysmem 預設受保護記憶體集區指定的大小。如未由主機板或平台設定,則預設值為 0。
format_costs Vec 選用檔案排序清單,每個檔案都包含持續性 fidl \['fuchsia.sysmem2.FormatCosts']。 一般來說,設定檔最好採用 json\[5],但我們使用 FIDL 型別在 Rust 中產生這個設定檔 (避免重複並利用 FIDL Rust 程式碼產生),而 FIDL 型別沒有 json 結構定義。 在 board_config::PlatformSettings.sysmem_defaults 中,這個欄位必須為 None (請改為參閱 BoardProvidedConfig.sysmem_format_costs)。在 platform_settings::PlatformSettings.sysmem 中,這個欄位可以是 Some。 如果後續的項目具有相同的 FormatCostKey,就會覆寫先前的項目 (無論是在單一檔案內或跨檔案)。platform_settings::PlatformSettings.sysmem 欄位中的項目,在邏輯上會位於 BoardProvidedConfig.sysmem_format_costs 欄位中的項目之後。
contiguous_memory_size MemorySize 覆寫主機板驅動程式為 sysmem 連續記憶體集區指定的大小。如未由主機板或平台設定檔設定,預設值為 5%。
contiguous_guard_pages_unused bool 如果為 true,sysmem 會將目前未使用的部分頁面視為防護頁面,並嘗試將其餘頁面借回 zircon。如果為 false,sysmem 會嘗試將目前所有未使用的頁面借回 zircon。 啟用這項功能後,系統記憶體中會定期啟動計時器,檢查是否有未使用的頁面出現 DMA 寫入作業。預設值為 false,避免預設使用週期性計時器。如果為 true,系統偵測到網頁編寫不當時,sysmem 會嘗試記錄先前使用該網頁的分配項目相關偵錯資訊。