sysmem 的平台設定選項。
此設定同時存在於板卡和平台設定中,可讓板卡設定覆寫靜態預設值,並讓平台設定覆寫板卡設定。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
protected_memory_size |
MemorySize |
覆寫 sysmem 預設受保護記憶體集區的板卡驅動程式庫指定大小。如果未透過電路板或平台設定,預設值為 0。 | |
format_costs |
Vec |
可選的排序檔案清單,每個檔案都包含一個持續的 fidl 資料結構 \['fuchsia.sysmem2.FormatCosts']。通常,JSON\[5] 是設定檔的首選格式,但我們使用 FIDL 類型在 Rust 中產生此設定檔 (以免重複並充分利用 FIDL Rust 程式碼產生工具),且 FIDL 類型沒有 JSON 結構定義。在 board_config::PlatformConfig.sysmem_defaults 中,此欄位必須為 None (請改為參閱 BoardProvidedConfig.sysmem_format_costs)。在 platform_config::PlatformConfig.sysmem 中,這個欄位可以是 Some。後續的項目如果有相同的 FormatCostKey,就會覆寫先前的項目 (無論是單一檔案內或跨檔案)。platform_config::PlatformConfig.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 會嘗試記錄先前使用該頁面的配置資訊。 |