PlatformSysmemConfig

sysmem 的平台設定選項。

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

欄位類型說明預設
protected_memory_size MemorySize 覆寫板驅動程式庫指定的 sysmem 預設受保護記憶體集區大小。如未透過主機板或平台設定進行設定,則預設值為 0。
format_costs Vec 選用的已排序檔案清單,每個檔案都包含永久 fidl \['fuchsia.sysmem2.FormatCosts']。 設定通常建議使用 json\[5],但我們在 Rust 中使用 FIDL 類型產生這項設定 (避免重複,並利用 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。 啟用這項功能後,sysmem 會定期計時,檢查未使用的頁面是否有雜散的 DMA 寫入。預設值為 false,以避免預設的週期性計時器。如果設為 true,sysmem 偵測到寫入不當的頁面時,會嘗試記錄先前使用該頁面的分配相關偵錯資訊。