aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorelisa <elisa@riscv.org>2021-09-21 12:28:28 -0700
committerelisa <elisa@riscv.org>2021-09-21 12:28:28 -0700
commita34a120882d7b6857e97e4c886daa947980c285d (patch)
tree158ce1e156fed6370b46c391cebbb48721403992 /src
parent5ff58943dbb2961e37fb0123883bcaeb7337d4ca (diff)
downloadriscv-isa-manual-a34a120882d7b6857e97e4c886daa947980c285d.zip
riscv-isa-manual-a34a120882d7b6857e97e4c886daa947980c285d.tar.gz
riscv-isa-manual-a34a120882d7b6857e97e4c886daa947980c285d.tar.bz2
adding some diagram files, adding changes, updating review pdf
Diffstat (limited to 'src')
-rw-r--r--src/d-st-ext.adoc112
-rw-r--r--src/graphviz/litmus_addrpo.dot30
-rw-r--r--src/graphviz/litmus_datacoirfi.dot33
-rw-r--r--src/graphviz/litmus_datarfi.dot32
-rw-r--r--src/graphviz/litmus_lb_lrsc.dot32
-rw-r--r--src/graphviz/litmus_mp_fenceww_fri_rfi_addr.dot32
-rw-r--r--src/graphviz/litmus_rsw.dot34
-rw-r--r--src/graphviz/litmus_subsumption.dot29
-rw-r--r--src/images/f-standard.pngbin0 -> 45126 bytes
-rw-r--r--src/images/graphviz/litmus_ppoca.txt (renamed from src/graphviz/litmus_ppoca.dot)4
-rw-r--r--src/images/graphviz/litmus_sample.txt (renamed from src/graphviz/litmus_sample.dot)1
-rw-r--r--src/images/graphviz/litmus_sb_fwd.txt (renamed from src/graphviz/litmus_sb_fwd.dot)4
-rw-r--r--src/images/wavedrom/d-xwwx.adoc19
-rw-r--r--src/images/wavedrom/double-fl-class.adoc15
-rw-r--r--src/images/wavedrom/double-fl-compare.adoc15
-rw-r--r--src/images/wavedrom/double-fl-compute.adoc54
-rw-r--r--src/images/wavedrom/double-fl-convert-mv.adoc16
-rw-r--r--src/images/wavedrom/double-ls.adoc25
-rw-r--r--src/images/wavedrom/fcvt-sd-ds.adoc16
-rw-r--r--src/images/wavedrom/fsjgnjnx-d.adoc15
-rw-r--r--src/images/wavedrom/half-ls.adoc22
-rw-r--r--src/images/wavedrom/quad-cnvrt-intch-xqqx.adoc15
-rw-r--r--src/images/wavedrom/quad-cnvrt-mv.adoc28
-rw-r--r--src/images/wavedrom/quad-cnvt-interchange.adoc16
-rw-r--r--src/images/wavedrom/quad-compute.adoc55
-rw-r--r--src/images/wavedrom/quad-float-clssfy.adoc15
-rw-r--r--src/images/wavedrom/quad-float-compare.adoc15
-rw-r--r--src/images/wavedrom/quad-ls.adoc25
-rw-r--r--src/inkscape/PLIC-block-diagram.svg3309
-rw-r--r--src/inkscape/PLIC-interrupt-flow.svg775
-rw-r--r--src/inkscape/halimps.svg994
-rw-r--r--src/inkscape/halmode.svg799
-rw-r--r--src/inkscape/htif.svg626
-rw-r--r--src/inkscape/privimps.svg820
-rw-r--r--src/inkscape/proxy.svg635
-rw-r--r--src/inkscape/virtimps.svg730
-rw-r--r--src/mm-eplan.adoc530
-rw-r--r--src/q-st-ext.adoc97
-rw-r--r--src/riscv-isa-unpr-conv-review.adoc (renamed from src/riscv-isa-unpriv-conv-review.adoc)0
-rw-r--r--src/riscv-isa-unpr-conv-review.pdfbin5945885 -> 6084817 bytes
40 files changed, 739 insertions, 9285 deletions
diff --git a/src/d-st-ext.adoc b/src/d-st-ext.adoc
index b2ea945..1b8768d 100644
--- a/src/d-st-ext.adoc
+++ b/src/d-st-ext.adoc
@@ -5,7 +5,7 @@ instruction-set extension, which is named `D` and adds
double-precision floating-point computational instructions compliant
with the IEEE 754-2008 arithmetic standard. The D extension depends on
the base single-precision instruction subset F.
-((double-precision floaing point))
+((double-precision, floating point))
=== D Register State
@@ -14,9 +14,12 @@ The D extension widens the 32 floating-point registers, `f0`–` f31`, to
now hold either 32-bit or 64-bit floating-point values as described
below in <<nanboxing>>.
+[NOTE]
+====
FLEN can be 32, 64, or 128 depending on which of the F, D, and Q
extensions are supported. There can be up to four different
floating-point precisions supported, including H, F, D, and Q.
+====
(((floating-point, supported precisions)))
[[nanboxing]]
@@ -34,7 +37,8 @@ the uppermost FLENlatexmath:[$-n$] bits to yield a legal NaN-boxed
value.
(((floating-point, requirements)))
-
+[NOTE]
+====
Software might not know the current type of data stored in a
floating-point register but has to be able to save and restore the
register values, hence the result of using wider operations to transfer
@@ -42,6 +46,7 @@ narrower values has to be defined. A common case is for callee-saved
registers, but a standard convention is also desirable for features
including varargs, user-level threading libraries, virtual machine
migration, and debugging.
+====
Floating-point latexmath:[$n$]-bit transfer operations move external
values held in IEEE standard formats into and out of the `f` registers,
@@ -62,6 +67,8 @@ so, the latexmath:[$n$] least-significant bits of the input are used as
the input value, otherwise the input value is treated as an
latexmath:[$n$]-bit canonical NaN.
+[TIP]
+====
Earlier versions of this document did not define the behavior of feeding
the results of narrower or wider operands into an operation, except to
require that wider saves and restores would preserve the value of a
@@ -90,6 +97,7 @@ to handle shifting of input subnormal values for wide operands in any
case, and extracting the NaN-boxed value is a similar process to
normalization except for skipping over leading-1 bits instead of
skipping over leading-0 bits, allowing the datapath muxing to be shared.
+====
[[fld_fsd]]
=== Double-Precision Load and Store Instructions
@@ -98,21 +106,15 @@ The FLD instruction loads a double-precision floating-point value from
memory into floating-point register _rd_. FSD stores a double-precision
value from the floating-point registers to memory.
+[NOTE]
+====
The double-precision value may be a NaN-boxed single-precision value.
+====
-[[fprs-d]]
-
-M@R@F@R@O +
-& & & & +
-& & & & +
-& 5 & 3 & 5 & 7 +
-offset[11:0] & base & D & dest & LOAD-FP +
-
-O@R@R@F@R@O +
-& & & & & +
-& & & & & +
-& 5 & 5 & 3 & 5 & 7 +
-offset[11:5] & src & base & D & offset[4:0] & STORE-FP +
+include::images/wavedrom/double-ls.adoc[]
+[[double-ls]]
+.Double-precision load and store
+image::image_placeholder.png[]
FLD and FSD are only guaranteed to execute atomically if the effective
address is naturally aligned and XLENlatexmath:[$\geq$]64.
@@ -126,20 +128,10 @@ The double-precision floating-point computational instructions are
defined analogously to their single-precision counterparts, but operate
on double-precision operands and produce double-precision results.
-R@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FADD/FSUB & D & src2 & src1 & RM & dest & OP-FP +
-FMUL/FDIV & D & src2 & src1 & RM & dest & OP-FP +
-FMIN-MAX & D & src2 & src1 & MIN/MAX & dest & OP-FP +
-FSQRT & D & 0 & src & RM & dest & OP-FP +
-
-R@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-src3 & D & src2 & src1 & RM & dest & F[N]MADD/F[N]MSUB +
+include::images/wavedrom/double-fl-compute.adoc[]
+[[fl-compute]]
+.Double-precision float computational
+image::image_placeholder.png[]
=== Double-Precision Floating-Point Conversion and Move Instructions
@@ -160,12 +152,10 @@ All floating-point to integer and integer to floating-point conversion
instructions round according to the _rm_ field. Note FCVT.D.W[U] always
produces an exact result and is unaffected by rounding mode.
-R@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FCVT._int_.D & D & W[U]/L[U] & src & RM & dest & OP-FP +
-FCVT.D._int_ & D & W[U]/L[U] & src & RM & dest & OP-FP +
+include::images/wavedrom/double-fl-convert-mv.adoc[]
+[[fl-convert-mv]]
+.Double-precision float convert and move
+image::image_placeholder.png[]
The double-precision to single-precision and single-precision to
double-precision conversion instructions, FCVT.S.D and FCVT.D.S, are
@@ -175,22 +165,19 @@ datatype of the source, and the _fmt_ field encodes the datatype of the
destination. FCVT.S.D rounds according to the RM field; FCVT.D.S will
never round.
-R@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FCVT.S.D & S & D & src & RM & dest & OP-FP +
-FCVT.D.S & D & S & src & RM & dest & OP-FP +
+include::images/wavedrom/fcvt-sd-ds.adoc[]
+[[fcvt-sd-ds]]
+.Double-precision FCVT.S.D and FCVT.D.S
+image::image_placeholder.png[]
Floating-point to floating-point sign-injection instructions, FSGNJ.D,
FSGNJN.D, and FSGNJX.D are defined analogously to the single-precision
sign-injection instruction.
+//FSGNJ.D, FSGNJN.D, and FSGNJX.D
-R@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FSGNJ & D & src2 & src1 & J[N]/JX & dest & OP-FP +
+include::images/wavedrom/fsjgnjnx-d.adoc[]
+.Double-precision sign-injection
+image::image_placeholder.png[]
For XLENlatexmath:[$\geq$]64 only, instructions are provided to move bit
patterns between the floating-point and integer registers. FMV.X.D moves
@@ -203,13 +190,13 @@ register _rd_.
FMV.X.D and FMV.D.X do not modify the bits being transferred; in
particular, the payloads of non-canonical NaNs are preserved.
-R@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FMV.X.D & D & 0 & src & 000 & dest & OP-FP +
-FMV.D.X & D & 0 & src & 000 & dest & OP-FP +
+include::images/wavedrom/d-xwwx.adoc[]
+[[fmvxddx]]
+.Double-precision float move to _rd_
+image::image_placeholder.png[]
+[TIP]
+====
Early versions of the RISC-V ISA had additional instructions to allow
RV32 systems to transfer between the upper and lower portions of a
64-bit floating-point register and an integer register. However, these
@@ -229,6 +216,7 @@ stores, the marginal hardware cost of moving from a 32-bit to a 64-bit
integer datapath is low, and a software ABI supporting 32-bit wide
address-space and pointers can be used to avoid growth of static data
and dynamic memory traffic.
+====
=== Double-Precision Floating-Point Compare Instructions
@@ -236,11 +224,10 @@ The double-precision floating-point compare instructions are defined
analogously to their single-precision counterparts, but operate on
double-precision operands.
-S@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FCMP & D & src2 & src1 & EQ/LT/LE & dest & OP-FP +
+include::images/wavedrom/double-fl-compare.adoc[]
+[[fl-compare]]
+.Double-precision float compare
+image::image_placeholder.png[]
=== Double-Precision Floating-Point Classify Instruction
@@ -248,8 +235,9 @@ The double-precision floating-point classify instruction, FCLASS.D, is
defined analogously to its single-precision counterpart, but operates on
double-precision operands.
-S@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FCLASS & D & 0 & src & 001 & dest & OP-FP +
+include::images/wavedrom/double-fl-class.adoc[]
+[[fl-class]]
+.Double-precision float classify
+image::image_placeholder.png[]
+
+
diff --git a/src/graphviz/litmus_addrpo.dot b/src/graphviz/litmus_addrpo.dot
deleted file mode 100644
index d61fd5e..0000000
--- a/src/graphviz/litmus_addrpo.dot
+++ /dev/null
@@ -1,30 +0,0 @@
-digraph G {
-
-splines=spline;
-pad="0.000000";
-
-
-/* the unlocked events */
-eiid0 [label="a: Ry=1", shape="none", fontsize=8, pos="1.000000,1.125000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid1 [label="c: Wx=t", shape="none", fontsize=8, pos="1.000000,0.562500!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid2 [label="d: Rx=t", shape="none", fontsize=8, pos="2.500000,1.125000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid3 [label="e: Rt=$v$", shape="none", fontsize=8, pos="2.500000,0.562500!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid4 [label="f: Wy=1", shape="none", fontsize=8, pos="2.500000,0.000000!", fixedsize="false", height="0.111111", width="0.555556"];
-
-/* the intra_causality_data edges */
-
-
-/* the intra_causality_control edges */
-
-/* the poi edges */
-/* the rfmap edges */
-
-
-/* The viewed-before edges */
-eiid0 -> eiid1 [label=<<font color="darkgreen">fence</font><font color="indigo">ppo</font>>, color="darkgreen:indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid1 -> eiid2 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid2 -> eiid3 [label=<<font color="indigo">addr</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid2 -> eiid4 [label=<<font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid3 -> eiid4 [label=<<font color="black">po</font>>, color="black", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid4 -> eiid0 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-}
diff --git a/src/graphviz/litmus_datacoirfi.dot b/src/graphviz/litmus_datacoirfi.dot
deleted file mode 100644
index df8ea72..0000000
--- a/src/graphviz/litmus_datacoirfi.dot
+++ /dev/null
@@ -1,33 +0,0 @@
-digraph G {
-
-splines=spline;
-pad="0.000000";
-
-
-/* the unlocked events */
-eiid0 [label="a: Wx=1", shape="none", fontsize=8, pos="1.000000,2.250000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid1 [label="c: Wy=1", shape="none", fontsize=8, pos="1.000000,1.687500!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid2 [label="d: Ry=1", shape="none", fontsize=8, pos="2.500000,3.093750!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid3 [label="e: Wz=1", shape="none", fontsize=8, pos="2.500000,2.531250!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid4 [label="f: Wz=1", shape="none", fontsize=8, pos="2.500000,1.968750!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid5 [label="g: Rz=1", shape="none", fontsize=8, pos="2.500000,1.406250!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid6 [label="h: Rx=0", shape="none", fontsize=8, pos="2.500000,0.843750!", fixedsize="false", height="0.111111", width="0.555556"];
-
-/* the intra_causality_data edges */
-
-
-/* the intra_causality_control edges */
-
-/* the poi edges */
-/* the rfmap edges */
-
-
-/* The viewed-before edges */
-eiid0 -> eiid1 [label=<<font color="darkgreen">fence</font><font color="indigo">ppo</font>>, color="darkgreen:indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid1 -> eiid2 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid2 -> eiid3 [label=<<font color="indigo">data</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid3 -> eiid4 [label=<<font color="blue">co</font><font color="indigo">ppo</font>>, color="bluf:indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid4 -> eiid5 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid5 -> eiid6 [label=<<font color="indigo">addr</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid6 -> eiid0 [label=<<font color="#ffa040">fr</font>>, color="#ffa040", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-}
diff --git a/src/graphviz/litmus_datarfi.dot b/src/graphviz/litmus_datarfi.dot
deleted file mode 100644
index 88106e3..0000000
--- a/src/graphviz/litmus_datarfi.dot
+++ /dev/null
@@ -1,32 +0,0 @@
-digraph G {
-
-splines=spline;
-pad="0.000000";
-
-
-/* the unlocked events */
-eiid0 [label="a: Wx=1", shape="none", fontsize=8, pos="1.000000,1.687500!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid1 [label="c: Wy=1", shape="none", fontsize=8, pos="1.000000,1.125000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid2 [label="d: Ry=1", shape="none", fontsize=8, pos="2.500000,2.250000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid3 [label="e: Wz=1", shape="none", fontsize=8, pos="2.500000,1.687500!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid4 [label="f: Rz=1", shape="none", fontsize=8, pos="2.500000,1.125000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid5 [label="g: Rx=0", shape="none", fontsize=8, pos="2.500000,0.562500!", fixedsize="false", height="0.111111", width="0.555556"];
-
-/* the intra_causality_data edges */
-
-
-/* the intra_causality_control edges */
-
-/* the poi edges */
-/* the rfmap edges */
-
-
-/* The viewed-before edges */
-eiid0 -> eiid1 [label=<<font color="darkgreen">fence</font><font color="indigo">ppo</font>>, color="darkgreen:indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid1 -> eiid2 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid2 -> eiid3 [label=<<font color="indigo">data</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid2 -> eiid4 [label=<<font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid3 -> eiid4 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid4 -> eiid5 [label=<<font color="indigo">addr</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid5 -> eiid0 [label=<<font color="#ffa040">fr</font>>, color="#ffa040", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-}
diff --git a/src/graphviz/litmus_lb_lrsc.dot b/src/graphviz/litmus_lb_lrsc.dot
deleted file mode 100644
index 0a6c4ca..0000000
--- a/src/graphviz/litmus_lb_lrsc.dot
+++ /dev/null
@@ -1,32 +0,0 @@
-digraph G {
-
-splines=spline;
-pad="0.000000";
-
-
-/* the unlocked events */
-eiid0 [label="a: Rx=0", shape="none", fontsize=8, pos="1.000000,1.687500!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid1 [label="b: Rz*=0", shape="none", fontsize=8, pos="1.000000,1.125000!", fixedsize="false", height="0.111111", width="0.666667"];
-eiid2 [label="c: Wz*=0", shape="none", fontsize=8, pos="1.000000,0.562500!", fixedsize="false", height="0.111111", width="0.666667"];
-eiid3 [label="d: Wy=0", shape="none", fontsize=8, pos="1.000000,0.000000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid4 [label="e: Ry=0", shape="none", fontsize=8, pos="2.500000,1.687500!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid5 [label="f: Wx=0", shape="none", fontsize=8, pos="2.500000,1.125000!", fixedsize="false", height="0.111111", width="0.555556"];
-
-/* the intra_causality_data edges */
-
-
-/* the intra_causality_control edges */
-
-/* the poi edges */
-/* the rfmap edges */
-
-
-/* The viewed-before edges */
-eiid0 -> eiid1 [label=<<font color="black">po</font>>, color="black", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid0 -> eiid2 [label=<<font color="indigo">data</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid1 -> eiid2 [label=<<font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid2 -> eiid3 [label=<<font color="indigo">data</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid3 -> eiid4 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid4 -> eiid5 [label=<<font color="indigo">data</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid5 -> eiid0 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-}
diff --git a/src/graphviz/litmus_mp_fenceww_fri_rfi_addr.dot b/src/graphviz/litmus_mp_fenceww_fri_rfi_addr.dot
deleted file mode 100644
index e56599b..0000000
--- a/src/graphviz/litmus_mp_fenceww_fri_rfi_addr.dot
+++ /dev/null
@@ -1,32 +0,0 @@
-digraph G {
-
-splines=spline;
-pad="0.000000";
-
-
-/* the unlocked events */
-eiid0 [label="a: Wx=1", shape="none", fontsize=8, pos="1.000000,1.575000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid1 [label="c: Wy=1", shape="none", fontsize=8, pos="1.000000,1.050000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid2 [label="d: Ry=1", shape="none", fontsize=8, pos="2.500000,1.575000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid3 [label="e: Wy=2", shape="none", fontsize=8, pos="2.500000,1.050000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid4 [label="f: Ry=2", shape="none", fontsize=8, pos="2.500000,0.525000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid5 [label="i: Rx=0", shape="none", fontsize=8, pos="2.500000,0.000000!", fixedsize="false", height="0.111111", width="0.555556"];
-
-/* the intra_causality_data edges */
-
-
-/* the intra_causality_control edges */
-
-/* the poi edges */
-/* the rfmap edges */
-
-
-/* The viewed-before edges */
-eiid0 -> eiid1 [label=<<font color="darkgreen">fence</font><font color="indigo">ppo</font>>, color="darkgreen:indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid1 -> eiid2 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid1 -> eiid3 [label=<<font color="blue">co</font>>, color="blue", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid2 -> eiid3 [label=<<font color="#ffa040">fr</font><font color="indigo">ppo</font>>, color="#ffa040:indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid3 -> eiid4 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid4 -> eiid5 [label=<<font color="indigo">addr</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid5 -> eiid0 [label=<<font color="#ffa040">fr</font>>, color="#ffa040", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-}
diff --git a/src/graphviz/litmus_rsw.dot b/src/graphviz/litmus_rsw.dot
deleted file mode 100644
index 9142351..0000000
--- a/src/graphviz/litmus_rsw.dot
+++ /dev/null
@@ -1,34 +0,0 @@
-digraph G {
-
-splines=spline;
-pad="0.000000";
-
-
-/* the unlocked events */
-eiid0 [label="a: Wx=1", shape="none", fontsize=8, pos="1.000000,2.025000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid1 [label="c: Wy=1", shape="none", fontsize=8, pos="1.000000,1.575000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid2 [label="d: Ry=1", shape="none", fontsize=8, pos="2.000000,2.025000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid3 [label="g: Rz=$v$", shape="none", fontsize=8, pos="2.000000,1.575000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid4 [label="h: Rz=$v$", shape="none", fontsize=8, pos="2.000000,1.125000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid5 [label="k: Rx=0", shape="none", fontsize=8, pos="2.000000,0.675000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid6 [label=" Wz=$v$", shape="none", fontsize=8, pos="3.000000,1.350000!", fixedsize="false", height="0.111111", width="0.555556"];
-
-/* the intra_causality_data edges */
-
-
-/* the intra_causality_control edges */
-
-/* the poi edges */
-/* the rfmap edges */
-
-
-/* The viewed-before edges */
-eiid0 -> eiid1 [label=<<font color="darkgreen">fence</font><font color="indigo">ppo</font>>, color="darkgreen:indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid1 -> eiid2 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid2 -> eiid3 [label=<<font color="indigo">addr</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid3 -> eiid4 [label=<<font color="black">po</font>>, color="black", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid4 -> eiid5 [label=<<font color="indigo">addr</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid5 -> eiid0 [label=<<font color="#ffa040">fr</font>>, color="#ffa040", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid6 -> eiid3 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid6 -> eiid4 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-}
diff --git a/src/graphviz/litmus_subsumption.dot b/src/graphviz/litmus_subsumption.dot
deleted file mode 100644
index 75e0a70..0000000
--- a/src/graphviz/litmus_subsumption.dot
+++ /dev/null
@@ -1,29 +0,0 @@
-digraph G {
-
-splines=spline;
-pad="0.000000";
-
-
-/* the unlocked events */
-eiid0 [label="a: Wx=3", shape="none", fontsize=8, pos="1.000000,1.125000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid1 [label="b: Wy=1", shape="none", fontsize=8, pos="1.000000,0.562500!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid2 [label="c: Ry=1", shape="none", fontsize=8, pos="2.500000,1.125000!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid3 [label="d: Wx=1", shape="none", fontsize=8, pos="2.500000,0.562500!", fixedsize="false", height="0.111111", width="0.555556"];
-eiid4 [label="e: Wx=2", shape="none", fontsize=8, pos="2.500000,0.000000!", fixedsize="false", height="0.111111", width="0.555556"];
-
-/* the intra_causality_data edges */
-
-
-/* the intra_causality_control edges */
-
-/* the poi edges */
-/* the rfmap edges */
-
-
-/* The viewed-before edges */
-eiid0 -> eiid1 [label=<<font color="darkgreen">fence</font><font color="indigo">ppo</font>>, color="darkgreen:indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid0 -> eiid3 [label=<<font color="blue">co</font>>, color="blue", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid1 -> eiid2 [label=<<font color="red">rf</font>>, color="red", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid2 -> eiid3 [label=<<font color="indigo">data</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-eiid3 -> eiid4 [label=<<font color="blue">co</font><font color="indigo">ppo</font>>, color="blue:indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
-}
diff --git a/src/images/f-standard.png b/src/images/f-standard.png
new file mode 100644
index 0000000..9a0a2c1
--- /dev/null
+++ b/src/images/f-standard.png
Binary files differ
diff --git a/src/graphviz/litmus_ppoca.dot b/src/images/graphviz/litmus_ppoca.txt
index d512d5f..3ad361c 100644
--- a/src/graphviz/litmus_ppoca.dot
+++ b/src/images/graphviz/litmus_ppoca.txt
@@ -1,3 +1,5 @@
+
+....
digraph G {
splines=spline;
@@ -31,3 +33,5 @@ eiid3 -> eiid4 [label=<<font color="red">rf</font>>, color="red", fontsize=11, p
eiid4 -> eiid5 [label=<<font color="indigo">addr</font><font color="indigo">ppo</font>>, color="indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
eiid5 -> eiid0 [label=<<font color="#ffa040">fr</font>>, color="#ffa040", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
}
+....
+
diff --git a/src/graphviz/litmus_sample.dot b/src/images/graphviz/litmus_sample.txt
index 072c8ca..7621050 100644
--- a/src/graphviz/litmus_sample.dot
+++ b/src/images/graphviz/litmus_sample.txt
@@ -1,3 +1,4 @@
+
digraph G {
splines=spline;
diff --git a/src/graphviz/litmus_sb_fwd.dot b/src/images/graphviz/litmus_sb_fwd.txt
index 5434951..dac51f8 100644
--- a/src/graphviz/litmus_sb_fwd.dot
+++ b/src/images/graphviz/litmus_sb_fwd.txt
@@ -1,3 +1,5 @@
+
+....
digraph G {
splines=spline;
@@ -29,3 +31,5 @@ eiid3 -> eiid4 [label=<<font color="red">rf</font>>, color="red", fontsize=11, p
eiid4 -> eiid5 [label=<<font color="darkgreen">fence</font><font color="indigo">ppo</font>>, color="darkgreen:indigo", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
eiid5 -> eiid0 [label=<<font color="#ffa040">fr</font>>, color="#ffa040", fontsize=11, penwidth="3.000000", arrowsize="0.666700"];
}
+...
+
diff --git a/src/images/wavedrom/d-xwwx.adoc b/src/images/wavedrom/d-xwwx.adoc
new file mode 100644
index 0000000..913da9a
--- /dev/null
+++ b/src/images/wavedrom/d-xwwx.adoc
@@ -0,0 +1,19 @@
+//xw-wx
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 0, type: 8},
+ {bits: 5, name: 'rs1', attr: 'src', type: 4},
+ {bits: 5, name: 0, type: 8},
+ {bits: 2, name: 'fmt', attr: 'D', type: 8},
+ {bits: 5, name: 'funct5', attr: ['FMV.X.W', 'FMV.W.X'], type: 8},
+]}
+....
+
+
+
+
+
diff --git a/src/images/wavedrom/double-fl-class.adoc b/src/images/wavedrom/double-fl-class.adoc
new file mode 100644
index 0000000..b57aa8f
--- /dev/null
+++ b/src/images/wavedrom/double-fl-class.adoc
@@ -0,0 +1,15 @@
+//## 13.7 Double-Precision Floating-Point Classify Instruction
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'rm', attr: 1, type: 8},
+ {bits: 5, name: 'rs1', attr: 'src', type: 4},
+ {bits: 5, name: 'rs2', attr: '0', type: 8},
+ {bits: 2, name: 'fmt', attr: 'D', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FCLASS', type: 8},
+]}
+....
+
diff --git a/src/images/wavedrom/double-fl-compare.adoc b/src/images/wavedrom/double-fl-compare.adoc
new file mode 100644
index 0000000..51f70d9
--- /dev/null
+++ b/src/images/wavedrom/double-fl-compare.adoc
@@ -0,0 +1,15 @@
+//## 13.6 Double-Precision Floating-Point Compare Instructions
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: ['EQ', 'LT', 'LE'], type: 8},
+ {bits: 5, name: 'rs1', attr: 'src1', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src2', type: 4},
+ {bits: 2, name: 'fmt', attr: 'D', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FCMP', type: 8},
+]}
+....
+
diff --git a/src/images/wavedrom/double-fl-compute.adoc b/src/images/wavedrom/double-fl-compute.adoc
new file mode 100644
index 0000000..96251e8
--- /dev/null
+++ b/src/images/wavedrom/double-fl-compute.adoc
@@ -0,0 +1,54 @@
+//## 13.4 Double-Precision Floating-Point Computational Instructions
+
+[wavedrom, , svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 'RM', type: 8},
+ {bits: 5, name: 'rs1', attr: 'src1', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src2', type: 4},
+ {bits: 2, name: 'fmt', attr: 'D', type: 8},
+ {bits: 5, name: 'funct5', attr: ['FADD', 'FSUB', 'FMUL', 'FDIV'], type: 8},
+]}
+....
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 'RM', type: 8},
+ {bits: 5, name: 'rs1', attr: 'src', type: 4},
+ {bits: 5, name: 0, type: 8},
+ {bits: 2, name: 'fmt', attr: 'D', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FSQRT', type: 8},
+]}
+....
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: ['MIN', 'MAX'], type: 8},
+ {bits: 5, name: 'rs1', attr: 'src1', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src2', type: 4},
+ {bits: 2, name: 'fmt', attr: 'D', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FMIN-MAX', type: 8},
+]}
+....
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: ['FMADD', 'FNMADD', 'FMSUB', 'FNMSUB'], type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 'RM', type: 8},
+ {bits: 5, name: 'rs1', attr: 'src1', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src2', type: 4},
+ {bits: 2, name: 'fmt', attr: 'D', type: 8},
+ {bits: 5, name: 'rs3', attr: 'src3', type: 4},
+]}
+....
+
diff --git a/src/images/wavedrom/double-fl-convert-mv.adoc b/src/images/wavedrom/double-fl-convert-mv.adoc
new file mode 100644
index 0000000..ac6d7e6
--- /dev/null
+++ b/src/images/wavedrom/double-fl-convert-mv.adoc
@@ -0,0 +1,16 @@
+//## 13.5 Double-Precision Floating-Point Conversion and Move Instructions
+
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 'RM', type: 8},
+ {bits: 5, name: 'rs1', attr: 'src', type: 4},
+ {bits: 5, name: 'rs2', attr: ['W', 'WU', 'L', 'LU'], type: 4},
+ {bits: 2, name: 'fmt', attr: 'D', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FCVT.int.D', type: 8},
+]}
+....
+
diff --git a/src/images/wavedrom/double-ls.adoc b/src/images/wavedrom/double-ls.adoc
new file mode 100644
index 0000000..e53200d
--- /dev/null
+++ b/src/images/wavedrom/double-ls.adoc
@@ -0,0 +1,25 @@
+//# "D" Standard Extension for Double-Precision Floating-Point, Version 2.2
+//## 13.3 Double-Precision Load and Store Instructions
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'LOAD-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'width', attr: 'D', type: 8},
+ {bits: 5, name: 'rs1', attr: 'base', type: 4},
+ {bits: 12, name: 'imm[11:0]', attr: 'offset', type: 3},
+]}
+....
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'STORE-FP', type: 8},
+ {bits: 5, name: 'imm[4:0]', attr: 'offset', type: 3},
+ {bits: 3, name: 'width', attr: 'D', type: 8},
+ {bits: 5, name: 'rs1', attr: 'base', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src', type: 4},
+ {bits: 12, name: 'imm[11:5]', attr: 'offset', type: 3},
+]}
+....
diff --git a/src/images/wavedrom/fcvt-sd-ds.adoc b/src/images/wavedrom/fcvt-sd-ds.adoc
new file mode 100644
index 0000000..085f300
--- /dev/null
+++ b/src/images/wavedrom/fcvt-sd-ds.adoc
@@ -0,0 +1,16 @@
+//FCVT.S.D and FCVT.D.S
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 'RM', type: 8},
+ {bits: 5, name: 'rs1', attr: 'src', type: 4},
+ {bits: 5, name: 'rs2', attr: ['D', 'S'], type: 4},
+ {bits: 2, name: 'fmt', attr: ['S','D'], type: 8},
+ {bits: 5, name: 'funct5', attr: ['FCVT.S.D', 'FCVT.D.S'], type: 8},
+]}
+....
+
+
diff --git a/src/images/wavedrom/fsjgnjnx-d.adoc b/src/images/wavedrom/fsjgnjnx-d.adoc
new file mode 100644
index 0000000..5e4ca6c
--- /dev/null
+++ b/src/images/wavedrom/fsjgnjnx-d.adoc
@@ -0,0 +1,15 @@
+//FSGNJ.D, FSGNJN.D, and FSGNJX.D
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: ['J', 'JN', 'JX'], type: 8},
+ {bits: 5, name: 'rs1', attr: 'src1', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src2', type: 4},
+ {bits: 2, name: 'fmt', attr: 'D', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FSGNJ', type: 8},
+]}
+....
+
diff --git a/src/images/wavedrom/half-ls.adoc b/src/images/wavedrom/half-ls.adoc
new file mode 100644
index 0000000..41ecfaa
--- /dev/null
+++ b/src/images/wavedrom/half-ls.adoc
@@ -0,0 +1,22 @@
+//## 15.1 Half-Precision Load and Store Instructions
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'LOAD-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'width', attr: 'H', type: 8},
+ {bits: 5, name: 'rs1', attr: 'base', type: 4},
+ {bits: 12, name: 'imm[11:0]', attr: 'offset', type: 3},
+]})}
+
+${wd({reg: [
+ {bits: 7, name: 'opcode', attr: 'STORE-FP', type: 8},
+ {bits: 5, name: 'imm[4:0]', attr: 'offset', type: 3},
+ {bits: 3, name: 'width', attr: 'H', type: 8},
+ {bits: 5, name: 'rs1', attr: 'base', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src', type: 4},
+ {bits: 12, name: 'imm[11:5]', attr: 'offset', type: 3},
+]}
+....
+
diff --git a/src/images/wavedrom/quad-cnvrt-intch-xqqx.adoc b/src/images/wavedrom/quad-cnvrt-intch-xqqx.adoc
new file mode 100644
index 0000000..37cd9e3
--- /dev/null
+++ b/src/images/wavedrom/quad-cnvrt-intch-xqqx.adoc
@@ -0,0 +1,15 @@
+//quad-cnvrt-intch-xqqx
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: ['J', 'JN', 'JX'], type: 8},
+ {bits: 5, name: 'rs1', attr: 'src1', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src2', type: 4},
+ {bits: 2, name: 'fmt', attr: 'Q', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FSGNJ', type: 8},
+]}
+....
+
diff --git a/src/images/wavedrom/quad-cnvrt-mv.adoc b/src/images/wavedrom/quad-cnvrt-mv.adoc
new file mode 100644
index 0000000..7062f18
--- /dev/null
+++ b/src/images/wavedrom/quad-cnvrt-mv.adoc
@@ -0,0 +1,28 @@
+//## 14.3 Quad-Precision Convert and Move Instructions
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 'RM', type: 8},
+ {bits: 5, name: 'rs1', attr: 'src', type: 4},
+ {bits: 5, name: 'rs2', attr: ['W', 'WU', 'L', 'LU'], type: 4},
+ {bits: 2, name: 'fmt', attr: 'Q', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FCVT.int.Q', type: 8},
+]}
+....
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 'RM', type: 8},
+ {bits: 5, name: 'rs1', attr: 'src', type: 4},
+ {bits: 5, name: 'rs2', attr: ['W', 'WU', 'L', 'LU'], type: 4},
+ {bits: 2, name: 'fmt', attr: 'Q', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FCVT.Q.int', type: 8},
+]}
+....
+
diff --git a/src/images/wavedrom/quad-cnvt-interchange.adoc b/src/images/wavedrom/quad-cnvt-interchange.adoc
new file mode 100644
index 0000000..6820d2b
--- /dev/null
+++ b/src/images/wavedrom/quad-cnvt-interchange.adoc
@@ -0,0 +1,16 @@
+//14 conv-mv
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 'RM', type: 8},
+ {bits: 5, name: 'rs1', attr: 'src', type: 4},
+ {bits: 5, name: 'rs2', attr: ['Q', 'S', 'Q', 'D'], type: 4},
+ {bits: 2, name: 'fmt', attr: ['S','Q', 'D', 'Q'], type: 8},
+ {bits: 5, name: 'funct5', attr: ['FCVT.S.Q', 'FCVT.Q.S', 'FCVT.D.Q', 'FCVT.Q.D'], type: 8},
+]}
+....
+
+
diff --git a/src/images/wavedrom/quad-compute.adoc b/src/images/wavedrom/quad-compute.adoc
new file mode 100644
index 0000000..88ddb61
--- /dev/null
+++ b/src/images/wavedrom/quad-compute.adoc
@@ -0,0 +1,55 @@
+//## 14.2 Quad-Precision Computational Instructions
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 'RM', type: 8},
+ {bits: 5, name: 'rs1', attr: 'src1', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src2', type: 4},
+ {bits: 2, name: 'fmt', attr: 'Q', type: 8},
+ {bits: 5, name: 'funct5', attr: ['FADD', 'FSUB', 'FMUL', 'FDIV'], type: 8},
+]}
+....
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 'RM', type: 8},
+ {bits: 5, name: 'rs1', attr: 'src', type: 4},
+ {bits: 5, name: 0, type: 8},
+ {bits: 2, name: 'fmt', attr: 'Q', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FSQRT', type: 8},
+]}
+....
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: ['MIN', 'MAX'], type: 8},
+ {bits: 5, name: 'rs1', attr: 'src1', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src2', type: 4},
+ {bits: 2, name: 'fmt', attr: 'Q', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FMIN-MAX', type: 8},
+]}
+....
+
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: ['FMADD', 'FNMADD', 'FMSUB', 'FNMSUB'], type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: 'RM', type: 8},
+ {bits: 5, name: 'rs1', attr: 'src1', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src2', type: 4},
+ {bits: 2, name: 'fmt', attr: 'Q', type: 8},
+ {bits: 5, name: 'rs3', attr: 'src3', type: 4},
+]}
+....
+
diff --git a/src/images/wavedrom/quad-float-clssfy.adoc b/src/images/wavedrom/quad-float-clssfy.adoc
new file mode 100644
index 0000000..8b276c8
--- /dev/null
+++ b/src/images/wavedrom/quad-float-clssfy.adoc
@@ -0,0 +1,15 @@
+//## 14.5 Quad-Precision Floating-Point Classify Instruction
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'rm', attr: 1, type: 8},
+ {bits: 5, name: 'rs1', attr: 'src', type: 4},
+ {bits: 5, name: 'rs2', attr: '0', type: 8},
+ {bits: 2, name: 'fmt', attr: 'Q', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FCLASS', type: 8},
+]}
+....
+
diff --git a/src/images/wavedrom/quad-float-compare.adoc b/src/images/wavedrom/quad-float-compare.adoc
new file mode 100644
index 0000000..0a4e2b7
--- /dev/null
+++ b/src/images/wavedrom/quad-float-compare.adoc
@@ -0,0 +1,15 @@
+//## 14.4 Quad-Precision Floating-Point Compare Instructions
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'OP-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'func3', attr: ['EQ', 'LT', 'LE'], type: 8},
+ {bits: 5, name: 'rs1', attr: 'src1', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src2', type: 4},
+ {bits: 2, name: 'fmt', attr: 'Q', type: 8},
+ {bits: 5, name: 'funct5', attr: 'FCMP', type: 8},
+]}
+....
+
diff --git a/src/images/wavedrom/quad-ls.adoc b/src/images/wavedrom/quad-ls.adoc
new file mode 100644
index 0000000..2cef49c
--- /dev/null
+++ b/src/images/wavedrom/quad-ls.adoc
@@ -0,0 +1,25 @@
+//## 14.1 Quad-Precision Load and Store Instructions
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'LOAD-FP', type: 8},
+ {bits: 5, name: 'rd', attr: 'dest', type: 2},
+ {bits: 3, name: 'width', attr: 'Q', type: 8},
+ {bits: 5, name: 'rs1', attr: 'base', type: 4},
+ {bits: 12, name: 'imm[11:0]', attr: 'offset', type: 3},
+]}
+....
+
+[wavedrom, ,svg]
+....
+{reg: [
+ {bits: 7, name: 'opcode', attr: 'STORE-FP', type: 8},
+ {bits: 5, name: 'imm[4:0]', attr: 'offset', type: 3},
+ {bits: 3, name: 'width', attr: 'Q', type: 8},
+ {bits: 5, name: 'rs1', attr: 'base', type: 4},
+ {bits: 5, name: 'rs2', attr: 'src', type: 4},
+ {bits: 12, name: 'imm[11:5]', attr: 'offset', type: 3},
+]}
+....
+
diff --git a/src/inkscape/PLIC-block-diagram.svg b/src/inkscape/PLIC-block-diagram.svg
deleted file mode 100644
index 0b84e8f..0000000
--- a/src/inkscape/PLIC-block-diagram.svg
+++ /dev/null
@@ -1,3309 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- viewBox="83.59451 42.51969 602.3898 428.53154"
- width="602.3898"
- height="428.53154"
- id="svg879"
- sodipodi:docname="PLIC-block-diagram.svg"
- inkscape:version="0.92.2 5c3e80d, 2017-08-06">
- <metadata
- id="metadata883">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1116"
- inkscape:window-height="988"
- id="namedview881"
- showgrid="false"
- inkscape:zoom="1.2207894"
- inkscape:cx="261.37251"
- inkscape:cy="376.57502"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:window-maximized="0"
- inkscape:current-layer="Group_94" />
- <defs
- id="defs17">
- <font-face
- font-family="Helvetica Neue"
- font-size="12"
- panose-1="2 0 5 3 0 0 0 2 0 4"
- units-per-em="1000"
- underline-position="-100"
- underline-thickness="50"
- slope="0"
- x-height="517"
- cap-height="714"
- ascent="951.9958"
- descent="-212.99744"
- font-weight="400"
- id="font-face2">
- <font-face-src>
- <font-face-name
- name="HelveticaNeue" />
- </font-face-src>
- </font-face>
- <marker
- orient="auto"
- overflow="visible"
- markerUnits="strokeWidth"
- id="FilledArrow_Marker"
- stroke-linejoin="miter"
- stroke-miterlimit="10"
- viewBox="-1 -4 10 8"
- markerWidth="10"
- markerHeight="8"
- color="black">
- <g
- id="g6">
- <path
- d="M 8 0 L 0 -3 L 0 3 Z"
- fill="currentColor"
- stroke="currentColor"
- stroke-width="1"
- id="path4" />
- </g>
- </marker>
- <font-face
- font-family="Helvetica Neue"
- font-size="16"
- panose-1="2 0 5 3 0 0 0 2 0 4"
- units-per-em="1000"
- underline-position="-100"
- underline-thickness="50"
- slope="0"
- x-height="517"
- cap-height="714"
- ascent="951.9958"
- descent="-212.99744"
- font-weight="400"
- id="font-face9">
- <font-face-src>
- <font-face-name
- name="HelveticaNeue" />
- </font-face-src>
- </font-face>
- <font-face
- font-family="Helvetica Neue"
- font-size="14"
- panose-1="2 0 5 3 0 0 0 2 0 4"
- units-per-em="1000"
- underline-position="-100"
- underline-thickness="50"
- slope="0"
- x-height="517"
- cap-height="714"
- ascent="951.9958"
- descent="-212.99744"
- font-weight="400"
- id="font-face11">
- <font-face-src>
- <font-face-name
- name="HelveticaNeue" />
- </font-face-src>
- </font-face>
- <font-face
- font-family="Helvetica Neue"
- font-size="96"
- panose-1="2 0 2 6 0 0 0 2 0 4"
- units-per-em="1000"
- underline-position="-100"
- underline-thickness="50"
- slope="0"
- x-height="520"
- cap-height="722"
- ascent="930.9998"
- descent="-212.99744"
- font-weight="200"
- id="font-face13">
- <font-face-src>
- <font-face-name
- name="HelveticaNeue-UltraLight" />
- </font-face-src>
- </font-face>
- <font-face
- font-family="Helvetica Neue"
- font-size="10"
- panose-1="2 0 5 3 0 0 0 2 0 4"
- units-per-em="1000"
- underline-position="-100"
- underline-thickness="50"
- slope="0"
- x-height="517"
- cap-height="714"
- ascent="951.9958"
- descent="-212.99744"
- font-weight="400"
- id="font-face15">
- <font-face-src>
- <font-face-name
- name="HelveticaNeue" />
- </font-face-src>
- </font-face>
- </defs>
- <g
- id="Canvas_1"
- fill-opacity="1"
- stroke-dasharray="none"
- stroke="none"
- stroke-opacity="1"
- fill="none">
- <title
- id="title19">Canvas 1</title>
- <g
- id="Canvas_1: Layer 2">
- <title
- id="title21">Layer 2</title>
- <g
- id="Group_201">
- <g
- id="Group_203">
- <g
- id="Graphic_216">
- <rect
- x="254.44885"
- y="71.69292"
- width="51.02362"
- height="19.842522"
- fill="white"
- id="rect23" />
- <rect
- x="254.44885"
- y="71.69292"
- width="51.02362"
- height="19.842522"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect25" />
- <text
- transform="translate(255.44885 74.44618)"
- fill="black"
- id="text29">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".8538086"
- y="11"
- id="tspan27">Gateway</tspan>
- </text>
- </g>
- <g
- id="Graphic_215">
- <rect
- x="279.96066"
- y="122.71655"
- width="42.51969"
- height="19.842522"
- fill="white"
- id="rect32" />
- <rect
- x="279.96066"
- y="122.71655"
- width="42.51969"
- height="19.842522"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect34" />
- <text
- transform="translate(280.96066 125.46981)"
- fill="black"
- id="text38">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="1.3778449"
- y="11"
- id="tspan36">Priority</tspan>
- </text>
- </g>
- <g
- id="Line_214">
- <line
- x1="277.126"
- y1="182.4016"
- x2="277.126"
- y2="431.69296"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line41" />
- </g>
- <g
- id="Graphic_213">
- <rect
- x="254.44885"
- y="122.71655"
- width="17.007871"
- height="19.842522"
- fill="white"
- id="rect44" />
- <rect
- x="254.44885"
- y="122.71655"
- width="17.007871"
- height="19.842522"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect46" />
- <text
- transform="translate(255.44885 125.46981)"
- fill="black"
- id="text50">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="2.0619356"
- y="11"
- id="tspan48">IP</tspan>
- </text>
- </g>
- <g
- id="Graphic_212">
- <path
- d="M 262.21498 159.40947 L 262.21498 170.90553 C 262.21498 176.65356 266.20484 182.4016 278.17443 182.4016 C 290.14403 182.4016 294.1339 176.65356 294.1339 170.90553 L 294.1339 159.40947 Z"
- fill="white"
- id="path53" />
- <path
- d="M 262.21498 159.40947 L 262.21498 170.90553 C 262.21498 176.65356 266.20484 182.4016 278.17443 182.4016 C 290.14403 182.4016 294.1339 176.65356 294.1339 170.90553 L 294.1339 159.40947 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path55" />
- </g>
- <g
- id="Line_211">
- <line
- x1="288.4646"
- y1="142.55905"
- x2="288.4646"
- y2="159.56692"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line58" />
- </g>
- <g
- id="Line_210">
- <line
- x1="265.78743"
- y1="142.55907"
- x2="265.78743"
- y2="159.56695"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line61" />
- </g>
- <g
- id="Line_209">
- <line
- x1="285.62995"
- y1="153.89765"
- x2="291.29924"
- y2="148.22836"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line64" />
- </g>
- <g
- id="Line_208">
- <line
- x1="274.29137"
- y1="193.5827"
- x2="279.96066"
- y2="187.9134"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line67" />
- </g>
- <g
- id="Line_207">
- <line
- x1="262.9528"
- y1="91.53544"
- x2="262.9528"
- y2="112.31655"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line70" />
- </g>
- <g
- id="Graphic_206">
- <text
- transform="translate(264.20427 91.86744)"
- fill="black"
- id="text75">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".212"
- y="11"
- id="tspan73">Interrupt Request</tspan>
- </text>
- </g>
- <g
- id="Graphic_205">
- <text
- transform="translate(249.44885 42.85169)"
- fill="black"
- id="text80">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".492"
- y="11"
- id="tspan78">Interrupt 2 Signals</tspan>
- </text>
- </g>
- <g
- id="Line_204">
- <line
- x1="279.96066"
- y1="57.51969"
- x2="279.96066"
- y2="61.29292"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line83" />
- </g>
- </g>
- <g
- id="Line_202">
- <line
- x1="277.126"
- y1="431.69296"
- x2="277.126"
- y2="462.0473"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line87" />
- </g>
- </g>
- <g
- id="Group_185">
- <g
- id="Group_187">
- <g
- id="Graphic_200">
- <rect
- x="112.71655"
- y="71.69292"
- width="51.02362"
- height="19.842522"
- fill="white"
- id="rect91" />
- <rect
- x="112.71655"
- y="71.69292"
- width="51.02362"
- height="19.842522"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect93" />
- <text
- transform="translate(113.71655 74.44618)"
- fill="black"
- id="text97">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".8538086"
- y="11"
- id="tspan95">Gateway</tspan>
- </text>
- </g>
- <g
- id="Graphic_199">
- <rect
- x="138.22836"
- y="122.71655"
- width="42.51969"
- height="19.842522"
- fill="white"
- id="rect100" />
- <rect
- x="138.22836"
- y="122.71655"
- width="42.51969"
- height="19.842522"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect102" />
- <text
- transform="translate(139.22836 125.46981)"
- fill="black"
- id="text106">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="1.3778449"
- y="11"
- id="tspan104">Priority</tspan>
- </text>
- </g>
- <g
- id="Line_198">
- <line
- x1="135.39372"
- y1="182.4016"
- x2="135.39372"
- y2="431.69296"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line109" />
- </g>
- <g
- id="Graphic_197">
- <rect
- x="112.71655"
- y="122.71655"
- width="17.007871"
- height="19.842522"
- fill="white"
- id="rect112" />
- <rect
- x="112.71655"
- y="122.71655"
- width="17.007871"
- height="19.842522"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect114" />
- <text
- transform="translate(113.71655 125.46981)"
- fill="black"
- id="text118">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="2.0619356"
- y="11"
- id="tspan116">IP</tspan>
- </text>
- </g>
- <g
- id="Graphic_196">
- <path
- d="M 120.48268 159.40947 L 120.48268 170.90553 C 120.48268 176.65356 124.47254 182.4016 136.44213 182.4016 C 148.41173 182.4016 152.4016 176.65356 152.4016 170.90553 L 152.4016 159.40947 Z"
- fill="white"
- id="path121" />
- <path
- d="M 120.48268 159.40947 L 120.48268 170.90553 C 120.48268 176.65356 124.47254 182.4016 136.44213 182.4016 C 148.41173 182.4016 152.4016 176.65356 152.4016 170.90553 L 152.4016 159.40947 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path123" />
- </g>
- <g
- id="Line_195">
- <line
- x1="146.7323"
- y1="142.55905"
- x2="146.7323"
- y2="159.56692"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line126" />
- </g>
- <g
- id="Line_194">
- <line
- x1="124.05513"
- y1="142.55907"
- x2="124.05513"
- y2="159.56695"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line129" />
- </g>
- <g
- id="Line_193">
- <line
- x1="143.89765"
- y1="153.89765"
- x2="149.56695"
- y2="148.22836"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line132" />
- </g>
- <g
- id="Line_192">
- <line
- x1="132.55907"
- y1="193.5827"
- x2="138.22836"
- y2="187.9134"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line135" />
- </g>
- <g
- id="Line_191">
- <line
- x1="121.22049"
- y1="91.53544"
- x2="121.22049"
- y2="112.31655"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line138" />
- </g>
- <g
- id="Graphic_190">
- <text
- transform="translate(122.47197 91.86744)"
- fill="black"
- id="text143">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".212"
- y="11"
- id="tspan141">Interrupt Request</tspan>
- </text>
- </g>
- <g
- id="Graphic_189">
- <text
- transform="translate(107.71655 42.85169)"
- fill="black"
- id="text148">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".492"
- y="11"
- id="tspan146">Interrupt 1 Signals</tspan>
- </text>
- </g>
- <g
- id="Line_188">
- <line
- x1="138.22836"
- y1="57.51969"
- x2="138.22836"
- y2="61.29292"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line151" />
- </g>
- </g>
- <g
- id="Line_186">
- <line
- x1="135.39372"
- y1="431.69296"
- x2="135.39372"
- y2="462.0473"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line155" />
- </g>
- </g>
- <g
- id="Graphic_184">
- <path
- d="M 84.09451 107.71655 L 561.2599 107.71655 L 561.2599 470.55123 L 84.09451 470.55123 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="20.0,5.0,4.0,5.0"
- stroke-width="1"
- id="path159" />
- <text
- transform="translate(89.09451 447.60324)"
- fill="black"
- id="text163">
- <tspan
- font-family="Helvetica Neue"
- font-size="16"
- font-weight="400"
- fill="black"
- x="393.3894"
- y="15"
- id="tspan161">PLIC Core</tspan>
- </text>
- </g>
- <g
- id="Graphic_183">
- <path
- d="M 84.09451 65.19686 L 561.2599 65.19686 L 561.2599 107.71655 L 84.09451 107.71655 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="20.0,5.0,4.0,5.0"
- stroke-width="1"
- id="path166" />
- <text
- transform="translate(89.09451 84.76855)"
- fill="black"
- id="text170">
- <tspan
- font-family="Helvetica Neue"
- font-size="16"
- font-weight="400"
- fill="black"
- x="356.6694"
- y="15"
- id="tspan168">PLIC Gateways</tspan>
- </text>
- </g>
- <g
- id="Group_93">
- <g
- id="Graphic_182">
- <path
- d="M 90.70867 198.42522 L 555.5906 198.42522 L 555.5906 308.9764 L 90.70867 308.9764 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="1.0,4.0"
- stroke-width="1"
- id="path173" />
- </g>
- <g
- id="Group_94">
- <g
- id="Graphic_181">
- <text
- transform="translate(96.20867 243.41426)"
- fill="black"
- id="text178">
- <tspan
- font-family="Helvetica Neue"
- font-size="14"
- font-weight="400"
- fill="black"
- x=".108"
- y="13"
- id="tspan176">0</tspan>
- </text>
- </g>
- <g
- id="Graphic_180">
- <text
- transform="translate(95.70867 271.76072)"
- fill="black"
- id="text183">
- <tspan
- font-family="Helvetica Neue"
- font-size="14"
- font-weight="400"
- fill="black"
- x="1.029261"
- y="13"
- id="tspan181">0</tspan>
- </text>
- </g>
- <g
- id="Line_179">
- <line
- x1="390.2622"
- y1="249.44885"
- x2="405.3544"
- y2="249.44885"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line186" />
- </g>
- <g
- id="Line_178">
- <line
- x1="248.44885"
- y1="255.11814"
- x2="365.66933"
- y2="255.11814"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line189" />
- </g>
- <g
- id="Line_177">
- <line
- x1="248.44885"
- y1="283.4646"
- x2="377.0079"
- y2="283.4646"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line192" />
- </g>
- <g
- id="Group_159">
- <g
- id="Graphic_176">
- <rect
- x="422.36225"
- y="280.62996"
- width="56.69292"
- height="17.007873"
- fill="white"
- id="rect195" />
- <rect
- x="422.36225"
- y="280.62996"
- width="56.69292"
- height="17.007873"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect197" />
- <text
- transform="translate(423.36225 281.9659)"
- fill="black"
- id="text201">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="8.34446"
- y="11"
- id="tspan199">Max ID</tspan>
- </text>
- </g>
- <g
- id="Graphic_175">
- <rect
- x="422.36225"
- y="260.78743"
- width="56.69292"
- height="17.007873"
- fill="white"
- id="rect204" />
- <rect
- x="422.36225"
- y="260.78743"
- width="56.69292"
- height="17.007873"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect206" />
- <text
- transform="translate(423.36225 262.12337)"
- fill="black"
- id="text210">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".7844599"
- y="11"
- id="tspan208">Threshold</tspan>
- </text>
- </g>
- <g
- id="Graphic_174">
- <rect
- x="422.36225"
- y="240.9449"
- width="56.69292"
- height="17.007873"
- fill="white"
- id="rect213" />
- <rect
- x="422.36225"
- y="240.9449"
- width="56.69292"
- height="17.007873"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect215" />
- <text
- transform="translate(423.36225 242.28085)"
- fill="black"
- id="text219">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="5.23646"
- y="11"
- id="tspan217">Max Pri.</tspan>
- </text>
- </g>
- <g
- id="Graphic_173">
- <rect
- x="527.24415"
- y="249.44885"
- width="22.677168"
- height="19.842522"
- fill="white"
- id="rect222" />
- <rect
- x="527.24415"
- y="249.44885"
- width="22.677168"
- height="19.842522"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect224" />
- <text
- transform="translate(528.24415 252.2021)"
- fill="black"
- id="text228">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="1.230584"
- y="11"
- id="tspan226">EIP</tspan>
- </text>
- </g>
- <g
- id="Graphic_172">
- <path
- d="M 493.2284 241.3701 L 493.2284 277.3701 L 515.9056 270.1701 L 515.9056 248.5701 Z"
- fill="white"
- id="path231" />
- <path
- d="M 493.2284 241.3701 L 493.2284 277.3701 L 515.9056 270.1701 L 515.9056 248.5701 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path233" />
- <text
- transform="translate(494.087 250.59965)"
- fill="black"
- id="text237">
- <tspan
- font-family="Helvetica Neue"
- font-size="16"
- font-weight="400"
- fill="black"
- x="1.952"
- y="15"
- id="tspan235">&gt;?</tspan>
- </text>
- </g>
- <g
- id="Line_171">
- <line
- x1="484.72446"
- y1="253.53622"
- x2="490.39376"
- y2="246.6142"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line240" />
- </g>
- <g
- id="Line_170">
- <line
- x1="479.0552"
- y1="249.44885"
- x2="493.2284"
- y2="249.44885"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line243" />
- </g>
- <g
- id="Line_169">
- <line
- x1="484.72446"
- y1="273.37874"
- x2="490.39376"
- y2="266.45672"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line246" />
- </g>
- <g
- id="Line_168">
- <line
- x1="479.0552"
- y1="269.29137"
- x2="493.2284"
- y2="269.29137"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line249" />
- </g>
- <g
- id="Line_167">
- <line
- x1="515.9056"
- y1="259.3701"
- x2="526.74415"
- y2="259.3701"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line252" />
- </g>
- <g
- id="Graphic_166">
- <rect
- x="527.24415"
- y="249.44885"
- width="22.677168"
- height="19.842522"
- fill="white"
- id="rect255" />
- <rect
- x="527.24415"
- y="249.44885"
- width="22.677168"
- height="19.842522"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect257" />
- <text
- transform="translate(528.24415 252.2021)"
- fill="black"
- id="text261">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="1.230584"
- y="11"
- id="tspan259">EIP</tspan>
- </text>
- </g>
- <g
- id="Line_165">
- <line
- x1="550.4213"
- y1="259.3701"
- x2="568.3678"
- y2="259.3701"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line264" />
- </g>
- <g
- id="Line_164">
- <line
- x1="405.3544"
- y1="249.44885"
- x2="422.36225"
- y2="249.44885"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line267" />
- </g>
- <g
- id="Line_163">
- <path
- d="M 392.18115 289.1339 L 414.959 289.056 L 422.36225 289.1339"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="path270" />
- </g>
- <g
- id="Line_162">
- <line
- x1="479.0552"
- y1="289.1339"
- x2="565.53344"
- y2="289.8145"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line273" />
- </g>
- <g
- id="Graphic_161">
- <text
- transform="translate(572.5985 246.7782)"
- fill="black"
- id="text280">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="11.231783"
- y="11"
- id="tspan276">Interrupt </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="3.461783"
- y="25.336"
- id="tspan278">Notification</tspan>
- </text>
- </g>
- <g
- id="Graphic_160">
- <text
- transform="translate(575.43314 282.96983)"
- fill="black"
- id="text285">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".9531059"
- y="11"
- id="tspan283">Interrupt ID</tspan>
- </text>
- </g>
- </g>
- <g
- id="Graphic_158">
- <text
- transform="translate(626.4568 204.5036)"
- fill="black"
- id="text291">
- <tspan
- font-family="Helvetica Neue"
- font-size="96"
- font-weight="200"
- fill="black"
- x=".016"
- y="89"
- id="tspan289">}</tspan>
- </text>
- </g>
- <g
- id="Graphic_157">
- <text
- transform="translate(643.46464,235.77162)"
- id="text300"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="15.037845"
- y="11"
- id="tspan294"
- style="font-weight:400;font-size:12px;font-family:'Helvetica Neue';fill:#000000">To</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="4.8738451"
- y="25.336"
- id="tspan296"
- style="font-weight:400;font-size:12px;font-family:'Helvetica Neue';fill:#000000">Target</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="17.923845"
- y="39.671997"
- id="tspan298"
- style="font-weight:400;font-size:12px;font-family:'Helvetica Neue';fill:#000000">0</tspan>
- </text>
- </g>
- <g
- id="Group_124">
- <g
- id="Group_154">
- <g
- id="Line_156">
- <line
- x1="248.44885"
- y1="261.04016"
- x2="237.11026"
- y2="261.04016"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line303" />
- </g>
- <g
- id="Line_155">
- <line
- x1="248.44885"
- y1="261.04016"
- x2="248.44885"
- y2="255.11814"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line306" />
- </g>
- </g>
- <g
- id="Group_151">
- <g
- id="Line_153">
- <line
- x1="248.44885"
- y1="289.3866"
- x2="237.11026"
- y2="289.3866"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line310" />
- </g>
- <g
- id="Line_152">
- <line
- x1="248.44885"
- y1="289.3866"
- x2="248.44885"
- y2="283.4646"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line313" />
- </g>
- </g>
- <g
- id="Graphic_150">
- <rect
- x="140.7323"
- y="215.4331"
- width="17.007876"
- height="17.007873"
- fill="white"
- id="rect317" />
- <rect
- x="140.7323"
- y="215.4331"
- width="17.007876"
- height="17.007873"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect319" />
- <text
- transform="translate(141.7323 216.76904)"
- fill="black"
- id="text323">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="2.283938"
- y="11"
- id="tspan321">IE</tspan>
- </text>
- </g>
- <g
- id="Group_146">
- <g
- id="Graphic_149">
- <path
- d="M 163.40947 232.44097 L 174.90553 232.44097 C 180.65356 232.44097 186.4016 228.54333 186.4016 216.85042 C 186.4016 205.1575 180.65356 201.25987 174.90553 201.25987 L 163.40947 201.25987 Z"
- fill="white"
- id="path326" />
- <path
- d="M 163.40947 232.44097 L 174.90553 232.44097 C 180.65356 232.44097 186.4016 228.54333 186.4016 216.85042 C 186.4016 205.1575 180.65356 201.25987 174.90553 201.25987 L 163.40947 201.25987 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path328" />
- </g>
- <g
- id="Line_148">
- <line
- x1="135.063"
- y1="209.7638"
- x2="163.40947"
- y2="209.7638"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line331" />
- </g>
- <g
- id="Line_147">
- <line
- x1="158.24018"
- y1="223.93703"
- x2="163.40947"
- y2="223.93703"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line334" />
- </g>
- </g>
- <g
- id="Graphic_145">
- <path
- d="M 200.25987 210.6142 L 200.25987 246.6142 L 222.93703 239.4142 L 222.93703 217.8142 Z"
- fill="white"
- id="path338" />
- <path
- d="M 200.25987 210.6142 L 200.25987 246.6142 L 222.93703 239.4142 L 222.93703 217.8142 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path340" />
- <text
- transform="translate(201.11845 219.84375)"
- fill="black"
- id="text344">
- <tspan
- font-family="Helvetica Neue"
- font-size="16"
- font-weight="400"
- fill="black"
- x="1.952"
- y="15"
- id="tspan342">&gt;?</tspan>
- </text>
- </g>
- <g
- id="Line_144">
- <line
- x1="106.71655"
- y1="255.11814"
- x2="222.93703"
- y2="255.11814"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line347" />
- </g>
- <g
- id="Line_143">
- <line
- x1="106.71655"
- y1="283.4646"
- x2="234.27562"
- y2="283.4646"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line350" />
- </g>
- <g
- id="Line_142">
- <line
- x1="135.063"
- y1="266.45672"
- x2="222.93703"
- y2="266.45672"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line353" />
- </g>
- <g
- id="Line_141">
- <line
- x1="211.59845"
- y1="297.63783"
- x2="222.93703"
- y2="297.63783"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line356" />
- </g>
- <g
- id="Line_140">
- <line
- x1="188.92128"
- y1="240.9449"
- x2="200.25987"
- y2="240.9449"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line359" />
- </g>
- <g
- id="Line_139">
- <line
- x1="188.92128"
- y1="240.9449"
- x2="188.92128"
- y2="254.20082"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line362" />
- </g>
- <g
- id="Graphic_138">
- <text
- transform="translate(199.9331 288.7966)"
- fill="black"
- id="text367">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".164"
- y="11"
- id="tspan365">1</tspan>
- </text>
- </g>
- <g
- id="Line_137">
- <path
- d="M 222.93703 228.6142 L 228.60632 228.6142 L 228.60632 283.4646"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path370" />
- </g>
- <g
- id="Group_133">
- <g
- id="Graphic_136">
- <path
- d="M 222.93703 277.7953 L 222.93703 303.30712 L 237.11026 298.20476 L 237.11026 282.89767 Z"
- fill="white"
- id="path373" />
- <path
- d="M 222.93703 277.7953 L 222.93703 303.30712 L 237.11026 298.20476 L 237.11026 282.89767 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path375" />
- </g>
- <g
- id="Graphic_135">
- <text
- transform="translate(224.07082 277.8246)"
- fill="black"
- id="text380">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan378">0</tspan>
- </text>
- </g>
- <g
- id="Graphic_134">
- <text
- transform="translate(224.07082 289.8246)"
- fill="black"
- id="text385">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan383">1</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_129">
- <g
- id="Graphic_132">
- <path
- d="M 222.93703 246.94488 L 222.93703 272.4567 L 237.11026 267.35433 L 237.11026 252.04724 Z"
- fill="white"
- id="path389" />
- <path
- d="M 222.93703 246.94488 L 222.93703 272.4567 L 237.11026 267.35433 L 237.11026 252.04724 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path391" />
- </g>
- <g
- id="Graphic_131">
- <text
- transform="translate(224.07082 246.97417)"
- fill="black"
- id="text396">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan394">0</tspan>
- </text>
- </g>
- <g
- id="Graphic_130">
- <text
- transform="translate(224.07082 258.97417)"
- fill="black"
- id="text401">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan399">1</tspan>
- </text>
- </g>
- </g>
- <g
- id="Line_128">
- <line
- x1="188.92128"
- y1="221.1024"
- x2="194.59057"
- y2="214.18037"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line405" />
- </g>
- <g
- id="Line_127">
- <line
- x1="239.9449"
- y1="264.8748"
- x2="245.6142"
- y2="257.9528"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line408" />
- </g>
- <g
- id="Line_126">
- <line
- x1="239.9449"
- y1="291.96854"
- x2="245.6142"
- y2="285.04652"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line411" />
- </g>
- <g
- id="Line_125">
- <line
- x1="186.4016"
- y1="218.26774"
- x2="200.25987"
- y2="218.26774"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line414" />
- </g>
- </g>
- <g
- id="Group_95">
- <g
- id="Group_121">
- <g
- id="Line_123">
- <line
- x1="390.2622"
- y1="260.22113"
- x2="379.84256"
- y2="260.22113"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line418" />
- </g>
- <g
- id="Line_122">
- <line
- x1="390.2622"
- y1="260.22113"
- x2="390.2622"
- y2="249.44885"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line421" />
- </g>
- </g>
- <g
- id="Graphic_120">
- <rect
- x="283.4646"
- y="215.4331"
- width="17.007876"
- height="17.007873"
- fill="white"
- id="rect425" />
- <rect
- x="283.4646"
- y="215.4331"
- width="17.007876"
- height="17.007873"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect427" />
- <text
- transform="translate(284.4646 216.76904)"
- fill="black"
- id="text431">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="2.283938"
- y="11"
- id="tspan429">IE</tspan>
- </text>
- </g>
- <g
- id="Group_116">
- <g
- id="Graphic_119">
- <path
- d="M 306.14177 232.44097 L 317.63783 232.44097 C 323.38586 232.44097 329.1339 228.54333 329.1339 216.85042 C 329.1339 205.1575 323.38586 201.25987 317.63783 201.25987 L 306.14177 201.25987 Z"
- fill="white"
- id="path434" />
- <path
- d="M 306.14177 232.44097 L 317.63783 232.44097 C 323.38586 232.44097 329.1339 228.54333 329.1339 216.85042 C 329.1339 205.1575 323.38586 201.25987 317.63783 201.25987 L 306.14177 201.25987 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path436" />
- </g>
- <g
- id="Line_118">
- <line
- x1="277.7953"
- y1="209.7638"
- x2="306.14177"
- y2="209.7638"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line439" />
- </g>
- <g
- id="Line_117">
- <line
- x1="300.97247"
- y1="223.93703"
- x2="306.14177"
- y2="223.93703"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line442" />
- </g>
- </g>
- <g
- id="Graphic_115">
- <path
- d="M 342.99216 210.6142 L 342.99216 246.6142 L 365.66933 239.4142 L 365.66933 217.8142 Z"
- fill="white"
- id="path446" />
- <path
- d="M 342.99216 210.6142 L 342.99216 246.6142 L 365.66933 239.4142 L 365.66933 217.8142 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path448" />
- <text
- transform="translate(343.85075 219.84375)"
- fill="black"
- id="text452">
- <tspan
- font-family="Helvetica Neue"
- font-size="16"
- font-weight="400"
- fill="black"
- x="1.952"
- y="15"
- id="tspan450">&gt;?</tspan>
- </text>
- </g>
- <g
- id="Line_114">
- <line
- x1="277.7953"
- y1="266.45672"
- x2="365.66933"
- y2="266.45672"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line455" />
- </g>
- <g
- id="Line_113">
- <line
- x1="354.33075"
- y1="297.63783"
- x2="365.66933"
- y2="297.63783"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line458" />
- </g>
- <g
- id="Line_112">
- <line
- x1="331.6536"
- y1="240.9449"
- x2="342.99216"
- y2="240.9449"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line461" />
- </g>
- <g
- id="Line_111">
- <line
- x1="331.6536"
- y1="240.9449"
- x2="331.6536"
- y2="254.20082"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line464" />
- </g>
- <g
- id="Graphic_110">
- <text
- transform="translate(342.6654 288.7966)"
- fill="black"
- id="text469">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".164"
- y="11"
- id="tspan467">2</tspan>
- </text>
- </g>
- <g
- id="Line_109">
- <path
- d="M 365.66933 228.6142 L 371.33862 228.6142 L 371.33862 283.4646"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path472" />
- </g>
- <g
- id="Group_105">
- <g
- id="Graphic_108">
- <path
- d="M 365.66933 277.7953 L 365.66933 303.30712 L 379.84256 298.20476 L 379.84256 282.89767 Z"
- fill="white"
- id="path475" />
- <path
- d="M 365.66933 277.7953 L 365.66933 303.30712 L 379.84256 298.20476 L 379.84256 282.89767 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path477" />
- </g>
- <g
- id="Graphic_107">
- <text
- transform="translate(366.8031 277.8246)"
- fill="black"
- id="text482">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan480">0</tspan>
- </text>
- </g>
- <g
- id="Graphic_106">
- <text
- transform="translate(366.8031 289.8246)"
- fill="black"
- id="text487">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan485">1</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_101">
- <g
- id="Graphic_104">
- <path
- d="M 365.66933 246.94488 L 365.66933 272.4567 L 379.84256 267.35433 L 379.84256 252.04724 Z"
- fill="white"
- id="path491" />
- <path
- d="M 365.66933 246.94488 L 365.66933 272.4567 L 379.84256 267.35433 L 379.84256 252.04724 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path493" />
- </g>
- <g
- id="Graphic_103">
- <text
- transform="translate(366.8031 246.97417)"
- fill="black"
- id="text498">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan496">0</tspan>
- </text>
- </g>
- <g
- id="Graphic_102">
- <text
- transform="translate(366.8031 258.97417)"
- fill="black"
- id="text503">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan501">1</tspan>
- </text>
- </g>
- </g>
- <g
- id="Line_100">
- <line
- x1="331.6536"
- y1="221.1024"
- x2="337.32287"
- y2="214.18037"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line507" />
- </g>
- <g
- id="Line_99">
- <line
- x1="382.6772"
- y1="264.8748"
- x2="388.3465"
- y2="257.9528"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line510" />
- </g>
- <g
- id="Line_98">
- <line
- x1="382.6772"
- y1="291.96854"
- x2="388.3465"
- y2="285.04652"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line513" />
- </g>
- <g
- id="Line_97">
- <line
- x1="329.1339"
- y1="218.26774"
- x2="342.99216"
- y2="218.26774"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line516" />
- </g>
- <g
- id="Line_96">
- <line
- x1="379.84256"
- y1="289.1339"
- x2="392.18115"
- y2="289.1339"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line519" />
- </g>
- </g>
- </g>
- </g>
- <g
- id="Group_3">
- <g
- id="Graphic_92">
- <path
- d="M 90.70867 308.9764 L 555.5906 308.9764 L 555.5906 419.5276 L 90.70867 419.5276 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="1.0,4.0"
- stroke-width="1"
- id="path525" />
- </g>
- <g
- id="Group_4">
- <g
- id="Graphic_91">
- <text
- transform="translate(96.20867 353.96546)"
- fill="black"
- id="text530">
- <tspan
- font-family="Helvetica Neue"
- font-size="14"
- font-weight="400"
- fill="black"
- x=".108"
- y="13"
- id="tspan528">0</tspan>
- </text>
- </g>
- <g
- id="Graphic_90">
- <text
- transform="translate(95.70867 382.3119)"
- fill="black"
- id="text535">
- <tspan
- font-family="Helvetica Neue"
- font-size="14"
- font-weight="400"
- fill="black"
- x="1.029261"
- y="13"
- id="tspan533">0</tspan>
- </text>
- </g>
- <g
- id="Line_89">
- <line
- x1="390.2622"
- y1="360.00004"
- x2="405.3544"
- y2="360.00004"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line538" />
- </g>
- <g
- id="Line_88">
- <line
- x1="248.44885"
- y1="365.66933"
- x2="365.66933"
- y2="365.66933"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line541" />
- </g>
- <g
- id="Line_87">
- <line
- x1="248.44885"
- y1="394.0158"
- x2="377.0079"
- y2="394.0158"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line544" />
- </g>
- <g
- id="Group_69">
- <g
- id="Graphic_86">
- <rect
- x="422.36225"
- y="391.18115"
- width="56.69292"
- height="17.007873"
- fill="white"
- id="rect547" />
- <rect
- x="422.36225"
- y="391.18115"
- width="56.69292"
- height="17.007873"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect549" />
- <text
- transform="translate(423.36225 392.5171)"
- fill="black"
- id="text553">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="8.34446"
- y="11"
- id="tspan551">Max ID</tspan>
- </text>
- </g>
- <g
- id="Graphic_85">
- <rect
- x="422.36225"
- y="371.33863"
- width="56.69292"
- height="17.007873"
- fill="white"
- id="rect556" />
- <rect
- x="422.36225"
- y="371.33863"
- width="56.69292"
- height="17.007873"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect558" />
- <text
- transform="translate(423.36225 372.67456)"
- fill="black"
- id="text562">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".7844599"
- y="11"
- id="tspan560">Threshold</tspan>
- </text>
- </g>
- <g
- id="Graphic_84">
- <rect
- x="422.36225"
- y="351.4961"
- width="56.69292"
- height="17.007873"
- fill="white"
- id="rect565" />
- <rect
- x="422.36225"
- y="351.4961"
- width="56.69292"
- height="17.007873"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect567" />
- <text
- transform="translate(423.36225 352.83204)"
- fill="black"
- id="text571">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="5.23646"
- y="11"
- id="tspan569">Max Pri.</tspan>
- </text>
- </g>
- <g
- id="Graphic_83">
- <rect
- x="527.24415"
- y="360.00004"
- width="22.677168"
- height="19.842522"
- fill="white"
- id="rect574" />
- <rect
- x="527.24415"
- y="360.00004"
- width="22.677168"
- height="19.842522"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect576" />
- <text
- transform="translate(528.24415 362.7533)"
- fill="black"
- id="text580">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="1.230584"
- y="11"
- id="tspan578">EIP</tspan>
- </text>
- </g>
- <g
- id="Graphic_82">
- <path
- d="M 493.2284 351.9213 L 493.2284 387.9213 L 515.9056 380.7213 L 515.9056 359.1213 Z"
- fill="white"
- id="path583" />
- <path
- d="M 493.2284 351.9213 L 493.2284 387.9213 L 515.9056 380.7213 L 515.9056 359.1213 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path585" />
- <text
- transform="translate(494.087 361.15085)"
- fill="black"
- id="text589">
- <tspan
- font-family="Helvetica Neue"
- font-size="16"
- font-weight="400"
- fill="black"
- x="1.952"
- y="15"
- id="tspan587">&gt;?</tspan>
- </text>
- </g>
- <g
- id="Line_81">
- <line
- x1="484.72446"
- y1="364.0874"
- x2="490.39376"
- y2="357.1654"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line592" />
- </g>
- <g
- id="Line_80">
- <line
- x1="479.0552"
- y1="360.00004"
- x2="493.2284"
- y2="360.00004"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line595" />
- </g>
- <g
- id="Line_79">
- <line
- x1="484.72446"
- y1="383.92993"
- x2="490.39376"
- y2="377.0079"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line598" />
- </g>
- <g
- id="Line_78">
- <line
- x1="479.0552"
- y1="379.84256"
- x2="493.2284"
- y2="379.84256"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line601" />
- </g>
- <g
- id="Line_77">
- <line
- x1="515.9056"
- y1="369.9213"
- x2="526.74415"
- y2="369.9213"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line604" />
- </g>
- <g
- id="Graphic_76">
- <rect
- x="527.24415"
- y="360.00004"
- width="22.677168"
- height="19.842522"
- fill="white"
- id="rect607" />
- <rect
- x="527.24415"
- y="360.00004"
- width="22.677168"
- height="19.842522"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect609" />
- <text
- transform="translate(528.24415 362.7533)"
- fill="black"
- id="text613">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="1.230584"
- y="11"
- id="tspan611">EIP</tspan>
- </text>
- </g>
- <g
- id="Line_75">
- <line
- x1="550.4213"
- y1="369.9213"
- x2="568.3678"
- y2="369.9213"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line616" />
- </g>
- <g
- id="Line_74">
- <line
- x1="405.3544"
- y1="360.00004"
- x2="422.36225"
- y2="360.00004"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line619" />
- </g>
- <g
- id="Line_73">
- <path
- d="M 392.18115 399.6851 L 414.959 399.6072 L 422.36225 399.6851"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="path622" />
- </g>
- <g
- id="Line_72">
- <line
- x1="479.0552"
- y1="399.6851"
- x2="565.53344"
- y2="400.3657"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line625" />
- </g>
- <g
- id="Graphic_71">
- <text
- transform="translate(572.5985 357.3294)"
- fill="black"
- id="text632">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="11.231783"
- y="11"
- id="tspan628">Interrupt </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="3.461783"
- y="25.336"
- id="tspan630">Notification</tspan>
- </text>
- </g>
- <g
- id="Graphic_70">
- <text
- transform="translate(575.43314 393.521)"
- fill="black"
- id="text637">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".9531059"
- y="11"
- id="tspan635">Interrupt ID</tspan>
- </text>
- </g>
- </g>
- <g
- id="Graphic_68">
- <text
- transform="translate(626.4568 315.0548)"
- fill="black"
- id="text643">
- <tspan
- font-family="Helvetica Neue"
- font-size="96"
- font-weight="200"
- fill="black"
- x=".016"
- y="89"
- id="tspan641">}</tspan>
- </text>
- </g>
- <g
- id="Graphic_67">
- <text
- transform="translate(643.46464 346.3228)"
- fill="black"
- id="text652">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="15.037845"
- y="11"
- id="tspan646">To </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="4.873845"
- y="25.336"
- id="tspan648">Target </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="17.923845"
- y="39.671997"
- id="tspan650">1</tspan>
- </text>
- </g>
- <g
- id="Group_34">
- <g
- id="Group_64">
- <g
- id="Line_66">
- <line
- x1="248.44885"
- y1="371.59135"
- x2="237.11026"
- y2="371.59135"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line655" />
- </g>
- <g
- id="Line_65">
- <line
- x1="248.44885"
- y1="371.59135"
- x2="248.44885"
- y2="365.66933"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line658" />
- </g>
- </g>
- <g
- id="Group_61">
- <g
- id="Line_63">
- <line
- x1="248.44885"
- y1="399.9378"
- x2="237.11026"
- y2="399.9378"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line662" />
- </g>
- <g
- id="Line_62">
- <line
- x1="248.44885"
- y1="399.9378"
- x2="248.44885"
- y2="394.0158"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line665" />
- </g>
- </g>
- <g
- id="Graphic_60">
- <rect
- x="140.7323"
- y="325.9843"
- width="17.007876"
- height="17.007873"
- fill="white"
- id="rect669" />
- <rect
- x="140.7323"
- y="325.9843"
- width="17.007876"
- height="17.007873"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect671" />
- <text
- transform="translate(141.7323 327.32023)"
- fill="black"
- id="text675">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="2.283938"
- y="11"
- id="tspan673">IE</tspan>
- </text>
- </g>
- <g
- id="Group_56">
- <g
- id="Graphic_59">
- <path
- d="M 163.40947 342.99216 L 174.90553 342.99216 C 180.65356 342.99216 186.4016 339.09453 186.4016 327.4016 C 186.4016 315.7087 180.65356 311.81106 174.90553 311.81106 L 163.40947 311.81106 Z"
- fill="white"
- id="path678" />
- <path
- d="M 163.40947 342.99216 L 174.90553 342.99216 C 180.65356 342.99216 186.4016 339.09453 186.4016 327.4016 C 186.4016 315.7087 180.65356 311.81106 174.90553 311.81106 L 163.40947 311.81106 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path680" />
- </g>
- <g
- id="Line_58">
- <line
- x1="135.063"
- y1="320.315"
- x2="163.40947"
- y2="320.315"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line683" />
- </g>
- <g
- id="Line_57">
- <line
- x1="158.24018"
- y1="334.48823"
- x2="163.40947"
- y2="334.48823"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line686" />
- </g>
- </g>
- <g
- id="Graphic_55">
- <path
- d="M 200.25987 321.1654 L 200.25987 357.1654 L 222.93703 349.9654 L 222.93703 328.3654 Z"
- fill="white"
- id="path690" />
- <path
- d="M 200.25987 321.1654 L 200.25987 357.1654 L 222.93703 349.9654 L 222.93703 328.3654 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path692" />
- <text
- transform="translate(201.11845 330.39494)"
- fill="black"
- id="text696">
- <tspan
- font-family="Helvetica Neue"
- font-size="16"
- font-weight="400"
- fill="black"
- x="1.952"
- y="15"
- id="tspan694">&gt;?</tspan>
- </text>
- </g>
- <g
- id="Line_54">
- <line
- x1="106.71655"
- y1="365.66933"
- x2="222.93703"
- y2="365.66933"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line699" />
- </g>
- <g
- id="Line_53">
- <line
- x1="106.71655"
- y1="394.0158"
- x2="234.27562"
- y2="394.0158"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line702" />
- </g>
- <g
- id="Line_52">
- <line
- x1="135.063"
- y1="377.0079"
- x2="222.93703"
- y2="377.0079"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line705" />
- </g>
- <g
- id="Line_51">
- <line
- x1="211.59845"
- y1="408.189"
- x2="222.93703"
- y2="408.189"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line708" />
- </g>
- <g
- id="Line_50">
- <line
- x1="188.92128"
- y1="351.4961"
- x2="200.25987"
- y2="351.4961"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line711" />
- </g>
- <g
- id="Line_49">
- <line
- x1="188.92128"
- y1="351.4961"
- x2="188.92128"
- y2="364.752"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line714" />
- </g>
- <g
- id="Graphic_48">
- <text
- transform="translate(199.9331 399.3478)"
- fill="black"
- id="text719">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".164"
- y="11"
- id="tspan717">1</tspan>
- </text>
- </g>
- <g
- id="Line_47">
- <path
- d="M 222.93703 339.1654 L 228.60632 339.1654 L 228.60632 394.0158"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path722" />
- </g>
- <g
- id="Group_43">
- <g
- id="Graphic_46">
- <path
- d="M 222.93703 388.3465 L 222.93703 413.8583 L 237.11026 408.75595 L 237.11026 393.44886 Z"
- fill="white"
- id="path725" />
- <path
- d="M 222.93703 388.3465 L 222.93703 413.8583 L 237.11026 408.75595 L 237.11026 393.44886 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path727" />
- </g>
- <g
- id="Graphic_45">
- <text
- transform="translate(224.07082 388.3758)"
- fill="black"
- id="text732">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan730">0</tspan>
- </text>
- </g>
- <g
- id="Graphic_44">
- <text
- transform="translate(224.07082 400.3758)"
- fill="black"
- id="text737">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan735">1</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_39">
- <g
- id="Graphic_42">
- <path
- d="M 222.93703 357.49607 L 222.93703 383.0079 L 237.11026 377.9055 L 237.11026 362.59843 Z"
- fill="white"
- id="path741" />
- <path
- d="M 222.93703 357.49607 L 222.93703 383.0079 L 237.11026 377.9055 L 237.11026 362.59843 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path743" />
- </g>
- <g
- id="Graphic_41">
- <text
- transform="translate(224.07082 357.52536)"
- fill="black"
- id="text748">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan746">0</tspan>
- </text>
- </g>
- <g
- id="Graphic_40">
- <text
- transform="translate(224.07082 369.52536)"
- fill="black"
- id="text753">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan751">1</tspan>
- </text>
- </g>
- </g>
- <g
- id="Line_38">
- <line
- x1="188.92128"
- y1="331.6536"
- x2="194.59057"
- y2="324.73156"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line757" />
- </g>
- <g
- id="Line_37">
- <line
- x1="239.9449"
- y1="375.426"
- x2="245.6142"
- y2="368.504"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line760" />
- </g>
- <g
- id="Line_36">
- <line
- x1="239.9449"
- y1="402.51973"
- x2="245.6142"
- y2="395.5977"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line763" />
- </g>
- <g
- id="Line_35">
- <line
- x1="186.4016"
- y1="328.81893"
- x2="200.25987"
- y2="328.81893"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line766" />
- </g>
- </g>
- <g
- id="Group_5">
- <g
- id="Group_31">
- <g
- id="Line_33">
- <line
- x1="390.2622"
- y1="370.77233"
- x2="379.84256"
- y2="370.77233"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line770" />
- </g>
- <g
- id="Line_32">
- <line
- x1="390.2622"
- y1="370.77233"
- x2="390.2622"
- y2="360.00004"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line773" />
- </g>
- </g>
- <g
- id="Graphic_30">
- <rect
- x="283.4646"
- y="325.9843"
- width="17.007876"
- height="17.007873"
- fill="white"
- id="rect777" />
- <rect
- x="283.4646"
- y="325.9843"
- width="17.007876"
- height="17.007873"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="rect779" />
- <text
- transform="translate(284.4646 327.32023)"
- fill="black"
- id="text783">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="2.283938"
- y="11"
- id="tspan781">IE</tspan>
- </text>
- </g>
- <g
- id="Group_26">
- <g
- id="Graphic_29">
- <path
- d="M 306.14177 342.99216 L 317.63783 342.99216 C 323.38586 342.99216 329.1339 339.09453 329.1339 327.4016 C 329.1339 315.7087 323.38586 311.81106 317.63783 311.81106 L 306.14177 311.81106 Z"
- fill="white"
- id="path786" />
- <path
- d="M 306.14177 342.99216 L 317.63783 342.99216 C 323.38586 342.99216 329.1339 339.09453 329.1339 327.4016 C 329.1339 315.7087 323.38586 311.81106 317.63783 311.81106 L 306.14177 311.81106 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path788" />
- </g>
- <g
- id="Line_28">
- <line
- x1="277.7953"
- y1="320.315"
- x2="306.14177"
- y2="320.315"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line791" />
- </g>
- <g
- id="Line_27">
- <line
- x1="300.97247"
- y1="334.48823"
- x2="306.14177"
- y2="334.48823"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line794" />
- </g>
- </g>
- <g
- id="Graphic_25">
- <path
- d="M 342.99216 321.1654 L 342.99216 357.1654 L 365.66933 349.9654 L 365.66933 328.3654 Z"
- fill="white"
- id="path798" />
- <path
- d="M 342.99216 321.1654 L 342.99216 357.1654 L 365.66933 349.9654 L 365.66933 328.3654 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path800" />
- <text
- transform="translate(343.85075 330.39494)"
- fill="black"
- id="text804">
- <tspan
- font-family="Helvetica Neue"
- font-size="16"
- font-weight="400"
- fill="black"
- x="1.952"
- y="15"
- id="tspan802">&gt;?</tspan>
- </text>
- </g>
- <g
- id="Line_24">
- <line
- x1="277.7953"
- y1="377.0079"
- x2="365.66933"
- y2="377.0079"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line807" />
- </g>
- <g
- id="Line_23">
- <line
- x1="354.33075"
- y1="408.189"
- x2="365.66933"
- y2="408.189"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line810" />
- </g>
- <g
- id="Line_22">
- <line
- x1="331.6536"
- y1="351.4961"
- x2="342.99216"
- y2="351.4961"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line813" />
- </g>
- <g
- id="Line_21">
- <line
- x1="331.6536"
- y1="351.4961"
- x2="331.6536"
- y2="364.752"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line816" />
- </g>
- <g
- id="Graphic_20">
- <text
- transform="translate(342.6654 399.3478)"
- fill="black"
- id="text821">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x=".164"
- y="11"
- id="tspan819">2</tspan>
- </text>
- </g>
- <g
- id="Line_19">
- <path
- d="M 365.66933 339.1654 L 371.33862 339.1654 L 371.33862 394.0158"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path824" />
- </g>
- <g
- id="Group_15">
- <g
- id="Graphic_18">
- <path
- d="M 365.66933 388.3465 L 365.66933 413.8583 L 379.84256 408.75595 L 379.84256 393.44886 Z"
- fill="white"
- id="path827" />
- <path
- d="M 365.66933 388.3465 L 365.66933 413.8583 L 379.84256 408.75595 L 379.84256 393.44886 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path829" />
- </g>
- <g
- id="Graphic_17">
- <text
- transform="translate(366.8031 388.3758)"
- fill="black"
- id="text834">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan832">0</tspan>
- </text>
- </g>
- <g
- id="Graphic_16">
- <text
- transform="translate(366.8031 400.3758)"
- fill="black"
- id="text839">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan837">1</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_11">
- <g
- id="Graphic_14">
- <path
- d="M 365.66933 357.49607 L 365.66933 383.0079 L 379.84256 377.9055 L 379.84256 362.59843 Z"
- fill="white"
- id="path843" />
- <path
- d="M 365.66933 357.49607 L 365.66933 383.0079 L 379.84256 377.9055 L 379.84256 362.59843 Z"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="path845" />
- </g>
- <g
- id="Graphic_13">
- <text
- transform="translate(366.8031 357.52536)"
- fill="black"
- id="text850">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan848">0</tspan>
- </text>
- </g>
- <g
- id="Graphic_12">
- <text
- transform="translate(366.8031 369.52536)"
- fill="black"
- id="text855">
- <tspan
- font-family="Helvetica Neue"
- font-size="10"
- font-weight="400"
- fill="black"
- x=".22"
- y="10"
- id="tspan853">1</tspan>
- </text>
- </g>
- </g>
- <g
- id="Line_10">
- <line
- x1="331.6536"
- y1="331.6536"
- x2="337.32287"
- y2="324.73156"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line859" />
- </g>
- <g
- id="Line_9">
- <line
- x1="382.6772"
- y1="375.426"
- x2="388.3465"
- y2="368.504"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line862" />
- </g>
- <g
- id="Line_8">
- <line
- x1="382.6772"
- y1="402.51973"
- x2="388.3465"
- y2="395.5977"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line865" />
- </g>
- <g
- id="Line_7">
- <line
- x1="329.1339"
- y1="328.81893"
- x2="342.99216"
- y2="328.81893"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line868" />
- </g>
- <g
- id="Line_6">
- <line
- x1="379.84256"
- y1="399.6851"
- x2="392.18115"
- y2="399.6851"
- stroke="black"
- stroke-linecap="butt"
- stroke-linejoin="miter"
- stroke-width="1"
- id="line871" />
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
-</svg>
diff --git a/src/inkscape/PLIC-interrupt-flow.svg b/src/inkscape/PLIC-interrupt-flow.svg
deleted file mode 100644
index d6c9497..0000000
--- a/src/inkscape/PLIC-interrupt-flow.svg
+++ /dev/null
@@ -1,775 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- viewBox="34.01575 51.02363 371.33862 380.34256"
- width="371.33862"
- height="380.34256"
- id="svg179"
- sodipodi:docname="PLIC-interrupt-flow.svg"
- inkscape:version="0.92.2 5c3e80d, 2017-08-06">
- <metadata
- id="metadata183">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1124"
- inkscape:window-height="798"
- id="namedview181"
- showgrid="false"
- inkscape:zoom="1.75502"
- inkscape:cx="185.66931"
- inkscape:cy="190.17128"
- inkscape:window-x="298"
- inkscape:window-y="316"
- inkscape:window-maximized="0"
- inkscape:current-layer="Canvas_1: Layer 2" />
- <defs
- id="defs13">
- <font-face
- font-family="Helvetica Neue"
- font-size="12"
- panose-1="2 0 5 3 0 0 0 2 0 4"
- units-per-em="1000"
- underline-position="-100"
- underline-thickness="50"
- slope="0"
- x-height="517"
- cap-height="714"
- ascent="951.9958"
- descent="-212.99744"
- font-weight="400"
- id="font-face2">
- <font-face-src>
- <font-face-name
- name="HelveticaNeue" />
- </font-face-src>
- </font-face>
- <marker
- orient="auto"
- overflow="visible"
- markerUnits="strokeWidth"
- id="FilledArrow_Marker"
- stroke-linejoin="miter"
- stroke-miterlimit="10"
- viewBox="-1 -4 10 8"
- markerWidth="10"
- markerHeight="8"
- color="black">
- <g
- id="g6">
- <path
- d="M 8 0 L 0 -3 L 0 3 Z"
- fill="currentColor"
- stroke="currentColor"
- stroke-width="1"
- id="path4" />
- </g>
- </marker>
- <font-face
- font-family="Helvetica Neue"
- font-size="12"
- panose-1="2 0 4 3 0 0 0 9 0 4"
- units-per-em="1000"
- underline-position="-100"
- underline-thickness="50"
- slope="-1e3"
- x-height="523"
- cap-height="721"
- ascent="951.004"
- descent="-212.99744"
- font-style="italic"
- font-weight="300"
- id="font-face9">
- <font-face-src>
- <font-face-name
- name="HelveticaNeue-LightItalic" />
- </font-face-src>
- </font-face>
- <font-face
- font-family="Helvetica Neue"
- font-size="111"
- panose-1="2 0 2 6 0 0 0 2 0 4"
- units-per-em="1000"
- underline-position="-100"
- underline-thickness="50"
- slope="0"
- x-height="520"
- cap-height="722"
- ascent="930.9998"
- descent="-212.99744"
- font-weight="200"
- id="font-face11">
- <font-face-src>
- <font-face-name
- name="HelveticaNeue-UltraLight" />
- </font-face-src>
- </font-face>
- </defs>
- <g
- id="Canvas_1"
- fill-opacity="1"
- stroke-dasharray="none"
- stroke="none"
- stroke-opacity="1"
- fill="none">
- <title
- id="title15">Canvas 1</title>
- <g
- id="Canvas_1: Layer 2">
- <title
- id="title17">Layer 2</title>
- <g
- id="Group_38">
- <g
- id="Line_42">
- <line
- x1="56.69292"
- y1="116.22049"
- x2="56.69292"
- y2="396.85044"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line19" />
- </g>
- <g
- id="Line_41">
- <line
- x1="56.69292"
- y1="399.6851"
- x2="56.69292"
- y2="430.8662"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line22" />
- </g>
- <g
- id="Line_40">
- <line
- x1="56.69292"
- y1="85.03938"
- x2="56.69292"
- y2="116.22049"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line25" />
- </g>
- <g
- id="Graphic_39">
- <text
- transform="translate(34.01575 51.18763)"
- fill="black"
- id="text32">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="4.147137"
- y="11"
- id="tspan28">Interrupt </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="7.927137"
- y="25.336"
- id="tspan30">Source</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_33">
- <g
- id="Line_37">
- <line
- x1="138.89765"
- y1="116.22049"
- x2="138.89765"
- y2="396.85044"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line36" />
- </g>
- <g
- id="Line_36">
- <line
- x1="138.89765"
- y1="399.6851"
- x2="138.89765"
- y2="430.8662"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line39" />
- </g>
- <g
- id="Line_35">
- <line
- x1="138.89765"
- y1="85.03938"
- x2="138.89765"
- y2="116.22049"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line42" />
- </g>
- <g
- id="Graphic_34">
- <text
- transform="translate(113.38584 65.52886)"
- fill="black"
- id="text47">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="3.271137"
- y="11"
- id="tspan45">Gateway</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_28">
- <g
- id="Line_32">
- <line
- x1="226.77168"
- y1="116.22049"
- x2="226.77168"
- y2="396.85044"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line51" />
- </g>
- <g
- id="Line_31">
- <line
- x1="226.77168"
- y1="399.6851"
- x2="226.77168"
- y2="430.8662"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line54" />
- </g>
- <g
- id="Line_30">
- <line
- x1="226.77168"
- y1="85.03938"
- x2="226.77168"
- y2="116.22049"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line57" />
- </g>
- <g
- id="Graphic_29">
- <text
- transform="translate(201.25987 54.022275)"
- fill="black"
- id="text64">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="13.819137"
- y="11"
- id="tspan60">PLIC </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="14.041137"
- y="25.336"
- id="tspan62">Core</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_23">
- <g
- id="Line_27">
- <line
- x1="314.6457"
- y1="116.22049"
- x2="314.6457"
- y2="396.85044"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line68" />
- </g>
- <g
- id="Line_26">
- <line
- x1="314.6457"
- y1="399.6851"
- x2="314.6457"
- y2="430.8662"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line71" />
- </g>
- <g
- id="Line_25">
- <line
- x1="314.6457"
- y1="85.03938"
- x2="314.6457"
- y2="116.22049"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-dasharray="4.0,4.0"
- stroke-width="1"
- id="line74" />
- </g>
- <g
- id="Graphic_24">
- <text
- transform="translate(286.29924 65.52886)"
- fill="black"
- id="text79">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="10.543137"
- y="11"
- id="tspan77">Target</tspan>
- </text>
- </g>
- </g>
- <g
- id="Line_22">
- <line
- x1="56.69292"
- y1="124.72442"
- x2="129.0905"
- y2="134.7103"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line83" />
- </g>
- <g
- id="Line_21">
- <line
- x1="138.89765"
- y1="147.4016"
- x2="216.95308"
- y2="157.47326"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line86" />
- </g>
- <g
- id="Graphic_20">
- <text
- transform="translate(158.07088 121.38449)"
- fill="black"
- id="text93">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="2.554719"
- y="11"
- id="tspan89">Interrupt </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="2.776719"
- y="25.336"
- id="tspan91">Request</tspan>
- </text>
- </g>
- <g
- id="Line_19">
- <line
- x1="226.77168"
- y1="181.41734"
- x2="304.8271"
- y2="191.489"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line96" />
- </g>
- <g
- id="Graphic_18">
- <text
- transform="translate(240.27562 155.40024)"
- fill="black"
- id="text103">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="10.184398"
- y="11"
- id="tspan99">Interrupt </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="3.068398"
- y="25.336"
- id="tspan101">Notification</tspan>
- </text>
- </g>
- <g
- id="Line_17">
- <line
- x1="314.6457"
- y1="218.26774"
- x2="236.54537"
- y2="230.86457"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line106" />
- </g>
- <g
- id="Graphic_16">
- <text
- transform="translate(226.1024 197.34513)"
- fill="black"
- id="text113">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="10.184398"
- y="11"
- id="tspan109">Interrupt </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="17.294398"
- y="25.336"
- id="tspan111">Claim</tspan>
- </text>
- </g>
- <g
- id="Line_15">
- <line
- x1="226.77168"
- y1="255.11814"
- x2="304.872"
- y2="267.71497"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line116" />
- </g>
- <g
- id="Graphic_14">
- <text
- transform="translate(254.44885 231.93568)"
- fill="black"
- id="text123">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="17.294398"
- y="11"
- id="tspan119">Claim </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="5.960398"
- y="25.336"
- id="tspan121">Response</tspan>
- </text>
- </g>
- <g
- id="Graphic_13">
- <text
- transform="translate(73.0315,97.55772)"
- id="text130"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-style="italic"
- font-weight="300"
- x="2.554719"
- y="11"
- id="tspan126"
- style="font-style:italic;font-weight:300;font-size:12px;font-family:'Helvetica Neue';fill:#000000">Interrupt</tspan>
- <tspan
- font-size="12"
- font-style="italic"
- font-weight="300"
- x="0.88071901"
- y="25.336"
- id="tspan128"
- style="font-style:italic;font-weight:300;font-size:12px;font-family:'Helvetica Neue';fill:#000000">Signalled</tspan>
- </text>
- </g>
- <g
- id="Line_12">
- <line
- x1="314.6457"
- y1="312.38586"
- x2="148.71625"
- y2="333.7961"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line133" />
- </g>
- <g
- id="Graphic_11">
- <text
- transform="translate(237.44097 286.63648)"
- fill="black"
- id="text140">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="10.184398"
- y="11"
- id="tspan136">Interrupt </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="2.1803978"
- y="25.336"
- id="tspan138">Completion</tspan>
- </text>
- </g>
- <g
- id="Line_10">
- <line
- x1="56.69292"
- y1="167.24411"
- x2="129.0905"
- y2="177.22999"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line143" />
- </g>
- <g
- id="Line_9">
- <line
- x1="56.69292"
- y1="223.93703"
- x2="129.0905"
- y2="233.9229"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line146" />
- </g>
- <g
- id="Line_8">
- <line
- x1="56.69292"
- y1="246.6142"
- x2="129.0905"
- y2="256.60007"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line149" />
- </g>
- <g
- id="Line_7">
- <line
- x1="138.89765"
- y1="362.8347"
- x2="216.95308"
- y2="372.90635"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line152" />
- </g>
- <g
- id="Graphic_6">
- <text
- transform="translate(160.90553 337.3294)"
- fill="black"
- id="text159">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="12.328719"
- y="11"
- id="tspan155">Next </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-style="italic"
- font-weight="300"
- fill="black"
- x="2.776719"
- y="25.336"
- id="tspan157">Request</tspan>
- </text>
- </g>
- <g
- id="Line_5">
- <line
- x1="56.69292"
- y1="368.504"
- x2="129.0905"
- y2="378.48985"
- marker-end="url(#FilledArrow_Marker)"
- stroke="black"
- stroke-linecap="round"
- stroke-linejoin="round"
- stroke-width="1"
- id="line162" />
- </g>
- <g
- id="Graphic_4">
- <text
- transform="translate(313.9764 192.08853)"
- fill="black"
- id="text167">
- <tspan
- font-family="Helvetica Neue"
- font-size="111"
- font-weight="200"
- fill="black"
- x=".0185"
- y="103"
- id="tspan165">}</tspan>
- </text>
- </g>
- <g
- id="Graphic_3">
- <text
- transform="translate(336.6536 248.94356)"
- fill="black"
- id="text174">
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="10.850398"
- y="11"
- id="tspan170">Handler </tspan>
- <tspan
- font-family="Helvetica Neue"
- font-size="12"
- font-weight="400"
- fill="black"
- x="9.620398"
- y="25.336"
- id="tspan172">Running</tspan>
- </text>
- </g>
- </g>
- </g>
-</svg>
diff --git a/src/inkscape/halimps.svg b/src/inkscape/halimps.svg
deleted file mode 100644
index eafd8af..0000000
--- a/src/inkscape/halimps.svg
+++ /dev/null
@@ -1,994 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- viewBox="27.846455 27.846457 522.5748 134.22835"
- width="522.5748"
- height="134.22835"
- id="svg296"
- sodipodi:docname="halimps.svg"
- inkscape:version="0.92.2 5c3e80d, 2017-08-06">
- <metadata
- id="metadata300">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="1182"
- inkscape:window-height="853"
- id="namedview298"
- showgrid="false"
- inkscape:zoom="1.9901456"
- inkscape:cx="236.57548"
- inkscape:cy="0.73366874"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:window-maximized="0"
- inkscape:current-layer="svg296" />
- <defs
- id="defs4">
- <font-face
- font-family="Helvetica"
- font-size="12"
- units-per-em="1000"
- underline-position="-75.68359"
- underline-thickness="49.316406"
- slope="0"
- x-height="522.9492"
- cap-height="717.28516"
- ascent="770.0195"
- descent="-229.98047"
- font-weight="400"
- id="font-face2">
- <font-face-src>
- <font-face-name
- name="Helvetica" />
- </font-face-src>
- </font-face>
- </defs>
- <g
- id="halimps"
- style="fill:none;fill-opacity:1;stroke:none;stroke-dasharray:none;stroke-opacity:1">
- <title
- id="title6">halimps</title>
- <g
- id="halimps: Layer 1">
- <title
- id="title8">Layer 1</title>
- <g
- id="Group_33">
- <g
- id="Graphic_38">
- <rect
- x="28.346457"
- y="28.346457"
- width="65.196854"
- height="19.842522"
- id="rect10"
- style="fill:#ffffff" />
- <rect
- x="28.346457"
- y="28.346457"
- width="65.196854"
- height="19.842522"
- id="rect12"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(28.346457,31.267718)"
- id="text16"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="3.2458878"
- y="11"
- id="tspan14"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_37">
- <rect
- x="28.346457"
- y="48.18898"
- width="65.196854"
- height="11.338583"
- id="rect19"
- style="fill:#000000" />
- <rect
- x="28.346457"
- y="48.18898"
- width="65.196854"
- height="11.338583"
- id="rect21"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(28.346457,46.85827)"
- id="text25"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="22.927528"
- y="11"
- id="tspan23"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_36">
- <rect
- x="28.346455"
- y="59.527561"
- width="65.196854"
- height="17.007874"
- id="rect28"
- style="fill:#ffffff" />
- <rect
- x="28.346455"
- y="59.527561"
- width="65.196854"
- height="17.007874"
- id="rect30"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(28.346455,61.0315)"
- id="text34"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="20.592567"
- y="11"
- id="tspan32"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">AEE</tspan>
- </text>
- </g>
- <g
- id="Graphic_35">
- <rect
- x="28.346457"
- y="76.535439"
- width="65.196854"
- height="11.338583"
- id="rect37"
- style="fill:#000000" />
- <rect
- x="28.346457"
- y="76.535439"
- width="65.196854"
- height="11.338583"
- id="rect39"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(28.346457,75.20473)"
- id="text43"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="20.926552"
- y="11"
- id="tspan41"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">HAL</tspan>
- </text>
- </g>
- <g
- id="Graphic_34">
- <rect
- x="28.346457"
- y="87.874023"
- width="65.196854"
- height="17.007874"
- id="rect46"
- style="fill:#ffffff" />
- <rect
- x="28.346457"
- y="87.874023"
- width="65.196854"
- height="17.007874"
- id="rect48"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(28.346457,89.37796)"
- id="text52"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="6.5886612"
- y="11"
- id="tspan50"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Hardware</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_23">
- <g
- id="Graphic_32">
- <rect
- x="124.72442"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect56"
- style="fill:#ffffff" />
- <rect
- x="124.72442"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect58"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72442,31.26772)"
- id="text62"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan60"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_31">
- <rect
- x="124.72442"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect65"
- style="fill:#000000" />
- <rect
- x="124.72442"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect67"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72442,46.85827)"
- id="text71"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan69"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_30">
- <rect
- x="124.72441"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect74"
- style="fill:#ffffff" />
- <rect
- x="124.72441"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect76"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72441,61.0315)"
- id="text80"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="56.527908"
- y="11"
- id="tspan78"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">OS</tspan>
- </text>
- </g>
- <g
- id="Graphic_29">
- <rect
- x="124.72441"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect83"
- style="fill:#000000" />
- <rect
- x="124.72441"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect85"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72441,75.20473)"
- id="text89"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="55.525955"
- y="11"
- id="tspan87"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">SBI</tspan>
- </text>
- </g>
- <g
- id="Graphic_28">
- <rect
- x="124.72441"
- y="87.874023"
- width="130.39371"
- height="17.007874"
- id="rect92"
- style="fill:#ffffff" />
- <rect
- x="124.72441"
- y="87.874023"
- width="130.39371"
- height="17.007874"
- id="rect94"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72441,89.37796)"
- id="text98"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="53.190994"
- y="11"
- id="tspan96"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">SEE</tspan>
- </text>
- </g>
- <g
- id="Graphic_27">
- <rect
- x="192.75591"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect101"
- style="fill:#ffffff" />
- <rect
- x="192.75591"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect103"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(192.75591,31.26772)"
- id="text107"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan105"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_26">
- <rect
- x="192.75591"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect110"
- style="fill:#000000" />
- <rect
- x="192.75591"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect112"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(192.75591,46.85827)"
- id="text116"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan114"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_25">
- <rect
- x="124.72441"
- y="104.88189"
- width="130.39371"
- height="11.338583"
- id="rect119"
- style="fill:#000000" />
- <rect
- x="124.72441"
- y="104.88189"
- width="130.39371"
- height="11.338583"
- id="rect121"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72441,103.55118)"
- id="text125"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="53.524979"
- y="11"
- id="tspan123"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">HAL</tspan>
- </text>
- </g>
- <g
- id="Graphic_24">
- <rect
- x="124.72441"
- y="116.22048"
- width="130.39371"
- height="17.007874"
- id="rect128"
- style="fill:#ffffff" />
- <rect
- x="124.72441"
- y="116.22048"
- width="130.39371"
- height="17.007874"
- id="rect130"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72441,117.72441)"
- id="text134"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="39.187092"
- y="11"
- id="tspan132"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Hardware</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_3">
- <g
- id="Graphic_22">
- <rect
- x="283.46457"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect138"
- style="fill:#000000" />
- <rect
- x="283.46457"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect140"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46457,75.20473)"
- id="text144"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="55.525955"
- y="11"
- id="tspan142"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">SBI</tspan>
- </text>
- </g>
- <g
- id="Graphic_21">
- <rect
- x="283.46457"
- y="87.874023"
- width="266.4567"
- height="17.007874"
- id="rect147"
- style="fill:#ffffff" />
- <rect
- x="283.46457"
- y="87.874023"
- width="266.4567"
- height="17.007874"
- id="rect149"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46457,89.37796)"
- id="text153"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="104.5555"
- y="11"
- id="tspan151"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Hypervisor</tspan>
- </text>
- </g>
- <g
- id="Group_15">
- <g
- id="Graphic_20">
- <rect
- x="283.46457"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect156"
- style="fill:#ffffff" />
- <rect
- x="283.46457"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect158"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46458,31.26772)"
- id="text162"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan160"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_19">
- <rect
- x="283.46457"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect165"
- style="fill:#000000" />
- <rect
- x="283.46457"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect167"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46458,46.85827)"
- id="text171"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan169"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_18">
- <rect
- x="283.46457"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect174"
- style="fill:#ffffff" />
- <rect
- x="283.46457"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect176"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46457,61.0315)"
- id="text180"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="56.527908"
- y="11"
- id="tspan178"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">OS</tspan>
- </text>
- </g>
- <g
- id="Graphic_17">
- <rect
- x="351.49609"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect183"
- style="fill:#ffffff" />
- <rect
- x="351.49609"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect185"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(351.49608,31.26772)"
- id="text189"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan187"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_16">
- <rect
- x="351.49609"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect192"
- style="fill:#000000" />
- <rect
- x="351.49609"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect194"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(351.49608,46.85827)"
- id="text198"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan196"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_9">
- <g
- id="Graphic_14">
- <rect
- x="419.52756"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect202"
- style="fill:#ffffff" />
- <rect
- x="419.52756"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect204"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(419.52757,31.26772)"
- id="text208"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan206"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_13">
- <rect
- x="419.52756"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect211"
- style="fill:#000000" />
- <rect
- x="419.52756"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect213"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(419.52757,46.85827)"
- id="text217"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan215"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_12">
- <rect
- x="419.52756"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect220"
- style="fill:#ffffff" />
- <rect
- x="419.52756"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect222"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(419.52757,61.0315)"
- id="text226"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="56.527908"
- y="11"
- id="tspan224"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">OS</tspan>
- </text>
- </g>
- <g
- id="Graphic_11">
- <rect
- x="487.55908"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect229"
- style="fill:#ffffff" />
- <rect
- x="487.55908"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect231"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(487.55907,31.26772)"
- id="text235"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan233"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_10">
- <rect
- x="487.55908"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect238"
- style="fill:#000000" />
- <rect
- x="487.55908"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect240"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(487.55907,46.85827)"
- id="text244"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan242"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- </g>
- <g
- id="Graphic_8">
- <rect
- x="419.52756"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect248"
- style="fill:#000000" />
- <rect
- x="419.52756"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect250"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(419.52757,75.20473)"
- id="text254"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="55.525955"
- y="11"
- id="tspan252"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">SBI</tspan>
- </text>
- </g>
- <g
- id="Graphic_7">
- <rect
- x="283.46457"
- y="104.88189"
- width="266.4567"
- height="11.338583"
- id="rect257"
- style="fill:#000000" />
- <rect
- x="283.46457"
- y="104.88189"
- width="266.4567"
- height="11.338583"
- id="rect259"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46457,103.55118)"
- id="text263"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="123.2264"
- y="11"
- id="tspan261"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">HBI</tspan>
- </text>
- </g>
- <g
- id="Graphic_6">
- <rect
- x="283.46457"
- y="116.22048"
- width="266.4567"
- height="17.007874"
- id="rect266"
- style="fill:#ffffff" />
- <rect
- x="283.46457"
- y="116.22048"
- width="266.4567"
- height="17.007874"
- id="rect268"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46458,117.72441)"
- id="text272"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="120.89143"
- y="11"
- id="tspan270"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">HEE</tspan>
- </text>
- </g>
- <g
- id="Graphic_5">
- <rect
- x="283.46457"
- y="144.56693"
- width="266.4567"
- height="17.007874"
- id="rect275"
- style="fill:#ffffff" />
- <rect
- x="283.46457"
- y="144.56693"
- width="266.4567"
- height="17.007874"
- id="rect277"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46457,146.07087)"
- id="text281"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="107.21858"
- y="11"
- id="tspan279"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Hardware</tspan>
- </text>
- </g>
- <g
- id="Graphic_4">
- <rect
- x="283.46457"
- y="133.22835"
- width="266.4567"
- height="11.338583"
- id="rect284"
- style="fill:#000000" />
- <rect
- x="283.46457"
- y="133.22835"
- width="266.4567"
- height="11.338583"
- id="rect286"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46457,131.89764)"
- id="text290"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="121.55647"
- y="11"
- id="tspan288"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">HAL</tspan>
- </text>
- </g>
- </g>
- </g>
- </g>
-</svg>
diff --git a/src/inkscape/halmode.svg b/src/inkscape/halmode.svg
deleted file mode 100644
index 0b2f722..0000000
--- a/src/inkscape/halmode.svg
+++ /dev/null
@@ -1,799 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- viewBox="98.7126 27.846457 381.11024 106.88189"
- width="381.11024"
- height="106.88189"
- id="svg233"
- sodipodi:docname="halmode.svg"
- inkscape:version="0.92.2 5c3e80d, 2017-08-06">
- <metadata
- id="metadata237">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="640"
- inkscape:window-height="480"
- id="namedview235"
- showgrid="false"
- inkscape:zoom="1.929602"
- inkscape:cx="184.7919"
- inkscape:cy="38.21387"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:window-maximized="0"
- inkscape:current-layer="svg233" />
- <defs
- id="defs14">
- <font-face
- font-family="Helvetica"
- font-size="12"
- units-per-em="1000"
- underline-position="-75.68359"
- underline-thickness="49.316406"
- slope="0"
- x-height="522.9492"
- cap-height="717.28516"
- ascent="770.0195"
- descent="-229.98047"
- font-weight="400"
- id="font-face2">
- <font-face-src>
- <font-face-name
- name="Helvetica" />
- </font-face-src>
- </font-face>
- <marker
- orient="auto"
- overflow="visible"
- markerUnits="strokeWidth"
- id="FilledArrow_Marker"
- stroke-linejoin="miter"
- stroke-miterlimit="10"
- viewBox="-1 -4 10 8"
- markerWidth="10"
- markerHeight="8"
- color="black">
- <g
- id="g6">
- <path
- d="M 8 0 L 0 -3 L 0 3 Z"
- fill="currentColor"
- stroke="currentColor"
- stroke-width="1"
- id="path4" />
- </g>
- </marker>
- <marker
- orient="auto"
- overflow="visible"
- markerUnits="strokeWidth"
- id="FilledArrow_Marker_2"
- stroke-linejoin="miter"
- stroke-miterlimit="10"
- viewBox="-9 -4 10 8"
- markerWidth="10"
- markerHeight="8"
- color="black">
- <g
- id="g11">
- <path
- d="M -8 0 L 0 3 L 0 -3 Z"
- fill="currentColor"
- stroke="currentColor"
- stroke-width="1"
- id="path9" />
- </g>
- </marker>
- </defs>
- <g
- id="halmode"
- style="fill:none;fill-opacity:1;stroke:none;stroke-dasharray:none;stroke-opacity:1">
- <title
- id="title16">halmode</title>
- <g
- id="halmode: Layer 1">
- <title
- id="title18">Layer 1</title>
- <g
- id="Group_36">
- <g
- id="Graphic_41">
- <rect
- x="99.212601"
- y="45.354328"
- width="65.196854"
- height="19.842522"
- id="rect20"
- style="fill:#ffffff" />
- <rect
- x="99.212601"
- y="45.354328"
- width="65.196854"
- height="19.842522"
- id="rect22"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(99.2126,48.27559)"
- id="text26"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="3.2458878"
- y="11"
- id="tspan24"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_40">
- <rect
- x="99.212601"
- y="65.196854"
- width="65.196854"
- height="11.338583"
- id="rect29"
- style="fill:#000000" />
- <rect
- x="99.212601"
- y="65.196854"
- width="65.196854"
- height="11.338583"
- id="rect31"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(99.2126,63.866144)"
- id="text35"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="22.927528"
- y="11"
- id="tspan33"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_39">
- <rect
- x="99.212601"
- y="76.535439"
- width="65.196854"
- height="17.007874"
- id="rect38"
- style="fill:#ffffff" />
- <rect
- x="99.212601"
- y="76.535439"
- width="65.196854"
- height="17.007874"
- id="rect40"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(99.2126,78.03937)"
- id="text44"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="20.592567"
- y="11"
- id="tspan42"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">AEE</tspan>
- </text>
- </g>
- <g
- id="Graphic_38">
- <rect
- x="99.212601"
- y="93.543312"
- width="65.196854"
- height="11.338583"
- id="rect47"
- style="fill:#000000" />
- <rect
- x="99.212601"
- y="93.543312"
- width="65.196854"
- height="11.338583"
- id="rect49"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(99.2126,92.2126)"
- id="text53"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="20.926552"
- y="11"
- id="tspan51"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">HAL</tspan>
- </text>
- </g>
- <g
- id="Graphic_37">
- <rect
- x="99.212601"
- y="104.8819"
- width="65.196854"
- height="17.007874"
- id="rect56"
- style="fill:#ffffff" />
- <rect
- x="99.212601"
- y="104.8819"
- width="65.196854"
- height="17.007874"
- id="rect58"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(99.2126,106.38583)"
- id="text62"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="6.5886612"
- y="11"
- id="tspan60"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Hardware</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_26">
- <g
- id="Graphic_35">
- <rect
- x="269.29135"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect66"
- style="fill:#ffffff" />
- <rect
- x="269.29135"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect68"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(269.29135,31.26772)"
- id="text72"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan70"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_34">
- <rect
- x="269.29135"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect75"
- style="fill:#000000" />
- <rect
- x="269.29135"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect77"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(269.29135,46.85827)"
- id="text81"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan79"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_33">
- <rect
- x="269.29135"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect84"
- style="fill:#ffffff" />
- <rect
- x="269.29135"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect86"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(269.29135,61.0315)"
- id="text90"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="56.527908"
- y="11"
- id="tspan88"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">OS</tspan>
- </text>
- </g>
- <g
- id="Graphic_32">
- <rect
- x="269.29135"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect93"
- style="fill:#000000" />
- <rect
- x="269.29135"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect95"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(269.29135,75.20473)"
- id="text99"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="55.525955"
- y="11"
- id="tspan97"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">SBI</tspan>
- </text>
- </g>
- <g
- id="Graphic_31">
- <rect
- x="269.29135"
- y="87.874023"
- width="130.39371"
- height="17.007874"
- id="rect102"
- style="fill:#ffffff" />
- <rect
- x="269.29135"
- y="87.874023"
- width="130.39371"
- height="17.007874"
- id="rect104"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(269.29135,89.37796)"
- id="text108"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="53.190994"
- y="11"
- id="tspan106"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">SEE</tspan>
- </text>
- </g>
- <g
- id="Graphic_30">
- <rect
- x="337.32285"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect111"
- style="fill:#ffffff" />
- <rect
- x="337.32285"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect113"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(337.32285,31.26772)"
- id="text117"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan115"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_29">
- <rect
- x="337.32285"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect120"
- style="fill:#000000" />
- <rect
- x="337.32285"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect122"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(337.32285,46.85827)"
- id="text126"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan124"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_28">
- <rect
- x="269.29135"
- y="104.88189"
- width="130.39371"
- height="11.338583"
- id="rect129"
- style="fill:#000000" />
- <rect
- x="269.29135"
- y="104.88189"
- width="130.39371"
- height="11.338583"
- id="rect131"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(269.29135,103.55118)"
- id="text135"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="53.524979"
- y="11"
- id="tspan133"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">HAL</tspan>
- </text>
- </g>
- <g
- id="Graphic_27">
- <rect
- x="269.29135"
- y="116.22048"
- width="130.39371"
- height="17.007874"
- id="rect138"
- style="fill:#ffffff" />
- <rect
- x="269.29135"
- y="116.22048"
- width="130.39371"
- height="17.007874"
- id="rect140"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(269.29135,117.72441)"
- id="text144"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="39.187092"
- y="11"
- id="tspan142"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Hardware</tspan>
- </text>
- </g>
- </g>
- <g
- id="Line_25">
- <line
- x1="172.91341"
- y1="70.866142"
- x2="223.93701"
- y2="70.866142"
- id="line148"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_24">
- <line
- x1="172.91341"
- y1="45.354328"
- x2="223.93701"
- y2="45.354328"
- id="line151"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_23">
- <line
- x1="182.1496"
- y1="55.25433"
- x2="182.1496"
- y2="60.966145"
- id="line154"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_22">
- <text
- transform="translate(191.20866,50.192915)"
- id="text159"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.33203125"
- y="11"
- id="tspan157"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">User</tspan>
- </text>
- </g>
- <g
- id="Line_21">
- <line
- x1="172.91341"
- y1="96.37796"
- x2="223.93701"
- y2="96.37796"
- id="line162"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_20">
- <line
- x1="182.1496"
- y1="80.766144"
- x2="182.1496"
- y2="86.477959"
- id="line165"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_19">
- <text
- transform="translate(189.3819,75.70473)"
- id="text170"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.32128906"
- y="11"
- id="tspan168"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Supervisor</tspan>
- </text>
- </g>
- <g
- id="Line_18">
- <line
- x1="172.91341"
- y1="121.88977"
- x2="223.93701"
- y2="121.88977"
- id="line173"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_17">
- <line
- x1="182.1496"
- y1="106.27796"
- x2="182.1496"
- y2="111.98977"
- id="line176"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_16">
- <text
- transform="translate(189.8819,101.21654)"
- id="text181"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.37207031"
- y="11"
- id="tspan179"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">HAL Mode</tspan>
- </text>
- </g>
- <g
- id="Line_15">
- <line
- x1="405.35434"
- y1="53.858269"
- x2="456.37796"
- y2="53.858269"
- id="line184"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_14">
- <line
- x1="405.35434"
- y1="28.346457"
- x2="456.37796"
- y2="28.346457"
- id="line187"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_13">
- <line
- x1="414.59055"
- y1="38.246456"
- x2="414.59055"
- y2="43.958271"
- id="line190"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_12">
- <text
- transform="translate(423.6496,33.18504)"
- id="text195"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.33203125"
- y="11"
- id="tspan193"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">User</tspan>
- </text>
- </g>
- <g
- id="Line_11">
- <line
- x1="405.35434"
- y1="82.204727"
- x2="456.37796"
- y2="82.204727"
- id="line198"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_10">
- <line
- x1="414.59055"
- y1="63.75827"
- x2="414.59055"
- y2="72.304733"
- id="line201"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_9">
- <text
- transform="translate(421.82284,61.5315)"
- id="text206"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.32128906"
- y="11"
- id="tspan204"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Supervisor</tspan>
- </text>
- </g>
- <g
- id="Line_8">
- <line
- x1="405.35434"
- y1="107.71654"
- x2="456.37796"
- y2="107.71654"
- id="line209"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_7">
- <line
- x1="414.36813"
- y1="92.101158"
- x2="414.21457"
- y2="97.820099"
- id="line212"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_6">
- <text
- transform="translate(421.82284,89.87796)"
- id="text217"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.32714844"
- y="11"
- id="tspan215"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Hypervisor</tspan>
- </text>
- </g>
- <g
- id="Line_5">
- <line
- x1="405.35434"
- y1="133.22835"
- x2="456.37796"
- y2="133.22835"
- id="line220"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_4">
- <line
- x1="413.9137"
- y1="117.61648"
- x2="413.8934"
- y2="123.32841"
- id="line223"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_3">
- <text
- transform="translate(422.32284,112.55512)"
- id="text228"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.37207031"
- y="11"
- id="tspan226"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">HAL Mode</tspan>
- </text>
- </g>
- </g>
- </g>
-</svg>
diff --git a/src/inkscape/htif.svg b/src/inkscape/htif.svg
deleted file mode 100644
index 87de7a7..0000000
--- a/src/inkscape/htif.svg
+++ /dev/null
@@ -1,626 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- viewBox="39.18504 50.023623 429.532 143.733"
- width="429.532"
- height="143.733"
- id="svg177"
- sodipodi:docname="htif.svg"
- inkscape:version="0.92.2 5c3e80d, 2017-08-06">
- <metadata
- id="metadata181">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="640"
- inkscape:window-height="480"
- id="namedview179"
- showgrid="false"
- inkscape:zoom="1.2106199"
- inkscape:cx="259.29759"
- inkscape:cy="80.412747"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:window-maximized="0"
- inkscape:current-layer="svg177" />
- <defs
- id="defs16">
- <font-face
- font-family="Helvetica"
- font-size="12"
- units-per-em="1000"
- underline-position="-75.68359"
- underline-thickness="49.316406"
- slope="0"
- x-height="522.9492"
- cap-height="717.28516"
- ascent="770.0195"
- descent="-229.98047"
- font-weight="400"
- id="font-face2">
- <font-face-src>
- <font-face-name
- name="Helvetica" />
- </font-face-src>
- </font-face>
- <marker
- orient="auto"
- overflow="visible"
- markerUnits="strokeWidth"
- id="FilledArrow_Marker"
- stroke-linejoin="miter"
- stroke-miterlimit="10"
- viewBox="-1 -4 10 8"
- markerWidth="10"
- markerHeight="8"
- color="black">
- <g
- id="g6">
- <path
- d="M 8 0 L 0 -3 L 0 3 Z"
- fill="currentColor"
- stroke="currentColor"
- stroke-width="1"
- id="path4" />
- </g>
- </marker>
- <marker
- orient="auto"
- overflow="visible"
- markerUnits="strokeWidth"
- id="FilledArrow_Marker_2"
- stroke-linejoin="miter"
- stroke-miterlimit="10"
- viewBox="-9 -4 10 8"
- markerWidth="10"
- markerHeight="8"
- color="black">
- <g
- id="g11">
- <path
- d="M -8 0 L 0 3 L 0 -3 Z"
- fill="currentColor"
- stroke="currentColor"
- stroke-width="1"
- id="path9" />
- </g>
- </marker>
- <font-face
- font-family="Helvetica"
- font-size="12"
- units-per-em="1000"
- underline-position="-75.68359"
- underline-thickness="49.316406"
- slope="-1e3"
- x-height="522.9492"
- cap-height="717.28516"
- ascent="770.0195"
- descent="-229.98047"
- font-style="italic"
- font-weight="400"
- id="font-face14">
- <font-face-src>
- <font-face-name
- name="Helvetica-Oblique" />
- </font-face-src>
- </font-face>
- </defs>
- <g
- id="Canvas_6"
- style="fill:none;fill-opacity:1;stroke:none;stroke-dasharray:none;stroke-opacity:1">
- <title
- id="title18">Canvas 2</title>
- <g
- id="Canvas_6: Layer 1">
- <title
- id="title20">Layer 1</title>
- <g
- id="Group_18">
- <g
- id="Graphic_29">
- <rect
- x="311.81104"
- y="51.023624"
- width="155.90601"
- height="141.733"
- id="rect22"
- style="fill:#ffffff" />
- <rect
- x="311.81104"
- y="51.023624"
- width="155.90601"
- height="141.733"
- id="rect24"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(316.81103,174.25662)"
- id="text28"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0"
- y="11"
- id="tspan26"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Target System</tspan>
- </text>
- </g>
- <g
- id="Graphic_28">
- <ellipse
- cx="388.34653"
- cy="150.23532"
- rx="59.527596"
- ry="19.842531"
- id="ellipse31"
- style="fill:#ffffff" />
- <ellipse
- cx="388.34653"
- cy="150.23532"
- rx="59.527596"
- ry="19.842531"
- id="ellipse33"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(345.72453,143.23532)"
- id="text37"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="14.942313"
- y="11"
- id="tspan35"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">OS Kernel</tspan>
- </text>
- </g>
- <g
- id="Graphic_27">
- <ellipse
- cx="341.57553"
- cy="87.873466"
- rx="24.094538"
- ry="17.007877"
- id="ellipse40"
- style="fill:#ffffff" />
- <ellipse
- cx="341.57553"
- cy="87.873466"
- rx="24.094538"
- ry="17.007877"
- id="ellipse42"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(327.29993,73.87347)"
- id="text48"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="3.5998187"
- y="11"
- id="tspan44"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">App</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="10.938686"
- y="25"
- id="tspan46"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">1</tspan>
- </text>
- </g>
- <g
- id="Line_26">
- <line
- x1="359.39191"
- y1="111.62886"
- x2="367.36697"
- y2="122.26233"
- id="line51"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Line_25">
- <line
- x1="311.81104"
- y1="113.38562"
- x2="467.71704"
- y2="113.38462"
- id="line54"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4, 4" />
- </g>
- <g
- id="Graphic_24">
- <text
- transform="rotate(-90,274.20833,-176.16971)"
- id="text59"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.33203125"
- y="11"
- id="tspan57"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">User</tspan>
- </text>
- </g>
- <g
- id="Graphic_23">
- <text
- transform="rotate(-90,315.18923,-135.18961)"
- id="text64"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.085089"
- y="11"
- id="tspan62"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Supervisor</tspan>
- </text>
- </g>
- <g
- id="Graphic_22">
- <ellipse
- cx="382.67752"
- cy="68.030823"
- rx="19.842531"
- ry="14.173223"
- id="ellipse67"
- style="fill:#ffffff" />
- <ellipse
- cx="382.67752"
- cy="68.030823"
- rx="19.842531"
- ry="14.173223"
- id="ellipse69"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(371.80353,54.030823)"
- id="text75"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.19821875"
- y="11"
- id="tspan71"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">App</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="7.537086"
- y="25"
- id="tspan73"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">2</tspan>
- </text>
- </g>
- <g
- id="Line_21">
- <line
- x1="384.40369"
- y1="93.06115"
- x2="386.22861"
- y2="119.52385"
- id="line78"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_20">
- <ellipse
- cx="416.69354"
- cy="87.872818"
- rx="19.842531"
- ry="14.173223"
- id="ellipse81"
- style="fill:#ffffff" />
- <ellipse
- cx="416.69354"
- cy="87.872818"
- rx="19.842531"
- ry="14.173223"
- id="ellipse83"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(405.81953,73.87282)"
- id="text89"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.19821875"
- y="11"
- id="tspan85"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">App</tspan>
- <tspan
- font-size="12"
- font-style="italic"
- font-weight="400"
- x="7.537086"
- y="25"
- id="tspan87"
- style="font-style:italic;font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">n</tspan>
- </text>
- </g>
- <g
- id="Line_19">
- <line
- x1="406.05414"
- y1="111.27913"
- x2="401.7753"
- y2="120.69249"
- id="line92"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- </g>
- <g
- id="Graphic_17">
- <text
- transform="translate(250.47217,129.06228)"
- id="text98"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="15.921872"
- y="11"
- id="tspan96"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">HTIF</tspan>
- </text>
- </g>
- <g
- id="Group_4">
- <g
- id="Graphic_16">
- <rect
- x="62.66061"
- y="51.023624"
- width="195.29214"
- height="141.73228"
- id="rect101"
- style="fill:#ffffff" />
- <rect
- x="62.66061"
- y="51.023624"
- width="195.29214"
- height="141.73228"
- id="rect103"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(67.66061,174.2559)"
- id="text107"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0"
- y="11"
- id="tspan105"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Front-End Host</tspan>
- </text>
- </g>
- <g
- id="Graphic_15">
- <ellipse
- cx="194.71414"
- cy="161.9639"
- rx="41.643337"
- ry="19.453461"
- id="ellipse110"
- style="fill:#ffffff" />
- <ellipse
- cx="194.71414"
- cy="161.9639"
- rx="41.643337"
- ry="19.453461"
- id="ellipse112"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(166.39952,147.9639)"
- id="text118"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.636881"
- y="11"
- id="tspan114"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Front-End</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="10.64274"
- y="25"
- id="tspan116"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Server</tspan>
- </text>
- </g>
- <g
- id="Graphic_14">
- <path
- d="M 186.15432,94.09913 V 60.75035 c 0,-2.301066 13.50965,-4.1686 30.15548,-4.1686 16.6458,0 30.15546,1.867534 30.15546,4.1686 v 33.34878 c 0,2.30107 -13.50966,4.1686 -30.15546,4.1686 -16.64583,0 -30.15548,-1.86753 -30.15548,-4.1686"
- id="path121"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- d="M 186.15432,94.09913 V 60.75035 c 0,-2.301066 13.50965,-4.1686 30.15548,-4.1686 16.6458,0 30.15546,1.867534 30.15546,4.1686 v 33.34878 c 0,2.30107 -13.50966,4.1686 -30.15546,4.1686 -16.64583,0 -30.15548,-1.86753 -30.15548,-4.1686 m 0,-33.34878 c 0,2.301066 13.50965,4.1686 30.15548,4.1686 16.6458,0 30.15546,-1.867534 30.15546,-4.1686"
- id="path123"
- inkscape:connector-curvature="0"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(191.15432,65.50904)"
- id="text129"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.4835932"
- y="11"
- id="tspan125"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Host File</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="5.1515622"
- y="25"
- id="tspan127"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">System</tspan>
- </text>
- </g>
- <g
- id="Line_13">
- <line
- x1="204.72881"
- y1="132.42577"
- x2="213.131"
- y2="107.64351"
- id="line132"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Line_12">
- <path
- d="m 142.53103,158.72025 c -13.28267,-1.05683 -27.54461,-2.45853 -36.7912,-2.09218 -11.6064,0.45983 -11.96755,6.48439 -22.97558,5.55813 -8.66237,-0.7289 -21.476615,-4.8999 -33.54093,-8.4498"
- id="path135"
- inkscape:connector-curvature="0"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_11">
- <text
- transform="translate(88.50842,124.59751)"
- id="text142"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="12.367048"
- y="11"
- id="tspan138"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Host</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="4.3572826"
- y="25"
- id="tspan140"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Internet</tspan>
- </text>
- </g>
- <g
- id="Group_6">
- <g
- id="Graphic_10">
- <rect
- x="117.2276"
- y="56.58157"
- width="60.310936"
- height="38.90686"
- id="rect145"
- style="fill:#ffffff" />
- <rect
- x="117.2276"
- y="56.58157"
- width="60.310936"
- height="38.90686"
- id="rect147"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Graphic_9">
- <rect
- x="120.0995"
- y="59.360691"
- width="54.567135"
- height="33.348724"
- id="rect150"
- style="fill:#ffffff" />
- <rect
- x="120.0995"
- y="59.360691"
- width="54.567135"
- height="33.348724"
- id="rect152"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Graphic_8">
- <text
- transform="translate(122.38661,62.204805)"
- id="text159"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="12.367048"
- y="11"
- id="tspan155"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Host</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="2.6902905"
- y="25"
- id="tspan157"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Console</tspan>
- </text>
- </g>
- <g
- id="Graphic_7">
- <path
- d="m 177.53844,95.48876 -17.23169,16.67428 c 0,3e-5 -63.18276,3e-5 -63.18276,3e-5 -8e-5,0 20.10353,-16.67431 20.10353,-16.67431 z"
- id="path162"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- d="m 177.53844,95.48876 -17.23169,16.67428 c 0,3e-5 -63.18276,3e-5 -63.18276,3e-5 -8e-5,0 20.10353,-16.67431 20.10353,-16.67431 z"
- id="path164"
- inkscape:connector-curvature="0"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- </g>
- <g
- id="Line_5">
- <path
- d="m 164.37481,116.91032 13.16373,6.36898 4.29436,9.67219"
- id="path168"
- inkscape:connector-curvature="0"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- </g>
- <g
- id="Line_3">
- <line
- x1="246.8938"
- y1="158.8033"
- x2="318.89279"
- y2="154.44225"
- id="line172"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- </g>
- </g>
-</svg>
diff --git a/src/inkscape/privimps.svg b/src/inkscape/privimps.svg
deleted file mode 100644
index 9d02c86..0000000
--- a/src/inkscape/privimps.svg
+++ /dev/null
@@ -1,820 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- viewBox="27.846455 27.846457 522.5748 105.88189"
- width="522.5748"
- height="105.88189"
- id="svg242"
- sodipodi:docname="privimps.svg"
- inkscape:version="0.92.2 5c3e80d, 2017-08-06">
- <metadata
- id="metadata246">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="640"
- inkscape:window-height="480"
- id="namedview244"
- showgrid="false"
- inkscape:zoom="0.4975364"
- inkscape:cx="261.28741"
- inkscape:cy="52.940945"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:window-maximized="0"
- inkscape:current-layer="svg242" />
- <defs
- id="defs4">
- <font-face
- font-family="Helvetica"
- font-size="12"
- units-per-em="1000"
- underline-position="-75.68359"
- underline-thickness="49.316406"
- slope="0"
- x-height="522.9492"
- cap-height="717.28516"
- ascent="770.0195"
- descent="-229.98047"
- font-weight="400"
- id="font-face2">
- <font-face-src>
- <font-face-name
- name="Helvetica" />
- </font-face-src>
- </font-face>
- </defs>
- <g
- id="privimps"
- style="fill:none;fill-opacity:1;stroke:none;stroke-dasharray:none;stroke-opacity:1">
- <title
- id="title6">privimps</title>
- <g
- id="privimps: Layer 1">
- <title
- id="title8">Layer 1</title>
- <g
- id="Group_29">
- <g
- id="Graphic_32">
- <rect
- x="28.346457"
- y="28.346457"
- width="65.196854"
- height="19.842522"
- id="rect10"
- style="fill:#ffffff" />
- <rect
- x="28.346457"
- y="28.346457"
- width="65.196854"
- height="19.842522"
- id="rect12"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(28.346457,31.267718)"
- id="text16"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="3.2458878"
- y="11"
- id="tspan14"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_31">
- <rect
- x="28.346457"
- y="48.18898"
- width="65.196854"
- height="11.338583"
- id="rect19"
- style="fill:#000000" />
- <rect
- x="28.346457"
- y="48.18898"
- width="65.196854"
- height="11.338583"
- id="rect21"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(28.346457,46.85827)"
- id="text25"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="22.927528"
- y="11"
- id="tspan23"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_30">
- <rect
- x="28.346455"
- y="59.527561"
- width="65.196854"
- height="17.007874"
- id="rect28"
- style="fill:#ffffff" />
- <rect
- x="28.346455"
- y="59.527561"
- width="65.196854"
- height="17.007874"
- id="rect30"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(28.346455,61.0315)"
- id="text34"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="20.592567"
- y="11"
- id="tspan32"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">AEE</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_21">
- <g
- id="Graphic_28">
- <rect
- x="124.72442"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect38"
- style="fill:#ffffff" />
- <rect
- x="124.72442"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect40"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72442,31.26772)"
- id="text44"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan42"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_27">
- <rect
- x="124.72442"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect47"
- style="fill:#000000" />
- <rect
- x="124.72442"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect49"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72442,46.85827)"
- id="text53"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan51"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_26">
- <rect
- x="124.72441"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect56"
- style="fill:#ffffff" />
- <rect
- x="124.72441"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect58"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72441,61.0315)"
- id="text62"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="56.527908"
- y="11"
- id="tspan60"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">OS</tspan>
- </text>
- </g>
- <g
- id="Graphic_25">
- <rect
- x="124.72441"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect65"
- style="fill:#000000" />
- <rect
- x="124.72441"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect67"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72441,75.20473)"
- id="text71"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="55.525955"
- y="11"
- id="tspan69"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">SBI</tspan>
- </text>
- </g>
- <g
- id="Graphic_24">
- <rect
- x="124.72441"
- y="87.874023"
- width="130.39371"
- height="17.007874"
- id="rect74"
- style="fill:#ffffff" />
- <rect
- x="124.72441"
- y="87.874023"
- width="130.39371"
- height="17.007874"
- id="rect76"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(124.72441,89.37796)"
- id="text80"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="53.190994"
- y="11"
- id="tspan78"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">SEE</tspan>
- </text>
- </g>
- <g
- id="Graphic_23">
- <rect
- x="192.75591"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect83"
- style="fill:#ffffff" />
- <rect
- x="192.75591"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect85"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(192.75591,31.26772)"
- id="text89"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan87"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_22">
- <rect
- x="192.75591"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect92"
- style="fill:#000000" />
- <rect
- x="192.75591"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect94"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(192.75591,46.85827)"
- id="text98"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan96"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_3">
- <g
- id="Graphic_20">
- <rect
- x="283.46457"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect102"
- style="fill:#000000" />
- <rect
- x="283.46457"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect104"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46457,75.20473)"
- id="text108"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="55.525955"
- y="11"
- id="tspan106"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">SBI</tspan>
- </text>
- </g>
- <g
- id="Graphic_19">
- <rect
- x="283.46457"
- y="87.874023"
- width="266.4567"
- height="17.007874"
- id="rect111"
- style="fill:#ffffff" />
- <rect
- x="283.46457"
- y="87.874023"
- width="266.4567"
- height="17.007874"
- id="rect113"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46457,89.37796)"
- id="text117"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="104.5555"
- y="11"
- id="tspan115"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Hypervisor</tspan>
- </text>
- </g>
- <g
- id="Group_13">
- <g
- id="Graphic_18">
- <rect
- x="283.46457"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect120"
- style="fill:#ffffff" />
- <rect
- x="283.46457"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect122"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46458,31.26772)"
- id="text126"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan124"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_17">
- <rect
- x="283.46457"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect129"
- style="fill:#000000" />
- <rect
- x="283.46457"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect131"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46458,46.85827)"
- id="text135"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan133"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_16">
- <rect
- x="283.46457"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect138"
- style="fill:#ffffff" />
- <rect
- x="283.46457"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect140"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46457,61.0315)"
- id="text144"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="56.527908"
- y="11"
- id="tspan142"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">OS</tspan>
- </text>
- </g>
- <g
- id="Graphic_15">
- <rect
- x="351.49609"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect147"
- style="fill:#ffffff" />
- <rect
- x="351.49609"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect149"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(351.49608,31.26772)"
- id="text153"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan151"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_14">
- <rect
- x="351.49609"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect156"
- style="fill:#000000" />
- <rect
- x="351.49609"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect158"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(351.49608,46.85827)"
- id="text162"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan160"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_7">
- <g
- id="Graphic_12">
- <rect
- x="419.52756"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect166"
- style="fill:#ffffff" />
- <rect
- x="419.52756"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect168"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(419.52757,31.26772)"
- id="text172"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan170"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_11">
- <rect
- x="419.52756"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect175"
- style="fill:#000000" />
- <rect
- x="419.52756"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect177"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(419.52757,46.85827)"
- id="text181"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan179"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_10">
- <rect
- x="419.52756"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect184"
- style="fill:#ffffff" />
- <rect
- x="419.52756"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect186"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(419.52757,61.0315)"
- id="text190"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="56.527908"
- y="11"
- id="tspan188"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">OS</tspan>
- </text>
- </g>
- <g
- id="Graphic_9">
- <rect
- x="487.55908"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect193"
- style="fill:#ffffff" />
- <rect
- x="487.55908"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect195"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(487.55907,31.26772)"
- id="text199"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan197"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_8">
- <rect
- x="487.55908"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect202"
- style="fill:#000000" />
- <rect
- x="487.55908"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect204"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(487.55907,46.85827)"
- id="text208"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan206"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- </g>
- <g
- id="Graphic_6">
- <rect
- x="419.52756"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect212"
- style="fill:#000000" />
- <rect
- x="419.52756"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect214"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(419.52757,75.20473)"
- id="text218"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="55.525955"
- y="11"
- id="tspan216"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">SBI</tspan>
- </text>
- </g>
- <g
- id="Graphic_5">
- <rect
- x="283.46457"
- y="104.88189"
- width="266.4567"
- height="11.338583"
- id="rect221"
- style="fill:#000000" />
- <rect
- x="283.46457"
- y="104.88189"
- width="266.4567"
- height="11.338583"
- id="rect223"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46457,103.55118)"
- id="text227"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="123.2264"
- y="11"
- id="tspan225"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">HBI</tspan>
- </text>
- </g>
- <g
- id="Graphic_4">
- <rect
- x="283.46457"
- y="116.22048"
- width="266.4567"
- height="17.007874"
- id="rect230"
- style="fill:#ffffff" />
- <rect
- x="283.46457"
- y="116.22048"
- width="266.4567"
- height="17.007874"
- id="rect232"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(283.46458,117.72441)"
- id="text236"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="120.89143"
- y="11"
- id="tspan234"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">HEE</tspan>
- </text>
- </g>
- </g>
- </g>
- </g>
-</svg>
diff --git a/src/inkscape/proxy.svg b/src/inkscape/proxy.svg
deleted file mode 100644
index 7ee4457..0000000
--- a/src/inkscape/proxy.svg
+++ /dev/null
@@ -1,635 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- viewBox="36.3504 24.3018 412.5236 146.777"
- width="412.5236"
- height="146.777"
- id="svg179"
- sodipodi:docname="proxy.svg"
- inkscape:version="0.92.2 5c3e80d, 2017-08-06">
- <metadata
- id="metadata183">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="640"
- inkscape:window-height="480"
- id="namedview181"
- showgrid="false"
- inkscape:zoom="0.63026699"
- inkscape:cx="206.2618"
- inkscape:cy="73.388496"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:window-maximized="0"
- inkscape:current-layer="svg179" />
- <defs
- id="defs16">
- <font-face
- font-family="Helvetica"
- font-size="12"
- units-per-em="1000"
- underline-position="-75.68359"
- underline-thickness="49.316406"
- slope="0"
- x-height="522.9492"
- cap-height="717.28516"
- ascent="770.0195"
- descent="-229.98047"
- font-weight="400"
- id="font-face2">
- <font-face-src>
- <font-face-name
- name="Helvetica" />
- </font-face-src>
- </font-face>
- <marker
- orient="auto"
- overflow="visible"
- markerUnits="strokeWidth"
- id="FilledArrow_Marker"
- stroke-linejoin="miter"
- stroke-miterlimit="10"
- viewBox="-1 -4 10 8"
- markerWidth="10"
- markerHeight="8"
- color="black">
- <g
- id="g6">
- <path
- d="M 8 0 L 0 -3 L 0 3 Z"
- fill="currentColor"
- stroke="currentColor"
- stroke-width="1"
- id="path4" />
- </g>
- </marker>
- <marker
- orient="auto"
- overflow="visible"
- markerUnits="strokeWidth"
- id="FilledArrow_Marker_2"
- stroke-linejoin="miter"
- stroke-miterlimit="10"
- viewBox="-9 -4 10 8"
- markerWidth="10"
- markerHeight="8"
- color="black">
- <g
- id="g11">
- <path
- d="M -8 0 L 0 3 L 0 -3 Z"
- fill="currentColor"
- stroke="currentColor"
- stroke-width="1"
- id="path9" />
- </g>
- </marker>
- <font-face
- font-family="Helvetica"
- font-size="12"
- units-per-em="1000"
- underline-position="-75.68359"
- underline-thickness="49.316406"
- slope="-1e3"
- x-height="522.9492"
- cap-height="717.28516"
- ascent="770.0195"
- descent="-229.98047"
- font-style="italic"
- font-weight="400"
- id="font-face14">
- <font-face-src>
- <font-face-name
- name="Helvetica-Oblique" />
- </font-face-src>
- </font-face>
- </defs>
- <g
- id="Canvas_1"
- style="fill:none;fill-opacity:1;stroke:none;stroke-dasharray:none;stroke-opacity:1">
- <title
- id="title18">Canvas 1</title>
- <g
- id="Canvas_1: Layer 1">
- <title
- id="title20">Layer 1</title>
- <g
- id="Group_3">
- <g
- id="Group_18">
- <g
- id="Graphic_29">
- <rect
- x="291.96799"
- y="28.3458"
- width="155.90601"
- height="141.733"
- id="rect22"
- style="fill:#ffffff" />
- <rect
- x="291.96799"
- y="28.3458"
- width="155.90601"
- height="141.733"
- id="rect24"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(296.968,151.5788)"
- id="text28"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0"
- y="11"
- id="tspan26"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Target System</tspan>
- </text>
- </g>
- <g
- id="Graphic_28">
- <ellipse
- cx="368.50351"
- cy="127.5575"
- rx="59.527596"
- ry="19.842531"
- id="ellipse31"
- style="fill:#ffffff" />
- <ellipse
- cx="368.50351"
- cy="127.5575"
- rx="59.527596"
- ry="19.842531"
- id="ellipse33"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(325.8815,120.5575)"
- id="text37"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="14.942313"
- y="11"
- id="tspan35"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">OS Kernel</tspan>
- </text>
- </g>
- <g
- id="Graphic_27">
- <ellipse
- cx="321.73251"
- cy="65.195648"
- rx="24.094538"
- ry="17.007877"
- id="ellipse40"
- style="fill:#ffffff" />
- <ellipse
- cx="321.73251"
- cy="65.195648"
- rx="24.094538"
- ry="17.007877"
- id="ellipse42"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(307.4569,51.19565)"
- id="text48"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="3.5998187"
- y="11"
- id="tspan44"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">App</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="10.938686"
- y="25"
- id="tspan46"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">1</tspan>
- </text>
- </g>
- <g
- id="Line_26">
- <line
- x1="339.54889"
- y1="88.951027"
- x2="347.52393"
- y2="99.584503"
- id="line51"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Line_25">
- <line
- x1="291.96799"
- y1="90.707802"
- x2="447.87399"
- y2="90.706802"
- id="line54"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4, 4" />
- </g>
- <g
- id="Graphic_24">
- <text
- transform="rotate(-90,252.9479,-177.5871)"
- id="text59"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.33203125"
- y="11"
- id="tspan57"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">User</tspan>
- </text>
- </g>
- <g
- id="Graphic_23">
- <text
- transform="rotate(-90,293.9288,-136.607)"
- id="text64"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.085089"
- y="11"
- id="tspan62"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Supervisor</tspan>
- </text>
- </g>
- <g
- id="Graphic_22">
- <ellipse
- cx="362.8345"
- cy="45.353001"
- rx="19.842531"
- ry="14.173223"
- id="ellipse67"
- style="fill:#ffffff" />
- <ellipse
- cx="362.8345"
- cy="45.353001"
- rx="19.842531"
- ry="14.173223"
- id="ellipse69"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(351.9605,31.353)"
- id="text75"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.19821875"
- y="11"
- id="tspan71"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">App</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="7.537086"
- y="25"
- id="tspan73"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">2</tspan>
- </text>
- </g>
- <g
- id="Line_21">
- <line
- x1="364.56064"
- y1="70.383324"
- x2="366.38556"
- y2="96.846024"
- id="line78"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_20">
- <ellipse
- cx="396.85049"
- cy="65.195"
- rx="19.842531"
- ry="14.173223"
- id="ellipse81"
- style="fill:#ffffff" />
- <ellipse
- cx="396.85049"
- cy="65.195"
- rx="19.842531"
- ry="14.173223"
- id="ellipse83"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(385.9765,51.195)"
- id="text89"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.19821875"
- y="11"
- id="tspan85"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">App</tspan>
- <tspan
- font-size="12"
- font-style="italic"
- font-weight="400"
- x="7.537086"
- y="25"
- id="tspan87"
- style="font-style:italic;font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">n</tspan>
- </text>
- </g>
- <g
- id="Line_19">
- <line
- x1="386.21109"
- y1="88.601303"
- x2="381.93225"
- y2="98.014664"
- id="line92"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- </g>
- <g
- id="Graphic_17">
- <rect
- x="85.039398"
- y="28.3458"
- width="141.73199"
- height="141.733"
- id="rect96"
- style="fill:#ffffff" />
- <rect
- x="85.039398"
- y="28.3458"
- width="141.73199"
- height="141.733"
- id="rect98"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(90.0394,151.5788)"
- id="text102"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0"
- y="11"
- id="tspan100"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Front-End Host</tspan>
- </text>
- </g>
- <g
- id="Graphic_16">
- <ellipse
- cx="171.496"
- cy="53.858299"
- rx="43.937069"
- ry="19.842531"
- id="ellipse105"
- style="fill:#ffffff" />
- <ellipse
- cx="171.496"
- cy="53.858299"
- rx="43.937069"
- ry="19.842531"
- id="ellipse107"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(141.3464,39.8583)"
- id="text113"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="3.4718657"
- y="11"
- id="tspan109"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Front-End</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="12.477725"
- y="25"
- id="tspan111"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Server</tspan>
- </text>
- </g>
- <g
- id="Graphic_15">
- <path
- d="m 161.575,145.98473 v -34.01576 c 0,-2.34709 13.33418,-4.25197 29.7638,-4.25197 16.42962,0 29.7638,1.90488 29.7638,4.25197 v 34.01576 c 0,2.34709 -13.33418,4.25197 -29.7638,4.25197 -16.42962,0 -29.7638,-1.90488 -29.7638,-4.25197"
- id="path116"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- d="m 161.575,145.98473 v -34.01576 c 0,-2.34709 13.33418,-4.25197 29.7638,-4.25197 16.42962,0 29.7638,1.90488 29.7638,4.25197 v 34.01576 c 0,2.34709 -13.33418,4.25197 -29.7638,4.25197 -16.42962,0 -29.7638,-1.90488 -29.7638,-4.25197 m 0,-34.01576 c 0,2.34709 13.33418,4.25197 29.7638,4.25197 16.42962,0 29.7638,-1.90488 29.7638,-4.25197"
- id="path118"
- inkscape:connector-curvature="0"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(166.575,117.10284)"
- id="text124"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.091925"
- y="11"
- id="tspan120"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Host File</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="4.7598939"
- y="25"
- id="tspan122"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">System</tspan>
- </text>
- </g>
- <g
- id="Line_14">
- <line
- x1="182.47607"
- y1="83.661171"
- x2="187.91631"
- y2="98.427406"
- id="line127"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Line_13">
- <line
- x1="215.54337"
- y1="70.336128"
- x2="318.69199"
- y2="108.92334"
- id="line130"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_12">
- <text
- transform="translate(227.795,49.6922)"
- id="text137"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="8.9082003"
- y="11"
- id="tspan133"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Proxied</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="7.912106"
- y="25"
- id="tspan135"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Devices</tspan>
- </text>
- </g>
- <g
- id="Line_11">
- <path
- d="M 118.19149,46.849605 C 111.044,44.920685 103.9098,42.83136 96.378,45.3543 85.45987,49.011565 72.282474,69.92131 62.3622,70.8661 55.270754,71.54148 49.62638,64.49124 43.877895,57.99966"
- id="path140"
- inkscape:connector-curvature="0"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_10">
- <text
- transform="translate(36.8504,24.3018)"
- id="text147"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="12.046186"
- y="11"
- id="tspan143"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Host</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="4.0364203"
- y="25"
- id="tspan145"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Internet</tspan>
- </text>
- </g>
- <g
- id="Group_5">
- <g
- id="Graphic_9">
- <rect
- x="90.708603"
- y="90.708702"
- width="59.527599"
- height="39.685001"
- id="rect150"
- style="fill:#ffffff" />
- <rect
- x="90.708603"
- y="90.708702"
- width="59.527599"
- height="39.685001"
- id="rect152"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Graphic_8">
- <rect
- x="93.543198"
- y="93.543404"
- width="53.858398"
- height="34.015701"
- id="rect155"
- style="fill:#ffffff" />
- <rect
- x="93.543198"
- y="93.543404"
- width="53.858398"
- height="34.015701"
- id="rect157"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Graphic_7">
- <text
- transform="translate(95.8006,96.7244)"
- id="text164"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="12.046186"
- y="11"
- id="tspan160"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Host</tspan>
- <tspan
- font-size="12"
- font-weight="400"
- x="2.3694279"
- y="25"
- id="tspan162"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Console</tspan>
- </text>
- </g>
- <g
- id="Graphic_6">
- <path
- d="m 150.2361,130.39403 -17.00788,17.00777 c 0,3e-5 -62.36212,3e-5 -62.36212,3e-5 -8e-5,0 19.84242,-17.0078 19.84242,-17.0078 z"
- id="path167"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- d="m 150.2361,130.39403 -17.00788,17.00777 c 0,3e-5 -62.36212,3e-5 -62.36212,3e-5 -8e-5,0 19.84242,-17.0078 19.84242,-17.0078 z"
- id="path169"
- inkscape:connector-curvature="0"
- style="stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- </g>
- <g
- id="Line_4">
- <line
- x1="145.62236"
- y1="82.606789"
- x2="147.6561"
- y2="80.347092"
- id="line173"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- </g>
- </g>
- </g>
-</svg>
diff --git a/src/inkscape/virtimps.svg b/src/inkscape/virtimps.svg
deleted file mode 100644
index 11516c1..0000000
--- a/src/inkscape/virtimps.svg
+++ /dev/null
@@ -1,730 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- viewBox="18.01575 11.338583 454.8504 95.04331"
- width="454.8504"
- height="95.04331"
- id="svg212"
- sodipodi:docname="virtimps.svg"
- inkscape:version="0.92.2 5c3e80d, 2017-08-06">
- <metadata
- id="metadata216">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="640"
- inkscape:window-height="480"
- id="namedview214"
- showgrid="false"
- inkscape:zoom="0.57161651"
- inkscape:cx="227.4252"
- inkscape:cy="47.521656"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:window-maximized="0"
- inkscape:current-layer="svg212" />
- <defs
- id="defs14">
- <font-face
- font-family="Helvetica"
- font-size="12"
- units-per-em="1000"
- underline-position="-75.68359"
- underline-thickness="49.316406"
- slope="0"
- x-height="522.9492"
- cap-height="717.28516"
- ascent="770.0195"
- descent="-229.98047"
- font-weight="400"
- id="font-face2">
- <font-face-src>
- <font-face-name
- name="Helvetica" />
- </font-face-src>
- </font-face>
- <marker
- orient="auto"
- overflow="visible"
- markerUnits="strokeWidth"
- id="FilledArrow_Marker"
- stroke-linejoin="miter"
- stroke-miterlimit="10"
- viewBox="-1 -4 10 8"
- markerWidth="10"
- markerHeight="8"
- color="black">
- <g
- id="g6">
- <path
- d="M 8 0 L 0 -3 L 0 3 Z"
- fill="currentColor"
- stroke="currentColor"
- stroke-width="1"
- id="path4" />
- </g>
- </marker>
- <marker
- orient="auto"
- overflow="visible"
- markerUnits="strokeWidth"
- id="FilledArrow_Marker_2"
- stroke-linejoin="miter"
- stroke-miterlimit="10"
- viewBox="-9 -4 10 8"
- markerWidth="10"
- markerHeight="8"
- color="black">
- <g
- id="g11">
- <path
- d="M -8 0 L 0 3 L 0 -3 Z"
- fill="currentColor"
- stroke="currentColor"
- stroke-width="1"
- id="path9" />
- </g>
- </marker>
- </defs>
- <g
- id="virtimps"
- style="fill:none;fill-opacity:1;stroke:none;stroke-dasharray:none;stroke-opacity:1">
- <title
- id="title16">virtimps</title>
- <g
- id="virtimps: Layer 1">
- <title
- id="title18">Layer 1</title>
- <g
- id="Graphic_36">
- <rect
- x="113.38583"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect20"
- style="fill:#000000" />
- <rect
- x="113.38583"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect22"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(113.38583,75.20473)"
- id="text26"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="55.525955"
- y="11"
- id="tspan24"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">SBI</tspan>
- </text>
- </g>
- <g
- id="Graphic_35">
- <rect
- x="113.38583"
- y="87.874023"
- width="266.4567"
- height="17.007874"
- id="rect29"
- style="fill:#ffffff" />
- <rect
- x="113.38583"
- y="87.874023"
- width="266.4567"
- height="17.007874"
- id="rect31"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(113.38583,89.37796)"
- id="text35"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="70.307449"
- y="11"
- id="tspan33"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Virtual Machine Monitor</tspan>
- </text>
- </g>
- <g
- id="Group_29">
- <g
- id="Graphic_34">
- <rect
- x="113.38583"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect38"
- style="fill:#ffffff" />
- <rect
- x="113.38583"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect40"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(113.38583,31.26772)"
- id="text44"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan42"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_33">
- <rect
- x="113.38583"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect47"
- style="fill:#000000" />
- <rect
- x="113.38583"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect49"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(113.38583,46.85827)"
- id="text53"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan51"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_32">
- <rect
- x="113.38583"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect56"
- style="fill:#ffffff" />
- <rect
- x="113.38583"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect58"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(113.38583,61.0315)"
- id="text62"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="38.853104"
- y="11"
- id="tspan60"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Guest OS</tspan>
- </text>
- </g>
- <g
- id="Graphic_31">
- <rect
- x="181.41733"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect65"
- style="fill:#ffffff" />
- <rect
- x="181.41733"
- y="28.346457"
- width="62.362206"
- height="19.842522"
- id="rect67"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(181.41733,31.26772)"
- id="text71"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan69"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_30">
- <rect
- x="181.41733"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect74"
- style="fill:#000000" />
- <rect
- x="181.41733"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect76"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(181.41733,46.85827)"
- id="text80"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan78"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- </g>
- <g
- id="Group_23">
- <g
- id="Graphic_28">
- <rect
- x="249.44884"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect84"
- style="fill:#ffffff" />
- <rect
- x="249.44884"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect86"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(249.44883,31.26772)"
- id="text90"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan88"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_27">
- <rect
- x="249.44884"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect93"
- style="fill:#000000" />
- <rect
- x="249.44884"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect95"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(249.44883,46.85827)"
- id="text99"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan97"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- <g
- id="Graphic_26">
- <rect
- x="249.44882"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect102"
- style="fill:#ffffff" />
- <rect
- x="249.44882"
- y="59.527561"
- width="130.39371"
- height="17.007874"
- id="rect104"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(249.44882,61.0315)"
- id="text108"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="38.853104"
- y="11"
- id="tspan106"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Guest OS</tspan>
- </text>
- </g>
- <g
- id="Graphic_25">
- <rect
- x="317.48032"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect111"
- style="fill:#ffffff" />
- <rect
- x="317.48032"
- y="28.346458"
- width="62.362206"
- height="19.842522"
- id="rect113"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(317.48032,31.26772)"
- id="text117"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="1.8285637"
- y="11"
- id="tspan115"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Application</tspan>
- </text>
- </g>
- <g
- id="Graphic_24">
- <rect
- x="317.48032"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect120"
- style="fill:#000000" />
- <rect
- x="317.48032"
- y="48.18898"
- width="62.362206"
- height="11.338583"
- id="rect122"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(317.48032,46.85827)"
- id="text126"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="21.510204"
- y="11"
- id="tspan124"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">ABI</tspan>
- </text>
- </g>
- </g>
- <g
- id="Graphic_22">
- <rect
- x="249.44882"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect130"
- style="fill:#000000" />
- <rect
- x="249.44882"
- y="76.535439"
- width="130.39371"
- height="11.338583"
- id="rect132"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- <text
- transform="translate(249.44882,75.20473)"
- id="text136"
- style="fill:#ffffff">
- <tspan
- font-size="12"
- font-weight="400"
- x="55.525955"
- y="11"
- id="tspan134"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#ffffff">SBI</tspan>
- </text>
- </g>
- <g
- id="Graphic_21">
- <text
- transform="translate(36.850395,11.338583)"
- id="text141"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.25195312"
- y="11"
- id="tspan139"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Classic Virtualization</tspan>
- </text>
- </g>
- <g
- id="Graphic_20">
- <text
- transform="translate(338.0197,11.338583)"
- id="text146"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.4785156"
- y="11"
- id="tspan144"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">With Hypervisor Support</tspan>
- </text>
- </g>
- <g
- id="Line_19">
- <line
- x1="56.692917"
- y1="28.346457"
- x2="107.71654"
- y2="28.346457"
- id="line149"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_18">
- <line
- x1="56.692917"
- y1="79.370079"
- x2="107.71654"
- y2="79.370079"
- id="line152"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_17">
- <line
- x1="56.692917"
- y1="104.88189"
- x2="107.71654"
- y2="104.88189"
- id="line155"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_16">
- <line
- x1="82.097008"
- y1="38.245979"
- x2="82.402992"
- y2="69.470558"
- id="line158"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_15">
- <text
- transform="translate(49.04331,46.85827)"
- id="text163"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.33203125"
- y="11"
- id="tspan161"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">User</tspan>
- </text>
- </g>
- <g
- id="Graphic_14">
- <text
- transform="translate(18.01575,85.03937)"
- id="text168"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.32128906"
- y="11"
- id="tspan166"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Supervisor</tspan>
- </text>
- </g>
- <g
- id="Line_13">
- <line
- x1="82.204727"
- y1="89.270081"
- x2="82.204727"
- y2="95.981888"
- id="line171"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Line_12">
- <line
- x1="385.51181"
- y1="82.204727"
- x2="436.53546"
- y2="82.204727"
- id="line174"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Graphic_11">
- <text
- transform="translate(414.86615,62.36221)"
- id="text179"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.32128906"
- y="11"
- id="tspan177"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Supervisor</tspan>
- </text>
- </g>
- <g
- id="Line_10">
- <line
- x1="408.11566"
- y1="66.592644"
- x2="408.07333"
- y2="72.305"
- id="line182"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Line_9">
- <line
- x1="385.51181"
- y1="56.692917"
- x2="436.53546"
- y2="56.692917"
- id="line185"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Line_8">
- <line
- x1="385.51181"
- y1="104.88189"
- x2="436.53546"
- y2="104.88189"
- id="line188"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- <g
- id="Graphic_7">
- <text
- transform="translate(414.86615,85.03937)"
- id="text193"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.32714844"
- y="11"
- id="tspan191"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">Hypervisor</tspan>
- </text>
- </g>
- <g
- id="Line_6">
- <line
- x1="407.71823"
- y1="92.102318"
- x2="407.78177"
- y2="94.984299"
- id="line196"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Graphic_5">
- <text
- transform="translate(413.8583,36.850395)"
- id="text201"
- style="fill:#000000">
- <tspan
- font-size="12"
- font-weight="400"
- x="0.33203125"
- y="11"
- id="tspan199"
- style="font-weight:400;font-size:12px;font-family:Helvetica;fill:#000000">User</tspan>
- </text>
- </g>
- <g
- id="Line_4">
- <line
- x1="408"
- y1="38.246456"
- x2="408"
- y2="46.792915"
- id="line204"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
- </g>
- <g
- id="Line_3">
- <line
- x1="385.51181"
- y1="28.346457"
- x2="436.53546"
- y2="28.346457"
- id="line207"
- style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
- </g>
- </g>
- </g>
-</svg>
diff --git a/src/mm-eplan.adoc b/src/mm-eplan.adoc
index a58d306..2b282e5 100644
--- a/src/mm-eplan.adoc
+++ b/src/mm-eplan.adoc
@@ -67,13 +67,13 @@ are disjoint memory locations aligned to 8 byte boundaries. Each figure
shows the litmus test code on the left, and a visualization of one
particular valid or invalid execution on the right.
-include::images/graphviz/litmus_sample.adoc[]
-[[litmus-sample]]
-.A sample litmus test and one forbidden execution (a0=1)
-image::image_placeholder.png[float+"right"]
-.Key for sample litmus test
-[cols="^,<,^,<",options="header",]
+.Sample litmus test
+graphviz::images/graphviz/litmus_sample.txt[align="center"]
+
+[cols="2,1"]
+_Key for sample litmus test_
+[width="60%",cols="^,<,^,<",options="header",align="center"]
|===
|Hart 0 | |Hart 1 |
| |latexmath:[$\vdots$] | |latexmath:[$\vdots$]
@@ -90,7 +90,6 @@ image::image_placeholder.png[float+"right"]
| |latexmath:[$\vdots$] | |latexmath:[$\vdots$]
|===
-
Litmus tests are used to understand the implications of the memory model
in specific concrete situations. For example, in the litmus test of
<<litmus-sample>>, the final value of `a0`
@@ -235,15 +234,12 @@ performing before the store.
Consider the litmus test of Figure A.2. When running this program on an implementation with
store buffers, it is possible to arrive at the final outcome a0=1, a1=0, a2=1, a3=0 as follows:
-A store buffer forwarding litmus test (outcome permitted)
-
-include::images/graphviz/storebuffer.adoc[float="right"]
-[[storebuffer]]
.A store buffer forwarding litmus test (outcome permitted)
-image::image_placeholder.png[]
+graphviz::images/graphviz/litmus_sb_forward.txt[align="center"]
-.A store buffer forwarding litmus test (outcome permitted)
-[cols="^,<,^,<",options="header",]
+[[litms_sb_forward]]
+_A store buffer forwarding litmus test (outcome permitted)_
+[cols="^,<,^,<",options="header",align="center"]
|===
|Hart 0 | |Hart 1 |
| |li t1, 1 | |li t1, 1
@@ -312,13 +308,12 @@ Therefore, even if (b) precedes (a) in the global memory order, (b)
should return the value written by (a) because (a) precedes (b) in
program order. Likewise for (e) and (f).
-include::images/graphviz/ppoca.adoc[]
-[[ppoca]]]
-.A test that highlights the behavior of store buffers
-image::image_placeholder.png[]
+graphviz::images/graphviz/litmus_ppoca.txt[align="center"]
+.The “PPOCA” store buffer forwarding litmus test (outcome permitted)
+[[litmus_ppoca]]
.Key for test that highlights the behavior of store buffers
-[cols="^,<,^,<",options="header",]
+[cols="^,<,^,<",options="header",align="center"]
|===
|Hart 0 | |Hart 1 |
| |li t1, 1 | |li t1, 1
@@ -335,7 +330,7 @@ image::image_placeholder.png[]
Another test that highlights the behavior of store buffers is shown in
-Figure fig:litmus:ppoca[[fig:litmus:ppoca]]. In this example, (d) is
+<<litmus_ppoca>>. In this example, (d) is
ordered before (e) because of the control dependency, and (f) is ordered
before (g) because of the address dependency. However, (e) is _not_
necessarily ordered before (f), even though (f) returns the value
@@ -360,7 +355,15 @@ correct
[[atomicityaxiom]]
==== Atomicity axiom
-p1cm|p12cm & (for Aligned Atomics):
+[NOTE]
+====
+Atomicity Axiom (for Aligned Atomics): If r and w are paired load and
+store operations generated by aligned LR and SC instructions in a hart
+h, s is a store to byte x, and r returns a value written by s, then s must
+precede w in the global memory order, and there can be no store from
+a hart other than h to byte x following s and preceding w in the global
+memory order.
+====
The RISC-V architecture decouples the notion of atomicity from the
notion of ordering. Unlike architectures such as TSO, RISC-V atomics
@@ -377,19 +380,18 @@ atomic in the slightly different sense that the memory location in
question will not be modified by another hart during the time the
original hart holds the reservation.
-{empty}(a) lr.d a0, 0(s0) (b) sd t1, 0(s0) (c) sc.d t2, 0(s0)
-
-      
+[[litmus_lrsdsc]]
+.In all four (independent) instances, the store-conditional (c) is permitted but not guaranteed to succeed
+[cols=3]
+|====
+|(a) lr.d a0, 0(s0)|(b) sd t1, 0(s0) |(c) sc.d t2, 0(s0)
-{empty}(a) lr.d a0, 0(s0) (b) sw t1, 4(s0) (c) sc.d t2, 0(s0)
+|(a) lr.d a0, 0(s0) |(b) sw t1, 4(s0) |(c) sc.d t2, 0(s0)
-      
+|(a) lr.w a0, 0(s0) |(b) sw t1, 4(s0) |(c) sc.w t2, 0(s0)
-{empty}(a) lr.w a0, 0(s0) (b) sw t1, 4(s0) (c) sc.w t2, 0(s0)
-
-      
-
-{empty}(a) lr.w a0, 0(s0) (b) sw t1, 4(s0) (c) sc.w t2, 8(s0)
+|(a) lr.w a0, 0(s0) |(b) sw t1, 4(s0) |(c) sc.w t2, 8(s0)
+|====
The atomicity axiom forbids stores from other harts from being
interleaved in global memory order between an LR and the SC paired with
@@ -399,13 +401,13 @@ global memory order, nor does it forbid stores from the same hart or
stores to non-overlapping locations from appearing between the paired
operations in either program order or in the global memory order. For
example, the SC instructions in
-Figure fig:litmus:lrsdsc[[fig:litmus:lrsdsc]] may (but are not
+<<litmus_lrsdsc>> may (but are not
guaranteed to) succeed. None of those successes would violate the
atomicity axiom, because the intervening non-conditional stores are from
the same hart as the paired load-reserved and store-conditional
instructions. This way, a memory system that tracks memory accesses at
cache line granularity (and which therefore will see the four snippets
-of Figure fig:litmus:lrsdsc[[fig:litmus:lrsdsc]] as identical) will not
+of <<litmus_lrsdsc>> as identical) will not
be forced to fail a store-conditional instruction that happens to
(falsely) share another portion of the same cache line as the memory
location being held by the reservation.
@@ -421,7 +423,11 @@ store may simply fall onto the same cache line.
[[mm-progress]]
==== Progress
-p1cm|p12cm & :
+[NOTE]
+====
+Progress Axiom: No memory operation may be preceded in the global
+memory order by an infinite sequence of other memory operations.
+====
The progress axiom ensures a minimal forward progress guarantee. It
ensures that stores from one hart will eventually be made visible to
@@ -443,11 +449,17 @@ the eventual visibility of all stores (or successors thereof) to all
harts.
[[mm-overlap]]
-==== Overlapping-Address Orderings (Rules #ppo:->st[[ppo:->st]]–#ppo:amoforward[[ppo:amoforward]])
+==== Overlapping-Address Orderings (Rules 1–3)
-p1cm|p12cm & Rule ppo:->st[[ppo:->st]]: +
-& Rule ppo:rdw[[ppo:rdw]]: +
-& Rule ppo:amoforward[[ppo:amoforward]]: +
+[NOTE]
+====
+Rule 1: b is a store, and a and b access overlapping memory addresses
+Rule 2: a and b are loads, x is a byte read by both a and b, there is no
+store to x between a and b in program order, and a and b return values
+for x written by different memory operations
+Rule 3: a is generated by an AMO or SC instruction, b is a load, and b
+returns a value written by a
+====
Same-address orderings where the latter is a store are straightforward:
a load or store can never be reordered with a later store to an
@@ -457,16 +469,16 @@ speculatively reordered store if the speculation turns out to be
invalid, so such behavior is simply disallowed by the model.
Same-address orderings from a store to a later load, on the other hand,
do not need to be enforced. As discussed in
-Section sec:memory:loadvalueaxiom[1.3.2], this reflects the observable
+<<loadvalueaxiom>>, this reflects the observable
behavior of implementations that forward values from buffered stores to
later loads.
Same-address load-load ordering requirements are far more subtle. The
basic requirement is that a younger load must not return a value that is
older than a value returned by an older load in the same hart to the
-same address. This is often known as ``CoRR`` (Coherence for Read-Read
-pairs), or as part of a broader ``coherence`` or ``sequential
-consistency per location`` requirement. Some architectures in the past
+same address. This is often known as `CoRR` (Coherence for Read-Read
+pairs), or as part of a broader `coherence` or `sequential
+consistency per location` requirement. Some architectures in the past
have relaxed same-address load-load ordering, but in hindsight this is
generally considered to complicate the programming model too much, and
so RVWMO requires CoRR ordering to be enforced. However, because the
@@ -475,29 +487,29 @@ rather than the ordering of the values being returned, capturing CoRR
requirements in terms of the global memory order requires a bit of
indirection.
-m.4@m.4
+graphviz::images/graphviz/MMM.txt[]
+[[loadvalueaxiom]]
+.A sample litmus test and one forbidden execution (a0=1)
-` `
[cols="^,<,^,<",options="header",]
|===
|Hart 0 | |Hart 1 |
-| |li t1, 1 | |li  t2, 2
-|(a) |sw t1,0(s0) |(d) |lw  a0,0(s1)
-|(b) |fence w, w |(e) |sw  t2,0(s1)
-|(c) |sw t1,0(s1) |(f) |lw  a1,0(s1)
+| |li t1, 1 | |li t2, 2
+|(a) |sw t1,0(s0) |(d) |lw a0,0(s1)
+|(b) |fence w, w |(e) |sw t2,0(s1)
+|(c) |sw t1,0(s1) |(f) |lw a1,0(s1)
| | |(g) |xor t3,a1,a1
| | |(h) |add s0,s0,t3
-| | |(i) |lw  a2,0(s0)
+| | |(i) |lw a2,0(s0)
|Outcome: `a0=1`, `a1=2`, `a2=0` | | |
|===
-&
Consider the litmus test of
-Figure fig:litmus:frirfi[[fig:litmus:frirfi]], which is one particular
-instance of the more general ``fri-rfi`` pattern. The term ``fri-rfi``
-refers to the sequence (d), (e), (f): (d) ``from-reads`` (i.e., reads
+<<frirfi>>, which is one particular
+instance of the more general `fri-rfi` pattern. The term `fri-rfi`
+refers to the sequence (d), (e), (f): (d) `from-reads` (i.e., reads
from an earlier write than) (e) which is the same hart, and (f) reads
from (e) which is in the same hart.
@@ -534,20 +546,20 @@ m.4@m.6
[cols="^,<,^,<",options="header",]
|===
|Hart 0 | |Hart 1 |
-| |li t1, 1 |(d) |lw  a0,0(s1)
+| |li t1, 1 |(d) |lw a0,0(s1)
|(a) |sw t1,0(s0) |(e) |xor t2,a0,a0
|(b) |fence w, w |(f) |add s4,s2,t2
-|(c) |sw t1,0(s1) |(g) |lw  a1,0(s4)
-| | |(h) |lw  a2,0(s2)
+|(c) |sw t1,0(s1) |(g) |lw a1,0(s4)
+| | |(h) |lw a2,0(s2)
| | |(i) |xor t3,a2,a2
| | |(j) |add s0,s0,t3
-| | |(k) |lw  a3,0(s0)
+| | |(k) |lw a3,0(s0)
|Outcome: `a0=1`, `a1=v`, `a2=v`, `a3=0` | | |
|===
&
-Consider the litmus test of Figure fig:litmus:rsw[[fig:litmus:rsw]].
+Consider the litmus test of <<litmus-rsw>>.
The outcome `a0=1`, `a1=v`, `a2=v`, `a3=0` (where latexmath:[$v$] is
some value written by another hart) can be observed by allowing (g) and
(h) to be reordered. This might be done speculatively, and the
@@ -559,24 +571,24 @@ same store anyway, (g) and (h) can be legally reordered. The global
memory order corresponding to this execution would be
(h),(k),(a),(c),(d),(g).
-Executions of the test in Figure fig:litmus:rsw[[fig:litmus:rsw]] in
+Executions of the test in <<litmus-rsw>> in
which `a1` does not equal `a2` do in fact require that (g) appears
before (h) in the global memory order. Allowing (h) to appear before (g)
in the global memory order would in that case result in a violation of
CoRR, because then (h) would return an older value than that returned by
-(g). Therefore, PPO rule ppo:rdw[[ppo:rdw]] forbids this CoRR violation
-from occurring. As such, PPO rule ppo:rdw[[ppo:rdw]] strikes a careful
+(g). Therefore, PPO rule ppo:rdw[[ppo:rdw]] forbids this CoRR violation
+from occurring. As such, PPO rule ppo:rdw[[ppo:rdw]] strikes a careful
balance between enforcing CoRR in all cases while simultaneously being
weak enough to permit `RSW` and `fri-rfi` patterns that commonly
appear in real microarchitectures.
There is one more overlapping-address rule: PPO
-rule ppo:amoforward[[ppo:amoforward]] simply states that a value cannot
+rule ppo:amoforward[[ppo:amoforward]] simply states that a value cannot
be returned from an AMO or SC to a subsequent load until the AMO or SC
has (in the case of the SC, successfully) performed globally. This
follows somewhat naturally from the conceptual view that both AMOs and
SC instructions are meant to be performed atomically in memory. However,
-notably, PPO rule ppo:amoforward[[ppo:amoforward]] states that hardware
+notably, PPO rule ppo:amoforward[[ppo:amoforward]] states that hardware
may not even non-speculatively forward the value being stored by an
AMOSWAP to a subsequent load, even though for AMOSWAP that store value
is not actually semantically dependent on the previous value in memory,
@@ -598,10 +610,10 @@ rules apply to each of the component memory accesses independently.
p1cm|p12cm & Rule ppo:fence[[ppo:fence]]:
By default, the FENCE instruction ensures that all memory accesses from
-instructions preceding the fence in program order (the ``predecessor
-set``) appear earlier in the global memory order than memory accesses
+instructions preceding the fence in program order (the `predecessor
+set`) appear earlier in the global memory order than memory accesses
from instructions appearing after the fence in program order (the
-``successor set``). However, fences can optionally further restrict the
+`successor set`). However, fences can optionally further restrict the
predecessor set and/or the successor set to a smaller set of memory
accesses in order to provide some speedup. Specifically, fences have PR,
PW, SR, and SW bits which restrict the predecessor and/or successor
@@ -611,7 +623,7 @@ sets. The predecessor set includes loads (resp.stores) if and only if PR
The FENCE encoding currently has nine non-trivial combinations of the
four bits PR, PW, SR, and SW, plus one extra encoding FENCE.TSO which
-facilitates mapping of ``acquire+release`` or RVTSO semantics. The
+facilitates mapping of `acquire+release` or RVTSO semantics. The
remaining seven combinations have empty predecessor and/or successor
sets and hence are no-ops. Of the ten non-trivial options, only six are
commonly used in practice:
@@ -630,11 +642,11 @@ memory model.
Finally, we note that since RISC-V uses a multi-copy atomic memory
model, programmers can reason about fences bits in a thread-local
-manner. There is no complex notion of ``fence cumulativity`` as found in
+manner. There is no complex notion of `fence cumulativity` as found in
memory models that are not multi-copy atomic.
[[sec:memory:acqrel]]
-==== Explicit Synchronization (Rules #ppo:acquire[[ppo:acquire]]–#ppo:pair[[ppo:pair]])
+==== Explicit Synchronization (Rules #ppo:acquire[[ppo:acquire]]–#ppo:pair[[ppo:pair]])
p1cm|p12cm & Rule ppo:acquire[[ppo:acquire]]: +
& Rule ppo:release[[ppo:release]]: +
@@ -648,7 +660,7 @@ ensures, for example, that all loads and stores inside the critical
section are up to date with respect to the synchronization variable
being used to protect it. Acquire ordering can be enforced in one of two
ways: with an acquire annotation, which enforces ordering with respect
-to just the synchronization variable itself, or with a FENCE R,RW, which
+to just the synchronization variable itself, or with a FENCE R,RW, which
enforces ordering with respect to all previous loads.
....
@@ -672,8 +684,8 @@ Because this example uses _aq_, the loads and stores in the critical
section are guaranteed to appear in the global memory order after the
AMOSWAP used to acquire the lock. However, assuming `a0`, `a1`, and `a2`
point to different memory locations, the loads and stores in the
-critical section may or may not appear after the ``Arbitrary unrelated
-load`` at the beginning of the example in the global memory order.
+critical section may or may not appear after the `Arbitrary unrelated
+load` at the beginning of the example in the global memory order.
....
sd x1, (a1) # Arbitrary unrelated store
@@ -693,16 +705,16 @@ load`` at the beginning of the example in the global memory order.
....
Now, consider the alternative in
-Figure fig:litmus:spinlock_fences[[fig:litmus:spinlock_fences]]. In
+<<spinlock_fences>>. In
this case, even though the AMOSWAP does not enforce ordering with an
_aq_ bit, the fence nevertheless enforces that the acquire AMOSWAP
appears earlier in the global memory order than all loads and stores in
the critical section. Note, however, that in this case, the fence also
-enforces additional orderings: it also requires that the ``Arbitrary
-unrelated load`` at the start of the program appears earlier in the
+enforces additional orderings: it also requires that the `Arbitrary
+unrelated load` at the start of the program appears earlier in the
global memory order than the loads and stores of the critical section.
(This particular fence does not, however, enforce any ordering with
-respect to the ``Arbitrary unrelated store`` at the start of the
+respect to the `Arbitrary unrelated store` at the start of the
snippet.) In this way, fence-enforced orderings are slightly coarser
than orderings enforced by _.aq_.
@@ -713,39 +725,37 @@ release operation in the global memory order. This ensures, for example,
that memory accesses in a critical section appear before the
lock-releasing store in the global memory order. Just as for acquire
semantics, release semantics can be enforced using release annotations
-or with a FENCE RW,W operation. Using the same examples, the ordering
-between the loads and stores in the critical section and the ``Arbitrary
-unrelated store`` at the end of the code snippet is enforced only by the
-FENCE RW,W in
-Figure #fig:litmus:spinlock_fences[[fig:litmus:spinlock_fences]], not by
-the _rl_ in
-Figure #fig:litmus:spinlock_atomics[[fig:litmus:spinlock_atomics]].
+or with a FENCE RW,W operation. Using the same examples, the ordering
+between the loads and stores in the critical section and the `Arbitrary
+unrelated store` at the end of the code snippet is enforced only by the
+FENCE RW,W in <<spinlock_fences>>, not by
+the _rl_ in <<spinlock_atomics>>.
With RCpc annotations alone, store-release-to-load-acquire ordering is
not enforced. This facilitates the porting of code written under the TSO
and/or RCpc memory models. To enforce store-release-to-load-acquire
ordering, the code must use store-release-RCsc and load-acquire-RCsc
-operations so that PPO rule #ppo:rcsc[[ppo:rcsc]] applies. RCpc alone is
+operations so that PPO rule ppo:rcsc[[ppo:rcsc]] applies. RCpc alone is
sufficient for many use cases in C/C++ but is insufficient for many
other use cases in C/C++, Java, and Linux, to name just a few examples;
-see Section #sec:memory:porting[1.5] for details.
+see <<memory-porting>> for details.
-PPO rule #ppo:pair[[ppo:pair]] indicates that an SC must appear after
+PPO rule ppo:pair[[ppo:pair]] indicates that an SC must appear after
its paired LR in the global memory order. This will follow naturally
from the common use of LR/SC to perform an atomic read-modify-write
operation due to the inherent data dependency. However, PPO
-rule #ppo:pair[[ppo:pair]] also applies even when the value being stored
+rule ppo:pair[[ppo:pair]] also applies even when the value being stored
does not syntactically depend on the value returned by the paired LR.
Lastly, we note that just as with fences, programmers need not worry
-about ``cumulativity`` when analyzing ordering annotations.
+about `cumulativity` when analyzing ordering annotations.
[[sec:memory:dependencies]]
-==== Syntactic Dependencies (Rules #ppo:addr[[ppo:addr]]–#ppo:ctrl[[ppo:ctrl]])
+==== Syntactic Dependencies (Rules ppo:addr[[ppo:addr]]–#ppo:ctrl[[ppo:ctrl]])
-p1cm|p12cm & Rule #ppo:addr[[ppo:addr]]: +
-& Rule #ppo:data[[ppo:data]]: +
-& Rule #ppo:ctrl[[ppo:ctrl]]: +
+[[ppo-addr]]
+& Rule ppo:data[[ppo:data]]: +
+& Rule ppo:ctrl[[ppo:ctrl]]: +
Dependencies from a load to a later memory operation in the same hart
are respected by the RVWMO memory model. The Alpha memory model was
@@ -779,7 +789,7 @@ The notion of accumulating into a destination register rather than
writing into it reflects the behavior of CSRs such as `fflags`. In
particular, an accumulation into a register does not clobber any
previous writes or accumulations into the same register. For example, in
-Figure #fig:litmus:fflags[[fig:litmus:fflags]], (c) has a syntactic
+<<fflags>>, (c) has a syntactic
dependency on both (a) and (b).
Like other modern memory models, the RVWMO memory model uses syntactic
@@ -787,7 +797,7 @@ rather than semantic dependencies. In other words, this definition
depends on the identities of the registers being accessed by different
instructions, not the actual contents of those registers. This means
that an address, control, or data dependency must be enforced even if
-the calculation could seemingly be ``optimized away``. This choice
+the calculation could seemingly be `optimized away`. This choice
ensures that RVWMO remains compatible with code that uses these false
syntactic dependencies as a lightweight ordering mechanism.
@@ -796,7 +806,7 @@ ld a1,0(s0) xor a2,a1,a1 add s1,s1,a2 ld a5,0(s1)
For example, there is a syntactic address dependency from the memory
operation generated by the first instruction to the memory operation
generated by the last instruction in
-Figure #fig:litmus:address[[fig:litmus:address]], even though `a1` XOR
+<<address>>, even though `a1` XOR
`a1` is zero and hence has no effect on the address accessed by the
second load.
@@ -806,7 +816,7 @@ to the specific two instructions in question. Other non-dependent
instructions may be freely reordered by aggressive implementations. One
alternative would be to use a load-acquire, but this would enforce
ordering for the first load with respect to _all_ subsequent
-instructions. Another would be to use a FENCE R,R, but this would
+instructions. Another would be to use a FENCE R,R, but this would
include all previous and all subsequent loads, making this option more
expensive.
@@ -815,14 +825,14 @@ lw x1,0(x2) bne x1,x0,next sw x3,0(x4) next: sw x5,0(x6)
Control dependencies behave differently from address and data
dependencies in the sense that a control dependency always extends to
all instructions following the original target in program order.
-Consider Figure #fig:litmus:control1[[fig:litmus:control1]]: the
+Consider <<control1>> the
instruction at `next` will always execute, but the memory operation
generated by that last instruction nevertheless still has a control
dependency from the memory operation generated by the first instruction.
lw x1,0(x2) bne x1,x0,next next: sw x3,0(x4)
-Likewise, consider Figure #fig:litmus:control2[[fig:litmus:control2]].
+Likewise, consider <<control2>>.
Even though both branch outcomes have the same target, there is still a
control dependency from the memory operation generated by the first
instruction in this snippet to the memory operation generated by the
@@ -831,14 +841,14 @@ stronger than what might be seen in other contexts (e.g., C++), but it
conforms with standard definitions of control dependencies in the
literature.
-Notably, PPO rules #ppo:addr[[ppo:addr]]–#ppo:ctrl[[ppo:ctrl]] are also
+Notably, PPO rules ppo:addr[[ppo:addr]]–#ppo:ctrl[[ppo:ctrl]] are also
intentionally designed to respect dependencies that originate from the
output of a successful store-conditional instruction. Typically, an SC
instruction will be followed by a conditional branch checking whether
the outcome was successful; this implies that there will be a control
dependency from the store operation generated by the SC instruction to
any memory operations following the branch. PPO
-rule #ppo:ctrl[[ppo:ctrl]] in turn implies that any subsequent store
+rule ppo:ctrl[[ppo:ctrl]] in turn implies that any subsequent store
operations will appear later in the global memory order than the store
operation generated by the SC. However, since control, address, and data
dependencies are defined over memory operations, and since an
@@ -869,7 +879,7 @@ m.4m0.05m.4
In addition, the choice to respect dependencies originating at
store-conditional instructions ensures that certain out-of-thin-air-like
behaviors will be prevented. Consider
-Figure #fig:litmus:successdeps[[fig:litmus:successdeps]]. Suppose a
+<<successdeps>>. Suppose a
hypothetical implementation could occasionally make some early guarantee
that a store-conditional operation will succeed. In this case, (c) could
return 0 to `a2` early (before actually executing), allowing the
@@ -883,18 +893,19 @@ instructions.
We also note that syntactic dependencies between instructions only have
any force when they take the form of a syntactic address, control,
and/or data dependency. For example: a syntactic dependency between two
-``F`` instructions via one of the ``accumulating CSRs`` in
-Section #sec:source-dest-regs[[sec:source-dest-regs]] does _not_ imply
-that the two ``F`` instructions must be executed in order. Such a
+`F` instructions via one of the `accumulating CSRs` in
+<<source-dest-regs>> does _not_ imply
+that the two `F` instructions must be executed in order. Such a
dependency would only serve to ultimately set up later a dependency from
-both ``F`` instructions to a later CSR instruction accessing the CSR
+both `F` instructions to a later CSR instruction accessing the CSR
flag in question.
-[[sec:memory:ppopipeline]]
-==== Pipeline Dependencies (Rules #ppo:addrdatarfi[[ppo:addrdatarfi]]–#ppo:addrpo[[ppo:addrpo]])
+[[memory-ppopipeline]]
+==== Pipeline Dependencies (Rules ppo:addrdatarfi[[ppo:addrdatarfi]]–ppo:addrpo[[ppo:addrpo]])
-p1cm|p12cm & Rule #ppo:addrdatarfi[[ppo:addrdatarfi]]: +
-& Rule #ppo:addrpo[[ppo:addrpo]]: +
+[[addrdatarfi]]
+p1cm|p12cm & Rule ppo:addrdatarfi: +
+& Rule ppo:addrpo[[ppo:addrpo]]: +
m.4m.05m.4
@@ -914,12 +925,12 @@ m.4m.05m.4
& &
-PPO rules #ppo:addrdatarfi[[ppo:addrdatarfi]] and
-#ppo:addrpo[[ppo:addrpo]] reflect behaviors of almost all real processor
-pipeline implementations. Rule #ppo:addrdatarfi[[ppo:addrdatarfi]]
+PPO rules ppo:addrdatarfi[[ppo:addrdatarfi]] and
+ppo:addrpo[[ppo:addrpo]] reflect behaviors of almost all real processor
+pipeline implementations. Rule ppo:addrdatarfi
states that a load cannot forward from a store until the address and
data for that store are known. Consider
-Figure #fig:litmus:addrdatarfi[[fig:litmus:addrdatarfi]]: (f) cannot be
+<<addrdatarfi>> (f) cannot be
executed until the data for (e) has been resolved, because (f) must
return the value written by (e) (or by something even later in the
global memory order), and the old value must not be clobbered by the
@@ -930,6 +941,7 @@ m.4m.05m.4
` `
+[[addrdatarfi]]
[cols="^,<,^,<",options="header",]
|===
|Hart 0 | |Hart 1 |
@@ -947,12 +959,12 @@ m.4m.05m.4
& &
If there were another store to the same address in between (e) and (f),
-as in Figure #fig:litmus:addrdatarfi_no[[fig:litmus:addrdatarfi_no]],
+as in <<litmus:addrdatarfi_no>>,
then (f) would no longer be dependent on the data of (e) being resolved,
and hence the dependency of (f) on (d), which produces the data for (e),
would be broken.
-Rule #ppo:addrpo[[ppo:addrpo]] makes a similar observation to the
+Rule ppo:addrpo[[ppo:addrpo]] makes a similar observation to the
previous rule: a store cannot be performed at memory until all previous
loads that might access the same address have themselves been performed.
Such a load must appear to execute before the store, but it cannot do so
@@ -960,8 +972,8 @@ if the store were to overwrite the value in memory before the load had a
chance to read the old value. Likewise, a store generally cannot be
performed until it is known that preceding instructions will not cause
an exception due to failed address resolution, and in this sense,
-rule #ppo:addrpo[[ppo:addrpo]] can be seen as somewhat of a special case
-of rule #ppo:ctrl[[ppo:ctrl]].
+rule ppo:addrpo[[ppo:addrpo]] can be seen as somewhat of a special case
+of rule ppo:ctrl[[ppo:ctrl]].
m.4m.05m.4 ` `
@@ -977,7 +989,7 @@ m.4m.05m.4 ` `
& &
-Consider Figure #fig:litmus:addrpo[[fig:litmus:addrpo]]: (f) cannot be
+Consider <<addrpo>> (f) cannot be
executed until the address for (e) is resolved, because it may turn out
that the addresses match; i.e., that `a1=s0`. Therefore, (f) cannot be
sent to memory before (d) has executed and confirmed whether the
@@ -988,7 +1000,7 @@ addresses do indeed overlap.
RVWMO does not currently attempt to formally describe how FENCE.I,
SFENCE.VMA, I/O fences, and PMAs behave. All of these behaviors will be
described by future formalizations. In the meantime, the behavior of
-FENCE.I is described in Chapter #chap:zifencei[[chap:zifencei]], the
+FENCE.I is described in <<zifencei>>, the
behavior of SFENCE.VMA is described in the RISC-V Instruction Set
Privileged Architecture Manual, and the behavior of I/O fences and the
effects of PMAs are described below.
@@ -1029,7 +1041,7 @@ legal. This distinction does not affect the memory model.
For I/O, the load value axiom and atomicity axiom in general do not
apply, as both reads and writes might have device-specific side effects
-and may return values other than the value ``written`` by the most
+and may return values other than the value `written` by the most
recent store to the same address. Nevertheless, the following preserved
program order rules still generally apply for accesses to I/O memory:
memory access latexmath:[$a$] precedes memory access latexmath:[$b$] in
@@ -1037,7 +1049,7 @@ global memory order if latexmath:[$a$] precedes latexmath:[$b$] in
program order and one or more of the following holds:
. latexmath:[$a$] precedes latexmath:[$b$] in preserved program order as
-defined in Chapter #ch:memorymodel[[ch:memorymodel]], with the exception
+defined in <<memorymodel>>, with the exception
that acquire and release ordering annotations apply only from one memory
operation to another memory operation and from one I/O operation to
another I/O operation, but not from a memory operation to an I/O nor
@@ -1057,7 +1069,7 @@ operations and I/O operations in its predecessor and successor sets. To
enforce ordering between I/O operations and main memory operations, code
must use a FENCE with PI, PO, SI, and/or SO, plus PR, PW, SR, and/or SW.
For example, to enforce ordering between a write to main memory and an
-I/O write to a device register, a FENCE W,O or stronger is needed.
+I/O write to a device register, a FENCE W,O or stronger is needed.
sd t0, 0(a0) fence w,o sd a0, 0(a1)
@@ -1065,7 +1077,7 @@ When a fence is in fact used, implementations must assume that the
device may attempt to access memory immediately after receiving the MMIO
signal, and subsequent memory accesses from that device to memory must
observe the effects of all accesses ordered prior to that MMIO
-operation. In other words, in Figure #fig:litmus:wo[[fig:litmus:wo]],
+operation. In other words, in <<wo>>,
suppose `0(a0)` is in main memory and `0(a1)` is the address of a device
register in I/O memory. If the device accesses `0(a0)` upon receiving
the MMIO write, then that load must conceptually appear after the first
@@ -1079,8 +1091,8 @@ distinguish between these options; it simply provides an
implementation-agnostic mechanism to specify the orderings that must be
enforced.
-Many architectures include separate notions of ``ordering`` and
-``completion`` fences, especially as it relates to I/O (as opposed to
+Many architectures include separate notions of `ordering` and
+`completion` fences, especially as it relates to I/O (as opposed to
regular main memory). Ordering fences simply ensure that memory
operations stay in order, while completion fences ensure that
predecessor accesses have all completed before any successors are made
@@ -1117,11 +1129,11 @@ those external devices and buses.
[cols="<,<",options="header",]
|===
|x86/TSO Operation |RVWMO Mapping
-|Load |`l{b|h|w|d}; fence r,rw `
-|Store |`fence rw,w; s{b|h|w|d} `
-|Atomic RMW |`amo<op>.{w|d}.aqrl OR `
-| |`loop:lr.{w|d}.aq; <op>; sc.{w|d}.aqrl; bnez loop `
-|Fence |`fence rw,rw `
+|Load | `l{b|h|w|d}; fence r,rw`
+|Store |`fence rw,w; s{b|h|w|d}`
+|Atomic RMW |`amo<op>.{w|d}.aqrl OR`
+| |`loop:lr.{w|d}.aq; <op>; sc.{w|d}.aqrl; bnez loop`
+|Fence |`fence rw,rw`
|===
<<somappings>> provides a mapping from TSO memory
@@ -1129,8 +1141,8 @@ operations onto RISC-V memory instructions. Normal x86 loads and stores
are all inherently acquire-RCpc and release-RCpc operations: TSO
enforces all load-load, load-store, and store-store ordering by default.
Therefore, under RVWMO, all TSO loads must be mapped onto a load
-followed by FENCE R,RW, and all TSO stores must be mapped onto
-FENCE RW,W followed by a store. TSO atomic read-modify-writes and x86
+followed by FENCE R,RW, and all TSO stores must be mapped onto
+FENCE RW,W followed by a store. TSO atomic read-modify-writes and x86
instructions using the LOCK prefix are fully ordered and can be
implemented either via an AMO with both _aq_ and _rl_ set, or via an LR
with _aq_ set, the arithmetic operation in question, an SC with both
@@ -1140,7 +1152,7 @@ condition. In the latter case, the _rl_ annotation on the LR turns out
Alternatives to <<somappings>> are also possible. A TSO
store can be mapped onto AMOSWAP with _rl_ set. However, since RVWMO PPO
-Rule #ppo:amoforward[[ppo:amoforward]] forbids forwarding of values from
+Rule ppo:amoforward [[amoforward]] forbids forwarding of values from
AMOs to subsequent loads, the use of AMOSWAP for stores may negatively
affect performance. A TSO load can be mapped using LR with _aq_ set: all
such LR instructions will be unpaired, but that fact in and of itself
@@ -1153,18 +1165,18 @@ reservation mechanism than was originally intended.
[cols="<,<",options="header",]
|===
|Power Operation |RVWMO Mapping
-|Load |`l{b|h|w|d} `
-|Load-Reserve |`lr.{w|d} `
-|Store |`s{b|h|w|d} `
-|Store-Conditional |`sc.{w|d} `
-|`lwsync ` |`fence.tso `
-|`sync ` |`fence rw,rw `
-|`isync ` |`fence.i; fence r,r `
+|Load |`l{b|h|w|d}`
+|Load-Reserve |`lr.{w|d}`
+|Store |`s{b|h|w|d}`
+|Store-Conditional |`sc.{w|d}`
+|`lwsync` |`fence.tso`
+|`sync` |`fence rw,rw`
+|`isync` |`fence.i; fence r,r`
|===
<<powermappings>> provides a mapping from Power memory
operations onto RISC-V memory instructions. Power ISYNC maps on RISC-V
-to a FENCE.I followed by a FENCE R,R; the latter fence is needed because
+to a FENCE.I followed by a FENCE R,R; the latter fence is needed because
ISYNC is used to define a `control+control fence` dependency that is
not present in RVWMO.
@@ -1173,18 +1185,18 @@ not present in RVWMO.
[cols="<,<",options="header",]
|===
|ARM Operation |RVWMO Mapping
-|Load |`l{b|h|w|d} `
-|Load-Acquire |`fence rw, rw; l{b|h|w|d}; fence r,rw `
-|Load-Exclusive |`lr.{w|d} `
-|Load-Acquire-Exclusive |`lr.{w|d}.aqrl `
-|Store |`s{b|h|w|d} `
-|Store-Release |`fence rw,w; s{b|h|w|d} `
-|Store-Exclusive |`sc.{w|d} `
-|Store-Release-Exclusive |`sc.{w|d}.rl `
-|`dmb ` |`fence rw,rw `
-|`dmb.ld ` |`fence r,rw `
-|`dmb.st ` |`fence w,w `
-|`isb ` |`fence.i; fence r,r `
+|Load |`l{b|h|w|d}`
+|Load-Acquire |`fence rw, rw; l{b|h|w|d}; fence r,rw`
+|Load-Exclusive |`lr.{w|d}`
+|Load-Acquire-Exclusive |`lr.{w|d}.aqrl`
+|Store |`s{b|h|w|d}`
+|Store-Release |`fence rw,w; s{b|h|w|d}`
+|Store-Exclusive |`sc.{w|d}`
+|Store-Release-Exclusive |`sc.{w|d}.rl`
+|`dmb` |`fence rw,rw`
+|`dmb.ld` |`fence r,rw`
+|`dmb.st` |`fence w,w`
+|`isb` |`fence.i; fence r,r`
|===
<<armmappings>> provides a mapping from ARM memory
@@ -1192,75 +1204,77 @@ operations onto RISC-V memory instructions. Since RISC-V does not
currently have plain load and store opcodes with _aq_ or _rl_
annotations, ARM load-acquire and store-release operations should be
mapped using fences instead. Furthermore, in order to enforce
-store-release-to-load-acquire ordering, there must be a FENCE RW,RW
-between the store-release and load-acquire; Table #tab:armmappings[1.4]
+store-release-to-load-acquire ordering, there must be a FENCE RW,RW
+between the store-release and load-acquire; Table tab:armmappings[1.4]
enforces this by always placing the fence in front of each acquire
operation. ARM load-exclusive and store-exclusive instructions can
likewise map onto their RISC-V LR and SC equivalents, but instead of
-placing a FENCE RW,RW in front of an LR with _aq_ set, we simply also
+placing a FENCE RW,RW in front of an LR with _aq_ set, we simply also
set _rl_ instead. ARM ISB maps on RISC-V to FENCE.I followed by
-FENCE R,R similarly to how ISYNC maps for Power.
+FENCE R,R similarly to how ISYNC maps for Power.
[[linuxmappings]]
.Mappings from Linux memory primitives to RISC-V primitives.
[cols="<,<",options="header",]
|===
|Linux Operation |RVWMO Mapping
-|`smp_mb() ` |`fence rw,rw `
-|`smp_rmb() ` |`fence r,r `
+|`smp_mb()` |`fence rw,rw`
+
+|`smp_rmb()` |`fence r,r`
-|`smp_wmb() ` |`fence w,w `
+|`smp_wmb()` |`fence w,w`
-|`dma_rmb() ` |`fence r,r `
+|`dma_rmb()` |`fence r,r`
-|`dma_wmb() ` |`fence w,w `
+|`dma_wmb()` |`fence w,w`
-|`mb() ` |`fence iorw,iorw `
+|`mb()` |`fence iorw,iorw`
-|`rmb() ` |`fence ri,ri `
+|`rmb()` |`fence ri,ri`
-|`wmb() ` |`fence wo,wo `
+|`wmb()` |`fence wo,wo`
-|`smp_load_acquire() ` |`l{b|h|w|d}; fence r,rw `
+|`smp_load_acquire()` |`l{b|h|w|d}; fence r,rw`
-|`smp_store_release() ` |`fence.tso; s{b|h|w|d} `
+|`smp_store_release()` |`fence.tso; s{b|h|w|d}`
|Linux Construct |RVWMO AMO Mapping
-|`atomic_<op>_relaxed ` |`amo<op>.{w|d} `
+|`atomic_ &#60; op &#62;_relaxed` |`amo &#60; op &#62;.{w|d}`
-|`atomic_<op>_acquire ` |`amo<op>.{w|d}.aq `
+|`atomic_ &#60;op &#62;_acquire` |`amo &#60;op &#62;.{w|d}.aq`
-|`atomic_<op>_release ` |`amo<op>.{w|d}.rl `
+|`atomic_ &#60;op &#62;_release` |`amo &#60;op &#62;.{w|d}.rl`
-|`atomic_<op> ` |`amo<op>.{w|d}.aqrl `
+|`atomic_ &#60;op &#62;_` |`amo &#60;op &#62;.{w|d}.aqrl`
|Linux Construct |RVWMO LR/SC Mapping
-|`atomic_<op>_relaxed ` |`loop:lr.{w|d}; <op>; sc.{w|d}; bnez loop `
+|`atomic_ &#60;op &#62;_relaxed` |`loop:lr.{w|d}; &#60;op& #62;; sc.{w|d}; bnez loop`
-|`atomic_<op>_acquire ` |`loop:lr.{w|d}.aq; <op>; sc.{w|d}; bnez loop `
+|`atomic_ &#60;op &#62;_acquire` |`loop:lr.{w|d}.aq; &#60;op &#62;; sc.{w|d}; bnez loop`
-|`atomic_<op>_release`
-|`loop:lr.{w|d}; <op>; sc.{w|d}.aqrl^*; bnez loop OR `
+|`atomic_ &#60;op &#62;_release` |`loop:lr.{w|d}; &#60;op &#62;; sc.{w|d}.aqrl^*; bnez loop OR`
-| |`fence.tso; loop:lr.{w|d}; <op>; sc.{w|d}^*; bnez loop `
+| |`fence.tso; loop:lr.{w|d}; &#60;op &#62;; sc.{w|d}^*; bnez loop`
+
+|`atomic_ &#60;op &#62;_` |`loop:lr.{w|d}.aq;` `&#60; op &#62; ; sc.{w|d}.aqrl; bnez loop`
-|`atomic_<op> ` |`loop:lr.{w|d}.aq; <op>; sc.{w|d}.aqrl; bnez loop `
|===
-With regosrds to <<linuxmappings>>, other
+
+With regards to <<linuxmappings>>, other
constructs (such as spinlocks) should follow accordingly. Platforms or
devices with non-coherent DMA may need additional synchronization (such
as cache flush or invalidate mechanisms); currently any such extra
synchronization will be device-specific.
-Table #tab:linuxmappings[1.5] provides a mapping of Linux memory
+Table tab:linuxmappings[1.5] provides a mapping of Linux memory
ordering macros onto RISC-V memory instructions. The Linux fences
-`dma_rmb()` and `dma_wmb()` map onto FENCE R,R and FENCE W,W,
+`dma_rmb()` and `dma_wmb()` map onto FENCE R,R and FENCE W,W,
respectively, since the RISC-V Unix Platform requires coherent DMA, but
-would be mapped onto FENCE RI,RI and FENCE WO,WO, respectively, on a
+would be mapped onto FENCE RI,RI and FENCE WO,WO, respectively, on a
platform with non-coherent DMA. Platforms with non-coherent DMA may also
require a mechanism by which cache lines can be flushed and/or
invalidated. Such mechanisms will be device-specific and/or standardized
@@ -1274,22 +1288,22 @@ is actively debating whether to require load-load, load-store, and
store-store orderings between accesses in one critical section and
accesses in a subsequent critical section in the same hart and protected
by the same synchronization object. Not all combinations of
-FENCE RW,W/FENCE R,RW mappings with _aq_/_rl_ mappings combine to
+FENCE RW,W/FENCE R,RW mappings with _aq_/_rl_ mappings combine to
provide such orderings. There are a few ways around this problem,
including:
-. Always use FENCE RW,W/FENCE R,RW, and never use _aq_/_rl_. This
+. Always use FENCE RW,W/FENCE R,RW, and never use _aq_/_rl_. This
suffices but is undesirable, as it defeats the purpose of the _aq_/_rl_
modifiers.
-. Always use _aq_/_rl_, and never use FENCE RW,W/FENCE R,RW. This does
+. Always use _aq_/_rl_, and never use FENCE RW,W/FENCE R,RW. This does
not currently work due to the lack of load and store opcodes with _aq_
and _rl_ modifiers.
. Strengthen the mappings of release operations such that they would
enforce sufficient orderings in the presence of either type of acquire
mapping. This is the currently recommended solution, and the one shown
-in Table #tab:linuxmappings[1.5].
+in Table #tab:linuxmappings[1.5].
+
-          
RVWMO Mapping: (a) lw a0, 0(s0) (b) fence.tso // vs. fence rw,w (c) sd
x0,0(s1) ... loop: (d) amoswap.d.aq a1,t1,0(s1) bnez a1,loop (e) lw
@@ -1297,8 +1311,8 @@ a2,0(s2)
For example, the critical section ordering rule currently being debated
by the Linux community would require (a) to be ordered before (e) in
-Figure #fig:litmus:lkmm_ll[[fig:litmus:lkmm_ll]]. If that will indeed be
-required, then it would be insufficient for (b) to map as FENCE RW,W.
+Figure #fig:litmus:lkmm_ll[[fig:litmus:lkmm_ll]]. If that will indeed be
+required, then it would be insufficient for (b) to map as FENCE RW,W.
That said, these mappings are subject to change as the Linux Kernel
Memory Model evolves.
@@ -1307,67 +1321,67 @@ Memory Model evolves.
[cols="<,<",options="header",]
|===
|C/C++ Construct |RVWMO Mapping
-|Non-atomic load |`l{b|h|w|d} `
+|Non-atomic load |`l{b|h|w|d}`
-|`atomic_load(memory_order_relaxed) ` |`l{b|h|w|d} `
+|`atomic_load(memory_order_relaxed)` |`l{b|h|w|d}`
-|`atomic_load(memory_order_acquire) ` |`l{b|h|w|d}; fence r,rw `
+|`atomic_load(memory_order_acquire)` |`l{b|h|w|d}; fence r,rw`
-|`atomic_load(memory_order_seq_cst) `
-|`fence rw,rw; l{b|h|w|d}; fence r,rw `
+|`atomic_load(memory_order_seq_cst)`
+|`fence rw,rw; l{b|h|w|d}; fence r,rw`
-|Non-atomic store |`s{b|h|w|d} `
+|Non-atomic store |`s{b|h|w|d}`
-|`atomic_store(memory_order_relaxed) ` |`s{b|h|w|d} `
+|`atomic_store(memory_order_relaxed)` |`s{b|h|w|d}`
-|`atomic_store(memory_order_release) ` |`fence rw,w; s{b|h|w|d} `
+|`atomic_store(memory_order_release)` |`fence rw,w; s{b|h|w|d}`
-|`atomic_store(memory_order_seq_cst) ` |`fence rw,w; s{b|h|w|d} `
+|`atomic_store(memory_order_seq_cst)` |`fence rw,w; s{b|h|w|d}`
-|`atomic_thread_fence(memory_order_acquire) ` |`fence r,rw `
+|`atomic_thread_fence(memory_order_acquire)` |`fence r,rw`
-|`atomic_thread_fence(memory_order_release) ` |`fence rw,w `
+|`atomic_thread_fence(memory_order_release)` |`fence rw,w`
-|`atomic_thread_fence(memory_order_acq_rel) ` |`fence.tso`
+|`atomic_thread_fence(memory_order_acq_rel)` |`fence.tso`
-|`atomic_thread_fence(memory_order_seq_cst) ` |`fence rw,rw `
+|`atomic_thread_fence(memory_order_seq_cst)` |`fence rw,rw`
|C/C++ Construct |RVWMO AMO Mapping
-|`atomic_<op>(memory_order_relaxed) ` |`amo<op>.{w|d} `
+|`atomic_<op>(memory_order_relaxed)` |`amo<op>.{w|d}`
-|`atomic_<op>(memory_order_acquire) ` |`amo<op>.{w|d}.aq `
+|`atomic_<op>(memory_order_acquire)` |`amo<op>.{w|d}.aq`
-|`atomic_<op>(memory_order_release) ` |`amo<op>.{w|d}.rl `
+|`atomic_<op>(memory_order_release)` |`amo<op>.{w|d}.rl`
-|`atomic_<op>(memory_order_acq_rel) ` |`amo<op>.{w|d}.aqrl `
+|`atomic_<op>(memory_order_acq_rel)` |`amo<op>.{w|d}.aqrl`
-|`atomic_<op>(memory_order_seq_cst) ` |`amo<op>.{w|d}.aqrl `
+|`atomic_<op>(memory_order_seq_cst)` |`amo<op>.{w|d}.aqrl`
|C/C++ Construct |RVWMO LR/SC Mapping
-|`atomic_<op>(memory_order_relaxed)` |`loop:lr.{w|d}; <op>; sc.{w|d}; `
+|`atomic_<op>(memory_order_relaxed)` |`loop:lr.{w|d}; <op>; sc.{w|d};`
-| |`bnez loop `
+| |`bnez loop`
|`atomic_<op>(memory_order_acquire)`
-|`loop:lr.{w|d}.aq; <op>; sc.{w|d}; `
+|`loop:lr.{w|d}.aq; <op>; sc.{w|d};`
-| |`bnez loop `
+| |`bnez loop`
|`atomic_<op>(memory_order_release)`
-|`loop:lr.{w|d}; <op>; sc.{w|d}.rl; `
+|`loop:lr.{w|d}; <op>; sc.{w|d}.rl;`
-| |`bnez loop `
+| |`bnez loop`
|`atomic_<op>(memory_order_acq_rel)`
-|`loop:lr.{w|d}.aq; <op>; sc.{w|d}.rl; `
+|`loop:lr.{w|d}.aq; <op>; sc.{w|d}.rl;`
-| |`bnez loop `
+| |`bnez loop`
-|`atomic_<op>(memory_order_seq_cst)` |`loop:lr.{w|d}.aqrl; <op>; `
+|`atomic_<op>(memory_order_seq_cst)` |`loop:lr.{w|d}.aqrl; <op>;`
-| |`sc.{w|d}.rl; bnez loop `
+| |`sc.{w|d}.rl; bnez loop`
|===
[[tab:c11mappings_hypothetical]]
@@ -1376,63 +1390,63 @@ native load-acquire and store-release opcodes are introduced.
[cols="<,<",options="header",]
|===
|C/C++ Construct |RVWMO Mapping
-|Non-atomic load |`l{b|h|w|d} `
+|Non-atomic load |`l{b|h|w|d}`
-|`atomic_load(memory_order_relaxed) ` |`l{b|h|w|d} `
+|`atomic_load(memory_order_relaxed)` |`l{b|h|w|d}`
-|`atomic_load(memory_order_acquire) ` |`l{b|h|w|d}.aq `
+|`atomic_load(memory_order_acquire)` |`l{b|h|w|d}.aq`
-|`atomic_load(memory_order_seq_cst) ` |`l{b|h|w|d}.aq `
+|`atomic_load(memory_order_seq_cst)` |`l{b|h|w|d}.aq`
-|Non-atomic store |`s{b|h|w|d} `
+|Non-atomic store |`s{b|h|w|d}`
-|`atomic_store(memory_order_relaxed) ` |`s{b|h|w|d} `
+|`atomic_store(memory_order_relaxed)` |`s{b|h|w|d}`
-|`atomic_store(memory_order_release) ` |`s{b|h|w|d}.rl `
+|`atomic_store(memory_order_release)` |`s{b|h|w|d}.rl`
-|`atomic_store(memory_order_seq_cst) ` |`s{b|h|w|d}.rl `
+|`atomic_store(memory_order_seq_cst)` |`s{b|h|w|d}.rl`
-|`atomic_thread_fence(memory_order_acquire) ` |`fence r,rw `
+|`atomic_thread_fence(memory_order_acquire)` |`fence r,rw`
-|`atomic_thread_fence(memory_order_release) ` |`fence rw,w `
+|`atomic_thread_fence(memory_order_release)` |`fence rw,w`
-|`atomic_thread_fence(memory_order_acq_rel) ` |`fence.tso`
+|`atomic_thread_fence(memory_order_acq_rel)` |`fence.tso`
-|`atomic_thread_fence(memory_order_seq_cst) ` |`fence rw,rw `
+|`atomic_thread_fence(memory_order_seq_cst)` |`fence rw,rw`
|C/C++ Construct |RVWMO AMO Mapping
-|`atomic_<op>(memory_order_relaxed) ` |`amo<op>.{w|d} `
+|`atomic_<op>(memory_order_relaxed)` |`amo<op>.{w|d}`
-|`atomic_<op>(memory_order_acquire) ` |`amo<op>.{w|d}.aq `
+|`atomic_<op>(memory_order_acquire)` |`amo<op>.{w|d}.aq`
-|`atomic_<op>(memory_order_release) ` |`amo<op>.{w|d}.rl `
+|`atomic_<op>(memory_order_release)` |`amo<op>.{w|d}.rl`
-|`atomic_<op>(memory_order_acq_rel) ` |`amo<op>.{w|d}.aqrl `
+|`atomic_<op>(memory_order_acq_rel)` |`amo<op>.{w|d}.aqrl`
-|`atomic_<op>(memory_order_seq_cst) ` |`amo<op>.{w|d}.aqrl `
+|`atomic_<op>(memory_order_seq_cst)` |`amo<op>.{w|d}.aqrl`
|C/C++ Construct |RVWMO LR/SC Mapping
-|`atomic_<op>(memory_order_relaxed) ` |`lr.{w|d}; <op>; sc.{w|d} `
+|`atomic_<op>(memory_order_relaxed)` |`lr.{w|d}; <op>; sc.{w|d}`
-|`atomic_<op>(memory_order_acquire) ` |`lr.{w|d}.aq; <op>; sc.{w|d} `
+|`atomic_<op>(memory_order_acquire)` |`lr.{w|d}.aq; <op>; sc.{w|d}`
-|`atomic_<op>(memory_order_release) ` |`lr.{w|d}; <op>; sc.{w|d}.rl `
+|`atomic_<op>(memory_order_release)` |`lr.{w|d}; <op>; sc.{w|d}.rl`
-|`atomic_<op>(memory_order_acq_rel) ` |`lr.{w|d}.aq; <op>; sc.{w|d}.rl `
+|`atomic_<op>(memory_order_acq_rel)` |`lr.{w|d}.aq; <op>; sc.{w|d}.rl`
-|`atomic_<op>(memory_order_seq_cst) `
-|`lr.{w|d}.aq^*; <op>; sc.{w|d}.rl `
+|`atomic_<op>(memory_order_seq_cst)`
+|`lr.{w|d}.aq^*; <op>; sc.{w|d}.rl`
|latexmath:[$^*$]must be `lr.{w|d}.aqrl` in order to interoperate with
-code mapped per Table #tab:c11mappings[1.6] |
+code mapped per Table #tab:c11mappings[1.6] |
|===
-Table #tab:c11mappings[1.6] provides a mapping of C11/C++11 atomic
+Table #tab:c11mappings[1.6] provides a mapping of C11/C++11 atomic
operations onto RISC-V memory instructions. If load and store opcodes
with _aq_ and _rl_ modifiers are introduced, then the mappings in
-Table #tab:c11mappings_hypothetical[1.7] will suffice. Note however that
+Table #tab:c11mappings_hypothetical[1.7] will suffice. Note however that
the two mappings only interoperate correctly if
`atomic_<op>(memory_order_seq_cst)` is mapped using an LR that has both
_aq_ and _rl_ set.
@@ -1443,10 +1457,10 @@ to originate from the SC, and that any PPO orderings that terminate at
the SC are also made to terminate at the LR. For example, the LR must
also be made to respect any data dependencies that the AMO has, given
that load operations do not otherwise have any notion of a data
-dependency. Likewise, the effect a FENCE R,R elsewhere in the same hart
+dependency. Likewise, the effect a FENCE R,R elsewhere in the same hart
must also be made to apply to the SC, which would not otherwise respect
that fence. The emulator may achieve this effect by simply mapping AMOs
-onto `lr.aq; <op>; sc.aqrl`, matching the mapping used elsewhere for
+onto `lr.aq; <op>; sc.aqrl`, matching the mapping used elsewhere for
fully ordered atomics.
These C11/C++11 mappings require the platform to provide the following
@@ -1478,7 +1492,7 @@ guidelines on how architects and programmers should interpret the
models’ rules.
Both RVWMO and RVTSO are multi-copy atomic (or
-``other-multi-copy-atomic``): any store value that is visible to a hart
+`other-multi-copy-atomic`): any store value that is visible to a hart
other than the one that originally issued it must also be conceptually
visible to all other harts in the system. In other words, harts may
forward from their own previous stores before those stores have become
@@ -1513,10 +1527,10 @@ of important data structures.
#ppo:rdw[[ppo:rdw]]–#ppo:amoforward[[ppo:amoforward]] and
#ppo:addrdatarfi[[ppo:addrdatarfi]]–#ppo:addrpo[[ppo:addrpo]] directly.
These are included to facilitate common microarchitectural optimizations
-(rule #ppo:rdw[[ppo:rdw]]) and the operational formal modeling approach
+(rule #ppo:rdw[[ppo:rdw]]) and the operational formal modeling approach
(rules #ppo:amoforward[[ppo:amoforward]] and
#ppo:addrdatarfi[[ppo:addrdatarfi]]–#ppo:addrpo[[ppo:addrpo]]) described
-in Section #sec:operational[[sec:operational]]. They also facilitate the
+in Section #sec:operational[[sec:operational]]. They also facilitate the
process of porting code from other architectures that have similar
rules.
@@ -1535,20 +1549,20 @@ architects, but it is a standard memory model requirement
hardware implementations will enforce naturally, unless they contain
extreme optimizations. Of course, implementations should make sure to
double check these rules nevertheless. Hardware must also ensure that
-syntactic dependencies are not ``optimized away``.
+syntactic dependencies are not `optimized away`.
Architectures are free to implement any of the memory model rules as
conservatively as they choose. For example, a hardware implementation
may choose to do any or all of the following:
-* interpret all fences as if they were FENCE RW,RW (or FENCE IORW,IORW,
+* interpret all fences as if they were FENCE RW,RW (or FENCE IORW,IORW,
if I/O is involved), regardless of the bits actually set
-* implement all fences with PW and SR as if they were FENCE RW,RW (or
-FENCE IORW,IORW, if I/O is involved), as PW with SR is the most
+* implement all fences with PW and SR as if they were FENCE RW,RW (or
+FENCE IORW,IORW, if I/O is involved), as PW with SR is the most
expensive of the four possible main memory ordering components anyway
-* emulate _aq_ and _rl_ as described in Section #sec:memory:porting[1.5]
+* emulate _aq_ and _rl_ as described in Section #sec:memory:porting[1.5]
* enforcing all same-address load-load ordering, even in the presence of
-patterns such as ``fri-rfi`` and ``RSW``
+patterns such as `fri-rfi` and `RSW`
* forbid any forwarding of a value from a store in the store buffer to a
subsequent AMO or LR to the same address
* forbid any forwarding of a value from an AMO or SC in the store buffer
@@ -1576,7 +1590,7 @@ value in memory (e.g., an AMOMAX for which the value in _rs2_ is smaller
than the value currently in memory) are still semantically considered
store operations. Microarchitectures that attempt to implement silent
stores must take care to ensure that the memory model is still obeyed,
-particularly in cases such as RSW (Section #sec:memory:overlap[1.3.5])
+particularly in cases such as RSW (Section #sec:memory:overlap[1.3.5])
which tend to be incompatible with silent stores.
* Writes may be merged (i.e., two consecutive writes to the same address
may be merged) or subsumed (i.e., the earlier of two back-to-back writes
@@ -1600,7 +1614,7 @@ m.4m.1m.4 ` `
& &
-As written, if the load  (d) reads value latexmath:[$1$], then (a) must
+As written, if the load (d) reads value latexmath:[$1$], then (a) must
precede (f) in the global memory order:
* {empty}(a) precedes (c) in the global memory order because of rule 2
@@ -1610,8 +1624,8 @@ Value axiom
* {empty}(e) precedes (f) in the global memory order because of rule 1
In other words the final value of the memory location whose address is
-in `s0` must be latexmath:[$2$] (the value written by the store (f)) and
-cannot be latexmath:[$3$] (the value written by the store (a)).
+in `s0` must be latexmath:[$2$] (the value written by the store (f)) and
+cannot be latexmath:[$3$] (the value written by the store (a)).
A very aggressive microarchitecture might erroneously decide to discard
(e), as (f) supersedes it, and this may in turn lead the
@@ -1685,7 +1699,7 @@ would be compatible with the RVWMO memory model:
There is a known discrepancy between the operational and axiomatic
specifications within the family of mixed-size RSW variants shown in
-Figures #fig:litmus:discrepancy:rsw1[[fig:litmus:discrepancy:rsw1]]–#fig:litmus:discrepancy:rsw3[[fig:litmus:discrepancy:rsw3]].
+Figures #fig:litmus:discrepancy:rsw1[[fig:litmus:discrepancy:rsw1]]–#fig:litmus:discrepancy:rsw3[[fig:litmus:discrepancy:rsw3]].
To address this, we may choose to add something like the following new
PPO rule: Memory operation latexmath:[$a$] precedes memory operation
latexmath:[$b$] in preserved program order (and hence also in the global
diff --git a/src/q-st-ext.adoc b/src/q-st-ext.adoc
index 02122b7..bd2da55 100644
--- a/src/q-st-ext.adoc
+++ b/src/q-st-ext.adoc
@@ -17,17 +17,10 @@ value.
New 128-bit variants of LOAD-FP and STORE-FP instructions are added,
encoded with a new value for the funct3 width field.
-M@R@F@R@O +
-& & & & +
-& & & & +
-& 5 & 3 & 5 & 7 +
-offset[11:0] & base & Q & dest & LOAD-FP +
-
-O@R@R@F@R@O +
-& & & & & +
-& & & & & +
-& 5 & 5 & 3 & 5 & 7 +
-offset[11:5] & src & base & Q & offset[4:0] & STORE-FP +
+include::images/wavedrom/quad-ls.adoc[]
+[[quad-ls]]
+.Quad-precision load and store
+image::image_placeholder.png[]
FLQ and FSQ are only guaranteed to execute atomically if the effective
address is naturally aligned and XLEN=128.
@@ -55,20 +48,10 @@ The quad-precision floating-point computational instructions are defined
analogously to their double-precision counterparts, but operate on
quad-precision operands and produce quad-precision results.
-R@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FADD/FSUB & Q & src2 & src1 & RM & dest & OP-FP +
-FMUL/FDIV & Q & src2 & src1 & RM & dest & OP-FP +
-FMIN-MAX & Q & src2 & src1 & MIN/MAX & dest & OP-FP +
-FSQRT & Q & 0 & src & RM & dest & OP-FP +
-
-R@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-src3 & Q & src2 & src1 & RM & dest & F[N]MADD/F[N]MSUB +
+include::images/wavedrom/quad-compute.adoc[]
+[[quad-compute]]
+.Quad-precision computational
+image::image_placeholder.png[]
=== Quad-Precision Convert and Move Instructions
@@ -83,12 +66,10 @@ FCVT.WU.Q, FCVT.LU.Q, FCVT.Q.WU, and FCVT.Q.LU variants convert to or
from unsigned integer values. FCVT.L[U].Q and FCVT.Q.L[U] are RV64-only
instructions.
-R@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FCVT._int_.Q & Q & W[U]/L[U] & src & RM & dest & OP-FP +
-FCVT.Q._int_ & Q & W[U]/L[U] & src & RM & dest & OP-FP +
+include::images/wavedrom/quad-cnvrt-mv.adoc[]
+[[quad-cnvrt-mv]]
+.Quad-precision convert and move
+image::image_placeholder.png[]
New floating-point-to-floating-point conversion instructions are added.
These instructions are defined analogously to the double-precision
@@ -98,42 +79,39 @@ single-precision floating-point number, or vice-versa, respectively.
FCVT.D.Q or FCVT.Q.D converts a quad-precision floating-point number to
a double-precision floating-point number, or vice-versa, respectively.
-R@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FCVT.S.Q & S & Q & src & RM & dest & OP-FP +
-FCVT.Q.S & Q & S & src & RM & dest & OP-FP +
-FCVT.D.Q & D & Q & src & RM & dest & OP-FP +
-FCVT.Q.D & Q & D & src & RM & dest & OP-FP +
+include::images/wavedrom/quad-cnvt-interchange.adoc[]
+[[quad-convrt-interchange]]
+.Quad-precision convert and move interchangeably
+image::image_placeholder.png[]
Floating-point to floating-point sign-injection instructions, FSGNJ.Q,
FSGNJN.Q, and FSGNJX.Q are defined analogously to the double-precision
sign-injection instruction.
-R@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FSGNJ & Q & src2 & src1 & J[N]/JX & dest & OP-FP +
+include::images/wavedrom/quad-cnvrt-intch-xqqx.adoc[]
+[[quad-cnvrt-intch-xqqx]]
+.Quad-precision convert and move interchangeably XQ-QX
+image::image_placeholder.png[]
FMV.X.Q and FMV.Q.X instructions are not provided in RV32 or RV64, so
quad-precision bit patterns must be moved to the integer registers via
memory.
+[NOTE]
+====
RV128 will support FMV.X.Q and FMV.Q.X in the Q extension.
+====
-=== Quad-Precision Floating-Point Compare Instructions
+=== Quad-precision floating-Point compare
The quad-precision floating-point compare instructions are defined
analogously to their double-precision counterparts, but operate on
quad-precision operands.
-S@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FCMP & Q & src2 & src1 & EQ/LT/LE & dest & OP-FP +
+include::images/wavedrom/quad-float-compare.adoc[]
+[[quad-float-compare]]
+.Quad-precision floatinf-point compare
+image::image_placeholder.png[]
=== Quad-Precision Floating-Point Classify Instruction
@@ -141,8 +119,17 @@ The quad-precision floating-point classify instruction, FCLASS.Q, is
defined analogously to its double-precision counterpart, but operates on
quad-precision operands.
-S@F@R@R@F@R@O +
-& & & & & & +
-& & & & & & +
-& 2 & 5 & 5 & 3 & 5 & 7 +
-FCLASS & Q & 0 & src & 001 & dest & OP-FP +
+include::images/wavedrom/quad-float-clssfy.adoc[]
+[[quad-float-clssfy]]
+.Quad-precision floating point classify
+image::image_placeholder.png[]
+
+
+dart taser
+
+debra stuart
+lady
+541-267-5915
+
+
+
diff --git a/src/riscv-isa-unpriv-conv-review.adoc b/src/riscv-isa-unpr-conv-review.adoc
index 2f3c349..2f3c349 100644
--- a/src/riscv-isa-unpriv-conv-review.adoc
+++ b/src/riscv-isa-unpr-conv-review.adoc
diff --git a/src/riscv-isa-unpr-conv-review.pdf b/src/riscv-isa-unpr-conv-review.pdf
index abb169a..3b727b5 100644
--- a/src/riscv-isa-unpr-conv-review.pdf
+++ b/src/riscv-isa-unpr-conv-review.pdf
Binary files differ