diff options
author | Joakim Bech <joakim.bech@linaro.org> | 2017-01-04 15:10:34 +0100 |
---|---|---|
committer | Joakim Bech <joakim.bech@linaro.org> | 2017-01-09 12:56:20 +0100 |
commit | efcfaa3204f96c3e4b56c88eb3620ec48ed1ad41 (patch) | |
tree | dd651ac33d3b945c5b679244ff50df6e43dc3642 /documentation | |
parent | 3e9013e1b1f135182b2be463964e7223625eb9ce (diff) |
docs: Remove images not up-to-date
Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/images/platform_smc_initializaton.graphml | 380 | ||||
-rw-r--r-- | documentation/images/platform_smc_initializaton.png | bin | 32608 -> 0 bytes | |||
-rw-r--r-- | documentation/images/smc_exception_handling.graphml | 787 | ||||
-rw-r--r-- | documentation/images/smc_exception_handling.png | bin | 71795 -> 0 bytes |
4 files changed, 0 insertions, 1167 deletions
diff --git a/documentation/images/platform_smc_initializaton.graphml b/documentation/images/platform_smc_initializaton.graphml deleted file mode 100644 index 94add38d..00000000 --- a/documentation/images/platform_smc_initializaton.graphml +++ /dev/null @@ -1,380 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd"> - <!--Created by yEd 3.12.2--> - <key for="graphml" id="d0" yfiles.type="resources"/> - <key for="port" id="d1" yfiles.type="portgraphics"/> - <key for="port" id="d2" yfiles.type="portgeometry"/> - <key for="port" id="d3" yfiles.type="portuserdata"/> - <key attr.name="url" attr.type="string" for="node" id="d4"/> - <key attr.name="description" attr.type="string" for="node" id="d5"/> - <key for="node" id="d6" yfiles.type="nodegraphics"/> - <key attr.name="Description" attr.type="string" for="graph" id="d7"/> - <key attr.name="url" attr.type="string" for="edge" id="d8"/> - <key attr.name="description" attr.type="string" for="edge" id="d9"/> - <key for="edge" id="d10" yfiles.type="edgegraphics"/> - <graph edgedefault="directed" id="G"> - <data key="d7"/> - <node id="n0"> - <data key="d5"/> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="546.0" width="774.0" x="-205.0" y="19.5"/> - <y:Fill color="#FFFFFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="294.30859375" x="239.845703125" y="4.0">Platform Initialization (with monitor as example)</y:NodeLabel> - <y:Shape type="rectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n1"> - <data key="d5"/> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="109.0" x="133.0" y="79.5"/> - <y:Fill color="#CCFFCC" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="96.19140625" x="6.404296875" y="6.015625">tz_template.lds<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n2"> - <data key="d5"/> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="109.0" x="133.0" y="144.0"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="46.234375" x="31.3828125" y="6.015625">tz_sinit<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n3"> - <data key="d5"/> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="109.0" x="133.0" y="208.5"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="58.9609375" x="25.01953125" y="6.015625">main_init<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n4"> - <data key="d5"/> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="109.0" x="133.0" y="273.0"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="103.216796875" x="2.8916015625" y="6.015625">main_init_helper<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n5"> - <data key="d5"/> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="109.0" x="133.0" y="337.5"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="111.830078125" x="-1.4150390625" y="6.015625">main_init_secmon<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n6"> - <data key="d5"/> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="116.0" x="47.0" y="402.0"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="46.919921875" x="34.5400390625" y="6.015625">sm_init<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n7"> - <data key="d4"/> - <data key="d5"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="76.0" width="238.0" x="-149.0" y="462.0"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="193.62109375" x="22.189453125" y="15.046875">Sets the monitor stack and the -monitors vector table (MVBAR), -which handles smc and FIQ.<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n8"> - <data key="d4"/> - <data key="d5"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="76.0" width="238.0" x="286.0" y="56.5"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="180.783203125" x="28.6083984375" y="22.03125">Linker script that sets tz_sinit -as the ENTRY-function.<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n9"> - <data key="d4"/> - <data key="d5"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="76.0" width="238.0" x="-149.0" y="121.0"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="176.01953125" x="30.990234375" y="22.03125">CPU initalization (all cores), -cache and MMU initialization<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n10"> - <data key="d4"/> - <data key="d5"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="76.0" width="238.0" x="-149.0" y="250.0"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="73.84375" modelName="custom" textColor="#000000" visible="true" width="232.287109375" x="2.8564453125" y="1.078125">Initialize UART, clear BSS area, -init canaries, init thread handlers -and corresponding stacks for threads. -Initalize GIC and secure monitor and -finally initialize TEE core.<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n11"> - <data key="d5"/> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="128.0" x="211.0" y="402.0"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="128.072265625" x="-0.0361328125" y="6.015625">sm_set_entry_vector<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n12"> - <data key="d4"/> - <data key="d5"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="76.0" width="238.0" x="286.0" y="462.0"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="216.4140625" x="10.79296875" y="15.046875">Sets the thread vector table (which -matches the vector table supplied -by ARM Trusted Firmware).<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <edge id="e0" source="n1" target="n2"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="e1" source="n2" target="n3"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="e2" source="n3" target="n4"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="e3" source="n4" target="n5"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="e4" source="n5" target="n6"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="e5" source="n6" target="n7"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="standard" target="none"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="e6" source="n1" target="n8"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="standard" target="none"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="e7" source="n2" target="n9"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="standard" target="none"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="e8" source="n4" target="n10"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="standard" target="none"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="e9" source="n5" target="n11"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="e10" source="n11" target="n12"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="standard" target="none"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - </graph> - <data key="d0"> - <y:Resources/> - </data> -</graphml> diff --git a/documentation/images/platform_smc_initializaton.png b/documentation/images/platform_smc_initializaton.png Binary files differdeleted file mode 100644 index 54ed7e70..00000000 --- a/documentation/images/platform_smc_initializaton.png +++ /dev/null diff --git a/documentation/images/smc_exception_handling.graphml b/documentation/images/smc_exception_handling.graphml deleted file mode 100644 index 014a71cb..00000000 --- a/documentation/images/smc_exception_handling.graphml +++ /dev/null @@ -1,787 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd"> - <!--Created by yEd 3.12.2--> - <key for="graphml" id="d0" yfiles.type="resources"/> - <key for="port" id="d1" yfiles.type="portgraphics"/> - <key for="port" id="d2" yfiles.type="portgeometry"/> - <key for="port" id="d3" yfiles.type="portuserdata"/> - <key attr.name="url" attr.type="string" for="node" id="d4"/> - <key attr.name="description" attr.type="string" for="node" id="d5"/> - <key for="node" id="d6" yfiles.type="nodegraphics"/> - <key attr.name="Description" attr.type="string" for="graph" id="d7"/> - <key attr.name="url" attr.type="string" for="edge" id="d8"/> - <key attr.name="description" attr.type="string" for="edge" id="d9"/> - <key for="edge" id="d10" yfiles.type="edgegraphics"/> - <graph edgedefault="directed" id="G"> - <data key="d7"/> - <node id="n0" yfiles.foldertype="group"> - <data key="d6"> - <y:TableNode configuration="YED_TABLE_NODE"> - <y:Geometry height="868.9225088514609" width="819.1249651223831" x="-983.4784807473831" y="38.0"/> - <y:Fill color="#ECF5FF" color2="#0042F440" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="21.4609375" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="590.9482421875" x="114.08836146744159" y="4.0">SMC exception handling / message passing between normal and secure world</y:NodeLabel> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" rotationAngle="270.0" textColor="#000000" visible="true" width="170.025390625" x="3.0" y="44.4873046875">Linux kernel (normal world)<y:LabelModel> - <y:RowNodeLabelModel offset="3.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:RowNodeLabelModelParameter horizontalPosition="0.0" id="row_0" inside="true"/> - </y:ModelParameter> - </y:NodeLabel> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" rotationAngle="270.0" textColor="#000000" visible="true" width="94.94921875" x="3.0" y="254.525390625">Secure Monitor<y:LabelModel> - <y:RowNodeLabelModel offset="3.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:RowNodeLabelModelParameter horizontalPosition="0.0" id="row_1" inside="true"/> - </y:ModelParameter> - </y:NodeLabel> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" rotationAngle="270.0" textColor="#000000" visible="true" width="148.533203125" x="3.0" y="547.6946528632304">TEE Core (secure world)<y:LabelModel> - <y:RowNodeLabelModel offset="3.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:RowNodeLabelModelParameter horizontalPosition="0.0" id="row_2" inside="true"/> - </y:ModelParameter> - </y:NodeLabel> - <y:StyleProperties> - <y:Property class="java.awt.Color" name="yed.table.header.color.main" value="#c4d7ed"/> - <y:Property class="java.awt.Color" name="yed.table.section.color" value="#7192b2"/> - <y:Property class="java.lang.String" name="yed.table.lane.style" value="lane.style.rows"/> - <y:Property class="java.awt.Color" name="yed.table.lane.color.alternating" value="#abc8e2"/> - <y:Property class="java.awt.Color" name="yed.table.header.color.alternating" value="#abc8e2"/> - <y:Property class="java.lang.Double" name="yed.table.header.height" value="24.0"/> - <y:Property class="java.awt.Color" name="yed.table.lane.color.main" value="#c4d7ed"/> - </y:StyleProperties> - <y:State autoResize="true" closed="false" closedHeight="80.0" closedWidth="100.0"/> - <y:Insets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/> - <y:BorderInsets bottom="21" bottomF="20.90124813871148" left="45" leftF="45.47848074738306" right="39" rightF="38.646484375" top="5" topF="4.563829787234056"/> - <y:Table autoResizeTable="true" defaultColumnWidth="120.0" defaultMinimumColumnWidth="80.0" defaultMinimumRowHeight="50.0" defaultRowHeight="80.0"> - <y:DefaultColumnInsets bottom="0.0" left="0.0" right="0.0" top="0.0"/> - <y:DefaultRowInsets bottom="0.0" left="24.0" right="0.0" top="0.0"/> - <y:Insets bottom="0.0" left="0.0" right="0.0" top="30.0"/> - <y:Columns> - <y:Column id="column_0" minimumWidth="80.0" width="795.1249651223831"> - <y:Insets bottom="0.0" left="0.0" right="0.0" top="0.0"/> - </y:Column> - </y:Columns> - <y:Rows> - <y:Row height="199.0" id="row_0" minimumHeight="50.0"> - <y:Insets bottom="0.0" left="24.0" right="0.0" top="0.0"/> - </y:Row> - <y:Row height="146.0" id="row_1" minimumHeight="50.0"> - <y:Insets bottom="0.0" left="24.0" right="0.0" top="0.0"/> - </y:Row> - <y:Row height="493.92250885146086" id="row_2" minimumHeight="50.0"> - <y:Insets bottom="0.0" left="24.0" right="0.0" top="0.0"/> - </y:Row> - </y:Rows> - </y:Table> - </y:TableNode> - </data> - <graph edgedefault="directed" id="n0:"> - <node id="n0::n0"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="109.0" x="-613.0" y="79.5"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="50.08984375" x="29.455078125" y="6.015625">call_tee<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n1"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="109.0" x="-683.0" y="139.5"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="95.8984375" x="6.55078125" y="6.015625">tee_smc_call64<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n2"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="109.0" x="-613.0" y="199.5"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="50.04296875" x="29.478515625" y="6.015625">smc #0<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n3"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="109.0" x="-613.0" y="324.6648936170213"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="90.208984375" x="9.3955078125" y="6.015625">sm_smc_entry<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n4"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="109.0" x="-467.7420212765957" y="324.6648936170213"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="80.845703125" x="14.0771484375" y="6.015625">sm_fiq_entry<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n5"> - <data key="d4"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="114.87234042553189" width="238.0" x="-914.0" y="282.22872340425533"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="87.8125" modelName="custom" textColor="#000000" visible="true" width="231.80078125" x="3.099609375" y="13.529920212765944">The entry functions figure out from -which side the SMC is coming from -(using SRC.NS) and where to go next. - -Will also handle save and restore of -both secure and non-secure contexts.<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n0::n6"> - <data key="d4"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="43.87234042553189" width="238.0" x="-914.0" y="72.56382978723406"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="209.564453125" x="14.2177734375" y="5.967420212765944">Parameters passed using tee_smc -interface.<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n0::n7"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="109.0" x="-538.0" y="139.5"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="80.62890625" x="14.185546875" y="6.015625">tee_smc_call<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n8"> - <data key="d4"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="43.87234042553189" width="177.0" x="-393.0" y="132.56382978723406"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="58.17578125" x="59.412109375" y="12.951795212765944">ARMv7-A<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n0::n9"> - <data key="d4"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="43.87234042553189" width="177.0" x="-914.0" y="132.56382978723406"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="58.17578125" x="59.412109375" y="12.951795212765944">ARMv8-A<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n0::n10"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="177.0" x="-647.0" y="432.32978723404256"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="134.904296875" x="21.0478515625" y="6.015625">vector_std_smc_entry<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n11"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="177.0" x="-647.0" y="492.32978723404256"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="145.609375" x="15.6953125" y="6.015625">thread_handle_std_smc<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n12"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="177.0" x="-647.0" y="552.3297872340426"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="132.279296875" x="22.3603515625" y="6.015625">thread_alloc_and_run<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n13"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="177.0" x="-647.0" y="612.3297872340426"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="94.84375" x="41.078125" y="6.015625">thread_resume<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n14"> - <data key="d4"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="43.87234042553189" width="216.0" x="-419.0" y="425.3936170212766"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="153.98828125" x="31.005859375" y="-1.0169547872340559">Will issue smc#0 when -returning back to normal -world in case of error.<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n0::n15"> - <data key="d4"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="84.87234042553189" width="216.0" x="-419.0" y="524.8936170212764"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="73.84375" modelName="custom" textColor="#000000" visible="true" width="208.826171875" x="3.5869140625" y="5.514295212766001">Prepare thread context with -correct information, like registers, -CPSR, stack pointer. IRQ and -asyncrounous aborts are masked. -FIQ are unmasked.<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n0::n16"> - <data key="d4"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="84.87234042553189" width="216.0" x="-914.0" y="584.8936170212767"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="59.875" modelName="custom" textColor="#000000" visible="true" width="208.28125" x="3.859375" y="12.498670212766001">Setup Stack Pointer, Link Register -and restore CPSR, then jump to -the PC indicated by the thread -context.<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n0::n17"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="177.0" x="-647.0" y="672.3297872340426"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="136.439453125" x="20.2802734375" y="6.015625">thread_std_smc_entry<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n18"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="177.0" x="-647.0" y="732.3297872340426"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="173.798828125" x="1.6005859375" y="6.015625">thread_std_smc_handler_ptr<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n19"> - <data key="d4"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="66.44426888587407" width="216.0" x="-419.0" y="654.1076527911055"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="59.875" modelName="custom" textColor="#000000" visible="true" width="173.857421875" x="21.0712890625" y="3.2846344429369765">Loads the arguments from -the TEE SMC interface. Will -issue smc #0 to return back -to normal world.<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n0::n20"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="177.0" x="-647.0" y="792.3297872340426"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="97.181640625" x="39.9091796875" y="6.015625">main_tee_entry<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n21"> - <data key="d4"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="57.1499454022038" width="216.0" x="-419.0" y="778.7548145329407"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="200.927734375" x="7.5361328125" y="5.621847701101956">This could be considered as -the main function when entering -TEE core.<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n0::n22"> - <data key="d4"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="57.1499454022038" width="121.23405909797827" x="-324.2340590979783" y="311.0899209159194"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="81.138671875" x="20.047693611489137" y="5.621847701101899">Has similar -handling as -regular SMC.<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - <node id="n0::n23"> - <data key="d6"> - <y:ShapeNode> - <y:Geometry height="30.0" width="177.0" x="-647.0" y="852.3297872340426"/> - <y:Fill color="#FFCC00" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="61.19921875" x="57.900390625" y="6.015625">tee_entry<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - <y:Shape type="roundrectangle"/> - </y:ShapeNode> - </data> - </node> - <node id="n0::n24"> - <data key="d4"/> - <data key="d6"> - <y:UMLNoteNode> - <y:Geometry height="37.382946957413765" width="216.0" x="-914.0" y="848.6383137553356"/> - <y:Fill color="#99CCFF" transparent="false"/> - <y:BorderStyle color="#000000" type="line" width="1.0"/> - <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="176.236328125" x="19.8818359375" y="2.722723478706939">Will call TEE core services -such as Trusted Applications<y:LabelModel> - <y:SmartNodeLabelModel distance="4.0"/> - </y:LabelModel> - <y:ModelParameter> - <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> - </y:ModelParameter> - </y:NodeLabel> - </y:UMLNoteNode> - </data> - </node> - </graph> - </node> - <edge id="n0::e0" source="n0::n0" target="n0::n1"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e1" source="n0::n1" target="n0::n2"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e2" source="n0::n2" target="n0::n3"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e3" source="n0::n2" target="n0::n4"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e4" source="n0::n5" target="n0::n3"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e5" source="n0::n6" target="n0::n0"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e6" source="n0::n0" target="n0::n7"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e7" source="n0::n7" target="n0::n2"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e8" source="n0::n7" target="n0::n8"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="standard" target="none"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e9" source="n0::n1" target="n0::n9"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="standard" target="none"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e10" source="n0::n3" target="n0::n10"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e11" source="n0::n10" target="n0::n11"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e12" source="n0::n11" target="n0::n12"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e13" source="n0::n12" target="n0::n13"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e14" source="n0::n10" target="n0::n14"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="standard" target="none"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e15" source="n0::n12" target="n0::n15"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="standard" target="none"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e16" source="n0::n16" target="n0::n13"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e17" source="n0::n13" target="n0::n17"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e18" source="n0::n17" target="n0::n18"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e19" source="n0::n17" target="n0::n19"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="standard" target="none"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e20" source="n0::n18" target="n0::n20"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e21" source="n0::n21" target="n0::n20"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e22" source="n0::n22" target="n0::n4"> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="dashed" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e23" source="n0::n20" target="n0::n23"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - <edge id="n0::e24" source="n0::n24" target="n0::n23"> - <data key="d9"/> - <data key="d10"> - <y:PolyLineEdge> - <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> - <y:LineStyle color="#000000" type="line" width="1.0"/> - <y:Arrows source="none" target="standard"/> - <y:BendStyle smoothed="false"/> - </y:PolyLineEdge> - </data> - </edge> - </graph> - <data key="d0"> - <y:Resources/> - </data> -</graphml> diff --git a/documentation/images/smc_exception_handling.png b/documentation/images/smc_exception_handling.png Binary files differdeleted file mode 100644 index 3dc0d406..00000000 --- a/documentation/images/smc_exception_handling.png +++ /dev/null |