I am very confused about how SCFW resource management works. The SCFW API Reference (B0 Dec 3 2018 version) gives a rough idea of how this works in section 7.5.1, but it is lacking many details. I have looked at the System Controller Firmware 101 Guide and the SCFW Porting Guide, but they have not provided much help. In particular there seems to be an implied distinction between the parent/child relationship of partitions and "owners" or "masters" of partitions without any clear definition. I have the following questions:
- How does a partition become associated with an owner?
- Who are all the possible owners in the SoC?
- Does a partition have to have an owner?
- What is a "master" within a partition?
- Can a resource belong to more than one partition?
- What exactly are the resources SC_R_M4_0_PID0 to SC_R_M4_0_PID4?
- With respect to the sc_rm_set_subsys_rsrc_movable function, where can I find a list of all subsystems and all resource identifiers that belong to those subsystems? It seems the API call allows one to pass any resource belonging to a subsystem in order to make all related sources (whatever they are) movable.
- What does it mean for a partition to be "secure" with respect to the sc_rm_partition_alloc function?
- If "grant" is set to false in sc_rm_partition_alloc, does this mean the owner of the parent partition can no longer access resources in the child partition?