sysmem 的平台配置选项。
此配置同时存在于开发板和平台配置中,以便开发板配置替换静态默认值,并允许平台配置替换开发板配置。
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
protected_memory_size |
MemorySize |
替换 sysmem 的默认受保护内存池的板级驱动程序指定大小。如果未通过开发板或平台配置进行设置,则默认值为 0。 | |
format_costs |
Vec |
可选的文件有序列表,每个文件都包含一个永久性 fidl \['fuchsia.sysmem2.FormatCosts']。 Normally json\[5] would be preferable for config, but we generate this config in rust using FIDL types (to avoid repetition and to take advantage of FIDL rust codegen), and there's no json schema for FIDL types. 在 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 将尝试记录有关先前使用该页面的分配的调试信息。 |