From: "Abner Chang" <abner.chang@hpe.com>
To: devel@edk2.groups.io
Cc: abner.chang@hpe.com, Daniel Schaefer <daniel.schaefer@hpe.com>,
Sunil V L <sunilvl@ventanamicro.com>
Subject: [edk2-platforms][PATCH 01/30] RISC-V/PlatformPkg: Update document
Date: Tue, 19 Oct 2021 16:09:38 +0800 [thread overview]
Message-ID: <20211019081007.31165-2-abner.chang@hpe.com> (raw)
In-Reply-To: <20211019081007.31165-1-abner.chang@hpe.com>
Update EDK2 RISC-V port architectural diagrams.
Cc: Daniel Schaefer <daniel.schaefer@hpe.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>
Signed-off-by: Abner Chang <abner.chang@hpe.com>
---
Platform/RISC-V/PlatformPkg/Readme.md | 132 +-
.../Documents/Media/RiscVEdk2BootProcess.svg | 1928 +++++++++++++++++
.../Documents/Media/RiscVEdk2FwDomain.svg | 1290 +++++++++++
3 files changed, 3336 insertions(+), 14 deletions(-)
create mode 100644 Platform/RISC-V/PlatformPkg/Documents/Media/RiscVEdk2BootProcess.svg
create mode 100644 Platform/RISC-V/PlatformPkg/Documents/Media/RiscVEdk2FwDomain.svg
diff --git a/Platform/RISC-V/PlatformPkg/Readme.md b/Platform/RISC-V/PlatformPkg/Readme.md
index 4b933a2e0f..66fba15544 100644
--- a/Platform/RISC-V/PlatformPkg/Readme.md
+++ b/Platform/RISC-V/PlatformPkg/Readme.md
@@ -2,6 +2,113 @@
## EDK2 RISC-V Platform Project
+### EDK2 RISC-V Design and the Boot Processes
+RISC-V edk2 port is designed base on edk2 boot phases and leverage [RISC-V OpenSBI](https://github.com/riscv/opensbi) (which is the implementation of [RISC-V SBI](https://github.com/riscv/riscv-sbi-doc)) as an edk2 library. The design concept is to leverage RISC-V SBI implementation, the basic RISC-V HARTs and the platform initialization. However, it still keeps the edk2 build mechanism and the boot processes. RISC-V OpenSBI is built as
+an library and linked with edk2 SEC module. The design diagram and the boot flow is shown in below figure,
+
+#### RISC-V EDK2 Port Design Diagrams
+![RISC-V EDK2 Port](https://github.com/tianocore/edk2-platforms/blob/master/Platform/RISC-V/PlatformPkg/Documents/Media/RiscVEdk2BootProcess.svg?raw=true)
+
+#### SEC Phase
+As the most of edk2 platforms SEC implementations, RISC-V edk2 port SEC module initiates the fundamental platform
+boot environment. RISC-V edk2 SEC module linked with [RiscVOpensbiLib](#riscvopensbilib-library) that pulls in the OpenSBI core source files into the build as a library. SEC module invokes sbi_init() to execute through the OpenSBI
+initialization flow. Afterwards, SEC phase hands off to PEI phase via OpenSBI with the ***NextAddress*** and ***NextMode*** are configured.
+The entire SEC phase with ***RiscVOpensbiLib*** is executed in the Machine-mode (M-mode) which is the highest
+and the mandatory privilege mode of RISC-V HART. The SBI implementation is also executed in the M-mode that
+provides the Supervisor Binary Interface for the entities run in the Supervisor-mode (S-mode). The default
+privilege mode is configured to S-mode for the next phase after SEC, that says the PEI, DXE and BDS phases are
+default executed in S-mode unless the corresponding [PCDs](#risc-v-platform-pcd-settings) are configured
+differently from the default settings according to the OEM platform design.
+
+##### RiscVOpensbiLib Library
+[Indicated as #1 in the figure](#risc-v-edk2-port-design-diagrams)
+> ***RiscVOpensbiLib*** is a edk2 wrapper library of OpenSBI. SEC module is the only consumer of ***RiscVOpensbiLib*** across the entire edk2 boot processes. The sub-module under ***RiscVOpensbiLib*** is updated
+to align with OpenSBI project. As mentioned earlier, ***RiscVOpensbiLib*** provides the RISC-V SBI
+implementation and initialize the OpenSBI boot flow. SEC module is also linked with below libraries,
+- edk2 [OpenSbiPlatformLib](#OpenSbiPlatformLib-library) library that provides the generic RISC-V platform initialization code.
+- edk2 [RiscVSpecifialPlatformLib](#RiscVSpecifialPlatformLib-library) library which is provided by the RISC-V
+platform vendor for the platform-specific initialization. The underlying implementation of above two edk2 libraries
+are from OpenSBI project. edk2 libraries are introduced as the wrapper libraries that separates and organizes OpenSBI core and platform code based on edk2 framework and the the build mechanism for edk2 RISC-V platforms. ***RiscVOpensbiLib*** library is located under [RISC-V ProcessorPkg](https://github.com/tianocore/edk2-platforms/tree/master/Silicon/RISC-V/ProcessorPkg) while the platform code (e.g. OpenSbiPlatformLib) is located under [RISC-V PlatformPkg](https://github.com/tianocore/edk2-platforms/tree/master/Platform/RISC-V/PlatformPkg).
+- edk2 [RiscVSpecifialPlatformLib](#riscvspecifialplatformlib) library is provided by the platform vendor and located under edk2 RISC-V platform-specific folder.
+
+##### OpenSbiPlatformLib Library
+[Indicated as #2 in the figure](#risc-v-edk2-port-design-diagrams)
+> ***OpenSbiPlatformLib*** provides the generic RISC-V platform initialization code. Platform vendor can just utilize this library if they don't have additional requirements on the platform initialization.
+
+##### RiscVSpecifialPlatformLib Library
+[Indicated as #3 in the figure](#risc-v-edk2-port-design-diagrams)
+> The major use case of this library is to facilitate the interfaces for platform vendors to provide the special
+platform initialization based on the generic platform initialization library.
+
+##### Edk2OpensbiPlatformWrapperLib Library
+[Indicated as #4 in the figure](#risc-v-edk2-port-design-diagrams)
+> In order to providing the flexibility to edk2 RISC-V firmware solution, ***Edk2OpensbiPlatformWrapperLib*** is the wrapper library of [OpenSbiPlatformLib](#OpenSbiPlatformLib-library) to provide the interfaces for OEM. The ***platform_ops_address***in the generic platform structure is replaced with ***Edk2OpensbiplatformOps*** in SEC
+module. The platform function invoked by OpenSBI core is hooked to ***Edk2OpensbiPlatformWrapperLib***. This gives
+a change to OEM for implementing platform-specific initialization before and after the generic platform code. OEM
+can override this library under their platform folder on demand without touching ***RiscVOpensbiLib*** library
+source files and other common source files.
+
+##### Next Phase Address and Privilege Mode
+[Indicated as #5 in the figure](#risc-v-edk2-port-design-diagrams)
+> Once OpenSBI finishes the boot initialization, it will jump to the next phase with the default privilege set to
+S-mode. In order to facilitate the flexibility for a variant of platform demands. EDK2 RISC-V provides the [PCDs](#risc-v-platform-pcd-settings) as the configurable privilege for the next phase. Whether to have PEI or later
+phases executed in the default S-mode or to keep the RISC-V edk2 boot phase privilege in M-mode is at platform design discretion. The SEC module sets the next phase address to the PEI Core entry point with a configurable
+privilege according to the PCD.
+
+#### PEI Phase
+SEC module hands off the boot process to PEI core in the privilege configured by ***PcdPeiCorePrivilegeMode*** PCD *(TODO, currently the privilege is forced to S-mode)*. PEI and later phases are allowed to executed in M-mode
+if the platform doesn't require Hypervisor-extended Supervisor mode (HS-mode) for the virtualization. RISC-V edk2 port provides its own instance ***PeiCoreEntryPoint*** library [(indicated as #7 in the figure)](#risc-v-edk2-port-design-diagrams) and linked with [PlatformSecPpiLib](#platformsecppilib-library) in order to support the S-mode PEI phase. PEI core requires [RiscVFirmwareContextLib](#riscVfirmwarecontextlib-library) library to retrieve the information of RISC-V HARTs and platform (e.g. FDT) configurations that built up in SEC phase. ***PeiServicePointer*** is also maintained in the ***RISC-V OpenSBI FirmwareContext*** structure and the pointer is retrieved by [PeiServiceTablePointerOpensbi](#peiservicetablepointeropensbi-library) library.
+
+##### PlatformSecPpiLib Library
+[Indicated as #8 in the figure](#risc-v-edk2-port-design-diagrams)
+
+> Some platform has the PEI protocol interface (PPI) prepared in SEC phase and pass the PPI description to PEI phase for the installation. That means the PPI code resides in SEC module and executed in PEI phase. Due to the SEC
+(with OpenSBI) is protected by the RISC-V Physical Memory Protection (PMP) through [OpenSBI firmware domain](#edk2-opensbi-firmware-domain), the SEC can be only accessed and executed when RISC-V HART is operated in M-mode. The SEC PPI passed to PEI is not able to be executed by any PEI modules. Thus we have ***PlatformSecPpiLib*** library for the platforms that requires to install the PPI at the early stage of PEI core instead of installing PPI
+during PEI dispatcher that maybe too late for some platform use cases. ***PlatformSecPpiLib*** is currently
+executed in S-mode because we force to switch RISC-V boot HART to S-mode when SEC hands of boot process to PEI
+phase. ***PlatformSecPpiLib*** can also executed in M-mode once we have the full implementation of [***PcdPeiCorePrivilegeMode***.](#risc-v-platform-pcd-settings)
+
+##### RiscVFirmwareContextLib Library
+[Indicated as #9 in the figure](#risc-v-edk2-port-design-diagrams)
+
+> The ***OpenSBI FirmwareContext*** is a structure member in sbi_platform, that can carry the firmware
+solution-defined information to edk2 boot phases after SEC. edk2 defines its own ***FirmwareContext*** as below in
+the current implementation.
+
+ typedef struct {
+ UINT64 BootHartId;
+ VOID *PeiServiceTable; // PEI Service table
+ UINT64 FlattenedDeviceTree; // Pointer to Flattened Device tree
+ UINT64 SecPeiHandOffData; // This is EFI_SEC_PEI_HAND_OFF passed to PEI Core.
+ EFI_RISCV_FIRMWARE_CONTEXT_HART_SPECIFIC *HartSpecific[RISC_V_MAX_HART_SUPPORTED];
+ } EFI_RISCV_OPENSBI_FIRMWARE_CONTEXT;
+
+> ***RiscVFirmwareContextLib*** library is used by PEI module for obtaining the ***FirmwareContext*** pointer.
+
+##### PeiServiceTablePointerOpensbi Library
+[Indicated as #10 in the figure](#risc-v-edk2-port-design-diagrams)
+
+> ***PeiServiceTablePointerOpensbi*** is the library that provides Get/Set PeiServiceTablePointer. ***RiscVFirmwareContextLib*** is the underlying library for the operations on PEI service table pointer.
+
+##### PEI OpenSBI PPI
+[Indicated as #11 in the figure](#risc-v-edk2-port-design-diagrams)
+
+> edk2 PEI OpenSBI PPI *(TODO)* provides the unified interface for all PEI drivers to invoke SBI services.
+
+#### DXE Phase
+DXE IPL PEI module hands off the boot process to DXE Core in the privilege configured by PcdDxeCorePrivilegeMode PCD *(TODO, currently is not implemented yet)*. edk2 DXE OpenSBI protocol *(TODO, indicated as #12 in the figure)* provides the unified interface for all DXE drivers to invoke SBI services.
+
+#### BDS Phase
+The implementation of RISC-V edk2 port in BDS phase is the same as it is in DXE phase which is executed in the
+privilege configured by PcdDxeCorePrivilegeMode PCD *(TODO, currently the privilege is forced to S-mode)*. The
+OpenSBI is also provided through edk2 DXE OpenSBI Protocol*(TODO, indicated as #12 in the figure)*. However, BDS must transits the privilege mode to S-mode before it handing off the boot process to S-mode OS, OS boot loader or EFI application.
+
+#### EDK2 OpenSBI Firmware Domain
+
+![RISC-V EDK2 FW Domain](https://github.com/tianocore/edk2-platforms/blob/master/Platform/RISC-V/PlatformPkg/Documents/Media/RiscVEdk2FwDomain.svg?raw=true)
+
+OpenSBI implements the firmware domain mechanism to protect the root firmware (which is the OpenSBI itself) as the M-mode only access and execute region. RISC-V edk2 port configures the root firmware domain via [PCDs](#risc-v-platform-pcd-settings) to protect SEC firmware volume, memory and OpenSBI stuff. The firmware region (non-root firmware) that accommodates PEI and DXE phase FV regions, while EFI variable region is reported as a separate firmware region as it shows in above figure.
+
### EDK2 Build Architecture for RISC-V
The edk2 build architecture which is supported and verified on edk2 code base for
RISC-V platforms is `RISCV64`.
@@ -49,18 +156,9 @@ Then you can build the edk2 firmware image for RISC-V platforms.
build -a RISCV64 -t GCC5 -p Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc
```
-## RISC-V OpenSBI Library
-RISC-V [OpenSBI](https://github.com/riscv/opensbi) is the implementation of
-[RISC-V SBI (Supervisor Binary Interface) specification](https://github.com/riscv/riscv-sbi-doc).
-For EDK2 UEFI firmware solution, RISC-V OpenSBI is integrated as a library
-[(submoudule)](Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi) in EDK2
-RISC-V Processor Package. The RISC-V OpenSBI library is built in SEC driver without
-any modifications and provides the interfaces for supervisor mode execution environment
-to execute privileged operations.
-
## RISC-V Platform PCD settings
### EDK2 Firmware Volume Settings
-EDK2 Firmware volume related PCDs which declared in platform FDF file.
+EDK2 Firmware volume related PCDs which is declared in platform FDF file.
| **PCD name** |**Usage**|
|--------------|---------|
@@ -86,10 +184,14 @@ The PCD settings regard to EFI Variable
### RISC-V Physical Memory Protection (PMP) Region Settings
Below PCDs could be set in platform FDF file.
-| **PCD name** |**Usage**|
-|--------------|---------|
-|PcdFwStartAddress| The starting address of firmware region to protected by PMP|
-|PcdFwEndAddress| The ending address of firmware region to protected by PMP|
+| **PCD name** |**Usage**|**Access Permission in M-mode**|**Access Permission in S-mode**|
+|--------------|---------|---------|---------|
+|PcdRootFirmwareDomainBaseAddress| The starting address of root firmware domain protected by PMP|Full access|No Access|
+|PcdRootFirmwareDomainSize| The size of root firmware domain|-|-|
+|PcdFirmwareDomainBaseAddress| The starting address of firmware domain that can be accessed and executed in S-mode|Full access|Readable and Executable|
+|PcdFirmwareDomainSize| The size of firmware domain|-|-|
+|PcdVariableFirmwareRegionBaseAddress| The starting address of EFI variable region that can be accessed in S-mode|Full access|Readale and Writable|
+|PcdVariableFirmwareRegionSize| The size of EFI variable firmware region|-|-|
### RISC-V Processor HART Settings
@@ -98,6 +200,7 @@ Below PCDs could be set in platform FDF file.
|PcdHartCount| Number of RISC-V HARTs, the value is processor-implementation specific|
|PcdBootHartId| The ID of RISC-V HART to execute main fimrware code and boot system to OS|
|PcdBootableHartNumber|The bootable HART number, which is incorporate with RISC-V OpenSBI platform hart_index2id value|
+|PcdBootableHartIndexToId| if PcdBootableHartNumber == 0, hart_index2id is built from Device Tree, otherwise this is an array of HART index to HART ID|
### RISC-V OpenSBI Settings
@@ -109,6 +212,7 @@ Below PCDs could be set in platform FDF file.
|PcdTemporaryRamBase| The base address of temporary memory for PEI phase|
|PcdTemporaryRamSize| The temporary memory size for PEI phase|
|PcdPeiCorePrivilegeMode|The target RISC-V privilege mode for edk2 PEI phase|
+|PcdDxeCorePrivilegeMode (TODO)|The target RISC-V privilege mode for edk2 DXE phase|
## Supported Operating Systems
Currently support boot to EFI Shell and Linux kernel.
diff --git a/Platform/RISC-V/PlatformPkg/Documents/Media/RiscVEdk2BootProcess.svg b/Platform/RISC-V/PlatformPkg/Documents/Media/RiscVEdk2BootProcess.svg
new file mode 100644
index 0000000000..dfd47a75b9
--- /dev/null
+++ b/Platform/RISC-V/PlatformPkg/Documents/Media/RiscVEdk2BootProcess.svg
@@ -0,0 +1,1928 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by Microsoft Visio, SVG Export RiscVEdk2BootProcess.svg Page-2 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="14.1908in" height="6.97375in"
+ viewBox="0 0 1021.74 502.11" xml:space="preserve" color-interpolation-filters="sRGB" class="st49">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:#ffffff;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st2 {fill:#92cddc;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st3 {fill:#24a2ff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st4 {fill:#000000;font-family:Calibri;font-size:0.833336em}
+ .st5 {visibility:visible}
+ .st6 {fill:#000000;fill-opacity:0.4;filter:url(#filter_3.3333334922791);stroke:none;stroke-linecap:round;stroke-linejoin:round}
+ .st7 {fill:#e5b9b5;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st8 {fill:#000000;fill-opacity:0.4;filter:url(#filter_2.6666667461395);stroke:none;stroke-linecap:round;stroke-linejoin:round}
+ .st9 {fill:none;filter:url(#filter_3.3333334922791);marker-end:url(#mrkr2-27);stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.75}
+ .st10 {fill:#ffffff;fill-opacity:0.75;stroke:#ffffff;stroke-opacity:0.75;stroke-width:0.49800796812749}
+ .st11 {marker-end:url(#mrkr2-33);stroke:#ff0000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}
+ .st12 {fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-opacity:1;stroke-width:0.49800796812749}
+ .st13 {fill:#000000;font-family:Arial;font-size:1.00001em;font-weight:bold}
+ .st14 {fill:#ff3300;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st15 {fill:#ffffff;font-family:Arial;font-size:1.00001em;font-weight:bold}
+ .st16 {font-size:1em}
+ .st17 {fill:#f9b604;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st18 {fill:#000000;font-family:Calibri;font-size:1.16666em;font-weight:bold}
+ .st19 {fill:#c05046;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st20 {fill:#ffffff;font-family:Calibri;font-size:0.833336em}
+ .st21 {fill:#c05046;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st22 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st23 {fill:#0070c0;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st24 {fill:#ffffff;font-family:Calibri;font-size:1.08334em}
+ .st25 {marker-end:url(#mrkr2-114);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st26 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.22935779816514}
+ .st27 {fill:#c05046;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st28 {stroke:#000000;stroke-dasharray:5.25,3.75;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st29 {stroke:#c05046;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75}
+ .st30 {fill:#ffffff;font-family:Calibri;font-size:0.75em}
+ .st31 {fill:#595959;stroke:none;stroke-linecap:butt;stroke-width:0.75}
+ .st32 {fill:#0070c0;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.25}
+ .st33 {fill:#ffffff;font-family:Calibri;font-size:0.666664em}
+ .st34 {marker-end:url(#mrkr4-199);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st35 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.29411764705882}
+ .st36 {stroke:#000000;stroke-dasharray:2.25,2.25;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st37 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st38 {fill:#000000;font-family:Calibri;font-size:1.00001em}
+ .st39 {fill:#000000;font-family:Calibri;font-size:1.08334em}
+ .st40 {marker-end:url(#mrkr10-311);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st41 {marker-start:url(#mrkr10-317);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st42 {fill:#ffffff;stroke:#ff0000;stroke-dasharray:5.25,5.25;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75}
+ .st43 {fill:#000000;font-family:Calibri;font-size:0.666664em}
+ .st44 {marker-end:url(#mrkr2-383);stroke:#ff0000;stroke-dasharray:2.25,2.25;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st45 {fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-opacity:1;stroke-width:0.22935779816514}
+ .st46 {fill:#9dbb61;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st47 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st48 {fill:#000000;font-family:Calibri;font-size:0.666664em;font-weight:bold}
+ .st49 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Markers">
+ <g id="lend2">
+ <path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr2-27" class="st10" v:arrowType="2" v:arrowSize="2" v:setback="2.008" refX="-2.008" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend2" transform="scale(-2.008,-2.008) "/>
+ </marker>
+ <marker id="mrkr2-33" class="st12" v:arrowType="2" v:arrowSize="2" v:setback="2.008" refX="-2.008" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend2" transform="scale(-2.008,-2.008) "/>
+ </marker>
+ <marker id="mrkr2-114" class="st26" v:arrowType="2" v:arrowSize="2" v:setback="4.36" refX="-4.36" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend2" transform="scale(-4.36,-4.36) "/>
+ </marker>
+ <g id="lend4">
+ <path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr4-199" class="st35" v:arrowType="4" v:arrowSize="1" v:setback="6.8" refX="-6.8" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend4" transform="scale(-3.4,-3.4) "/>
+ </marker>
+ <g id="lend10">
+ <path
+ d="M 0 0.75 C -0.414214 0.75 -0.75 0.414214 -0.75 0 -0.75 -0.414214 -0.414214 -0.75 0 -0.75 0.414214 -0.75 0.75 -0.414214 0.75 0 0.75 0.414214 0.414214 0.75 0 0.75 Z "
+ style="stroke:none"/>
+ </g>
+ <marker id="mrkr10-311" class="st26" v:arrowType="10" v:arrowSize="2" v:setback="2.79" refX="-2.79" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend10" transform="scale(-4.36,-4.36) "/>
+ </marker>
+ <marker id="mrkr10-317" class="st26" v:arrowType="10" v:arrowSize="2" v:setback="2.79" refX="2.79" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend10" transform="scale(4.36) "/>
+ </marker>
+ <marker id="mrkr2-383" class="st45" v:arrowType="2" v:arrowSize="2" v:setback="3.88" refX="-3.88" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend2" transform="scale(-4.36,-4.36) "/>
+ </marker>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_3.3333334922791">
+ <feGaussianBlur stdDeviation="3.3333334922791"/>
+ </filter>
+ <filter id="filter_2.6666667461395">
+ <feGaussianBlur stdDeviation="2.6666667461395"/>
+ </filter>
+ </defs>
+ <g v:mID="4" v:index="2" v:groupContext="foregroundPage">
+ <title>Page-2</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="19" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <v:layer v:name="Connector" v:index="0"/>
+ <v:layer v:name="Flowchart" v:index="1"/>
+ <g id="shape358-1" v:mID="358" v:groupContext="shape" transform="translate(18,-23.88)">
+ <title>Rectangle.356</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <rect x="0" y="41.37" width="985.5" height="460.74" class="st1"/>
+ </g>
+ <g id="shape229-3" v:mID="229" v:groupContext="shape" transform="translate(272.37,-61.74)">
+ <title>Rectangle.229</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <rect x="0" y="398.133" width="724.5" height="103.977" class="st2"/>
+ </g>
+ <g id="shape178-5" v:mID="178" v:groupContext="shape" transform="translate(56.37,-62.49)">
+ <title>Rectangle.178</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <rect x="0" y="127.11" width="297" height="375" class="st2"/>
+ </g>
+ <g id="shape359-7" v:mID="359" v:groupContext="shape" transform="translate(61.4325,-117.87)">
+ <title>Rounded Rectangle.359</title>
+ <desc>RiscVOpensbiLib</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.125):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.125):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.125):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.125):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="138.034" cy="454.86" width="276.07" height="94.5"/>
+ <path d="M9 502.11 L267.07 502.11 A8.99985 8.99985 -180 0 0 276.07 493.11 L276.07 416.61 A8.99985 8.99985 -180 0 0 267.07
+ 407.61 L9 407.61 A8.99985 8.99985 -180 0 0 0 416.61 L0 493.11 A8.99985 8.99985 -180 0 0 9 502.11 Z"
+ class="st3"/>
+ <text x="104.61" y="420.61" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>RiscVOpensbiLib</text> </g>
+ <g id="shape200-10" v:mID="200" v:groupContext="shape" transform="translate(380.37,-160.74)">
+ <title>Rectangle.200</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow200-11" v:groupContext="shadow" v:shadowOffsetX="-2.12132" v:shadowOffsetY="-2.12132" v:shadowType="1"
+ v:shadowScale="1.01" transform="matrix(1.01,0,0,1.01,-3.06632,-1.51603)" class="st5">
+ <rect x="0" y="225.36" width="189" height="276.75" class="st6"/>
+ </g>
+ <rect x="0" y="225.36" width="189" height="276.75" class="st7"/>
+ </g>
+ <g id="shape216-15" v:mID="216" v:groupContext="shape" transform="translate(596.37,-160.74)">
+ <title>Rectangle.216</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow216-16" v:groupContext="shadow" v:shadowOffsetX="1.83697E-016" v:shadowOffsetY="-3" v:shadowType="1"
+ v:shadowScale="1.01" transform="matrix(1.01,0,0,1.01,-0.945,-0.63735)" class="st5">
+ <rect x="0" y="225.36" width="189" height="276.75" class="st8"/>
+ </g>
+ <rect x="0" y="225.36" width="189" height="276.75" class="st7"/>
+ </g>
+ <g id="shape223-20" v:mID="223" v:groupContext="shape" v:layerMember="0" transform="translate(551.37,-184.928)">
+ <title>Side to side 1.223</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow223-21" v:groupContext="shadow" v:shadowOffsetX="7.2E-008" v:shadowOffsetY="0" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-0.6075,-9.20407)" class="st5">
+ <path d="M0 502.11 L10.26 502.11 L10.26 418.3 L55.73 418.3" class="st9"/>
+ </g>
+ <path d="M0 502.11 L10.26 502.11 L10.26 418.3 L55.73 418.3" class="st11"/>
+ </g>
+ <g id="shape305-34" v:mID="305" v:groupContext="shape" transform="translate(569.37,-160.74)">
+ <title>Rectangle.305</title>
+ <desc>Privilege Mode Switch</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalText="true"/>
+ <v:textRect cx="13.5" cy="363.735" width="27" height="276.75"/>
+ <g id="shadow305-35" v:groupContext="shadow" v:shadowOffsetX="-2.12132" v:shadowOffsetY="-2.12132" v:shadowType="1"
+ v:shadowScale="1.01" transform="matrix(1.01,0,0,1.01,-2.25632,-1.51603)" class="st5">
+ <rect x="0" y="225.36" width="27" height="276.75" class="st8"/>
+ </g>
+ <rect x="0" y="225.36" width="27" height="276.75" class="st1"/>
+ <text x="14.65" y="300.39" writing-mode="tb-rl" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Privilege Mode Switch</text> </g>
+ <g id="shape322-40" v:mID="322" v:groupContext="shape" transform="translate(920.37,-160.74)">
+ <title>Rectangle.322</title>
+ <desc>Privilege in Supervisor Mode</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalText="true"/>
+ <v:textRect cx="13.5" cy="363.735" width="27" height="276.75"/>
+ <g id="shadow322-41" v:groupContext="shadow" v:shadowOffsetX="-2.12132" v:shadowOffsetY="-2.12132" v:shadowType="1"
+ v:shadowScale="1.01" transform="matrix(1.01,0,0,1.01,-2.25632,-1.51603)" class="st5">
+ <rect x="0" y="225.36" width="27" height="276.75" class="st8"/>
+ </g>
+ <rect x="0" y="225.36" width="27" height="276.75" class="st1"/>
+ <text x="14.65" y="281.38" writing-mode="tb-rl" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Privilege in Supervisor Mode</text> </g>
+ <g id="shape339-46" v:mID="339" v:groupContext="shape" transform="translate(29.37,-62.49)">
+ <title>Rectangle.339</title>
+ <desc>Power on / Reset</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalText="true"/>
+ <v:textRect cx="13.5" cy="314.61" width="27" height="375"/>
+ <rect x="0" y="127.11" width="27" height="375" class="st14"/>
+ <text x="14.65" y="266.26" writing-mode="tb-rl" class="st15" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Power on / Reset</text> </g>
+ <g id="shape217-49" v:mID="217" v:groupContext="shape" transform="translate(785.37,-160.74)">
+ <title>Rectangle.217</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow217-50" v:groupContext="shadow" v:shadowOffsetX="1.83697E-016" v:shadowOffsetY="-3" v:shadowType="1"
+ v:shadowScale="1.01" transform="matrix(1.01,0,0,1.01,-0.675,-0.63735)" class="st5">
+ <rect x="0" y="225.36" width="135" height="276.75" class="st8"/>
+ </g>
+ <rect x="0" y="225.36" width="135" height="276.75" class="st7"/>
+ </g>
+ <g id="shape230-54" v:mID="230" v:groupContext="shape" transform="translate(78.87,-331.74)">
+ <title>Rounded Rectangle.230</title>
+ <desc>Edk2OpensbiPlatformWrapperLib</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.059895833333333):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.059895833333333):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.059895833333333):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.059895833333333):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="51.75" cy="486.36" width="103.5" height="31.5"/>
+ <path d="M4.31 502.11 L99.19 502.11 A4.31243 4.31243 -180 0 0 103.5 497.8 L103.5 474.92 A4.31243 4.31243 -180 0 0 99.19
+ 470.61 L4.31 470.61 A4.31243 4.31243 -180 0 0 0 474.92 L0 497.8 A4.31243 4.31243 -180 0 0 4.31 502.11 Z"
+ class="st3"/>
+ <text x="7.39" y="483.61" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Edk2OpensbiPlatform<tspan
+ x="27.8" dy="1.2em" class="st16">WrapperLib</tspan></text> </g>
+ <g id="shape183-58" v:mID="183" v:groupContext="shape" transform="translate(191.37,-221.37)">
+ <title>Rounded Rectangle.183</title>
+ <desc>OpenSbi PlatformLib</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.1240671641791):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.1240671641791):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.1240671641791):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.1240671641791):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="42.75" cy="466.621" width="85.5" height="70.9773"/>
+ <path d="M8.93 502.11 L76.57 502.11 A8.93269 8.93269 -180 0 0 85.5 493.18 L85.5 440.07 A8.93269 8.93269 -180 0 0 76.57
+ 431.13 L8.93 431.13 A8.93269 8.93269 -180 0 0 0 440.07 L0 493.18 A8.93269 8.93269 -180 0 0 8.93 502.11 Z"
+ class="st3"/>
+ <text x="25.63" y="444.13" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>OpenSbi<v:lf/><tspan
+ x="19.17" dy="1.2em" class="st16">PlatformLib</tspan></text> </g>
+ <g id="shape176-62" v:mID="176" v:groupContext="shape" transform="translate(785.37,-437.49)">
+ <title>Rectangle.176</title>
+ <desc>BDS</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="67.5" cy="486.36" width="135" height="31.5"/>
+ <rect x="0" y="470.61" width="135" height="31.5" class="st17"/>
+ <text x="55.86" y="490.56" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>BDS</text> </g>
+ <g id="shape180-65" v:mID="180" v:groupContext="shape" transform="translate(200.37,-224.847)">
+ <title>Rounded Rectangle.180</title>
+ <desc>Generic Platform Functions</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="33.75" cy="484.11" width="67.5" height="36"/>
+ <path d="M6.75 502.11 L60.75 502.11 A6.74989 6.74989 -180 0 0 67.5 495.36 L67.5 472.86 A6.74989 6.74989 -180 0 0 60.75
+ 466.11 L6.75 466.11 A6.74989 6.74989 -180 0 0 0 472.86 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st19"/>
+ <text x="17.99" y="476.61" class="st20" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>Generic <tspan
+ x="16.05" dy="1em" class="st16">Platform </tspan><tspan x="14.04" dy="1em" class="st16">Functions</tspan></text> </g>
+ <g id="shape182-70" v:mID="182" v:groupContext="shape" transform="translate(79.995,-221.37)">
+ <title>Rounded Rectangle.182</title>
+ <desc>RiscVSpecial PlatformLib</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.125):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.125):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.125):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.125):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="37.6875" cy="466.621" width="75.38" height="70.9773"/>
+ <path d="M9 502.11 L66.37 502.11 A8.99985 8.99985 -180 0 0 75.37 493.11 L75.37 440.13 A8.99985 8.99985 -180 0 0 66.37
+ 431.13 L9 431.13 A8.99985 8.99985 -180 0 0 0 440.13 L0 493.11 A8.99985 8.99985 -180 0 0 9 502.11 Z"
+ class="st3"/>
+ <text x="12.7" y="444.13" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>RiscVSpecial<v:lf/><tspan
+ x="14.11" dy="1.2em" class="st16">PlatformLib</tspan></text> </g>
+ <g id="shape184-74" v:mID="184" v:groupContext="shape" transform="translate(83.37,-70.74)">
+ <title>Rounded Rectangle.184</title>
+ <desc>HART index to ID array</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="33.75" cy="484.11" width="67.5" height="36"/>
+ <path d="M4.5 502.11 L63 502.11 A4.49993 4.49993 -180 0 0 67.5 497.61 L67.5 470.61 A4.49993 4.49993 -180 0 0 63 466.11
+ L4.5 466.11 A4.49993 4.49993 -180 0 0 0 470.61 L0 497.61 A4.49993 4.49993 -180 0 0 4.5 502.11 Z"
+ class="st21"/>
+ <text x="4.96" y="481.11" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>HART index to <tspan
+ x="17.74" dy="1.2em" class="st16">ID array</tspan></text> </g>
+ <g id="shape185-78" v:mID="185" v:groupContext="shape" transform="translate(209.37,-70.74)">
+ <title>Rounded Rectangle.185</title>
+ <desc>Boot HART ID</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="33.75" cy="484.11" width="67.5" height="36"/>
+ <path d="M6.75 502.11 L60.75 502.11 A6.74989 6.74989 -180 0 0 67.5 495.36 L67.5 472.86 A6.74989 6.74989 -180 0 0 60.75
+ 466.11 L6.75 466.11 A6.74989 6.74989 -180 0 0 0 472.86 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st21"/>
+ <text x="6.33" y="487.11" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Boot HART ID</text> </g>
+ <g id="shape181-81" v:mID="181" v:groupContext="shape" transform="translate(83.37,-224.847)">
+ <title>Rounded Rectangle.181</title>
+ <desc>Special Platform Override</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="33.75" cy="484.11" width="67.5" height="36"/>
+ <path d="M6.75 502.11 L60.75 502.11 A6.74989 6.74989 -180 0 0 67.5 495.36 L67.5 472.86 A6.74989 6.74989 -180 0 0 60.75
+ 466.11 L6.75 466.11 A6.74989 6.74989 -180 0 0 0 472.86 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st19"/>
+ <text x="19.53" y="476.61" class="st20" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>Special <tspan
+ x="16.05" dy="1em" class="st16">Platform </tspan><tspan x="15.94" dy="1em" class="st16">Override</tspan></text> </g>
+ <g id="shape192-86" v:mID="192" v:groupContext="shape" transform="translate(619.23,375.12) rotate(90)">
+ <title>Sheet.192</title>
+ <path d="M0 502.11 L20.25 502.11" class="st22"/>
+ </g>
+ <g id="shape193-89" v:mID="193" v:groupContext="shape" transform="translate(-258.99,395.37) rotate(-90)">
+ <title>Sheet.193</title>
+ <path d="M0 502.11 L20.25 502.11" class="st22"/>
+ </g>
+ <g id="shape197-92" v:mID="197" v:groupContext="shape" transform="translate(619.23,277.263) rotate(90)">
+ <title>Sheet.197</title>
+ <path d="M0 502.11 L75.36 502.11" class="st22"/>
+ </g>
+ <g id="shape199-95" v:mID="199" v:groupContext="shape" transform="translate(-225.24,348.12) rotate(-90)">
+ <title>Sheet.199</title>
+ <path d="M0 502.11 L8.88 502.11" class="st22"/>
+ </g>
+ <g id="shape201-98" v:mID="201" v:groupContext="shape" transform="translate(393.87,-251.865)">
+ <title>Sheet.201</title>
+ <desc>PEI Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="78.75" cy="484.11" width="157.5" height="36"/>
+ <rect x="0" y="466.11" width="157.5" height="36" class="st23"/>
+ <text x="56.72" y="487.36" class="st24" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PEI Core</text> </g>
+ <g id="shape203-101" v:mID="203" v:groupContext="shape" transform="translate(394.433,-371.497)">
+ <title>Rounded Rectangle.203</title>
+ <desc>PlatformSecPpiLib</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="36" cy="486.36" width="72" height="31.5"/>
+ <path d="M4.5 502.11 L67.5 502.11 A4.49993 4.49993 -180 0 0 72 497.61 L72 475.11 A4.49993 4.49993 -180 0 0 67.5 470.61
+ L4.5 470.61 A4.49993 4.49993 -180 0 0 0 475.11 L0 497.61 A4.49993 4.49993 -180 0 0 4.5 502.11 Z"
+ class="st3"/>
+ <text x="5.04" y="483.61" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PlatformSecPpi<tspan
+ x="30.12" dy="1.2em" class="st16">Lib</tspan></text> </g>
+ <g id="shape204-105" v:mID="204" v:groupContext="shape" transform="translate(488.933,-384.877)">
+ <title>Rounded Rectangle.204</title>
+ <desc>RiscVFirmwareConextLib</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="36" cy="486.36" width="72" height="31.5"/>
+ <path d="M4.5 502.11 L67.5 502.11 A4.49993 4.49993 -180 0 0 72 497.61 L72 475.11 A4.49993 4.49993 -180 0 0 67.5 470.61
+ L4.5 470.61 A4.49993 4.49993 -180 0 0 0 475.11 L0 497.61 A4.49993 4.49993 -180 0 0 4.5 502.11 Z"
+ class="st3"/>
+ <text x="5.85" y="483.61" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>RiscVFirmware<tspan
+ x="15.87" dy="1.2em" class="st16">ConextLib</tspan></text> </g>
+ <g id="shape205-109" v:mID="205" v:groupContext="shape" v:layerMember="0" transform="translate(488.932,-337.5) scale(-1,1)">
+ <title>Bottom to top 1</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 467.31 L0 479.61 L38.93 479.61 L38.93 498.84" class="st25"/>
+ </g>
+ <g id="shape177-115" v:mID="177" v:groupContext="shape" transform="translate(76.62,-122.49)">
+ <title>Rounded Rectangle</title>
+ <desc>OpenSBI Library (SBI Implementation)</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="124.875" cy="486.36" width="249.75" height="31.5"/>
+ <path d="M0 502.11 L249.75 502.11 L249.75 470.61 L0 470.61 L0 502.11 Z" class="st27"/>
+ <text x="48.04" y="489.36" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>OpenSBI Library (SBI Implementation)</text> </g>
+ <g id="shape212-118" v:mID="212" v:groupContext="shape" transform="translate(978.667,206.37) rotate(90)">
+ <title>Sheet.212</title>
+ <path d="M0 502.11 L4.6 502.11" class="st25"/>
+ </g>
+ <g id="shape213-123" v:mID="213" v:groupContext="shape" transform="translate(558.48,64.62) rotate(90)">
+ <title>Sheet.213</title>
+ <path d="M0 502.11 L387 502.11" class="st28"/>
+ </g>
+ <g id="shape218-126" v:mID="218" v:groupContext="shape" transform="translate(1287.48,64.62) rotate(90)">
+ <title>Sheet.218</title>
+ <path d="M0 502.11 L375.75 502.11" class="st28"/>
+ </g>
+ <g id="shape219-129" v:mID="219" v:groupContext="shape" transform="translate(1422.48,64.62) rotate(90)">
+ <title>Sheet.219</title>
+ <path d="M0 502.11 L380.25 502.11" class="st28"/>
+ </g>
+ <g id="shape222-132" v:mID="222" v:groupContext="shape" transform="translate(1019.73,250.245) rotate(90)">
+ <title>Sheet.222</title>
+ <path d="M0 502.11 L51.85 502.11" class="st25"/>
+ </g>
+ <g id="shape225-137" v:mID="225" v:groupContext="shape" transform="translate(920.167,250.245) rotate(90)">
+ <title>Sheet.225</title>
+ <path d="M0 502.11 L62.36 502.11" class="st25"/>
+ </g>
+ <g id="shape227-142" v:mID="227" v:groupContext="shape" transform="translate(608.745,-115.74)">
+ <title>Rounded Rectangle.227</title>
+ <desc>DXE SBI Procotol</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="36" cy="466.621" width="72" height="70.9773"/>
+ <path d="M6.75 502.11 L65.25 502.11 A6.74989 6.74989 -180 0 0 72 495.36 L72 437.88 A6.74989 6.74989 -180 0 0 65.25 431.13
+ L6.75 431.13 A6.74989 6.74989 -180 0 0 0 437.88 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st3"/>
+ <text x="20.48" y="444.13" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>DXE SBI <tspan
+ x="18.83" dy="1.2em" class="st16">Procotol</tspan></text> </g>
+ <g id="shape228-146" v:mID="228" v:groupContext="shape" transform="translate(1146.85,254.182) rotate(90)">
+ <title>Sheet.228</title>
+ <path d="M0 502.11 L56.35 502.11" class="st25"/>
+ </g>
+ <g id="shape209-151" v:mID="209" v:groupContext="shape" transform="translate(327.314,-138.239) rotate(0.107699)">
+ <title>Sheet.209</title>
+ <path d="M0 502.11 L598.5 502.11" class="st29"/>
+ </g>
+ <g id="shape224-154" v:mID="224" v:groupContext="shape" transform="translate(388.808,-115.74)">
+ <title>Rounded Rectangle.224</title>
+ <desc>PEI SBI PPI</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.093749999999999):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.093749999999999):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.093749999999999):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.093749999999999):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="36" cy="466.621" width="72" height="70.9773"/>
+ <path d="M6.75 502.11 L65.25 502.11 A6.74989 6.74989 -180 0 0 72 495.36 L72 437.88 A6.74989 6.74989 -180 0 0 65.25 431.13
+ L6.75 431.13 A6.74989 6.74989 -180 0 0 0 437.88 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st3"/>
+ <text x="14.75" y="444.13" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI SBI PPI</text> </g>
+ <g id="shape198-157" v:mID="198" v:groupContext="shape" transform="translate(391.058,-122.49)">
+ <title>Rounded Rectangle.198</title>
+ <desc>SBI Implementation</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="33.75" cy="486.36" width="67.5" height="31.5"/>
+ <path d="M6.75 502.11 L60.75 502.11 A6.74989 6.74989 -180 0 0 67.5 495.36 L67.5 477.36 A6.74989 6.74989 -180 0 0 60.75
+ 470.61 L6.75 470.61 A6.74989 6.74989 -180 0 0 0 477.36 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st19"/>
+ <text x="28.1" y="484.11" class="st30" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>SBI <tspan
+ x="4.25" dy="1em" class="st16">Implementation</tspan></text> </g>
+ <g id="shape226-161" v:mID="226" v:groupContext="shape" transform="translate(610.995,-122.49)">
+ <title>Rounded Rectangle.226</title>
+ <desc>SBI Implementation</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="33.75" cy="486.36" width="67.5" height="31.5"/>
+ <path d="M6.75 502.11 L60.75 502.11 A6.74989 6.74989 -180 0 0 67.5 495.36 L67.5 477.36 A6.74989 6.74989 -180 0 0 60.75
+ 470.61 L6.75 470.61 A6.74989 6.74989 -180 0 0 0 477.36 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st19"/>
+ <text x="28.1" y="484.11" class="st30" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>SBI <tspan
+ x="4.25" dy="1em" class="st16">Implementation</tspan></text> </g>
+ <g id="shape215-165" v:mID="215" v:groupContext="shape" transform="translate(1071.48,65.37) rotate(90)">
+ <title>Sheet.215</title>
+ <path d="M0 502.11 L375.75 502.11" class="st28"/>
+ </g>
+ <g id="shape231-168" v:mID="231" v:groupContext="shape" transform="translate(-267.99,348.12) rotate(-90)">
+ <title>Sheet.231</title>
+ <path d="M0 502.11 L70.86 502.11" class="st22"/>
+ </g>
+ <g id="shape237-171" v:mID="237" v:groupContext="shape" transform="translate(166.495,747.361) rotate(180)">
+ <title>Sheet.237</title>
+ <path d="M0 502.11 L11.12 502.11" class="st22"/>
+ </g>
+ <g id="shape239-174" v:mID="239" v:groupContext="shape" v:layerMember="0" transform="translate(130.62,-309.887)">
+ <title>Bottom to top 1.239</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 480.26 L0 502.59 L54 502.59 L54 502.11" class="st22"/>
+ </g>
+ <g id="shape240-177" v:mID="240" v:groupContext="shape" transform="translate(166.466,-254.054)">
+ <title>Link</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M10.14 499.25 a0.647526 0.647526 0 0 1 -0.64729 0.64729 L4.32 499.9 a0.647526 0.647526 0 0 1 -0.64729 -0.64729
+ a0.647526 0.647526 0 0 1 0.64729 -0.64729 L9.49 498.6 a0.647526 0.647526 0 0 1 0.64729 0.64729 ZM8.75 500.38
+ a0.860243 0.860243 -180 0 0 0.743089 0.431527 L11.65 500.82 a0.863922 0.863922 -180 0 0 0.863053 -0.863053
+ L12.51 498.66 a0.863645 0.863645 -180 0 0 -0.863053 -0.863053 L9.49 497.79 a0.860243 0.860243 -180 0 0 -0.743089
+ 0.431527 L7.38 498.23 A2.15826 2.15826 0 0 1 9.49 496.5 L11.65 496.5 A2.15759 2.15759 0 0 1 13.81 498.66
+ L13.81 499.95 A2.15759 2.15759 0 0 1 11.65 502.11 L9.49 502.11 A2.15791 2.15791 0 0 1 7.38 500.38 L8.75
+ 500.38 ZM5.06 500.38 a0.860243 0.860243 0 0 1 -0.743089 0.431527 L2.16 500.82 a0.863922 0.863922 0 0 1 -0.863053
+ -0.863053 L1.29 498.66 a0.863645 0.863645 0 0 1 0.863053 -0.863053 L4.32 497.79 a0.860243 0.860243 0 0 1
+ 0.743089 0.431527 L6.43 498.23 A2.15873 2.15873 -180 0 0 4.32 496.5 L2.16 496.5 A2.15759 2.15759 -180 0
+ 0 -0 498.66 L0 499.95 A2.15759 2.15759 -180 0 0 2.16 502.11 L4.32 502.11 A2.15791 2.15791 -180 0 0 6.43
+ 500.38 L5.06 500.38 Z" class="st31"/>
+ </g>
+ <g id="shape242-179" v:mID="242" v:groupContext="shape" transform="translate(184.62,-306.435)">
+ <title>Link.242</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M10.14 499.25 a0.647526 0.647526 0 0 1 -0.64729 0.64729 L4.32 499.9 a0.647526 0.647526 0 0 1 -0.64729 -0.64729
+ a0.647526 0.647526 0 0 1 0.64729 -0.64729 L9.49 498.6 a0.647526 0.647526 0 0 1 0.64729 0.64729 ZM8.75 500.38
+ a0.860243 0.860243 -180 0 0 0.743089 0.431527 L11.65 500.82 a0.863922 0.863922 -180 0 0 0.863053 -0.863053
+ L12.51 498.66 a0.863645 0.863645 -180 0 0 -0.863053 -0.863053 L9.49 497.79 a0.860243 0.860243 -180 0 0 -0.743089
+ 0.431527 L7.38 498.23 A2.15826 2.15826 0 0 1 9.49 496.5 L11.65 496.5 A2.15759 2.15759 0 0 1 13.81 498.66
+ L13.81 499.95 A2.15759 2.15759 0 0 1 11.65 502.11 L9.49 502.11 A2.15791 2.15791 0 0 1 7.38 500.38 L8.75
+ 500.38 ZM5.06 500.38 a0.860243 0.860243 0 0 1 -0.743089 0.431527 L2.16 500.82 a0.863922 0.863922 0 0 1 -0.863053
+ -0.863053 L1.29 498.66 a0.863645 0.863645 0 0 1 0.863053 -0.863053 L4.32 497.79 a0.860243 0.860243 0 0 1
+ 0.743089 0.431527 L6.43 498.23 A2.15873 2.15873 -180 0 0 4.32 496.5 L2.16 496.5 A2.15759 2.15759 -180 0
+ 0 -0 498.66 L0 499.95 A2.15759 2.15759 -180 0 0 2.16 502.11 L4.32 502.11 A2.15791 2.15791 -180 0 0 6.43
+ 500.38 L5.06 500.38 Z" class="st31"/>
+ </g>
+ <g id="shape244-181" v:mID="244" v:groupContext="shape" v:layerMember="0" transform="translate(198.428,-291.87)">
+ <title>Bottom to top 1.244</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 484.09 L0 484.65 L18.02 484.65 L18.02 502.11" class="st22"/>
+ </g>
+ <g id="shape245-184" v:mID="245" v:groupContext="shape" transform="translate(191.37,747.361) rotate(180)">
+ <title>Sheet.245</title>
+ <path d="M0 502.11 L11.13 502.11" class="st22"/>
+ </g>
+ <g id="shape249-187" v:mID="249" v:groupContext="shape" transform="translate(209.37,-320.49)">
+ <title>Rounded Rectangle.249</title>
+ <desc>OEM can override this library instance to hook before/after e...</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="54" cy="475.11" width="108" height="54"/>
+ <path d="M4.5 502.11 L103.5 502.11 A4.49993 4.49993 -180 0 0 108 497.61 L108 452.61 A4.49993 4.49993 -180 0 0 103.5 448.11
+ L4.5 448.11 A4.49993 4.49993 -180 0 0 0 452.61 L0 497.61 A4.49993 4.49993 -180 0 0 4.5 502.11 Z"
+ class="st32"/>
+ <text x="6.57" y="459.31" class="st33" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>OEM can override this library <tspan
+ x="5.86" dy="1.2em" class="st16">instance to hook before</tspan>/after <tspan x="16.6" dy="1.2em"
+ class="st16">each OpenSbi platform </tspan><tspan x="11" dy="1.2em" class="st16">operation API for platform </tspan><tspan
+ x="26.07" dy="1.2em" class="st16">specific purposes</tspan></text> </g>
+ <g id="shape255-194" v:mID="255" v:groupContext="shape" v:layerMember="0" transform="translate(209.37,656.73) rotate(180)">
+ <title>Directed line 1</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 502.11 L21.9 502.11" class="st34"/>
+ </g>
+ <g id="shape256-200" v:mID="256" v:groupContext="shape" transform="translate(247.466,-306.154)">
+ <title>Link.256</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M10.14 499.25 a0.647526 0.647526 0 0 1 -0.64729 0.64729 L4.32 499.9 a0.647526 0.647526 0 0 1 -0.64729 -0.64729
+ a0.647526 0.647526 0 0 1 0.64729 -0.64729 L9.49 498.6 a0.647526 0.647526 0 0 1 0.64729 0.64729 ZM8.75 500.38
+ a0.860243 0.860243 -180 0 0 0.743089 0.431527 L11.65 500.82 a0.863922 0.863922 -180 0 0 0.863053 -0.863053
+ L12.51 498.66 a0.863645 0.863645 -180 0 0 -0.863053 -0.863053 L9.49 497.79 a0.860243 0.860243 -180 0 0 -0.743089
+ 0.431527 L7.38 498.23 A2.15826 2.15826 0 0 1 9.49 496.5 L11.65 496.5 A2.15759 2.15759 0 0 1 13.81 498.66
+ L13.81 499.95 A2.15759 2.15759 0 0 1 11.65 502.11 L9.49 502.11 A2.15791 2.15791 0 0 1 7.38 500.38 L8.75
+ 500.38 ZM5.06 500.38 a0.860243 0.860243 0 0 1 -0.743089 0.431527 L2.16 500.82 a0.863922 0.863922 0 0 1 -0.863053
+ -0.863053 L1.29 498.66 a0.863645 0.863645 0 0 1 0.863053 -0.863053 L4.32 497.79 a0.860243 0.860243 0 0 1
+ 0.743089 0.431527 L6.43 498.23 A2.15873 2.15873 -180 0 0 4.32 496.5 L2.16 496.5 A2.15759 2.15759 -180 0
+ 0 -0 498.66 L0 499.95 A2.15759 2.15759 -180 0 0 2.16 502.11 L4.32 502.11 A2.15791 2.15791 -180 0 0 6.43
+ 500.38 L5.06 500.38 Z" class="st31"/>
+ </g>
+ <g id="shape257-202" v:mID="257" v:groupContext="shape" v:layerMember="0"
+ transform="translate(247.466,-292.347) scale(-1,1)">
+ <title>Bottom to top 1.257</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 485.86 L0 485.95 L13.35 485.95 L13.35 502.11" class="st36"/>
+ </g>
+ <g id="shape258-205" v:mID="258" v:groupContext="shape" v:layerMember="0"
+ transform="translate(263.37,-308.593) scale(-1,1)">
+ <title>Bottom to top 1.258</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 490.21 L0 502.2 L2.1 502.2 L2.1 502.11" class="st36"/>
+ </g>
+ <g id="shape260-208" v:mID="260" v:groupContext="shape" transform="translate(161.966,-374.144)">
+ <title>Link.260</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M10.14 499.25 a0.647526 0.647526 0 0 1 -0.64729 0.64729 L4.32 499.9 a0.647526 0.647526 0 0 1 -0.64729 -0.64729
+ a0.647526 0.647526 0 0 1 0.64729 -0.64729 L9.49 498.6 a0.647526 0.647526 0 0 1 0.64729 0.64729 ZM8.75 500.38
+ a0.860243 0.860243 -180 0 0 0.743089 0.431527 L11.65 500.82 a0.863922 0.863922 -180 0 0 0.863053 -0.863053
+ L12.51 498.66 a0.863645 0.863645 -180 0 0 -0.863053 -0.863053 L9.49 497.79 a0.860243 0.860243 -180 0 0 -0.743089
+ 0.431527 L7.38 498.23 A2.15826 2.15826 0 0 1 9.49 496.5 L11.65 496.5 A2.15759 2.15759 0 0 1 13.81 498.66
+ L13.81 499.95 A2.15759 2.15759 0 0 1 11.65 502.11 L9.49 502.11 A2.15791 2.15791 0 0 1 7.38 500.38 L8.75
+ 500.38 ZM5.06 500.38 a0.860243 0.860243 0 0 1 -0.743089 0.431527 L2.16 500.82 a0.863922 0.863922 0 0 1 -0.863053
+ -0.863053 L1.29 498.66 a0.863645 0.863645 0 0 1 0.863053 -0.863053 L4.32 497.79 a0.860243 0.860243 0 0 1
+ 0.743089 0.431527 L6.43 498.23 A2.15873 2.15873 -180 0 0 4.32 496.5 L2.16 496.5 A2.15759 2.15759 -180 0
+ 0 -0 498.66 L0 499.95 A2.15759 2.15759 -180 0 0 2.16 502.11 L4.32 502.11 A2.15791 2.15791 -180 0 0 6.43
+ 500.38 L5.06 500.38 Z" class="st31"/>
+ </g>
+ <g id="shape261-210" v:mID="261" v:groupContext="shape" v:layerMember="0"
+ transform="translate(161.966,-363.24) scale(-1,1)">
+ <title>Bottom to top 1.261</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 487.75 L0 488.2 L31.35 488.2 L31.35 502.11" class="st22"/>
+ </g>
+ <g id="shape262-213" v:mID="262" v:groupContext="shape" v:layerMember="0" transform="translate(175.774,-376.302)">
+ <title>Bottom to top 1.262</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 502.11 L0 501.67 L29.1 501.67 L29.1 488.17" class="st22"/>
+ </g>
+ <g id="shape271-216" v:mID="271" v:groupContext="shape" transform="translate(776.37,-266.49)">
+ <title>Sheet.271</title>
+ <g id="shadow271-217" v:groupContext="shadow" v:shadowOffsetX="7.2E-008" v:shadowOffsetY="0" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-0.225,-10.0422)" class="st5">
+ <path d="M0 502.11 L17.48 502.11" class="st9"/>
+ </g>
+ <path d="M0 502.11 L17.48 502.11" class="st11"/>
+ </g>
+ <g id="shape274-228" v:mID="274" v:groupContext="shape" transform="translate(816.87,-115.74)">
+ <title>Rounded Rectangle.274</title>
+ <desc>DXE SBI Procotol</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="36" cy="455.985" width="72" height="92.25"/>
+ <path d="M6.75 502.11 L65.25 502.11 A6.74989 6.74989 -180 0 0 72 495.36 L72 416.61 A6.74989 6.74989 -180 0 0 65.25 409.86
+ L6.75 409.86 A6.74989 6.74989 -180 0 0 0 416.61 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st3"/>
+ <text x="20.48" y="422.86" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>DXE SBI <tspan
+ x="18.83" dy="1.2em" class="st16">Procotol</tspan></text> </g>
+ <g id="shape275-232" v:mID="275" v:groupContext="shape" transform="translate(1354.98,254.182) rotate(90)">
+ <title>Sheet.275</title>
+ <path d="M0 502.11 L36.67 502.11" class="st25"/>
+ </g>
+ <g id="shape276-237" v:mID="276" v:groupContext="shape" transform="translate(819.12,-122.49)">
+ <title>Rounded Rectangle.276</title>
+ <desc>SBI Implementation</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="33.75" cy="486.36" width="67.5" height="31.5"/>
+ <path d="M6.75 502.11 L60.75 502.11 A6.74989 6.74989 -180 0 0 67.5 495.36 L67.5 477.36 A6.74989 6.74989 -180 0 0 60.75
+ 470.61 L6.75 470.61 A6.74989 6.74989 -180 0 0 0 477.36 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st19"/>
+ <text x="28.1" y="484.11" class="st30" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>SBI <tspan
+ x="4.25" dy="1em" class="st16">Implementation</tspan></text> </g>
+ <g id="shape279-241" v:mID="279" v:groupContext="shape" transform="translate(40.5,-18.75)">
+ <title>Sheet.279</title>
+ <desc>PcdBootbaleHartNumber PcdBootbaleHartIndexToId</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="76.5" cy="479.61" width="153" height="45"/>
+ <rect x="0" y="457.11" width="153" height="45" class="st37"/>
+ <text x="14.96" y="476.61" class="st38" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PcdBootbaleHartNumber<v:lf/><tspan
+ x="10.85" dy="1em" class="st16">PcdBootbaleHartIndexToId</tspan></text> </g>
+ <g id="shape282-245" v:mID="282" v:groupContext="shape" transform="translate(29.25,-32.25)">
+ <title>Configure.282</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M16.51 495.41 C16.16 495.26 15.05 494.79 15.05 494.79 L15.12 493.86 L15.18 493.08 L15.08 491.59 L15.81 491.17
+ C15.81 491.17 16.18 491.01 16.53 490.87 C16.28 490.26 16.18 490.01 15.93 489.4 C15.58 489.54 14.42 490.02
+ 14.42 490.02 L13.85 489.3 C13.58 488.96 13.24 488.63 12.81 488.3 L12.13 487.77 L12.4 486.94 C12.4 486.94
+ 12.56 486.55 12.72 486.18 C12.11 485.93 11.86 485.83 11.25 485.58 C11.09 485.97 10.61 487.14 10.61 487.14
+ L9.71 487.05 C9.25 487.01 8.78 487.02 8.31 487.08 L7.46 487.2 L7.06 486.41 C7.06 486.41 6.88 486 6.71 485.6
+ C6.11 485.85 5.86 485.96 5.25 486.21 C5.43 486.64 5.94 487.85 5.94 487.85 L5.25 488.42 C4.92 488.69 4.62
+ 489.02 4.31 489.41 L3.8 490.08 L2.96 489.82 C2.96 489.82 2.51 489.64 2.07 489.46 C1.82 490.07 1.72 490.32
+ 1.48 490.93 C1.93 491.12 3.13 491.6 3.13 491.6 C3.13 491.6 3.06 492.97 3.05 493.08 C3.06 493.17 3.08 493.48
+ 3.08 493.49 C3.08 493.49 3.15 494.21 3.15 494.21 L2.72 494.6 C2.58 494.74 2.54 494.77 1.46 495.2 C1.69 495.81
+ 1.79 496.06 2.03 496.68 C2.48 496.5 3.74 496.01 3.74 496.01 L4.4 496.9 C4.6 497.15 4.87 497.43 5.22 497.72
+ L5.85 498.26 L5.57 499.06 C5.57 499.06 5.38 499.51 5.19 499.95 C5.79 500.21 6.04 500.32 6.64 500.58 C6.82
+ 500.17 7.34 498.96 7.34 498.96 L8.26 499.09 C8.69 499.15 9.16 499.16 9.64 499.12 L10.47 499.04 L10.84 499.81
+ C10.84 499.81 11.01 500.24 11.18 500.65 C11.79 500.4 12.04 500.3 12.65 500.06 C12.5 499.68 12.01 498.47
+ 12.01 498.47 L12.93 497.81 C13.19 497.6 13.49 497.3 13.79 496.92 L14.32 496.28 L15.14 496.55 C15.14 496.55
+ 15.53 496.72 15.89 496.87 C16.15 496.26 16.25 496.01 16.51 495.41 ZM16.23 494 C16.23 494 16.23 494.03 16.23
+ 494.06 C16.38 494.13 17.98 494.81 17.98 494.81 L16.49 498.34 C16.49 498.34 14.85 497.65 14.7 497.59 C14.68
+ 497.61 14.66 497.64 14.66 497.64 C14.31 498.07 13.96 498.42 13.59 498.72 C13.59 498.72 13.47 498.81 13.39
+ 498.86 C13.45 499.03 14.11 500.68 14.11 500.68 L10.55 502.11 C10.55 502.11 9.86 500.39 9.8 500.23 C9.77
+ 500.23 9.74 500.24 9.74 500.24 C9.17 500.29 8.61 500.27 8.1 500.2 C8.1 500.2 8.07 500.2 8.04 500.19 C7.97
+ 500.35 7.23 502.06 7.23 502.06 L3.71 500.54 C3.71 500.54 4.47 498.77 4.54 498.62 C4.51 498.6 4.49 498.58
+ 4.49 498.58 C4.09 498.24 3.76 497.91 3.49 497.57 C3.49 497.57 3.4 497.45 3.35 497.37 C3.19 497.44 1.39 498.14
+ 1.39 498.14 L0 494.56 C0 494.56 1.92 493.81 1.92 493.81 C1.92 493.81 1.95 493.8 1.98 493.78 C1.97 493.69
+ 1.96 493.56 1.96 493.56 L1.93 493.08 C1.93 493.08 1.96 492.48 1.97 492.34 C1.82 492.28 0.02 491.56 0.02
+ 491.56 L1.44 487.99 C1.44 487.99 3.23 488.71 3.38 488.77 C3.4 488.75 3.42 488.72 3.42 488.72 C3.77 488.27
+ 4.14 487.88 4.53 487.56 C4.53 487.56 4.56 487.54 4.58 487.52 C4.51 487.36 3.78 485.62 3.78 485.62 L7.31
+ 484.12 C7.31 484.12 8.03 485.82 8.09 485.97 C8.12 485.97 8.16 485.97 8.16 485.97 C8.72 485.89 9.28 485.88
+ 9.82 485.93 C9.82 485.93 9.85 485.94 9.88 485.94 C9.95 485.79 10.63 484.11 10.63 484.11 L14.18 485.57 C14.18
+ 485.57 13.51 487.21 13.45 487.37 C13.47 487.39 13.5 487.41 13.5 487.41 C13.99 487.8 14.4 488.18 14.73 488.6
+ C14.73 488.6 14.75 488.63 14.78 488.66 C14.93 488.59 16.54 487.93 16.54 487.93 L18 491.48 C18 491.48 16.4
+ 492.14 16.24 492.21 C16.24 492.24 16.25 492.27 16.25 492.27 C16.28 492.58 16.3 492.84 16.3 493.08 C16.3
+ 493.35 16.28 493.65 16.23 494 ZM10.62 494.98 C11.66 494.14 11.83 492.62 11 491.58 C10.17 490.54 8.65 490.37
+ 7.6 491.2 C6.56 492.03 6.39 493.56 7.23 494.6 C8.06 495.64 9.58 495.81 10.62 494.98 ZM9.5 489.57 C10.45
+ 489.67 11.29 490.14 11.88 490.88 C13.1 492.4 12.85 494.64 11.32 495.86 C10.59 496.45 9.66 496.72 8.72 496.61
+ C7.78 496.51 6.94 496.04 6.35 495.3 C5.83 494.65 5.57 493.87 5.57 493.09 C5.57 492.05 6.03 491.02 6.9 490.32
+ C7.64 489.73 8.56 489.46 9.5 489.57 Z" class="st31"/>
+ </g>
+ <g id="shape285-247" v:mID="285" v:groupContext="shape" v:layerMember="0"
+ transform="translate(409.239,795.37) rotate(139.534)">
+ <title>Curve connect 3.285</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M59.31 502.11 A35.7431 35.7431 0 0 1 -0 502.11" class="st22"/>
+ </g>
+ <g id="shape286-250" v:mID="286" v:groupContext="shape" transform="translate(199.245,-22.365)">
+ <title>Sheet.286</title>
+ <desc>PcdBootHartId</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="58.5" cy="479.61" width="117" height="45"/>
+ <rect x="0" y="457.11" width="117" height="45" class="st37"/>
+ <text x="22.73" y="482.61" class="st38" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PcdBootHartId</text> </g>
+ <g id="shape288-253" v:mID="288" v:groupContext="shape" transform="translate(199.245,-35.865)">
+ <title>Configure.288</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M16.51 495.41 C16.16 495.26 15.05 494.79 15.05 494.79 L15.12 493.86 L15.18 493.08 L15.08 491.59 L15.81 491.17
+ C15.81 491.17 16.18 491.01 16.53 490.87 C16.28 490.26 16.18 490.01 15.93 489.4 C15.58 489.54 14.42 490.02
+ 14.42 490.02 L13.85 489.3 C13.58 488.96 13.24 488.63 12.81 488.3 L12.13 487.77 L12.4 486.94 C12.4 486.94
+ 12.56 486.55 12.72 486.18 C12.11 485.93 11.86 485.83 11.25 485.58 C11.09 485.97 10.61 487.14 10.61 487.14
+ L9.71 487.05 C9.25 487.01 8.78 487.02 8.31 487.08 L7.46 487.2 L7.06 486.41 C7.06 486.41 6.88 486 6.71 485.6
+ C6.11 485.85 5.86 485.96 5.25 486.21 C5.43 486.64 5.94 487.85 5.94 487.85 L5.25 488.42 C4.92 488.69 4.62
+ 489.02 4.31 489.41 L3.8 490.08 L2.96 489.82 C2.96 489.82 2.51 489.64 2.07 489.46 C1.82 490.07 1.72 490.32
+ 1.48 490.93 C1.93 491.12 3.13 491.6 3.13 491.6 C3.13 491.6 3.06 492.97 3.05 493.08 C3.06 493.17 3.08 493.48
+ 3.08 493.49 C3.08 493.49 3.15 494.21 3.15 494.21 L2.72 494.6 C2.58 494.74 2.54 494.77 1.46 495.2 C1.69 495.81
+ 1.79 496.06 2.03 496.68 C2.48 496.5 3.74 496.01 3.74 496.01 L4.4 496.9 C4.6 497.15 4.87 497.43 5.22 497.72
+ L5.85 498.26 L5.57 499.06 C5.57 499.06 5.38 499.51 5.19 499.95 C5.79 500.21 6.04 500.32 6.64 500.58 C6.82
+ 500.17 7.34 498.96 7.34 498.96 L8.26 499.09 C8.69 499.15 9.16 499.16 9.64 499.12 L10.47 499.04 L10.84 499.81
+ C10.84 499.81 11.01 500.24 11.18 500.65 C11.79 500.4 12.04 500.3 12.65 500.06 C12.5 499.68 12.01 498.47
+ 12.01 498.47 L12.93 497.81 C13.19 497.6 13.49 497.3 13.79 496.92 L14.32 496.28 L15.14 496.55 C15.14 496.55
+ 15.53 496.72 15.89 496.87 C16.15 496.26 16.25 496.01 16.51 495.41 ZM16.23 494 C16.23 494 16.23 494.03 16.23
+ 494.06 C16.38 494.13 17.98 494.81 17.98 494.81 L16.49 498.34 C16.49 498.34 14.85 497.65 14.7 497.59 C14.68
+ 497.61 14.66 497.64 14.66 497.64 C14.31 498.07 13.96 498.42 13.59 498.72 C13.59 498.72 13.47 498.81 13.39
+ 498.86 C13.45 499.03 14.11 500.68 14.11 500.68 L10.55 502.11 C10.55 502.11 9.86 500.39 9.8 500.23 C9.77
+ 500.23 9.74 500.24 9.74 500.24 C9.17 500.29 8.61 500.27 8.1 500.2 C8.1 500.2 8.07 500.2 8.04 500.19 C7.97
+ 500.35 7.23 502.06 7.23 502.06 L3.71 500.54 C3.71 500.54 4.47 498.77 4.54 498.62 C4.51 498.6 4.49 498.58
+ 4.49 498.58 C4.09 498.24 3.76 497.91 3.49 497.57 C3.49 497.57 3.4 497.45 3.35 497.37 C3.19 497.44 1.39 498.14
+ 1.39 498.14 L0 494.56 C0 494.56 1.92 493.81 1.92 493.81 C1.92 493.81 1.95 493.8 1.98 493.78 C1.97 493.69
+ 1.96 493.56 1.96 493.56 L1.93 493.08 C1.93 493.08 1.96 492.48 1.97 492.34 C1.82 492.28 0.02 491.56 0.02
+ 491.56 L1.44 487.99 C1.44 487.99 3.23 488.71 3.38 488.77 C3.4 488.75 3.42 488.72 3.42 488.72 C3.77 488.27
+ 4.14 487.88 4.53 487.56 C4.53 487.56 4.56 487.54 4.58 487.52 C4.51 487.36 3.78 485.62 3.78 485.62 L7.31
+ 484.12 C7.31 484.12 8.03 485.82 8.09 485.97 C8.12 485.97 8.16 485.97 8.16 485.97 C8.72 485.89 9.28 485.88
+ 9.82 485.93 C9.82 485.93 9.85 485.94 9.88 485.94 C9.95 485.79 10.63 484.11 10.63 484.11 L14.18 485.57 C14.18
+ 485.57 13.51 487.21 13.45 487.37 C13.47 487.39 13.5 487.41 13.5 487.41 C13.99 487.8 14.4 488.18 14.73 488.6
+ C14.73 488.6 14.75 488.63 14.78 488.66 C14.93 488.59 16.54 487.93 16.54 487.93 L18 491.48 C18 491.48 16.4
+ 492.14 16.24 492.21 C16.24 492.24 16.25 492.27 16.25 492.27 C16.28 492.58 16.3 492.84 16.3 493.08 C16.3
+ 493.35 16.28 493.65 16.23 494 ZM10.62 494.98 C11.66 494.14 11.83 492.62 11 491.58 C10.17 490.54 8.65 490.37
+ 7.6 491.2 C6.56 492.03 6.39 493.56 7.23 494.6 C8.06 495.64 9.58 495.81 10.62 494.98 ZM9.5 489.57 C10.45
+ 489.67 11.29 490.14 11.88 490.88 C13.1 492.4 12.85 494.64 11.32 495.86 C10.59 496.45 9.66 496.72 8.72 496.61
+ C7.78 496.51 6.94 496.04 6.35 495.3 C5.83 494.65 5.57 493.87 5.57 493.09 C5.57 492.05 6.03 491.02 6.9 490.32
+ C7.64 489.73 8.56 489.46 9.5 489.57 Z" class="st31"/>
+ </g>
+ <g id="shape289-255" v:mID="289" v:groupContext="shape" v:layerMember="0"
+ transform="translate(-282.532,303.281) rotate(-72.3291)">
+ <title>Curve connect 3.289</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M44.42 502.11 A26.0213 26.0213 -180 0 0 0 502.11" class="st22"/>
+ </g>
+ <g id="shape294-258" v:mID="294" v:groupContext="shape" transform="translate(423.563,-353.085)">
+ <title>Link.294</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M10.14 499.25 a0.647526 0.647526 0 0 1 -0.64729 0.64729 L4.32 499.9 a0.647526 0.647526 0 0 1 -0.64729 -0.64729
+ a0.647526 0.647526 0 0 1 0.64729 -0.64729 L9.49 498.6 a0.647526 0.647526 0 0 1 0.64729 0.64729 ZM8.75 500.38
+ a0.860243 0.860243 -180 0 0 0.743089 0.431527 L11.65 500.82 a0.863922 0.863922 -180 0 0 0.863053 -0.863053
+ L12.51 498.66 a0.863645 0.863645 -180 0 0 -0.863053 -0.863053 L9.49 497.79 a0.860243 0.860243 -180 0 0 -0.743089
+ 0.431527 L7.38 498.23 A2.15826 2.15826 0 0 1 9.49 496.5 L11.65 496.5 A2.15759 2.15759 0 0 1 13.81 498.66
+ L13.81 499.95 A2.15759 2.15759 0 0 1 11.65 502.11 L9.49 502.11 A2.15791 2.15791 0 0 1 7.38 500.38 L8.75
+ 500.38 ZM5.06 500.38 a0.860243 0.860243 0 0 1 -0.743089 0.431527 L2.16 500.82 a0.863922 0.863922 0 0 1 -0.863053
+ -0.863053 L1.29 498.66 a0.863645 0.863645 0 0 1 0.863053 -0.863053 L4.32 497.79 a0.860243 0.860243 0 0 1
+ 0.743089 0.431527 L6.43 498.23 A2.15873 2.15873 -180 0 0 4.32 496.5 L2.16 496.5 A2.15759 2.15759 -180 0
+ 0 -0 498.66 L0 499.95 A2.15759 2.15759 -180 0 0 2.16 502.11 L4.32 502.11 A2.15791 2.15791 -180 0 0 6.43
+ 500.38 L5.06 500.38 Z" class="st31"/>
+ </g>
+ <g id="shape297-260" v:mID="297" v:groupContext="shape" v:layerMember="0" transform="translate(493.86,-373.592)">
+ <title>Bottom to top 1.297</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 502.11 L0 502.48 L31.07 502.48 L31.07 490.83" class="st22"/>
+ </g>
+ <g id="shape202-263" v:mID="202" v:groupContext="shape" transform="translate(396,-306)">
+ <title>Rounded Rectangle.202</title>
+ <desc>PeiCoreEntryPointLib</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.062500000000002):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.062500000000002):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.062500000000002):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.062500000000002):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="42.75" cy="486.36" width="85.5" height="31.5"/>
+ <path d="M4.5 502.11 L81 502.11 A4.49993 4.49993 -180 0 0 85.5 497.61 L85.5 475.11 A4.49993 4.49993 -180 0 0 81 470.61
+ L4.5 470.61 A4.49993 4.49993 -180 0 0 0 475.11 L0 497.61 A4.49993 4.49993 -180 0 0 4.5 502.11 Z"
+ class="st3"/>
+ <text x="5.58" y="483.61" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PeiCoreEntryPoint<tspan
+ x="36.87" dy="1.2em" class="st16">Lib</tspan></text> </g>
+ <g id="shape300-267" v:mID="300" v:groupContext="shape" transform="translate(481.346,-370.14)">
+ <title>Link.300</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M10.14 499.25 a0.647526 0.647526 0 0 1 -0.64729 0.64729 L4.32 499.9 a0.647526 0.647526 0 0 1 -0.64729 -0.64729
+ a0.647526 0.647526 0 0 1 0.64729 -0.64729 L9.49 498.6 a0.647526 0.647526 0 0 1 0.64729 0.64729 ZM8.75 500.38
+ a0.860243 0.860243 -180 0 0 0.743089 0.431527 L11.65 500.82 a0.863922 0.863922 -180 0 0 0.863053 -0.863053
+ L12.51 498.66 a0.863645 0.863645 -180 0 0 -0.863053 -0.863053 L9.49 497.79 a0.860243 0.860243 -180 0 0 -0.743089
+ 0.431527 L7.38 498.23 A2.15826 2.15826 0 0 1 9.49 496.5 L11.65 496.5 A2.15759 2.15759 0 0 1 13.81 498.66
+ L13.81 499.95 A2.15759 2.15759 0 0 1 11.65 502.11 L9.49 502.11 A2.15791 2.15791 0 0 1 7.38 500.38 L8.75
+ 500.38 ZM5.06 500.38 a0.860243 0.860243 0 0 1 -0.743089 0.431527 L2.16 500.82 a0.863922 0.863922 0 0 1 -0.863053
+ -0.863053 L1.29 498.66 a0.863645 0.863645 0 0 1 0.863053 -0.863053 L4.32 497.79 a0.860243 0.860243 0 0 1
+ 0.743089 0.431527 L6.43 498.23 A2.15873 2.15873 -180 0 0 4.32 496.5 L2.16 496.5 A2.15759 2.15759 -180 0
+ 0 -0 498.66 L0 499.95 A2.15759 2.15759 -180 0 0 2.16 502.11 L4.32 502.11 A2.15791 2.15791 -180 0 0 6.43
+ 500.38 L5.06 500.38 Z" class="st31"/>
+ </g>
+ <g id="shape214-269" v:mID="214" v:groupContext="shape" transform="translate(855.48,63.87) rotate(90)">
+ <title>Sheet.214</title>
+ <path d="M0 502.11 L382.35 502.11" class="st28"/>
+ </g>
+ <g id="shape211-272" v:mID="211" v:groupContext="shape" v:layerMember="0" transform="translate(310.62,-178.62)">
+ <title>Side to side 1</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow211-273" v:groupContext="shadow" v:shadowOffsetX="7.2E-008" v:shadowOffsetY="0" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-0.8325,-9.141)" class="st5">
+ <path d="M0 502.11 L19.69 502.11 L19.69 411.99 L78.23 411.99" class="st9"/>
+ </g>
+ <path d="M0 502.11 L19.69 502.11 L19.69 411.99 L78.23 411.99" class="st11"/>
+ </g>
+ <g id="shape304-284" v:mID="304" v:groupContext="shape" transform="translate(353.37,-160.74)">
+ <title>Rectangle.304</title>
+ <desc>Privilege Mode Switch</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalText="true"/>
+ <v:textRect cx="13.5" cy="363.735" width="27" height="276.75"/>
+ <g id="shadow304-285" v:groupContext="shadow" v:shadowOffsetX="-1.22021" v:shadowOffsetY="-2.74064" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-1.49021,-4.53406)" class="st5">
+ <rect x="0" y="225.36" width="27" height="276.75" class="st8"/>
+ </g>
+ <rect x="0" y="225.36" width="27" height="276.75" class="st1"/>
+ <text x="14.65" y="300.39" writing-mode="tb-rl" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Privilege Mode Switch</text> </g>
+ <g id="shape174-290" v:mID="174" v:groupContext="shape" transform="translate(353.37,-437.49)">
+ <title>Rectangle.174</title>
+ <desc>PEI</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="108" cy="486.36" width="216" height="31.5"/>
+ <rect x="0" y="470.61" width="216" height="31.5" class="st17"/>
+ <text x="98.99" y="490.56" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI</text> </g>
+ <g id="shape175-293" v:mID="175" v:groupContext="shape" transform="translate(569.37,-437.49)">
+ <title>Rectangle.175</title>
+ <desc>DXE</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="108" cy="486.36" width="216" height="31.5"/>
+ <rect x="0" y="470.61" width="216" height="31.5" class="st17"/>
+ <text x="96.32" y="490.56" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>DXE</text> </g>
+ <g id="shape306-296" v:mID="306" v:groupContext="shape" transform="translate(420.87,-21.24)">
+ <title>Sheet.306</title>
+ <desc>PcdPeiCorePrivilegeMode</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="76.5" cy="479.61" width="153" height="45"/>
+ <rect x="0" y="457.11" width="153" height="45" class="st37"/>
+ <text x="4" y="482.86" class="st39" v:langID="1033"><v:paragraph v:spLine="-1"/><v:tabList/>PcdPeiCorePrivilegeMode</text> </g>
+ <g id="shape307-299" v:mID="307" v:groupContext="shape" transform="translate(402.87,-34.74)">
+ <title>Configure.307</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M16.51 495.41 C16.16 495.26 15.05 494.79 15.05 494.79 L15.12 493.86 L15.18 493.08 L15.08 491.59 L15.81 491.17
+ C15.81 491.17 16.18 491.01 16.53 490.87 C16.28 490.26 16.18 490.01 15.93 489.4 C15.58 489.54 14.42 490.02
+ 14.42 490.02 L13.85 489.3 C13.58 488.96 13.24 488.63 12.81 488.3 L12.13 487.77 L12.4 486.94 C12.4 486.94
+ 12.56 486.55 12.72 486.18 C12.11 485.93 11.86 485.83 11.25 485.58 C11.09 485.97 10.61 487.14 10.61 487.14
+ L9.71 487.05 C9.25 487.01 8.78 487.02 8.31 487.08 L7.46 487.2 L7.06 486.41 C7.06 486.41 6.88 486 6.71 485.6
+ C6.11 485.85 5.86 485.96 5.25 486.21 C5.43 486.64 5.94 487.85 5.94 487.85 L5.25 488.42 C4.92 488.69 4.62
+ 489.02 4.31 489.41 L3.8 490.08 L2.96 489.82 C2.96 489.82 2.51 489.64 2.07 489.46 C1.82 490.07 1.72 490.32
+ 1.48 490.93 C1.93 491.12 3.13 491.6 3.13 491.6 C3.13 491.6 3.06 492.97 3.05 493.08 C3.06 493.17 3.08 493.48
+ 3.08 493.49 C3.08 493.49 3.15 494.21 3.15 494.21 L2.72 494.6 C2.58 494.74 2.54 494.77 1.46 495.2 C1.69 495.81
+ 1.79 496.06 2.03 496.68 C2.48 496.5 3.74 496.01 3.74 496.01 L4.4 496.9 C4.6 497.15 4.87 497.43 5.22 497.72
+ L5.85 498.26 L5.57 499.06 C5.57 499.06 5.38 499.51 5.19 499.95 C5.79 500.21 6.04 500.32 6.64 500.58 C6.82
+ 500.17 7.34 498.96 7.34 498.96 L8.26 499.09 C8.69 499.15 9.16 499.16 9.64 499.12 L10.47 499.04 L10.84 499.81
+ C10.84 499.81 11.01 500.24 11.18 500.65 C11.79 500.4 12.04 500.3 12.65 500.06 C12.5 499.68 12.01 498.47
+ 12.01 498.47 L12.93 497.81 C13.19 497.6 13.49 497.3 13.79 496.92 L14.32 496.28 L15.14 496.55 C15.14 496.55
+ 15.53 496.72 15.89 496.87 C16.15 496.26 16.25 496.01 16.51 495.41 ZM16.23 494 C16.23 494 16.23 494.03 16.23
+ 494.06 C16.38 494.13 17.98 494.81 17.98 494.81 L16.49 498.34 C16.49 498.34 14.85 497.65 14.7 497.59 C14.68
+ 497.61 14.66 497.64 14.66 497.64 C14.31 498.07 13.96 498.42 13.59 498.72 C13.59 498.72 13.47 498.81 13.39
+ 498.86 C13.45 499.03 14.11 500.68 14.11 500.68 L10.55 502.11 C10.55 502.11 9.86 500.39 9.8 500.23 C9.77
+ 500.23 9.74 500.24 9.74 500.24 C9.17 500.29 8.61 500.27 8.1 500.2 C8.1 500.2 8.07 500.2 8.04 500.19 C7.97
+ 500.35 7.23 502.06 7.23 502.06 L3.71 500.54 C3.71 500.54 4.47 498.77 4.54 498.62 C4.51 498.6 4.49 498.58
+ 4.49 498.58 C4.09 498.24 3.76 497.91 3.49 497.57 C3.49 497.57 3.4 497.45 3.35 497.37 C3.19 497.44 1.39 498.14
+ 1.39 498.14 L0 494.56 C0 494.56 1.92 493.81 1.92 493.81 C1.92 493.81 1.95 493.8 1.98 493.78 C1.97 493.69
+ 1.96 493.56 1.96 493.56 L1.93 493.08 C1.93 493.08 1.96 492.48 1.97 492.34 C1.82 492.28 0.02 491.56 0.02
+ 491.56 L1.44 487.99 C1.44 487.99 3.23 488.71 3.38 488.77 C3.4 488.75 3.42 488.72 3.42 488.72 C3.77 488.27
+ 4.14 487.88 4.53 487.56 C4.53 487.56 4.56 487.54 4.58 487.52 C4.51 487.36 3.78 485.62 3.78 485.62 L7.31
+ 484.12 C7.31 484.12 8.03 485.82 8.09 485.97 C8.12 485.97 8.16 485.97 8.16 485.97 C8.72 485.89 9.28 485.88
+ 9.82 485.93 C9.82 485.93 9.85 485.94 9.88 485.94 C9.95 485.79 10.63 484.11 10.63 484.11 L14.18 485.57 C14.18
+ 485.57 13.51 487.21 13.45 487.37 C13.47 487.39 13.5 487.41 13.5 487.41 C13.99 487.8 14.4 488.18 14.73 488.6
+ C14.73 488.6 14.75 488.63 14.78 488.66 C14.93 488.59 16.54 487.93 16.54 487.93 L18 491.48 C18 491.48 16.4
+ 492.14 16.24 492.21 C16.24 492.24 16.25 492.27 16.25 492.27 C16.28 492.58 16.3 492.84 16.3 493.08 C16.3
+ 493.35 16.28 493.65 16.23 494 ZM10.62 494.98 C11.66 494.14 11.83 492.62 11 491.58 C10.17 490.54 8.65 490.37
+ 7.6 491.2 C6.56 492.03 6.39 493.56 7.23 494.6 C8.06 495.64 9.58 495.81 10.62 494.98 ZM9.5 489.57 C10.45
+ 489.67 11.29 490.14 11.88 490.88 C13.1 492.4 12.85 494.64 11.32 495.86 C10.59 496.45 9.66 496.72 8.72 496.61
+ C7.78 496.51 6.94 496.04 6.35 495.3 C5.83 494.65 5.57 493.87 5.57 493.09 C5.57 492.05 6.03 491.02 6.9 490.32
+ C7.64 489.73 8.56 489.46 9.5 489.57 Z" class="st31"/>
+ </g>
+ <g id="shape309-301" v:mID="309" v:groupContext="shape" transform="translate(636.87,-23.49)">
+ <title>Sheet.309</title>
+ <desc>PcdPDxeCorePrivilegeMode</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="94.5" cy="479.61" width="189" height="45"/>
+ <rect x="0" y="457.11" width="189" height="45" class="st37"/>
+ <text x="4" y="482.86" class="st39" v:langID="1033"><v:paragraph v:spLine="-1"/><v:tabList/>PcdPDxeCorePrivilegeMode</text> </g>
+ <g id="shape310-304" v:mID="310" v:groupContext="shape" transform="translate(614.37,-36.99)">
+ <title>Configure.310</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M16.51 495.41 C16.16 495.26 15.05 494.79 15.05 494.79 L15.12 493.86 L15.18 493.08 L15.08 491.59 L15.81 491.17
+ C15.81 491.17 16.18 491.01 16.53 490.87 C16.28 490.26 16.18 490.01 15.93 489.4 C15.58 489.54 14.42 490.02
+ 14.42 490.02 L13.85 489.3 C13.58 488.96 13.24 488.63 12.81 488.3 L12.13 487.77 L12.4 486.94 C12.4 486.94
+ 12.56 486.55 12.72 486.18 C12.11 485.93 11.86 485.83 11.25 485.58 C11.09 485.97 10.61 487.14 10.61 487.14
+ L9.71 487.05 C9.25 487.01 8.78 487.02 8.31 487.08 L7.46 487.2 L7.06 486.41 C7.06 486.41 6.88 486 6.71 485.6
+ C6.11 485.85 5.86 485.96 5.25 486.21 C5.43 486.64 5.94 487.85 5.94 487.85 L5.25 488.42 C4.92 488.69 4.62
+ 489.02 4.31 489.41 L3.8 490.08 L2.96 489.82 C2.96 489.82 2.51 489.64 2.07 489.46 C1.82 490.07 1.72 490.32
+ 1.48 490.93 C1.93 491.12 3.13 491.6 3.13 491.6 C3.13 491.6 3.06 492.97 3.05 493.08 C3.06 493.17 3.08 493.48
+ 3.08 493.49 C3.08 493.49 3.15 494.21 3.15 494.21 L2.72 494.6 C2.58 494.74 2.54 494.77 1.46 495.2 C1.69 495.81
+ 1.79 496.06 2.03 496.68 C2.48 496.5 3.74 496.01 3.74 496.01 L4.4 496.9 C4.6 497.15 4.87 497.43 5.22 497.72
+ L5.85 498.26 L5.57 499.06 C5.57 499.06 5.38 499.51 5.19 499.95 C5.79 500.21 6.04 500.32 6.64 500.58 C6.82
+ 500.17 7.34 498.96 7.34 498.96 L8.26 499.09 C8.69 499.15 9.16 499.16 9.64 499.12 L10.47 499.04 L10.84 499.81
+ C10.84 499.81 11.01 500.24 11.18 500.65 C11.79 500.4 12.04 500.3 12.65 500.06 C12.5 499.68 12.01 498.47
+ 12.01 498.47 L12.93 497.81 C13.19 497.6 13.49 497.3 13.79 496.92 L14.32 496.28 L15.14 496.55 C15.14 496.55
+ 15.53 496.72 15.89 496.87 C16.15 496.26 16.25 496.01 16.51 495.41 ZM16.23 494 C16.23 494 16.23 494.03 16.23
+ 494.06 C16.38 494.13 17.98 494.81 17.98 494.81 L16.49 498.34 C16.49 498.34 14.85 497.65 14.7 497.59 C14.68
+ 497.61 14.66 497.64 14.66 497.64 C14.31 498.07 13.96 498.42 13.59 498.72 C13.59 498.72 13.47 498.81 13.39
+ 498.86 C13.45 499.03 14.11 500.68 14.11 500.68 L10.55 502.11 C10.55 502.11 9.86 500.39 9.8 500.23 C9.77
+ 500.23 9.74 500.24 9.74 500.24 C9.17 500.29 8.61 500.27 8.1 500.2 C8.1 500.2 8.07 500.2 8.04 500.19 C7.97
+ 500.35 7.23 502.06 7.23 502.06 L3.71 500.54 C3.71 500.54 4.47 498.77 4.54 498.62 C4.51 498.6 4.49 498.58
+ 4.49 498.58 C4.09 498.24 3.76 497.91 3.49 497.57 C3.49 497.57 3.4 497.45 3.35 497.37 C3.19 497.44 1.39 498.14
+ 1.39 498.14 L0 494.56 C0 494.56 1.92 493.81 1.92 493.81 C1.92 493.81 1.95 493.8 1.98 493.78 C1.97 493.69
+ 1.96 493.56 1.96 493.56 L1.93 493.08 C1.93 493.08 1.96 492.48 1.97 492.34 C1.82 492.28 0.02 491.56 0.02
+ 491.56 L1.44 487.99 C1.44 487.99 3.23 488.71 3.38 488.77 C3.4 488.75 3.42 488.72 3.42 488.72 C3.77 488.27
+ 4.14 487.88 4.53 487.56 C4.53 487.56 4.56 487.54 4.58 487.52 C4.51 487.36 3.78 485.62 3.78 485.62 L7.31
+ 484.12 C7.31 484.12 8.03 485.82 8.09 485.97 C8.12 485.97 8.16 485.97 8.16 485.97 C8.72 485.89 9.28 485.88
+ 9.82 485.93 C9.82 485.93 9.85 485.94 9.88 485.94 C9.95 485.79 10.63 484.11 10.63 484.11 L14.18 485.57 C14.18
+ 485.57 13.51 487.21 13.45 487.37 C13.47 487.39 13.5 487.41 13.5 487.41 C13.99 487.8 14.4 488.18 14.73 488.6
+ C14.73 488.6 14.75 488.63 14.78 488.66 C14.93 488.59 16.54 487.93 16.54 487.93 L18 491.48 C18 491.48 16.4
+ 492.14 16.24 492.21 C16.24 492.24 16.25 492.27 16.25 492.27 C16.28 492.58 16.3 492.84 16.3 493.08 C16.3
+ 493.35 16.28 493.65 16.23 494 ZM10.62 494.98 C11.66 494.14 11.83 492.62 11 491.58 C10.17 490.54 8.65 490.37
+ 7.6 491.2 C6.56 492.03 6.39 493.56 7.23 494.6 C8.06 495.64 9.58 495.81 10.62 494.98 ZM9.5 489.57 C10.45
+ 489.67 11.29 490.14 11.88 490.88 C13.1 492.4 12.85 494.64 11.32 495.86 C10.59 496.45 9.66 496.72 8.72 496.61
+ C7.78 496.51 6.94 496.04 6.35 495.3 C5.83 494.65 5.57 493.87 5.57 493.09 C5.57 492.05 6.03 491.02 6.9 490.32
+ C7.64 489.73 8.56 489.46 9.5 489.57 Z" class="st31"/>
+ </g>
+ <g id="shape312-306" v:mID="312" v:groupContext="shape" v:layerMember="0"
+ transform="translate(-86.4753,588.905) rotate(-105.068)">
+ <title>Curve connect 3.312</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 502.11 A249.844 249.844 0 0 1 118.78 501.53 L119.13 501.61" class="st40"/>
+ </g>
+ <g id="shape313-312" v:mID="313" v:groupContext="shape" v:layerMember="0"
+ transform="translate(1072.12,228.466) rotate(77.0054)">
+ <title>Curve connect 3.313</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M2.05 502.54 L2.4 502.62 A284.432 284.432 -180 0 0 120.07 502.11" class="st41"/>
+ </g>
+ <g id="shape315-318" v:mID="315" v:groupContext="shape" transform="translate(432.682,-219.24)">
+ <title>Rounded Rectangle.315</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="490.297" width="79.32" height="23.625"/>
+ <path d="M4.17 502.11 L75.14 502.11 A4.17427 4.17427 -180 0 0 79.31 497.94 L79.31 482.66 A4.17427 4.17427 -180 0 0 75.14
+ 478.48 L4.17 478.48 A4.17427 4.17427 -180 0 0 0 482.66 L0 497.94 A4.17427 4.17427 -180 0 0 4.17 502.11 Z"
+ class="st3"/>
+ <text x="19.79" y="493.3" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape314-321" v:mID="314" v:groupContext="shape" transform="translate(423.964,-210.24)">
+ <title>Rounded Rectangle.314</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="490.297" width="79.32" height="23.625"/>
+ <path d="M4.17 502.11 L75.14 502.11 A4.17427 4.17427 -180 0 0 79.31 497.94 L79.31 482.66 A4.17427 4.17427 -180 0 0 75.14
+ 478.48 L4.17 478.48 A4.17427 4.17427 -180 0 0 0 482.66 L0 497.94 A4.17427 4.17427 -180 0 0 4.17 502.11 Z"
+ class="st3"/>
+ <text x="19.79" y="493.3" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape318-324" v:mID="318" v:groupContext="shape" v:layerMember="0"
+ transform="translate(463.62,-186.717) scale(-1,1)">
+ <title>Bottom to top 1.318</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 478.59 L0 490.35 L24.75 490.35 L24.75 498.84" class="st25"/>
+ </g>
+ <g id="shape319-329" v:mID="319" v:groupContext="shape" transform="translate(688.058,-218.115)">
+ <title>Rounded Rectangle.319</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="490.297" width="79.32" height="23.625"/>
+ <path d="M4.17 502.11 L75.14 502.11 A4.17427 4.17427 -180 0 0 79.31 497.94 L79.31 482.66 A4.17427 4.17427 -180 0 0 75.14
+ 478.48 L4.17 478.48 A4.17427 4.17427 -180 0 0 0 482.66 L0 497.94 A4.17427 4.17427 -180 0 0 4.17 502.11 Z"
+ class="st3"/>
+ <text x="19.79" y="493.3" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape320-332" v:mID="320" v:groupContext="shape" transform="translate(679.339,-209.115)">
+ <title>Rounded Rectangle.320</title>
+ <desc>DXE Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="490.297" width="79.32" height="23.625"/>
+ <path d="M4.17 502.11 L75.14 502.11 A4.17427 4.17427 -180 0 0 79.31 497.94 L79.31 482.66 A4.17427 4.17427 -180 0 0 75.14
+ 478.48 L4.17 478.48 A4.17427 4.17427 -180 0 0 0 482.66 L0 497.94 A4.17427 4.17427 -180 0 0 4.17 502.11 Z"
+ class="st3"/>
+ <text x="17.96" y="493.3" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>DXE Driver</text> </g>
+ <g id="shape321-335" v:mID="321" v:groupContext="shape" v:layerMember="0"
+ transform="translate(718.995,-186.717) scale(-1,1)">
+ <title>Bottom to top 1.321</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 479.71 L0 490.91 L64.12 490.91 L64.12 498.84" class="st25"/>
+ </g>
+ <g id="shape325-340" v:mID="325" v:groupContext="shape" transform="translate(906.87,-268.74)">
+ <title>Sheet.325</title>
+ <g id="shadow325-341" v:groupContext="shadow" v:shadowOffsetX="7.2E-008" v:shadowOffsetY="0" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-0.135,-10.0422)" class="st5">
+ <path d="M0 502.11 L8.48 502.11" class="st9"/>
+ </g>
+ <path d="M0 502.11 L8.48 502.11" class="st11"/>
+ </g>
+ <g id="shape323-352" v:mID="323" v:groupContext="shape" transform="translate(920.37,-437.49)">
+ <title>Rectangle.323</title>
+ <desc>RT</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="38.25" cy="486.36" width="76.5" height="31.5"/>
+ <rect x="0" y="470.61" width="76.5" height="31.5" class="st17"/>
+ <text x="30.84" y="490.56" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>RT</text> </g>
+ <g id="shape220-355" v:mID="220" v:groupContext="shape" transform="translate(612.12,-248.49)">
+ <title>Sheet.220</title>
+ <desc>DXE Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="82.125" cy="484.11" width="164.25" height="36"/>
+ <rect x="0" y="466.11" width="164.25" height="36" class="st23"/>
+ <text x="57.72" y="487.36" class="st24" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>DXE Core</text> </g>
+ <g id="shape270-358" v:mID="270" v:groupContext="shape" transform="translate(798.87,-248.49)">
+ <title>Sheet.270</title>
+ <desc>BDS DXE</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="484.11" width="108" height="36"/>
+ <rect x="0" y="466.11" width="108" height="36" class="st23"/>
+ <text x="31.46" y="487.36" class="st24" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>BDS DXE</text> </g>
+ <g id="shape221-361" v:mID="221" v:groupContext="shape" transform="translate(472.057,-173.115)">
+ <title>Rounded Rectangle.221</title>
+ <desc>DXEIPL PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="490.297" width="79.32" height="23.625"/>
+ <path d="M4.17 502.11 L75.14 502.11 A4.17427 4.17427 -180 0 0 79.31 497.94 L79.31 482.66 A4.17427 4.17427 -180 0 0 75.14
+ 478.48 L4.17 478.48 A4.17427 4.17427 -180 0 0 0 482.66 L0 497.94 A4.17427 4.17427 -180 0 0 4.17 502.11 Z"
+ class="st3"/>
+ <text x="4.6" y="493.3" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>DXEIPL PEI Driver</text> </g>
+ <g id="shape208-364" v:mID="208" v:groupContext="shape" transform="translate(243.12,-162.87)">
+ <title>Rounded Rectangle.208</title>
+ <desc>OpenSBI Next Address</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="33.75" cy="486.36" width="67.5" height="31.5"/>
+ <path d="M6.75 502.11 L60.75 502.11 A6.74989 6.74989 -180 0 0 67.5 495.36 L67.5 477.36 A6.74989 6.74989 -180 0 0 60.75
+ 470.61 L6.75 470.61 A6.74989 6.74989 -180 0 0 0 477.36 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st19"/>
+ <text x="8.54" y="484.11" class="st30" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>OpenSBI Next <tspan
+ x="19.09" dy="1em" class="st16">Address</tspan></text> </g>
+ <g id="shape333-368" v:mID="333" v:groupContext="shape" v:layerMember="1" transform="translate(303.87,-385.74)">
+ <title>Data process</title>
+ <desc>Set Next Address and Mode</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="20.25" cy="481.86" width="40.5" height="40.5"/>
+ <path d="M0 481.86 A20.25 20.25 0 1 1 40.5 481.86 A20.25 20.25 0 0 1 0 481.86 Z" class="st42"/>
+ <text x="6.53" y="474.66" class="st43" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Set Next <tspan
+ x="7.22" dy="1.2em" class="st16">Address </tspan><tspan x="3.61" dy="1.2em" class="st16">and Mode</tspan></text> </g>
+ <g id="shape334-373" v:mID="334" v:groupContext="shape" v:layerMember="0" transform="translate(283.62,-405.99)">
+ <title>Directed line 1.334</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 502.11 L15.15 502.11" class="st34"/>
+ </g>
+ <g id="shape335-378" v:mID="335" v:groupContext="shape" v:layerMember="0"
+ transform="translate(824.629,156.435) rotate(94.5767)">
+ <title>Curve connect 2</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 502.11 A1081.66 1081.66 0 0 1 190.71 501.82 L191.07 501.85" class="st44"/>
+ </g>
+ <g id="shape336-384" v:mID="336" v:groupContext="shape" transform="translate(139.62,-162.87)">
+ <title>Rounded Rectangle.336</title>
+ <desc>sbi_init ()</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="33.75" cy="486.36" width="67.5" height="31.5"/>
+ <path d="M6.75 502.11 L60.75 502.11 A6.74989 6.74989 -180 0 0 67.5 495.36 L67.5 477.36 A6.74989 6.74989 -180 0 0 60.75
+ 470.61 L6.75 470.61 A6.74989 6.74989 -180 0 0 0 477.36 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st19"/>
+ <text x="16.67" y="488.61" class="st30" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>sbi_init ()</text> </g>
+ <g id="shape337-387" v:mID="337" v:groupContext="shape" v:layerMember="0" transform="translate(81.12,600.48) scale(1,-1)">
+ <title>Side to side 1.337</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow337-388" v:groupContext="shadow" v:shadowOffsetX="7.2E-008" v:shadowOffsetY="0" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-0.585,-7.791)" class="st5">
+ <path d="M0 502.11 L-11.25 502.11 L-11.25 276.99 L53.48 276.99" class="st9"/>
+ </g>
+ <path d="M0 502.11 L-11.25 502.11 L-11.25 276.99 L53.48 276.99" class="st11"/>
+ </g>
+ <g id="shape338-399" v:mID="338" v:groupContext="shape" transform="translate(-328.74,348.12) rotate(-90)">
+ <title>Sheet.338</title>
+ <path d="M0 502.11 L8.88 502.11" class="st22"/>
+ </g>
+ <g id="shape179-402" v:mID="179" v:groupContext="shape" transform="translate(81.12,-390.24)">
+ <title>Sheet.179</title>
+ <desc>SecMain</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="101.25" cy="486.36" width="202.5" height="31.5"/>
+ <rect x="0" y="470.61" width="202.5" height="31.5" class="st23"/>
+ <text x="78.7" y="489.61" class="st24" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>SecMain</text> </g>
+ <g id="shape340-405" v:mID="340" v:groupContext="shape" transform="translate(53.87,-412.74)">
+ <title>Sheet.340</title>
+ <g id="shadow340-406" v:groupContext="shadow" v:shadowOffsetX="7.2E-008" v:shadowOffsetY="0" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-0.2725,-10.0422)" class="st5">
+ <path d="M0 502.11 L22.23 502.11" class="st9"/>
+ </g>
+ <path d="M0 502.11 L22.23 502.11" class="st11"/>
+ </g>
+ <g id="shape324-417" v:mID="324" v:groupContext="shape" transform="translate(947.37,-160.74)">
+ <title>Rectangle.324</title>
+ <desc>Runtime OS</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalText="true"/>
+ <v:textRect cx="24.75" cy="363.735" width="49.5" height="276.75"/>
+ <g id="shadow324-418" v:groupContext="shadow" v:shadowOffsetX="1.83697E-016" v:shadowOffsetY="-3" v:shadowType="1"
+ v:shadowScale="1.01" transform="matrix(1.01,0,0,1.01,-0.2475,-0.63735)" class="st5">
+ <rect x="0" y="225.36" width="49.5" height="276.75" class="st8"/>
+ </g>
+ <rect x="0" y="225.36" width="49.5" height="276.75" class="st46"/>
+ <text x="25.9" y="329.4" writing-mode="tb-rl" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Runtime OS</text> </g>
+ <g id="shape342-423" v:mID="342" v:groupContext="shape" transform="translate(924.87,-121.365)">
+ <title>Rounded Rectangle.342</title>
+ <desc>SBI Implementation</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.09375):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="33.75" cy="486.36" width="67.5" height="31.5"/>
+ <path d="M6.75 502.11 L60.75 502.11 A6.74989 6.74989 -180 0 0 67.5 495.36 L67.5 477.36 A6.74989 6.74989 -180 0 0 60.75
+ 470.61 L6.75 470.61 A6.74989 6.74989 -180 0 0 0 477.36 L0 495.36 A6.74989 6.74989 -180 0 0 6.75 502.11 Z"
+ class="st19"/>
+ <text x="28.1" y="484.11" class="st30" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>SBI <tspan
+ x="4.25" dy="1em" class="st16">Implementation</tspan></text> </g>
+ <g id="shape343-427" v:mID="343" v:groupContext="shape" v:layerMember="1" transform="translate(188.966,-281.097)">
+ <title>Data process.343</title>
+ <desc>2</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="4.88" y="497.61" class="st48" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>2</text> </g>
+ <g id="shape344-430" v:mID="344" v:groupContext="shape" v:layerMember="1" transform="translate(76.4658,-358.74)">
+ <title>Data process.344</title>
+ <desc>3</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="4.88" y="497.61" class="st48" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>3</text> </g>
+ <g id="shape345-433" v:mID="345" v:groupContext="shape" v:layerMember="1" transform="translate(76.4658,-283.193)">
+ <title>Data process.345</title>
+ <desc>4</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="4.88" y="497.61" class="st48" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>4</text> </g>
+ <g id="shape347-436" v:mID="347" v:groupContext="shape" v:layerMember="1" transform="translate(299.062,-417.24)">
+ <title>Data process.347</title>
+ <desc>5</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="4.88" y="497.61" class="st48" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>5</text> </g>
+ <g id="shape348-439" v:mID="348" v:groupContext="shape" v:layerMember="1" transform="translate(360.12,-367.586)">
+ <title>Data process.348</title>
+ <desc>6</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="4.88" y="497.61" class="st48" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>6</text> </g>
+ <g id="shape349-442" v:mID="349" v:groupContext="shape" v:layerMember="1" transform="translate(387.254,-328.822)">
+ <title>Data process.349</title>
+ <desc>7</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="4.88" y="497.61" class="st48" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>7</text> </g>
+ <g id="shape350-445" v:mID="350" v:groupContext="shape" v:layerMember="1" transform="translate(389.062,-397.935)">
+ <title>Data process.350</title>
+ <desc>8</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="4.88" y="497.61" class="st48" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>8</text> </g>
+ <g id="shape351-448" v:mID="351" v:groupContext="shape" v:layerMember="1" transform="translate(483.87,-411.315)">
+ <title>Data process.351</title>
+ <desc>9</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="4.88" y="497.61" class="st48" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>9</text> </g>
+ <g id="shape352-451" v:mID="352" v:groupContext="shape" v:layerMember="1" transform="translate(384.87,-180.836)">
+ <title>Data process.352</title>
+ <desc>11</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="2.85" y="497.61" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>11</text> </g>
+ <g id="shape353-454" v:mID="353" v:groupContext="shape" v:layerMember="1" transform="translate(575.812,-367.586)">
+ <title>Data process.353</title>
+ <desc>6</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="4.88" y="497.61" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>6</text> </g>
+ <g id="shape354-457" v:mID="354" v:groupContext="shape" v:layerMember="1" transform="translate(605.062,-178.74)">
+ <title>Data process.354</title>
+ <desc>12</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="2.85" y="497.61" class="st48" v:langID="1028"><v:paragraph v:horizAlign="1"/><v:tabList/>12</text> </g>
+ <g id="shape357-460" v:mID="357" v:groupContext="shape" transform="translate(1460.73,342.495) rotate(90)">
+ <title>Sheet.357</title>
+ <path d="M0 502.11 L3.48 502.11" class="st25"/>
+ </g>
+ <g id="shape173-465" v:mID="173" v:groupContext="shape" transform="translate(56.37,-437.49)">
+ <title>Rectangle</title>
+ <desc>SEC</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="148.5" cy="486.36" width="297" height="31.5"/>
+ <rect x="0" y="470.61" width="297" height="31.5" class="st17"/>
+ <text x="138.07" y="490.56" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>SEC</text> </g>
+ <g id="shape360-468" v:mID="360" v:groupContext="shape" v:layerMember="1" transform="translate(146.096,-196.62)">
+ <title>Data process.360</title>
+ <desc>1</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="4.88" y="497.61" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text> </g>
+ <g id="shape361-471" v:mID="361" v:groupContext="shape" transform="translate(932.542,130.613) rotate(90)">
+ <title>Sheet.361</title>
+ <path d="M0 502.11 L10.55 502.11" class="st22"/>
+ </g>
+ <g id="shape362-474" v:mID="362" v:groupContext="shape" transform="translate(932.422,148.613) rotate(90)">
+ <title>Sheet.362</title>
+ <path d="M0 502.11 L10.47 502.11" class="st25"/>
+ </g>
+ <g id="shape363-479" v:mID="363" v:groupContext="shape" transform="translate(469.942,-296.31)">
+ <title>Link.363</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M10.14 499.25 a0.647526 0.647526 0 0 1 -0.64729 0.64729 L4.32 499.9 a0.647526 0.647526 0 0 1 -0.64729 -0.64729
+ a0.647526 0.647526 0 0 1 0.64729 -0.64729 L9.49 498.6 a0.647526 0.647526 0 0 1 0.64729 0.64729 ZM8.75 500.38
+ a0.860243 0.860243 -180 0 0 0.743089 0.431527 L11.65 500.82 a0.863922 0.863922 -180 0 0 0.863053 -0.863053
+ L12.51 498.66 a0.863645 0.863645 -180 0 0 -0.863053 -0.863053 L9.49 497.79 a0.860243 0.860243 -180 0 0 -0.743089
+ 0.431527 L7.38 498.23 A2.15826 2.15826 0 0 1 9.49 496.5 L11.65 496.5 A2.15759 2.15759 0 0 1 13.81 498.66
+ L13.81 499.95 A2.15759 2.15759 0 0 1 11.65 502.11 L9.49 502.11 A2.15791 2.15791 0 0 1 7.38 500.38 L8.75
+ 500.38 ZM5.06 500.38 a0.860243 0.860243 0 0 1 -0.743089 0.431527 L2.16 500.82 a0.863922 0.863922 0 0 1 -0.863053
+ -0.863053 L1.29 498.66 a0.863645 0.863645 0 0 1 0.863053 -0.863053 L4.32 497.79 a0.860243 0.860243 0 0 1
+ 0.743089 0.431527 L6.43 498.23 A2.15873 2.15873 -180 0 0 4.32 496.5 L2.16 496.5 A2.15759 2.15759 -180 0
+ 0 -0 498.66 L0 499.95 A2.15759 2.15759 -180 0 0 2.16 502.11 L4.32 502.11 A2.15791 2.15791 -180 0 0 6.43
+ 500.38 L5.06 500.38 Z" class="st31"/>
+ </g>
+ <g id="shape364-481" v:mID="364" v:groupContext="shape" v:layerMember="0"
+ transform="translate(469.942,-298.468) scale(-1,1)">
+ <title>Bottom to top 1.364</title>
+ <v:userDefs>
+ <v:ud v:nameU="TextPos" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M0 502.11 L0 502.48 L31.19 502.48 L31.19 494.58" class="st22"/>
+ </g>
+ <g id="shape365-484" v:mID="365" v:groupContext="shape" transform="translate(490.5,-319.423)">
+ <title>Rounded Rectangle.365</title>
+ <desc>PeiServiceTablePointerOpensbi</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.0625):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="36" cy="486.36" width="72" height="31.5"/>
+ <path d="M4.5 502.11 L67.5 502.11 A4.49993 4.49993 -180 0 0 72 497.61 L72 475.11 A4.49993 4.49993 -180 0 0 67.5 470.61
+ L4.5 470.61 A4.49993 4.49993 -180 0 0 0 475.11 L0 497.61 A4.49993 4.49993 -180 0 0 4.5 502.11 Z"
+ class="st3"/>
+ <text x="4.15" y="483.61" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PeiServiceTable<tspan
+ x="4.32" dy="1.2em" class="st16">PointerOpensbi</tspan></text> </g>
+ <g id="shape367-488" v:mID="367" v:groupContext="shape" v:layerMember="1" transform="translate(483.596,-341.769)">
+ <title>Data process.367</title>
+ <desc>10</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)"/>
+ <v:textRect cx="6.90421" cy="495.206" width="13.81" height="13.8084"/>
+ <path d="M0 495.21 A6.90421 6.90421 0 0 1 13.81 495.21 A6.90421 6.90421 0 1 1 0 495.21 Z" class="st47"/>
+ <text x="2.85" y="497.61" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>10</text> </g>
+ <g id="shape368-491" v:mID="368" v:groupContext="shape" transform="translate(33.39,151.187) rotate(-90)">
+ <title>Sheet.368</title>
+ <path d="M0 502.11 L30.68 502.11" class="st25"/>
+ </g>
+ </g>
+</svg>
diff --git a/Platform/RISC-V/PlatformPkg/Documents/Media/RiscVEdk2FwDomain.svg b/Platform/RISC-V/PlatformPkg/Documents/Media/RiscVEdk2FwDomain.svg
new file mode 100644
index 0000000000..e2f00e1357
--- /dev/null
+++ b/Platform/RISC-V/PlatformPkg/Documents/Media/RiscVEdk2FwDomain.svg
@@ -0,0 +1,1290 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by Microsoft Visio, SVG Export RiscVEdk2BootFwDomain.svg Page-2 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11.7533in" height="4.29333in"
+ viewBox="0 0 846.24 309.12" xml:space="preserve" color-interpolation-filters="sRGB" class="st21">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:#ffffff;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st2 {fill:#24a2ff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st3 {fill:#000000;font-family:Calibri;font-size:0.833336em}
+ .st4 {fill:#0070c0;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st5 {fill:#ffffff;font-family:Calibri;font-size:1.08334em}
+ .st6 {visibility:visible}
+ .st7 {fill:#000000;fill-opacity:0.4;filter:url(#filter_3.3333334922791);stroke:none;stroke-linecap:round;stroke-linejoin:round}
+ .st8 {fill:#e5b9b5;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st9 {fill:#f9b604;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st10 {fill:#000000;font-family:Calibri;font-size:1.16666em;font-weight:bold}
+ .st11 {fill:#92cddc;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st12 {fill:#c05046;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st13 {fill:#ffffff;font-family:Calibri;font-size:0.833336em}
+ .st14 {stroke:#000000;stroke-dasharray:5.25,3.75;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st15 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st16 {fill:#000000;font-family:Calibri;font-size:1.00001em}
+ .st17 {font-size:1em}
+ .st18 {fill:#0070c0;stroke:none;stroke-linecap:butt;stroke-width:0.75}
+ .st19 {fill:#000000;font-family:Calibri;font-size:1.08334em}
+ .st20 {fill:#c4d6a0;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st21 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Filters">
+ <filter id="filter_3.3333334922791">
+ <feGaussianBlur stdDeviation="3.3333334922791"/>
+ </filter>
+ </defs>
+ <g v:mID="4" v:index="2" v:groupContext="foregroundPage">
+ <title>Page-2</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="19" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <v:layer v:name="Connector" v:index="0"/>
+ <v:layer v:name="Flowchart" v:index="1"/>
+ <g id="shape445-1" v:mID="445" v:groupContext="shape" transform="translate(18.12,-21)">
+ <title>Box</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <rect x="0" y="39.12" width="810" height="270" class="st1"/>
+ </g>
+ <g id="group417-3" transform="translate(337.62,-107.625)" v:mID="417" v:groupContext="group">
+ <title>Sheet.417</title>
+ <g id="shape418-4" v:mID="418" v:groupContext="shape" transform="translate(128.049,-83.13)">
+ <title>Rounded Rectangle.385</title>
+ <desc>DXE Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.96" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>DXE Driver</text> </g>
+ <g id="shape419-7" v:mID="419" v:groupContext="shape" transform="translate(135.784,-38.13)">
+ <title>Rounded Rectangle.386</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape420-10" v:mID="420" v:groupContext="shape" transform="translate(127.065,-29.13)">
+ <title>Rounded Rectangle.387</title>
+ <desc>PEI Drivers</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.83" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Drivers</text> </g>
+ <g id="shape421-13" v:mID="421" v:groupContext="shape" transform="translate(33.63,-29.5725)">
+ <title>Sheet.421</title>
+ <desc>PEI Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="17.62" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PEI Core</text> </g>
+ <g id="shape422-16" v:mID="422" v:groupContext="shape" transform="translate(33.63,-83.13)">
+ <title>Sheet.422</title>
+ <desc>DXE Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="15.25" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>DXE Core</text> </g>
+ <g id="shape423-19" v:mID="423" v:groupContext="shape">
+ <title>Rectangle.390</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow423-20" v:groupContext="shadow" v:shadowOffsetX="7.2E-008" v:shadowOffsetY="0" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-2.16,-4.7424)" class="st6">
+ <rect x="0" y="165.12" width="216" height="144" class="st7"/>
+ </g>
+ <rect x="0" y="165.12" width="216" height="144" class="st8"/>
+ </g>
+ <g id="shape424-24" v:mID="424" v:groupContext="shape" transform="translate(129.094,-37.125)">
+ <title>Rounded Rectangle.391</title>
+ <desc>PEI Drivers</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.83" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Drivers</text> </g>
+ <g id="shape425-27" v:mID="425" v:groupContext="shape" transform="translate(129.094,-91.125)">
+ <title>Rounded Rectangle.392</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape426-30" v:mID="426" v:groupContext="shape" transform="translate(0,-141.75)">
+ <title>Rectangle.393</title>
+ <desc>PEI/DXE Firmware Volume</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="108" cy="293.37" width="216" height="31.5"/>
+ <rect x="0" y="277.62" width="216" height="31.5" class="st9"/>
+ <text x="30.74" y="297.57" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI/DXE Firmware Volume</text> </g>
+ <g id="shape427-33" v:mID="427" v:groupContext="shape" transform="translate(118.768,-80.88)">
+ <title>Rounded Rectangle.394</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape428-36" v:mID="428" v:groupContext="shape" transform="translate(110.049,-71.88)">
+ <title>Rounded Rectangle.395</title>
+ <desc>DXE Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.96" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>DXE Driver</text> </g>
+ <g id="shape429-39" v:mID="429" v:groupContext="shape" transform="translate(117.784,-26.88)">
+ <title>Rounded Rectangle.396</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape430-42" v:mID="430" v:groupContext="shape" transform="translate(109.065,-17.88)">
+ <title>Rounded Rectangle.397</title>
+ <desc>PEI Drivers</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.83" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Drivers</text> </g>
+ <g id="shape431-45" v:mID="431" v:groupContext="shape" transform="translate(15.63,-18.3225)">
+ <title>Sheet.431</title>
+ <desc>PEI Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="17.62" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PEI Core</text> </g>
+ <g id="shape432-48" v:mID="432" v:groupContext="shape" transform="translate(15.63,-71.88)">
+ <title>Sheet.432</title>
+ <desc>DXE Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="15.25" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>DXE Core</text> </g>
+ </g>
+ <g id="group401-51" transform="translate(316.386,-89.0625)" v:mID="401" v:groupContext="group">
+ <title>Sheet.401</title>
+ <g id="shape402-52" v:mID="402" v:groupContext="shape" transform="translate(128.049,-83.13)">
+ <title>Rounded Rectangle.385</title>
+ <desc>DXE Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.96" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>DXE Driver</text> </g>
+ <g id="shape403-55" v:mID="403" v:groupContext="shape" transform="translate(135.784,-38.13)">
+ <title>Rounded Rectangle.386</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape404-58" v:mID="404" v:groupContext="shape" transform="translate(127.065,-29.13)">
+ <title>Rounded Rectangle.387</title>
+ <desc>PEI Drivers</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.83" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Drivers</text> </g>
+ <g id="shape405-61" v:mID="405" v:groupContext="shape" transform="translate(33.63,-29.5725)">
+ <title>Sheet.405</title>
+ <desc>PEI Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="17.62" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PEI Core</text> </g>
+ <g id="shape406-64" v:mID="406" v:groupContext="shape" transform="translate(33.63,-83.13)">
+ <title>Sheet.406</title>
+ <desc>DXE Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="15.25" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>DXE Core</text> </g>
+ <g id="shape407-67" v:mID="407" v:groupContext="shape">
+ <title>Rectangle.390</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow407-68" v:groupContext="shadow" v:shadowOffsetX="7.2E-008" v:shadowOffsetY="0" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-2.16,-4.7424)" class="st6">
+ <rect x="0" y="165.12" width="216" height="144" class="st7"/>
+ </g>
+ <rect x="0" y="165.12" width="216" height="144" class="st8"/>
+ </g>
+ <g id="shape408-72" v:mID="408" v:groupContext="shape" transform="translate(129.094,-37.125)">
+ <title>Rounded Rectangle.391</title>
+ <desc>PEI Drivers</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.83" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Drivers</text> </g>
+ <g id="shape409-75" v:mID="409" v:groupContext="shape" transform="translate(129.094,-91.125)">
+ <title>Rounded Rectangle.392</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape410-78" v:mID="410" v:groupContext="shape" transform="translate(0,-141.75)">
+ <title>Rectangle.393</title>
+ <desc>PEI/DXE Firmware Volume</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="108" cy="293.37" width="216" height="31.5"/>
+ <rect x="0" y="277.62" width="216" height="31.5" class="st9"/>
+ <text x="30.74" y="297.57" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI/DXE Firmware Volume</text> </g>
+ <g id="shape411-81" v:mID="411" v:groupContext="shape" transform="translate(118.768,-80.88)">
+ <title>Rounded Rectangle.394</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape412-84" v:mID="412" v:groupContext="shape" transform="translate(110.049,-71.88)">
+ <title>Rounded Rectangle.395</title>
+ <desc>DXE Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.96" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>DXE Driver</text> </g>
+ <g id="shape413-87" v:mID="413" v:groupContext="shape" transform="translate(117.784,-26.88)">
+ <title>Rounded Rectangle.396</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape414-90" v:mID="414" v:groupContext="shape" transform="translate(109.065,-17.88)">
+ <title>Rounded Rectangle.397</title>
+ <desc>PEI Drivers</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.83" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Drivers</text> </g>
+ <g id="shape415-93" v:mID="415" v:groupContext="shape" transform="translate(15.63,-18.3225)">
+ <title>Sheet.415</title>
+ <desc>PEI Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="17.62" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PEI Core</text> </g>
+ <g id="shape416-96" v:mID="416" v:groupContext="shape" transform="translate(15.63,-71.88)">
+ <title>Sheet.416</title>
+ <desc>DXE Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="15.25" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>DXE Core</text> </g>
+ </g>
+ <g id="shape178-99" v:mID="178" v:groupContext="shape" transform="translate(38.49,-70.5)">
+ <title>Rectangle.178</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow178-100" v:groupContext="shadow" v:shadowOffsetX="7.2E-008" v:shadowOffsetY="0" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-2.4063,-4.7424)" class="st6">
+ <rect x="0" y="165.12" width="240.63" height="144" class="st7"/>
+ </g>
+ <rect x="0" y="165.12" width="240.63" height="144" class="st11"/>
+ </g>
+ <g id="shape365-104" v:mID="365" v:groupContext="shape" transform="translate(185.886,-165)">
+ <title>Rounded Rectangle.365</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0 0 75.14
+ 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17 309.12 Z"
+ class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape359-107" v:mID="359" v:groupContext="shape" transform="translate(49.62,-75)">
+ <title>Rounded Rectangle.359</title>
+ <desc>RiscVOpensbiLib</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.097802167948056):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.097802167948056):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.097802167948056):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.097802167948056):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+ <v:textRect cx="108" cy="282.12" width="216" height="54"/>
+ <path d="M7.04 309.12 L208.96 309.12 A7.04164 7.04164 -180 0 0 216 302.08 L216 262.16 A7.04164 7.04164 -180 0 0 208.96
+ 255.12 L7.04 255.12 A7.04164 7.04164 -180 0 0 0 262.16 L0 302.08 A7.04164 7.04164 -180 0 0 7.04 309.12 Z"
+ class="st2"/>
+ <text x="74.57" y="268.12" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>RiscVOpensbiLib</text> </g>
+ <g id="shape177-110" v:mID="177" v:groupContext="shape" transform="translate(64.8075,-79.62)">
+ <title>Rounded Rectangle</title>
+ <desc>OpenSBI Library (SBI Implementation)</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="97.875" cy="293.37" width="195.75" height="31.5"/>
+ <path d="M0 309.12 L195.75 309.12 L195.75 277.62 L0 277.62 L0 309.12 Z" class="st12"/>
+ <text x="21.04" y="296.37" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>OpenSBI Library (SBI Implementation)</text> </g>
+ <g id="shape213-113" v:mID="213" v:groupContext="shape" transform="translate(338.49,35.5049) rotate(90)">
+ <title>Sheet.213</title>
+ <path d="M0 309.12 L233.8 309.12" class="st14"/>
+ </g>
+ <g id="shape264-116" v:mID="264" v:groupContext="shape" transform="translate(310.62,-21)">
+ <title>Sheet.264</title>
+ <desc>PcdFirmwareDomainSize PcdFirmwareDomainBaseAddress</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="114.75" cy="286.62" width="229.5" height="45"/>
+ <rect x="0" y="264.12" width="229.5" height="45" class="st15"/>
+ <text x="54.16" y="283.62" class="st16" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PcdFirmwareDomainSize<v:lf/><tspan
+ x="32.63" dy="1em" class="st17">PcdFirmwareDomainBaseAddress</tspan></text> </g>
+ <g id="shape160-120" v:mID="160" v:groupContext="shape" transform="translate(75.495,-21)">
+ <title>Sheet.160</title>
+ <desc>PcdRootFirmwareDomainBaseAddress PcdRootFirmwareDomainSize</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="101.25" cy="286.62" width="202.5" height="45"/>
+ <rect x="0" y="264.12" width="202.5" height="45" class="st15"/>
+ <text x="7.54" y="283.62" class="st16" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PcdRootFirmwareDomainBaseAddress<v:lf/><tspan
+ x="29.06" dy="1em" class="st17">PcdRootFirmwareDomainSize</tspan></text> </g>
+ <g id="shape283-124" v:mID="283" v:groupContext="shape" transform="translate(58.62,-34.5)">
+ <title>Configure.283</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M16.51 302.42 C16.16 302.27 15.05 301.8 15.05 301.8 L15.12 300.87 L15.18 300.09 L15.08 298.6 L15.81 298.18 C15.81
+ 298.18 16.18 298.02 16.53 297.88 C16.28 297.27 16.18 297.02 15.93 296.41 C15.58 296.55 14.42 297.03 14.42
+ 297.03 L13.85 296.31 C13.58 295.97 13.24 295.64 12.81 295.31 L12.13 294.78 L12.4 293.95 C12.4 293.96 12.56
+ 293.56 12.72 293.19 C12.11 292.94 11.86 292.84 11.25 292.59 C11.09 292.98 10.61 294.15 10.61 294.15 L9.71
+ 294.06 C9.25 294.02 8.78 294.03 8.31 294.09 L7.46 294.21 L7.06 293.42 C7.06 293.42 6.88 293.01 6.71 292.61
+ C6.11 292.86 5.86 292.97 5.25 293.22 C5.43 293.65 5.94 294.86 5.94 294.86 L5.25 295.43 C4.92 295.7 4.62
+ 296.03 4.31 296.42 L3.8 297.09 L2.96 296.83 C2.96 296.83 2.51 296.65 2.07 296.47 C1.82 297.08 1.72 297.33
+ 1.48 297.94 C1.93 298.13 3.13 298.61 3.13 298.61 C3.13 298.61 3.06 299.98 3.05 300.09 C3.06 300.18 3.08
+ 300.49 3.08 300.5 C3.08 300.5 3.15 301.22 3.15 301.22 L2.72 301.61 C2.58 301.75 2.54 301.78 1.46 302.21
+ C1.69 302.82 1.79 303.07 2.03 303.69 C2.48 303.51 3.74 303.02 3.74 303.02 L4.4 303.91 C4.6 304.16 4.87 304.44
+ 5.22 304.73 L5.85 305.27 L5.57 306.07 C5.57 306.07 5.38 306.52 5.19 306.96 C5.79 307.22 6.04 307.33 6.64
+ 307.59 C6.82 307.18 7.34 305.97 7.34 305.97 L8.26 306.1 C8.69 306.16 9.16 306.17 9.64 306.13 L10.47 306.05
+ L10.84 306.82 C10.84 306.82 11.01 307.25 11.18 307.66 C11.79 307.41 12.04 307.31 12.65 307.07 C12.5 306.69
+ 12.01 305.48 12.01 305.48 L12.93 304.82 C13.19 304.61 13.49 304.31 13.79 303.93 L14.32 303.29 L15.14 303.56
+ C15.14 303.56 15.53 303.73 15.89 303.88 C16.15 303.27 16.25 303.02 16.51 302.42 ZM16.23 301.01 C16.23 301.01
+ 16.23 301.04 16.23 301.07 C16.38 301.14 17.98 301.82 17.98 301.82 L16.49 305.35 C16.49 305.35 14.85 304.66
+ 14.7 304.6 C14.68 304.62 14.66 304.65 14.66 304.65 C14.31 305.08 13.96 305.43 13.59 305.73 C13.59 305.73
+ 13.47 305.82 13.39 305.87 C13.45 306.04 14.11 307.69 14.11 307.69 L10.55 309.12 C10.55 309.12 9.86 307.4
+ 9.8 307.24 C9.77 307.24 9.74 307.25 9.74 307.25 C9.17 307.3 8.61 307.28 8.1 307.21 C8.1 307.21 8.07 307.21
+ 8.04 307.2 C7.97 307.36 7.23 309.07 7.23 309.07 L3.71 307.55 C3.71 307.55 4.47 305.78 4.54 305.63 C4.51
+ 305.61 4.49 305.59 4.49 305.59 C4.09 305.25 3.76 304.92 3.49 304.58 C3.49 304.58 3.4 304.46 3.35 304.38
+ C3.19 304.45 1.39 305.15 1.39 305.15 L0 301.57 C0 301.57 1.92 300.82 1.92 300.82 C1.92 300.82 1.95 300.81
+ 1.98 300.79 C1.97 300.7 1.96 300.57 1.96 300.57 L1.93 300.09 C1.93 300.09 1.96 299.49 1.97 299.35 C1.82
+ 299.29 0.02 298.57 0.02 298.57 L1.44 295 C1.44 295 3.23 295.72 3.38 295.78 C3.4 295.76 3.42 295.73 3.42
+ 295.73 C3.77 295.28 4.14 294.89 4.53 294.57 C4.53 294.57 4.56 294.55 4.58 294.53 C4.51 294.37 3.78 292.63
+ 3.78 292.63 L7.31 291.13 C7.31 291.13 8.03 292.83 8.09 292.98 C8.12 292.98 8.16 292.98 8.16 292.98 C8.72
+ 292.9 9.28 292.89 9.82 292.94 C9.82 292.94 9.85 292.95 9.88 292.95 C9.95 292.8 10.63 291.12 10.63 291.12
+ L14.18 292.58 C14.18 292.58 13.51 294.22 13.45 294.38 C13.47 294.4 13.5 294.42 13.5 294.42 C13.99 294.81
+ 14.4 295.19 14.73 295.61 C14.73 295.61 14.75 295.64 14.78 295.67 C14.93 295.6 16.54 294.94 16.54 294.94
+ L18 298.49 C18 298.49 16.4 299.15 16.24 299.22 C16.24 299.25 16.25 299.28 16.25 299.28 C16.28 299.59 16.3
+ 299.85 16.3 300.09 C16.3 300.36 16.28 300.66 16.23 301.01 ZM10.62 301.99 C11.66 301.15 11.83 299.63 11 298.59
+ C10.17 297.55 8.65 297.38 7.6 298.21 C6.56 299.04 6.39 300.57 7.23 301.61 C8.06 302.65 9.58 302.82 10.62
+ 301.99 ZM9.5 296.58 C10.45 296.68 11.29 297.15 11.88 297.89 C13.1 299.41 12.85 301.65 11.32 302.87 C10.59
+ 303.46 9.66 303.73 8.72 303.62 C7.78 303.52 6.94 303.05 6.35 302.31 C5.83 301.66 5.57 300.88 5.57 300.1
+ C5.57 299.06 6.03 298.03 6.9 297.33 C7.64 296.74 8.56 296.47 9.5 296.58 Z" class="st18"/>
+ </g>
+ <g id="shape284-126" v:mID="284" v:groupContext="shape" transform="translate(319.62,-34.5)">
+ <title>Configure.284</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M16.51 302.42 C16.16 302.27 15.05 301.8 15.05 301.8 L15.12 300.87 L15.18 300.09 L15.08 298.6 L15.81 298.18 C15.81
+ 298.18 16.18 298.02 16.53 297.88 C16.28 297.27 16.18 297.02 15.93 296.41 C15.58 296.55 14.42 297.03 14.42
+ 297.03 L13.85 296.31 C13.58 295.97 13.24 295.64 12.81 295.31 L12.13 294.78 L12.4 293.95 C12.4 293.96 12.56
+ 293.56 12.72 293.19 C12.11 292.94 11.86 292.84 11.25 292.59 C11.09 292.98 10.61 294.15 10.61 294.15 L9.71
+ 294.06 C9.25 294.02 8.78 294.03 8.31 294.09 L7.46 294.21 L7.06 293.42 C7.06 293.42 6.88 293.01 6.71 292.61
+ C6.11 292.86 5.86 292.97 5.25 293.22 C5.43 293.65 5.94 294.86 5.94 294.86 L5.25 295.43 C4.92 295.7 4.62
+ 296.03 4.31 296.42 L3.8 297.09 L2.96 296.83 C2.96 296.83 2.51 296.65 2.07 296.47 C1.82 297.08 1.72 297.33
+ 1.48 297.94 C1.93 298.13 3.13 298.61 3.13 298.61 C3.13 298.61 3.06 299.98 3.05 300.09 C3.06 300.18 3.08
+ 300.49 3.08 300.5 C3.08 300.5 3.15 301.22 3.15 301.22 L2.72 301.61 C2.58 301.75 2.54 301.78 1.46 302.21
+ C1.69 302.82 1.79 303.07 2.03 303.69 C2.48 303.51 3.74 303.02 3.74 303.02 L4.4 303.91 C4.6 304.16 4.87 304.44
+ 5.22 304.73 L5.85 305.27 L5.57 306.07 C5.57 306.07 5.38 306.52 5.19 306.96 C5.79 307.22 6.04 307.33 6.64
+ 307.59 C6.82 307.18 7.34 305.97 7.34 305.97 L8.26 306.1 C8.69 306.16 9.16 306.17 9.64 306.13 L10.47 306.05
+ L10.84 306.82 C10.84 306.82 11.01 307.25 11.18 307.66 C11.79 307.41 12.04 307.31 12.65 307.07 C12.5 306.69
+ 12.01 305.48 12.01 305.48 L12.93 304.82 C13.19 304.61 13.49 304.31 13.79 303.93 L14.32 303.29 L15.14 303.56
+ C15.14 303.56 15.53 303.73 15.89 303.88 C16.15 303.27 16.25 303.02 16.51 302.42 ZM16.23 301.01 C16.23 301.01
+ 16.23 301.04 16.23 301.07 C16.38 301.14 17.98 301.82 17.98 301.82 L16.49 305.35 C16.49 305.35 14.85 304.66
+ 14.7 304.6 C14.68 304.62 14.66 304.65 14.66 304.65 C14.31 305.08 13.96 305.43 13.59 305.73 C13.59 305.73
+ 13.47 305.82 13.39 305.87 C13.45 306.04 14.11 307.69 14.11 307.69 L10.55 309.12 C10.55 309.12 9.86 307.4
+ 9.8 307.24 C9.77 307.24 9.74 307.25 9.74 307.25 C9.17 307.3 8.61 307.28 8.1 307.21 C8.1 307.21 8.07 307.21
+ 8.04 307.2 C7.97 307.36 7.23 309.07 7.23 309.07 L3.71 307.55 C3.71 307.55 4.47 305.78 4.54 305.63 C4.51
+ 305.61 4.49 305.59 4.49 305.59 C4.09 305.25 3.76 304.92 3.49 304.58 C3.49 304.58 3.4 304.46 3.35 304.38
+ C3.19 304.45 1.39 305.15 1.39 305.15 L0 301.57 C0 301.57 1.92 300.82 1.92 300.82 C1.92 300.82 1.95 300.81
+ 1.98 300.79 C1.97 300.7 1.96 300.57 1.96 300.57 L1.93 300.09 C1.93 300.09 1.96 299.49 1.97 299.35 C1.82
+ 299.29 0.02 298.57 0.02 298.57 L1.44 295 C1.44 295 3.23 295.72 3.38 295.78 C3.4 295.76 3.42 295.73 3.42
+ 295.73 C3.77 295.28 4.14 294.89 4.53 294.57 C4.53 294.57 4.56 294.55 4.58 294.53 C4.51 294.37 3.78 292.63
+ 3.78 292.63 L7.31 291.13 C7.31 291.13 8.03 292.83 8.09 292.98 C8.12 292.98 8.16 292.98 8.16 292.98 C8.72
+ 292.9 9.28 292.89 9.82 292.94 C9.82 292.94 9.85 292.95 9.88 292.95 C9.95 292.8 10.63 291.12 10.63 291.12
+ L14.18 292.58 C14.18 292.58 13.51 294.22 13.45 294.38 C13.47 294.4 13.5 294.42 13.5 294.42 C13.99 294.81
+ 14.4 295.19 14.73 295.61 C14.73 295.61 14.75 295.64 14.78 295.67 C14.93 295.6 16.54 294.94 16.54 294.94
+ L18 298.49 C18 298.49 16.4 299.15 16.24 299.22 C16.24 299.25 16.25 299.28 16.25 299.28 C16.28 299.59 16.3
+ 299.85 16.3 300.09 C16.3 300.36 16.28 300.66 16.23 301.01 ZM10.62 301.99 C11.66 301.15 11.83 299.63 11 298.59
+ C10.17 297.55 8.65 297.38 7.6 298.21 C6.56 299.04 6.39 300.57 7.23 301.61 C8.06 302.65 9.58 302.82 10.62
+ 301.99 ZM9.5 296.58 C10.45 296.68 11.29 297.15 11.88 297.89 C13.1 299.41 12.85 301.65 11.32 302.87 C10.59
+ 303.46 9.66 303.73 8.72 303.62 C7.78 303.52 6.94 303.05 6.35 302.31 C5.83 301.66 5.57 300.88 5.57 300.1
+ C5.57 299.06 6.03 298.03 6.9 297.33 C7.64 296.74 8.56 296.47 9.5 296.58 Z" class="st18"/>
+ </g>
+ <g id="shape290-128" v:mID="290" v:groupContext="shape" transform="translate(589.62,-18.75)">
+ <title>Sheet.290</title>
+ <desc>PcdVariableFirmwareRegionBaseAddress PcdVariableFirmwareRegio...</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="114.75" cy="286.62" width="229.5" height="45"/>
+ <rect x="0" y="264.12" width="229.5" height="45" class="st15"/>
+ <text x="6.46" y="283.37" class="st19" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PcdVariableFirmwareRegionBaseAddress<v:lf/><tspan
+ x="29.78" dy="1em" class="st17">PcdVariableFirmwareRegionSize</tspan></text> </g>
+ <g id="shape291-132" v:mID="291" v:groupContext="shape" transform="translate(567.12,-34.5)">
+ <title>Configure.291</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <path d="M16.51 302.42 C16.16 302.27 15.05 301.8 15.05 301.8 L15.12 300.87 L15.18 300.09 L15.08 298.6 L15.81 298.18 C15.81
+ 298.18 16.18 298.02 16.53 297.88 C16.28 297.27 16.18 297.02 15.93 296.41 C15.58 296.55 14.42 297.03 14.42
+ 297.03 L13.85 296.31 C13.58 295.97 13.24 295.64 12.81 295.31 L12.13 294.78 L12.4 293.95 C12.4 293.96 12.56
+ 293.56 12.72 293.19 C12.11 292.94 11.86 292.84 11.25 292.59 C11.09 292.98 10.61 294.15 10.61 294.15 L9.71
+ 294.06 C9.25 294.02 8.78 294.03 8.31 294.09 L7.46 294.21 L7.06 293.42 C7.06 293.42 6.88 293.01 6.71 292.61
+ C6.11 292.86 5.86 292.97 5.25 293.22 C5.43 293.65 5.94 294.86 5.94 294.86 L5.25 295.43 C4.92 295.7 4.62
+ 296.03 4.31 296.42 L3.8 297.09 L2.96 296.83 C2.96 296.83 2.51 296.65 2.07 296.47 C1.82 297.08 1.72 297.33
+ 1.48 297.94 C1.93 298.13 3.13 298.61 3.13 298.61 C3.13 298.61 3.06 299.98 3.05 300.09 C3.06 300.18 3.08
+ 300.49 3.08 300.5 C3.08 300.5 3.15 301.22 3.15 301.22 L2.72 301.61 C2.58 301.75 2.54 301.78 1.46 302.21
+ C1.69 302.82 1.79 303.07 2.03 303.69 C2.48 303.51 3.74 303.02 3.74 303.02 L4.4 303.91 C4.6 304.16 4.87 304.44
+ 5.22 304.73 L5.85 305.27 L5.57 306.07 C5.57 306.07 5.38 306.52 5.19 306.96 C5.79 307.22 6.04 307.33 6.64
+ 307.59 C6.82 307.18 7.34 305.97 7.34 305.97 L8.26 306.1 C8.69 306.16 9.16 306.17 9.64 306.13 L10.47 306.05
+ L10.84 306.82 C10.84 306.82 11.01 307.25 11.18 307.66 C11.79 307.41 12.04 307.31 12.65 307.07 C12.5 306.69
+ 12.01 305.48 12.01 305.48 L12.93 304.82 C13.19 304.61 13.49 304.31 13.79 303.93 L14.32 303.29 L15.14 303.56
+ C15.14 303.56 15.53 303.73 15.89 303.88 C16.15 303.27 16.25 303.02 16.51 302.42 ZM16.23 301.01 C16.23 301.01
+ 16.23 301.04 16.23 301.07 C16.38 301.14 17.98 301.82 17.98 301.82 L16.49 305.35 C16.49 305.35 14.85 304.66
+ 14.7 304.6 C14.68 304.62 14.66 304.65 14.66 304.65 C14.31 305.08 13.96 305.43 13.59 305.73 C13.59 305.73
+ 13.47 305.82 13.39 305.87 C13.45 306.04 14.11 307.69 14.11 307.69 L10.55 309.12 C10.55 309.12 9.86 307.4
+ 9.8 307.24 C9.77 307.24 9.74 307.25 9.74 307.25 C9.17 307.3 8.61 307.28 8.1 307.21 C8.1 307.21 8.07 307.21
+ 8.04 307.2 C7.97 307.36 7.23 309.07 7.23 309.07 L3.71 307.55 C3.71 307.55 4.47 305.78 4.54 305.63 C4.51
+ 305.61 4.49 305.59 4.49 305.59 C4.09 305.25 3.76 304.92 3.49 304.58 C3.49 304.58 3.4 304.46 3.35 304.38
+ C3.19 304.45 1.39 305.15 1.39 305.15 L0 301.57 C0 301.57 1.92 300.82 1.92 300.82 C1.92 300.82 1.95 300.81
+ 1.98 300.79 C1.97 300.7 1.96 300.57 1.96 300.57 L1.93 300.09 C1.93 300.09 1.96 299.49 1.97 299.35 C1.82
+ 299.29 0.02 298.57 0.02 298.57 L1.44 295 C1.44 295 3.23 295.72 3.38 295.78 C3.4 295.76 3.42 295.73 3.42
+ 295.73 C3.77 295.28 4.14 294.89 4.53 294.57 C4.53 294.57 4.56 294.55 4.58 294.53 C4.51 294.37 3.78 292.63
+ 3.78 292.63 L7.31 291.13 C7.31 291.13 8.03 292.83 8.09 292.98 C8.12 292.98 8.16 292.98 8.16 292.98 C8.72
+ 292.9 9.28 292.89 9.82 292.94 C9.82 292.94 9.85 292.95 9.88 292.95 C9.95 292.8 10.63 291.12 10.63 291.12
+ L14.18 292.58 C14.18 292.58 13.51 294.22 13.45 294.38 C13.47 294.4 13.5 294.42 13.5 294.42 C13.99 294.81
+ 14.4 295.19 14.73 295.61 C14.73 295.61 14.75 295.64 14.78 295.67 C14.93 295.6 16.54 294.94 16.54 294.94
+ L18 298.49 C18 298.49 16.4 299.15 16.24 299.22 C16.24 299.25 16.25 299.28 16.25 299.28 C16.28 299.59 16.3
+ 299.85 16.3 300.09 C16.3 300.36 16.28 300.66 16.23 301.01 ZM10.62 301.99 C11.66 301.15 11.83 299.63 11 298.59
+ C10.17 297.55 8.65 297.38 7.6 298.21 C6.56 299.04 6.39 300.57 7.23 301.61 C8.06 302.65 9.58 302.82 10.62
+ 301.99 ZM9.5 296.58 C10.45 296.68 11.29 297.15 11.88 297.89 C13.1 299.41 12.85 301.65 11.32 302.87 C10.59
+ 303.46 9.66 303.73 8.72 303.62 C7.78 303.52 6.94 303.05 6.35 302.31 C5.83 301.66 5.57 300.88 5.57 300.1
+ C5.57 299.06 6.03 298.03 6.9 297.33 C7.64 296.74 8.56 296.47 9.5 296.58 Z" class="st18"/>
+ </g>
+ <g id="shape315-134" v:mID="315" v:groupContext="shape" transform="translate(171.261,-156)">
+ <title>Rounded Rectangle.315</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0 0 75.14
+ 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17 309.12 Z"
+ class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape314-137" v:mID="314" v:groupContext="shape" transform="translate(162.542,-147)">
+ <title>Rounded Rectangle.314</title>
+ <desc>SEC Libraries</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0 0 75.14
+ 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17 309.12 Z"
+ class="st2"/>
+ <text x="13.77" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>SEC Libraries</text> </g>
+ <g id="shape179-140" v:mID="179" v:groupContext="shape" transform="translate(58.62,-148.687)">
+ <title>Sheet.179</title>
+ <desc>SecMain</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="17.11" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>SecMain</text> </g>
+ <g id="shape173-143" v:mID="173" v:groupContext="shape" transform="translate(38.49,-214.5)">
+ <title>Rectangle</title>
+ <desc>SEC Firmware Volumn</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="120.315" cy="293.37" width="240.63" height="31.5"/>
+ <rect x="0" y="277.62" width="240.63" height="31.5" class="st9"/>
+ <text x="56.1" y="297.57" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>SEC Firmware Volumn</text> </g>
+ <g id="group400-146" transform="translate(292.62,-71.625)" v:mID="400" v:groupContext="group">
+ <title>Sheet.400</title>
+ <g id="shape385-147" v:mID="385" v:groupContext="shape" transform="translate(128.049,-83.13)">
+ <title>Rounded Rectangle.385</title>
+ <desc>DXE Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.96" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>DXE Driver</text> </g>
+ <g id="shape386-150" v:mID="386" v:groupContext="shape" transform="translate(135.784,-38.13)">
+ <title>Rounded Rectangle.386</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape387-153" v:mID="387" v:groupContext="shape" transform="translate(127.065,-29.13)">
+ <title>Rounded Rectangle.387</title>
+ <desc>PEI Drivers</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.83" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Drivers</text> </g>
+ <g id="shape388-156" v:mID="388" v:groupContext="shape" transform="translate(33.63,-29.5725)">
+ <title>Sheet.388</title>
+ <desc>PEI Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="17.62" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PEI Core</text> </g>
+ <g id="shape389-159" v:mID="389" v:groupContext="shape" transform="translate(33.63,-83.13)">
+ <title>Sheet.389</title>
+ <desc>DXE Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="15.25" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>DXE Core</text> </g>
+ <g id="shape390-162" v:mID="390" v:groupContext="shape">
+ <title>Rectangle.390</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow390-163" v:groupContext="shadow" v:shadowOffsetX="7.2E-008" v:shadowOffsetY="0" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-2.16,-4.7424)" class="st6">
+ <rect x="0" y="165.12" width="216" height="144" class="st7"/>
+ </g>
+ <rect x="0" y="165.12" width="216" height="144" class="st8"/>
+ </g>
+ <g id="shape391-167" v:mID="391" v:groupContext="shape" transform="translate(129.094,-37.125)">
+ <title>Rounded Rectangle.391</title>
+ <desc>PEI Drivers</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.83" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Drivers</text> </g>
+ <g id="shape392-170" v:mID="392" v:groupContext="shape" transform="translate(129.094,-91.125)">
+ <title>Rounded Rectangle.392</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape393-173" v:mID="393" v:groupContext="shape" transform="translate(0,-141.75)">
+ <title>Rectangle.393</title>
+ <desc>PEI/DXE Firmware Volume</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="108" cy="293.37" width="216" height="31.5"/>
+ <rect x="0" y="277.62" width="216" height="31.5" class="st9"/>
+ <text x="30.74" y="297.57" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI/DXE Firmware Volume</text> </g>
+ <g id="shape394-176" v:mID="394" v:groupContext="shape" transform="translate(118.768,-80.88)">
+ <title>Rounded Rectangle.394</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape395-179" v:mID="395" v:groupContext="shape" transform="translate(110.049,-71.88)">
+ <title>Rounded Rectangle.395</title>
+ <desc>DXE Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.96" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>DXE Driver</text> </g>
+ <g id="shape396-182" v:mID="396" v:groupContext="shape" transform="translate(117.784,-26.88)">
+ <title>Rounded Rectangle.396</title>
+ <desc>PEI Driver</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="19.79" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Driver</text> </g>
+ <g id="shape397-185" v:mID="397" v:groupContext="shape" transform="translate(109.065,-17.88)">
+ <title>Rounded Rectangle.397</title>
+ <desc>PEI Drivers</desc>
+ <v:userDefs>
+ <v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+ <v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ <v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.057976973684212):1"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="297.308" width="79.32" height="23.625"/>
+ <path d="M4.17 309.12 L75.14 309.12 A4.17427 4.17427 -180 0 0 79.31 304.95 L79.31 289.67 A4.17427 4.17427 -180 0
+ 0 75.14 285.5 L4.17 285.5 A4.17427 4.17427 -180 0 0 0 289.67 L0 304.95 A4.17427 4.17427 -180 0 0 4.17
+ 309.12 Z" class="st2"/>
+ <text x="17.83" y="300.31" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>PEI Drivers</text> </g>
+ <g id="shape398-188" v:mID="398" v:groupContext="shape" transform="translate(15.63,-18.3225)">
+ <title>Sheet.398</title>
+ <desc>PEI Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="17.62" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>PEI Core</text> </g>
+ <g id="shape399-191" v:mID="399" v:groupContext="shape" transform="translate(15.63,-71.88)">
+ <title>Sheet.399</title>
+ <desc>DXE Core</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6563" cy="289.151" width="79.32" height="39.9375"/>
+ <rect x="0" y="269.183" width="79.3125" height="39.9375" class="st4"/>
+ <text x="15.25" y="292.4" class="st5" v:langID="1033"><v:paragraph v:spLine="-1" v:horizAlign="1"/><v:tabList/>DXE Core</text> </g>
+ </g>
+ <g id="shape433-194" v:mID="433" v:groupContext="shape" transform="translate(568.808,-70.5)">
+ <title>Rectangle.433</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow433-195" v:groupContext="shadow" v:shadowOffsetX="7.2E-008" v:shadowOffsetY="0" v:shadowType="1"
+ v:shadowScale="1.02" transform="matrix(1.02,0,0,1.02,-2.41312,-4.7424)" class="st6">
+ <rect x="0" y="165.12" width="241.313" height="144" class="st7"/>
+ </g>
+ <rect x="0" y="165.12" width="241.313" height="144" class="st20"/>
+ </g>
+ <g id="shape441-199" v:mID="441" v:groupContext="shape" transform="translate(568.808,-214.5)">
+ <title>Rectangle.441</title>
+ <desc>EFI Variable</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="120.656" cy="293.37" width="241.32" height="31.5"/>
+ <rect x="0" y="277.62" width="241.313" height="31.5" class="st9"/>
+ <text x="86.32" y="297.57" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>EFI Variable</text> </g>
+ <g id="shape442-202" v:mID="442" v:groupContext="shape" transform="translate(594.99,36.3224) rotate(90)">
+ <title>Sheet.442</title>
+ <path d="M0 309.12 L233.8 309.12" class="st14"/>
+ </g>
+ <g id="shape443-205" v:mID="443" v:groupContext="shape" transform="translate(869.49,36.3224) rotate(90)">
+ <title>Sheet.443</title>
+ <path d="M0 309.12 L233.8 309.12" class="st14"/>
+ </g>
+ <g id="shape444-208" v:mID="444" v:groupContext="shape" transform="translate(1130.49,33.87) rotate(90)">
+ <title>Sheet.444</title>
+ <path d="M0 309.12 L233.8 309.12" class="st14"/>
+ </g>
+ </g>
+</svg>
--
2.31.1
next prev parent reply other threads:[~2021-10-19 9:08 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-19 8:09 [edk2-platforms][PATCH 00/30] EDK2 RISC-V port with opensbi v0.9 Abner Chang
2021-10-19 8:09 ` Abner Chang [this message]
2021-10-19 8:09 ` [edk2-platforms][PATCH 02/30] RISC-V: Add RISC-V PeiCoreEntryPoint library Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 03/30] RISC-V: Create opensbi firmware domains Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 04/30] RISC-V: Use RISC-V PeiCoreEntryPoint library Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 05/30] Platform/RISC-V: Add library to get PPI descriptor Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 06/30] Platform/U540: Provide PlatormSecPpiLib Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 07/30] Platform/RISC-V: Use PlatformSecPpiLib Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 08/30] Platform/SiFive: CoreInfoHob uses RiscVFirmwareContextLib Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 09/30] SiFive/U5SeriesPkg: Add CLINT to Device Tree Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 10/30] Platform/RISC-V: Add NULL library instance of RiscVSpecialPlatformLib Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 11/30] SiFive/U540: RiscVSpecialPlatformLib instance of U540 Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 12/30] Platform/RISC-V: Remove platform dependency from this library Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 13/30] Platform/RISC-V: Remove Null instance of OpensbilatformLibNull Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 14/30] RiscVPlatformPkg/Sec: Initial hart_index2Id array Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 15/30] RiscVPlatformPkg/OpensbiPlatformLib: Remove platform code Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 16/30] RiscVPlatformPkg/U540: Only use four harts on U540 Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 17/30] U5SeriesPkg/PeiCoreInfoHob: Remove hart count check Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 18/30] RiscVPlatformPkg/RiscVSpecialPlatformLib: Rename module name Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 19/30] RiscVPlatformPkg/U540: Add SortLib Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 20/30] ProcessorPkg/opensbi: Update opensbi library Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 21/30] RiscVPlatformPkg/Sec: Check Cold/Warm hart Abner Chang
2021-10-19 8:09 ` [edk2-platforms][PATCH 22/30] RiscVPlatformPkg/Sec: Add more comments to Secmain.c Abner Chang
2021-10-19 8:10 ` [edk2-platforms][PATCH 23/30] RiscV/ProcessorPkg: Create read mtime CSR library instances Abner Chang
2021-10-19 8:10 ` [edk2-platforms][PATCH 24/30] RiscV/ProcessorPkg: Use mtime CSR library Abner Chang
2021-10-19 8:10 ` [edk2-platforms][PATCH 25/30] Silicon/SiFive: " Abner Chang
2021-10-19 8:10 ` [edk2-platforms][PATCH 26/30] SiFive/SerialPortLib: Remove global variable Abner Chang
2021-10-19 8:10 ` [edk2-platforms][PATCH 27/30] RISC-V/PlatformPkg: Updates for the latest OpenSBI Abner Chang
2021-10-19 8:10 ` [edk2-platforms][PATCH 28/30] RiscVPlatformPkg/Sec: Separate EDK2 Opensbi platform hook Abner Chang
2021-10-19 8:10 ` [edk2-platforms][PATCH 29/30] RISC-V/PlatformPkg: Determine hart number from DTB Abner Chang
2021-10-19 8:10 ` [edk2-platforms][PATCH 30/30] Silicon/RISC-V: Add PciCpuIoDxe driver Abner Chang
2021-11-09 4:26 ` [edk2-platforms][PATCH 00/30] EDK2 RISC-V port with opensbi v0.9 Daniel Schaefer
2021-11-09 10:06 ` Sunil V L
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211019081007.31165-2-abner.chang@hpe.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox