<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: SCFW Resource Management Confusion in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853644#M130540</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Paul,&lt;/P&gt;&lt;P&gt;I’m internally checking this. In the meantime, could you please specify if you are working with a Sales person or FAE? Because the i.MX8X is still on preproduction stage.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards!&lt;/P&gt;&lt;P&gt;/Carlos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 18 Feb 2019 20:35:18 GMT</pubDate>
    <dc:creator>CarlosCasillas</dc:creator>
    <dc:date>2019-02-18T20:35:18Z</dc:date>
    <item>
      <title>SCFW Resource Management Confusion</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853640#M130536</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am very confused about how SCFW resource management works. The SCFW API Reference (B0 Dec 3 2018 version) gives a rough idea&amp;nbsp;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:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;How does a partition become associated with an owner?&lt;/LI&gt;&lt;LI&gt;Who are all the possible owners in the SoC?&lt;/LI&gt;&lt;LI&gt;Does a partition have to have an owner?&lt;/LI&gt;&lt;LI&gt;What is a "master" within a partition?&lt;/LI&gt;&lt;LI&gt;Can a resource belong to more than one partition?&lt;/LI&gt;&lt;LI&gt;What exactly are the resources SC_R_M4_0_PID0 to SC_R_M4_0_PID4?&lt;/LI&gt;&lt;LI&gt;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.&lt;/LI&gt;&lt;LI&gt;What does it mean for a partition to be "secure" with respect to the sc_rm_partition_alloc function?&lt;/LI&gt;&lt;LI&gt;If "grant" is set to&amp;nbsp;false in sc_rm_partition_alloc, does this mean the owner of the parent partition can no longer access resources in the child partition?&lt;/LI&gt;&lt;/UL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Feb 2019 19:16:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853640#M130536</guid>
      <dc:creator>paul_katarzis</dc:creator>
      <dc:date>2019-02-11T19:16:28Z</dc:date>
    </item>
    <item>
      <title>Re: SCFW Resource Management Confusion</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853641#M130537</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I reread the System Controller Firmware 101 - Resource Management Service guide and&amp;nbsp;reviewed the SCFW API Reference and I think I may be able to answer some of my own questions about parents, children, owners, and masters. The following is what I extrapolated, so please correct me if I am wrong.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;There are no owners of partitions. There are only masters and parent/child relationships between partitions. A master is a resource that has the ability to create child partitions. Partitions own resources.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When the system boots, there is one single partition and every resource is a member of it. The SCU M4,&amp;nbsp;General Purpose M4, A35 cluster, and SECO M0+ are resources within this partitions but also masters. The SCU M4 takes the liberty of "holding" onto itself and the resources it will use and pushing the rest into a child partition. The original partition, now considered the SCFW partition, contains just the SCU M4 and the resources it will use. The child of this original partition, now considered the Boot partition, contains the General Purpose M4, A35 Cluster, and SECO M0+ masters along with the rest of the system resources.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The SCU M4 is a master and a member of the SCFW partition which&amp;nbsp;is the parent of the Boot partition. Therefore the SCU M4 has the ability to create child partitions using resources from the SCFW partition or the Boot partition (assuming the&amp;nbsp;Boot partition was created to allow the parent to access its resources). The General Purpose M4 is a master and a member of the Boot partition, but can only create child partitions using resources from the Boot partition. Any partition the General Purpose M4 makes will be a child of the Boot partition by default, but it can assign such a partition to be a child of some other partition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm still not sure if a resource can belong to more than one partition. By the general definition of a partition, it should not, but slide 31 in the document AMF-AUT-T3360.pdf shows what looks like resources belonging to more than one partition (they are labeled as domains in the image, though). The return errors for sc_rm_assign_resource and sc_rm_move_all don't seem to indicate&amp;nbsp;the possibility of failing to assign a resource to two different child partitions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following questions are also still not clear:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;What exactly are the resources SC_R_M4_0_PID0 to SC_R_M4_0_PID4?&lt;/LI&gt;&lt;LI&gt;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.&lt;/LI&gt;&lt;LI&gt;What does it mean for a partition to be "secure" with respect to the sc_rm_partition_alloc function?&lt;/LI&gt;&lt;/UL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Feb 2019 23:36:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853641#M130537</guid>
      <dc:creator>paul_katarzis</dc:creator>
      <dc:date>2019-02-12T23:36:26Z</dc:date>
    </item>
    <item>
      <title>Re: SCFW Resource Management Confusion</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853642#M130538</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Paul,&lt;/P&gt;&lt;P&gt;Could you please specify which processor are you using?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards!&lt;/P&gt;&lt;P&gt;/Carlos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Feb 2019 16:11:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853642#M130538</guid>
      <dc:creator>CarlosCasillas</dc:creator>
      <dc:date>2019-02-13T16:11:47Z</dc:date>
    </item>
    <item>
      <title>Re: SCFW Resource Management Confusion</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853643#M130539</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Carlos,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am working with an imx8qxp (&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;PIMX8QX6AVLFZAA).&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Feb 2019 16:23:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853643#M130539</guid>
      <dc:creator>paul_katarzis</dc:creator>
      <dc:date>2019-02-13T16:23:09Z</dc:date>
    </item>
    <item>
      <title>Re: SCFW Resource Management Confusion</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853644#M130540</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Paul,&lt;/P&gt;&lt;P&gt;I’m internally checking this. In the meantime, could you please specify if you are working with a Sales person or FAE? Because the i.MX8X is still on preproduction stage.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards!&lt;/P&gt;&lt;P&gt;/Carlos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Feb 2019 20:35:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853644#M130540</guid>
      <dc:creator>CarlosCasillas</dc:creator>
      <dc:date>2019-02-18T20:35:18Z</dc:date>
    </item>
    <item>
      <title>Re: SCFW Resource Management Confusion</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853645#M130541</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have internally received reply to your questions, please check below:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;DIV class=""&gt;&lt;UL style="margin-left: .375in; margin-top: 0in; margin-bottom: 0in;"&gt;&lt;LI style="margin-top: 0; margin-bottom: 0; color: #51626f;"&gt;&lt;STRONG style="background: white; font-size: 11.25pt; "&gt;How does a partition become associated with an owner?&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin: 0in; margin-left: .375in; font-size: 11.25pt; color: #51626f;"&gt;&lt;SPAN style="background: white;"&gt;A partition has a parent. A resource has an owner. A partition's parent is the partition that created it by calling sc_rm_partition_alloc().&lt;/SPAN&gt;&lt;/P&gt;&lt;UL style="margin-left: .375in; margin-top: 0in; margin-bottom: 0in;"&gt;&lt;LI style="margin-top: 0; margin-bottom: 0; color: #51626f;"&gt;&lt;STRONG style="background: white; font-size: 11.25pt; "&gt;Who are all the possible owners in the SoC?&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin: 0in; margin-left: .375in; font-size: 11.25pt; color: #51626f;"&gt;&lt;SPAN style="background: white;"&gt;Initially the SCU owns all the resources in the SoC. When partitions are created, resources can be assigned by the parent to the partitions.&lt;/SPAN&gt;&lt;/P&gt;&lt;UL style="margin-left: .375in; margin-top: 0in; margin-bottom: 0in;"&gt;&lt;LI style="margin-top: 0; margin-bottom: 0; color: #51626f;"&gt;&lt;STRONG style="background: white; font-size: 11.25pt; "&gt;Does a partition have to have an owner?&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin: 0in; margin-left: .375in; font-size: 11.25pt; color: #51626f;"&gt;&lt;SPAN style="background: white;"&gt;A partition doesn't have an owner, it has a parent. The parent's access to the partition's resources/peripherals is configurable. A parent can also completely orphan a child with by using the sc_rm_set_parent() API.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;UL style="margin-left: .375in; margin-top: 0in; margin-bottom: 0in;"&gt;&lt;LI style="margin-top: 0; margin-bottom: 0; color: #51626f;"&gt;&lt;STRONG style="background: white; font-size: 11.25pt; "&gt;What is a "master" within a partition?&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin: 0in; margin-left: .375in; font-size: 11.25pt; color: #51626f;"&gt;&lt;SPAN style="background: white;"&gt;"Master" refers to a bus master in the SoC, something that can initiate a bus transaction.&lt;/SPAN&gt;&lt;/P&gt;&lt;UL style="margin-left: .375in; margin-top: 0in; margin-bottom: 0in;"&gt;&lt;LI style="margin-top: 0; margin-bottom: 0; color: #51626f;"&gt;&lt;STRONG style="background: white; font-size: 11.25pt; "&gt;Can a resource belong to more than one partition?&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin: 0in; margin-left: .375in; font-size: 11.25pt; color: #51626f;"&gt;&lt;SPAN style="background: white;"&gt;No, a resource only has one owning partition. Resources can be shared by the owning partition with other partitions by adjusting access rights.&lt;/SPAN&gt;&lt;/P&gt;&lt;UL style="margin-left: .375in; margin-top: 0in; margin-bottom: 0in;"&gt;&lt;LI style="margin-top: 0; margin-bottom: 0; color: #51626f;"&gt;&lt;STRONG style="background: white; font-size: 11.25pt; "&gt;What exactly are the resources SC_R_M4_0_PID0 to SC_R_M4_0_PID4?&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin: 0in; margin-left: .375in; font-size: 11.25pt; color: #51626f;"&gt;&lt;SPAN style="background: white;"&gt;These are process IDs for the M4 0 physical core. A process ID can be assigned to a partition, for instance a partition running Linux. This allows the Linux partition to make use of the M4 to generate transactions on behave of Linux partition. This type of configuration is made available for implementing a virtualization system. If you are not doing virtualization assign all the PIDs to the same partition as PID0.&lt;/SPAN&gt;&lt;/P&gt;&lt;UL style="margin-left: .375in; margin-top: 0in; margin-bottom: 0in;"&gt;&lt;LI style="margin-top: 0; margin-bottom: 0; color: #51626f;"&gt;&lt;STRONG style="background: white; font-size: 11.25pt; "&gt;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.&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin: 0in; margin-left: .375in; font-size: 11.25pt; color: #51626f;"&gt;&lt;SPAN style="background: white;"&gt;A subsystem is a physical grouping within the chip of related resources, this is chip specific. You will find the subsystems and the subsystems resources in the 'Resource List' chapter of the chip specific SC Firmware API reference guides. The API managing subsystem are supplied to optimize moving resource for these groupings, for instance, an M4 core and its associated resources.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in; margin-left: .375in; font-size: 11.25pt; color: #51626f;"&gt;&lt;SPAN style="background: white;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;UL style="margin-left: .375in; margin-top: 0in; margin-bottom: 0in;"&gt;&lt;LI style="margin-top: 0; margin-bottom: 0; color: #51626f;"&gt;&lt;STRONG style="background: white; font-size: 11.25pt; "&gt;What does it mean for a partition to be "secure" with respect to the sc_rm_partition_alloc function?&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin: 0in; margin-left: .375in; font-size: 11.25pt; color: #51626f;"&gt;&lt;SPAN style="background: white;"&gt;The "secure" configuration, indicates the default access privileges for a partition and its owned resources with respect to ARM Trustzone. A 'secure' partition would carry the 'Secure World' access privileges. A 'secure' partition can only be created by another 'secure' partition.&lt;/SPAN&gt;&lt;/P&gt;&lt;UL style="margin-left: .375in; margin-top: 0in; margin-bottom: 0in;"&gt;&lt;LI style="margin-top: 0; margin-bottom: 0; color: #51626f;"&gt;&lt;STRONG style="background: white; font-size: 11.25pt; "&gt;If "grant" is set to&amp;nbsp;false in sc_rm_partition_alloc, does this mean the owner of the parent partition can no longer access resources in the child partition?&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin: 0in; margin-left: .375in; font-size: 11.25pt; color: #51626f;"&gt;&lt;SPAN style="background: white;"&gt;A false flag (the normal case for most instances) prevents a parent from having direct access to the peripherals owned by a child.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in; margin-left: .375in; font-size: 11.25pt; color: #51626f;"&gt;&lt;SPAN style="background: white;"&gt;A true flag allows the parent to have total access the peripherals.&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Mar 2019 23:48:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853645#M130541</guid>
      <dc:creator>CarlosCasillas</dc:creator>
      <dc:date>2019-03-01T23:48:32Z</dc:date>
    </item>
    <item>
      <title>Re: SCFW Resource Management Confusion</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853646#M130542</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Carlos,&lt;/P&gt;&lt;P&gt;This has cleared up many things for me. Thank you very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Mar 2019 03:22:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SCFW-Resource-Management-Confusion/m-p/853646#M130542</guid>
      <dc:creator>paul_katarzis</dc:creator>
      <dc:date>2019-03-04T03:22:46Z</dc:date>
    </item>
  </channel>
</rss>

