From a2c320a83ef3966b30929636fb8345a7eabee2ae Mon Sep 17 00:00:00 2001 From: Paul Beesley Date: Wed, 13 Mar 2019 15:49:27 +0000 Subject: doc: Reorganise images and update links Change-Id: I679d1499376a524bef1cfc33df995b0a719b5ac8 Signed-off-by: Paul Beesley --- docs/resources/diagrams/Makefile | 74 +++++++++++++++++++++ docs/resources/diagrams/default_reset_code.png | Bin 0 -> 41796 bytes docs/resources/diagrams/draw.io/ehf.svg | 2 + docs/resources/diagrams/draw.io/ehf.xml | 1 + docs/resources/diagrams/draw.io/ras.svg | 2 + docs/resources/diagrams/draw.io/ras.xml | 1 + docs/resources/diagrams/fwu_flow.png | Bin 0 -> 167225 bytes docs/resources/diagrams/fwu_states.png | Bin 0 -> 114222 bytes docs/resources/diagrams/int_handling.dia | Bin 0 -> 10623 bytes docs/resources/diagrams/non-sec-int-handling.png | Bin 0 -> 218768 bytes .../resources/diagrams/plantuml/plantuml_to_svg.sh | 13 ++++ .../diagrams/plantuml/sdei_explicit_dispatch.puml | 51 ++++++++++++++ .../diagrams/plantuml/sdei_explicit_dispatch.svg | 1 + docs/resources/diagrams/plantuml/sdei_general.puml | 43 ++++++++++++ docs/resources/diagrams/plantuml/sdei_general.svg | 1 + docs/resources/diagrams/psci-suspend-sequence.png | Bin 0 -> 427800 bytes docs/resources/diagrams/reset_code_flow.dia | Bin 0 -> 4399 bytes .../diagrams/reset_code_no_boot_type_check.png | Bin 0 -> 42942 bytes docs/resources/diagrams/reset_code_no_checks.png | Bin 0 -> 39753 bytes .../resources/diagrams/reset_code_no_cpu_check.png | Bin 0 -> 38566 bytes docs/resources/diagrams/romlib_design.dia | Bin 0 -> 2985 bytes docs/resources/diagrams/romlib_design.png | Bin 0 -> 17244 bytes docs/resources/diagrams/romlib_wrapper.dia | Bin 0 -> 2543 bytes docs/resources/diagrams/romlib_wrapper.png | Bin 0 -> 12085 bytes docs/resources/diagrams/rt-svc-descs-layout.png | Bin 0 -> 77894 bytes docs/resources/diagrams/sec-int-handling.png | Bin 0 -> 173315 bytes docs/resources/diagrams/secure_sw_stack_sp.png | Bin 0 -> 34909 bytes docs/resources/diagrams/secure_sw_stack_tos.png | Bin 0 -> 34202 bytes docs/resources/diagrams/xlat_align.dia | Bin 0 -> 2346 bytes docs/resources/diagrams/xlat_align.png | Bin 0 -> 46712 bytes 30 files changed, 189 insertions(+) create mode 100644 docs/resources/diagrams/Makefile create mode 100644 docs/resources/diagrams/default_reset_code.png create mode 100644 docs/resources/diagrams/draw.io/ehf.svg create mode 100644 docs/resources/diagrams/draw.io/ehf.xml create mode 100644 docs/resources/diagrams/draw.io/ras.svg create mode 100644 docs/resources/diagrams/draw.io/ras.xml create mode 100644 docs/resources/diagrams/fwu_flow.png create mode 100644 docs/resources/diagrams/fwu_states.png create mode 100644 docs/resources/diagrams/int_handling.dia create mode 100644 docs/resources/diagrams/non-sec-int-handling.png create mode 100644 docs/resources/diagrams/plantuml/plantuml_to_svg.sh create mode 100644 docs/resources/diagrams/plantuml/sdei_explicit_dispatch.puml create mode 100644 docs/resources/diagrams/plantuml/sdei_explicit_dispatch.svg create mode 100644 docs/resources/diagrams/plantuml/sdei_general.puml create mode 100644 docs/resources/diagrams/plantuml/sdei_general.svg create mode 100644 docs/resources/diagrams/psci-suspend-sequence.png create mode 100644 docs/resources/diagrams/reset_code_flow.dia create mode 100644 docs/resources/diagrams/reset_code_no_boot_type_check.png create mode 100644 docs/resources/diagrams/reset_code_no_checks.png create mode 100644 docs/resources/diagrams/reset_code_no_cpu_check.png create mode 100644 docs/resources/diagrams/romlib_design.dia create mode 100644 docs/resources/diagrams/romlib_design.png create mode 100644 docs/resources/diagrams/romlib_wrapper.dia create mode 100644 docs/resources/diagrams/romlib_wrapper.png create mode 100644 docs/resources/diagrams/rt-svc-descs-layout.png create mode 100644 docs/resources/diagrams/sec-int-handling.png create mode 100644 docs/resources/diagrams/secure_sw_stack_sp.png create mode 100644 docs/resources/diagrams/secure_sw_stack_tos.png create mode 100644 docs/resources/diagrams/xlat_align.dia create mode 100644 docs/resources/diagrams/xlat_align.png (limited to 'docs/resources/diagrams') diff --git a/docs/resources/diagrams/Makefile b/docs/resources/diagrams/Makefile new file mode 100644 index 00000000..de7d8f3f --- /dev/null +++ b/docs/resources/diagrams/Makefile @@ -0,0 +1,74 @@ +# +# Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause +# +# +# This Makefile generates the image files used in the ARM Trusted Firmware +# document from the dia file. +# +# The PNG files in the present directory have been generated using Dia version +# 0.97.2, which can be obtained from https://wiki.gnome.org/Apps/Dia/Download +# + +# generate_image use the tool dia generate png from dia file +# $(1) = layers +# $(2) = image file name +# $(3) = image file format +# $(4) = addition opts +# $(5) = dia source file +define generate_image + dia --show-layers=$(1) --filter=$(3) --export=$(2) $(4) $(5) +endef + +RESET_DIA = reset_code_flow.dia +RESET_PNGS = \ + default_reset_code.png \ + reset_code_no_cpu_check.png \ + reset_code_no_boot_type_check.png \ + reset_code_no_checks.png \ + +# The $(RESET_DIA) file is organized in several layers. +# Each image is generated by combining and exporting the appropriate set of +# layers. +default_reset_code_layers = "Frontground,Background,cpu_type_check,boot_type_check" +reset_code_no_cpu_check_layers = "Frontground,Background,no_cpu_type_check,boot_type_check" +reset_code_no_boot_type_check_layers= "Frontground,Background,cpu_type_check,no_boot_type_check" +reset_code_no_checks_layers = "Frontground,Background,no_cpu_type_check,no_boot_type_check" + +default_reset_code_opts = +reset_code_no_cpu_check_opts = +reset_code_no_boot_type_check_opts = +reset_code_no_checks_opts = + +INT_DIA = int_handling.dia +INT_PNGS = \ + sec-int-handling.png \ + non-sec-int-handling.png + +# The $(INT_DIA) file is organized in several layers. +# Each image is generated by combining and exporting the appropriate set of +# layers. +non-sec-int-handling_layers = "non_sec_int_bg,legend,non_sec_int_note,non_sec_int_handling" +sec-int-handling_layers = "sec_int_bg,legend,sec_int_note,sec_int_handling" + +non-sec-int-handling_opts = --size=1692x +sec-int-handling_opts = --size=1570x + +XLAT_DIA = xlat_align.dia +XLAT_PNG = xlat_align.png + +xlat_align_layers = "bg,translations" +xlat_align_opts = + +all:$(RESET_PNGS) $(INT_PNGS) $(XLAT_PNG) + +$(RESET_PNGS):$(RESET_DIA) + $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<) + +$(INT_PNGS):$(INT_DIA) + $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<) + +$(XLAT_PNG):$(XLAT_DIA) + $(call generate_image,$($(patsubst %.png,%_layers,$@)),$(patsubst %.png,%.svg,$@),svg,$($(patsubst %.png,%_opts,$@)),$<) + inkscape -z $(patsubst %.png,%.svg,$@) -e $@ -d 45 diff --git a/docs/resources/diagrams/default_reset_code.png b/docs/resources/diagrams/default_reset_code.png new file mode 100644 index 00000000..d8675e4a Binary files /dev/null and b/docs/resources/diagrams/default_reset_code.png differ diff --git a/docs/resources/diagrams/draw.io/ehf.svg b/docs/resources/diagrams/draw.io/ehf.svg new file mode 100644 index 00000000..c98090f3 --- /dev/null +++ b/docs/resources/diagrams/draw.io/ehf.svg @@ -0,0 +1,2 @@ + +
Interrupt Management Framework
Interrupt Management Framework
Interrupt
Type
[Not supported by viewer]
Interrupt
Interrupt
NS
NS
S-EL1
S-EL1
EL3
EL3
SPD handlers
SPD handlers
Exception Handling Framework
Exception Handling Framework
GIC PMR
GIC PMR
RAS
RAS
SPM
[Not supported by viewer]
SDEI Critical
SDEI Critical
SDEI Normal
SDEI Normal
NS priorities
NS priorities
0xFF
0xFF
0x0
[Not supported by viewer]
Interrupt Priority
[Not supported by viewer]
EHF APIs
EHF APIs
Non-interrupt exceptions use EHF APIs to program GIC PMR to arbitrate priority levels
Non-interrupt exceptions use EHF APIs to program GIC PMR to arbitrate priority levels
Decreasing Priority
Decreasing Priority
Secure Priority levels
Secure Priority levels
\ No newline at end of file diff --git a/docs/resources/diagrams/draw.io/ehf.xml b/docs/resources/diagrams/draw.io/ehf.xml new file mode 100644 index 00000000..db1f91d3 --- /dev/null +++ b/docs/resources/diagrams/draw.io/ehf.xml @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/resources/diagrams/draw.io/ras.svg b/docs/resources/diagrams/draw.io/ras.svg new file mode 100644 index 00000000..ff581982 --- /dev/null +++ b/docs/resources/diagrams/draw.io/ras.svg @@ -0,0 +1,2 @@ + +

