sysmem 的平台配置选项。
此配置同时存在于开发板配置和平台配置中,以允许开发板配置替换静态默认值,并允许平台配置替换开发板配置。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
protected_memory_size |
MemorySize |
替换 sysmem 的默认受保护内存池的板级驱动程序指定的大小。如果未由开发板或平台配置设置,默认值为 0。 | |
format_costs |
Vec |
可选的文件有序列表,其中每个文件都包含一个持久性 fidl \['fuchsia.sysmem2.FormatCosts']。 通常,JSON\[5] 是配置的首选,但我们使用 FIDL 类型在 Rust 中生成此配置(以避免重复并利用 FIDL rust codegen),并且没有适用于 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 会尝试记录之前使用该页面的分配调试信息。 |