PlatformSysmemConfig

sysmem 的平台配置选项。此配置同时存在于板级配置和平台配置中,以允许板级配置覆盖静态默认值,并允许平台配置覆盖板级配置。

字段类型说明默认
protected_memory_size MemorySize 替换系统内存的默认受保护内存池的板驱动程序指定的大小。如果未通过板级配置或平台配置设置,则默认值为 0。
format_costs Vec 可选的有序文件列表,其中每个文件都包含一个持久性 fidl \['fuchsia.sysmem2.FormatCosts']。 通常情况下,json\[5] 更适合配置,但我们会使用 FIDL 类型在 Rust 中生成此配置(以避免重复并利用 FIDL Rust 代码生成),并且没有 FIDL 类型的 json 架构。 在 board_config::PlatformConfig.sysmem_defaults 中,此字段必须为“无”(请改为参阅 BoardProvidedConfig.sysmem_format_costs)。在 platform_config::PlatformConfig.sysmem 中,此字段可以是“某些”。 具有相等 FormatCostKey 的较晚条目会覆盖较早的条目(无论是在单个文件中还是跨文件)。在逻辑上,platform_config::PlatformConfig.sysmem 字段中的条目在 BoardProvidedConfig.sysmem_format_costs 字段中的条目之后。
contiguous_memory_size MemorySize 替换系统内存的连续内存池的板驱动程序指定的大小。如果未通过板级配置或平台配置进行设置,则默认值为 5%。
contiguous_guard_pages_unused \[bool] 如果为 true,sysmem 会将当前未使用的一小部分页面视为保护页面,并尝试将其余页面借入 Zircon。如果为 false,系统内存将尝试将所有当前未使用的页面借贷给 zircon。 启用此功能将会启用 sysmem 中的定期计时器,这些计时器会检查未使用的页面是否存在杂乱的 DMA 写入。默认值为 false,以避免默认使用定期计时器。如果为 true,则在检测到写入不正确的页面时,系统会尝试记录调试信息。之前使用了该页面的分配金额