<div><br></div>
plat_ea_handler()
plat_ea_handler()
ras_ea_handler()
ras_ea_handler()
ras_interrupt_handler()
ras_interrupt_handler()
Exception Handling Framework
Exception Handling Framework
RAS
priority level handler
[Not supported by viewer]
RAS error records
RAS error records
RAS interrupts array
RAS interrupts array
RAS framework
RAS framework
Iterate and probe
<i>Iterate and probe</i>
Error handler
Error handler
Bisect and lookup
<i>Bisect and lookup</i>
Error handler
Error handler
SER helpers
SER helpers
External Abort
External Abort
Interrupt
[Not supported by viewer]
Interrupt Priority
Interrupt Priority
EHF APIs
EHF APIs
\ No newline at end of file diff --git a/docs/resources/diagrams/draw.io/ras.xml b/docs/resources/diagrams/draw.io/ras.xml new file mode 100644 index 00000000..ce6df3a6 --- /dev/null +++ b/docs/resources/diagrams/draw.io/ras.xml @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/resources/diagrams/fwu_flow.png b/docs/resources/diagrams/fwu_flow.png new file mode 100644 index 00000000..534095f5 Binary files /dev/null and b/docs/resources/diagrams/fwu_flow.png differ diff --git a/docs/resources/diagrams/fwu_states.png b/docs/resources/diagrams/fwu_states.png new file mode 100644 index 00000000..fda4d8fd Binary files /dev/null and b/docs/resources/diagrams/fwu_states.png differ diff --git a/docs/resources/diagrams/int_handling.dia b/docs/resources/diagrams/int_handling.dia new file mode 100644 index 00000000..12aa186c Binary files /dev/null and b/docs/resources/diagrams/int_handling.dia differ diff --git a/docs/resources/diagrams/non-sec-int-handling.png b/docs/resources/diagrams/non-sec-int-handling.png new file mode 100644 index 00000000..64082c95 Binary files /dev/null and b/docs/resources/diagrams/non-sec-int-handling.png differ diff --git a/docs/resources/diagrams/plantuml/plantuml_to_svg.sh b/docs/resources/diagrams/plantuml/plantuml_to_svg.sh new file mode 100644 index 00000000..0bf8588b --- /dev/null +++ b/docs/resources/diagrams/plantuml/plantuml_to_svg.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Convert all PlantUML files in this directory to SVG files. The plantuml_jar +# environment variable must be set to the path to PlantUML JAR file. + +if [ -z "$plantuml_jar" ]; then + echo "Usage: plantuml_jar=/path/to/plantuml.jar $0 *.puml" >&2 + exit 1 +fi + +java -jar "$plantuml_jar" -nometadata -tsvg "$@" + +# vim:set noet sts=8 tw=80: diff --git a/docs/resources/diagrams/plantuml/sdei_explicit_dispatch.puml b/docs/resources/diagrams/plantuml/sdei_explicit_dispatch.puml new file mode 100644 index 00000000..90ff23cc --- /dev/null +++ b/docs/resources/diagrams/plantuml/sdei_explicit_dispatch.puml @@ -0,0 +1,51 @@ +/' + ' Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved. + ' + ' SPDX-License-Identifier: BSD-3-Clause + '/ + +@startuml + +autonumber "[#]" +participant "SDEI client" as EL2 +participant EL3 +participant SDEI +participant "RAS Driver" as RAS + +activate EL2 +EL2->EL3: **SDEI_EVENT_REGISTER**(ev, handler, ...) +EL3->EL2: success +EL2->EL3: **SDEI_EVENT_ENABLE**(ev) +EL3->EL2: success +EL2->EL3: **SDEI_PE_UNMASK**() +EL3->EL2: 1 + +... <> ... + +EL3<--]: **CRITICAL EVENT** +activate EL3 #red +note over EL3: Critical event triage +EL3->RAS: dispatch to handle +deactivate EL3 +activate RAS #salmon +note over RAS: Critical event handling +RAS-->SDEI: sdei_dispatch_event(ev) +deactivate RAS +activate SDEI #salmon +note over SDEI: Prepare SDEI dispatch +SDEI->EL2: dispatch +activate EL2 #salmon +note over EL2: SDEI handler +EL2->SDEI: **SDEI_EVENT_COMPLETE()** +deactivate EL2 +note over SDEI: Complete SDEI dispatch +SDEI-->RAS: return +deactivate SDEI +activate RAS #salmon +RAS->EL3: error handling done +deactivate RAS +EL3->EL2: resumes preempted execution + +... <> ... + +@enduml diff --git a/docs/resources/diagrams/plantuml/sdei_explicit_dispatch.svg b/docs/resources/diagrams/plantuml/sdei_explicit_dispatch.svg new file mode 100644 index 00000000..e12cae2f --- /dev/null +++ b/docs/resources/diagrams/plantuml/sdei_explicit_dispatch.svg @@ -0,0 +1 @@ +SDEI clientSDEI clientEL3EL3SDEISDEIRAS DriverRAS Driver[1]SDEI_EVENT_REGISTER(ev, handler, ...)[2]success[3]SDEI_EVENT_ENABLE(ev)[4]success[5]SDEI_PE_UNMASK()[6]1<<Business as usual>>[7]CRITICAL EVENTCritical event triage[8]dispatch to handleCritical event handling[9]sdei_dispatch_event(ev)Prepare SDEI dispatch[10]dispatchSDEI handler[11]SDEI_EVENT_COMPLETE()Complete SDEI dispatch[12]return[13]error handling done[14]resumes preempted execution<<Normal execution resumes>> \ No newline at end of file diff --git a/docs/resources/diagrams/plantuml/sdei_general.puml b/docs/resources/diagrams/plantuml/sdei_general.puml new file mode 100644 index 00000000..ab6929ab --- /dev/null +++ b/docs/resources/diagrams/plantuml/sdei_general.puml @@ -0,0 +1,43 @@ +/' + ' Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. + ' + ' SPDX-License-Identifier: BSD-3-Clause + '/ + +@startuml + +autonumber "[#]" +participant "SDEI client" as EL2 +participant EL3 +participant "SDEI interrupt source" as SDEI + +activate EL2 +EL2->EL3: **SDEI_INTERRUPT_BIND**(irq) +EL3->EL2: event number: ev +EL2->EL3: **SDEI_EVENT_REGISTER**(ev, handler, ...) +EL3->EL2: success +EL2->EL3: **SDEI_EVENT_ENABLE**(ev) +EL3->EL2: success +EL2->EL3: **SDEI_PE_UNMASK**() +EL3->EL2: 1 + +... <> ... + +SDEI-->EL3: SDEI interrupt +activate SDEI #salmon +activate EL3 #red +note over EL3: Prepare SDEI dispatch +EL3->EL2: dispatch +activate EL2 #salmon +note over EL2: SDEI handler +EL2->EL3: **SDEI_EVENT_COMPLETE()** +deactivate EL2 +note over EL3: Complete SDEI dispatch +EL3-->SDEI: EOI +deactivate SDEI +EL3->EL2: resumes preempted execution +deactivate EL3 + +... <> ... + +@enduml diff --git a/docs/resources/diagrams/plantuml/sdei_general.svg b/docs/resources/diagrams/plantuml/sdei_general.svg new file mode 100644 index 00000000..e1721122 --- /dev/null +++ b/docs/resources/diagrams/plantuml/sdei_general.svg @@ -0,0 +1 @@ +SDEI clientSDEI clientEL3EL3SDEI interrupt sourceSDEI interrupt source[1]SDEI_INTERRUPT_BIND(irq)[2]event number: ev[3]SDEI_EVENT_REGISTER(ev, handler, ...)[4]success[5]SDEI_EVENT_ENABLE(ev)[6]success[7]SDEI_PE_UNMASK()[8]1<<Business as usual>>[9]SDEI interruptPrepare SDEI dispatch[10]dispatchSDEI handler[11]SDEI_EVENT_COMPLETE()Complete SDEI dispatch[12]EOI[13]resumes preempted execution<<Normal execution resumes>> \ No newline at end of file diff --git a/docs/resources/diagrams/psci-suspend-sequence.png b/docs/resources/diagrams/psci-suspend-sequence.png new file mode 100644 index 00000000..1703ea68 Binary files /dev/null and b/docs/resources/diagrams/psci-suspend-sequence.png differ diff --git a/docs/resources/diagrams/reset_code_flow.dia b/docs/resources/diagrams/reset_code_flow.dia new file mode 100644 index 00000000..133c9cf6 Binary files /dev/null and b/docs/resources/diagrams/reset_code_flow.dia differ diff --git a/docs/resources/diagrams/reset_code_no_boot_type_check.png b/docs/resources/diagrams/reset_code_no_boot_type_check.png new file mode 100644 index 00000000..23e865f6 Binary files /dev/null and b/docs/resources/diagrams/reset_code_no_boot_type_check.png differ diff --git a/docs/resources/diagrams/reset_code_no_checks.png b/docs/resources/diagrams/reset_code_no_checks.png new file mode 100644 index 00000000..26a179bc Binary files /dev/null and b/docs/resources/diagrams/reset_code_no_checks.png differ diff --git a/docs/resources/diagrams/reset_code_no_cpu_check.png b/docs/resources/diagrams/reset_code_no_cpu_check.png new file mode 100644 index 00000000..4150dbef Binary files /dev/null and b/docs/resources/diagrams/reset_code_no_cpu_check.png differ diff --git a/docs/resources/diagrams/romlib_design.dia b/docs/resources/diagrams/romlib_design.dia new file mode 100644 index 00000000..d12eec07 Binary files /dev/null and b/docs/resources/diagrams/romlib_design.dia differ diff --git a/docs/resources/diagrams/romlib_design.png b/docs/resources/diagrams/romlib_design.png new file mode 100644 index 00000000..bfffcde7 Binary files /dev/null and b/docs/resources/diagrams/romlib_design.png differ diff --git a/docs/resources/diagrams/romlib_wrapper.dia b/docs/resources/diagrams/romlib_wrapper.dia new file mode 100644 index 00000000..30cfbd80 Binary files /dev/null and b/docs/resources/diagrams/romlib_wrapper.dia differ diff --git a/docs/resources/diagrams/romlib_wrapper.png b/docs/resources/diagrams/romlib_wrapper.png new file mode 100644 index 00000000..ec3a4411 Binary files /dev/null and b/docs/resources/diagrams/romlib_wrapper.png differ diff --git a/docs/resources/diagrams/rt-svc-descs-layout.png b/docs/resources/diagrams/rt-svc-descs-layout.png new file mode 100644 index 00000000..1a9fa5b0 Binary files /dev/null and b/docs/resources/diagrams/rt-svc-descs-layout.png differ diff --git a/docs/resources/diagrams/sec-int-handling.png b/docs/resources/diagrams/sec-int-handling.png new file mode 100644 index 00000000..fa5c340a Binary files /dev/null and b/docs/resources/diagrams/sec-int-handling.png differ diff --git a/docs/resources/diagrams/secure_sw_stack_sp.png b/docs/resources/diagrams/secure_sw_stack_sp.png new file mode 100644 index 00000000..5cb2ca7a Binary files /dev/null and b/docs/resources/diagrams/secure_sw_stack_sp.png differ diff --git a/docs/resources/diagrams/secure_sw_stack_tos.png b/docs/resources/diagrams/secure_sw_stack_tos.png new file mode 100644 index 00000000..1f2d5550 Binary files /dev/null and b/docs/resources/diagrams/secure_sw_stack_tos.png differ diff --git a/docs/resources/diagrams/xlat_align.dia b/docs/resources/diagrams/xlat_align.dia new file mode 100644 index 00000000..bd88c0cc Binary files /dev/null and b/docs/resources/diagrams/xlat_align.dia differ diff --git a/docs/resources/diagrams/xlat_align.png b/docs/resources/diagrams/xlat_align.png new file mode 100644 index 00000000..cffd3c19 Binary files /dev/null and b/docs/resources/diagrams/xlat_align.png differ -- cgit v1.2.3