aboutsummaryrefslogtreecommitdiff
path: root/documentation
diff options
context:
space:
mode:
authorJoakim Bech <joakim.bech@linaro.org>2017-01-04 15:10:34 +0100
committerJoakim Bech <joakim.bech@linaro.org>2017-01-09 12:56:20 +0100
commitefcfaa3204f96c3e4b56c88eb3620ec48ed1ad41 (patch)
treedd651ac33d3b945c5b679244ff50df6e43dc3642 /documentation
parent3e9013e1b1f135182b2be463964e7223625eb9ce (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.graphml380
-rw-r--r--documentation/images/platform_smc_initializaton.pngbin32608 -> 0 bytes
-rw-r--r--documentation/images/smc_exception_handling.graphml787
-rw-r--r--documentation/images/smc_exception_handling.pngbin71795 -> 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
deleted file mode 100644
index 54ed7e70..00000000
--- a/documentation/images/platform_smc_initializaton.png
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index 3dc0d406..00000000
--- a/documentation/images/smc_exception_handling.png
+++ /dev/null
Binary files differ