PSCI功率域树结构
1.要求
-
1、平台必须导出plat_get_aff_count()和plat_get_aff_state()API,以使通用PSCI代码能够填充描述系统中权力域层次结构的树。这种方法是不灵活的,因为拓扑的更改需要代码的更改。
对于平台来说,在数据结构中描述其权力域树会简单得多。 -
2、通用PSCI代码生成MPIDR以填充电源域树。它还使用MPIDR在树中查找节点。假设平台将使用与通用PSCI代码生成的MPIDR完全相同的MPIDR,这是不可扩展的。MPIDR的使用还将电源域树中的级别数限制为四个。
因此,需要将MPIDR的分配与用于填充功率域拓扑树的机制解耦。 -
3、功率域树的当前布置要求在特定级别上对兄弟节点进行二进制搜索,以找到指定的功率域节点。在电源管理操作期间,树从“开始”到“结束”电源级别进行遍历。需要二进制搜索来查找每个级别的节点。执行此遍历的自然方法是从叶节点开始,然后跟随父节点指针到达结束级别。
因此,需要定义以便于这种遍历的方式实现树的数据结构。 -
4、核心权力域的属性不同于更高级别的权力域属性。例如,只能使用MPIDR标识核心电源域。在核心电源域上执行电源管理操作时,不需要执行状态协调。
因此,需要以便于区分叶节点和非叶节点以及任何相关优化的方式实现树。