[edk2-devel] [edk2-redfish-client][PATCH] RedfishClientPkg: update Readme.md

Nickle Wang via groups.io posted 1 patch 7 months, 2 weeks ago
Failed in applying to current master (apply log)
There is a newer version of this series
.../redfish-call-flow-pending-settings.svg    |  58 ++++++
.../Media/redfish-call-flow-provisioning.svg  |  46 +++++
.../redfish-feature-driver-call-flow.svg      | 133 ++++++++++++++
.../Media/redfish-foundation-driver-stack.svg |  75 ++++++++
...redfish-platform-config-protocol-stack.svg |  99 ++++++++++
.../Media/redfish-synchronization-design.svg  |  75 ++++++++
RedfishClientPkg/Readme.md                    | 169 ++++++++++++++++--
7 files changed, 640 insertions(+), 15 deletions(-)
create mode 100755 RedfishClientPkg/Documents/Media/redfish-call-flow-pending-settings.svg
create mode 100755 RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg
create mode 100755 RedfishClientPkg/Documents/Media/redfish-feature-driver-call-flow.svg
create mode 100755 RedfishClientPkg/Documents/Media/redfish-foundation-driver-stack.svg
create mode 100755 RedfishClientPkg/Documents/Media/redfish-platform-config-protocol-stack.svg
create mode 100755 RedfishClientPkg/Documents/Media/redfish-synchronization-design.svg
[edk2-devel] [edk2-redfish-client][PATCH] RedfishClientPkg: update Readme.md
Posted by Nickle Wang via groups.io 7 months, 2 weeks ago
Update readme for below topics:
- The call flow of BIOS Redfish provisioning scenario.
- The call flow of BIOS Redfish pending settings scenario.
- The call flow of Redfish feature driver dispatch.
- Redfish foundation driver stack design.
- The design of Redfish Platform Config Protocol.
- The design of synchronization between BIOS and Redfish service.

Signed-off-by: Nickle Wang <nicklew@nvidia.com>
Cc: Abner Chang <abner.chang@amd.com>
Cc: Igor Kulchytskyy <igork@ami.com>
---
 .../redfish-call-flow-pending-settings.svg    |  58 ++++++
 .../Media/redfish-call-flow-provisioning.svg  |  46 +++++
 .../redfish-feature-driver-call-flow.svg      | 133 ++++++++++++++
 .../Media/redfish-foundation-driver-stack.svg |  75 ++++++++
 ...redfish-platform-config-protocol-stack.svg |  99 ++++++++++
 .../Media/redfish-synchronization-design.svg  |  75 ++++++++
 RedfishClientPkg/Readme.md                    | 169 ++++++++++++++++--
 7 files changed, 640 insertions(+), 15 deletions(-)
 create mode 100755 RedfishClientPkg/Documents/Media/redfish-call-flow-pending-settings.svg
 create mode 100755 RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg
 create mode 100755 RedfishClientPkg/Documents/Media/redfish-feature-driver-call-flow.svg
 create mode 100755 RedfishClientPkg/Documents/Media/redfish-foundation-driver-stack.svg
 create mode 100755 RedfishClientPkg/Documents/Media/redfish-platform-config-protocol-stack.svg
 create mode 100755 RedfishClientPkg/Documents/Media/redfish-synchronization-design.svg

diff --git a/RedfishClientPkg/Documents/Media/redfish-call-flow-pending-settings.svg b/RedfishClientPkg/Documents/Media/redfish-call-flow-pending-settings.svg
new file mode 100755
index 00000000..155a5ab3
--- /dev/null
+++ b/RedfishClientPkg/Documents/Media/redfish-call-flow-pending-settings.svg
@@ -0,0 +1,58 @@
+<svg width="4414" height="1709" style="background-color:white" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" overflow="hidden">
+  <defs>
+    <clipPath id="clip0">
+      <rect x="12" y="509" width="4414" height="1709"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#clip0)" transform="translate(-12 -509)">
+    <rect x="2057.5" y="676.5" width="557" height="128" stroke="#BCBCBC" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#FFFFFF"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 2143.23 758)">Feature Driver</text>
+    <rect x="600.5" y="676.5" width="557" height="128" stroke="#BCBCBC" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#FFFFFF"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 763.66 758)">EDK2 HII</text>
+    <rect x="3408.5" y="676.5" width="587" height="128" stroke="#BCBCBC" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#FFFFFF"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 3499.14 758)">Redfish Service</text>
+    <path d="M2338.94 804.5 2338.94 2102.76 2332.06 2102.76 2332.06 804.5ZM2354.51 2076.99 2335.5 2109.58 2316.49 2076.99C2315.53 2075.35 2316.09 2073.25 2317.73 2072.29 2319.37 2071.34 2321.47 2071.89 2322.43 2073.53L2338.47 2101.03 2332.53 2101.03 2348.57 2073.53C2349.53 2071.89 2351.63 2071.34 2353.27 2072.29 2354.91 2073.25 2355.47 2075.35 2354.51 2076.99Z" fill="#8C8C8C"/>
+    <path d="M871.938 804.5 871.938 2127.85 865.063 2127.85 865.063 804.5ZM887.511 2102.08 868.501 2134.67 849.49 2102.08C848.533 2100.44 849.087 2098.34 850.727 2097.38 852.367 2096.43 854.471 2096.98 855.428 2098.62L871.47 2126.12 865.531 2126.12 881.573 2098.62C882.53 2096.98 884.634 2096.43 886.274 2097.38 887.914 2098.34 888.468 2100.44 887.511 2102.08Z" fill="#8C8C8C"/>
+    <path d="M3710.94 804.5 3710.94 2127.85 3704.06 2127.85 3704.06 804.5ZM3726.51 2102.08 3707.5 2134.67 3688.49 2102.08C3687.53 2100.44 3688.09 2098.34 3689.73 2097.38 3691.37 2096.43 3693.47 2096.98 3694.43 2098.62L3710.47 2126.12 3704.53 2126.12 3720.57 2098.62C3721.53 2096.98 3723.63 2096.43 3725.27 2097.38 3726.91 2098.34 3727.47 2100.44 3726.51 2102.08Z" fill="#8C8C8C"/>
+    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2335.45 1342)"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 990.014 1568)">3</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1016.37 1568)">. If </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1098.29 1568)">HII question exists and pending value is changed</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1051.89 1628)">Use HII protocol/library to submit new value</text>
+    <path d="M1444.91 1252 1719.91 1252 1719.91 1311 1444.91 1311Z" fill="#FFFF00" fill-rule="evenodd"/>
+    <path d="M1719.91 1252 1844.23 1252 1844.23 1311 1719.91 1311Z" fill="#FFFF00" fill-rule="evenodd"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 990.014 1239)">2. Check and see if there is HII question with lang:</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1051.89 1299)">/</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1078.24 1299)">bios/attributes/</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1444.91 1299)">ATTRIBUTE_</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1719.91 1299)">NAME</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2378.69 1805)">4. Update current settings to </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2440.56 1865)">/redfish/v1/systems/SYS/Bios </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 3138.38 1865)">(provisioning)</text>
+    <path d="M2335 1079.14 3678.02 1079.14 3678.02 1084.87 2335 1084.86ZM3673.43 1068.25 3700.93 1082 3673.43 1095.75Z" fill="#8C8C8C"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2393.47 968)">1. Use </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2549.88 968)">HTTP “GUT” to download pending settings from</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2455.35 1028)">/redfish</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2638.11 1028)">/v1/systems/SYS/Bios/Settings</text>
+    <path d="M2335 1901.14 3678.02 1901.14 3678.02 1906.86 2335 1906.86ZM3673.43 1890.25 3700.93 1904 3673.43 1917.75Z" fill="#8C8C8C"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2151.86 2175)">6. </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2212.01 2175)">System reboot</text>
+    <rect x="298.5" y="959.5" width="377" height="199" stroke="#CDCDCD" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#404040"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 347.29 1046)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 413.749 1105)">driver</text>
+    <rect x="353.5" y="1014.5" width="377" height="199" stroke="#CDCDCD" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#404040"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 402.29 1101)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 468.749 1160)">driver</text>
+    <rect x="408.5" y="1069.5" width="377" height="199" stroke="#CDCDCD" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#404040"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 457.29 1156)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 523.749 1215)">driver</text>
+    <rect x="463.5" y="1124.5" width="377" height="199" stroke="#CDCDCD" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#404040"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 512.29 1211)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 578.749 1270)">driver</text>
+    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2341.45 1666)"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="83" transform="matrix(1 0 0 1 62.1854 611)">Consume pending </text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="83" transform="matrix(1 0 0 1 687.237 611)">settings:</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="50" transform="matrix(1 0 0 1 62.1854 680)">BMC to BIOS</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 3715.21 1979)">5. BMC reset pending settings</text>
+  </g>
+</svg>
diff --git a/RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg b/RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg
new file mode 100755
index 00000000..70556152
--- /dev/null
+++ b/RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg
@@ -0,0 +1,46 @@
+<svg width="3803" height="1724" style="background-color:white" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" overflow="hidden">
+  <defs>
+    <clipPath id="clip0">
+      <rect x="239" y="507" width="3803" height="1724"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#clip0)" transform="translate(-239 -507)">
+    <rect x="2101.5" y="726.5" width="557" height="127" stroke="#BCBCBC" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#FFFFFF"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 2187.7 807)">Feature Driver</text>
+    <rect x="644.5" y="726.5" width="557" height="127" stroke="#BCBCBC" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#FFFFFF"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 808.129 807)">EDK2 HII</text>
+    <rect x="3452.5" y="726.5" width="587" height="127" stroke="#BCBCBC" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#FFFFFF"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 3543.6 807)">Redfish Service</text>
+    <path d="M2383.94 853.5 2383.94 2188.56 2377.06 2188.56 2377.06 853.5ZM2399.51 2162.79 2380.5 2195.38 2361.49 2162.79C2360.53 2161.15 2361.09 2159.04 2362.73 2158.08 2364.37 2157.13 2366.47 2157.68 2367.43 2159.32L2383.47 2186.82 2377.53 2186.82 2393.57 2159.32C2394.53 2157.68 2396.63 2157.13 2398.27 2158.08 2399.91 2159.04 2400.47 2161.15 2399.51 2162.79Z" fill="#8C8C8C"/>
+    <path d="M915.938 853.5 915.938 2188.56 909.063 2188.56 909.063 853.5ZM931.511 2162.79 912.501 2195.38 893.49 2162.79C892.533 2161.15 893.087 2159.04 894.727 2158.08 896.367 2157.13 898.471 2157.68 899.428 2159.32L915.47 2186.82 909.531 2186.82 925.573 2159.32C926.53 2157.68 928.634 2157.13 930.274 2158.08 931.914 2159.04 932.468 2161.15 931.511 2162.79Z" fill="#8C8C8C"/>
+    <path d="M3754.94 853.5 3754.94 2188.56 3748.06 2188.56 3748.06 853.5ZM3770.51 2162.79 3751.5 2195.38 3732.49 2162.79C3731.53 2161.15 3732.09 2159.04 3733.73 2158.08 3735.37 2157.13 3737.47 2157.68 3738.43 2159.32L3754.47 2186.82 3748.53 2186.82 3764.57 2159.32C3765.53 2157.68 3767.63 2157.13 3769.27 2158.08 3770.91 2159.04 3771.47 2161.15 3770.51 2162.79Z" fill="#8C8C8C"/>
+    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2379.45 1003)"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 957.259 969)">1. Find all HII questions with </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1620.12 969)">language: </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="50" transform="matrix(1 0 0 1 1854.45 969)">“/bios/attributes/*</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2292.73 969)">” </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 985.955 1526)">3. Get current value of each HII question and</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1047.83 1586)">append value to attribute list</text>
+    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2379.45 1391)"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2417.95 1202)">2. Follow Bios schema and </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2479.82 1262)">create attribute list</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2412.63 1795)">4. BIOS current settings is ready</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2474.5 1855)">Issue HTTP “PUT” to /redfish/v1/systems/SYS/Bios</text>
+    <path d="M2385 1906.14 3728.02 1906.14 3728.02 1911.86 2385 1911.86ZM3723.43 1895.25 3750.93 1909 3723.43 1922.75Z" fill="#8C8C8C"/>
+    <rect x="342.5" y="1008.5" width="377" height="199" stroke="#CDCDCD" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#404040"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 391.759 1095)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 458.217 1154)">driver</text>
+    <rect x="397.5" y="1063.5" width="377" height="199" stroke="#CDCDCD" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#404040"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 446.759 1150)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 513.217 1209)">driver</text>
+    <rect x="452.5" y="1118.5" width="377" height="199" stroke="#CDCDCD" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#404040"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 501.759 1205)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 568.217 1264)">driver</text>
+    <rect x="507.5" y="1173.5" width="377" height="199" stroke="#CDCDCD" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="#404040"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 556.759 1260)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 623.217 1319)">driver</text>
+    <path d="M22.9158-2.86458 1467.45-2.86422 1467.45 2.86494 22.9158 2.86459ZM27.5 13.75 0 0 27.5-13.75Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2379.45 1453)"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="83" transform="matrix(1 0 0 1 289.433 610)">Provisioning:</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="50" transform="matrix(1 0 0 1 289.433 679)">BIOS to BMC</text>
+  </g>
+</svg>
diff --git a/RedfishClientPkg/Documents/Media/redfish-feature-driver-call-flow.svg b/RedfishClientPkg/Documents/Media/redfish-feature-driver-call-flow.svg
new file mode 100755
index 00000000..acea6b44
--- /dev/null
+++ b/RedfishClientPkg/Documents/Media/redfish-feature-driver-call-flow.svg
@@ -0,0 +1,133 @@
+<svg width="4287" height="2303" style="background-color:white" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" overflow="hidden">
+  <defs>
+    <clipPath id="clip0">
+      <rect x="29" y="171" width="4287" height="2303"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#clip0)" transform="translate(-29 -171)">
+    <rect x="33" y="171" width="1544" height="436" fill="#F2F2F2"/>
+    <path d="M3300 305.835C3300 231.368 3360.37 171 3434.84 171L3974.16 171C4048.63 171 4109 231.368 4109 305.835L4109 1758.16C4109 1832.63 4048.63 1893 3974.16 1893L3434.84 1893C3360.37 1893 3300 1832.63 3300 1758.16Z" fill="#E8E8E8" fill-rule="evenodd"/>
+    <path d="M616 846C616 827.222 631.223 812 650.001 812L1142 812C1160.78 812 1176 827.222 1176 846L1176 982C1176 1000.78 1160.78 1016 1142 1016L650.001 1016C631.223 1016 616 1000.78 616 982Z" fill="#76B900" fill-rule="evenodd"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 703.081 901)">Redfish Feature </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 756.935 960)">Core Driver</text>
+    <rect x="30.5001" y="635.5" width="797" height="144" stroke="#000000" stroke-width="3.4375" stroke-linejoin="round" stroke-miterlimit="10" fill="none"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 63.3886 702)">Event driven</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1 63.3886 751)">PcdEdkIIRedfishFeatureDriverStartupEventGuid</text>
+    <path d="M0.11336-2.86234 6.42586-2.61234 12.9907-1.77865 19.4637-0.428434 25.9229 1.43627 32.3153 3.81669 38.6329 6.70925 44.8331 9.96451 50.9302 13.6801 56.9417 17.8314 62.8126 22.3572 68.5498 27.2608 74.153 32.5411 84.7977 44.1253 94.8188 56.9226 104.013 70.7936 112.257 85.6759 119.538 101.424 125.742 117.799 130.688 134.762 134.365 152.159 135.732 164.561 130.036 165.182 128.76 153.341 125.187 136.363 120.383 119.826 114.337 103.826 107.243 88.4491 99.2365 73.9564 90.3062 60.4524 80.5773 47.9997 70.222 36.7089 64.8252 31.6142 59.3124 26.8928 53.6833 22.5436 47.9448 18.5699 42.1669 15.0355 36.2421 11.9158 30.3096 9.1833 24.3271 6.93873 18.2863 5.17843 12.2593 3.90365 6.19914 3.11234-0.11336 2.86234ZM146.247 159.259 134.621 187.722 118.826 161.343Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16 429 779)"/>
+    <rect x="33.4998" y="1065.5" width="727" height="177" stroke="#BCBCBC" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#FFFFFF"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 65.7033 1129)">Ready</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 206.641 1129)">-</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 223.255 1129)">to</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 271.953 1129)">-</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 288.568 1129)">Provision Signal</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1 65.7033 1173)">gEfiRedfishClientFeatureReadyToProvisionin</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1 65.7033 1213)">gGuid</text>
+    <rect x="33.4998" y="2310.5" width="727" height="144" stroke="#BCBCBC" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#FFFFFF"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 65.7037 2358)">After</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 182.006 2358)">-</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 198.62 2358)">Provision Signal</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1 65.7037 2402)">gEfiRedfishClientFeatureAfterProvisioningG</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1 65.7037 2442)">uid</text>
+    <path d="M898.61 1016 898.61 1153.86C898.61 1155.44 897.327 1156.72 895.745 1156.72L782.917 1156.72 782.917 1150.99 895.745 1150.99 892.881 1153.86 892.881 1016ZM787.5 1167.61 760 1153.86 787.5 1140.11Z" fill="#8C8C8C"/>
+    <path d="M898.61 1016 898.61 2382.49C898.61 2384.08 897.327 2385.36 895.745 2385.36L782.917 2385.36 782.917 2379.63 895.745 2379.63 892.881 2382.49 892.881 1016ZM787.5 2396.24 760 2382.49 787.5 2368.74Z" fill="#8C8C8C"/>
+    <path d="M1192.5 1194.67C1192.5 1181.32 1203.32 1170.5 1216.67 1170.5L1690.33 1170.5C1703.68 1170.5 1714.5 1181.32 1714.5 1194.67L1714.5 1291.33C1714.5 1304.68 1703.68 1315.5 1690.33 1315.5L1216.67 1315.5C1203.32 1315.5 1192.5 1304.68 1192.5 1291.33Z" stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1313.38 1258)">Service Root</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="48" transform="matrix(1 0 0 1 1192.27 1131)">/redfish/v1</text>
+    <path d="M0-2.86458 226.791-2.86458C228.373-2.86458 229.656-1.58207 229.656 0L229.656 273.147 223.927 273.147 223.927 0 226.791 2.86458 0 2.86458ZM240.541 268.564 226.791 296.064 213.041 268.564Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16 896 1016)"/>
+    <path d="M1629.5 1428.67C1629.5 1415.32 1640.32 1404.5 1653.67 1404.5L2126.33 1404.5C2139.68 1404.5 2150.5 1415.32 2150.5 1428.67L2150.5 1525.33C2150.5 1538.68 2139.68 1549.5 2126.33 1549.5L1653.67 1549.5C1640.32 1549.5 1629.5 1538.68 1629.5 1525.33Z" stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1681.69 1462)">ComputerSystemC</text>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1792.26 1521)">ollection</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="48" transform="matrix(1 0 0 1 1626.06 1376)">/redfish/v1/Systems</text>
+    <path d="M0-2.86458 460.879-2.86458C462.461-2.86458 463.743-1.58207 463.743 0L463.743 709.637 458.014 709.637 458.014 0 460.879 2.86458 0 2.86458ZM474.629 705.053 460.879 732.553 447.129 705.053Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16 896 1016)"/>
+    <path d="M2512.5 1427.5C2512.5 1414.25 2523.25 1403.5 2536.5 1403.5L3009.5 1403.5C3022.75 1403.5 3033.5 1414.25 3033.5 1427.5L3033.5 1523.5C3033.5 1536.75 3022.75 1547.5 3009.5 1547.5L2536.5 1547.5C2523.25 1547.5 2512.5 1536.75 2512.5 1523.5Z" stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 2579.22 1490)">ComputerSystem</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="48" transform="matrix(1 0 0 1 2510.53 1371)">/redfish/v1/Systems/SYS</text>
+    <path d="M0.0107384-2.86456 338.69-1.59496 338.668 4.13417-0.0107384 2.86456ZM334.147-12.4975 361.595 1.35551 334.044 15.0023Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 2150 1476.36)"/>
+    <path d="M1889.5 1748.67C1889.5 1735.32 1900.32 1724.5 1913.67 1724.5L2387.33 1724.5C2400.68 1724.5 2411.5 1735.32 2411.5 1748.67L2411.5 1845.33C2411.5 1858.68 2400.68 1869.5 2387.33 1869.5L1913.67 1869.5C1900.32 1869.5 1889.5 1858.68 1889.5 1845.33Z" stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 2103.34 1812)">Bios</text>
+    <path d="M0-2.86458 780.807-2.86458C782.389-2.86458 783.672-1.58207 783.672 0L783.672 970.304 777.943 970.304 777.943 0 780.807 2.86458 0 2.86458ZM794.557 965.718 780.807 993.218 767.057 965.718Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16 896 1016)"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="48" transform="matrix(1 0 0 1 1894.92 1693)">/redfish/v1/Systems/SYS/Bios</text>
+    <path d="M2053.5 2040.5C2053.5 2027.25 2064.25 2016.5 2077.5 2016.5L2551.5 2016.5C2564.75 2016.5 2575.5 2027.25 2575.5 2040.5L2575.5 2136.5C2575.5 2149.75 2564.75 2160.5 2551.5 2160.5L2077.5 2160.5C2064.25 2160.5 2053.5 2149.75 2053.5 2136.5Z" stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 2106.47 2103)">MemoryCollection</text>
+    <path d="M0-2.86458 1072.19-2.86458C1073.77-2.86458 1075.05-1.58207 1075.05 0L1075.05 1134.13 1069.33 1134.13 1069.33 0 1072.19 2.86458 0 2.86458ZM1085.94 1129.55 1072.19 1157.05 1058.44 1129.55Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16 896 1016)"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="48" transform="matrix(1 0 0 1 2062.37 1981)">/redfish/v1/Systems/SYS/Memory</text>
+    <path d="M2920.5 2040.5C2920.5 2027.25 2931.25 2016.5 2944.5 2016.5L3418.5 2016.5C3431.75 2016.5 3442.5 2027.25 3442.5 2040.5L3442.5 2136.5C3442.5 2149.75 3431.75 2160.5 3418.5 2160.5L2944.5 2160.5C2931.25 2160.5 2920.5 2149.75 2920.5 2136.5Z" stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 3085.32 2103)">Memory</text>
+    <path d="M2.98962e-06-2.86458 322.881-2.86425 322.881 2.86492-2.98962e-06 2.86458ZM318.298-13.7497 345.798 0.000360892 318.298 13.7503Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 2575 2088)"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="183" transform="matrix(1 0 0 1 2263.52 2245)">…</text>
+    <path d="M3371.5 822.5C3371.5 809.245 3382.25 798.5 3395.5 798.5L4017.5 798.5C4030.75 798.5 4041.5 809.245 4041.5 822.5L4041.5 918.5C4041.5 931.755 4030.75 942.5 4017.5 942.5L3395.5 942.5C3382.25 942.5 3371.5 931.755 3371.5 918.5Z" stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 3657.66 885)">Bios</text>
+    <rect x="3371" y="601" width="670" height="144" fill="#008564"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 3486.36 688)">Redfish foundation</text>
+    <rect x="3371" y="218" width="670" height="145" fill="#5E5E5E"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 3474.33 306)">BMC Redfish service</text>
+    <path d="M2.86458-1.95531e-05 2.86479 29.9551-2.86438 29.9552-2.86458 1.95531e-05ZM13.7502 25.3717 0.000360892 52.8718-13.7498 25.3719Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 3706 797.872)"/>
+    <path d="M2.86456-0.0103569 2.94628 22.59-2.78285 22.6107-2.86456 0.0103569ZM13.8151 17.9673 0.164567 45.5168-13.6848 18.0667Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 3706 600.517)"/>
+    <rect x="3371" y="981" width="670" height="145" fill="#0071C5"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 3434.8 1069)">Redfish Platform Config</text>
+    <rect x="3374" y="1304" width="670" height="144" fill="#8C8C8C"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 3610.58 1391)">EDK2 HII</text>
+    <rect x="3377" y="1483" width="670" height="145" fill="#890C58"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 3552.42 1571)">Chipset driver</text>
+    <rect x="3377" y="1666" width="670" height="144" fill="#5D1682"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 3670.44 1753)">HW</text>
+    <path d="M3708.86 942 3708.86 958.191 3703.14 958.191 3703.14 942ZM3719.75 953.607 3706 981.107 3692.25 953.608Z" fill="#8C8C8C"/>
+    <path d="M3708.86 1125.94 3712.02 1280.79 3706.29 1280.9 3703.14 1126.06ZM3722.81 1275.98 3709.62 1303.76 3695.31 1276.54Z" fill="#8C8C8C"/>
+    <path d="M3711.86 1447.79 3712.77 1460.37 3707.05 1460.78 3706.14 1448.21ZM3723.29 1455.01 3711.57 1483.43 3695.87 1457Z" fill="#8C8C8C"/>
+    <path d="M3714.86 1628 3714.86 1643.16 3709.14 1643.16 3709.14 1628ZM3725.75 1638.57 3712 1666.07 3698.25 1638.57Z" fill="#8C8C8C"/>
+    <rect x="3371" y="411" width="670" height="144" fill="#0071C5" fill-opacity="0.501961"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 3606.27 498)">Network</text>
+    <path d="M3703.3 411.234 3703.21 385.926 3708.94 385.907 3709.03 411.215ZM3692.34 390.547 3706 363 3719.84 390.453Z" fill="#8C8C8C"/>
+    <path d="M0-2.86458 22.9167-2.86458 22.9167 2.86458 0 2.86458ZM40.1042-2.86458 63.0208-2.86458 63.0208 2.86458 40.1042 2.86458ZM80.2083-2.86458 103.125-2.86458 103.125 2.86458 80.2083 2.86458ZM120.312-2.86458 143.229-2.86458 143.229 2.86458 120.312 2.86458ZM160.417-2.86458 183.333-2.86458 183.333 2.86458 160.417 2.86458ZM200.521-2.86458 223.438-2.86458 223.438 2.86458 200.521 2.86458ZM240.625-2.86458 263.542-2.86458 263.542 2.86458 240.625 2.86458ZM280.729-2.86458 303.646-2.86458 303.646 2.86458 280.729 2.86458ZM320.833-2.86458 343.75-2.86458 343.75 2.86458 320.833 2.86458ZM360.938-2.86458 383.854-2.86458 383.854 2.86458 360.938 2.86458ZM401.042-2.86458 423.958-2.86458 423.958 2.86458 401.042 2.86458ZM441.146-2.86458 464.062-2.86458 464.062 2.86458 441.146 2.86458ZM481.25-2.86458 504.167-2.86458 504.167 2.86458 481.25 2.86458ZM521.354-2.86458 544.271-2.86458 544.271 2.86458 521.354 2.86458ZM561.458-2.86458
+ 584.375-2.86458 584.375 2.86458 561.458 2.86458ZM601.562-2.86458 624.479-2.86458 624.479 2.86458 601.562 2.86458ZM641.667-2.86458 664.583-2.86458 664.583 2.86458 641.667 2.86458ZM681.771-2.86458 704.688-2.86458 704.688 2.86458 681.771 2.86458ZM721.875-2.86458 744.52-2.86458C746.102-2.86458 747.385-1.58207 747.385 0L747.385 0.271391 741.656 0.271391 741.656 0 744.52 2.86458 721.875 2.86458ZM747.385 17.4589 747.385 40.3756 741.656 40.3756 741.656 17.4589ZM747.385 57.5631 747.385 80.4797 741.656 80.4797 741.656 57.5631ZM747.385 97.6672 747.385 120.584 741.656 120.584 741.656 97.6672ZM747.385 137.771 747.385 160.688 741.656 160.688 741.656 137.771ZM747.385 177.876 747.385 200.792 741.656 200.792 741.656 177.876ZM747.385 217.98 747.385 240.896 741.656 240.896 741.656 217.98ZM747.385 258.084 747.385 281.001 741.656 281.001 741.656 258.084ZM747.385 298.188 747.385 321.105 741.656 321.105 741.656 298.188ZM747.385
+ 338.292 747.385 361.209 741.656 361.209 741.656 338.292ZM747.385 378.396 747.385 401.313 741.656 401.313 741.656 378.396ZM747.385 418.501 747.385 441.417 741.656 441.417 741.656 418.501ZM747.385 458.605 747.385 481.521 741.656 481.521 741.656 458.605ZM747.385 498.709 747.385 521.626 741.656 521.626 741.656 498.709ZM747.385 538.813 747.385 561.73 741.656 561.73 741.656 538.813ZM747.385 578.917 747.385 601.834 741.656 601.834 741.656 578.917ZM747.385 619.021 747.385 641.938 741.656 641.938 741.656 619.021ZM747.385 659.126 747.385 682.042 741.656 682.042 741.656 659.126ZM747.385 699.23 747.385 722.146 741.656 722.146 741.656 699.23ZM747.385 739.334 747.385 762.251 741.656 762.251 741.656 739.334ZM747.385 779.438 747.385 802.355 741.656 802.355 741.656 779.438ZM747.385 819.542 747.385 842.459 741.656 842.459 741.656 819.542ZM747.385 859.646 747.385 882.563 741.656 882.563 741.656 859.646ZM747.385 899.751 747.385
+ 922.667 741.656 922.667 741.656 899.751ZM758.063 923.447 780.98 923.447 780.98 929.176 758.063 929.176ZM798.168 923.447 821.084 923.447 821.084 929.176 798.168 929.176ZM838.272 923.447 861.188 923.447 861.188 929.176 838.272 929.176ZM878.376 923.447 901.293 923.447 901.293 929.176 878.376 929.176ZM918.48 923.447 937.198 923.447 937.198 929.176 918.48 929.176ZM932.615 912.562 960.115 926.312 932.615 940.062Z" fill="#008564" transform="matrix(1 0 0 -1 2411 1796.31)"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 3733.97 1194)">x</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 3755.74 1194)">-</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 3771.21 1194)">uefi</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 3849.7 1194)">-</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 3865.17 1194)">redfish</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 4007.25 1194)">-</text>
+    <text fill="#0071C5" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 4022.72 1194)">Bios.vA_B_C</text>
+    <text fill="#0071C5" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 3733.97 1255)">/Bios/Attributes/XXX</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1 380.14 1659)">Redfish Feature Protocol</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1 2829.58 2249)">Redfish Resource Config Protocol</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1 2426.51 1602)">Redfish Resource Config Protocol</text>
+    <rect x="61.5" y="347.5" width="1093" height="111" stroke="#000000" stroke-width="3.4375" stroke-linejoin="round" stroke-miterlimit="10" fill="none"/>
+    <path d="M406.025 362.408 469.046 362.408 469.046 440.408 406.025 440.408Z" fill="#C0C0C0" fill-rule="evenodd"/>
+    <path d="M496.546 362.408 715.4 362.408 715.4 440.408 496.546 440.408Z" fill="#FFFF00" fill-rule="evenodd"/>
+    <path d="M742.9 362.408 836.858 362.408 836.858 440.408 742.9 440.408Z" fill="#00FF00" fill-rule="evenodd"/>
+    <path d="M864.358 362.408 976.65 362.408 976.65 440.408 864.358 440.408Z" fill="#FF00FF" fill-rule="evenodd"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 165.4 423)">/redfish/</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 406.025 423)">v1</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 469.046 423)">/</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 496.546 423)">Systems</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 715.4 423)">/</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 742.9 423)">SYS</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 836.858 423)">/</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 864.358 423)">Bios</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 976.65 423)">/…</text>
+    <path d="M62.9999 316.844 1336.22 316.844 1336.22 327.157 62.9999 327.156ZM62.9999 337.469C54.4567 337.469 47.5311 330.543 47.5312 322 47.5312 313.457 54.4567 306.531 62.9999 306.531 71.5431 306.531 78.4687 313.457 78.4687 322 78.4687 330.543 71.5431 337.469 62.9999 337.469ZM1331.06 306.532 1362 322 1331.06 337.469Z" fill="#890857"/>
+    <rect x="462.5" y="483.5" width="285" height="87" fill="#CDCDCD"/>
+    <path d="M438.751 483.5 438.751 570.5Z" stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" fill-rule="evenodd"/>
+    <path d="M438.751 499.813 414.999 499.813 399.811 442.936" stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" fill-rule="evenodd"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 497.682 539)">Service Root</text>
+    <rect x="629.5" y="188.5" width="413" height="102" fill="#CDCDCD"/>
+    <path d="M595.085 188.5 595.085 290.5Z" stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" fill-rule="evenodd"/>
+    <path d="M595.085 207.625 560.665 207.625 528.732 372.029" stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" fill-rule="evenodd"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 682.83 228)">Computer System </text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 749.861 272)">Collection</text>
+    <rect x="903.5" y="470.5" width="279" height="101" fill="#CDCDCD"/>
+    <path d="M880.251 470.5 880.251 571.5Z" stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" fill-rule="evenodd"/>
+    <path d="M880.251 489.438 856.999 489.438 806.93 438.596" stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" fill-rule="evenodd"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 956.072 510)">Computer </text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 980.134 554)">System</text>
+    <rect x="1221.5" y="191.5" width="279" height="102" fill="#CDCDCD"/>
+    <path d="M1198.25 191.5 1198.25 293.5Z" stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" fill-rule="evenodd"/>
+    <path d="M1198.25 210.625 1175 210.625 944.866 379.72" stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" fill-rule="evenodd"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 1324.41 254)">Bios</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 65.5579 241)">Register</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="48" transform="matrix(1 0 0 1 2943.32 1981)">/redfish/v1/Systems/SYS/</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="48" transform="matrix(1 0 0 1 3469.25 1981)">Memory/Dimm1</text>
+    <path d="M2390.33 1590.83 2383.15 1590.2C2383 1590.19 2382.85 1590.16 2382.71 1590.13L2375.59 1588.38 2372.75 1587.27 2374.89 1581.96 2376.95 1582.81 2384.08 1584.56 2383.64 1584.49 2390.83 1585.12ZM2367.15 1584.88 2361.06 1581.47 2354.16 1576.55 2352.39 1575 2356.21 1570.72 2357.5 1571.89 2363.85 1576.47 2369.95 1579.88ZM2348.12 1571.18 2347.61 1570.73 2341.43 1564.18 2336.44 1557.94 2340.93 1554.37 2345.6 1560.26 2351.42 1566.46 2351.93 1566.91ZM2333.04 1553.04 2330.39 1549.06 2325.59 1540.71 2324.23 1537.81 2329.42 1535.38 2330.57 1537.86 2335.15 1545.88 2337.8 1549.86ZM2321.8 1532.62 2321.42 1531.81 2317.85 1522.57 2315.92 1516.02 2321.41 1514.41 2323.19 1520.5 2326.61 1529.38 2326.99 1530.19ZM2314.56 1510.07 2313.97 1506.17 2319.64 1505.32 2320.22 1509.22ZM2303.72 1511.98 2314 1483 2331.02 1508.61Z" fill="#8C8C8C"/>
+    <path d="M2793.67 2238.69 2782.92 2237.94 2776.27 2236.64 2777.39 2231.02 2783.32 2232.22 2794.07 2232.97ZM2770.36 2235.29 2761.04 2232.24 2754.03 2229.05 2756.41 2223.84 2762.82 2226.8 2772.14 2229.85ZM2748.66 2226.39 2740.31 2221.56 2733.96 2216.95 2737.33 2212.32 2743.18 2216.6 2751.52 2221.43ZM2729.23 2213.33 2721.44 2206.63 2716.42 2201.54 2720.5 2197.52 2725.18 2202.29 2732.96 2208.99ZM2712.26 2197.23 2704.97 2188.34 2701.58 2183.51 2706.27 2180.22 2709.4 2184.7 2716.69 2193.6ZM2698.29 2178.81 2697.84 2178.16 2691.58 2167.39 2689.69 2163.39 2694.88 2160.95 2696.54 2164.52 2702.53 2174.88 2702.99 2175.53ZM2687.26 2158.2 2686.28 2156.11 2682 2144.51 2681.3 2141.43 2686.9 2140.21 2687.37 2142.53 2691.46 2153.68 2692.44 2155.77ZM2680.08 2135.83 2679.1 2131.34 2684.7 2130.12 2685.68 2134.61ZM2668.84 2137.02 2679 2108 2696.12 2133.54Z" fill="#8C8C8C"/>
+    <path d="M587.149 1603.19 587.587 1598.75C587.602 1598.6 587.63 1598.45 587.67 1598.3L588.858 1593.86C588.902 1593.69 588.961 1593.53 589.034 1593.38L591.096 1589 593.017 1585.91 597.868 1588.96 596.278 1591.44 594.216 1595.82 594.392 1595.34 593.205 1599.78 593.288 1599.32 592.851 1603.75ZM596.687 1581.05 597.791 1579.71 602.21 1575.21 607.242 1570.81 609.766 1568.92 613.187 1573.52 611.007 1575.13 606.29 1579.23 602.208 1583.36 601.104 1584.7ZM614.532 1565.49 619.348 1562.28 626.283 1558.14 629.459 1556.44 632.158 1561.49 629.217 1563.06 622.526 1567.04 617.71 1570.25ZM634.629 1553.72 641.876 1550.21 650.309 1546.46 652.635 1551.69 644.374 1555.36 637.126 1558.87ZM655.715 1544.27 659.492 1542.75 669.004 1539.22 671.966 1538.22 673.809 1543.64 670.996 1544.6 661.633 1548.07 657.855 1549.59ZM677.391 1536.38 679.016 1535.82 689.374 1532.5 693.921 1531.19 695.499 1536.7 691.126 1537.95 680.859 1541.25 679.234 1541.8ZM699.429
+ 1529.61 700.148 1529.41 716.155 1525.31 717.574 1530.87 701.726 1534.91 701.007 1535.12ZM721.706 1523.9 722.728 1523.64 738.621 1520.25 739.813 1525.86 724.147 1529.19 723.124 1529.45ZM744.225 1519.06 746.654 1518.55 761.26 1516.04 762.227 1521.69 747.846 1524.15 745.417 1524.67ZM766.907 1515.07 771.579 1514.27 784.02 1512.61 784.78 1518.29 772.546 1519.92 767.874 1520.72ZM789.698 1511.85 797.37 1510.82 806.874 1509.89 807.431 1515.59 798.13 1516.5 790.458 1517.53ZM812.576 1509.33 823.722 1508.25 829.83 1507.92 830.132 1513.64 824.278 1513.95 813.133 1515.04ZM835.551 1507.62 852.715 1506.71 853.017 1512.43 835.853 1513.34ZM849.88 1495.82 877.659 1509 850.449 1523.32Z" fill="#8C8C8C"/>
+  </g>
+</svg>
diff --git a/RedfishClientPkg/Documents/Media/redfish-foundation-driver-stack.svg b/RedfishClientPkg/Documents/Media/redfish-foundation-driver-stack.svg
new file mode 100755
index 00000000..79694335
--- /dev/null
+++ b/RedfishClientPkg/Documents/Media/redfish-foundation-driver-stack.svg
@@ -0,0 +1,75 @@
+<svg width="2492" height="1877" style="background-color:white" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" overflow="hidden">
+  <defs>
+    <clipPath id="clip0">
+      <rect x="278" y="517" width="2492" height="1877"/>
+    </clipPath>
+    <linearGradient x1="2572" y1="1054" x2="2572" y2="1294" gradientUnits="userSpaceOnUse" spreadMethod="reflect" id="fill1">
+      <stop offset="0" stop-color="#D2D2D2"/>
+      <stop offset="0.5" stop-color="#C8C8C8"/>
+      <stop offset="1" stop-color="#C0C0C0"/>
+    </linearGradient>
+  </defs>
+  <g clip-path="url(#clip0)" transform="translate(-278 -517)">
+    <rect x="278" y="958" width="2163" height="876" fill="#DAE3F3" fill-opacity="0.501961"/>
+    <path d="M1.19218-3.22415 20.5371 3.92891 18.1527 10.3772-1.19218 3.22415ZM26.9853 6.31326 46.3302 13.4663 43.9459 19.9146 24.601 12.7616ZM52.7785 15.8507 72.1234 23.0037 69.7391 29.452 50.3942 22.299ZM78.5717 25.3881 97.9166 32.5411 95.5322 38.9894 76.1873 31.8364ZM104.365 34.9255 123.71 42.0785 121.325 48.5268 101.981 41.3738ZM130.158 44.4629 149.503 51.6159 147.119 58.0642 127.774 50.9112ZM155.951 54.0003 175.296 61.1533 172.912 67.6016 153.567 60.4486ZM181.744 63.5377 201.089 70.6908 198.705 77.139 179.36 69.986ZM207.538 73.0751 226.882 80.2282 224.498 86.6765 205.153 79.5234ZM233.331 82.6125 252.676 89.7656 250.291 96.2139 230.946 89.0608ZM259.124 92.1499 278.469 99.303 276.084 105.751 256.74 98.5982ZM284.917 101.687 304.262 108.84 301.878 115.289 282.533 108.136ZM310.71 111.225 330.055 118.378 327.671 124.826 308.326 117.673ZM336.503 120.762 355.848 127.915 353.464 134.363 334.119 127.21ZM362.297 130.3 381.641 137.453 379.257
+ 143.901 359.912 136.748ZM388.09 139.837 407.435 146.99 405.05 153.438 385.705 146.285ZM413.883 149.374 433.228 156.527 430.843 162.976 411.499 155.823ZM439.676 158.912 459.021 166.065 456.637 172.513 437.292 165.36ZM465.469 168.449 484.814 175.602 482.43 182.05 463.085 174.897ZM491.262 177.987 510.607 185.14 508.223 191.588 488.878 184.435ZM517.056 187.524 536.4 194.677 534.016 201.125 514.671 193.972ZM542.849 197.061 562.194 204.214 559.809 210.663 540.464 203.51ZM568.642 206.599 587.987 213.752 585.602 220.2 566.258 213.047ZM594.435 216.136 613.78 223.289 611.396 229.738 592.051 222.584ZM620.228 225.674 639.573 232.827 637.189 239.275 617.844 232.122ZM646.021 235.211 665.366 242.364 662.982 248.812 643.637 241.659ZM671.815 244.748 691.16 251.901 688.775 258.35 669.43 251.197ZM697.608 254.286 716.953 261.439 714.568 267.887 695.224 260.734ZM723.401 263.823 742.746 270.976 740.362 277.425 721.017 270.271ZM744.812 260.745 765.836 283.179
+ 735.275 286.538Z" fill="#70AD47" transform="matrix(1 0 0 -1 594.5 1048.68)"/>
+    <rect x="392.5" y="1881.5" width="622" height="142" stroke="#41719C" stroke-width="4.58333" stroke-miterlimit="8" fill="#5B9BD5"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 652.979 1972)">NIC</text>
+    <rect x="392.5" y="1515.5" width="622" height="251" stroke="#ED7D31" stroke-width="4.58333" stroke-miterlimit="8" fill="#FBE5D6"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 450.739 1657)">UEFI Network Stack</text>
+    <rect x="1703.5" y="1515.5" width="622" height="251" stroke="#C55A11" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFC000"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1773.26 1660)">In</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1828.84 1660)">-</text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1852.33 1660)">band channel</text>
+    <rect x="807.5" y="1049.5" width="207" height="287" stroke="#2F5597" stroke-width="4.58333" stroke-miterlimit="8" fill="#ADB9CA"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 1 855.72 1182)">REST </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 1 882.074 1231)">EX</text>
+    <rect x="393.5" y="1194.5" width="400" height="138" stroke="#787878" stroke-width="4.58333" stroke-miterlimit="8" fill="#A5A5A5"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 433.577 1254)">Redfish Discover </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 512.067 1299)">Protocol</text>
+    <path d="M396.5 2234C396.5 2216.6 410.603 2202.5 428 2202.5L2294 2202.5C2311.4 2202.5 2325.5 2216.6 2325.5 2234L2325.5 2360C2325.5 2377.4 2311.4 2391.5 2294 2391.5L428 2391.5C410.603 2391.5 396.5 2377.4 396.5 2360Z" stroke="#70AD47" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF" fill-rule="evenodd"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1158.18 2313)">Redfish Service</text>
+    <rect x="396.5" y="519.5" width="1929" height="120" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#767171"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1100.89 596)">Redfish Application</text>
+    <rect x="394.5" y="1048.5" width="400" height="138" stroke="#385723" stroke-width="4.58333" stroke-miterlimit="8" fill="#70AD47"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="46" transform="matrix(1 0 0 1 457.66 1105)">Redfish Config </text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="46" transform="matrix(1 0 0 1 535.851 1155)">Driver</text>
+    <path d="M2375 1054 2729 1054 2769 1094 2769 1294 2375 1294Z" stroke="#A5A5A5" stroke-width="2.29167" stroke-miterlimit="8" fill="url(#fill1)" fill-rule="evenodd"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 2474.57 1172)">SMBIOS </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 2465.7 1231)">Type 42</text>
+    <rect x="1710" y="1879" width="615" height="142" fill="#4472C4" fill-opacity="0.501961"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="73" transform="matrix(1 0 0 1 1959.59 1972)">HW</text>
+    <rect x="396.5" y="645.5" width="1929" height="120" stroke="#385723" stroke-width="3.4375" stroke-linejoin="round" stroke-miterlimit="10" fill="#70AD47"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 994.903 720)">Redfish Config Handler Protocol</text>
+    <path d="M3.17204-1.3246 11.1196 17.7076 4.77555 20.3568-3.17204 1.3246ZM13.7688 24.0517 21.7164 43.084 15.3723 45.7332 7.42475 26.7009ZM24.3656 49.4281 32.3132 68.4603 25.9691 71.1095 18.0215 52.0773ZM34.9624 74.8044 42.91 93.8366 36.5659 96.4858 28.6183 77.4536ZM45.5592 100.181 53.5068 119.213 47.1627 121.862 39.2151 102.83ZM56.156 125.557 64.1036 144.589 57.7595 147.238 49.8119 128.206ZM66.7528 150.933 74.7004 169.966 68.3563 172.615 60.4087 153.583ZM77.3496 176.31 85.2972 195.342 78.9531 197.991 71.0055 178.959ZM87.9464 201.686 95.894 220.718 89.5499 223.367 81.6023 204.335ZM98.5432 227.062 106.491 246.095 100.147 248.744 92.1991 229.712ZM109.14 252.439 114.093 264.301 107.749 266.95 102.796 255.088ZM121.843 256.098 119.752 286.772 96.4671 266.694Z" fill="#70AD47" transform="matrix(1 0 0 -1 1240.5 1052.27)"/>
+    <path d="M1867.15 1057.88 1849.23 1047.68 1852.63 1041.7 1870.55 1051.91ZM1843.25 1044.28 1825.33 1034.07 1828.73 1028.1 1846.65 1038.3ZM1819.35 1030.67 1801.43 1020.47 1804.83 1014.49 1822.75 1024.7ZM1795.45 1017.07 1777.53 1006.86 1780.93 1000.89 1798.85 1011.09ZM1771.55 1003.46 1753.63 993.258 1757.03 987.284 1774.96 997.488ZM1747.66 989.857 1729.73 979.653 1733.13 973.679 1751.06 983.883ZM1723.76 976.252 1705.83 966.048 1709.23 960.073 1727.16 970.277ZM1699.86 962.647 1681.93 952.443 1685.34 946.468 1703.26 956.672ZM1675.96 949.042 1658.04 938.838 1661.44 932.863 1679.36 943.067ZM1652.06 935.437 1634.14 925.233 1637.54 919.258 1655.46 929.462ZM1628.16 921.831 1610.24 911.628 1613.64 905.653 1631.56 915.857ZM1604.26 908.226 1586.34 898.022 1589.74 892.048 1607.67 902.252ZM1580.37 894.621 1562.44 884.417 1565.84 878.443 1583.77 888.646ZM1556.47 881.016 1538.54 870.812 1541.94 864.837 1559.87 875.041ZM1532.57
+ 867.411 1514.64 857.207 1518.04 851.232 1535.97 861.436ZM1508.67 853.806 1490.74 843.602 1494.15 837.627 1512.07 847.831ZM1484.77 840.2 1466.85 829.997 1470.25 824.022 1488.17 834.226ZM1460.87 826.595 1442.95 816.391 1446.35 810.417 1464.27 820.621ZM1436.97 812.99 1419.05 802.786 1422.45 796.812 1440.37 807.015ZM1413.07 799.385 1395.15 789.181 1398.55 783.206 1416.48 793.41ZM1389.18 785.78 1378.72 779.825 1382.12 773.851 1392.58 779.805ZM1377.6 791.055 1360.5 765.5 1391.2 767.156Z" fill="#70AD47"/>
+    <path d="M0-2.29167 146.945-2.29167 146.945 186.106 144.653 183.814 266.39 183.814 266.39 188.397 142.362 188.397 142.362 0 144.653 2.29167 0 2.29167ZM261.806 172.356 289.306 186.106 261.806 199.856Z" fill="#FF0000" transform="matrix(1.83697e-16 1 1 -1.83697e-16 1360.5 765.5)"/>
+    <path d="M1571.77 1340.5 1571.77 1451.89 1362.5 1451.89 1364.79 1449.6 1364.79 1491.77 1360.21 1491.77 1360.21 1447.3 1569.48 1447.3 1567.19 1449.6 1567.19 1340.5ZM1376.25 1487.19 1362.5 1514.69 1348.75 1487.19Z" fill="#FF0000"/>
+    <path d="M1364.79 1766.5 1364.79 1858.57 1360.21 1858.57 1360.21 1766.5ZM1376.25 1853.99 1362.5 1881.49 1348.75 1853.99Z" fill="#FF0000"/>
+    <path d="M2573.09 1294 2573.09 1422.16 1901.85 1422.16 1901.85 1361.43 1904.15 1361.43 1904.15 1421.01 1903 1419.87 2571.94 1419.87 2570.8 1421.01 2570.8 1294ZM1889.25 1366.01 1903 1338.51 1916.75 1366.01Z" fill="#A5A5A5"/>
+    <path d="M2573.22 1294 2573.22 1421.96 1249.85 1421.96 1249.85 1359.03 1252.15 1359.03 1252.15 1420.81 1251 1419.67 2572.07 1419.67 2570.93 1420.81 2570.93 1294ZM1237.25 1363.61 1251 1336.11 1264.75 1363.61Z" fill="#A5A5A5"/>
+    <path d="M2573.26 1294 2573.26 1422.27 591.854 1422.27 591.854 1354.94 594.146 1354.94 594.146 1421.12 593 1419.98 2572.11 1419.98 2570.97 1421.12 2570.97 1294ZM579.25 1359.52 593 1332.02 606.75 1359.52Z" fill="#A5A5A5"/>
+    <rect x="1465.5" y="1053.5" width="207" height="287" stroke="#2F5597" stroke-width="4.58333" stroke-miterlimit="8" fill="#ADB9CA"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 1 1513.76 1186)">REST </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 1 1540.11 1235)">EX</text>
+    <rect x="1051.5" y="1198.5" width="400" height="139" stroke="#787878" stroke-width="4.58333" stroke-miterlimit="8" fill="#A5A5A5"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 1091.62 1258)">Redfish Discover </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 1170.11 1303)">Protocol</text>
+    <rect x="1052.5" y="1052.5" width="400" height="138" stroke="#385723" stroke-width="4.58333" stroke-miterlimit="8" fill="#70AD47"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="46" transform="matrix(1 0 0 1 1099.08 1111)">Redfish Config </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="46" transform="matrix(1 0 0 1 1186.17 1160)">Driver</text>
+    <rect x="2117.5" y="1055.5" width="208" height="288" stroke="#2F5597" stroke-width="4.58333" stroke-miterlimit="8" fill="#ADB9CA"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 1 2165.89 1188)">REST </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 1 2192.24 1237)">EX</text>
+    <rect x="1703.5" y="1201.5" width="400" height="138" stroke="#787878" stroke-width="4.58333" stroke-miterlimit="8" fill="#A5A5A5"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 1743.75 1260)">Redfish Discover </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="41" transform="matrix(1 0 0 1 1822.23 1305)">Protocol</text>
+    <rect x="1704.5" y="1055.5" width="401" height="138" stroke="#385723" stroke-width="4.58333" stroke-miterlimit="8" fill="#70AD47"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="46" transform="matrix(1 0 0 1 1751.21 1113)">Redfish Config </text>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="46" transform="matrix(1 0 0 1 1838.3 1162)">Driver</text>
+    <rect x="1051.5" y="1515.5" width="621" height="251" stroke="#ED7D31" stroke-width="4.58333" stroke-miterlimit="8" fill="#FBE5D6"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 1109.41 1657)">UEFI Network Stack</text>
+    <rect x="1051.5" y="1881.5" width="621" height="142" stroke="#41719C" stroke-width="4.58333" stroke-miterlimit="8" fill="#5B9BD5"/>
+    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1311.65 1972)">NIC</text>
+    <path d="M2.29157-0.020976 3.72062 156.099-0.862519 156.141-2.29157 0.020976ZM15.1365 151.411 1.63881 179.035-12.3623 151.662Z" fill="#FF0000" transform="matrix(-1 0 0 1 1362.14 2023.5)"/>
+  </g>
+</svg>
diff --git a/RedfishClientPkg/Documents/Media/redfish-platform-config-protocol-stack.svg b/RedfishClientPkg/Documents/Media/redfish-platform-config-protocol-stack.svg
new file mode 100755
index 00000000..670c29bf
--- /dev/null
+++ b/RedfishClientPkg/Documents/Media/redfish-platform-config-protocol-stack.svg
@@ -0,0 +1,99 @@
+<svg width="3433" height="1895" style="background-color:white" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" overflow="hidden">
+  <defs>
+    <filter id="fx0" x="-10%" y="-10%" width="120%" height="120%" filterUnits="userSpaceOnUse" primitiveUnits="userSpaceOnUse">
+      <feComponentTransfer color-interpolation-filters="sRGB">
+        <feFuncR type="discrete" tableValues="0 0"/>
+        <feFuncG type="discrete" tableValues="0 0"/>
+        <feFuncB type="discrete" tableValues="0 0"/>
+        <feFuncA type="linear" slope="0.380392" intercept="0"/>
+      </feComponentTransfer>
+      <feGaussianBlur stdDeviation="4.8119 4.8119"/>
+    </filter>
+    <clipPath id="clip1">
+      <rect x="572" y="465" width="3433" height="1895"/>
+    </clipPath>
+    <clipPath id="clip2">
+      <rect x="-5" y="13" width="863" height="130"/>
+    </clipPath>
+    <clipPath id="clip3">
+      <rect x="0" y="0" width="883" height="139"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#clip1)" transform="translate(-572 -465)">
+    <rect x="572" y="1277" width="3256" height="1083" fill="#C0E4FF" fill-opacity="0.4"/>
+    <path d="M654.5 1778.17C654.5 1742.45 683.453 1713.5 719.168 1713.5L1793.83 1713.5C1829.55 1713.5 1858.5 1742.45 1858.5 1778.17L1858.5 2036.83C1858.5 2072.55 1829.55 2101.5 1793.83 2101.5L719.168 2101.5C683.453 2101.5 654.5 2072.55 654.5 2036.83Z" stroke="#A6A6A6" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" stroke-dasharray="36.6667 27.5" fill="none" fill-rule="evenodd"/>
+    <path d="M690 978.669C690 922.518 735.518 877 791.668 877L1586.33 877C1642.48 877 1688 922.518 1688 978.669L1688 1385.33C1688 1441.48 1642.48 1487 1586.33 1487L791.668 1487C735.518 1487 690 1441.48 690 1385.33Z" fill="#D9D9D9" fill-rule="evenodd"/>
+    <rect x="716" y="598" width="945" height="136" fill="#76B900"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1026.14 683)">Setup Menu</text>
+    <rect x="716.5" y="1114.5" width="945" height="136" stroke="#0070C0" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#9E9E9E"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 916.711 1199)">EDK2 Setup Browser</text>
+    <rect x="716" y="952" width="945" height="136" fill="#9E9E9E"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 917.571 1038)">EDK2 Display Engine</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1122.4 545)">User</text>
+    <rect x="716" y="1289" width="945" height="136" fill="#9E9E9E"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 941.92 1374)">EDK2 HII Database</text>
+    <rect x="716.5" y="1757.5" width="377" height="199" stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#8C8C8C"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 779.595 1842)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 838.88 1901)">driver</text>
+    <rect x="1124.5" y="1757.5" width="377" height="199" stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#8C8C8C"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1188 1842)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1247.28 1901)">driver</text>
+    <rect x="882.5" y="1856.5" width="377" height="199" stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#8C8C8C"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 945.765 1941)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1005.05 2000)">driver</text>
+    <rect x="1313.5" y="1856.5" width="377" height="199" stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#8C8C8C"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1376.4 1941)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1435.69 2000)">driver</text>
+    <path d="M1191.86 756.917 1191.86 929.504 1186.14 929.504 1186.14 756.917ZM1175.25 761.5 1189 734 1202.75 761.5ZM1202.75 924.92 1189 952.42 1175.25 924.92Z" fill="#8C8C8C"/>
+    <path d="M1185.86 1517.92 1185.86 1690.5 1180.14 1690.5 1180.14 1517.92ZM1169.25 1522.5 1183 1495 1196.75 1522.5ZM1196.75 1685.92 1183 1713.42 1169.25 1685.92Z" fill="#8C8C8C"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1247.51 801)">Graphic protocols</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1247.51 867)">Console input protocols</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1232.43 1574)">EFI Config Access Protocol</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1232.43 1640)">HII Database Protocol</text>
+    <rect x="657.5" y="2152.5" width="1204" height="145" stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="73" transform="matrix(1 0 0 1 1203.49 2245)">HW</text>
+    <path d="M2422.5 1782C2422.5 1746.38 2451.38 1717.5 2487 1717.5L3562 1717.5C3597.62 1717.5 3626.5 1746.38 3626.5 1782L3626.5 2040C3626.5 2075.62 3597.62 2104.5 3562 2104.5L2487 2104.5C2451.38 2104.5 2422.5 2075.62 2422.5 2040Z" stroke="#A6A6A6" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" stroke-dasharray="36.6667 27.5" fill="none" fill-rule="evenodd"/>
+    <path d="M2457 970.169C2457 912.638 2503.64 866 2561.17 866L3350.83 866C3408.36 866 3455 912.638 3455 970.169L3455 1386.83C3455 1444.36 3408.36 1491 3350.83 1491L2561.17 1491C2503.64 1491 2457 1444.36 2457 1386.83Z" fill="#D9D9D9" fill-rule="evenodd"/>
+    <rect x="2483" y="602" width="945" height="135" fill="#76B900"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 2754.31 687)">Feature drivers</text>
+    <rect x="2483" y="956" width="945" height="302" fill="#0070C0"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 2652.04 1124)">EDK2 HII Utility Library</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 2724.81 549)">Redfish Interface</text>
+    <rect x="2483" y="1291" width="945" height="136" fill="#9E9E9E"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 2709.33 1376)">EDK2 HII Database</text>
+    <rect x="2483.5" y="1760.5" width="377" height="199" stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#8C8C8C"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 2532.97 1847)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 2599.43 1906)">driver</text>
+    <rect x="2892.5" y="1760.5" width="377" height="199" stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#8C8C8C"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 2941.37 1847)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 3007.83 1906)">driver</text>
+    <rect x="2650.5" y="1860.5" width="376" height="199" stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#8C8C8C"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 2699.14 1947)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 2765.6 2006)">driver</text>
+    <rect x="3080.5" y="1860.5" width="377" height="199" stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#8C8C8C"/>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 3129.78 1947)">Chipset/HII </text>
+    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 3196.24 2006)">driver</text>
+    <path d="M2958.86 759.917 2958.86 932.542 2953.14 932.542 2953.14 759.917ZM2942.25 764.5 2956 737 2969.75 764.5ZM2969.75 927.959 2956 955.459 2942.25 927.959Z" fill="#8C8C8C"/>
+    <path d="M2953.86 1520.92 2953.86 1693.5 2948.14 1693.5 2948.14 1520.92ZM2937.25 1525.5 2951 1498 2964.75 1525.5ZM2964.75 1688.92 2951 1716.42 2937.25 1688.92Z" fill="#8C8C8C"/>
+    <text fill="#FF0000" font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="55" transform="matrix(1 0 0 1 3007.22 833)">EDKII Redfish Platform Configure Protocol</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 3007.22 1592)">EFI Config Access Protocol</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 3007.22 1658)">HII Database Protocol</text>
+    <rect x="2425.5" y="2155.5" width="1203" height="145" stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="73" transform="matrix(1 0 0 1 2970.9 2248)">HW</text>
+    <g clip-path="url(#clip2)" filter="url(#fx0)" transform="translate(1645 1071)">
+      <g clip-path="url(#clip3)">
+        <path d="M0.406692-4.48158 800.047 68.0836 799.233 77.0468-0.406692 4.48158ZM796.32 58.4574 822.465 74.6365 793.835 85.8449Z" fill="#0071C5" transform="matrix(1 0 0 -1 16.4999 118.354)"/>
+      </g>
+    </g>
+    <path d="M0.414223-4.56458 800.054 68.0006 799.226 77.1298-0.414223 4.56458ZM796.32 58.4574 822.465 74.6365 793.835 85.8449Z" fill="#0071C5" transform="matrix(1 0 0 -1 1661.5 1182.14)"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1783.55 1054)">Move necessary functions </text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1783.55 1120)">to library </text>
+    <rect x="1721.5" y="1792.5" width="303" height="193" stroke="#890C58" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 1821 1874)">UEFI </text>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 1780.6 1933)">variable</text>
+    <rect x="3489.5" y="1768.5" width="303" height="194" stroke="#890C58" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"/>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 3589.11 1851)">UEFI </text>
+    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="55" transform="matrix(1 0 0 1 3548.71 1910)">variable</text>
+    <path d="M2145.64 1853.11 2293.36 1853.11 2293.36 1890.46 2145.64 1890.46ZM2145.64 1918.54 2293.36 1918.54 2293.36 1955.89 2145.64 1955.89Z" fill="#C0E4FF" fill-rule="evenodd"/>
+  </g>
+</svg>
diff --git a/RedfishClientPkg/Documents/Media/redfish-synchronization-design.svg b/RedfishClientPkg/Documents/Media/redfish-synchronization-design.svg
new file mode 100755
index 00000000..2dd1fb61
--- /dev/null
+++ b/RedfishClientPkg/Documents/Media/redfish-synchronization-design.svg
@@ -0,0 +1,75 @@
+<svg width="4191" height="2178" style="background-color:white" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" overflow="hidden">
+  <defs>
+    <clipPath id="clip0">
+      <rect x="66" y="210" width="4191" height="2178"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#clip0)" transform="translate(-66 -210)">
+    <path d="M487.5 379.5C487.5 364.588 498.469 352.5 512 352.5 525.531 352.5 536.5 364.588 536.5 379.5 536.5 394.412 525.531 406.5 512 406.5 498.469 406.5 487.5 394.412 487.5 379.5Z" stroke="#006047" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#008564" fill-rule="evenodd"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 104.76 290)">REDFISH_FEATURE_CALLBACK()</text>
+    <rect x="609.5" y="522.5" width="709" height="133" stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="none"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 839.622 610)">Identify()</text>
+    <rect x="1178.5" y="767.5" width="709" height="133" stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="none"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1433.4 855)">Check()</text>
+    <rect x="1759.5" y="1046.5" width="709" height="134" stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="none"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1928.64 1134)">Provisioning()</text>
+    <rect x="1597.5" y="1422.5" width="709" height="133" stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="none"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1808.4 1510)">Consume()</text>
+    <rect x="2140.5" y="1730.5" width="709" height="133" stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="none"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 2376.59 1818)">Update()</text>
+    <path d="M0-2.29167 182.65-2.29167C183.915-2.29167 184.941-1.26565 184.941 0L184.941 74.3695 180.358 74.3695 180.358 0 182.65 2.29167 0 2.29167ZM196.4 69.7861 182.65 97.2861 168.9 69.7861Z" fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16 511.5 406.5)"/>
+    <path d="M988.5 831.208 1083.64 831.208C1084.91 831.208 1085.93 832.234 1085.93 833.5L1085.93 833.591 1083.64 831.299 1155.86 831.299 1155.86 835.882 1083.64 835.882C1082.37 835.882 1081.35 834.856 1081.35 833.591L1081.35 833.5 1083.64 835.792 988.5 835.792ZM1151.28 819.841 1178.78 833.591 1151.28 847.341Z" fill="#008563"/>
+    <path d="M0-2.29167 101.164-2.29167C102.43-2.29167 103.456-1.26565 103.456 0L103.456 0.633366 101.164-1.6583 179.411-1.6583 179.411 2.92503 101.164 2.92503C99.8983 2.92503 98.8722 1.89902 98.8722 0.633366L98.8722 0 101.164 2.29167 0 2.29167ZM174.827-13.1166 202.327 0.633366 174.827 14.3834Z" fill="#008563" transform="matrix(1 0 0 -1 1557.5 1114.13)"/>
+    <path d="M0-2.29167 348.186-2.29167C349.452-2.29167 350.478-1.26565 350.478 0L350.478 42.4958 345.894 42.4958 345.894 0 348.186 2.29167 0 2.29167ZM361.936 37.9125 348.186 65.4125 334.436 37.9125Z" fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16 1532.5 1141.5)"/>
+    <path d="M0-2.29167 241.064-2.29167C242.329-2.29167 243.356-1.26565 243.356 0L243.356 165.488 238.772 165.488 238.772 0 241.064 2.29167 0 2.29167ZM254.814 160.904 241.064 188.404 227.314 160.904Z" fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16 1952.5 1555.5)"/>
+    <path d="M511.5 2311.5C511.5 2296.59 522.469 2284.5 536 2284.5 549.531 2284.5 560.5 2296.59 560.5 2311.5 560.5 2326.41 549.531 2338.5 536 2338.5 522.469 2338.5 511.5 2326.41 511.5 2311.5Z" stroke="#006047" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#008564" fill-rule="evenodd"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="64" transform="matrix(1 0 0 1 316.965 2332)">Done </text>
+    <path d="M965.584 860.5 965.584 1572.52C965.584 1573.79 964.558 1574.82 963.292 1574.82L535.5 1574.82 537.792 1572.52 537.792 2261.63 533.209 2261.63 533.209 1572.52C533.209 1571.26 534.235 1570.23 535.5 1570.23L963.292 1570.23 961.001 1572.52 961.001 860.5ZM549.25 2257.05 535.5 2284.55 521.75 2257.05Z" fill="#008563"/>
+    <path d="M2497.82 1863.5 2497.82 2311.4C2497.82 2312.67 2496.79 2313.7 2495.53 2313.7L583.418 2313.7 583.418 2309.11 2495.53 2309.11 2493.23 2311.4 2493.23 1863.5ZM588 2325.15 560.5 2311.4 588 2297.65Z" fill="#008563"/>
+    <path d="M2728 1074.17C2728 1059.72 2739.72 1048 2754.17 1048L3410.83 1048C3425.28 1048 3437 1059.72 3437 1074.17L3437 1178.83C3437 1193.28 3425.28 1205 3410.83 1205L2754.17 1205C2739.72 1205 2728 1193.28 2728 1178.83Z" fill="#0071C5" fill-rule="evenodd" fill-opacity="0.501961"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 2869.23 1148)">HTTP </text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 3021.62 1148)">POST/PUT</text>
+    <path d="M3112 2034.33C3112 2015.37 3127.37 2000 3146.33 2000L3786.67 2000C3805.63 2000 3821 2015.37 3821 2034.33L3821 2171.67C3821 2190.63 3805.63 2206 3786.67 2206L3146.33 2206C3127.37 2206 3112 2190.63 3112 2171.67Z" fill="#0071C5" fill-rule="evenodd" fill-opacity="0.501961"/>
+    <text font-family="Arial,Arial_MSFontService,sans-serif" font-weight="400" font-size="64" transform="matrix(1 0 0 1 3191.74 2127)">HTTP </text>
+    <text fill="#FF0000" font-family="Arial,Arial_MSFontService,sans-serif" font-weight="400" font-size="64" transform="matrix(1 0 0 1 3376.79 2127)">PATCH/PUT</text>
+    <rect x="1572" y="418" width="896" height="130" fill="#008564"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 1655.98 505)">RedfishResourceIdentifyLib</text>
+    <path d="M0.0452146-1.71815 11.9202-1.40565 23.8145-0.526554 35.5234 0.919242 46.906 2.80438 57.9272 5.19539 68.5072 8.02728 78.5249 11.2384 87.9266 14.8322 96.5836 18.7466 104.375 22.923 111.238 27.3016 117.131 31.9661 121.965 36.7847C122.036 36.8551 122.1 36.9316 122.157 37.0131L125.532 41.8256C125.598 41.9198 125.655 42.0203 125.701 42.1257L127.826 47.0007C127.885 47.1376 127.927 47.2817 127.949 47.4294L128.699 52.3669 129.449 57.3044 129.326 56.8757 131.451 61.7507 131.282 61.4506 134.657 66.2631 134.465 66.0347 139.153 70.7222 144.756 75.1536 151.363 79.3641 158.938 83.423 167.396 87.2466 176.555 90.7711 186.4 93.9259 196.82 96.7148 207.677 99.0704 218.967 100.929 231.233 102.16 230.889 105.58 218.408 104.321 206.948 102.43 195.93 100.035 185.35 97.1991 175.32 93.9789 165.979 90.3784 157.312 86.452 149.512 82.2609 142.619 77.8464 136.722 73.1528 132.035 68.4653C131.964 68.3949 131.9 68.3184 131.843
+ 68.2369L128.468 63.4244C128.402 63.3302 128.345 63.2297 128.299 63.1243L126.174 58.2493C126.115 58.1124 126.073 57.9683 126.051 57.8206L125.301 52.8831 124.551 47.9456 124.674 48.3743 122.549 43.4993 122.718 43.7994 119.343 38.9869 119.535 39.2153 114.994 34.6589 109.387 30.1984 102.75 25.952 95.1664 21.8784 86.6984 18.0428 77.475 14.5116 67.6178 11.3477 57.1978 8.55461 46.344 6.19562 35.1016 4.33076 23.5605 2.90155 11.8298 2.03065-0.0452146 1.71815ZM227.312 89.8694 253.937 105.246 225.66 117.32Z" fill="#008563" transform="matrix(1 0 0 -1 1318.5 588.746)"/>
+    <rect x="2687" y="738" width="425" height="102" fill="#5D1682" fill-opacity="0.501961"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="50" transform="matrix(1 0 0 1 2797.23 806)">GetData</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="50" transform="matrix(1 0 0 1 2970.82 806)">()</text>
+    <text fill="#890C58" font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 1 2696.04 693)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL</text>
+    <path d="M0.0837419-1.71671 5.20874-1.46671 10.4785-0.765991 15.7435 0.383721 21.0012 1.98096 26.1383 4.02918 31.2374 6.44749 36.2738 9.24844 41.2531 12.499 50.8027 19.8914 59.9974 28.63 68.7284 38.5528 76.822 49.544 84.2726 61.5307 91.0188 74.258 96.9486 87.7463 101.933 101.866 105.969 116.416 108.997 131.282 110.831 146.482 111.467 161.742 112.092 176.867 113.894 191.795 116.872 206.407 120.844 220.729 125.746 234.616 131.574 247.871 138.147 260.389 145.458 272.09 153.443 282.851 161.92 292.557 170.872 301.067 180.183 308.333 184.928 311.366 189.774 314.061 189.495 313.937 197.654 316.733 196.54 319.985 188.38 317.188C188.284 317.155 188.19 317.114 188.101 317.064L183.072 314.259 178.067 311.042 168.503 303.557 159.33 294.818 150.682 284.899 142.542 273.91 135.103 261.986 128.426 249.254 122.504 235.759 117.531 221.646 113.503 207.093 110.481 192.205 108.658 177.008 108.033 161.883 107.419 146.893
+ 105.628 131.968 102.656 117.334 98.6916 103.009 93.8014 89.1287 87.9812 75.867 81.3524 63.3443 74.053 51.581 66.1466 40.8222 57.6276 31.12 48.6973 22.6086 39.3719 15.376 34.6012 12.2516 29.7626 9.55251 24.8617 7.22082 19.9988 5.26904 15.0065 3.74128 10.0215 2.64099 5.04126 1.96671-0.0837419 1.71671ZM195.756 303.927 219.415 323.564 189.51 330.709Z" fill="#890857" transform="matrix(1 0 0 -1 2468.5 1113.06)"/>
+    <rect x="2690" y="863" width="422" height="102" fill="#5D1682" fill-opacity="0.501961"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="50" transform="matrix(1 0 0 1 2757.16 931)">GeOemData</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="50" transform="matrix(1 0 0 1 3013.82 931)">()</text>
+    <path d="M0.092493-1.71626 10.53-1.15376 21.0276 0.553809 31.3759 3.27561 41.4048 6.94903 51.1654 11.5055 60.4854 16.8871 69.2961 23.028 77.5298 29.798 85.1321 37.1392 91.9881 45.0638 98.02 53.4335 103.109 62.1333 107.25 71.1596 110.32 80.4632 112.247 89.9086 112.902 99.4474 113.527 108.76 115.372 117.784 118.32 126.713 122.313 135.41 127.292 143.813 133.088 151.941 139.734 159.559 147.137 166.769 155.155 173.36 163.727 179.273 172.798 184.512 182.29 188.943 192.089 192.51 191.834 192.439 199.996 194.058 199.327 197.43 191.165 195.811C191.079 195.794 190.994 195.77 190.911 195.74L180.835 192.057 171.077 187.488 161.773 182.102 152.97 176.015 144.738 169.231 137.141 161.816 130.287 153.934 124.333 145.562 119.187 136.84 115.055 127.787 112.003 118.466 110.098 108.99 109.473 99.6776 108.878 90.5914 107.055 81.5368 104.125 72.5904 100.141 63.8667 95.23 55.4415 89.3869 47.3112 82.7429 39.6108 75.3452 32.452
+ 67.3289 25.847 58.7646 19.8629 49.7096 14.6195 40.2202 10.176 30.4991 6.59939 20.4724 3.94619 10.345 2.27876-0.092493 1.71626ZM197.096 181.479 222.341 199.029 193.154 208.695Z" fill="#890857" transform="matrix(1 0 0 -1 2468.5 1113.53)"/>
+    <path d="M0.0142748-1.71869 37.6393-1.40619 56.1033-0.968266 74.1162-0.405411 91.5677 0.282584 108.209 1.0958 124.032 1.97138 138.811 3.03569 152.384 4.099 164.666 5.28927 170.254 5.917 175.456 6.54359 180.246 7.23647 184.618 7.86102 188.55 8.55768 192.081 9.25098 195.079 9.95147 197.643 10.6553 199.7 11.3802 201.269 12.1502C201.394 12.2131 201.512 12.2911 201.619 12.3825L202.494 13.1325C202.684 13.2956 202.836 13.4982 202.94 13.7263L203.252 14.4138 203.565 15.1013 203.119 14.5075 203.994 15.2575 203.644 15.0252 205.019 15.7127 206.762 16.3177 209.143 16.9678 212.017 17.639 215.456 18.3135 219.3 18.9952 223.618 19.611 228.371 20.299 233.518 20.9186 239.067 21.542 251.291 22.7268 264.822 23.7865 279.561 24.8482 295.283 25.7214 311.959 26.5333 329.318 27.2201 347.304 27.7821 365.722 28.1566 380.37 28.2979 380.337 31.7352 365.653 31.5934 347.196 31.2179 329.182 30.6549 311.791 29.9667 295.092 29.1536 279.314
+ 28.2768 264.553 27.2135 250.959 26.1482 238.683 24.958 233.107 24.3314 227.879 23.701 223.132 23.014 218.7 22.3798 214.794 21.6865 211.233 20.986 208.232 20.2822 205.613 19.5573 203.481 18.7873 202.106 18.0998C201.981 18.0369 201.863 17.9589 201.756 17.8675L200.881 17.1175C200.691 16.9544 200.539 16.7518 200.435 16.5237L200.123 15.8362 199.81 15.1487 200.256 15.7425 199.381 14.9925 199.731 15.2248 198.55 14.6198 196.732 13.9697 194.296 13.2985 191.419 12.624 187.95 11.9423 184.132 11.264 179.754 10.6385 175.044 9.95641 169.871 9.333 164.334 8.71073 152.116 7.526 138.564 6.46431 123.843 5.40363 108.041 4.5292 91.4323 3.71742 74.0088 3.03041 56.0217 2.46827 37.6107 2.03119-0.0142748 1.71869ZM375.903 16.223 403.269 30.2377 375.637 43.7217Z" fill="#890857" transform="matrix(1 0 0 -1 2849.5 1796.74)"/>
+    <path d="M2849.52 1794.78 2868.52 1795.03 2887.45 1795.85 2906.05 1797.1 2924.23 1798.85 2941.83 1800.98 2958.63 1803.49 2974.62 1806.37 2989.49 1809.57 3003.23 1813.02 3015.62 1816.73 3021.31 1818.69 3026.61 1820.71 3031.47 1822.73 3035.92 1824.82 3039.92 1826.91 3043.47 1829.1 3046.57 1831.36 3049.18 1833.57 3051.29 1835.92C3051.34 1835.98 3051.39 1836.05 3051.44 1836.12L3052.87 1838.31C3052.94 1838.41 3053 1838.51 3053.04 1838.63L3053.91 1840.88C3053.96 1841 3054 1841.13 3054.01 1841.26L3054.33 1843.44 3054.64 1845.63 3054.54 1845.25 3055.41 1847.5 3055.25 1847.18 3056.69 1849.37 3056.54 1849.17 3058.47 1851.36 3060.8 1853.32 3063.7 1855.42 3067.01 1857.4 3070.88 1859.49 3075.17 1861.51 3079.91 1863.48 3085.09 1865.39 3090.68 1867.31 3102.93 1870.98 3116.54 1874.4 3131.3 1877.57 3147.12 1880.43 3163.88 1882.92 3181.33 1885.04 3199.42 1886.79 3217.99 1888.04 3232.84 1888.55 3232.72 1891.99 3217.76 1891.46
+ 3199.08 1890.21 3180.92 1888.46 3163.37 1886.32 3146.51 1883.82 3130.58 1880.93 3115.71 1877.73 3101.94 1874.27 3089.56 1870.56 3083.9 1868.61 3078.59 1866.65 3073.7 1864.62 3069.25 1862.51 3065.24 1860.35 3061.67 1858.2 3058.57 1855.93 3055.9 1853.64 3053.96 1851.45C3053.91 1851.39 3053.86 1851.32 3053.81 1851.26L3052.38 1849.07C3052.31 1848.97 3052.25 1848.86 3052.21 1848.75L3051.34 1846.5C3051.29 1846.38 3051.25 1846.25 3051.24 1846.12L3050.92 1843.93 3050.61 1841.74 3050.71 1842.12 3049.84 1839.87 3050 1840.19 3048.56 1838.01 3048.71 1838.2 3046.95 1836.18 3044.55 1834.14 3041.66 1832.02 3038.33 1829.96 3034.45 1827.93 3030.15 1825.9 3025.39 1823.92 3020.19 1821.94 3014.63 1820.02 3002.39 1816.35 2988.76 1812.93 2974.01 1809.75 2958.12 1806.89 2941.42 1804.39 2923.9 1802.27 2905.82 1800.53 2887.3 1799.28 2868.48 1798.47 2849.48 1798.22ZM3228.52 1876.42 3255.7 1890.8 3227.88 1903.91Z" fill="#890857"/>
+    <path d="M2578 1103.75 2638.5 1103.75 2638.5 1080 2686 1127.5 2638.5 1175 2638.5 1151.25 2578 1151.25Z" fill="#0071C5" fill-rule="evenodd" fill-opacity="0.501961"/>
+    <path d="M2956.92 1877.31 3000.36 1919.95 3016.93 1903.07 3017.55 1969.96 2950.65 1970.59 2967.22 1953.71 2923.79 1911.07Z" fill="#0071C5" fill-rule="evenodd" fill-opacity="0.501961"/>
+    <path d="M939.5 833.5C939.5 818.588 950.469 806.5 964 806.5 977.531 806.5 988.5 818.588 988.5 833.5 988.5 848.412 977.531 860.5 964 860.5 950.469 860.5 939.5 848.412 939.5 833.5Z" stroke="#006047" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#008564" fill-rule="evenodd"/>
+    <path d="M965.792 655.5 965.792 730.981C965.792 732.247 964.766 733.273 963.501 733.273L963.5 733.273 965.792 730.981 965.792 783.546 961.208 783.546 961.208 730.981C961.208 729.716 962.235 728.69 963.5 728.69L963.501 728.69 961.209 730.981 961.209 655.5ZM977.25 778.963 963.5 806.463 949.75 778.963Z" fill="#008563"/>
+    <text font-family="Arial,Arial_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 815.508 946)">false</text>
+    <text font-family="Arial,Arial_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1029.08 808)">true</text>
+    <path d="M1507.5 1114.5C1507.5 1099.59 1518.69 1087.5 1532.5 1087.5 1546.31 1087.5 1557.5 1099.59 1557.5 1114.5 1557.5 1129.41 1546.31 1141.5 1532.5 1141.5 1518.69 1141.5 1507.5 1129.41 1507.5 1114.5Z" stroke="#006047" stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="#008564" fill-rule="evenodd"/>
+    <path d="M1535.38 900.5 1535.38 993.849C1535.38 995.114 1534.35 996.14 1533.09 996.14L1532.5 996.14 1534.79 993.849 1534.79 1064.28 1530.21 1064.28 1530.21 993.849C1530.21 992.583 1531.23 991.557 1532.5 991.557L1533.09 991.557 1530.8 993.849 1530.8 900.5ZM1546.25 1059.7 1532.5 1087.2 1518.75 1059.7Z" fill="#008563"/>
+    <text font-family="Arial,Arial_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1405.87 1282)">true</text>
+    <text font-family="Arial,Arial_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1590.37 1071)">false</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="64" transform="matrix(1 0 0 1 328.764 396)">Start</text>
+    <path d="M0 0 177.266 0 177.266 2109.2 354.533 2109.2" stroke="#008563" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="none" fill-rule="evenodd" transform="matrix(1.83697e-16 1 1 -1.83697e-16 2113.5 1180.5)"/>
+    <path d="M4225.53 1612.5 4225.53 2311.62C4225.53 2312.89 4224.5 2313.91 4223.23 2313.91L583.414 2313.91 583.414 2309.33 4223.23 2309.33 4220.94 2311.62 4220.94 1612.5ZM588 2325.37 560.5 2311.62 588 2297.87Z" fill="#008563"/>
+    <path d="M4223.5 1536.5 4223.5 1612.57" stroke="#008563" stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="none" fill-rule="evenodd"/>
+    <path d="M2464 1438.17C2464 1423.72 2475.72 1412 2490.17 1412L3146.83 1412C3161.28 1412 3173 1423.72 3173 1438.17L3173 1542.83C3173 1557.28 3161.28 1569 3146.83 1569L2490.17 1569C2475.72 1569 2464 1557.28 2464 1542.83Z" fill="#0071C5" fill-rule="evenodd" fill-opacity="0.501961"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 2601 1512)">HTTP </text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="64" transform="matrix(1 0 0 1 2753.4 1512)">HEAD/GET</text>
+    <path d="M2337 1468.5 2398 1468.5 2398 1445 2445 1492 2398 1539 2398 1515.5 2337 1515.5Z" fill="#0071C5" fill-rule="evenodd" fill-opacity="0.501961"/>
+    <rect x="3253" y="1715" width="424" height="102" fill="#5D1682" fill-opacity="0.501961"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="50" transform="matrix(1 0 0 1 3362.57 1783)">GetData</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="50" transform="matrix(1 0 0 1 3536.17 1783)">()</text>
+    <text fill="#890C58" font-family="Calibri,Calibri_MSFontService,sans-serif" font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 1 3195.85 1686)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL</text>
+    <rect x="3256" y="1840" width="421" height="102" fill="#5D1682" fill-opacity="0.501961"/>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="50" transform="matrix(1 0 0 1 3322.5 1908)">GeOemData</text>
+    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="700" font-size="50" transform="matrix(1 0 0 1 3579.17 1908)">()</text>
+  </g>
+</svg>
diff --git a/RedfishClientPkg/Readme.md b/RedfishClientPkg/Readme.md
index 0aec0580..69dc33d3 100644
--- a/RedfishClientPkg/Readme.md
+++ b/RedfishClientPkg/Readme.md
@@ -31,13 +31,13 @@ Redfish property with HII option.
 
 The current design of UEFI Redfish Client EDK2 Implementation can already
 support the provisioning of firmware-owned platform Redfish resource, however,
-this requires addtional support on edk2 HII. Therefore, provisioning of
+this requires additional support on edk2 HII. Therefore, provisioning of
 firmware managed platform Redfish resource would be the second stage.
 
 Below are the block diagrams of UEFI Redfish Client EDK2 Implementation.
 
 ## <a name="[0]">EDK2 Redfish Client Implementation Diagrams</a>
-![UEFI Redfish Client Implementation](https://github.com/changab/edk2-staging/blob/edk2-redfish-client/RedfishClientPkg/Documents/Media/RedfishClientDriverStack.svg?raw=true)
+![UEFI Redfish Client Implementation](https://github.com/tianocore/edk2-redfish-client/blob/main/RedfishClientPkg/Documents/Media/RedfishClientDriverStack.svg?raw=true)
 
 ## EFI EDK2 Redfish Client Framework
 The functionality of each block in the diagrams are described in below sections,
@@ -89,7 +89,7 @@ Redfish service to platform configurations, or vice versa to update platform
 configurations to Redfish service. Both EDK2 Redfish Non-Collection and
 Collection Feature drivers are script auto-generated base on Redfish schema
 naming. The EDK2 Redfish Non-Collection feature driver manages the resource of
-specific Resdifsh resource type, while the EDK2 Redfish Collection feature
+specific Redfish resource type, while the EDK2 Redfish Collection feature
 driver manages the members which have the same resource type in collection
 resource (e.g the ComputerSystem resource and ComputerSystemCollection resource)
 .
@@ -100,18 +100,30 @@ platform configuration format and storage from EDK2 Redfish Feature driver.
 This protocol provides the interfaces to get and set platform configuration with
 the format and configuration storage agnostic to the Redfish feature driver.
 The platform can provide its own EDKII Redfish Platform Config driver instance
-to access platform-specific configuration format and storage. On EDK2 open
-source, EDKII Redfish Platform Config Protocol accesses the platform
-configuration in EDK2 HII defined format.
+to access platform-specific configuration format and storage.
+
+On EDK2 open source, EDKII Redfish Platform Config Protocol accesses the
+platform configuration in EDK2 HII defined format. Below is driver stack diagram
+which implements EDKII Redfish Platform Config Protocol. The protocol driver
+leverages the HII interface to get or set the HII configuration on platform. By
+following the x-uefi-redfish Configure Language defined in UNI file, protocol
+driver can find corresponding HII question for given Redfish attribute. In this
+way, protocol driver creates the mapping between HII questions and Redfish
+attributes.
+
+![platform config](https://github.com/nicklela/edk2-redfish-client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-platform-config-protocol-stack.svg?raw=true)
 
 Below is the prototype of **EDKII_REDFISH_PLATFORM_CONFIG_PROTOCOL**,
 
 ```C
 struct _EDKII_REDFISH_PLATFORM_CONFIG_PROTOCOL {
-  EDKII_REDFISH_PLATFORM_CONFIG_GET_VALUE             GetValue;
-  EDKII_REDFISH_PLATFORM_CONFIG_SET_VALUE             SetValue;
-  EDKII_REDFISH_PLATFORM_CONFIG_GET_CONFIG_LANG       GetConfigureLang;
-  EDKII_REDFISH_PLATFORM_CONFIG_GET_SUPPORTED_SCHEMA  GetSupportedSchema;
+  UINT64                                                Revision;
+  EDKII_REDFISH_PLATFORM_CONFIG_GET_VALUE               GetValue;
+  EDKII_REDFISH_PLATFORM_CONFIG_SET_VALUE               SetValue;
+  EDKII_REDFISH_PLATFORM_CONFIG_GET_DEFAULT_VALUE       GetDefaultValue;
+  EDKII_REDFISH_PLATFORM_CONFIG_GET_ATTRIBUTE           GetAttribute;
+  EDKII_REDFISH_PLATFORM_CONFIG_GET_CONFIG_LANG         GetConfigureLang;
+  EDKII_REDFISH_PLATFORM_CONFIG_GET_SUPPORTED_SCHEMA    GetSupportedSchema;
 };
 ```
 
@@ -181,11 +193,10 @@ x-uefi-redfish-Processor.v1_0_0
 ```
 #### x-uefi-redfish Configure Language format:
 - The string declared with x-uefi-redfish configure language is a path to the property
-in Redfish resource
+in Redfish schema.
 - The root of path is the Redfish resource type indicated in x-uefi-redfish configure
 language
-- The path is relative to root of Redfish resource type, not related to Redfish service
-- root.
+- The path is relative to root of [Redfish schema](https://redfish.dmtf.org/redfish/schema_index) defined by DMTF, not related to Redfish service root.
 
 #### Examples,
 ```C
@@ -215,7 +226,135 @@ EDK2 Build is responsible to pull the necessary EDK2 Redfish JSON Schema to C
 Structure Convertors and EDK2 Redfish Feature drivers into edk2 build process
 according to the x-uefi-Redfish config language used in the HII VFR forms.
 
+## EDK2 Redfish client feature driver
+![foundation driver stack](https://github.com/nicklela/edk2-redfish-client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-foundation-driver-stack.svg?raw=true)
+
+Above diagram shows the way how Redfish application (Redfish feature driver) works with Redfish foundation
+drivers and communicate with Redfish service. Redfish feature driver relies on Redfish Config driver to
+provide the information of desired Rest Ex instance. To achieve this, Redfish feature driver has to provide
+EDKII Redfish Config Handler Protocol and Redfish Config driver will use this protocol to deliver Redfish
+service information.
+
+```C
+struct _EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL {
+  EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_INIT    Init;
+  EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_STOP    Stop;
+};
+```
+
+![feature driver call flow](https://github.com/nicklela/edk2-redfish-client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-feature-driver-call-flow.svg?raw=true)
+
+Above diagram shows the details of how Redfish feature core driver invokes Redfish feature drivers. To be called
+by Redfish feature core driver, Redfish feature driver has to register the managed URI to Redfish feature core
+driver. Then Redfish feature core driver learns the dependency of each different feature drivers.
+
+#### Dispatch Redfish feature drivers
+When given event is signaled, Redfish feature core driver starts the operation of invoking Redfish feature drivers
+by following the order from left to right in Redfish URI list. In the diagram, the feature driver which manages
+service root will be invoked first. And feature driver which manages computer system collection will be invoked
+at second position. Once Redfish feature core driver walks through entire Redfish URI, the operation is stopped.
+
+### Interface between collection feature driver and non-collection feature driver
+Redfish collection resource is a set of Redfish non-collection resource. Redfish collection feature driver works
+with non-collection feature driver to manage them. For example, boot option collection feature driver work with
+boot option feature driver to manage boot options in Redfish service. Computer system collection feature driver
+work with computer system feature driver to manage computer system resource.
+
+The interface between collection feature driver and non-collection feature driver is EDKII Redfish resource config
+protocol.
+
+```C
+struct _EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL {
+  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_PROVISIONING    Provisioning;
+  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CONSUME         Consume;
+  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_UPDATE          Update;
+  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CHECK           Check;
+  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_IDENTIFY        Identify;
+  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_GET_INFO        GetInfo;
+};
+```
+
+### Feature driver event
+Two events are defined for feature driver to perform necessary operation at given time.
+- Ready-to-Provisioning event
+  - Feature driver which requires to do operation before Redfish feature driver starts the synchronization can listen to
+    this event. For example, boot option feature driver may want to refresh boot order variable and get latest boot order
+    information before provisioning the boot options to boot options resource.
+- After-Provisioning event
+  - Feature driver which wants to do operation after Redfish feature driver finish the synchronization job can listen to
+    this event.
+
+### Reboot required
+When Redfish feature drivers apply user request to platform, a system reboot is usually required. PCD `gEfiRedfishClientPkgTokenSpaceGuid.PcdRedfishSystemRebootRequired` is introduced for this purpose. After Redfish feature
+core driver is done with synchronization job, Redfish feature core driver checks this PCD and perform system reboot when
+PCD is set to `TRUE`.
+
+### Synchronization design between Redfish service and BIOS
+The purpose of Redfish feature driver is to do the synchronization job between Redfish service and BIOS. The operation of synchronization can be simply divided into two types:
+
+#### Provisioning resource
+Below is the flow diagram of provisioning platform configuration to Redfish service at Bios resource. With the x-uefi-redfish
+configure language described in above section, Redfish feature driver collect all BIOS attributes from HII database and populated
+them to Redfish service.
+![provisioning](https://github.com/nicklela/edk2-redfish-client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg?raw=true)
+
+#### Consume resource
+Below is the flow diagram of consuming user request from Redfish service to platform configuration. Redfish feature driver finds
+corresponding HII question and apply user desired value to platform.
+![pending settings](https://github.com/nicklela/edk2-redfish-client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-call-flow-pending-settings.svg?raw=true)
+
+Below diagram shows the call flow of EDKII Resource Config Protocol and how to use this protocol to handle synchronization
+job.
+![synchronization](https://github.com/nicklela/edk2-redfish-client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-synchronization-design.svg?raw=true)
+
+Several interfaces defined in EDKII Redfish Resource Config Protocol work together to support Redfish synchronization:
+- Identify()
+  - This function is used to check and see if given Redfish resource is the one feature driver wants to manage. A platform
+    library `RedfishReesourceIdentifyLib` is introduced for platform to implement its own policy to identify Redfish resource.
+- Check()
+  - This function is used to check the attribute status on Redfish service. If all attributes that feature driver managed
+    are presented in Redfish service, feature driver must provision them already. Otherwise, Provisioning() will be called
+    to perform resource provisioning job.
+- Provisioning()
+  - When this function is called, feature driver will provision all attributes that it managed to Redfish service. This
+    operation usually create new resource at Redfish service and require different operation that Redfish service specified.
+- Consume()
+  - When there is pending settings in Redfish service, this function is called for feature driver to consume pending settings
+    requested by user.
+- Update()
+  - When platform configuration is updated, this function is called to update configuration changes to Redfish service and
+    Redfish service can show the latest settings on platform.
+
+The EDKII Redfish Resource Addendum Protocol is introduced to provide platform addendum data that Redfish service requires.
+This protocol will be called at Provisioning() and Update() functions so platform can add OEM attribute or any other attribute
+that Redfish service specified.
+
+```C
+struct _EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL {
+  UINT64                                  Revision;    ///< Protocol revision
+  EDKII_REDFISH_RESOURCE_ADDENDUM_OEM     GetOemData;  ///< Get OEM data
+  EDKII_REDFISH_RESOURCE_ADDENDUM_DATA    GetData;     ///< Get addendum data
+};
+```
+
+#### Redfish service implementation
+The idea of Redfish synchronization design is to manage Redfish resource directly by platform firmware. To do this, Redfish
+synchronization functions have to work with Redfish service implementation in BMC firmware. This is because the interface
+between platform firmware and BMC firmware is not defined in any specification.
+Several prerequisites must be satisfied:
+- Platform firmware has permission to manage Redfish resource. BMC has ability to tell the difference between platform request
+  and out-of-band user. This can normally be done by identifying the bootstrap account in HTTP request. The bootstrap account is
+  described in Host Interface specification 1.3.0 section 9.
+- The ability to tell if there is user changes to Redfish resource or not. Redfish feature drivers can only be executed at POST
+  time. So the modification to BIOS managed resource is asynchronous operation. Thus, we need below supports in Redfish service:
+  - ETAG support in HTTP header.
+  - Setting resource support (defined in Redfish specification 1.18 section 9.10).
+  - Redfish Task support to POST and DELETE operation made by user in Redfish collection resource and Redfish actions.
+
+### Redfish Task design
+TBD.
+
 ## The Contributors
-Chang, Abner <abner.chang@hpe.com>\
-Wang, Nickle <nickle.wang@hpe.com>\
+Chang, Abner <abner.chang@amd.com>\
+Wang, Nickle <nicklew@nvidia.com>\
 Chen, Aaron <aaron.chen@hpe.com>
-- 
2.17.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#108542): https://edk2.groups.io/g/devel/message/108542
Mute This Topic: https://groups.io/mt/101316997/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [edk2-redfish-client][PATCH] RedfishClientPkg: update Readme.md
Posted by Chang, Abner via groups.io 7 months, 2 weeks ago
[AMD Official Use Only - General]

Hi Nickle,
See my comments in line.

Thanks
Abner

> -----Original Message-----
> From: Nickle Wang <nicklew@nvidia.com>
> Sent: Tuesday, September 12, 2023 11:10 PM
> To: devel@edk2.groups.io
> Cc: Chang, Abner <Abner.Chang@amd.com>; Igor Kulchytskyy
> <igork@ami.com>
> Subject: [edk2-redfish-client][PATCH] RedfishClientPkg: update Readme.md
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> Update readme for below topics:
> - The call flow of BIOS Redfish provisioning scenario.
> - The call flow of BIOS Redfish pending settings scenario.
> - The call flow of Redfish feature driver dispatch.
> - Redfish foundation driver stack design.
> - The design of Redfish Platform Config Protocol.
> - The design of synchronization between BIOS and Redfish service.
>
> Signed-off-by: Nickle Wang <nicklew@nvidia.com>
> Cc: Abner Chang <abner.chang@amd.com>
> Cc: Igor Kulchytskyy <igork@ami.com>
> ---
>  .../redfish-call-flow-pending-settings.svg    |  58 ++++++
>  .../Media/redfish-call-flow-provisioning.svg  |  46 +++++
>  .../redfish-feature-driver-call-flow.svg      | 133 ++++++++++++++
>  .../Media/redfish-foundation-driver-stack.svg |  75 ++++++++
>  ...redfish-platform-config-protocol-stack.svg |  99 ++++++++++
>  .../Media/redfish-synchronization-design.svg  |  75 ++++++++
>  RedfishClientPkg/Readme.md                    | 169 ++++++++++++++++--
>  7 files changed, 640 insertions(+), 15 deletions(-)
>  create mode 100755 RedfishClientPkg/Documents/Media/redfish-call-flow-
> pending-settings.svg
>  create mode 100755 RedfishClientPkg/Documents/Media/redfish-call-flow-
> provisioning.svg
>  create mode 100755 RedfishClientPkg/Documents/Media/redfish-feature-
> driver-call-flow.svg
>  create mode 100755 RedfishClientPkg/Documents/Media/redfish-
> foundation-driver-stack.svg
>  create mode 100755 RedfishClientPkg/Documents/Media/redfish-platform-
> config-protocol-stack.svg
>  create mode 100755 RedfishClientPkg/Documents/Media/redfish-
> synchronization-design.svg
>
> diff --git a/RedfishClientPkg/Documents/Media/redfish-call-flow-pending-
> settings.svg b/RedfishClientPkg/Documents/Media/redfish-call-flow-
> pending-settings.svg
> new file mode 100755
> index 00000000..155a5ab3
> --- /dev/null
> +++ b/RedfishClientPkg/Documents/Media/redfish-call-flow-pending-
> settings.svg
> @@ -0,0 +1,58 @@
> +<svg width="4414" height="1709" style="background-color:white"
> xmlns="http://www.w3.org/2000/svg"
> xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
> overflow="hidden">
> +  <defs>
> +    <clipPath id="clip0">
> +      <rect x="12" y="509" width="4414" height="1709"/>
> +    </clipPath>
> +  </defs>
> +  <g clip-path="url(#clip0)" transform="translate(-12 -509)">
> +    <rect x="2057.5" y="676.5" width="557" height="128" stroke="#BCBCBC"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#FFFFFF"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 2143.23
> 758)">Feature Driver</text>
> +    <rect x="600.5" y="676.5" width="557" height="128" stroke="#BCBCBC"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#FFFFFF"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 763.66 758)">EDK2
> HII</text>
> +    <rect x="3408.5" y="676.5" width="587" height="128" stroke="#BCBCBC"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#FFFFFF"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 3499.14
> 758)">Redfish Service</text>
> +    <path d="M2338.94 804.5 2338.94 2102.76 2332.06 2102.76 2332.06
> 804.5ZM2354.51 2076.99 2335.5 2109.58 2316.49 2076.99C2315.53
> 2075.35 2316.09 2073.25 2317.73 2072.29 2319.37 2071.34 2321.47
> 2071.89 2322.43 2073.53L2338.47 2101.03 2332.53 2101.03 2348.57
> 2073.53C2349.53 2071.89 2351.63 2071.34 2353.27 2072.29 2354.91
> 2073.25 2355.47 2075.35 2354.51 2076.99Z" fill="#8C8C8C"/>
> +    <path d="M871.938 804.5 871.938 2127.85 865.063 2127.85 865.063
> 804.5ZM887.511 2102.08 868.501 2134.67 849.49 2102.08C848.533
> 2100.44 849.087 2098.34 850.727 2097.38 852.367 2096.43 854.471
> 2096.98 855.428 2098.62L871.47 2126.12 865.531 2126.12 881.573
> 2098.62C882.53 2096.98 884.634 2096.43 886.274 2097.38 887.914
> 2098.34 888.468 2100.44 887.511 2102.08Z" fill="#8C8C8C"/>
> +    <path d="M3710.94 804.5 3710.94 2127.85 3704.06 2127.85 3704.06
> 804.5ZM3726.51 2102.08 3707.5 2134.67 3688.49 2102.08C3687.53
> 2100.44 3688.09 2098.34 3689.73 2097.38 3691.37 2096.43 3693.47
> 2096.98 3694.43 2098.62L3710.47 2126.12 3704.53 2126.12 3720.57
> 2098.62C3721.53 2096.98 3723.63 2096.43 3725.27 2097.38 3726.91
> 2098.34 3727.47 2100.44 3726.51 2102.08Z" fill="#8C8C8C"/>
> +    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-
> 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95
> 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2335.45 1342)"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 990.014
> 1568)">3</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 1016.37
> 1568)">. If </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 1098.29
> 1568)">HII question exists and pending value is changed</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 1051.89
> 1628)">Use HII protocol/library to submit new value</text>
> +    <path d="M1444.91 1252 1719.91 1252 1719.91 1311 1444.91 1311Z"
> fill="#FFFF00" fill-rule="evenodd"/>
> +    <path d="M1719.91 1252 1844.23 1252 1844.23 1311 1719.91 1311Z"
> fill="#FFFF00" fill-rule="evenodd"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 990.014
> 1239)">2. Check and see if there is HII question with lang:</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 1051.89
> 1299)">/</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 1078.24
> 1299)">bios/attributes/</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 1444.91
> 1299)">ATTRIBUTE_</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 1719.91
> 1299)">NAME</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2378.69
> 1805)">4. Update current settings to </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2440.56
> 1865)">/redfish/v1/systems/SYS/Bios </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 3138.38
> 1865)">(provisioning)</text>
> +    <path d="M2335 1079.14 3678.02 1079.14 3678.02 1084.87 2335
> 1084.86ZM3673.43 1068.25 3700.93 1082 3673.43 1095.75Z"
> fill="#8C8C8C"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2393.47
> 968)">1. Use </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2549.88
> 968)">HTTP âEURoeGUTâEUR&#65533; to download pending settings from</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2455.35
> 1028)">/redfish</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2638.11
> 1028)">/v1/systems/SYS/Bios/Settings</text>
> +    <path d="M2335 1901.14 3678.02 1901.14 3678.02 1906.86 2335
> 1906.86ZM3673.43 1890.25 3700.93 1904 3673.43 1917.75Z"
> fill="#8C8C8C"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2151.86
> 2175)">6. </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2212.01
> 2175)">System reboot</text>
> +    <rect x="298.5" y="959.5" width="377" height="199" stroke="#CDCDCD"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#404040"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 347.29 1046)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 413.749 1105)">driver</text>
> +    <rect x="353.5" y="1014.5" width="377" height="199" stroke="#CDCDCD"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#404040"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 402.29 1101)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 468.749 1160)">driver</text>
> +    <rect x="408.5" y="1069.5" width="377" height="199" stroke="#CDCDCD"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#404040"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 457.29 1156)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 523.749 1215)">driver</text>
> +    <rect x="463.5" y="1124.5" width="377" height="199" stroke="#CDCDCD"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#404040"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 512.29 1211)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 578.749 1270)">driver</text>
> +    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-
> 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95
> 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2341.45 1666)"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="83" transform="matrix(1 0 0 1 62.1854
> 611)">Consume pending </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="83" transform="matrix(1 0 0 1 687.237
> 611)">settings:</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="50" transform="matrix(1 0 0 1
> 62.1854 680)">BMC to BIOS</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 3715.21
> 1979)">5. BMC reset pending settings</text>
> +  </g>
> +</svg>
> diff --git a/RedfishClientPkg/Documents/Media/redfish-call-flow-
> provisioning.svg b/RedfishClientPkg/Documents/Media/redfish-call-flow-
> provisioning.svg
> new file mode 100755
> index 00000000..70556152
> --- /dev/null
> +++ b/RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg
> @@ -0,0 +1,46 @@
> +<svg width="3803" height="1724" style="background-color:white"
> xmlns="http://www.w3.org/2000/svg"
> xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
> overflow="hidden">
> +  <defs>
> +    <clipPath id="clip0">
> +      <rect x="239" y="507" width="3803" height="1724"/>
> +    </clipPath>
> +  </defs>
> +  <g clip-path="url(#clip0)" transform="translate(-239 -507)">
> +    <rect x="2101.5" y="726.5" width="557" height="127" stroke="#BCBCBC"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#FFFFFF"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 2187.7
> 807)">Feature Driver</text>
> +    <rect x="644.5" y="726.5" width="557" height="127" stroke="#BCBCBC"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#FFFFFF"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 808.129 807)">EDK2
> HII</text>
> +    <rect x="3452.5" y="726.5" width="587" height="127" stroke="#BCBCBC"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#FFFFFF"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 3543.6
> 807)">Redfish Service</text>
> +    <path d="M2383.94 853.5 2383.94 2188.56 2377.06 2188.56 2377.06
> 853.5ZM2399.51 2162.79 2380.5 2195.38 2361.49 2162.79C2360.53
> 2161.15 2361.09 2159.04 2362.73 2158.08 2364.37 2157.13 2366.47
> 2157.68 2367.43 2159.32L2383.47 2186.82 2377.53 2186.82 2393.57
> 2159.32C2394.53 2157.68 2396.63 2157.13 2398.27 2158.08 2399.91
> 2159.04 2400.47 2161.15 2399.51 2162.79Z" fill="#8C8C8C"/>
> +    <path d="M915.938 853.5 915.938 2188.56 909.063 2188.56 909.063
> 853.5ZM931.511 2162.79 912.501 2195.38 893.49 2162.79C892.533
> 2161.15 893.087 2159.04 894.727 2158.08 896.367 2157.13 898.471
> 2157.68 899.428 2159.32L915.47 2186.82 909.531 2186.82 925.573
> 2159.32C926.53 2157.68 928.634 2157.13 930.274 2158.08 931.914
> 2159.04 932.468 2161.15 931.511 2162.79Z" fill="#8C8C8C"/>
> +    <path d="M3754.94 853.5 3754.94 2188.56 3748.06 2188.56 3748.06
> 853.5ZM3770.51 2162.79 3751.5 2195.38 3732.49 2162.79C3731.53
> 2161.15 3732.09 2159.04 3733.73 2158.08 3735.37 2157.13 3737.47
> 2157.68 3738.43 2159.32L3754.47 2186.82 3748.53 2186.82 3764.57
> 2159.32C3765.53 2157.68 3767.63 2157.13 3769.27 2158.08 3770.91
> 2159.04 3771.47 2161.15 3770.51 2162.79Z" fill="#8C8C8C"/>
> +    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-
> 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95
> 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2379.45 1003)"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 957.259
> 969)">1. Find all HII questions with </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 1620.12
> 969)">language: </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="50" transform="matrix(1 0 0 1 1854.45
> 969)">âEURoe/bios/attributes/*</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2292.73
> 969)">âEUR&#65533; </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 985.955
> 1526)">3. Get current value of each HII question and</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 1047.83
> 1586)">append value to attribute list</text>
> +    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-
> 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95
> 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2379.45 1391)"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2417.95
> 1202)">2. Follow Bios schema and </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2479.82
> 1262)">create attribute list</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2412.63
> 1795)">4. BIOS current settings is ready</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 2474.5
> 1855)">Issue HTTP âEURoePUTâEUR&#65533; to
> /redfish/v1/systems/SYS/Bios</text>
> +    <path d="M2385 1906.14 3728.02 1906.14 3728.02 1911.86 2385
> 1911.86ZM3723.43 1895.25 3750.93 1909 3723.43 1922.75Z"
> fill="#8C8C8C"/>
> +    <rect x="342.5" y="1008.5" width="377" height="199" stroke="#CDCDCD"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#404040"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 391.759 1095)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 458.217 1154)">driver</text>
> +    <rect x="397.5" y="1063.5" width="377" height="199" stroke="#CDCDCD"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#404040"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 446.759 1150)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 513.217 1209)">driver</text>
> +    <rect x="452.5" y="1118.5" width="377" height="199" stroke="#CDCDCD"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#404040"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 501.759 1205)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 568.217 1264)">driver</text>
> +    <rect x="507.5" y="1173.5" width="377" height="199" stroke="#CDCDCD"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#404040"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 556.759 1260)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 623.217 1319)">driver</text>
> +    <path d="M22.9158-2.86458 1467.45-2.86422 1467.45 2.86494
> 22.9158 2.86459ZM27.5 13.75 0 0 27.5-13.75Z" fill="#8C8C8C"
> transform="matrix(-1 0 0 1 2379.45 1453)"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="83" transform="matrix(1 0 0 1 289.433
> 610)">Provisioning:</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="50" transform="matrix(1 0 0 1
> 289.433 679)">BIOS to BMC</text>
> +  </g>
> +</svg>
> diff --git a/RedfishClientPkg/Documents/Media/redfish-feature-driver-call-
> flow.svg b/RedfishClientPkg/Documents/Media/redfish-feature-driver-call-
> flow.svg
> new file mode 100755
> index 00000000..acea6b44
> --- /dev/null
> +++ b/RedfishClientPkg/Documents/Media/redfish-feature-driver-call-
> flow.svg
> @@ -0,0 +1,133 @@
> +<svg width="4287" height="2303" style="background-color:white"
> xmlns="http://www.w3.org/2000/svg"
> xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
> overflow="hidden">
> +  <defs>
> +    <clipPath id="clip0">
> +      <rect x="29" y="171" width="4287" height="2303"/>
> +    </clipPath>
> +  </defs>
> +  <g clip-path="url(#clip0)" transform="translate(-29 -171)">
> +    <rect x="33" y="171" width="1544" height="436" fill="#F2F2F2"/>
> +    <path d="M3300 305.835C3300 231.368 3360.37 171 3434.84
> 171L3974.16 171C4048.63 171 4109 231.368 4109 305.835L4109
> 1758.16C4109 1832.63 4048.63 1893 3974.16 1893L3434.84
> 1893C3360.37 1893 3300 1832.63 3300 1758.16Z" fill="#E8E8E8" fill-
> rule="evenodd"/>
> +    <path d="M616 846C616 827.222 631.223 812 650.001 812L1142
> 812C1160.78 812 1176 827.222 1176 846L1176 982C1176 1000.78
> 1160.78 1016 1142 1016L650.001 1016C631.223 1016 616 1000.78 616
> 982Z" fill="#76B900" fill-rule="evenodd"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 703.081 901)">Redfish Feature </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 756.935 960)">Core Driver</text>
> +    <rect x="30.5001" y="635.5" width="797" height="144"
> stroke="#000000" stroke-width="3.4375" stroke-linejoin="round" stroke-
> miterlimit="10" fill="none"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="55" transform="matrix(1 0 0 1 63.3886 702)">Event
> driven</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1
> 63.3886 751)">PcdEdkIIRedfishFeatureDriverStartupEventGuid</text>
> +    <path d="M0.11336-2.86234 6.42586-2.61234 12.9907-1.77865
> 19.4637-0.428434 25.9229 1.43627 32.3153 3.81669 38.6329 6.70925
> 44.8331 9.96451 50.9302 13.6801 56.9417 17.8314 62.8126 22.3572
> 68.5498 27.2608 74.153 32.5411 84.7977 44.1253 94.8188 56.9226
> 104.013 70.7936 112.257 85.6759 119.538 101.424 125.742 117.799
> 130.688 134.762 134.365 152.159 135.732 164.561 130.036 165.182
> 128.76 153.341 125.187 136.363 120.383 119.826 114.337 103.826
> 107.243 88.4491 99.2365 73.9564 90.3062 60.4524 80.5773 47.9997
> 70.222 36.7089 64.8252 31.6142 59.3124 26.8928 53.6833 22.5436
> 47.9448 18.5699 42.1669 15.0355 36.2421 11.9158 30.3096 9.1833
> 24.3271 6.93873 18.2863 5.17843 12.2593 3.90365 6.19914 3.11234-
> 0.11336 2.86234ZM146.247 159.259 134.621 187.722 118.826 161.343Z"
> fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16 429
> 779)"/>
> +    <rect x="33.4998" y="1065.5" width="727" height="177"
> stroke="#BCBCBC" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="#FFFFFF"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="55" transform="matrix(1 0 0 1 65.7033
> 1129)">Ready</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="55" transform="matrix(1 0 0 1 206.641 1129)">-
> </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="55" transform="matrix(1 0 0 1 223.255
> 1129)">to</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="55" transform="matrix(1 0 0 1 271.953 1129)">-
> </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="55" transform="matrix(1 0 0 1 288.568
> 1129)">Provision Signal</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1
> 65.7033 1173)">gEfiRedfishClientFeatureReadyToProvisionin</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1
> 65.7033 1213)">gGuid</text>
> +    <rect x="33.4998" y="2310.5" width="727" height="144"
> stroke="#BCBCBC" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="#FFFFFF"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="55" transform="matrix(1 0 0 1 65.7037
> 2358)">After</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="55" transform="matrix(1 0 0 1 182.006 2358)">-
> </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="55" transform="matrix(1 0 0 1 198.62
> 2358)">Provision Signal</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1
> 65.7037 2402)">gEfiRedfishClientFeatureAfterProvisioningG</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1
> 65.7037 2442)">uid</text>
> +    <path d="M898.61 1016 898.61 1153.86C898.61 1155.44 897.327
> 1156.72 895.745 1156.72L782.917 1156.72 782.917 1150.99 895.745
> 1150.99 892.881 1153.86 892.881 1016ZM787.5 1167.61 760 1153.86
> 787.5 1140.11Z" fill="#8C8C8C"/>
> +    <path d="M898.61 1016 898.61 2382.49C898.61 2384.08 897.327
> 2385.36 895.745 2385.36L782.917 2385.36 782.917 2379.63 895.745
> 2379.63 892.881 2382.49 892.881 1016ZM787.5 2396.24 760 2382.49
> 787.5 2368.74Z" fill="#8C8C8C"/>
> +    <path d="M1192.5 1194.67C1192.5 1181.32 1203.32 1170.5 1216.67
> 1170.5L1690.33 1170.5C1703.68 1170.5 1714.5 1181.32 1714.5
> 1194.67L1714.5 1291.33C1714.5 1304.68 1703.68 1315.5 1690.33
> 1315.5L1216.67 1315.5C1203.32 1315.5 1192.5 1304.68 1192.5
> 1291.33Z" stroke="#008564" stroke-width="9.16667" stroke-
> linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 1313.38
> 1258)">Service Root</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="48" transform="matrix(1 0 0 1 1192.27
> 1131)">/redfish/v1</text>
> +    <path d="M0-2.86458 226.791-2.86458C228.373-2.86458 229.656-
> 1.58207 229.656 0L229.656 273.147 223.927 273.147 223.927 0 226.791
> 2.86458 0 2.86458ZM240.541 268.564 226.791 296.064 213.041
> 268.564Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> 896 1016)"/>
> +    <path d="M1629.5 1428.67C1629.5 1415.32 1640.32 1404.5 1653.67
> 1404.5L2126.33 1404.5C2139.68 1404.5 2150.5 1415.32 2150.5
> 1428.67L2150.5 1525.33C2150.5 1538.68 2139.68 1549.5 2126.33
> 1549.5L1653.67 1549.5C1640.32 1549.5 1629.5 1538.68 1629.5
> 1525.33Z" stroke="#008564" stroke-width="9.16667" stroke-
> linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 1681.69
> 1462)">ComputerSystemC</text>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 1792.26
> 1521)">ollection</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="48" transform="matrix(1 0 0 1 1626.06
> 1376)">/redfish/v1/Systems</text>
> +    <path d="M0-2.86458 460.879-2.86458C462.461-2.86458 463.743-
> 1.58207 463.743 0L463.743 709.637 458.014 709.637 458.014 0 460.879
> 2.86458 0 2.86458ZM474.629 705.053 460.879 732.553 447.129
> 705.053Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> 896 1016)"/>
> +    <path d="M2512.5 1427.5C2512.5 1414.25 2523.25 1403.5 2536.5
> 1403.5L3009.5 1403.5C3022.75 1403.5 3033.5 1414.25 3033.5
> 1427.5L3033.5 1523.5C3033.5 1536.75 3022.75 1547.5 3009.5
> 1547.5L2536.5 1547.5C2523.25 1547.5 2512.5 1536.75 2512.5 1523.5Z"
> stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill-rule="evenodd"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 2579.22
> 1490)">ComputerSystem</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="48" transform="matrix(1 0 0 1 2510.53
> 1371)">/redfish/v1/Systems/SYS</text>
> +    <path d="M0.0107384-2.86456 338.69-1.59496 338.668 4.13417-
> 0.0107384 2.86456ZM334.147-12.4975 361.595 1.35551 334.044
> 15.0023Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 2150 1476.36)"/>
> +    <path d="M1889.5 1748.67C1889.5 1735.32 1900.32 1724.5 1913.67
> 1724.5L2387.33 1724.5C2400.68 1724.5 2411.5 1735.32 2411.5
> 1748.67L2411.5 1845.33C2411.5 1858.68 2400.68 1869.5 2387.33
> 1869.5L1913.67 1869.5C1900.32 1869.5 1889.5 1858.68 1889.5
> 1845.33Z" stroke="#008564" stroke-width="9.16667" stroke-
> linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 2103.34
> 1812)">Bios</text>
> +    <path d="M0-2.86458 780.807-2.86458C782.389-2.86458 783.672-
> 1.58207 783.672 0L783.672 970.304 777.943 970.304 777.943 0 780.807
> 2.86458 0 2.86458ZM794.557 965.718 780.807 993.218 767.057
> 965.718Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> 896 1016)"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="48" transform="matrix(1 0 0 1 1894.92
> 1693)">/redfish/v1/Systems/SYS/Bios</text>
> +    <path d="M2053.5 2040.5C2053.5 2027.25 2064.25 2016.5 2077.5
> 2016.5L2551.5 2016.5C2564.75 2016.5 2575.5 2027.25 2575.5
> 2040.5L2575.5 2136.5C2575.5 2149.75 2564.75 2160.5 2551.5
> 2160.5L2077.5 2160.5C2064.25 2160.5 2053.5 2149.75 2053.5 2136.5Z"
> stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill-rule="evenodd"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 2106.47
> 2103)">MemoryCollection</text>
> +    <path d="M0-2.86458 1072.19-2.86458C1073.77-2.86458 1075.05-
> 1.58207 1075.05 0L1075.05 1134.13 1069.33 1134.13 1069.33 0 1072.19
> 2.86458 0 2.86458ZM1085.94 1129.55 1072.19 1157.05 1058.44
> 1129.55Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> 896 1016)"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="48" transform="matrix(1 0 0 1 2062.37
> 1981)">/redfish/v1/Systems/SYS/Memory</text>
> +    <path d="M2920.5 2040.5C2920.5 2027.25 2931.25 2016.5 2944.5
> 2016.5L3418.5 2016.5C3431.75 2016.5 3442.5 2027.25 3442.5
> 2040.5L3442.5 2136.5C3442.5 2149.75 3431.75 2160.5 3418.5
> 2160.5L2944.5 2160.5C2931.25 2160.5 2920.5 2149.75 2920.5 2136.5Z"
> stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill-rule="evenodd"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 3085.32
> 2103)">Memory</text>
> +    <path d="M2.98962e-06-2.86458 322.881-2.86425 322.881 2.86492-
> 2.98962e-06 2.86458ZM318.298-13.7497 345.798 0.000360892 318.298
> 13.7503Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 2575 2088)"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="183" transform="matrix(1 0 0 1 2263.52
> 2245)">âEUR¦</text>
> +    <path d="M3371.5 822.5C3371.5 809.245 3382.25 798.5 3395.5
> 798.5L4017.5 798.5C4030.75 798.5 4041.5 809.245 4041.5 822.5L4041.5
> 918.5C4041.5 931.755 4030.75 942.5 4017.5 942.5L3395.5
> 942.5C3382.25 942.5 3371.5 931.755 3371.5 918.5Z" stroke="#008564"
> stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill-
> rule="evenodd"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 3657.66
> 885)">Bios</text>
> +    <rect x="3371" y="601" width="670" height="144" fill="#008564"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 3486.36
> 688)">Redfish foundation</text>
> +    <rect x="3371" y="218" width="670" height="145" fill="#5E5E5E"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 3474.33
> 306)">BMC Redfish service</text>
> +    <path d="M2.86458-1.95531e-05 2.86479 29.9551-2.86438 29.9552-
> 2.86458 1.95531e-05ZM13.7502 25.3717 0.000360892 52.8718-13.7498
> 25.3719Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 3706 797.872)"/>
> +    <path d="M2.86456-0.0103569 2.94628 22.59-2.78285 22.6107-
> 2.86456 0.0103569ZM13.8151 17.9673 0.164567 45.5168-13.6848
> 18.0667Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 3706 600.517)"/>
> +    <rect x="3371" y="981" width="670" height="145" fill="#0071C5"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 3434.8
> 1069)">Redfish Platform Config</text>
> +    <rect x="3374" y="1304" width="670" height="144" fill="#8C8C8C"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 3610.58
> 1391)">EDK2 HII</text>
> +    <rect x="3377" y="1483" width="670" height="145" fill="#890C58"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 3552.42
> 1571)">Chipset driver</text>
> +    <rect x="3377" y="1666" width="670" height="144" fill="#5D1682"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 3670.44
> 1753)">HW</text>
> +    <path d="M3708.86 942 3708.86 958.191 3703.14 958.191 3703.14
> 942ZM3719.75 953.607 3706 981.107 3692.25 953.608Z" fill="#8C8C8C"/>
> +    <path d="M3708.86 1125.94 3712.02 1280.79 3706.29 1280.9 3703.14
> 1126.06ZM3722.81 1275.98 3709.62 1303.76 3695.31 1276.54Z"
> fill="#8C8C8C"/>
> +    <path d="M3711.86 1447.79 3712.77 1460.37 3707.05 1460.78
> 3706.14 1448.21ZM3723.29 1455.01 3711.57 1483.43 3695.87 1457Z"
> fill="#8C8C8C"/>
> +    <path d="M3714.86 1628 3714.86 1643.16 3709.14 1643.16 3709.14
> 1628ZM3725.75 1638.57 3712 1666.07 3698.25 1638.57Z"
> fill="#8C8C8C"/>
> +    <rect x="3371" y="411" width="670" height="144" fill="#0071C5" fill-
> opacity="0.501961"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 3606.27
> 498)">Network</text>
> +    <path d="M3703.3 411.234 3703.21 385.926 3708.94 385.907 3709.03
> 411.215ZM3692.34 390.547 3706 363 3719.84 390.453Z" fill="#8C8C8C"/>
> +    <path d="M0-2.86458 22.9167-2.86458 22.9167 2.86458 0
> 2.86458ZM40.1042-2.86458 63.0208-2.86458 63.0208 2.86458 40.1042
> 2.86458ZM80.2083-2.86458 103.125-2.86458 103.125 2.86458 80.2083
> 2.86458ZM120.312-2.86458 143.229-2.86458 143.229 2.86458 120.312
> 2.86458ZM160.417-2.86458 183.333-2.86458 183.333 2.86458 160.417
> 2.86458ZM200.521-2.86458 223.438-2.86458 223.438 2.86458 200.521
> 2.86458ZM240.625-2.86458 263.542-2.86458 263.542 2.86458 240.625
> 2.86458ZM280.729-2.86458 303.646-2.86458 303.646 2.86458 280.729
> 2.86458ZM320.833-2.86458 343.75-2.86458 343.75 2.86458 320.833
> 2.86458ZM360.938-2.86458 383.854-2.86458 383.854 2.86458 360.938
> 2.86458ZM401.042-2.86458 423.958-2.86458 423.958 2.86458 401.042
> 2.86458ZM441.146-2.86458 464.062-2.86458 464.062 2.86458 441.146
> 2.86458ZM481.25-2.86458 504.167-2.86458 504.167 2.86458 481.25
> 2.86458ZM521.354-2.86458 544.271-2.86458 544.271 2.86458 521.354
> 2.86458ZM561.458-2.86458
> + 584.375-2.86458 584.375 2.86458 561.458 2.86458ZM601.562-2.86458
> 624.479-2.86458 624.479 2.86458 601.562 2.86458ZM641.667-2.86458
> 664.583-2.86458 664.583 2.86458 641.667 2.86458ZM681.771-2.86458
> 704.688-2.86458 704.688 2.86458 681.771 2.86458ZM721.875-2.86458
> 744.52-2.86458C746.102-2.86458 747.385-1.58207 747.385 0L747.385
> 0.271391 741.656 0.271391 741.656 0 744.52 2.86458 721.875
> 2.86458ZM747.385 17.4589 747.385 40.3756 741.656 40.3756 741.656
> 17.4589ZM747.385 57.5631 747.385 80.4797 741.656 80.4797 741.656
> 57.5631ZM747.385 97.6672 747.385 120.584 741.656 120.584 741.656
> 97.6672ZM747.385 137.771 747.385 160.688 741.656 160.688 741.656
> 137.771ZM747.385 177.876 747.385 200.792 741.656 200.792 741.656
> 177.876ZM747.385 217.98 747.385 240.896 741.656 240.896 741.656
> 217.98ZM747.385 258.084 747.385 281.001 741.656 281.001 741.656
> 258.084ZM747.385 298.188 747.385 321.105 741.656 321.105 741.656
> 298.188ZM747.385
> + 338.292 747.385 361.209 741.656 361.209 741.656 338.292ZM747.385
> 378.396 747.385 401.313 741.656 401.313 741.656 378.396ZM747.385
> 418.501 747.385 441.417 741.656 441.417 741.656 418.501ZM747.385
> 458.605 747.385 481.521 741.656 481.521 741.656 458.605ZM747.385
> 498.709 747.385 521.626 741.656 521.626 741.656 498.709ZM747.385
> 538.813 747.385 561.73 741.656 561.73 741.656 538.813ZM747.385
> 578.917 747.385 601.834 741.656 601.834 741.656 578.917ZM747.385
> 619.021 747.385 641.938 741.656 641.938 741.656 619.021ZM747.385
> 659.126 747.385 682.042 741.656 682.042 741.656 659.126ZM747.385
> 699.23 747.385 722.146 741.656 722.146 741.656 699.23ZM747.385
> 739.334 747.385 762.251 741.656 762.251 741.656 739.334ZM747.385
> 779.438 747.385 802.355 741.656 802.355 741.656 779.438ZM747.385
> 819.542 747.385 842.459 741.656 842.459 741.656 819.542ZM747.385
> 859.646 747.385 882.563 741.656 882.563 741.656 859.646ZM747.385
> 899.751 747.385
> + 922.667 741.656 922.667 741.656 899.751ZM758.063 923.447 780.98
> 923.447 780.98 929.176 758.063 929.176ZM798.168 923.447 821.084
> 923.447 821.084 929.176 798.168 929.176ZM838.272 923.447 861.188
> 923.447 861.188 929.176 838.272 929.176ZM878.376 923.447 901.293
> 923.447 901.293 929.176 878.376 929.176ZM918.48 923.447 937.198
> 923.447 937.198 929.176 918.48 929.176ZM932.615 912.562 960.115
> 926.312 932.615 940.062Z" fill="#008564" transform="matrix(1 0 0 -1 2411
> 1796.31)"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="50" transform="matrix(1 0 0 1 3733.97
> 1194)">x</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="50" transform="matrix(1 0 0 1 3755.74 1194)">-
> </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="50" transform="matrix(1 0 0 1 3771.21
> 1194)">uefi</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="50" transform="matrix(1 0 0 1 3849.7 1194)">-
> </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="50" transform="matrix(1 0 0 1 3865.17
> 1194)">redfish</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="50" transform="matrix(1 0 0 1 4007.25 1194)">-
> </text>
> +    <text fill="#0071C5" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 4022.72
> 1194)">Bios.vA_B_C</text>
> +    <text fill="#0071C5" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="50" transform="matrix(1 0 0 1 3733.97
> 1255)">/Bios/Attributes/XXX</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1
> 380.14 1659)">Redfish Feature Protocol</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1
> 2829.58 2249)">Redfish Resource Config Protocol</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1
> 2426.51 1602)">Redfish Resource Config Protocol</text>
> +    <rect x="61.5" y="347.5" width="1093" height="111" stroke="#000000"
> stroke-width="3.4375" stroke-linejoin="round" stroke-miterlimit="10"
> fill="none"/>
> +    <path d="M406.025 362.408 469.046 362.408 469.046 440.408
> 406.025 440.408Z" fill="#C0C0C0" fill-rule="evenodd"/>
> +    <path d="M496.546 362.408 715.4 362.408 715.4 440.408 496.546
> 440.408Z" fill="#FFFF00" fill-rule="evenodd"/>
> +    <path d="M742.9 362.408 836.858 362.408 836.858 440.408 742.9
> 440.408Z" fill="#00FF00" fill-rule="evenodd"/>
> +    <path d="M864.358 362.408 976.65 362.408 976.65 440.408 864.358
> 440.408Z" fill="#FF00FF" fill-rule="evenodd"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 165.4
> 423)">/redfish/</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 406.025
> 423)">v1</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 469.046
> 423)">/</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 496.546
> 423)">Systems</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 715.4 423)">/</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 742.9
> 423)">SYS</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 836.858
> 423)">/</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 864.358
> 423)">Bios</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 976.65
> 423)">/âEUR¦</text>
> +    <path d="M62.9999 316.844 1336.22 316.844 1336.22 327.157
> 62.9999 327.156ZM62.9999 337.469C54.4567 337.469 47.5311 330.543
> 47.5312 322 47.5312 313.457 54.4567 306.531 62.9999 306.531 71.5431
> 306.531 78.4687 313.457 78.4687 322 78.4687 330.543 71.5431 337.469
> 62.9999 337.469ZM1331.06 306.532 1362 322 1331.06 337.469Z"
> fill="#890857"/>
> +    <rect x="462.5" y="483.5" width="285" height="87" fill="#CDCDCD"/>
> +    <path d="M438.751 483.5 438.751 570.5Z" stroke="#000000" stroke-
> width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"
> fill-rule="evenodd"/>
> +    <path d="M438.751 499.813 414.999 499.813 399.811 442.936"
> stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="none" fill-rule="evenodd"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="41" transform="matrix(1 0 0 1 497.682
> 539)">Service Root</text>
> +    <rect x="629.5" y="188.5" width="413" height="102" fill="#CDCDCD"/>
> +    <path d="M595.085 188.5 595.085 290.5Z" stroke="#000000" stroke-
> width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"
> fill-rule="evenodd"/>
> +    <path d="M595.085 207.625 560.665 207.625 528.732 372.029"
> stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="none" fill-rule="evenodd"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="41" transform="matrix(1 0 0 1 682.83
> 228)">Computer System </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="41" transform="matrix(1 0 0 1 749.861
> 272)">Collection</text>
> +    <rect x="903.5" y="470.5" width="279" height="101" fill="#CDCDCD"/>
> +    <path d="M880.251 470.5 880.251 571.5Z" stroke="#000000" stroke-
> width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"
> fill-rule="evenodd"/>
> +    <path d="M880.251 489.438 856.999 489.438 806.93 438.596"
> stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="none" fill-rule="evenodd"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="41" transform="matrix(1 0 0 1 956.072
> 510)">Computer </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="41" transform="matrix(1 0 0 1 980.134
> 554)">System</text>
> +    <rect x="1221.5" y="191.5" width="279" height="102" fill="#CDCDCD"/>
> +    <path d="M1198.25 191.5 1198.25 293.5Z" stroke="#000000" stroke-
> width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"
> fill-rule="evenodd"/>
> +    <path d="M1198.25 210.625 1175 210.625 944.866 379.72"
> stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="none" fill-rule="evenodd"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="41" transform="matrix(1 0 0 1 1324.41
> 254)">Bios</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="55" transform="matrix(1 0 0 1 65.5579
> 241)">Register</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="48" transform="matrix(1 0 0 1 2943.32
> 1981)">/redfish/v1/Systems/SYS/</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="48" transform="matrix(1 0 0 1 3469.25
> 1981)">Memory/Dimm1</text>
> +    <path d="M2390.33 1590.83 2383.15 1590.2C2383 1590.19 2382.85
> 1590.16 2382.71 1590.13L2375.59 1588.38 2372.75 1587.27 2374.89
> 1581.96 2376.95 1582.81 2384.08 1584.56 2383.64 1584.49 2390.83
> 1585.12ZM2367.15 1584.88 2361.06 1581.47 2354.16 1576.55 2352.39
> 1575 2356.21 1570.72 2357.5 1571.89 2363.85 1576.47 2369.95
> 1579.88ZM2348.12 1571.18 2347.61 1570.73 2341.43 1564.18 2336.44
> 1557.94 2340.93 1554.37 2345.6 1560.26 2351.42 1566.46 2351.93
> 1566.91ZM2333.04 1553.04 2330.39 1549.06 2325.59 1540.71 2324.23
> 1537.81 2329.42 1535.38 2330.57 1537.86 2335.15 1545.88 2337.8
> 1549.86ZM2321.8 1532.62 2321.42 1531.81 2317.85 1522.57 2315.92
> 1516.02 2321.41 1514.41 2323.19 1520.5 2326.61 1529.38 2326.99
> 1530.19ZM2314.56 1510.07 2313.97 1506.17 2319.64 1505.32 2320.22
> 1509.22ZM2303.72 1511.98 2314 1483 2331.02 1508.61Z"
> fill="#8C8C8C"/>
> +    <path d="M2793.67 2238.69 2782.92 2237.94 2776.27 2236.64
> 2777.39 2231.02 2783.32 2232.22 2794.07 2232.97ZM2770.36 2235.29
> 2761.04 2232.24 2754.03 2229.05 2756.41 2223.84 2762.82 2226.8
> 2772.14 2229.85ZM2748.66 2226.39 2740.31 2221.56 2733.96 2216.95
> 2737.33 2212.32 2743.18 2216.6 2751.52 2221.43ZM2729.23 2213.33
> 2721.44 2206.63 2716.42 2201.54 2720.5 2197.52 2725.18 2202.29
> 2732.96 2208.99ZM2712.26 2197.23 2704.97 2188.34 2701.58 2183.51
> 2706.27 2180.22 2709.4 2184.7 2716.69 2193.6ZM2698.29 2178.81
> 2697.84 2178.16 2691.58 2167.39 2689.69 2163.39 2694.88 2160.95
> 2696.54 2164.52 2702.53 2174.88 2702.99 2175.53ZM2687.26 2158.2
> 2686.28 2156.11 2682 2144.51 2681.3 2141.43 2686.9 2140.21 2687.37
> 2142.53 2691.46 2153.68 2692.44 2155.77ZM2680.08 2135.83 2679.1
> 2131.34 2684.7 2130.12 2685.68 2134.61ZM2668.84 2137.02 2679 2108
> 2696.12 2133.54Z" fill="#8C8C8C"/>
> +    <path d="M587.149 1603.19 587.587 1598.75C587.602 1598.6 587.63
> 1598.45 587.67 1598.3L588.858 1593.86C588.902 1593.69 588.961
> 1593.53 589.034 1593.38L591.096 1589 593.017 1585.91 597.868
> 1588.96 596.278 1591.44 594.216 1595.82 594.392 1595.34 593.205
> 1599.78 593.288 1599.32 592.851 1603.75ZM596.687 1581.05 597.791
> 1579.71 602.21 1575.21 607.242 1570.81 609.766 1568.92 613.187
> 1573.52 611.007 1575.13 606.29 1579.23 602.208 1583.36 601.104
> 1584.7ZM614.532 1565.49 619.348 1562.28 626.283 1558.14 629.459
> 1556.44 632.158 1561.49 629.217 1563.06 622.526 1567.04 617.71
> 1570.25ZM634.629 1553.72 641.876 1550.21 650.309 1546.46 652.635
> 1551.69 644.374 1555.36 637.126 1558.87ZM655.715 1544.27 659.492
> 1542.75 669.004 1539.22 671.966 1538.22 673.809 1543.64 670.996
> 1544.6 661.633 1548.07 657.855 1549.59ZM677.391 1536.38 679.016
> 1535.82 689.374 1532.5 693.921 1531.19 695.499 1536.7 691.126
> 1537.95 680.859 1541.25 679.234 1541.8ZM699.429
> + 1529.61 700.148 1529.41 716.155 1525.31 717.574 1530.87 701.726
> 1534.91 701.007 1535.12ZM721.706 1523.9 722.728 1523.64 738.621
> 1520.25 739.813 1525.86 724.147 1529.19 723.124 1529.45ZM744.225
> 1519.06 746.654 1518.55 761.26 1516.04 762.227 1521.69 747.846
> 1524.15 745.417 1524.67ZM766.907 1515.07 771.579 1514.27 784.02
> 1512.61 784.78 1518.29 772.546 1519.92 767.874 1520.72ZM789.698
> 1511.85 797.37 1510.82 806.874 1509.89 807.431 1515.59 798.13 1516.5
> 790.458 1517.53ZM812.576 1509.33 823.722 1508.25 829.83 1507.92
> 830.132 1513.64 824.278 1513.95 813.133 1515.04ZM835.551 1507.62
> 852.715 1506.71 853.017 1512.43 835.853 1513.34ZM849.88 1495.82
> 877.659 1509 850.449 1523.32Z" fill="#8C8C8C"/>
> +  </g>
> +</svg>
> diff --git a/RedfishClientPkg/Documents/Media/redfish-foundation-driver-
> stack.svg b/RedfishClientPkg/Documents/Media/redfish-foundation-driver-
> stack.svg
> new file mode 100755
> index 00000000..79694335
> --- /dev/null
> +++ b/RedfishClientPkg/Documents/Media/redfish-foundation-driver-
> stack.svg
> @@ -0,0 +1,75 @@
> +<svg width="2492" height="1877" style="background-color:white"
> xmlns="http://www.w3.org/2000/svg"
> xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
> overflow="hidden">
> +  <defs>
> +    <clipPath id="clip0">
> +      <rect x="278" y="517" width="2492" height="1877"/>
> +    </clipPath>
> +    <linearGradient x1="2572" y1="1054" x2="2572" y2="1294"
> gradientUnits="userSpaceOnUse" spreadMethod="reflect" id="fill1">
> +      <stop offset="0" stop-color="#D2D2D2"/>
> +      <stop offset="0.5" stop-color="#C8C8C8"/>
> +      <stop offset="1" stop-color="#C0C0C0"/>
> +    </linearGradient>
> +  </defs>
> +  <g clip-path="url(#clip0)" transform="translate(-278 -517)">
> +    <rect x="278" y="958" width="2163" height="876" fill="#DAE3F3" fill-
> opacity="0.501961"/>
> +    <path d="M1.19218-3.22415 20.5371 3.92891 18.1527 10.3772-
> 1.19218 3.22415ZM26.9853 6.31326 46.3302 13.4663 43.9459 19.9146
> 24.601 12.7616ZM52.7785 15.8507 72.1234 23.0037 69.7391 29.452
> 50.3942 22.299ZM78.5717 25.3881 97.9166 32.5411 95.5322 38.9894
> 76.1873 31.8364ZM104.365 34.9255 123.71 42.0785 121.325 48.5268
> 101.981 41.3738ZM130.158 44.4629 149.503 51.6159 147.119 58.0642
> 127.774 50.9112ZM155.951 54.0003 175.296 61.1533 172.912 67.6016
> 153.567 60.4486ZM181.744 63.5377 201.089 70.6908 198.705 77.139
> 179.36 69.986ZM207.538 73.0751 226.882 80.2282 224.498 86.6765
> 205.153 79.5234ZM233.331 82.6125 252.676 89.7656 250.291 96.2139
> 230.946 89.0608ZM259.124 92.1499 278.469 99.303 276.084 105.751
> 256.74 98.5982ZM284.917 101.687 304.262 108.84 301.878 115.289
> 282.533 108.136ZM310.71 111.225 330.055 118.378 327.671 124.826
> 308.326 117.673ZM336.503 120.762 355.848 127.915 353.464 134.363
> 334.119 127.21ZM362.297 130.3 381.641 137.453 379.257
> + 143.901 359.912 136.748ZM388.09 139.837 407.435 146.99 405.05
> 153.438 385.705 146.285ZM413.883 149.374 433.228 156.527 430.843
> 162.976 411.499 155.823ZM439.676 158.912 459.021 166.065 456.637
> 172.513 437.292 165.36ZM465.469 168.449 484.814 175.602 482.43
> 182.05 463.085 174.897ZM491.262 177.987 510.607 185.14 508.223
> 191.588 488.878 184.435ZM517.056 187.524 536.4 194.677 534.016
> 201.125 514.671 193.972ZM542.849 197.061 562.194 204.214 559.809
> 210.663 540.464 203.51ZM568.642 206.599 587.987 213.752 585.602
> 220.2 566.258 213.047ZM594.435 216.136 613.78 223.289 611.396
> 229.738 592.051 222.584ZM620.228 225.674 639.573 232.827 637.189
> 239.275 617.844 232.122ZM646.021 235.211 665.366 242.364 662.982
> 248.812 643.637 241.659ZM671.815 244.748 691.16 251.901 688.775
> 258.35 669.43 251.197ZM697.608 254.286 716.953 261.439 714.568
> 267.887 695.224 260.734ZM723.401 263.823 742.746 270.976 740.362
> 277.425 721.017 270.271ZM744.812 260.745 765.836 283.179
> + 735.275 286.538Z" fill="#70AD47" transform="matrix(1 0 0 -1 594.5
> 1048.68)"/>
> +    <rect x="392.5" y="1881.5" width="622" height="142" stroke="#41719C"
> stroke-width="4.58333" stroke-miterlimit="8" fill="#5B9BD5"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 652.979
> 1972)">NIC</text>
> +    <rect x="392.5" y="1515.5" width="622" height="251" stroke="#ED7D31"
> stroke-width="4.58333" stroke-miterlimit="8" fill="#FBE5D6"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 450.739
> 1657)">UEFI Network Stack</text>
> +    <rect x="1703.5" y="1515.5" width="622" height="251"
> stroke="#C55A11" stroke-width="4.58333" stroke-miterlimit="8"
> fill="#FFC000"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 1773.26
> 1660)">In</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 1828.84
> 1660)">-</text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 1852.33
> 1660)">band channel</text>
> +    <rect x="807.5" y="1049.5" width="207" height="287" stroke="#2F5597"
> stroke-width="4.58333" stroke-miterlimit="8" fill="#ADB9CA"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> 1 855.72 1182)">REST </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> 1 882.074 1231)">EX</text>
> +    <rect x="393.5" y="1194.5" width="400" height="138" stroke="#787878"
> stroke-width="4.58333" stroke-miterlimit="8" fill="#A5A5A5"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="41" transform="matrix(1 0 0 1 433.577
> 1254)">Redfish Discover </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="41" transform="matrix(1 0 0 1 512.067
> 1299)">Protocol</text>
> +    <path d="M396.5 2234C396.5 2216.6 410.603 2202.5 428 2202.5L2294
> 2202.5C2311.4 2202.5 2325.5 2216.6 2325.5 2234L2325.5 2360C2325.5
> 2377.4 2311.4 2391.5 2294 2391.5L428 2391.5C410.603 2391.5 396.5
> 2377.4 396.5 2360Z" stroke="#70AD47" stroke-width="4.58333" stroke-
> miterlimit="8" fill="#FFFFFF" fill-rule="evenodd"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 1158.18
> 2313)">Redfish Service</text>
> +    <rect x="396.5" y="519.5" width="1929" height="120" stroke="#000000"
> stroke-width="4.58333" stroke-miterlimit="8" fill="#767171"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 1100.89
> 596)">Redfish Application</text>
> +    <rect x="394.5" y="1048.5" width="400" height="138" stroke="#385723"
> stroke-width="4.58333" stroke-miterlimit="8" fill="#70AD47"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="46" transform="matrix(1 0 0 1 457.66
> 1105)">Redfish Config </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="46" transform="matrix(1 0 0 1 535.851
> 1155)">Driver</text>
> +    <path d="M2375 1054 2729 1054 2769 1094 2769 1294 2375 1294Z"
> stroke="#A5A5A5" stroke-width="2.29167" stroke-miterlimit="8"
> fill="url(#fill1)" fill-rule="evenodd"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 2474.57
> 1172)">SMBIOS </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 2465.7
> 1231)">Type 42</text>
> +    <rect x="1710" y="1879" width="615" height="142" fill="#4472C4" fill-
> opacity="0.501961"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="73" transform="matrix(1 0 0 1 1959.59
> 1972)">HW</text>
> +    <rect x="396.5" y="645.5" width="1929" height="120" stroke="#385723"
> stroke-width="3.4375" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#70AD47"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 994.903
> 720)">Redfish Config Handler Protocol</text>
> +    <path d="M3.17204-1.3246 11.1196 17.7076 4.77555 20.3568-3.17204
> 1.3246ZM13.7688 24.0517 21.7164 43.084 15.3723 45.7332 7.42475
> 26.7009ZM24.3656 49.4281 32.3132 68.4603 25.9691 71.1095 18.0215
> 52.0773ZM34.9624 74.8044 42.91 93.8366 36.5659 96.4858 28.6183
> 77.4536ZM45.5592 100.181 53.5068 119.213 47.1627 121.862 39.2151
> 102.83ZM56.156 125.557 64.1036 144.589 57.7595 147.238 49.8119
> 128.206ZM66.7528 150.933 74.7004 169.966 68.3563 172.615 60.4087
> 153.583ZM77.3496 176.31 85.2972 195.342 78.9531 197.991 71.0055
> 178.959ZM87.9464 201.686 95.894 220.718 89.5499 223.367 81.6023
> 204.335ZM98.5432 227.062 106.491 246.095 100.147 248.744 92.1991
> 229.712ZM109.14 252.439 114.093 264.301 107.749 266.95 102.796
> 255.088ZM121.843 256.098 119.752 286.772 96.4671 266.694Z"
> fill="#70AD47" transform="matrix(1 0 0 -1 1240.5 1052.27)"/>
> +    <path d="M1867.15 1057.88 1849.23 1047.68 1852.63 1041.7 1870.55
> 1051.91ZM1843.25 1044.28 1825.33 1034.07 1828.73 1028.1 1846.65
> 1038.3ZM1819.35 1030.67 1801.43 1020.47 1804.83 1014.49 1822.75
> 1024.7ZM1795.45 1017.07 1777.53 1006.86 1780.93 1000.89 1798.85
> 1011.09ZM1771.55 1003.46 1753.63 993.258 1757.03 987.284 1774.96
> 997.488ZM1747.66 989.857 1729.73 979.653 1733.13 973.679 1751.06
> 983.883ZM1723.76 976.252 1705.83 966.048 1709.23 960.073 1727.16
> 970.277ZM1699.86 962.647 1681.93 952.443 1685.34 946.468 1703.26
> 956.672ZM1675.96 949.042 1658.04 938.838 1661.44 932.863 1679.36
> 943.067ZM1652.06 935.437 1634.14 925.233 1637.54 919.258 1655.46
> 929.462ZM1628.16 921.831 1610.24 911.628 1613.64 905.653 1631.56
> 915.857ZM1604.26 908.226 1586.34 898.022 1589.74 892.048 1607.67
> 902.252ZM1580.37 894.621 1562.44 884.417 1565.84 878.443 1583.77
> 888.646ZM1556.47 881.016 1538.54 870.812 1541.94 864.837 1559.87
> 875.041ZM1532.57
> + 867.411 1514.64 857.207 1518.04 851.232 1535.97 861.436ZM1508.67
> 853.806 1490.74 843.602 1494.15 837.627 1512.07 847.831ZM1484.77
> 840.2 1466.85 829.997 1470.25 824.022 1488.17 834.226ZM1460.87
> 826.595 1442.95 816.391 1446.35 810.417 1464.27 820.621ZM1436.97
> 812.99 1419.05 802.786 1422.45 796.812 1440.37 807.015ZM1413.07
> 799.385 1395.15 789.181 1398.55 783.206 1416.48 793.41ZM1389.18
> 785.78 1378.72 779.825 1382.12 773.851 1392.58 779.805ZM1377.6
> 791.055 1360.5 765.5 1391.2 767.156Z" fill="#70AD47"/>
> +    <path d="M0-2.29167 146.945-2.29167 146.945 186.106 144.653
> 183.814 266.39 183.814 266.39 188.397 142.362 188.397 142.362 0
> 144.653 2.29167 0 2.29167ZM261.806 172.356 289.306 186.106 261.806
> 199.856Z" fill="#FF0000" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> 1360.5 765.5)"/>
> +    <path d="M1571.77 1340.5 1571.77 1451.89 1362.5 1451.89 1364.79
> 1449.6 1364.79 1491.77 1360.21 1491.77 1360.21 1447.3 1569.48 1447.3
> 1567.19 1449.6 1567.19 1340.5ZM1376.25 1487.19 1362.5 1514.69
> 1348.75 1487.19Z" fill="#FF0000"/>
> +    <path d="M1364.79 1766.5 1364.79 1858.57 1360.21 1858.57 1360.21
> 1766.5ZM1376.25 1853.99 1362.5 1881.49 1348.75 1853.99Z"
> fill="#FF0000"/>
> +    <path d="M2573.09 1294 2573.09 1422.16 1901.85 1422.16 1901.85
> 1361.43 1904.15 1361.43 1904.15 1421.01 1903 1419.87 2571.94
> 1419.87 2570.8 1421.01 2570.8 1294ZM1889.25 1366.01 1903 1338.51
> 1916.75 1366.01Z" fill="#A5A5A5"/>
> +    <path d="M2573.22 1294 2573.22 1421.96 1249.85 1421.96 1249.85
> 1359.03 1252.15 1359.03 1252.15 1420.81 1251 1419.67 2572.07
> 1419.67 2570.93 1420.81 2570.93 1294ZM1237.25 1363.61 1251 1336.11
> 1264.75 1363.61Z" fill="#A5A5A5"/>
> +    <path d="M2573.26 1294 2573.26 1422.27 591.854 1422.27 591.854
> 1354.94 594.146 1354.94 594.146 1421.12 593 1419.98 2572.11 1419.98
> 2570.97 1421.12 2570.97 1294ZM579.25 1359.52 593 1332.02 606.75
> 1359.52Z" fill="#A5A5A5"/>
> +    <rect x="1465.5" y="1053.5" width="207" height="287"
> stroke="#2F5597" stroke-width="4.58333" stroke-miterlimit="8"
> fill="#ADB9CA"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> 1 1513.76 1186)">REST </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> 1 1540.11 1235)">EX</text>
> +    <rect x="1051.5" y="1198.5" width="400" height="139"
> stroke="#787878" stroke-width="4.58333" stroke-miterlimit="8"
> fill="#A5A5A5"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="41" transform="matrix(1 0 0 1 1091.62
> 1258)">Redfish Discover </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="41" transform="matrix(1 0 0 1 1170.11
> 1303)">Protocol</text>
> +    <rect x="1052.5" y="1052.5" width="400" height="138"
> stroke="#385723" stroke-width="4.58333" stroke-miterlimit="8"
> fill="#70AD47"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="46" transform="matrix(1 0 0 1 1099.08
> 1111)">Redfish Config </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="46" transform="matrix(1 0 0 1 1186.17
> 1160)">Driver</text>
> +    <rect x="2117.5" y="1055.5" width="208" height="288"
> stroke="#2F5597" stroke-width="4.58333" stroke-miterlimit="8"
> fill="#ADB9CA"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> 1 2165.89 1188)">REST </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> 1 2192.24 1237)">EX</text>
> +    <rect x="1703.5" y="1201.5" width="400" height="138"
> stroke="#787878" stroke-width="4.58333" stroke-miterlimit="8"
> fill="#A5A5A5"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="41" transform="matrix(1 0 0 1 1743.75
> 1260)">Redfish Discover </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="41" transform="matrix(1 0 0 1 1822.23
> 1305)">Protocol</text>
> +    <rect x="1704.5" y="1055.5" width="401" height="138"
> stroke="#385723" stroke-width="4.58333" stroke-miterlimit="8"
> fill="#70AD47"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="46" transform="matrix(1 0 0 1 1751.21
> 1113)">Redfish Config </text>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="46" transform="matrix(1 0 0 1 1838.3
> 1162)">Driver</text>
> +    <rect x="1051.5" y="1515.5" width="621" height="251"
> stroke="#ED7D31" stroke-width="4.58333" stroke-miterlimit="8"
> fill="#FBE5D6"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 1109.41
> 1657)">UEFI Network Stack</text>
> +    <rect x="1051.5" y="1881.5" width="621" height="142"
> stroke="#41719C" stroke-width="4.58333" stroke-miterlimit="8"
> fill="#5B9BD5"/>
> +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 1311.65
> 1972)">NIC</text>
> +    <path d="M2.29157-0.020976 3.72062 156.099-0.862519 156.141-
> 2.29157 0.020976ZM15.1365 151.411 1.63881 179.035-12.3623
> 151.662Z" fill="#FF0000" transform="matrix(-1 0 0 1 1362.14 2023.5)"/>
> +  </g>
> +</svg>
> diff --git a/RedfishClientPkg/Documents/Media/redfish-platform-config-
> protocol-stack.svg b/RedfishClientPkg/Documents/Media/redfish-platform-
> config-protocol-stack.svg
> new file mode 100755
> index 00000000..670c29bf
> --- /dev/null
> +++ b/RedfishClientPkg/Documents/Media/redfish-platform-config-protocol-
> stack.svg
> @@ -0,0 +1,99 @@
> +<svg width="3433" height="1895" style="background-color:white"
> xmlns="http://www.w3.org/2000/svg"
> xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
> overflow="hidden">
> +  <defs>
> +    <filter id="fx0" x="-10%" y="-10%" width="120%" height="120%"
> filterUnits="userSpaceOnUse" primitiveUnits="userSpaceOnUse">
> +      <feComponentTransfer color-interpolation-filters="sRGB">
> +        <feFuncR type="discrete" tableValues="0 0"/>
> +        <feFuncG type="discrete" tableValues="0 0"/>
> +        <feFuncB type="discrete" tableValues="0 0"/>
> +        <feFuncA type="linear" slope="0.380392" intercept="0"/>
> +      </feComponentTransfer>
> +      <feGaussianBlur stdDeviation="4.8119 4.8119"/>
> +    </filter>
> +    <clipPath id="clip1">
> +      <rect x="572" y="465" width="3433" height="1895"/>
> +    </clipPath>
> +    <clipPath id="clip2">
> +      <rect x="-5" y="13" width="863" height="130"/>
> +    </clipPath>
> +    <clipPath id="clip3">
> +      <rect x="0" y="0" width="883" height="139"/>
> +    </clipPath>
> +  </defs>
> +  <g clip-path="url(#clip1)" transform="translate(-572 -465)">
> +    <rect x="572" y="1277" width="3256" height="1083" fill="#C0E4FF" fill-
> opacity="0.4"/>
> +    <path d="M654.5 1778.17C654.5 1742.45 683.453 1713.5 719.168
> 1713.5L1793.83 1713.5C1829.55 1713.5 1858.5 1742.45 1858.5
> 1778.17L1858.5 2036.83C1858.5 2072.55 1829.55 2101.5 1793.83
> 2101.5L719.168 2101.5C683.453 2101.5 654.5 2072.55 654.5 2036.83Z"
> stroke="#A6A6A6" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" stroke-dasharray="36.6667 27.5" fill="none" fill-
> rule="evenodd"/>
> +    <path d="M690 978.669C690 922.518 735.518 877 791.668
> 877L1586.33 877C1642.48 877 1688 922.518 1688 978.669L1688
> 1385.33C1688 1441.48 1642.48 1487 1586.33 1487L791.668
> 1487C735.518 1487 690 1441.48 690 1385.33Z" fill="#D9D9D9" fill-
> rule="evenodd"/>
> +    <rect x="716" y="598" width="945" height="136" fill="#76B900"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 1026.14
> 683)">Setup Menu</text>
> +    <rect x="716.5" y="1114.5" width="945" height="136" stroke="#0070C0"
> stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#9E9E9E"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 916.711
> 1199)">EDK2 Setup Browser</text>
> +    <rect x="716" y="952" width="945" height="136" fill="#9E9E9E"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 917.571
> 1038)">EDK2 Display Engine</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 1122.4
> 545)">User</text>
> +    <rect x="716" y="1289" width="945" height="136" fill="#9E9E9E"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 941.92
> 1374)">EDK2 HII Database</text>
> +    <rect x="716.5" y="1757.5" width="377" height="199" stroke="#656565"
> stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#8C8C8C"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 779.595
> 1842)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 838.88
> 1901)">driver</text>
> +    <rect x="1124.5" y="1757.5" width="377" height="199"
> stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="#8C8C8C"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 1188
> 1842)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 1247.28
> 1901)">driver</text>
> +    <rect x="882.5" y="1856.5" width="377" height="199" stroke="#656565"
> stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#8C8C8C"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 945.765
> 1941)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 1005.05
> 2000)">driver</text>
> +    <rect x="1313.5" y="1856.5" width="377" height="199"
> stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="#8C8C8C"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 1376.4
> 1941)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="55" transform="matrix(1 0 0 1 1435.69
> 2000)">driver</text>
> +    <path d="M1191.86 756.917 1191.86 929.504 1186.14 929.504
> 1186.14 756.917ZM1175.25 761.5 1189 734 1202.75 761.5ZM1202.75
> 924.92 1189 952.42 1175.25 924.92Z" fill="#8C8C8C"/>
> +    <path d="M1185.86 1517.92 1185.86 1690.5 1180.14 1690.5 1180.14
> 1517.92ZM1169.25 1522.5 1183 1495 1196.75 1522.5ZM1196.75 1685.92
> 1183 1713.42 1169.25 1685.92Z" fill="#8C8C8C"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> 1247.51 801)">Graphic protocols</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> 1247.51 867)">Console input protocols</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> 1232.43 1574)">EFI Config Access Protocol</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> 1232.43 1640)">HII Database Protocol</text>
> +    <rect x="657.5" y="2152.5" width="1204" height="145"
> stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="73" transform="matrix(1 0 0 1 1203.49
> 2245)">HW</text>
> +    <path d="M2422.5 1782C2422.5 1746.38 2451.38 1717.5 2487
> 1717.5L3562 1717.5C3597.62 1717.5 3626.5 1746.38 3626.5 1782L3626.5
> 2040C3626.5 2075.62 3597.62 2104.5 3562 2104.5L2487 2104.5C2451.38
> 2104.5 2422.5 2075.62 2422.5 2040Z" stroke="#A6A6A6" stroke-
> width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" stroke-
> dasharray="36.6667 27.5" fill="none" fill-rule="evenodd"/>
> +    <path d="M2457 970.169C2457 912.638 2503.64 866 2561.17
> 866L3350.83 866C3408.36 866 3455 912.638 3455 970.169L3455
> 1386.83C3455 1444.36 3408.36 1491 3350.83 1491L2561.17
> 1491C2503.64 1491 2457 1444.36 2457 1386.83Z" fill="#D9D9D9" fill-
> rule="evenodd"/>
> +    <rect x="2483" y="602" width="945" height="135" fill="#76B900"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 2754.31
> 687)">Feature drivers</text>
> +    <rect x="2483" y="956" width="945" height="302" fill="#0070C0"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 2652.04
> 1124)">EDK2 HII Utility Library</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 2724.81
> 549)">Redfish Interface</text>
> +    <rect x="2483" y="1291" width="945" height="136" fill="#9E9E9E"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="64" transform="matrix(1 0 0 1 2709.33
> 1376)">EDK2 HII Database</text>
> +    <rect x="2483.5" y="1760.5" width="377" height="199"
> stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="#8C8C8C"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 2532.97 1847)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 2599.43 1906)">driver</text>
> +    <rect x="2892.5" y="1760.5" width="377" height="199"
> stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="#8C8C8C"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 2941.37 1847)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 3007.83 1906)">driver</text>
> +    <rect x="2650.5" y="1860.5" width="376" height="199"
> stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="#8C8C8C"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 2699.14 1947)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 2765.6 2006)">driver</text>
> +    <rect x="3080.5" y="1860.5" width="377" height="199"
> stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="#8C8C8C"/>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 3129.78 1947)">Chipset/HII </text>
> +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> transform="matrix(1 0 0 1 3196.24 2006)">driver</text>
> +    <path d="M2958.86 759.917 2958.86 932.542 2953.14 932.542
> 2953.14 759.917ZM2942.25 764.5 2956 737 2969.75 764.5ZM2969.75
> 927.959 2956 955.459 2942.25 927.959Z" fill="#8C8C8C"/>
> +    <path d="M2953.86 1520.92 2953.86 1693.5 2948.14 1693.5 2948.14
> 1520.92ZM2937.25 1525.5 2951 1498 2964.75 1525.5ZM2964.75 1688.92
> 2951 1716.42 2937.25 1688.92Z" fill="#8C8C8C"/>
> +    <text fill="#FF0000" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-style="italic" font-weight="700" font-size="55" transform="matrix(1 0 0
> 1 3007.22 833)">EDKII Redfish Platform Configure Protocol</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> 3007.22 1592)">EFI Config Access Protocol</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> 3007.22 1658)">HII Database Protocol</text>
> +    <rect x="2425.5" y="2155.5" width="1203" height="145"
> stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="400" font-size="73" transform="matrix(1 0 0 1 2970.9
> 2248)">HW</text>
> +    <g clip-path="url(#clip2)" filter="url(#fx0)" transform="translate(1645
> 1071)">
> +      <g clip-path="url(#clip3)">
> +        <path d="M0.406692-4.48158 800.047 68.0836 799.233 77.0468-
> 0.406692 4.48158ZM796.32 58.4574 822.465 74.6365 793.835 85.8449Z"
> fill="#0071C5" transform="matrix(1 0 0 -1 16.4999 118.354)"/>
> +      </g>
> +    </g>
> +    <path d="M0.414223-4.56458 800.054 68.0006 799.226 77.1298-
> 0.414223 4.56458ZM796.32 58.4574 822.465 74.6365 793.835 85.8449Z"
> fill="#0071C5" transform="matrix(1 0 0 -1 1661.5 1182.14)"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="55" transform="matrix(1 0 0 1 1783.55
> 1054)">Move necessary functions </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="55" transform="matrix(1 0 0 1 1783.55 1120)">to
> library </text>
> +    <rect x="1721.5" y="1792.5" width="303" height="193"
> stroke="#890C58" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 1821
> 1874)">UEFI </text>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 1780.6
> 1933)">variable</text>
> +    <rect x="3489.5" y="1768.5" width="303" height="194"
> stroke="#890C58" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10"/>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 3589.11
> 1851)">UEFI </text>
> +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-weight="700" font-size="55" transform="matrix(1 0 0 1 3548.71
> 1910)">variable</text>
> +    <path d="M2145.64 1853.11 2293.36 1853.11 2293.36 1890.46
> 2145.64 1890.46ZM2145.64 1918.54 2293.36 1918.54 2293.36 1955.89
> 2145.64 1955.89Z" fill="#C0E4FF" fill-rule="evenodd"/>
> +  </g>
> +</svg>
> diff --git a/RedfishClientPkg/Documents/Media/redfish-synchronization-
> design.svg b/RedfishClientPkg/Documents/Media/redfish-synchronization-
> design.svg
> new file mode 100755
> index 00000000..2dd1fb61
> --- /dev/null
> +++ b/RedfishClientPkg/Documents/Media/redfish-synchronization-
> design.svg
> @@ -0,0 +1,75 @@
> +<svg width="4191" height="2178" style="background-color:white"
> xmlns="http://www.w3.org/2000/svg"
> xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
> overflow="hidden">
> +  <defs>
> +    <clipPath id="clip0">
> +      <rect x="66" y="210" width="4191" height="2178"/>
> +    </clipPath>
> +  </defs>
> +  <g clip-path="url(#clip0)" transform="translate(-66 -210)">
> +    <path d="M487.5 379.5C487.5 364.588 498.469 352.5 512 352.5
> 525.531 352.5 536.5 364.588 536.5 379.5 536.5 394.412 525.531 406.5
> 512 406.5 498.469 406.5 487.5 394.412 487.5 379.5Z" stroke="#006047"
> stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#008564" fill-rule="evenodd"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 104.76
> 290)">REDFISH_FEATURE_CALLBACK()</text>
> +    <rect x="609.5" y="522.5" width="709" height="133" stroke="#000000"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="none"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 839.622
> 610)">Identify()</text>
> +    <rect x="1178.5" y="767.5" width="709" height="133" stroke="#000000"
> stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> fill="none"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 1433.4
> 855)">Check()</text>
> +    <rect x="1759.5" y="1046.5" width="709" height="134"
> stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-
> miterlimit="10" fill="none"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 1928.64
> 1134)">Provisioning()</text>
> +    <rect x="1597.5" y="1422.5" width="709" height="133"
> stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-
> miterlimit="10" fill="none"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 1808.4
> 1510)">Consume()</text>
> +    <rect x="2140.5" y="1730.5" width="709" height="133"
> stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-
> miterlimit="10" fill="none"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 2376.59
> 1818)">Update()</text>
> +    <path d="M0-2.29167 182.65-2.29167C183.915-2.29167 184.941-
> 1.26565 184.941 0L184.941 74.3695 180.358 74.3695 180.358 0 182.65
> 2.29167 0 2.29167ZM196.4 69.7861 182.65 97.2861 168.9 69.7861Z"
> fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16 511.5
> 406.5)"/>
> +    <path d="M988.5 831.208 1083.64 831.208C1084.91 831.208 1085.93
> 832.234 1085.93 833.5L1085.93 833.591 1083.64 831.299 1155.86
> 831.299 1155.86 835.882 1083.64 835.882C1082.37 835.882 1081.35
> 834.856 1081.35 833.591L1081.35 833.5 1083.64 835.792 988.5
> 835.792ZM1151.28 819.841 1178.78 833.591 1151.28 847.341Z"
> fill="#008563"/>
> +    <path d="M0-2.29167 101.164-2.29167C102.43-2.29167 103.456-
> 1.26565 103.456 0L103.456 0.633366 101.164-1.6583 179.411-1.6583
> 179.411 2.92503 101.164 2.92503C99.8983 2.92503 98.8722 1.89902
> 98.8722 0.633366L98.8722 0 101.164 2.29167 0 2.29167ZM174.827-
> 13.1166 202.327 0.633366 174.827 14.3834Z" fill="#008563"
> transform="matrix(1 0 0 -1 1557.5 1114.13)"/>
> +    <path d="M0-2.29167 348.186-2.29167C349.452-2.29167 350.478-
> 1.26565 350.478 0L350.478 42.4958 345.894 42.4958 345.894 0 348.186
> 2.29167 0 2.29167ZM361.936 37.9125 348.186 65.4125 334.436
> 37.9125Z" fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> 1532.5 1141.5)"/>
> +    <path d="M0-2.29167 241.064-2.29167C242.329-2.29167 243.356-
> 1.26565 243.356 0L243.356 165.488 238.772 165.488 238.772 0 241.064
> 2.29167 0 2.29167ZM254.814 160.904 241.064 188.404 227.314
> 160.904Z" fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> 1952.5 1555.5)"/>
> +    <path d="M511.5 2311.5C511.5 2296.59 522.469 2284.5 536 2284.5
> 549.531 2284.5 560.5 2296.59 560.5 2311.5 560.5 2326.41 549.531
> 2338.5 536 2338.5 522.469 2338.5 511.5 2326.41 511.5 2311.5Z"
> stroke="#006047" stroke-width="9.16667" stroke-linejoin="round" stroke-
> miterlimit="10" fill="#008564" fill-rule="evenodd"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="64" transform="matrix(1 0 0 1 316.965
> 2332)">Done </text>
> +    <path d="M965.584 860.5 965.584 1572.52C965.584 1573.79 964.558
> 1574.82 963.292 1574.82L535.5 1574.82 537.792 1572.52 537.792
> 2261.63 533.209 2261.63 533.209 1572.52C533.209 1571.26 534.235
> 1570.23 535.5 1570.23L963.292 1570.23 961.001 1572.52 961.001
> 860.5ZM549.25 2257.05 535.5 2284.55 521.75 2257.05Z" fill="#008563"/>
> +    <path d="M2497.82 1863.5 2497.82 2311.4C2497.82 2312.67 2496.79
> 2313.7 2495.53 2313.7L583.418 2313.7 583.418 2309.11 2495.53
> 2309.11 2493.23 2311.4 2493.23 1863.5ZM588 2325.15 560.5 2311.4 588
> 2297.65Z" fill="#008563"/>
> +    <path d="M2728 1074.17C2728 1059.72 2739.72 1048 2754.17
> 1048L3410.83 1048C3425.28 1048 3437 1059.72 3437 1074.17L3437
> 1178.83C3437 1193.28 3425.28 1205 3410.83 1205L2754.17
> 1205C2739.72 1205 2728 1193.28 2728 1178.83Z" fill="#0071C5" fill-
> rule="evenodd" fill-opacity="0.501961"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 2869.23
> 1148)">HTTP </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 3021.62
> 1148)">POST/PUT</text>
> +    <path d="M3112 2034.33C3112 2015.37 3127.37 2000 3146.33
> 2000L3786.67 2000C3805.63 2000 3821 2015.37 3821 2034.33L3821
> 2171.67C3821 2190.63 3805.63 2206 3786.67 2206L3146.33
> 2206C3127.37 2206 3112 2190.63 3112 2171.67Z" fill="#0071C5" fill-
> rule="evenodd" fill-opacity="0.501961"/>
> +    <text font-family="Arial,Arial_MSFontService,sans-serif" font-
> weight="400" font-size="64" transform="matrix(1 0 0 1 3191.74
> 2127)">HTTP </text>
> +    <text fill="#FF0000" font-family="Arial,Arial_MSFontService,sans-serif"
> font-weight="400" font-size="64" transform="matrix(1 0 0 1 3376.79
> 2127)">PATCH/PUT</text>
> +    <rect x="1572" y="418" width="896" height="130" fill="#008564"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 1655.98
> 505)">RedfishResourceIdentifyLib</text>
> +    <path d="M0.0452146-1.71815 11.9202-1.40565 23.8145-0.526554
> 35.5234 0.919242 46.906 2.80438 57.9272 5.19539 68.5072 8.02728
> 78.5249 11.2384 87.9266 14.8322 96.5836 18.7466 104.375 22.923
> 111.238 27.3016 117.131 31.9661 121.965 36.7847C122.036 36.8551
> 122.1 36.9316 122.157 37.0131L125.532 41.8256C125.598 41.9198
> 125.655 42.0203 125.701 42.1257L127.826 47.0007C127.885 47.1376
> 127.927 47.2817 127.949 47.4294L128.699 52.3669 129.449 57.3044
> 129.326 56.8757 131.451 61.7507 131.282 61.4506 134.657 66.2631
> 134.465 66.0347 139.153 70.7222 144.756 75.1536 151.363 79.3641
> 158.938 83.423 167.396 87.2466 176.555 90.7711 186.4 93.9259 196.82
> 96.7148 207.677 99.0704 218.967 100.929 231.233 102.16 230.889
> 105.58 218.408 104.321 206.948 102.43 195.93 100.035 185.35 97.1991
> 175.32 93.9789 165.979 90.3784 157.312 86.452 149.512 82.2609
> 142.619 77.8464 136.722 73.1528 132.035 68.4653C131.964 68.3949
> 131.9 68.3184 131.843
> + 68.2369L128.468 63.4244C128.402 63.3302 128.345 63.2297 128.299
> 63.1243L126.174 58.2493C126.115 58.1124 126.073 57.9683 126.051
> 57.8206L125.301 52.8831 124.551 47.9456 124.674 48.3743 122.549
> 43.4993 122.718 43.7994 119.343 38.9869 119.535 39.2153 114.994
> 34.6589 109.387 30.1984 102.75 25.952 95.1664 21.8784 86.6984
> 18.0428 77.475 14.5116 67.6178 11.3477 57.1978 8.55461 46.344
> 6.19562 35.1016 4.33076 23.5605 2.90155 11.8298 2.03065-0.0452146
> 1.71815ZM227.312 89.8694 253.937 105.246 225.66 117.32Z"
> fill="#008563" transform="matrix(1 0 0 -1 1318.5 588.746)"/>
> +    <rect x="2687" y="738" width="425" height="102" fill="#5D1682" fill-
> opacity="0.501961"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="50" transform="matrix(1 0 0 1 2797.23
> 806)">GetData</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="50" transform="matrix(1 0 0 1 2970.82
> 806)">()</text>
> +    <text fill="#890C58" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> 1 2696.04
> 693)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL</text>
> +    <path d="M0.0837419-1.71671 5.20874-1.46671 10.4785-0.765991
> 15.7435 0.383721 21.0012 1.98096 26.1383 4.02918 31.2374 6.44749
> 36.2738 9.24844 41.2531 12.499 50.8027 19.8914 59.9974 28.63 68.7284
> 38.5528 76.822 49.544 84.2726 61.5307 91.0188 74.258 96.9486 87.7463
> 101.933 101.866 105.969 116.416 108.997 131.282 110.831 146.482
> 111.467 161.742 112.092 176.867 113.894 191.795 116.872 206.407
> 120.844 220.729 125.746 234.616 131.574 247.871 138.147 260.389
> 145.458 272.09 153.443 282.851 161.92 292.557 170.872 301.067
> 180.183 308.333 184.928 311.366 189.774 314.061 189.495 313.937
> 197.654 316.733 196.54 319.985 188.38 317.188C188.284 317.155
> 188.19 317.114 188.101 317.064L183.072 314.259 178.067 311.042
> 168.503 303.557 159.33 294.818 150.682 284.899 142.542 273.91
> 135.103 261.986 128.426 249.254 122.504 235.759 117.531 221.646
> 113.503 207.093 110.481 192.205 108.658 177.008 108.033 161.883
> 107.419 146.893
> + 105.628 131.968 102.656 117.334 98.6916 103.009 93.8014 89.1287
> 87.9812 75.867 81.3524 63.3443 74.053 51.581 66.1466 40.8222 57.6276
> 31.12 48.6973 22.6086 39.3719 15.376 34.6012 12.2516 29.7626 9.55251
> 24.8617 7.22082 19.9988 5.26904 15.0065 3.74128 10.0215 2.64099
> 5.04126 1.96671-0.0837419 1.71671ZM195.756 303.927 219.415
> 323.564 189.51 330.709Z" fill="#890857" transform="matrix(1 0 0 -1 2468.5
> 1113.06)"/>
> +    <rect x="2690" y="863" width="422" height="102" fill="#5D1682" fill-
> opacity="0.501961"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="50" transform="matrix(1 0 0 1 2757.16
> 931)">GeOemData</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="50" transform="matrix(1 0 0 1 3013.82
> 931)">()</text>
> +    <path d="M0.092493-1.71626 10.53-1.15376 21.0276 0.553809
> 31.3759 3.27561 41.4048 6.94903 51.1654 11.5055 60.4854 16.8871
> 69.2961 23.028 77.5298 29.798 85.1321 37.1392 91.9881 45.0638 98.02
> 53.4335 103.109 62.1333 107.25 71.1596 110.32 80.4632 112.247
> 89.9086 112.902 99.4474 113.527 108.76 115.372 117.784 118.32
> 126.713 122.313 135.41 127.292 143.813 133.088 151.941 139.734
> 159.559 147.137 166.769 155.155 173.36 163.727 179.273 172.798
> 184.512 182.29 188.943 192.089 192.51 191.834 192.439 199.996
> 194.058 199.327 197.43 191.165 195.811C191.079 195.794 190.994
> 195.77 190.911 195.74L180.835 192.057 171.077 187.488 161.773
> 182.102 152.97 176.015 144.738 169.231 137.141 161.816 130.287
> 153.934 124.333 145.562 119.187 136.84 115.055 127.787 112.003
> 118.466 110.098 108.99 109.473 99.6776 108.878 90.5914 107.055
> 81.5368 104.125 72.5904 100.141 63.8667 95.23 55.4415 89.3869
> 47.3112 82.7429 39.6108 75.3452 32.452
> + 67.3289 25.847 58.7646 19.8629 49.7096 14.6195 40.2202 10.176
> 30.4991 6.59939 20.4724 3.94619 10.345 2.27876-0.092493
> 1.71626ZM197.096 181.479 222.341 199.029 193.154 208.695Z"
> fill="#890857" transform="matrix(1 0 0 -1 2468.5 1113.53)"/>
> +    <path d="M0.0142748-1.71869 37.6393-1.40619 56.1033-0.968266
> 74.1162-0.405411 91.5677 0.282584 108.209 1.0958 124.032 1.97138
> 138.811 3.03569 152.384 4.099 164.666 5.28927 170.254 5.917 175.456
> 6.54359 180.246 7.23647 184.618 7.86102 188.55 8.55768 192.081
> 9.25098 195.079 9.95147 197.643 10.6553 199.7 11.3802 201.269
> 12.1502C201.394 12.2131 201.512 12.2911 201.619 12.3825L202.494
> 13.1325C202.684 13.2956 202.836 13.4982 202.94 13.7263L203.252
> 14.4138 203.565 15.1013 203.119 14.5075 203.994 15.2575 203.644
> 15.0252 205.019 15.7127 206.762 16.3177 209.143 16.9678 212.017
> 17.639 215.456 18.3135 219.3 18.9952 223.618 19.611 228.371 20.299
> 233.518 20.9186 239.067 21.542 251.291 22.7268 264.822 23.7865
> 279.561 24.8482 295.283 25.7214 311.959 26.5333 329.318 27.2201
> 347.304 27.7821 365.722 28.1566 380.37 28.2979 380.337 31.7352
> 365.653 31.5934 347.196 31.2179 329.182 30.6549 311.791 29.9667
> 295.092 29.1536 279.314
> + 28.2768 264.553 27.2135 250.959 26.1482 238.683 24.958 233.107
> 24.3314 227.879 23.701 223.132 23.014 218.7 22.3798 214.794 21.6865
> 211.233 20.986 208.232 20.2822 205.613 19.5573 203.481 18.7873
> 202.106 18.0998C201.981 18.0369 201.863 17.9589 201.756
> 17.8675L200.881 17.1175C200.691 16.9544 200.539 16.7518 200.435
> 16.5237L200.123 15.8362 199.81 15.1487 200.256 15.7425 199.381
> 14.9925 199.731 15.2248 198.55 14.6198 196.732 13.9697 194.296
> 13.2985 191.419 12.624 187.95 11.9423 184.132 11.264 179.754 10.6385
> 175.044 9.95641 169.871 9.333 164.334 8.71073 152.116 7.526 138.564
> 6.46431 123.843 5.40363 108.041 4.5292 91.4323 3.71742 74.0088
> 3.03041 56.0217 2.46827 37.6107 2.03119-0.0142748
> 1.71869ZM375.903 16.223 403.269 30.2377 375.637 43.7217Z"
> fill="#890857" transform="matrix(1 0 0 -1 2849.5 1796.74)"/>
> +    <path d="M2849.52 1794.78 2868.52 1795.03 2887.45 1795.85
> 2906.05 1797.1 2924.23 1798.85 2941.83 1800.98 2958.63 1803.49
> 2974.62 1806.37 2989.49 1809.57 3003.23 1813.02 3015.62 1816.73
> 3021.31 1818.69 3026.61 1820.71 3031.47 1822.73 3035.92 1824.82
> 3039.92 1826.91 3043.47 1829.1 3046.57 1831.36 3049.18 1833.57
> 3051.29 1835.92C3051.34 1835.98 3051.39 1836.05 3051.44
> 1836.12L3052.87 1838.31C3052.94 1838.41 3053 1838.51 3053.04
> 1838.63L3053.91 1840.88C3053.96 1841 3054 1841.13 3054.01
> 1841.26L3054.33 1843.44 3054.64 1845.63 3054.54 1845.25 3055.41
> 1847.5 3055.25 1847.18 3056.69 1849.37 3056.54 1849.17 3058.47
> 1851.36 3060.8 1853.32 3063.7 1855.42 3067.01 1857.4 3070.88 1859.49
> 3075.17 1861.51 3079.91 1863.48 3085.09 1865.39 3090.68 1867.31
> 3102.93 1870.98 3116.54 1874.4 3131.3 1877.57 3147.12 1880.43
> 3163.88 1882.92 3181.33 1885.04 3199.42 1886.79 3217.99 1888.04
> 3232.84 1888.55 3232.72 1891.99 3217.76 1891.46
> + 3199.08 1890.21 3180.92 1888.46 3163.37 1886.32 3146.51 1883.82
> 3130.58 1880.93 3115.71 1877.73 3101.94 1874.27 3089.56 1870.56
> 3083.9 1868.61 3078.59 1866.65 3073.7 1864.62 3069.25 1862.51
> 3065.24 1860.35 3061.67 1858.2 3058.57 1855.93 3055.9 1853.64
> 3053.96 1851.45C3053.91 1851.39 3053.86 1851.32 3053.81
> 1851.26L3052.38 1849.07C3052.31 1848.97 3052.25 1848.86 3052.21
> 1848.75L3051.34 1846.5C3051.29 1846.38 3051.25 1846.25 3051.24
> 1846.12L3050.92 1843.93 3050.61 1841.74 3050.71 1842.12 3049.84
> 1839.87 3050 1840.19 3048.56 1838.01 3048.71 1838.2 3046.95 1836.18
> 3044.55 1834.14 3041.66 1832.02 3038.33 1829.96 3034.45 1827.93
> 3030.15 1825.9 3025.39 1823.92 3020.19 1821.94 3014.63 1820.02
> 3002.39 1816.35 2988.76 1812.93 2974.01 1809.75 2958.12 1806.89
> 2941.42 1804.39 2923.9 1802.27 2905.82 1800.53 2887.3 1799.28
> 2868.48 1798.47 2849.48 1798.22ZM3228.52 1876.42 3255.7 1890.8
> 3227.88 1903.91Z" fill="#890857"/>
> +    <path d="M2578 1103.75 2638.5 1103.75 2638.5 1080 2686 1127.5
> 2638.5 1175 2638.5 1151.25 2578 1151.25Z" fill="#0071C5" fill-
> rule="evenodd" fill-opacity="0.501961"/>
> +    <path d="M2956.92 1877.31 3000.36 1919.95 3016.93 1903.07
> 3017.55 1969.96 2950.65 1970.59 2967.22 1953.71 2923.79 1911.07Z"
> fill="#0071C5" fill-rule="evenodd" fill-opacity="0.501961"/>
> +    <path d="M939.5 833.5C939.5 818.588 950.469 806.5 964 806.5
> 977.531 806.5 988.5 818.588 988.5 833.5 988.5 848.412 977.531 860.5
> 964 860.5 950.469 860.5 939.5 848.412 939.5 833.5Z" stroke="#006047"
> stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"
> fill="#008564" fill-rule="evenodd"/>
> +    <path d="M965.792 655.5 965.792 730.981C965.792 732.247 964.766
> 733.273 963.501 733.273L963.5 733.273 965.792 730.981 965.792
> 783.546 961.208 783.546 961.208 730.981C961.208 729.716 962.235
> 728.69 963.5 728.69L963.501 728.69 961.209 730.981 961.209
> 655.5ZM977.25 778.963 963.5 806.463 949.75 778.963Z" fill="#008563"/>
> +    <text font-family="Arial,Arial_MSFontService,sans-serif" font-
> weight="400" font-size="55" transform="matrix(1 0 0 1 815.508
> 946)">false</text>
> +    <text font-family="Arial,Arial_MSFontService,sans-serif" font-
> weight="400" font-size="55" transform="matrix(1 0 0 1 1029.08
> 808)">true</text>
> +    <path d="M1507.5 1114.5C1507.5 1099.59 1518.69 1087.5 1532.5
> 1087.5 1546.31 1087.5 1557.5 1099.59 1557.5 1114.5 1557.5 1129.41
> 1546.31 1141.5 1532.5 1141.5 1518.69 1141.5 1507.5 1129.41 1507.5
> 1114.5Z" stroke="#006047" stroke-width="9.16667" stroke-linejoin="round"
> stroke-miterlimit="10" fill="#008564" fill-rule="evenodd"/>
> +    <path d="M1535.38 900.5 1535.38 993.849C1535.38 995.114 1534.35
> 996.14 1533.09 996.14L1532.5 996.14 1534.79 993.849 1534.79 1064.28
> 1530.21 1064.28 1530.21 993.849C1530.21 992.583 1531.23 991.557
> 1532.5 991.557L1533.09 991.557 1530.8 993.849 1530.8
> 900.5ZM1546.25 1059.7 1532.5 1087.2 1518.75 1059.7Z" fill="#008563"/>
> +    <text font-family="Arial,Arial_MSFontService,sans-serif" font-
> weight="400" font-size="55" transform="matrix(1 0 0 1 1405.87
> 1282)">true</text>
> +    <text font-family="Arial,Arial_MSFontService,sans-serif" font-
> weight="400" font-size="55" transform="matrix(1 0 0 1 1590.37
> 1071)">false</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="400" font-size="64" transform="matrix(1 0 0 1 328.764
> 396)">Start</text>
> +    <path d="M0 0 177.266 0 177.266 2109.2 354.533 2109.2"
> stroke="#008563" stroke-width="4.58333" stroke-linejoin="round" stroke-
> miterlimit="10" fill="none" fill-rule="evenodd" transform="matrix(1.83697e-
> 16 1 1 -1.83697e-16 2113.5 1180.5)"/>
> +    <path d="M4225.53 1612.5 4225.53 2311.62C4225.53 2312.89 4224.5
> 2313.91 4223.23 2313.91L583.414 2313.91 583.414 2309.33 4223.23
> 2309.33 4220.94 2311.62 4220.94 1612.5ZM588 2325.37 560.5 2311.62
> 588 2297.87Z" fill="#008563"/>
> +    <path d="M4223.5 1536.5 4223.5 1612.57" stroke="#008563" stroke-
> width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="none"
> fill-rule="evenodd"/>
> +    <path d="M2464 1438.17C2464 1423.72 2475.72 1412 2490.17
> 1412L3146.83 1412C3161.28 1412 3173 1423.72 3173 1438.17L3173
> 1542.83C3173 1557.28 3161.28 1569 3146.83 1569L2490.17
> 1569C2475.72 1569 2464 1557.28 2464 1542.83Z" fill="#0071C5" fill-
> rule="evenodd" fill-opacity="0.501961"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 2601 1512)">HTTP
> </text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="64" transform="matrix(1 0 0 1 2753.4
> 1512)">HEAD/GET</text>
> +    <path d="M2337 1468.5 2398 1468.5 2398 1445 2445 1492 2398 1539
> 2398 1515.5 2337 1515.5Z" fill="#0071C5" fill-rule="evenodd" fill-
> opacity="0.501961"/>
> +    <rect x="3253" y="1715" width="424" height="102" fill="#5D1682" fill-
> opacity="0.501961"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="50" transform="matrix(1 0 0 1 3362.57
> 1783)">GetData</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="50" transform="matrix(1 0 0 1 3536.17
> 1783)">()</text>
> +    <text fill="#890C58" font-family="Calibri,Calibri_MSFontService,sans-serif"
> font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> 1 3195.85
> 1686)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL</text>
> +    <rect x="3256" y="1840" width="421" height="102" fill="#5D1682" fill-
> opacity="0.501961"/>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="50" transform="matrix(1 0 0 1 3322.5
> 1908)">GeOemData</text>
> +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> weight="700" font-size="50" transform="matrix(1 0 0 1 3579.17
> 1908)">()</text>
> +  </g>
> +</svg>
> diff --git a/RedfishClientPkg/Readme.md b/RedfishClientPkg/Readme.md
> index 0aec0580..69dc33d3 100644
> --- a/RedfishClientPkg/Readme.md
> +++ b/RedfishClientPkg/Readme.md
> @@ -31,13 +31,13 @@ Redfish property with HII option.
>
>  The current design of UEFI Redfish Client EDK2 Implementation can already
>  support the provisioning of firmware-owned platform Redfish resource,
> however,
> -this requires addtional support on edk2 HII. Therefore, provisioning of
> +this requires additional support on edk2 HII. Therefore, provisioning of
>  firmware managed platform Redfish resource would be the second stage.
>
>  Below are the block diagrams of UEFI Redfish Client EDK2 Implementation.
>
>  ## <a name="[0]">EDK2 Redfish Client Implementation Diagrams</a>
> -![UEFI Redfish Client Implementation](https://github.com/changab/edk2-
> staging/blob/edk2-redfish-
> client/RedfishClientPkg/Documents/Media/RedfishClientDriverStack.svg?raw
> =true)
> +![UEFI Redfish Client Implementation](https://github.com/tianocore/edk2-
> redfish-
> client/blob/main/RedfishClientPkg/Documents/Media/RedfishClientDriverSta
> ck.svg?raw=true)
>
>  ## EFI EDK2 Redfish Client Framework
>  The functionality of each block in the diagrams are described in below
> sections,
> @@ -89,7 +89,7 @@ Redfish service to platform configurations, or vice versa
> to update platform
>  configurations to Redfish service. Both EDK2 Redfish Non-Collection and
>  Collection Feature drivers are script auto-generated base on Redfish schema
>  naming. The EDK2 Redfish Non-Collection feature driver manages the
> resource of
> -specific Resdifsh resource type, while the EDK2 Redfish Collection feature
> +specific Redfish resource type, while the EDK2 Redfish Collection feature
>  driver manages the members which have the same resource type in collection
>  resource (e.g the ComputerSystem resource and ComputerSystemCollection
> resource)
>  .
> @@ -100,18 +100,30 @@ platform configuration format and storage from
> EDK2 Redfish Feature driver.
>  This protocol provides the interfaces to get and set platform configuration
> with
>  the format and configuration storage agnostic to the Redfish feature driver.
>  The platform can provide its own EDKII Redfish Platform Config driver
> instance
> -to access platform-specific configuration format and storage. On EDK2 open
> -source, EDKII Redfish Platform Config Protocol accesses the platform
> -configuration in EDK2 HII defined format.
> +to access platform-specific configuration format and storage.
> +
> +On EDK2 open source, EDKII Redfish Platform Config Protocol accesses the
> +platform configuration in EDK2 HII defined format. Below is driver stack
> diagram
> +which implements EDKII Redfish Platform Config Protocol. The protocol
> driver
> +leverages the HII interface to get or set the HII configuration on platform. By
> +following the x-uefi-redfish Configure Language defined in UNI file, protocol
> +driver can find corresponding HII question for given Redfish attribute. In this
> +way, protocol driver creates the mapping between HII questions and Redfish
> +attributes.
> +
> +![platform config](https://github.com/nicklela/edk2-redfish-
> client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-
> platform-config-protocol-stack.svg?raw=true)
>
>  Below is the prototype of
> **EDKII_REDFISH_PLATFORM_CONFIG_PROTOCOL**,
>
>  ```C
>  struct _EDKII_REDFISH_PLATFORM_CONFIG_PROTOCOL {
> -  EDKII_REDFISH_PLATFORM_CONFIG_GET_VALUE             GetValue;
> -  EDKII_REDFISH_PLATFORM_CONFIG_SET_VALUE             SetValue;
> -  EDKII_REDFISH_PLATFORM_CONFIG_GET_CONFIG_LANG
> GetConfigureLang;
> -  EDKII_REDFISH_PLATFORM_CONFIG_GET_SUPPORTED_SCHEMA
> GetSupportedSchema;
> +  UINT64                                                Revision;
> +  EDKII_REDFISH_PLATFORM_CONFIG_GET_VALUE               GetValue;
> +  EDKII_REDFISH_PLATFORM_CONFIG_SET_VALUE               SetValue;
> +  EDKII_REDFISH_PLATFORM_CONFIG_GET_DEFAULT_VALUE
> GetDefaultValue;
> +  EDKII_REDFISH_PLATFORM_CONFIG_GET_ATTRIBUTE           GetAttribute;
> +  EDKII_REDFISH_PLATFORM_CONFIG_GET_CONFIG_LANG
> GetConfigureLang;
> +  EDKII_REDFISH_PLATFORM_CONFIG_GET_SUPPORTED_SCHEMA
> GetSupportedSchema;
>  };
>  ```
>
> @@ -181,11 +193,10 @@ x-uefi-redfish-Processor.v1_0_0
>  ```
>  #### x-uefi-redfish Configure Language format:
>  - The string declared with x-uefi-redfish configure language is a path to the
> property
> -in Redfish resource
> +in Redfish schema.
>  - The root of path is the Redfish resource type indicated in x-uefi-redfish
> configure
>  language
> -- The path is relative to root of Redfish resource type, not related to Redfish
> service
> -- root.
> +- The path is relative to root of [Redfish
> schema](https://redfish.dmtf.org/redfish/schema_index) defined by DMTF,
> not related to Redfish service root.
>
>  #### Examples,
>  ```C
> @@ -215,7 +226,135 @@ EDK2 Build is responsible to pull the necessary
> EDK2 Redfish JSON Schema to C
>  Structure Convertors and EDK2 Redfish Feature drivers into edk2 build
> process
>  according to the x-uefi-Redfish config language used in the HII VFR forms.
>
> +## EDK2 Redfish client feature driver
> +![foundation driver stack](https://github.com/nicklela/edk2-redfish-
> client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-
> foundation-driver-stack.svg?raw=true)
> +
> +Above diagram shows the way how Redfish application (Redfish feature
> driver) works with Redfish foundation
> +drivers and communicate with Redfish service. Redfish feature driver relies on
> Redfish Config driver to
> +provide the information of desired Rest Ex instance. To achieve this, Redfish
> feature driver has to provide
> +EDKII Redfish Config Handler Protocol and Redfish Config driver will use this
> protocol to deliver Redfish
> +service information.
> +
> +```C
> +struct _EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL {
> +  EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_INIT    Init;
> +  EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_STOP    Stop;
> +};
> +```
> +
> +![feature driver call flow](https://github.com/nicklela/edk2-redfish-
> client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-
> feature-driver-call-flow.svg?raw=true)
> +
> +Above diagram shows the details of how Redfish feature core driver invokes
> Redfish feature drivers. To be called
> +by Redfish feature core driver, Redfish feature driver has to register the
> managed URI to Redfish feature core
> +driver. Then Redfish feature core driver learns the dependency of each
> different feature drivers.
> +
> +#### Dispatch Redfish feature drivers
> +When given event is signaled, Redfish feature core driver starts the operation
> of invoking Redfish feature drivers
> +by following the order from left to right in Redfish URI list. In the diagram, the
Is this much clearer to say "following the order from parent node to child node in the Redfish URI hierarchy."



> feature driver which manages
> +service root will be invoked first. And feature driver which manages computer
> system collection will be invoked
> +at second position. Once Redfish feature core driver walks through entire
> Redfish URI, the operation is stopped.
> +
> +### Interface between collection feature driver and non-collection feature
> driver
> +Redfish collection resource is a set of Redfish non-collection resource. Redfish
> collection feature driver works
> +with non-collection feature driver to manage them. For example, boot option
> collection feature driver work with
> +boot option feature driver to manage boot options in Redfish service.
> Computer system collection feature driver
> +work with computer system feature driver to manage computer system
> resource.
> +
> +The interface between collection feature driver and non-collection feature
> driver is EDKII Redfish resource config
> +protocol.
> +
> +```C
> +struct _EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL {
> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_PROVISIONING
> Provisioning;
> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CONSUME         Consume;
> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_UPDATE          Update;
> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CHECK           Check;
> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_IDENTIFY        Identify;
> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_GET_INFO        GetInfo;
> +};
> +```
> +
> +### Feature driver event
> +Two events are defined for feature driver to perform necessary operation at
> given time.
> +- Ready-to-Provisioning event
> +  - Feature driver which requires to do operation before Redfish feature driver
> starts the synchronization can listen to
> +    this event. For example, boot option feature driver may want to refresh
> boot order variable and get latest boot order
> +    information before provisioning the boot options to boot options resource.
> +- After-Provisioning event
> +  - Feature driver which wants to do operation after Redfish feature driver
> finish the synchronization job can listen to
> +    this event.
> +
> +### Reboot required
> +When Redfish feature drivers apply user request to platform, a system reboot
> is usually required. PCD
> `gEfiRedfishClientPkgTokenSpaceGuid.PcdRedfishSystemRebootRequired` is
> introduced for this purpose. After Redfish feature
> +core driver is done with synchronization job, Redfish feature core driver
> checks this PCD and perform system reboot when
> +PCD is set to `TRUE`.
> +
> +### Synchronization design between Redfish service and BIOS
> +The purpose of Redfish feature driver is to do the synchronization job
> between Redfish service and BIOS. The operation of synchronization can be
> simply divided into two types:
> +
> +#### Provisioning resource
> +Below is the flow diagram of provisioning platform configuration to Redfish
> service at Bios resource. With the x-uefi-redfish
> +configure language described in above section, Redfish feature driver collect
> all BIOS attributes from HII database and populated
> +them to Redfish service.
> +![provisioning](https://github.com/nicklela/edk2-redfish-
> client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-call-
> flow-provisioning.svg?raw=true)
> +
> +#### Consume resource
> +Below is the flow diagram of consuming user request from Redfish service to
> platform configuration. Redfish feature driver finds
> +corresponding HII question and apply user desired value to platform.
> +![pending settings](https://github.com/nicklela/edk2-redfish-
> client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-call-
> flow-pending-settings.svg?raw=true)
> +
> +Below diagram shows the call flow of EDKII Resource Config Protocol and
> how to use this protocol to handle synchronization
> +job.
> +![synchronization](https://github.com/nicklela/edk2-redfish-
> client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-
> synchronization-design.svg?raw=true)
> +
> +Several interfaces defined in EDKII Redfish Resource Config Protocol work
> together to support Redfish synchronization:
> +- Identify()
> +  - This function is used to check and see if given Redfish resource is the one
> feature driver wants to manage. A platform
How about, This function is used to check if the given Redfish resource is the one
the feature driver wants to manage.


> +    library `RedfishReesourceIdentifyLib` is introduced for platform to
> implement its own policy to identify Redfish resource.
> +- Check()
> +  - This function is used to check the attribute status on Redfish service. If all
> attributes that feature driver managed
feature driver manages

> +    are presented in Redfish service, feature driver must provision them
If all attributes the feature driver manages are presented in Redfish service, feature driver must provision them


> already. Otherwise, Provisioning() will be called
> +    to perform resource provisioning job.
> +- Provisioning()
> +  - When this function is called, feature driver will provision all attributes that
> it managed to Redfish service. This
> +    operation usually create new resource at Redfish service and require
> different operation that Redfish service specified.
different operation that specified by Redfish service.

> +- Consume()
> +  - When there is pending settings in Redfish service, this function is called for
> feature driver to consume pending settings
> +    requested by user.
> +- Update()
> +  - When platform configuration is updated, this function is called to update
> configuration changes to Redfish service and
> +    Redfish service can show the latest settings on platform.
> +
> +The EDKII Redfish Resource Addendum Protocol is introduced to provide
> platform addendum data that Redfish service requires.
> +This protocol will be called at Provisioning() and Update() functions so
> platform can add OEM attribute or any other attribute
> +that Redfish service specified.
platform can add OEM attribute or any other attribute specified by Redfish service.

> +
> +```C
> +struct _EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL {
> +  UINT64                                  Revision;    ///< Protocol revision
> +  EDKII_REDFISH_RESOURCE_ADDENDUM_OEM     GetOemData;  ///< Get
> OEM data
> +  EDKII_REDFISH_RESOURCE_ADDENDUM_DATA    GetData;     ///< Get
> addendum data
> +};
> +```
> +
> +#### Redfish service implementation
> +The idea of Redfish synchronization design is to manage Redfish resource
> directly by platform firmware. To do this, Redfish
> +synchronization functions have to work with Redfish service implementation
> in BMC firmware. This is because the interface
> +between platform firmware and BMC firmware is not defined in any
> specification.
> +Several prerequisites must be satisfied:
> +- Platform firmware has permission to manage Redfish resource. BMC has
> ability to tell the difference between platform request
> +  and out-of-band user. This can normally be done by identifying the
> bootstrap account in HTTP request. The bootstrap account is
> +  described in Host Interface specification 1.3.0 section 9.
> +- The ability to tell if there is user changes to Redfish resource or not. Redfish
The ability to tell if there is an user who changes to Redfish resource or not.

> feature drivers can only be executed at POST
> +  time. So the modification to BIOS managed resource is asynchronous
> operation.
is an asynchronous operation.

> + Thus, we need below supports in Redfish service:
> +  - ETAG support in HTTP header.
> +  - Setting resource support (defined in Redfish specification 1.18 section
> 9.10).
> +  - Redfish Task support to POST and DELETE operation made by user in
> Redfish collection resource and Redfish actions.
> +
> +### Redfish Task design
> +TBD.
> +
>  ## The Contributors
> -Chang, Abner <abner.chang@hpe.com>\
> -Wang, Nickle <nickle.wang@hpe.com>\
> +Chang, Abner <abner.chang@amd.com>\
> +Wang, Nickle <nicklew@nvidia.com>\
>  Chen, Aaron <aaron.chen@hpe.com>
> --
> 2.17.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#108633): https://edk2.groups.io/g/devel/message/108633
Mute This Topic: https://groups.io/mt/101316997/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [edk2-redfish-client][PATCH] RedfishClientPkg: update Readme.md
Posted by Nickle Wang via groups.io 6 months, 4 weeks ago
Thanks for your review, @Chang, Abner<mailto:Abner.Chang@amd.com>  Version 2 patch is here: https://edk2.groups.io/g/devel/message/109280



Regards,

Nickle



> -----Original Message-----

> From: Chang, Abner <Abner.Chang@amd.com>

> Sent: Thursday, September 14, 2023 12:48 PM

> To: Nickle Wang <nicklew@nvidia.com>; devel@edk2.groups.io

> Cc: Igor Kulchytskyy <igork@ami.com>

> Subject: RE: [edk2-redfish-client][PATCH] RedfishClientPkg: update Readme.md

>

> External email: Use caution opening links or attachments

>

>

> [AMD Official Use Only - General]

>

> Hi Nickle,

> See my comments in line.

>

> Thanks

> Abner

>

> > -----Original Message-----

> > From: Nickle Wang <nicklew@nvidia.com<mailto:nicklew@nvidia.com>>

> > Sent: Tuesday, September 12, 2023 11:10 PM

> > To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>

> > Cc: Chang, Abner <Abner.Chang@amd.com<mailto:Abner.Chang@amd.com>>; Igor Kulchytskyy

> > <igork@ami.com<mailto:igork@ami.com>>

> > Subject: [edk2-redfish-client][PATCH] RedfishClientPkg: update Readme.md

> >

> > Caution: This message originated from an External Source. Use proper caution

> > when opening attachments, clicking links, or responding.

> >

> >

> > Update readme for below topics:

> > - The call flow of BIOS Redfish provisioning scenario.

> > - The call flow of BIOS Redfish pending settings scenario.

> > - The call flow of Redfish feature driver dispatch.

> > - Redfish foundation driver stack design.

> > - The design of Redfish Platform Config Protocol.

> > - The design of synchronization between BIOS and Redfish service.

> >

> > Signed-off-by: Nickle Wang <nicklew@nvidia.com<mailto:nicklew@nvidia.com>>

> > Cc: Abner Chang <abner.chang@amd.com<mailto:abner.chang@amd.com>>

> > Cc: Igor Kulchytskyy <igork@ami.com<mailto:igork@ami.com>>

> > ---

> >  .../redfish-call-flow-pending-settings.svg    |  58 ++++++

> >  .../Media/redfish-call-flow-provisioning.svg  |  46 +++++

> >  .../redfish-feature-driver-call-flow.svg      | 133 ++++++++++++++

> >  .../Media/redfish-foundation-driver-stack.svg |  75 ++++++++

> >  ...redfish-platform-config-protocol-stack.svg |  99 ++++++++++

> >  .../Media/redfish-synchronization-design.svg  |  75 ++++++++

> >  RedfishClientPkg/Readme.md                    | 169 ++++++++++++++++--

> >  7 files changed, 640 insertions(+), 15 deletions(-)

> >  create mode 100755 RedfishClientPkg/Documents/Media/redfish-call-flow-

> > pending-settings.svg

> >  create mode 100755 RedfishClientPkg/Documents/Media/redfish-call-flow-

> > provisioning.svg

> >  create mode 100755 RedfishClientPkg/Documents/Media/redfish-feature-

> > driver-call-flow.svg

> >  create mode 100755 RedfishClientPkg/Documents/Media/redfish-

> > foundation-driver-stack.svg

> >  create mode 100755 RedfishClientPkg/Documents/Media/redfish-platform-

> > config-protocol-stack.svg

> >  create mode 100755 RedfishClientPkg/Documents/Media/redfish-

> > synchronization-design.svg

> >

> > diff --git a/RedfishClientPkg/Documents/Media/redfish-call-flow-pending-

> > settings.svg b/RedfishClientPkg/Documents/Media/redfish-call-flow-

> > pending-settings.svg

> > new file mode 100755

> > index 00000000..155a5ab3

> > --- /dev/null

> > +++ b/RedfishClientPkg/Documents/Media/redfish-call-flow-pending-

> > settings.svg

> > @@ -0,0 +1,58 @@

> > +<svg width="4414" height="1709" style="background-color:white"

> >

> xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw<http://www.w3.org/2000/svg>

> ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7<http://www.w3.org/2000/svg>

> 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7<http://www.w3.org/2000/svg>

> C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC<http://www.w3.org/2000/svg>

> 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C<http://www.w3.org/2000/svg>

> %7C%7C&sdata=q2cM9UmPYSpMf9judVCSBmt8BDMEpLUwqyPP%2Bcgh3BU%3<http://www.w3.org/2000/svg>

> D&reserved=0<http://www.w3.org/2000/svg>"

> >

> xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F<http://www.w3.org/1999/xlink>

> %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com%<http://www.w3.org/1999/xlink>

> 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc<http://www.w3.org/1999/xlink>

> c17a%7C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJ<http://www.w3.org/1999/xlink>

> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3<http://www.w3.org/1999/xlink>

> 000%7C%7C%7C&sdata=cUubVE0DNF68fdJ7QxUO7jlBa9I79H1AfE2kj1sQ02c%3<http://www.w3.org/1999/xlink>

> D&reserved=0<http://www.w3.org/1999/xlink>" xml:space="preserve"

> > overflow="hidden">

> > +  <defs>

> > +    <clipPath id="clip0">

> > +      <rect x="12" y="509" width="4414" height="1709"/>

> > +    </clipPath>

> > +  </defs>

> > +  <g clip-path="url(#clip0)" transform="translate(-12 -509)">

> > +    <rect x="2057.5" y="676.5" width="557" height="128" stroke="#BCBCBC"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#FFFFFF"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 2143.23

> > 758)">Feature Driver</text>

> > +    <rect x="600.5" y="676.5" width="557" height="128" stroke="#BCBCBC"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#FFFFFF"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 763.66 758)">EDK2

> > HII</text>

> > +    <rect x="3408.5" y="676.5" width="587" height="128" stroke="#BCBCBC"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#FFFFFF"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 3499.14

> > 758)">Redfish Service</text>

> > +    <path d="M2338.94 804.5 2338.94 2102.76 2332.06 2102.76 2332.06

> > 804.5ZM2354.51 2076.99 2335.5 2109.58 2316.49 2076.99C2315.53

> > 2075.35 2316.09 2073.25 2317.73 2072.29 2319.37 2071.34 2321.47

> > 2071.89 2322.43 2073.53L2338.47 2101.03 2332.53 2101.03 2348.57

> > 2073.53C2349.53 2071.89 2351.63 2071.34 2353.27 2072.29 2354.91

> > 2073.25 2355.47 2075.35 2354.51 2076.99Z" fill="#8C8C8C"/>

> > +    <path d="M871.938 804.5 871.938 2127.85 865.063 2127.85 865.063

> > 804.5ZM887.511 2102.08 868.501 2134.67 849.49 2102.08C848.533

> > 2100.44 849.087 2098.34 850.727 2097.38 852.367 2096.43 854.471

> > 2096.98 855.428 2098.62L871.47 2126.12 865.531 2126.12 881.573

> > 2098.62C882.53 2096.98 884.634 2096.43 886.274 2097.38 887.914

> > 2098.34 888.468 2100.44 887.511 2102.08Z" fill="#8C8C8C"/>

> > +    <path d="M3710.94 804.5 3710.94 2127.85 3704.06 2127.85 3704.06

> > 804.5ZM3726.51 2102.08 3707.5 2134.67 3688.49 2102.08C3687.53

> > 2100.44 3688.09 2098.34 3689.73 2097.38 3691.37 2096.43 3693.47

> > 2096.98 3694.43 2098.62L3710.47 2126.12 3704.53 2126.12 3720.57

> > 2098.62C3721.53 2096.98 3723.63 2096.43 3725.27 2097.38 3726.91

> > 2098.34 3727.47 2100.44 3726.51 2102.08Z" fill="#8C8C8C"/>

> > +    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-

> > 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95

> > 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2335.45 1342)"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 990.014

> > 1568)">3</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1016.37

> > 1568)">. If </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1098.29

> > 1568)">HII question exists and pending value is changed</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1051.89

> > 1628)">Use HII protocol/library to submit new value</text>

> > +    <path d="M1444.91 1252 1719.91 1252 1719.91 1311 1444.91 1311Z"

> > fill="#FFFF00" fill-rule="evenodd"/>

> > +    <path d="M1719.91 1252 1844.23 1252 1844.23 1311 1719.91 1311Z"

> > fill="#FFFF00" fill-rule="evenodd"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 990.014

> > 1239)">2. Check and see if there is HII question with lang:</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1051.89

> > 1299)">/</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1078.24

> > 1299)">bios/attributes/</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1444.91

> > 1299)">ATTRIBUTE_</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1719.91

> > 1299)">NAME</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2378.69

> > 1805)">4. Update current settings to </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2440.56

> > 1865)">/redfish/v1/systems/SYS/Bios </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 3138.38

> > 1865)">(provisioning)</text>

> > +    <path d="M2335 1079.14 3678.02 1079.14 3678.02 1084.87 2335

> > 1084.86ZM3673.43 1068.25 3700.93 1082 3673.43 1095.75Z"

> > fill="#8C8C8C"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2393.47

> > 968)">1. Use </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2549.88

> > 968)">HTTP âEURoeGUTâEUR&#65533; to download pending settings from</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2455.35

> > 1028)">/redfish</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2638.11

> > 1028)">/v1/systems/SYS/Bios/Settings</text>

> > +    <path d="M2335 1901.14 3678.02 1901.14 3678.02 1906.86 2335

> > 1906.86ZM3673.43 1890.25 3700.93 1904 3673.43 1917.75Z"

> > fill="#8C8C8C"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2151.86

> > 2175)">6. </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2212.01

> > 2175)">System reboot</text>

> > +    <rect x="298.5" y="959.5" width="377" height="199" stroke="#CDCDCD"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#404040"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 347.29 1046)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 413.749 1105)">driver</text>

> > +    <rect x="353.5" y="1014.5" width="377" height="199" stroke="#CDCDCD"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#404040"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 402.29 1101)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 468.749 1160)">driver</text>

> > +    <rect x="408.5" y="1069.5" width="377" height="199" stroke="#CDCDCD"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#404040"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 457.29 1156)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 523.749 1215)">driver</text>

> > +    <rect x="463.5" y="1124.5" width="377" height="199" stroke="#CDCDCD"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#404040"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 512.29 1211)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 578.749 1270)">driver</text>

> > +    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-

> > 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95

> > 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2341.45 1666)"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="83" transform="matrix(1 0 0 1 62.1854

> > 611)">Consume pending </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="83" transform="matrix(1 0 0 1 687.237

> > 611)">settings:</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="50" transform="matrix(1 0 0 1

> > 62.1854 680)">BMC to BIOS</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 3715.21

> > 1979)">5. BMC reset pending settings</text>

> > +  </g>

> > +</svg>

> > diff --git a/RedfishClientPkg/Documents/Media/redfish-call-flow-

> > provisioning.svg b/RedfishClientPkg/Documents/Media/redfish-call-flow-

> > provisioning.svg

> > new file mode 100755

> > index 00000000..70556152

> > --- /dev/null

> > +++ b/RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg

> > @@ -0,0 +1,46 @@

> > +<svg width="3803" height="1724" style="background-color:white"

> >

> xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw<http://www.w3.org/2000/svg>

> ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7<http://www.w3.org/2000/svg>

> 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7<http://www.w3.org/2000/svg>

> C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC<http://www.w3.org/2000/svg>

> 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C<http://www.w3.org/2000/svg>

> %7C%7C&sdata=q2cM9UmPYSpMf9judVCSBmt8BDMEpLUwqyPP%2Bcgh3BU%3<http://www.w3.org/2000/svg>

> D&reserved=0<http://www.w3.org/2000/svg>"

> >

> xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F<http://www.w3.org/1999/xlink>

> %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com%<http://www.w3.org/1999/xlink>

> 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc<http://www.w3.org/1999/xlink>

> c17a%7C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJ<http://www.w3.org/1999/xlink>

> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3<http://www.w3.org/1999/xlink>

> 000%7C%7C%7C&sdata=cUubVE0DNF68fdJ7QxUO7jlBa9I79H1AfE2kj1sQ02c%3<http://www.w3.org/1999/xlink>

> D&reserved=0<http://www.w3.org/1999/xlink>" xml:space="preserve"

> > overflow="hidden">

> > +  <defs>

> > +    <clipPath id="clip0">

> > +      <rect x="239" y="507" width="3803" height="1724"/>

> > +    </clipPath>

> > +  </defs>

> > +  <g clip-path="url(#clip0)" transform="translate(-239 -507)">

> > +    <rect x="2101.5" y="726.5" width="557" height="127" stroke="#BCBCBC"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#FFFFFF"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 2187.7

> > 807)">Feature Driver</text>

> > +    <rect x="644.5" y="726.5" width="557" height="127" stroke="#BCBCBC"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#FFFFFF"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 808.129 807)">EDK2

> > HII</text>

> > +    <rect x="3452.5" y="726.5" width="587" height="127" stroke="#BCBCBC"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#FFFFFF"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 3543.6

> > 807)">Redfish Service</text>

> > +    <path d="M2383.94 853.5 2383.94 2188.56 2377.06 2188.56 2377.06

> > 853.5ZM2399.51 2162.79 2380.5 2195.38 2361.49 2162.79C2360.53

> > 2161.15 2361.09 2159.04 2362.73 2158.08 2364.37 2157.13 2366.47

> > 2157.68 2367.43 2159.32L2383.47 2186.82 2377.53 2186.82 2393.57

> > 2159.32C2394.53 2157.68 2396.63 2157.13 2398.27 2158.08 2399.91

> > 2159.04 2400.47 2161.15 2399.51 2162.79Z" fill="#8C8C8C"/>

> > +    <path d="M915.938 853.5 915.938 2188.56 909.063 2188.56 909.063

> > 853.5ZM931.511 2162.79 912.501 2195.38 893.49 2162.79C892.533

> > 2161.15 893.087 2159.04 894.727 2158.08 896.367 2157.13 898.471

> > 2157.68 899.428 2159.32L915.47 2186.82 909.531 2186.82 925.573

> > 2159.32C926.53 2157.68 928.634 2157.13 930.274 2158.08 931.914

> > 2159.04 932.468 2161.15 931.511 2162.79Z" fill="#8C8C8C"/>

> > +    <path d="M3754.94 853.5 3754.94 2188.56 3748.06 2188.56 3748.06

> > 853.5ZM3770.51 2162.79 3751.5 2195.38 3732.49 2162.79C3731.53

> > 2161.15 3732.09 2159.04 3733.73 2158.08 3735.37 2157.13 3737.47

> > 2157.68 3738.43 2159.32L3754.47 2186.82 3748.53 2186.82 3764.57

> > 2159.32C3765.53 2157.68 3767.63 2157.13 3769.27 2158.08 3770.91

> > 2159.04 3771.47 2161.15 3770.51 2162.79Z" fill="#8C8C8C"/>

> > +    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-

> > 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95

> > 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2379.45 1003)"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 957.259

> > 969)">1. Find all HII questions with </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1620.12

> > 969)">language: </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="50" transform="matrix(1 0 0 1 1854.45

> > 969)">âEURoe/bios/attributes/*</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2292.73

> > 969)">âEUR&#65533; </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 985.955

> > 1526)">3. Get current value of each HII question and</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1047.83

> > 1586)">append value to attribute list</text>

> > +    <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-

> > 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95

> > 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2379.45 1391)"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2417.95

> > 1202)">2. Follow Bios schema and </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2479.82

> > 1262)">create attribute list</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2412.63

> > 1795)">4. BIOS current settings is ready</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2474.5

> > 1855)">Issue HTTP âEURoePUTâEUR&#65533; to

> > /redfish/v1/systems/SYS/Bios</text>

> > +    <path d="M2385 1906.14 3728.02 1906.14 3728.02 1911.86 2385

> > 1911.86ZM3723.43 1895.25 3750.93 1909 3723.43 1922.75Z"

> > fill="#8C8C8C"/>

> > +    <rect x="342.5" y="1008.5" width="377" height="199" stroke="#CDCDCD"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#404040"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 391.759 1095)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 458.217 1154)">driver</text>

> > +    <rect x="397.5" y="1063.5" width="377" height="199" stroke="#CDCDCD"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#404040"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 446.759 1150)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 513.217 1209)">driver</text>

> > +    <rect x="452.5" y="1118.5" width="377" height="199" stroke="#CDCDCD"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#404040"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 501.759 1205)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 568.217 1264)">driver</text>

> > +    <rect x="507.5" y="1173.5" width="377" height="199" stroke="#CDCDCD"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#404040"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 556.759 1260)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 623.217 1319)">driver</text>

> > +    <path d="M22.9158-2.86458 1467.45-2.86422 1467.45 2.86494

> > 22.9158 2.86459ZM27.5 13.75 0 0 27.5-13.75Z" fill="#8C8C8C"

> > transform="matrix(-1 0 0 1 2379.45 1453)"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="83" transform="matrix(1 0 0 1 289.433

> > 610)">Provisioning:</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="50" transform="matrix(1 0 0 1

> > 289.433 679)">BIOS to BMC</text>

> > +  </g>

> > +</svg>

> > diff --git a/RedfishClientPkg/Documents/Media/redfish-feature-driver-call-

> > flow.svg b/RedfishClientPkg/Documents/Media/redfish-feature-driver-call-

> > flow.svg

> > new file mode 100755

> > index 00000000..acea6b44

> > --- /dev/null

> > +++ b/RedfishClientPkg/Documents/Media/redfish-feature-driver-call-

> > flow.svg

> > @@ -0,0 +1,133 @@

> > +<svg width="4287" height="2303" style="background-color:white"

> >

> xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw<http://www.w3.org/2000/svg>

> ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7<http://www.w3.org/2000/svg>

> 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7<http://www.w3.org/2000/svg>

> C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC<http://www.w3.org/2000/svg>

> 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C<http://www.w3.org/2000/svg>

> %7C%7C&sdata=q2cM9UmPYSpMf9judVCSBmt8BDMEpLUwqyPP%2Bcgh3BU%3<http://www.w3.org/2000/svg>

> D&reserved=0<http://www.w3.org/2000/svg>"

> >

> xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F<http://www.w3.org/1999/xlink>

> %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com%<http://www.w3.org/1999/xlink>

> 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc<http://www.w3.org/1999/xlink>

> c17a%7C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJ<http://www.w3.org/1999/xlink>

> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3<http://www.w3.org/1999/xlink>

> 000%7C%7C%7C&sdata=cUubVE0DNF68fdJ7QxUO7jlBa9I79H1AfE2kj1sQ02c%3<http://www.w3.org/1999/xlink>

> D&reserved=0<http://www.w3.org/1999/xlink>" xml:space="preserve"

> > overflow="hidden">

> > +  <defs>

> > +    <clipPath id="clip0">

> > +      <rect x="29" y="171" width="4287" height="2303"/>

> > +    </clipPath>

> > +  </defs>

> > +  <g clip-path="url(#clip0)" transform="translate(-29 -171)">

> > +    <rect x="33" y="171" width="1544" height="436" fill="#F2F2F2"/>

> > +    <path d="M3300 305.835C3300 231.368 3360.37 171 3434.84

> > 171L3974.16 171C4048.63 171 4109 231.368 4109 305.835L4109

> > 1758.16C4109 1832.63 4048.63 1893 3974.16 1893L3434.84

> > 1893C3360.37 1893 3300 1832.63 3300 1758.16Z" fill="#E8E8E8" fill-

> > rule="evenodd"/>

> > +    <path d="M616 846C616 827.222 631.223 812 650.001 812L1142

> > 812C1160.78 812 1176 827.222 1176 846L1176 982C1176 1000.78

> > 1160.78 1016 1142 1016L650.001 1016C631.223 1016 616 1000.78 616

> > 982Z" fill="#76B900" fill-rule="evenodd"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 703.081 901)">Redfish Feature </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 756.935 960)">Core Driver</text>

> > +    <rect x="30.5001" y="635.5" width="797" height="144"

> > stroke="#000000" stroke-width="3.4375" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="none"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="55" transform="matrix(1 0 0 1 63.3886 702)">Event

> > driven</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1

> > 63.3886 751)">PcdEdkIIRedfishFeatureDriverStartupEventGuid</text>

> > +    <path d="M0.11336-2.86234 6.42586-2.61234 12.9907-1.77865

> > 19.4637-0.428434 25.9229 1.43627 32.3153 3.81669 38.6329 6.70925

> > 44.8331 9.96451 50.9302 13.6801 56.9417 17.8314 62.8126 22.3572

> > 68.5498 27.2608 74.153 32.5411 84.7977 44.1253 94.8188 56.9226

> > 104.013 70.7936 112.257 85.6759 119.538 101.424 125.742 117.799

> > 130.688 134.762 134.365 152.159 135.732 164.561 130.036 165.182

> > 128.76 153.341 125.187 136.363 120.383 119.826 114.337 103.826

> > 107.243 88.4491 99.2365 73.9564 90.3062 60.4524 80.5773 47.9997

> > 70.222 36.7089 64.8252 31.6142 59.3124 26.8928 53.6833 22.5436

> > 47.9448 18.5699 42.1669 15.0355 36.2421 11.9158 30.3096 9.1833

> > 24.3271 6.93873 18.2863 5.17843 12.2593 3.90365 6.19914 3.11234-

> > 0.11336 2.86234ZM146.247 159.259 134.621 187.722 118.826 161.343Z"

> > fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16 429

> > 779)"/>

> > +    <rect x="33.4998" y="1065.5" width="727" height="177"

> > stroke="#BCBCBC" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="#FFFFFF"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="55" transform="matrix(1 0 0 1 65.7033

> > 1129)">Ready</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="55" transform="matrix(1 0 0 1 206.641 1129)">-

> > </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="55" transform="matrix(1 0 0 1 223.255

> > 1129)">to</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="55" transform="matrix(1 0 0 1 271.953 1129)">-

> > </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="55" transform="matrix(1 0 0 1 288.568

> > 1129)">Provision Signal</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1

> > 65.7033 1173)">gEfiRedfishClientFeatureReadyToProvisionin</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1

> > 65.7033 1213)">gGuid</text>

> > +    <rect x="33.4998" y="2310.5" width="727" height="144"

> > stroke="#BCBCBC" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="#FFFFFF"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="55" transform="matrix(1 0 0 1 65.7037

> > 2358)">After</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="55" transform="matrix(1 0 0 1 182.006 2358)">-

> > </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="55" transform="matrix(1 0 0 1 198.62

> > 2358)">Provision Signal</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1

> > 65.7037 2402)">gEfiRedfishClientFeatureAfterProvisioningG</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1

> > 65.7037 2442)">uid</text>

> > +    <path d="M898.61 1016 898.61 1153.86C898.61 1155.44 897.327

> > 1156.72 895.745 1156.72L782.917 1156.72 782.917 1150.99 895.745

> > 1150.99 892.881 1153.86 892.881 1016ZM787.5 1167.61 760 1153.86

> > 787.5 1140.11Z" fill="#8C8C8C"/>

> > +    <path d="M898.61 1016 898.61 2382.49C898.61 2384.08 897.327

> > 2385.36 895.745 2385.36L782.917 2385.36 782.917 2379.63 895.745

> > 2379.63 892.881 2382.49 892.881 1016ZM787.5 2396.24 760 2382.49

> > 787.5 2368.74Z" fill="#8C8C8C"/>

> > +    <path d="M1192.5 1194.67C1192.5 1181.32 1203.32 1170.5 1216.67

> > 1170.5L1690.33 1170.5C1703.68 1170.5 1714.5 1181.32 1714.5

> > 1194.67L1714.5 1291.33C1714.5 1304.68 1703.68 1315.5 1690.33

> > 1315.5L1216.67 1315.5C1203.32 1315.5 1192.5 1304.68 1192.5

> > 1291.33Z" stroke="#008564" stroke-width="9.16667" stroke-

> > linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1313.38

> > 1258)">Service Root</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="48" transform="matrix(1 0 0 1 1192.27

> > 1131)">/redfish/v1</text>

> > +    <path d="M0-2.86458 226.791-2.86458C228.373-2.86458 229.656-

> > 1.58207 229.656 0L229.656 273.147 223.927 273.147 223.927 0 226.791

> > 2.86458 0 2.86458ZM240.541 268.564 226.791 296.064 213.041

> > 268.564Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16

> > 896 1016)"/>

> > +    <path d="M1629.5 1428.67C1629.5 1415.32 1640.32 1404.5 1653.67

> > 1404.5L2126.33 1404.5C2139.68 1404.5 2150.5 1415.32 2150.5

> > 1428.67L2150.5 1525.33C2150.5 1538.68 2139.68 1549.5 2126.33

> > 1549.5L1653.67 1549.5C1640.32 1549.5 1629.5 1538.68 1629.5

> > 1525.33Z" stroke="#008564" stroke-width="9.16667" stroke-

> > linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1681.69

> > 1462)">ComputerSystemC</text>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1792.26

> > 1521)">ollection</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="48" transform="matrix(1 0 0 1 1626.06

> > 1376)">/redfish/v1/Systems</text>

> > +    <path d="M0-2.86458 460.879-2.86458C462.461-2.86458 463.743-

> > 1.58207 463.743 0L463.743 709.637 458.014 709.637 458.014 0 460.879

> > 2.86458 0 2.86458ZM474.629 705.053 460.879 732.553 447.129

> > 705.053Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16

> > 896 1016)"/>

> > +    <path d="M2512.5 1427.5C2512.5 1414.25 2523.25 1403.5 2536.5

> > 1403.5L3009.5 1403.5C3022.75 1403.5 3033.5 1414.25 3033.5

> > 1427.5L3033.5 1523.5C3033.5 1536.75 3022.75 1547.5 3009.5

> > 1547.5L2536.5 1547.5C2523.25 1547.5 2512.5 1536.75 2512.5 1523.5Z"

> > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill-rule="evenodd"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2579.22

> > 1490)">ComputerSystem</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="48" transform="matrix(1 0 0 1 2510.53

> > 1371)">/redfish/v1/Systems/SYS</text>

> > +    <path d="M0.0107384-2.86456 338.69-1.59496 338.668 4.13417-

> > 0.0107384 2.86456ZM334.147-12.4975 361.595 1.35551 334.044

> > 15.0023Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 2150 1476.36)"/>

> > +    <path d="M1889.5 1748.67C1889.5 1735.32 1900.32 1724.5 1913.67

> > 1724.5L2387.33 1724.5C2400.68 1724.5 2411.5 1735.32 2411.5

> > 1748.67L2411.5 1845.33C2411.5 1858.68 2400.68 1869.5 2387.33

> > 1869.5L1913.67 1869.5C1900.32 1869.5 1889.5 1858.68 1889.5

> > 1845.33Z" stroke="#008564" stroke-width="9.16667" stroke-

> > linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2103.34

> > 1812)">Bios</text>

> > +    <path d="M0-2.86458 780.807-2.86458C782.389-2.86458 783.672-

> > 1.58207 783.672 0L783.672 970.304 777.943 970.304 777.943 0 780.807

> > 2.86458 0 2.86458ZM794.557 965.718 780.807 993.218 767.057

> > 965.718Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16

> > 896 1016)"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="48" transform="matrix(1 0 0 1 1894.92

> > 1693)">/redfish/v1/Systems/SYS/Bios</text>

> > +    <path d="M2053.5 2040.5C2053.5 2027.25 2064.25 2016.5 2077.5

> > 2016.5L2551.5 2016.5C2564.75 2016.5 2575.5 2027.25 2575.5

> > 2040.5L2575.5 2136.5C2575.5 2149.75 2564.75 2160.5 2551.5

> > 2160.5L2077.5 2160.5C2064.25 2160.5 2053.5 2149.75 2053.5 2136.5Z"

> > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill-rule="evenodd"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2106.47

> > 2103)">MemoryCollection</text>

> > +    <path d="M0-2.86458 1072.19-2.86458C1073.77-2.86458 1075.05-

> > 1.58207 1075.05 0L1075.05 1134.13 1069.33 1134.13 1069.33 0 1072.19

> > 2.86458 0 2.86458ZM1085.94 1129.55 1072.19 1157.05 1058.44

> > 1129.55Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16

> > 896 1016)"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="48" transform="matrix(1 0 0 1 2062.37

> > 1981)">/redfish/v1/Systems/SYS/Memory</text>

> > +    <path d="M2920.5 2040.5C2920.5 2027.25 2931.25 2016.5 2944.5

> > 2016.5L3418.5 2016.5C3431.75 2016.5 3442.5 2027.25 3442.5

> > 2040.5L3442.5 2136.5C3442.5 2149.75 3431.75 2160.5 3418.5

> > 2160.5L2944.5 2160.5C2931.25 2160.5 2920.5 2149.75 2920.5 2136.5Z"

> > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill-rule="evenodd"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 3085.32

> > 2103)">Memory</text>

> > +    <path d="M2.98962e-06-2.86458 322.881-2.86425 322.881 2.86492-

> > 2.98962e-06 2.86458ZM318.298-13.7497 345.798 0.000360892 318.298

> > 13.7503Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 2575 2088)"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="183" transform="matrix(1 0 0 1 2263.52

> > 2245)">âEUR¦</text>

> > +    <path d="M3371.5 822.5C3371.5 809.245 3382.25 798.5 3395.5

> > 798.5L4017.5 798.5C4030.75 798.5 4041.5 809.245 4041.5 822.5L4041.5

> > 918.5C4041.5 931.755 4030.75 942.5 4017.5 942.5L3395.5

> > 942.5C3382.25 942.5 3371.5 931.755 3371.5 918.5Z" stroke="#008564"

> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill-

> > rule="evenodd"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3657.66

> > 885)">Bios</text>

> > +    <rect x="3371" y="601" width="670" height="144" fill="#008564"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3486.36

> > 688)">Redfish foundation</text>

> > +    <rect x="3371" y="218" width="670" height="145" fill="#5E5E5E"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3474.33

> > 306)">BMC Redfish service</text>

> > +    <path d="M2.86458-1.95531e-05 2.86479 29.9551-2.86438 29.9552-

> > 2.86458 1.95531e-05ZM13.7502 25.3717 0.000360892 52.8718-13.7498

> > 25.3719Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 3706 797.872)"/>

> > +    <path d="M2.86456-0.0103569 2.94628 22.59-2.78285 22.6107-

> > 2.86456 0.0103569ZM13.8151 17.9673 0.164567 45.5168-13.6848

> > 18.0667Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 3706 600.517)"/>

> > +    <rect x="3371" y="981" width="670" height="145" fill="#0071C5"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3434.8

> > 1069)">Redfish Platform Config</text>

> > +    <rect x="3374" y="1304" width="670" height="144" fill="#8C8C8C"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3610.58

> > 1391)">EDK2 HII</text>

> > +    <rect x="3377" y="1483" width="670" height="145" fill="#890C58"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3552.42

> > 1571)">Chipset driver</text>

> > +    <rect x="3377" y="1666" width="670" height="144" fill="#5D1682"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 3670.44

> > 1753)">HW</text>

> > +    <path d="M3708.86 942 3708.86 958.191 3703.14 958.191 3703.14

> > 942ZM3719.75 953.607 3706 981.107 3692.25 953.608Z" fill="#8C8C8C"/>

> > +    <path d="M3708.86 1125.94 3712.02 1280.79 3706.29 1280.9 3703.14

> > 1126.06ZM3722.81 1275.98 3709.62 1303.76 3695.31 1276.54Z"

> > fill="#8C8C8C"/>

> > +    <path d="M3711.86 1447.79 3712.77 1460.37 3707.05 1460.78

> > 3706.14 1448.21ZM3723.29 1455.01 3711.57 1483.43 3695.87 1457Z"

> > fill="#8C8C8C"/>

> > +    <path d="M3714.86 1628 3714.86 1643.16 3709.14 1643.16 3709.14

> > 1628ZM3725.75 1638.57 3712 1666.07 3698.25 1638.57Z"

> > fill="#8C8C8C"/>

> > +    <rect x="3371" y="411" width="670" height="144" fill="#0071C5" fill-

> > opacity="0.501961"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3606.27

> > 498)">Network</text>

> > +    <path d="M3703.3 411.234 3703.21 385.926 3708.94 385.907 3709.03

> > 411.215ZM3692.34 390.547 3706 363 3719.84 390.453Z" fill="#8C8C8C"/>

> > +    <path d="M0-2.86458 22.9167-2.86458 22.9167 2.86458 0

> > 2.86458ZM40.1042-2.86458 63.0208-2.86458 63.0208 2.86458 40.1042

> > 2.86458ZM80.2083-2.86458 103.125-2.86458 103.125 2.86458 80.2083

> > 2.86458ZM120.312-2.86458 143.229-2.86458 143.229 2.86458 120.312

> > 2.86458ZM160.417-2.86458 183.333-2.86458 183.333 2.86458 160.417

> > 2.86458ZM200.521-2.86458 223.438-2.86458 223.438 2.86458 200.521

> > 2.86458ZM240.625-2.86458 263.542-2.86458 263.542 2.86458 240.625

> > 2.86458ZM280.729-2.86458 303.646-2.86458 303.646 2.86458 280.729

> > 2.86458ZM320.833-2.86458 343.75-2.86458 343.75 2.86458 320.833

> > 2.86458ZM360.938-2.86458 383.854-2.86458 383.854 2.86458 360.938

> > 2.86458ZM401.042-2.86458 423.958-2.86458 423.958 2.86458 401.042

> > 2.86458ZM441.146-2.86458 464.062-2.86458 464.062 2.86458 441.146

> > 2.86458ZM481.25-2.86458 504.167-2.86458 504.167 2.86458 481.25

> > 2.86458ZM521.354-2.86458 544.271-2.86458 544.271 2.86458 521.354

> > 2.86458ZM561.458-2.86458

> > + 584.375-2.86458 584.375 2.86458 561.458 2.86458ZM601.562-2.86458

> > 624.479-2.86458 624.479 2.86458 601.562 2.86458ZM641.667-2.86458

> > 664.583-2.86458 664.583 2.86458 641.667 2.86458ZM681.771-2.86458

> > 704.688-2.86458 704.688 2.86458 681.771 2.86458ZM721.875-2.86458

> > 744.52-2.86458C746.102-2.86458 747.385-1.58207 747.385 0L747.385

> > 0.271391 741.656 0.271391 741.656 0 744.52 2.86458 721.875

> > 2.86458ZM747.385 17.4589 747.385 40.3756 741.656 40.3756 741.656

> > 17.4589ZM747.385 57.5631 747.385 80.4797 741.656 80.4797 741.656

> > 57.5631ZM747.385 97.6672 747.385 120.584 741.656 120.584 741.656

> > 97.6672ZM747.385 137.771 747.385 160.688 741.656 160.688 741.656

> > 137.771ZM747.385 177.876 747.385 200.792 741.656 200.792 741.656

> > 177.876ZM747.385 217.98 747.385 240.896 741.656 240.896 741.656

> > 217.98ZM747.385 258.084 747.385 281.001 741.656 281.001 741.656

> > 258.084ZM747.385 298.188 747.385 321.105 741.656 321.105 741.656

> > 298.188ZM747.385

> > + 338.292 747.385 361.209 741.656 361.209 741.656 338.292ZM747.385

> > 378.396 747.385 401.313 741.656 401.313 741.656 378.396ZM747.385

> > 418.501 747.385 441.417 741.656 441.417 741.656 418.501ZM747.385

> > 458.605 747.385 481.521 741.656 481.521 741.656 458.605ZM747.385

> > 498.709 747.385 521.626 741.656 521.626 741.656 498.709ZM747.385

> > 538.813 747.385 561.73 741.656 561.73 741.656 538.813ZM747.385

> > 578.917 747.385 601.834 741.656 601.834 741.656 578.917ZM747.385

> > 619.021 747.385 641.938 741.656 641.938 741.656 619.021ZM747.385

> > 659.126 747.385 682.042 741.656 682.042 741.656 659.126ZM747.385

> > 699.23 747.385 722.146 741.656 722.146 741.656 699.23ZM747.385

> > 739.334 747.385 762.251 741.656 762.251 741.656 739.334ZM747.385

> > 779.438 747.385 802.355 741.656 802.355 741.656 779.438ZM747.385

> > 819.542 747.385 842.459 741.656 842.459 741.656 819.542ZM747.385

> > 859.646 747.385 882.563 741.656 882.563 741.656 859.646ZM747.385

> > 899.751 747.385

> > + 922.667 741.656 922.667 741.656 899.751ZM758.063 923.447 780.98

> > 923.447 780.98 929.176 758.063 929.176ZM798.168 923.447 821.084

> > 923.447 821.084 929.176 798.168 929.176ZM838.272 923.447 861.188

> > 923.447 861.188 929.176 838.272 929.176ZM878.376 923.447 901.293

> > 923.447 901.293 929.176 878.376 929.176ZM918.48 923.447 937.198

> > 923.447 937.198 929.176 918.48 929.176ZM932.615 912.562 960.115

> > 926.312 932.615 940.062Z" fill="#008564" transform="matrix(1 0 0 -1 2411

> > 1796.31)"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="50" transform="matrix(1 0 0 1 3733.97

> > 1194)">x</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="50" transform="matrix(1 0 0 1 3755.74 1194)">-

> > </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="50" transform="matrix(1 0 0 1 3771.21

> > 1194)">uefi</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="50" transform="matrix(1 0 0 1 3849.7 1194)">-

> > </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="50" transform="matrix(1 0 0 1 3865.17

> > 1194)">redfish</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="50" transform="matrix(1 0 0 1 4007.25 1194)">-

> > </text>

> > +    <text fill="#0071C5" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 4022.72

> > 1194)">Bios.vA_B_C</text>

> > +    <text fill="#0071C5" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 3733.97

> > 1255)">/Bios/Attributes/XXX</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1

> > 380.14 1659)">Redfish Feature Protocol</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1

> > 2829.58 2249)">Redfish Resource Config Protocol</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1

> > 2426.51 1602)">Redfish Resource Config Protocol</text>

> > +    <rect x="61.5" y="347.5" width="1093" height="111" stroke="#000000"

> > stroke-width="3.4375" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="none"/>

> > +    <path d="M406.025 362.408 469.046 362.408 469.046 440.408

> > 406.025 440.408Z" fill="#C0C0C0" fill-rule="evenodd"/>

> > +    <path d="M496.546 362.408 715.4 362.408 715.4 440.408 496.546

> > 440.408Z" fill="#FFFF00" fill-rule="evenodd"/>

> > +    <path d="M742.9 362.408 836.858 362.408 836.858 440.408 742.9

> > 440.408Z" fill="#00FF00" fill-rule="evenodd"/>

> > +    <path d="M864.358 362.408 976.65 362.408 976.65 440.408 864.358

> > 440.408Z" fill="#FF00FF" fill-rule="evenodd"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 165.4

> > 423)">/redfish/</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 406.025

> > 423)">v1</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 469.046

> > 423)">/</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 496.546

> > 423)">Systems</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 715.4 423)">/</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 742.9

> > 423)">SYS</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 836.858

> > 423)">/</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 864.358

> > 423)">Bios</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 976.65

> > 423)">/âEUR¦</text>

> > +    <path d="M62.9999 316.844 1336.22 316.844 1336.22 327.157

> > 62.9999 327.156ZM62.9999 337.469C54.4567 337.469 47.5311 330.543

> > 47.5312 322 47.5312 313.457 54.4567 306.531 62.9999 306.531 71.5431

> > 306.531 78.4687 313.457 78.4687 322 78.4687 330.543 71.5431 337.469

> > 62.9999 337.469ZM1331.06 306.532 1362 322 1331.06 337.469Z"

> > fill="#890857"/>

> > +    <rect x="462.5" y="483.5" width="285" height="87" fill="#CDCDCD"/>

> > +    <path d="M438.751 483.5 438.751 570.5Z" stroke="#000000" stroke-

> > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"

> > fill-rule="evenodd"/>

> > +    <path d="M438.751 499.813 414.999 499.813 399.811 442.936"

> > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="none" fill-rule="evenodd"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="41" transform="matrix(1 0 0 1 497.682

> > 539)">Service Root</text>

> > +    <rect x="629.5" y="188.5" width="413" height="102" fill="#CDCDCD"/>

> > +    <path d="M595.085 188.5 595.085 290.5Z" stroke="#000000" stroke-

> > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"

> > fill-rule="evenodd"/>

> > +    <path d="M595.085 207.625 560.665 207.625 528.732 372.029"

> > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="none" fill-rule="evenodd"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="41" transform="matrix(1 0 0 1 682.83

> > 228)">Computer System </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="41" transform="matrix(1 0 0 1 749.861

> > 272)">Collection</text>

> > +    <rect x="903.5" y="470.5" width="279" height="101" fill="#CDCDCD"/>

> > +    <path d="M880.251 470.5 880.251 571.5Z" stroke="#000000" stroke-

> > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"

> > fill-rule="evenodd"/>

> > +    <path d="M880.251 489.438 856.999 489.438 806.93 438.596"

> > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="none" fill-rule="evenodd"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="41" transform="matrix(1 0 0 1 956.072

> > 510)">Computer </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="41" transform="matrix(1 0 0 1 980.134

> > 554)">System</text>

> > +    <rect x="1221.5" y="191.5" width="279" height="102" fill="#CDCDCD"/>

> > +    <path d="M1198.25 191.5 1198.25 293.5Z" stroke="#000000" stroke-

> > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"

> > fill-rule="evenodd"/>

> > +    <path d="M1198.25 210.625 1175 210.625 944.866 379.72"

> > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="none" fill-rule="evenodd"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="41" transform="matrix(1 0 0 1 1324.41

> > 254)">Bios</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="55" transform="matrix(1 0 0 1 65.5579

> > 241)">Register</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="48" transform="matrix(1 0 0 1 2943.32

> > 1981)">/redfish/v1/Systems/SYS/</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="48" transform="matrix(1 0 0 1 3469.25

> > 1981)">Memory/Dimm1</text>

> > +    <path d="M2390.33 1590.83 2383.15 1590.2C2383 1590.19 2382.85

> > 1590.16 2382.71 1590.13L2375.59 1588.38 2372.75 1587.27 2374.89

> > 1581.96 2376.95 1582.81 2384.08 1584.56 2383.64 1584.49 2390.83

> > 1585.12ZM2367.15 1584.88 2361.06 1581.47 2354.16 1576.55 2352.39

> > 1575 2356.21 1570.72 2357.5 1571.89 2363.85 1576.47 2369.95

> > 1579.88ZM2348.12 1571.18 2347.61 1570.73 2341.43 1564.18 2336.44

> > 1557.94 2340.93 1554.37 2345.6 1560.26 2351.42 1566.46 2351.93

> > 1566.91ZM2333.04 1553.04 2330.39 1549.06 2325.59 1540.71 2324.23

> > 1537.81 2329.42 1535.38 2330.57 1537.86 2335.15 1545.88 2337.8

> > 1549.86ZM2321.8 1532.62 2321.42 1531.81 2317.85 1522.57 2315.92

> > 1516.02 2321.41 1514.41 2323.19 1520.5 2326.61 1529.38 2326.99

> > 1530.19ZM2314.56 1510.07 2313.97 1506.17 2319.64 1505.32 2320.22

> > 1509.22ZM2303.72 1511.98 2314 1483 2331.02 1508.61Z"

> > fill="#8C8C8C"/>

> > +    <path d="M2793.67 2238.69 2782.92 2237.94 2776.27 2236.64

> > 2777.39 2231.02 2783.32 2232.22 2794.07 2232.97ZM2770.36 2235.29

> > 2761.04 2232.24 2754.03 2229.05 2756.41 2223.84 2762.82 2226.8

> > 2772.14 2229.85ZM2748.66 2226.39 2740.31 2221.56 2733.96 2216.95

> > 2737.33 2212.32 2743.18 2216.6 2751.52 2221.43ZM2729.23 2213.33

> > 2721.44 2206.63 2716.42 2201.54 2720.5 2197.52 2725.18 2202.29

> > 2732.96 2208.99ZM2712.26 2197.23 2704.97 2188.34 2701.58 2183.51

> > 2706.27 2180.22 2709.4 2184.7 2716.69 2193.6ZM2698.29 2178.81

> > 2697.84 2178.16 2691.58 2167.39 2689.69 2163.39 2694.88 2160.95

> > 2696.54 2164.52 2702.53 2174.88 2702.99 2175.53ZM2687.26 2158.2

> > 2686.28 2156.11 2682 2144.51 2681.3 2141.43 2686.9 2140.21 2687.37

> > 2142.53 2691.46 2153.68 2692.44 2155.77ZM2680.08 2135.83 2679.1

> > 2131.34 2684.7 2130.12 2685.68 2134.61ZM2668.84 2137.02 2679 2108

> > 2696.12 2133.54Z" fill="#8C8C8C"/>

> > +    <path d="M587.149 1603.19 587.587 1598.75C587.602 1598.6 587.63

> > 1598.45 587.67 1598.3L588.858 1593.86C588.902 1593.69 588.961

> > 1593.53 589.034 1593.38L591.096 1589 593.017 1585.91 597.868

> > 1588.96 596.278 1591.44 594.216 1595.82 594.392 1595.34 593.205

> > 1599.78 593.288 1599.32 592.851 1603.75ZM596.687 1581.05 597.791

> > 1579.71 602.21 1575.21 607.242 1570.81 609.766 1568.92 613.187

> > 1573.52 611.007 1575.13 606.29 1579.23 602.208 1583.36 601.104

> > 1584.7ZM614.532 1565.49 619.348 1562.28 626.283 1558.14 629.459

> > 1556.44 632.158 1561.49 629.217 1563.06 622.526 1567.04 617.71

> > 1570.25ZM634.629 1553.72 641.876 1550.21 650.309 1546.46 652.635

> > 1551.69 644.374 1555.36 637.126 1558.87ZM655.715 1544.27 659.492

> > 1542.75 669.004 1539.22 671.966 1538.22 673.809 1543.64 670.996

> > 1544.6 661.633 1548.07 657.855 1549.59ZM677.391 1536.38 679.016

> > 1535.82 689.374 1532.5 693.921 1531.19 695.499 1536.7 691.126

> > 1537.95 680.859 1541.25 679.234 1541.8ZM699.429

> > + 1529.61 700.148 1529.41 716.155 1525.31 717.574 1530.87 701.726

> > 1534.91 701.007 1535.12ZM721.706 1523.9 722.728 1523.64 738.621

> > 1520.25 739.813 1525.86 724.147 1529.19 723.124 1529.45ZM744.225

> > 1519.06 746.654 1518.55 761.26 1516.04 762.227 1521.69 747.846

> > 1524.15 745.417 1524.67ZM766.907 1515.07 771.579 1514.27 784.02

> > 1512.61 784.78 1518.29 772.546 1519.92 767.874 1520.72ZM789.698

> > 1511.85 797.37 1510.82 806.874 1509.89 807.431 1515.59 798.13 1516.5

> > 790.458 1517.53ZM812.576 1509.33 823.722 1508.25 829.83 1507.92

> > 830.132 1513.64 824.278 1513.95 813.133 1515.04ZM835.551 1507.62

> > 852.715 1506.71 853.017 1512.43 835.853 1513.34ZM849.88 1495.82

> > 877.659 1509 850.449 1523.32Z" fill="#8C8C8C"/>

> > +  </g>

> > +</svg>

> > diff --git a/RedfishClientPkg/Documents/Media/redfish-foundation-driver-

> > stack.svg b/RedfishClientPkg/Documents/Media/redfish-foundation-driver-

> > stack.svg

> > new file mode 100755

> > index 00000000..79694335

> > --- /dev/null

> > +++ b/RedfishClientPkg/Documents/Media/redfish-foundation-driver-

> > stack.svg

> > @@ -0,0 +1,75 @@

> > +<svg width="2492" height="1877" style="background-color:white"

> >

> xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw

> ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7

> 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7

> C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC

> 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C

> %7C%7C&sdata=q2cM9UmPYSpMf9judVCSBmt8BDMEpLUwqyPP%2Bcgh3BU%3

> D&reserved=0"

> >

> xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F

> %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com%

> 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc

> c17a%7C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbGZsb3d8eyJ

> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3

> 000%7C%7C%7C&sdata=9Mvy9s%2FfLuL7ptuTIx5JzxQzRS1Yb6d3rJlZUzDsYiE%3

> D&reserved=0" xml:space="preserve"

> > overflow="hidden">

> > +  <defs>

> > +    <clipPath id="clip0">

> > +      <rect x="278" y="517" width="2492" height="1877"/>

> > +    </clipPath>

> > +    <linearGradient x1="2572" y1="1054" x2="2572" y2="1294"

> > gradientUnits="userSpaceOnUse" spreadMethod="reflect" id="fill1">

> > +      <stop offset="0" stop-color="#D2D2D2"/>

> > +      <stop offset="0.5" stop-color="#C8C8C8"/>

> > +      <stop offset="1" stop-color="#C0C0C0"/>

> > +    </linearGradient>

> > +  </defs>

> > +  <g clip-path="url(#clip0)" transform="translate(-278 -517)">

> > +    <rect x="278" y="958" width="2163" height="876" fill="#DAE3F3" fill-

> > opacity="0.501961"/>

> > +    <path d="M1.19218-3.22415 20.5371 3.92891 18.1527 10.3772-

> > 1.19218 3.22415ZM26.9853 6.31326 46.3302 13.4663 43.9459 19.9146

> > 24.601 12.7616ZM52.7785 15.8507 72.1234 23.0037 69.7391 29.452

> > 50.3942 22.299ZM78.5717 25.3881 97.9166 32.5411 95.5322 38.9894

> > 76.1873 31.8364ZM104.365 34.9255 123.71 42.0785 121.325 48.5268

> > 101.981 41.3738ZM130.158 44.4629 149.503 51.6159 147.119 58.0642

> > 127.774 50.9112ZM155.951 54.0003 175.296 61.1533 172.912 67.6016

> > 153.567 60.4486ZM181.744 63.5377 201.089 70.6908 198.705 77.139

> > 179.36 69.986ZM207.538 73.0751 226.882 80.2282 224.498 86.6765

> > 205.153 79.5234ZM233.331 82.6125 252.676 89.7656 250.291 96.2139

> > 230.946 89.0608ZM259.124 92.1499 278.469 99.303 276.084 105.751

> > 256.74 98.5982ZM284.917 101.687 304.262 108.84 301.878 115.289

> > 282.533 108.136ZM310.71 111.225 330.055 118.378 327.671 124.826

> > 308.326 117.673ZM336.503 120.762 355.848 127.915 353.464 134.363

> > 334.119 127.21ZM362.297 130.3 381.641 137.453 379.257

> > + 143.901 359.912 136.748ZM388.09 139.837 407.435 146.99 405.05

> > 153.438 385.705 146.285ZM413.883 149.374 433.228 156.527 430.843

> > 162.976 411.499 155.823ZM439.676 158.912 459.021 166.065 456.637

> > 172.513 437.292 165.36ZM465.469 168.449 484.814 175.602 482.43

> > 182.05 463.085 174.897ZM491.262 177.987 510.607 185.14 508.223

> > 191.588 488.878 184.435ZM517.056 187.524 536.4 194.677 534.016

> > 201.125 514.671 193.972ZM542.849 197.061 562.194 204.214 559.809

> > 210.663 540.464 203.51ZM568.642 206.599 587.987 213.752 585.602

> > 220.2 566.258 213.047ZM594.435 216.136 613.78 223.289 611.396

> > 229.738 592.051 222.584ZM620.228 225.674 639.573 232.827 637.189

> > 239.275 617.844 232.122ZM646.021 235.211 665.366 242.364 662.982

> > 248.812 643.637 241.659ZM671.815 244.748 691.16 251.901 688.775

> > 258.35 669.43 251.197ZM697.608 254.286 716.953 261.439 714.568

> > 267.887 695.224 260.734ZM723.401 263.823 742.746 270.976 740.362

> > 277.425 721.017 270.271ZM744.812 260.745 765.836 283.179

> > + 735.275 286.538Z" fill="#70AD47" transform="matrix(1 0 0 -1 594.5

> > 1048.68)"/>

> > +    <rect x="392.5" y="1881.5" width="622" height="142" stroke="#41719C"

> > stroke-width="4.58333" stroke-miterlimit="8" fill="#5B9BD5"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 652.979

> > 1972)">NIC</text>

> > +    <rect x="392.5" y="1515.5" width="622" height="251" stroke="#ED7D31"

> > stroke-width="4.58333" stroke-miterlimit="8" fill="#FBE5D6"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 450.739

> > 1657)">UEFI Network Stack</text>

> > +    <rect x="1703.5" y="1515.5" width="622" height="251"

> > stroke="#C55A11" stroke-width="4.58333" stroke-miterlimit="8"

> > fill="#FFC000"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1773.26

> > 1660)">In</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1828.84

> > 1660)">-</text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1852.33

> > 1660)">band channel</text>

> > +    <rect x="807.5" y="1049.5" width="207" height="287" stroke="#2F5597"

> > stroke-width="4.58333" stroke-miterlimit="8" fill="#ADB9CA"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0

> > 1 855.72 1182)">REST </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0

> > 1 882.074 1231)">EX</text>

> > +    <rect x="393.5" y="1194.5" width="400" height="138" stroke="#787878"

> > stroke-width="4.58333" stroke-miterlimit="8" fill="#A5A5A5"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 433.577

> > 1254)">Redfish Discover </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 512.067

> > 1299)">Protocol</text>

> > +    <path d="M396.5 2234C396.5 2216.6 410.603 2202.5 428 2202.5L2294

> > 2202.5C2311.4 2202.5 2325.5 2216.6 2325.5 2234L2325.5 2360C2325.5

> > 2377.4 2311.4 2391.5 2294 2391.5L428 2391.5C410.603 2391.5 396.5

> > 2377.4 396.5 2360Z" stroke="#70AD47" stroke-width="4.58333" stroke-

> > miterlimit="8" fill="#FFFFFF" fill-rule="evenodd"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 1158.18

> > 2313)">Redfish Service</text>

> > +    <rect x="396.5" y="519.5" width="1929" height="120" stroke="#000000"

> > stroke-width="4.58333" stroke-miterlimit="8" fill="#767171"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1100.89

> > 596)">Redfish Application</text>

> > +    <rect x="394.5" y="1048.5" width="400" height="138" stroke="#385723"

> > stroke-width="4.58333" stroke-miterlimit="8" fill="#70AD47"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="46" transform="matrix(1 0 0 1 457.66

> > 1105)">Redfish Config </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="46" transform="matrix(1 0 0 1 535.851

> > 1155)">Driver</text>

> > +    <path d="M2375 1054 2729 1054 2769 1094 2769 1294 2375 1294Z"

> > stroke="#A5A5A5" stroke-width="2.29167" stroke-miterlimit="8"

> > fill="url(#fill1)" fill-rule="evenodd"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2474.57

> > 1172)">SMBIOS </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2465.7

> > 1231)">Type 42</text>

> > +    <rect x="1710" y="1879" width="615" height="142" fill="#4472C4" fill-

> > opacity="0.501961"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="73" transform="matrix(1 0 0 1 1959.59

> > 1972)">HW</text>

> > +    <rect x="396.5" y="645.5" width="1929" height="120" stroke="#385723"

> > stroke-width="3.4375" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#70AD47"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 994.903

> > 720)">Redfish Config Handler Protocol</text>

> > +    <path d="M3.17204-1.3246 11.1196 17.7076 4.77555 20.3568-3.17204

> > 1.3246ZM13.7688 24.0517 21.7164 43.084 15.3723 45.7332 7.42475

> > 26.7009ZM24.3656 49.4281 32.3132 68.4603 25.9691 71.1095 18.0215

> > 52.0773ZM34.9624 74.8044 42.91 93.8366 36.5659 96.4858 28.6183

> > 77.4536ZM45.5592 100.181 53.5068 119.213 47.1627 121.862 39.2151

> > 102.83ZM56.156 125.557 64.1036 144.589 57.7595 147.238 49.8119

> > 128.206ZM66.7528 150.933 74.7004 169.966 68.3563 172.615 60.4087

> > 153.583ZM77.3496 176.31 85.2972 195.342 78.9531 197.991 71.0055

> > 178.959ZM87.9464 201.686 95.894 220.718 89.5499 223.367 81.6023

> > 204.335ZM98.5432 227.062 106.491 246.095 100.147 248.744 92.1991

> > 229.712ZM109.14 252.439 114.093 264.301 107.749 266.95 102.796

> > 255.088ZM121.843 256.098 119.752 286.772 96.4671 266.694Z"

> > fill="#70AD47" transform="matrix(1 0 0 -1 1240.5 1052.27)"/>

> > +    <path d="M1867.15 1057.88 1849.23 1047.68 1852.63 1041.7 1870.55

> > 1051.91ZM1843.25 1044.28 1825.33 1034.07 1828.73 1028.1 1846.65

> > 1038.3ZM1819.35 1030.67 1801.43 1020.47 1804.83 1014.49 1822.75

> > 1024.7ZM1795.45 1017.07 1777.53 1006.86 1780.93 1000.89 1798.85

> > 1011.09ZM1771.55 1003.46 1753.63 993.258 1757.03 987.284 1774.96

> > 997.488ZM1747.66 989.857 1729.73 979.653 1733.13 973.679 1751.06

> > 983.883ZM1723.76 976.252 1705.83 966.048 1709.23 960.073 1727.16

> > 970.277ZM1699.86 962.647 1681.93 952.443 1685.34 946.468 1703.26

> > 956.672ZM1675.96 949.042 1658.04 938.838 1661.44 932.863 1679.36

> > 943.067ZM1652.06 935.437 1634.14 925.233 1637.54 919.258 1655.46

> > 929.462ZM1628.16 921.831 1610.24 911.628 1613.64 905.653 1631.56

> > 915.857ZM1604.26 908.226 1586.34 898.022 1589.74 892.048 1607.67

> > 902.252ZM1580.37 894.621 1562.44 884.417 1565.84 878.443 1583.77

> > 888.646ZM1556.47 881.016 1538.54 870.812 1541.94 864.837 1559.87

> > 875.041ZM1532.57

> > + 867.411 1514.64 857.207 1518.04 851.232 1535.97 861.436ZM1508.67

> > 853.806 1490.74 843.602 1494.15 837.627 1512.07 847.831ZM1484.77

> > 840.2 1466.85 829.997 1470.25 824.022 1488.17 834.226ZM1460.87

> > 826.595 1442.95 816.391 1446.35 810.417 1464.27 820.621ZM1436.97

> > 812.99 1419.05 802.786 1422.45 796.812 1440.37 807.015ZM1413.07

> > 799.385 1395.15 789.181 1398.55 783.206 1416.48 793.41ZM1389.18

> > 785.78 1378.72 779.825 1382.12 773.851 1392.58 779.805ZM1377.6

> > 791.055 1360.5 765.5 1391.2 767.156Z" fill="#70AD47"/>

> > +    <path d="M0-2.29167 146.945-2.29167 146.945 186.106 144.653

> > 183.814 266.39 183.814 266.39 188.397 142.362 188.397 142.362 0

> > 144.653 2.29167 0 2.29167ZM261.806 172.356 289.306 186.106 261.806

> > 199.856Z" fill="#FF0000" transform="matrix(1.83697e-16 1 1 -1.83697e-16

> > 1360.5 765.5)"/>

> > +    <path d="M1571.77 1340.5 1571.77 1451.89 1362.5 1451.89 1364.79

> > 1449.6 1364.79 1491.77 1360.21 1491.77 1360.21 1447.3 1569.48 1447.3

> > 1567.19 1449.6 1567.19 1340.5ZM1376.25 1487.19 1362.5 1514.69

> > 1348.75 1487.19Z" fill="#FF0000"/>

> > +    <path d="M1364.79 1766.5 1364.79 1858.57 1360.21 1858.57 1360.21

> > 1766.5ZM1376.25 1853.99 1362.5 1881.49 1348.75 1853.99Z"

> > fill="#FF0000"/>

> > +    <path d="M2573.09 1294 2573.09 1422.16 1901.85 1422.16 1901.85

> > 1361.43 1904.15 1361.43 1904.15 1421.01 1903 1419.87 2571.94

> > 1419.87 2570.8 1421.01 2570.8 1294ZM1889.25 1366.01 1903 1338.51

> > 1916.75 1366.01Z" fill="#A5A5A5"/>

> > +    <path d="M2573.22 1294 2573.22 1421.96 1249.85 1421.96 1249.85

> > 1359.03 1252.15 1359.03 1252.15 1420.81 1251 1419.67 2572.07

> > 1419.67 2570.93 1420.81 2570.93 1294ZM1237.25 1363.61 1251 1336.11

> > 1264.75 1363.61Z" fill="#A5A5A5"/>

> > +    <path d="M2573.26 1294 2573.26 1422.27 591.854 1422.27 591.854

> > 1354.94 594.146 1354.94 594.146 1421.12 593 1419.98 2572.11 1419.98

> > 2570.97 1421.12 2570.97 1294ZM579.25 1359.52 593 1332.02 606.75

> > 1359.52Z" fill="#A5A5A5"/>

> > +    <rect x="1465.5" y="1053.5" width="207" height="287"

> > stroke="#2F5597" stroke-width="4.58333" stroke-miterlimit="8"

> > fill="#ADB9CA"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0

> > 1 1513.76 1186)">REST </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0

> > 1 1540.11 1235)">EX</text>

> > +    <rect x="1051.5" y="1198.5" width="400" height="139"

> > stroke="#787878" stroke-width="4.58333" stroke-miterlimit="8"

> > fill="#A5A5A5"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1091.62

> > 1258)">Redfish Discover </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1170.11

> > 1303)">Protocol</text>

> > +    <rect x="1052.5" y="1052.5" width="400" height="138"

> > stroke="#385723" stroke-width="4.58333" stroke-miterlimit="8"

> > fill="#70AD47"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1099.08

> > 1111)">Redfish Config </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1186.17

> > 1160)">Driver</text>

> > +    <rect x="2117.5" y="1055.5" width="208" height="288"

> > stroke="#2F5597" stroke-width="4.58333" stroke-miterlimit="8"

> > fill="#ADB9CA"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0

> > 1 2165.89 1188)">REST </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0

> > 1 2192.24 1237)">EX</text>

> > +    <rect x="1703.5" y="1201.5" width="400" height="138"

> > stroke="#787878" stroke-width="4.58333" stroke-miterlimit="8"

> > fill="#A5A5A5"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1743.75

> > 1260)">Redfish Discover </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1822.23

> > 1305)">Protocol</text>

> > +    <rect x="1704.5" y="1055.5" width="401" height="138"

> > stroke="#385723" stroke-width="4.58333" stroke-miterlimit="8"

> > fill="#70AD47"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1751.21

> > 1113)">Redfish Config </text>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1838.3

> > 1162)">Driver</text>

> > +    <rect x="1051.5" y="1515.5" width="621" height="251"

> > stroke="#ED7D31" stroke-width="4.58333" stroke-miterlimit="8"

> > fill="#FBE5D6"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 1109.41

> > 1657)">UEFI Network Stack</text>

> > +    <rect x="1051.5" y="1881.5" width="621" height="142"

> > stroke="#41719C" stroke-width="4.58333" stroke-miterlimit="8"

> > fill="#5B9BD5"/>

> > +    <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1311.65

> > 1972)">NIC</text>

> > +    <path d="M2.29157-0.020976 3.72062 156.099-0.862519 156.141-

> > 2.29157 0.020976ZM15.1365 151.411 1.63881 179.035-12.3623

> > 151.662Z" fill="#FF0000" transform="matrix(-1 0 0 1 1362.14 2023.5)"/>

> > +  </g>

> > +</svg>

> > diff --git a/RedfishClientPkg/Documents/Media/redfish-platform-config-

> > protocol-stack.svg b/RedfishClientPkg/Documents/Media/redfish-platform-

> > config-protocol-stack.svg

> > new file mode 100755

> > index 00000000..670c29bf

> > --- /dev/null

> > +++ b/RedfishClientPkg/Documents/Media/redfish-platform-config-protocol-

> > stack.svg

> > @@ -0,0 +1,99 @@

> > +<svg width="3433" height="1895" style="background-color:white"

> >

> xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw

> ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7

> 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7

> C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC

> 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C

> %7C%7C&sdata=DSsjRyao5Uc9lt7qJSddn%2FT30IWG7DWwOU%2BPo1vpc7g%3

> D&reserved=0"

> >

> xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F

> %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com%

> 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc

> c17a%7C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbGZsb3d8eyJ

> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3

> 000%7C%7C%7C&sdata=9Mvy9s%2FfLuL7ptuTIx5JzxQzRS1Yb6d3rJlZUzDsYiE%3

> D&reserved=0" xml:space="preserve"

> > overflow="hidden">

> > +  <defs>

> > +    <filter id="fx0" x="-10%" y="-10%" width="120%" height="120%"

> > filterUnits="userSpaceOnUse" primitiveUnits="userSpaceOnUse">

> > +      <feComponentTransfer color-interpolation-filters="sRGB">

> > +        <feFuncR type="discrete" tableValues="0 0"/>

> > +        <feFuncG type="discrete" tableValues="0 0"/>

> > +        <feFuncB type="discrete" tableValues="0 0"/>

> > +        <feFuncA type="linear" slope="0.380392" intercept="0"/>

> > +      </feComponentTransfer>

> > +      <feGaussianBlur stdDeviation="4.8119 4.8119"/>

> > +    </filter>

> > +    <clipPath id="clip1">

> > +      <rect x="572" y="465" width="3433" height="1895"/>

> > +    </clipPath>

> > +    <clipPath id="clip2">

> > +      <rect x="-5" y="13" width="863" height="130"/>

> > +    </clipPath>

> > +    <clipPath id="clip3">

> > +      <rect x="0" y="0" width="883" height="139"/>

> > +    </clipPath>

> > +  </defs>

> > +  <g clip-path="url(#clip1)" transform="translate(-572 -465)">

> > +    <rect x="572" y="1277" width="3256" height="1083" fill="#C0E4FF" fill-

> > opacity="0.4"/>

> > +    <path d="M654.5 1778.17C654.5 1742.45 683.453 1713.5 719.168

> > 1713.5L1793.83 1713.5C1829.55 1713.5 1858.5 1742.45 1858.5

> > 1778.17L1858.5 2036.83C1858.5 2072.55 1829.55 2101.5 1793.83

> > 2101.5L719.168 2101.5C683.453 2101.5 654.5 2072.55 654.5 2036.83Z"

> > stroke="#A6A6A6" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" stroke-dasharray="36.6667 27.5" fill="none" fill-

> > rule="evenodd"/>

> > +    <path d="M690 978.669C690 922.518 735.518 877 791.668

> > 877L1586.33 877C1642.48 877 1688 922.518 1688 978.669L1688

> > 1385.33C1688 1441.48 1642.48 1487 1586.33 1487L791.668

> > 1487C735.518 1487 690 1441.48 690 1385.33Z" fill="#D9D9D9" fill-

> > rule="evenodd"/>

> > +    <rect x="716" y="598" width="945" height="136" fill="#76B900"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1026.14

> > 683)">Setup Menu</text>

> > +    <rect x="716.5" y="1114.5" width="945" height="136" stroke="#0070C0"

> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#9E9E9E"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 916.711

> > 1199)">EDK2 Setup Browser</text>

> > +    <rect x="716" y="952" width="945" height="136" fill="#9E9E9E"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 917.571

> > 1038)">EDK2 Display Engine</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 1122.4

> > 545)">User</text>

> > +    <rect x="716" y="1289" width="945" height="136" fill="#9E9E9E"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 941.92

> > 1374)">EDK2 HII Database</text>

> > +    <rect x="716.5" y="1757.5" width="377" height="199" stroke="#656565"

> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#8C8C8C"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 779.595

> > 1842)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 838.88

> > 1901)">driver</text>

> > +    <rect x="1124.5" y="1757.5" width="377" height="199"

> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="#8C8C8C"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1188

> > 1842)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1247.28

> > 1901)">driver</text>

> > +    <rect x="882.5" y="1856.5" width="377" height="199" stroke="#656565"

> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#8C8C8C"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 945.765

> > 1941)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1005.05

> > 2000)">driver</text>

> > +    <rect x="1313.5" y="1856.5" width="377" height="199"

> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="#8C8C8C"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1376.4

> > 1941)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1435.69

> > 2000)">driver</text>

> > +    <path d="M1191.86 756.917 1191.86 929.504 1186.14 929.504

> > 1186.14 756.917ZM1175.25 761.5 1189 734 1202.75 761.5ZM1202.75

> > 924.92 1189 952.42 1175.25 924.92Z" fill="#8C8C8C"/>

> > +    <path d="M1185.86 1517.92 1185.86 1690.5 1180.14 1690.5 1180.14

> > 1517.92ZM1169.25 1522.5 1183 1495 1196.75 1522.5ZM1196.75 1685.92

> > 1183 1713.42 1169.25 1685.92Z" fill="#8C8C8C"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1

> > 1247.51 801)">Graphic protocols</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1

> > 1247.51 867)">Console input protocols</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1

> > 1232.43 1574)">EFI Config Access Protocol</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1

> > 1232.43 1640)">HII Database Protocol</text>

> > +    <rect x="657.5" y="2152.5" width="1204" height="145"

> > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="73" transform="matrix(1 0 0 1 1203.49

> > 2245)">HW</text>

> > +    <path d="M2422.5 1782C2422.5 1746.38 2451.38 1717.5 2487

> > 1717.5L3562 1717.5C3597.62 1717.5 3626.5 1746.38 3626.5 1782L3626.5

> > 2040C3626.5 2075.62 3597.62 2104.5 3562 2104.5L2487 2104.5C2451.38

> > 2104.5 2422.5 2075.62 2422.5 2040Z" stroke="#A6A6A6" stroke-

> > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" stroke-

> > dasharray="36.6667 27.5" fill="none" fill-rule="evenodd"/>

> > +    <path d="M2457 970.169C2457 912.638 2503.64 866 2561.17

> > 866L3350.83 866C3408.36 866 3455 912.638 3455 970.169L3455

> > 1386.83C3455 1444.36 3408.36 1491 3350.83 1491L2561.17

> > 1491C2503.64 1491 2457 1444.36 2457 1386.83Z" fill="#D9D9D9" fill-

> > rule="evenodd"/>

> > +    <rect x="2483" y="602" width="945" height="135" fill="#76B900"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 2754.31

> > 687)">Feature drivers</text>

> > +    <rect x="2483" y="956" width="945" height="302" fill="#0070C0"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 2652.04

> > 1124)">EDK2 HII Utility Library</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 2724.81

> > 549)">Redfish Interface</text>

> > +    <rect x="2483" y="1291" width="945" height="136" fill="#9E9E9E"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 2709.33

> > 1376)">EDK2 HII Database</text>

> > +    <rect x="2483.5" y="1760.5" width="377" height="199"

> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="#8C8C8C"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 2532.97 1847)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 2599.43 1906)">driver</text>

> > +    <rect x="2892.5" y="1760.5" width="377" height="199"

> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="#8C8C8C"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 2941.37 1847)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 3007.83 1906)">driver</text>

> > +    <rect x="2650.5" y="1860.5" width="376" height="199"

> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="#8C8C8C"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 2699.14 1947)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 2765.6 2006)">driver</text>

> > +    <rect x="3080.5" y="1860.5" width="377" height="199"

> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="#8C8C8C"/>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 3129.78 1947)">Chipset/HII </text>

> > +    <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet

> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"

> > transform="matrix(1 0 0 1 3196.24 2006)">driver</text>

> > +    <path d="M2958.86 759.917 2958.86 932.542 2953.14 932.542

> > 2953.14 759.917ZM2942.25 764.5 2956 737 2969.75 764.5ZM2969.75

> > 927.959 2956 955.459 2942.25 927.959Z" fill="#8C8C8C"/>

> > +    <path d="M2953.86 1520.92 2953.86 1693.5 2948.14 1693.5 2948.14

> > 1520.92ZM2937.25 1525.5 2951 1498 2964.75 1525.5ZM2964.75 1688.92

> > 2951 1716.42 2937.25 1688.92Z" fill="#8C8C8C"/>

> > +    <text fill="#FF0000" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-style="italic" font-weight="700" font-size="55" transform="matrix(1 0 0

> > 1 3007.22 833)">EDKII Redfish Platform Configure Protocol</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1

> > 3007.22 1592)">EFI Config Access Protocol</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1

> > 3007.22 1658)">HII Database Protocol</text>

> > +    <rect x="2425.5" y="2155.5" width="1203" height="145"

> > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="400" font-size="73" transform="matrix(1 0 0 1 2970.9

> > 2248)">HW</text>

> > +    <g clip-path="url(#clip2)" filter="url(#fx0)" transform="translate(1645

> > 1071)">

> > +      <g clip-path="url(#clip3)">

> > +        <path d="M0.406692-4.48158 800.047 68.0836 799.233 77.0468-

> > 0.406692 4.48158ZM796.32 58.4574 822.465 74.6365 793.835 85.8449Z"

> > fill="#0071C5" transform="matrix(1 0 0 -1 16.4999 118.354)"/>

> > +      </g>

> > +    </g>

> > +    <path d="M0.414223-4.56458 800.054 68.0006 799.226 77.1298-

> > 0.414223 4.56458ZM796.32 58.4574 822.465 74.6365 793.835 85.8449Z"

> > fill="#0071C5" transform="matrix(1 0 0 -1 1661.5 1182.14)"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="55" transform="matrix(1 0 0 1 1783.55

> > 1054)">Move necessary functions </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="55" transform="matrix(1 0 0 1 1783.55 1120)">to

> > library </text>

> > +    <rect x="1721.5" y="1792.5" width="303" height="193"

> > stroke="#890C58" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 1821

> > 1874)">UEFI </text>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 1780.6

> > 1933)">variable</text>

> > +    <rect x="3489.5" y="1768.5" width="303" height="194"

> > stroke="#890C58" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10"/>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3589.11

> > 1851)">UEFI </text>

> > +    <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3548.71

> > 1910)">variable</text>

> > +    <path d="M2145.64 1853.11 2293.36 1853.11 2293.36 1890.46

> > 2145.64 1890.46ZM2145.64 1918.54 2293.36 1918.54 2293.36 1955.89

> > 2145.64 1955.89Z" fill="#C0E4FF" fill-rule="evenodd"/>

> > +  </g>

> > +</svg>

> > diff --git a/RedfishClientPkg/Documents/Media/redfish-synchronization-

> > design.svg b/RedfishClientPkg/Documents/Media/redfish-synchronization-

> > design.svg

> > new file mode 100755

> > index 00000000..2dd1fb61

> > --- /dev/null

> > +++ b/RedfishClientPkg/Documents/Media/redfish-synchronization-

> > design.svg

> > @@ -0,0 +1,75 @@

> > +<svg width="4191" height="2178" style="background-color:white"

> >

> xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw

> ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7

> 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7

> C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC

> 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C

> %7C%7C&sdata=DSsjRyao5Uc9lt7qJSddn%2FT30IWG7DWwOU%2BPo1vpc7g%3

> D&reserved=0"

> >

> xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F

> %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com%

> 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc

> c17a%7C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbGZsb3d8eyJ

> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3

> 000%7C%7C%7C&sdata=9Mvy9s%2FfLuL7ptuTIx5JzxQzRS1Yb6d3rJlZUzDsYiE%3

> D&reserved=0" xml:space="preserve"

> > overflow="hidden">

> > +  <defs>

> > +    <clipPath id="clip0">

> > +      <rect x="66" y="210" width="4191" height="2178"/>

> > +    </clipPath>

> > +  </defs>

> > +  <g clip-path="url(#clip0)" transform="translate(-66 -210)">

> > +    <path d="M487.5 379.5C487.5 364.588 498.469 352.5 512 352.5

> > 525.531 352.5 536.5 364.588 536.5 379.5 536.5 394.412 525.531 406.5

> > 512 406.5 498.469 406.5 487.5 394.412 487.5 379.5Z" stroke="#006047"

> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#008564" fill-rule="evenodd"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 104.76

> > 290)">REDFISH_FEATURE_CALLBACK()</text>

> > +    <rect x="609.5" y="522.5" width="709" height="133" stroke="#000000"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="none"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 839.622

> > 610)">Identify()</text>

> > +    <rect x="1178.5" y="767.5" width="709" height="133" stroke="#000000"

> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="none"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 1433.4

> > 855)">Check()</text>

> > +    <rect x="1759.5" y="1046.5" width="709" height="134"

> > stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="none"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 1928.64

> > 1134)">Provisioning()</text>

> > +    <rect x="1597.5" y="1422.5" width="709" height="133"

> > stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="none"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 1808.4

> > 1510)">Consume()</text>

> > +    <rect x="2140.5" y="1730.5" width="709" height="133"

> > stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="none"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 2376.59

> > 1818)">Update()</text>

> > +    <path d="M0-2.29167 182.65-2.29167C183.915-2.29167 184.941-

> > 1.26565 184.941 0L184.941 74.3695 180.358 74.3695 180.358 0 182.65

> > 2.29167 0 2.29167ZM196.4 69.7861 182.65 97.2861 168.9 69.7861Z"

> > fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16 511.5

> > 406.5)"/>

> > +    <path d="M988.5 831.208 1083.64 831.208C1084.91 831.208 1085.93

> > 832.234 1085.93 833.5L1085.93 833.591 1083.64 831.299 1155.86

> > 831.299 1155.86 835.882 1083.64 835.882C1082.37 835.882 1081.35

> > 834.856 1081.35 833.591L1081.35 833.5 1083.64 835.792 988.5

> > 835.792ZM1151.28 819.841 1178.78 833.591 1151.28 847.341Z"

> > fill="#008563"/>

> > +    <path d="M0-2.29167 101.164-2.29167C102.43-2.29167 103.456-

> > 1.26565 103.456 0L103.456 0.633366 101.164-1.6583 179.411-1.6583

> > 179.411 2.92503 101.164 2.92503C99.8983 2.92503 98.8722 1.89902

> > 98.8722 0.633366L98.8722 0 101.164 2.29167 0 2.29167ZM174.827-

> > 13.1166 202.327 0.633366 174.827 14.3834Z" fill="#008563"

> > transform="matrix(1 0 0 -1 1557.5 1114.13)"/>

> > +    <path d="M0-2.29167 348.186-2.29167C349.452-2.29167 350.478-

> > 1.26565 350.478 0L350.478 42.4958 345.894 42.4958 345.894 0 348.186

> > 2.29167 0 2.29167ZM361.936 37.9125 348.186 65.4125 334.436

> > 37.9125Z" fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16

> > 1532.5 1141.5)"/>

> > +    <path d="M0-2.29167 241.064-2.29167C242.329-2.29167 243.356-

> > 1.26565 243.356 0L243.356 165.488 238.772 165.488 238.772 0 241.064

> > 2.29167 0 2.29167ZM254.814 160.904 241.064 188.404 227.314

> > 160.904Z" fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16

> > 1952.5 1555.5)"/>

> > +    <path d="M511.5 2311.5C511.5 2296.59 522.469 2284.5 536 2284.5

> > 549.531 2284.5 560.5 2296.59 560.5 2311.5 560.5 2326.41 549.531

> > 2338.5 536 2338.5 522.469 2338.5 511.5 2326.41 511.5 2311.5Z"

> > stroke="#006047" stroke-width="9.16667" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="#008564" fill-rule="evenodd"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="64" transform="matrix(1 0 0 1 316.965

> > 2332)">Done </text>

> > +    <path d="M965.584 860.5 965.584 1572.52C965.584 1573.79 964.558

> > 1574.82 963.292 1574.82L535.5 1574.82 537.792 1572.52 537.792

> > 2261.63 533.209 2261.63 533.209 1572.52C533.209 1571.26 534.235

> > 1570.23 535.5 1570.23L963.292 1570.23 961.001 1572.52 961.001

> > 860.5ZM549.25 2257.05 535.5 2284.55 521.75 2257.05Z" fill="#008563"/>

> > +    <path d="M2497.82 1863.5 2497.82 2311.4C2497.82 2312.67 2496.79

> > 2313.7 2495.53 2313.7L583.418 2313.7 583.418 2309.11 2495.53

> > 2309.11 2493.23 2311.4 2493.23 1863.5ZM588 2325.15 560.5 2311.4 588

> > 2297.65Z" fill="#008563"/>

> > +    <path d="M2728 1074.17C2728 1059.72 2739.72 1048 2754.17

> > 1048L3410.83 1048C3425.28 1048 3437 1059.72 3437 1074.17L3437

> > 1178.83C3437 1193.28 3425.28 1205 3410.83 1205L2754.17

> > 1205C2739.72 1205 2728 1193.28 2728 1178.83Z" fill="#0071C5" fill-

> > rule="evenodd" fill-opacity="0.501961"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 2869.23

> > 1148)">HTTP </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 3021.62

> > 1148)">POST/PUT</text>

> > +    <path d="M3112 2034.33C3112 2015.37 3127.37 2000 3146.33

> > 2000L3786.67 2000C3805.63 2000 3821 2015.37 3821 2034.33L3821

> > 2171.67C3821 2190.63 3805.63 2206 3786.67 2206L3146.33

> > 2206C3127.37 2206 3112 2190.63 3112 2171.67Z" fill="#0071C5" fill-

> > rule="evenodd" fill-opacity="0.501961"/>

> > +    <text font-family="Arial,Arial_MSFontService,sans-serif" font-

> > weight="400" font-size="64" transform="matrix(1 0 0 1 3191.74

> > 2127)">HTTP </text>

> > +    <text fill="#FF0000" font-family="Arial,Arial_MSFontService,sans-serif"

> > font-weight="400" font-size="64" transform="matrix(1 0 0 1 3376.79

> > 2127)">PATCH/PUT</text>

> > +    <rect x="1572" y="418" width="896" height="130" fill="#008564"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 1655.98

> > 505)">RedfishResourceIdentifyLib</text>

> > +    <path d="M0.0452146-1.71815 11.9202-1.40565 23.8145-0.526554

> > 35.5234 0.919242 46.906 2.80438 57.9272 5.19539 68.5072 8.02728

> > 78.5249 11.2384 87.9266 14.8322 96.5836 18.7466 104.375 22.923

> > 111.238 27.3016 117.131 31.9661 121.965 36.7847C122.036 36.8551

> > 122.1 36.9316 122.157 37.0131L125.532 41.8256C125.598 41.9198

> > 125.655 42.0203 125.701 42.1257L127.826 47.0007C127.885 47.1376

> > 127.927 47.2817 127.949 47.4294L128.699 52.3669 129.449 57.3044

> > 129.326 56.8757 131.451 61.7507 131.282 61.4506 134.657 66.2631

> > 134.465 66.0347 139.153 70.7222 144.756 75.1536 151.363 79.3641

> > 158.938 83.423 167.396 87.2466 176.555 90.7711 186.4 93.9259 196.82

> > 96.7148 207.677 99.0704 218.967 100.929 231.233 102.16 230.889

> > 105.58 218.408 104.321 206.948 102.43 195.93 100.035 185.35 97.1991

> > 175.32 93.9789 165.979 90.3784 157.312 86.452 149.512 82.2609

> > 142.619 77.8464 136.722 73.1528 132.035 68.4653C131.964 68.3949

> > 131.9 68.3184 131.843

> > + 68.2369L128.468 63.4244C128.402 63.3302 128.345 63.2297 128.299

> > 63.1243L126.174 58.2493C126.115 58.1124 126.073 57.9683 126.051

> > 57.8206L125.301 52.8831 124.551 47.9456 124.674 48.3743 122.549

> > 43.4993 122.718 43.7994 119.343 38.9869 119.535 39.2153 114.994

> > 34.6589 109.387 30.1984 102.75 25.952 95.1664 21.8784 86.6984

> > 18.0428 77.475 14.5116 67.6178 11.3477 57.1978 8.55461 46.344

> > 6.19562 35.1016 4.33076 23.5605 2.90155 11.8298 2.03065-0.0452146

> > 1.71815ZM227.312 89.8694 253.937 105.246 225.66 117.32Z"

> > fill="#008563" transform="matrix(1 0 0 -1 1318.5 588.746)"/>

> > +    <rect x="2687" y="738" width="425" height="102" fill="#5D1682" fill-

> > opacity="0.501961"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="50" transform="matrix(1 0 0 1 2797.23

> > 806)">GetData</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="50" transform="matrix(1 0 0 1 2970.82

> > 806)">()</text>

> > +    <text fill="#890C58" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0

> > 1 2696.04

> > 693)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL</text>

> > +    <path d="M0.0837419-1.71671 5.20874-1.46671 10.4785-0.765991

> > 15.7435 0.383721 21.0012 1.98096 26.1383 4.02918 31.2374 6.44749

> > 36.2738 9.24844 41.2531 12.499 50.8027 19.8914 59.9974 28.63 68.7284

> > 38.5528 76.822 49.544 84.2726 61.5307 91.0188 74.258 96.9486 87.7463

> > 101.933 101.866 105.969 116.416 108.997 131.282 110.831 146.482

> > 111.467 161.742 112.092 176.867 113.894 191.795 116.872 206.407

> > 120.844 220.729 125.746 234.616 131.574 247.871 138.147 260.389

> > 145.458 272.09 153.443 282.851 161.92 292.557 170.872 301.067

> > 180.183 308.333 184.928 311.366 189.774 314.061 189.495 313.937

> > 197.654 316.733 196.54 319.985 188.38 317.188C188.284 317.155

> > 188.19 317.114 188.101 317.064L183.072 314.259 178.067 311.042

> > 168.503 303.557 159.33 294.818 150.682 284.899 142.542 273.91

> > 135.103 261.986 128.426 249.254 122.504 235.759 117.531 221.646

> > 113.503 207.093 110.481 192.205 108.658 177.008 108.033 161.883

> > 107.419 146.893

> > + 105.628 131.968 102.656 117.334 98.6916 103.009 93.8014 89.1287

> > 87.9812 75.867 81.3524 63.3443 74.053 51.581 66.1466 40.8222 57.6276

> > 31.12 48.6973 22.6086 39.3719 15.376 34.6012 12.2516 29.7626 9.55251

> > 24.8617 7.22082 19.9988 5.26904 15.0065 3.74128 10.0215 2.64099

> > 5.04126 1.96671-0.0837419 1.71671ZM195.756 303.927 219.415

> > 323.564 189.51 330.709Z" fill="#890857" transform="matrix(1 0 0 -1 2468.5

> > 1113.06)"/>

> > +    <rect x="2690" y="863" width="422" height="102" fill="#5D1682" fill-

> > opacity="0.501961"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="50" transform="matrix(1 0 0 1 2757.16

> > 931)">GeOemData</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="50" transform="matrix(1 0 0 1 3013.82

> > 931)">()</text>

> > +    <path d="M0.092493-1.71626 10.53-1.15376 21.0276 0.553809

> > 31.3759 3.27561 41.4048 6.94903 51.1654 11.5055 60.4854 16.8871

> > 69.2961 23.028 77.5298 29.798 85.1321 37.1392 91.9881 45.0638 98.02

> > 53.4335 103.109 62.1333 107.25 71.1596 110.32 80.4632 112.247

> > 89.9086 112.902 99.4474 113.527 108.76 115.372 117.784 118.32

> > 126.713 122.313 135.41 127.292 143.813 133.088 151.941 139.734

> > 159.559 147.137 166.769 155.155 173.36 163.727 179.273 172.798

> > 184.512 182.29 188.943 192.089 192.51 191.834 192.439 199.996

> > 194.058 199.327 197.43 191.165 195.811C191.079 195.794 190.994

> > 195.77 190.911 195.74L180.835 192.057 171.077 187.488 161.773

> > 182.102 152.97 176.015 144.738 169.231 137.141 161.816 130.287

> > 153.934 124.333 145.562 119.187 136.84 115.055 127.787 112.003

> > 118.466 110.098 108.99 109.473 99.6776 108.878 90.5914 107.055

> > 81.5368 104.125 72.5904 100.141 63.8667 95.23 55.4415 89.3869

> > 47.3112 82.7429 39.6108 75.3452 32.452

> > + 67.3289 25.847 58.7646 19.8629 49.7096 14.6195 40.2202 10.176

> > 30.4991 6.59939 20.4724 3.94619 10.345 2.27876-0.092493

> > 1.71626ZM197.096 181.479 222.341 199.029 193.154 208.695Z"

> > fill="#890857" transform="matrix(1 0 0 -1 2468.5 1113.53)"/>

> > +    <path d="M0.0142748-1.71869 37.6393-1.40619 56.1033-0.968266

> > 74.1162-0.405411 91.5677 0.282584 108.209 1.0958 124.032 1.97138

> > 138.811 3.03569 152.384 4.099 164.666 5.28927 170.254 5.917 175.456

> > 6.54359 180.246 7.23647 184.618 7.86102 188.55 8.55768 192.081

> > 9.25098 195.079 9.95147 197.643 10.6553 199.7 11.3802 201.269

> > 12.1502C201.394 12.2131 201.512 12.2911 201.619 12.3825L202.494

> > 13.1325C202.684 13.2956 202.836 13.4982 202.94 13.7263L203.252

> > 14.4138 203.565 15.1013 203.119 14.5075 203.994 15.2575 203.644

> > 15.0252 205.019 15.7127 206.762 16.3177 209.143 16.9678 212.017

> > 17.639 215.456 18.3135 219.3 18.9952 223.618 19.611 228.371 20.299

> > 233.518 20.9186 239.067 21.542 251.291 22.7268 264.822 23.7865

> > 279.561 24.8482 295.283 25.7214 311.959 26.5333 329.318 27.2201

> > 347.304 27.7821 365.722 28.1566 380.37 28.2979 380.337 31.7352

> > 365.653 31.5934 347.196 31.2179 329.182 30.6549 311.791 29.9667

> > 295.092 29.1536 279.314

> > + 28.2768 264.553 27.2135 250.959 26.1482 238.683 24.958 233.107

> > 24.3314 227.879 23.701 223.132 23.014 218.7 22.3798 214.794 21.6865

> > 211.233 20.986 208.232 20.2822 205.613 19.5573 203.481 18.7873

> > 202.106 18.0998C201.981 18.0369 201.863 17.9589 201.756

> > 17.8675L200.881 17.1175C200.691 16.9544 200.539 16.7518 200.435

> > 16.5237L200.123 15.8362 199.81 15.1487 200.256 15.7425 199.381

> > 14.9925 199.731 15.2248 198.55 14.6198 196.732 13.9697 194.296

> > 13.2985 191.419 12.624 187.95 11.9423 184.132 11.264 179.754 10.6385

> > 175.044 9.95641 169.871 9.333 164.334 8.71073 152.116 7.526 138.564

> > 6.46431 123.843 5.40363 108.041 4.5292 91.4323 3.71742 74.0088

> > 3.03041 56.0217 2.46827 37.6107 2.03119-0.0142748

> > 1.71869ZM375.903 16.223 403.269 30.2377 375.637 43.7217Z"

> > fill="#890857" transform="matrix(1 0 0 -1 2849.5 1796.74)"/>

> > +    <path d="M2849.52 1794.78 2868.52 1795.03 2887.45 1795.85

> > 2906.05 1797.1 2924.23 1798.85 2941.83 1800.98 2958.63 1803.49

> > 2974.62 1806.37 2989.49 1809.57 3003.23 1813.02 3015.62 1816.73

> > 3021.31 1818.69 3026.61 1820.71 3031.47 1822.73 3035.92 1824.82

> > 3039.92 1826.91 3043.47 1829.1 3046.57 1831.36 3049.18 1833.57

> > 3051.29 1835.92C3051.34 1835.98 3051.39 1836.05 3051.44

> > 1836.12L3052.87 1838.31C3052.94 1838.41 3053 1838.51 3053.04

> > 1838.63L3053.91 1840.88C3053.96 1841 3054 1841.13 3054.01

> > 1841.26L3054.33 1843.44 3054.64 1845.63 3054.54 1845.25 3055.41

> > 1847.5 3055.25 1847.18 3056.69 1849.37 3056.54 1849.17 3058.47

> > 1851.36 3060.8 1853.32 3063.7 1855.42 3067.01 1857.4 3070.88 1859.49

> > 3075.17 1861.51 3079.91 1863.48 3085.09 1865.39 3090.68 1867.31

> > 3102.93 1870.98 3116.54 1874.4 3131.3 1877.57 3147.12 1880.43

> > 3163.88 1882.92 3181.33 1885.04 3199.42 1886.79 3217.99 1888.04

> > 3232.84 1888.55 3232.72 1891.99 3217.76 1891.46

> > + 3199.08 1890.21 3180.92 1888.46 3163.37 1886.32 3146.51 1883.82

> > 3130.58 1880.93 3115.71 1877.73 3101.94 1874.27 3089.56 1870.56

> > 3083.9 1868.61 3078.59 1866.65 3073.7 1864.62 3069.25 1862.51

> > 3065.24 1860.35 3061.67 1858.2 3058.57 1855.93 3055.9 1853.64

> > 3053.96 1851.45C3053.91 1851.39 3053.86 1851.32 3053.81

> > 1851.26L3052.38 1849.07C3052.31 1848.97 3052.25 1848.86 3052.21

> > 1848.75L3051.34 1846.5C3051.29 1846.38 3051.25 1846.25 3051.24

> > 1846.12L3050.92 1843.93 3050.61 1841.74 3050.71 1842.12 3049.84

> > 1839.87 3050 1840.19 3048.56 1838.01 3048.71 1838.2 3046.95 1836.18

> > 3044.55 1834.14 3041.66 1832.02 3038.33 1829.96 3034.45 1827.93

> > 3030.15 1825.9 3025.39 1823.92 3020.19 1821.94 3014.63 1820.02

> > 3002.39 1816.35 2988.76 1812.93 2974.01 1809.75 2958.12 1806.89

> > 2941.42 1804.39 2923.9 1802.27 2905.82 1800.53 2887.3 1799.28

> > 2868.48 1798.47 2849.48 1798.22ZM3228.52 1876.42 3255.7 1890.8

> > 3227.88 1903.91Z" fill="#890857"/>

> > +    <path d="M2578 1103.75 2638.5 1103.75 2638.5 1080 2686 1127.5

> > 2638.5 1175 2638.5 1151.25 2578 1151.25Z" fill="#0071C5" fill-

> > rule="evenodd" fill-opacity="0.501961"/>

> > +    <path d="M2956.92 1877.31 3000.36 1919.95 3016.93 1903.07

> > 3017.55 1969.96 2950.65 1970.59 2967.22 1953.71 2923.79 1911.07Z"

> > fill="#0071C5" fill-rule="evenodd" fill-opacity="0.501961"/>

> > +    <path d="M939.5 833.5C939.5 818.588 950.469 806.5 964 806.5

> > 977.531 806.5 988.5 818.588 988.5 833.5 988.5 848.412 977.531 860.5

> > 964 860.5 950.469 860.5 939.5 848.412 939.5 833.5Z" stroke="#006047"

> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"

> > fill="#008564" fill-rule="evenodd"/>

> > +    <path d="M965.792 655.5 965.792 730.981C965.792 732.247 964.766

> > 733.273 963.501 733.273L963.5 733.273 965.792 730.981 965.792

> > 783.546 961.208 783.546 961.208 730.981C961.208 729.716 962.235

> > 728.69 963.5 728.69L963.501 728.69 961.209 730.981 961.209

> > 655.5ZM977.25 778.963 963.5 806.463 949.75 778.963Z" fill="#008563"/>

> > +    <text font-family="Arial,Arial_MSFontService,sans-serif" font-

> > weight="400" font-size="55" transform="matrix(1 0 0 1 815.508

> > 946)">false</text>

> > +    <text font-family="Arial,Arial_MSFontService,sans-serif" font-

> > weight="400" font-size="55" transform="matrix(1 0 0 1 1029.08

> > 808)">true</text>

> > +    <path d="M1507.5 1114.5C1507.5 1099.59 1518.69 1087.5 1532.5

> > 1087.5 1546.31 1087.5 1557.5 1099.59 1557.5 1114.5 1557.5 1129.41

> > 1546.31 1141.5 1532.5 1141.5 1518.69 1141.5 1507.5 1129.41 1507.5

> > 1114.5Z" stroke="#006047" stroke-width="9.16667" stroke-linejoin="round"

> > stroke-miterlimit="10" fill="#008564" fill-rule="evenodd"/>

> > +    <path d="M1535.38 900.5 1535.38 993.849C1535.38 995.114 1534.35

> > 996.14 1533.09 996.14L1532.5 996.14 1534.79 993.849 1534.79 1064.28

> > 1530.21 1064.28 1530.21 993.849C1530.21 992.583 1531.23 991.557

> > 1532.5 991.557L1533.09 991.557 1530.8 993.849 1530.8

> > 900.5ZM1546.25 1059.7 1532.5 1087.2 1518.75 1059.7Z" fill="#008563"/>

> > +    <text font-family="Arial,Arial_MSFontService,sans-serif" font-

> > weight="400" font-size="55" transform="matrix(1 0 0 1 1405.87

> > 1282)">true</text>

> > +    <text font-family="Arial,Arial_MSFontService,sans-serif" font-

> > weight="400" font-size="55" transform="matrix(1 0 0 1 1590.37

> > 1071)">false</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="400" font-size="64" transform="matrix(1 0 0 1 328.764

> > 396)">Start</text>

> > +    <path d="M0 0 177.266 0 177.266 2109.2 354.533 2109.2"

> > stroke="#008563" stroke-width="4.58333" stroke-linejoin="round" stroke-

> > miterlimit="10" fill="none" fill-rule="evenodd" transform="matrix(1.83697e-

> > 16 1 1 -1.83697e-16 2113.5 1180.5)"/>

> > +    <path d="M4225.53 1612.5 4225.53 2311.62C4225.53 2312.89 4224.5

> > 2313.91 4223.23 2313.91L583.414 2313.91 583.414 2309.33 4223.23

> > 2309.33 4220.94 2311.62 4220.94 1612.5ZM588 2325.37 560.5 2311.62

> > 588 2297.87Z" fill="#008563"/>

> > +    <path d="M4223.5 1536.5 4223.5 1612.57" stroke="#008563" stroke-

> > width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="none"

> > fill-rule="evenodd"/>

> > +    <path d="M2464 1438.17C2464 1423.72 2475.72 1412 2490.17

> > 1412L3146.83 1412C3161.28 1412 3173 1423.72 3173 1438.17L3173

> > 1542.83C3173 1557.28 3161.28 1569 3146.83 1569L2490.17

> > 1569C2475.72 1569 2464 1557.28 2464 1542.83Z" fill="#0071C5" fill-

> > rule="evenodd" fill-opacity="0.501961"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 2601 1512)">HTTP

> > </text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="64" transform="matrix(1 0 0 1 2753.4

> > 1512)">HEAD/GET</text>

> > +    <path d="M2337 1468.5 2398 1468.5 2398 1445 2445 1492 2398 1539

> > 2398 1515.5 2337 1515.5Z" fill="#0071C5" fill-rule="evenodd" fill-

> > opacity="0.501961"/>

> > +    <rect x="3253" y="1715" width="424" height="102" fill="#5D1682" fill-

> > opacity="0.501961"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="50" transform="matrix(1 0 0 1 3362.57

> > 1783)">GetData</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="50" transform="matrix(1 0 0 1 3536.17

> > 1783)">()</text>

> > +    <text fill="#890C58" font-family="Calibri,Calibri_MSFontService,sans-serif"

> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0

> > 1 3195.85

> > 1686)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL</text>

> > +    <rect x="3256" y="1840" width="421" height="102" fill="#5D1682" fill-

> > opacity="0.501961"/>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="50" transform="matrix(1 0 0 1 3322.5

> > 1908)">GeOemData</text>

> > +    <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-

> > weight="700" font-size="50" transform="matrix(1 0 0 1 3579.17

> > 1908)">()</text>

> > +  </g>

> > +</svg>

> > diff --git a/RedfishClientPkg/Readme.md b/RedfishClientPkg/Readme.md

> > index 0aec0580..69dc33d3 100644

> > --- a/RedfishClientPkg/Readme.md

> > +++ b/RedfishClientPkg/Readme.md

> > @@ -31,13 +31,13 @@ Redfish property with HII option.

> >

> >  The current design of UEFI Redfish Client EDK2 Implementation can already

> >  support the provisioning of firmware-owned platform Redfish resource,

> > however,

> > -this requires addtional support on edk2 HII. Therefore, provisioning of

> > +this requires additional support on edk2 HII. Therefore, provisioning of

> >  firmware managed platform Redfish resource would be the second stage.

> >

> >  Below are the block diagrams of UEFI Redfish Client EDK2 Implementation.

> >

> >  ## <a name="[0]">EDK2 Redfish Client Implementation Diagrams</a>

> > -![UEFI Redfish Client

> Implementation](https://nam11.safelinks.protection.outlook.com/?url=https%3A

> %2F%2Fgithub.com%2Fchangab%2Fedk2-

> &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4

> ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013

> 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM

> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=9spIhmHTD

> Xs%2Bpff8oiLCki5B0wivmxRudW%2FZz06S1BQ%3D&reserved=0

> > staging/blob/edk2-redfish-

> > client/RedfishClientPkg/Documents/Media/RedfishClientDriverStack.svg?raw

> > =true)

> > +![UEFI Redfish Client

> Implementation](https://nam11.safelinks.protection.outlook.com/?url=https%3A

> %2F%2Fgithub.com%2Ftianocore%2Fedk2-

> &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4

> ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013

> 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM

> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=XDItTObSf

> %2BHNK%2Fcow198PQnn%2Fsmw8%2BB%2B3en3zMhk1hM%3D&reserved=0

> > redfish-

> > client/blob/main/RedfishClientPkg/Documents/Media/RedfishClientDriverSta

> > ck.svg?raw=true)

> >

> >  ## EFI EDK2 Redfish Client Framework

> >  The functionality of each block in the diagrams are described in below

> > sections,

> > @@ -89,7 +89,7 @@ Redfish service to platform configurations, or vice versa

> > to update platform

> >  configurations to Redfish service. Both EDK2 Redfish Non-Collection and

> >  Collection Feature drivers are script auto-generated base on Redfish schema

> >  naming. The EDK2 Redfish Non-Collection feature driver manages the

> > resource of

> > -specific Resdifsh resource type, while the EDK2 Redfish Collection feature

> > +specific Redfish resource type, while the EDK2 Redfish Collection feature

> >  driver manages the members which have the same resource type in collection

> >  resource (e.g the ComputerSystem resource and ComputerSystemCollection

> > resource)

> >  .

> > @@ -100,18 +100,30 @@ platform configuration format and storage from

> > EDK2 Redfish Feature driver.

> >  This protocol provides the interfaces to get and set platform configuration

> > with

> >  the format and configuration storage agnostic to the Redfish feature driver.

> >  The platform can provide its own EDKII Redfish Platform Config driver

> > instance

> > -to access platform-specific configuration format and storage. On EDK2 open

> > -source, EDKII Redfish Platform Config Protocol accesses the platform

> > -configuration in EDK2 HII defined format.

> > +to access platform-specific configuration format and storage.

> > +

> > +On EDK2 open source, EDKII Redfish Platform Config Protocol accesses the

> > +platform configuration in EDK2 HII defined format. Below is driver stack

> > diagram

> > +which implements EDKII Redfish Platform Config Protocol. The protocol

> > driver

> > +leverages the HII interface to get or set the HII configuration on platform. By

> > +following the x-uefi-redfish Configure Language defined in UNI file, protocol

> > +driver can find corresponding HII question for given Redfish attribute. In this

> > +way, protocol driver creates the mapping between HII questions and Redfish

> > +attributes.

> > +

> > +![platform

> config](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi

> thub.com%2Fnicklela%2Fedk2-redfish-

> &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4

> ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013

> 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM

> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by

> Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0

> > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-

> > platform-config-protocol-stack.svg?raw=true)

> >

> >  Below is the prototype of

> > **EDKII_REDFISH_PLATFORM_CONFIG_PROTOCOL**,

> >

> >  ```C

> >  struct _EDKII_REDFISH_PLATFORM_CONFIG_PROTOCOL {

> > -  EDKII_REDFISH_PLATFORM_CONFIG_GET_VALUE             GetValue;

> > -  EDKII_REDFISH_PLATFORM_CONFIG_SET_VALUE             SetValue;

> > -  EDKII_REDFISH_PLATFORM_CONFIG_GET_CONFIG_LANG

> > GetConfigureLang;

> > -  EDKII_REDFISH_PLATFORM_CONFIG_GET_SUPPORTED_SCHEMA

> > GetSupportedSchema;

> > +  UINT64                                                Revision;

> > +  EDKII_REDFISH_PLATFORM_CONFIG_GET_VALUE               GetValue;

> > +  EDKII_REDFISH_PLATFORM_CONFIG_SET_VALUE               SetValue;

> > +  EDKII_REDFISH_PLATFORM_CONFIG_GET_DEFAULT_VALUE

> > GetDefaultValue;

> > +  EDKII_REDFISH_PLATFORM_CONFIG_GET_ATTRIBUTE           GetAttribute;

> > +  EDKII_REDFISH_PLATFORM_CONFIG_GET_CONFIG_LANG

> > GetConfigureLang;

> > +  EDKII_REDFISH_PLATFORM_CONFIG_GET_SUPPORTED_SCHEMA

> > GetSupportedSchema;

> >  };

> >  ```

> >

> > @@ -181,11 +193,10 @@ x-uefi-redfish-Processor.v1_0_0

> >  ```

> >  #### x-uefi-redfish Configure Language format:

> >  - The string declared with x-uefi-redfish configure language is a path to the

> > property

> > -in Redfish resource

> > +in Redfish schema.

> >  - The root of path is the Redfish resource type indicated in x-uefi-redfish

> > configure

> >  language

> > -- The path is relative to root of Redfish resource type, not related to Redfish

> > service

> > -- root.

> > +- The path is relative to root of [Redfish

> >

> schema](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2F

> redfish.dmtf.org%2Fredfish%2Fschema_index&data=05%7C01%7Cnicklew%40nv

> idia.com%7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7d

> b39efd9ccc17a%7C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbG

> Zsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0

> %3D%7C3000%7C%7C%7C&sdata=JtEyBN0G665Gfr5PT1t47hcUZdIqZQO0NQfyt

> kZ5%2BGY%3D&reserved=0) defined by DMTF,

> > not related to Redfish service root.

> >

> >  #### Examples,

> >  ```C

> > @@ -215,7 +226,135 @@ EDK2 Build is responsible to pull the necessary

> > EDK2 Redfish JSON Schema to C

> >  Structure Convertors and EDK2 Redfish Feature drivers into edk2 build

> > process

> >  according to the x-uefi-Redfish config language used in the HII VFR forms.

> >

> > +## EDK2 Redfish client feature driver

> > +![foundation driver

> stack](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit

> hub.com%2Fnicklela%2Fedk2-redfish-

> &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4

> ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013

> 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM

> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by

> Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0

> > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-

> > foundation-driver-stack.svg?raw=true)

> > +

> > +Above diagram shows the way how Redfish application (Redfish feature

> > driver) works with Redfish foundation

> > +drivers and communicate with Redfish service. Redfish feature driver relies on

> > Redfish Config driver to

> > +provide the information of desired Rest Ex instance. To achieve this, Redfish

> > feature driver has to provide

> > +EDKII Redfish Config Handler Protocol and Redfish Config driver will use this

> > protocol to deliver Redfish

> > +service information.

> > +

> > +```C

> > +struct _EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL {

> > +  EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_INIT    Init;

> > +  EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_STOP    Stop;

> > +};

> > +```

> > +

> > +![feature driver call

> flow](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith

> ub.com%2Fnicklela%2Fedk2-redfish-

> &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4

> ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013

> 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM

> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by

> Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0

> > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-

> > feature-driver-call-flow.svg?raw=true)

> > +

> > +Above diagram shows the details of how Redfish feature core driver invokes

> > Redfish feature drivers. To be called

> > +by Redfish feature core driver, Redfish feature driver has to register the

> > managed URI to Redfish feature core

> > +driver. Then Redfish feature core driver learns the dependency of each

> > different feature drivers.

> > +

> > +#### Dispatch Redfish feature drivers

> > +When given event is signaled, Redfish feature core driver starts the operation

> > of invoking Redfish feature drivers

> > +by following the order from left to right in Redfish URI list. In the diagram, the

> Is this much clearer to say "following the order from parent node to child node in

> the Redfish URI hierarchy."

>

>

>

> > feature driver which manages

> > +service root will be invoked first. And feature driver which manages computer

> > system collection will be invoked

> > +at second position. Once Redfish feature core driver walks through entire

> > Redfish URI, the operation is stopped.

> > +

> > +### Interface between collection feature driver and non-collection feature

> > driver

> > +Redfish collection resource is a set of Redfish non-collection resource. Redfish

> > collection feature driver works

> > +with non-collection feature driver to manage them. For example, boot option

> > collection feature driver work with

> > +boot option feature driver to manage boot options in Redfish service.

> > Computer system collection feature driver

> > +work with computer system feature driver to manage computer system

> > resource.

> > +

> > +The interface between collection feature driver and non-collection feature

> > driver is EDKII Redfish resource config

> > +protocol.

> > +

> > +```C

> > +struct _EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL {

> > +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_PROVISIONING

> > Provisioning;

> > +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CONSUME         Consume;

> > +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_UPDATE          Update;

> > +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CHECK           Check;

> > +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_IDENTIFY        Identify;

> > +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_GET_INFO        GetInfo;

> > +};

> > +```

> > +

> > +### Feature driver event

> > +Two events are defined for feature driver to perform necessary operation at

> > given time.

> > +- Ready-to-Provisioning event

> > +  - Feature driver which requires to do operation before Redfish feature driver

> > starts the synchronization can listen to

> > +    this event. For example, boot option feature driver may want to refresh

> > boot order variable and get latest boot order

> > +    information before provisioning the boot options to boot options resource.

> > +- After-Provisioning event

> > +  - Feature driver which wants to do operation after Redfish feature driver

> > finish the synchronization job can listen to

> > +    this event.

> > +

> > +### Reboot required

> > +When Redfish feature drivers apply user request to platform, a system reboot

> > is usually required. PCD

> > `gEfiRedfishClientPkgTokenSpaceGuid.PcdRedfishSystemRebootRequired` is

> > introduced for this purpose. After Redfish feature

> > +core driver is done with synchronization job, Redfish feature core driver

> > checks this PCD and perform system reboot when

> > +PCD is set to `TRUE`.

> > +

> > +### Synchronization design between Redfish service and BIOS

> > +The purpose of Redfish feature driver is to do the synchronization job

> > between Redfish service and BIOS. The operation of synchronization can be

> > simply divided into two types:

> > +

> > +#### Provisioning resource

> > +Below is the flow diagram of provisioning platform configuration to Redfish

> > service at Bios resource. With the x-uefi-redfish

> > +configure language described in above section, Redfish feature driver collect

> > all BIOS attributes from HII database and populated

> > +them to Redfish service.

> >

> +![provisioning](https://nam11.safelinks.protection.outlook.com/?url=https%3A%

> 2F%2Fgithub.com%2Fnicklela%2Fedk2-redfish-

> &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4

> ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013

> 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM

> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by

> Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0

> > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-call-

> > flow-provisioning.svg?raw=true)

> > +

> > +#### Consume resource

> > +Below is the flow diagram of consuming user request from Redfish service to

> > platform configuration. Redfish feature driver finds

> > +corresponding HII question and apply user desired value to platform.

> > +![pending

> settings](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2F

> github.com%2Fnicklela%2Fedk2-redfish-

> &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4

> ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013

> 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM

> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by

> Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0

> > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-call-

> > flow-pending-settings.svg?raw=true)

> > +

> > +Below diagram shows the call flow of EDKII Resource Config Protocol and

> > how to use this protocol to handle synchronization

> > +job.

> >

> +![synchronization](https://nam11.safelinks.protection.outlook.com/?url=https%

> 3A%2F%2Fgithub.com%2Fnicklela%2Fedk2-redfish-

> &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4

> ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013

> 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM

> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by

> Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0

> > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-

> > synchronization-design.svg?raw=true)

> > +

> > +Several interfaces defined in EDKII Redfish Resource Config Protocol work

> > together to support Redfish synchronization:

> > +- Identify()

> > +  - This function is used to check and see if given Redfish resource is the one

> > feature driver wants to manage. A platform

> How about, This function is used to check if the given Redfish resource is the one

> the feature driver wants to manage.

>

>

> > +    library `RedfishReesourceIdentifyLib` is introduced for platform to

> > implement its own policy to identify Redfish resource.

> > +- Check()

> > +  - This function is used to check the attribute status on Redfish service. If all

> > attributes that feature driver managed

> feature driver manages

>

> > +    are presented in Redfish service, feature driver must provision them

> If all attributes the feature driver manages are presented in Redfish service,

> feature driver must provision them

>

>

> > already. Otherwise, Provisioning() will be called

> > +    to perform resource provisioning job.

> > +- Provisioning()

> > +  - When this function is called, feature driver will provision all attributes that

> > it managed to Redfish service. This

> > +    operation usually create new resource at Redfish service and require

> > different operation that Redfish service specified.

> different operation that specified by Redfish service.

>

> > +- Consume()

> > +  - When there is pending settings in Redfish service, this function is called for

> > feature driver to consume pending settings

> > +    requested by user.

> > +- Update()

> > +  - When platform configuration is updated, this function is called to update

> > configuration changes to Redfish service and

> > +    Redfish service can show the latest settings on platform.

> > +

> > +The EDKII Redfish Resource Addendum Protocol is introduced to provide

> > platform addendum data that Redfish service requires.

> > +This protocol will be called at Provisioning() and Update() functions so

> > platform can add OEM attribute or any other attribute

> > +that Redfish service specified.

> platform can add OEM attribute or any other attribute specified by Redfish

> service.

>

> > +

> > +```C

> > +struct _EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL {

> > +  UINT64                                  Revision;    ///< Protocol revision

> > +  EDKII_REDFISH_RESOURCE_ADDENDUM_OEM     GetOemData;  ///< Get

> > OEM data

> > +  EDKII_REDFISH_RESOURCE_ADDENDUM_DATA    GetData;     ///< Get

> > addendum data

> > +};

> > +```

> > +

> > +#### Redfish service implementation

> > +The idea of Redfish synchronization design is to manage Redfish resource

> > directly by platform firmware. To do this, Redfish

> > +synchronization functions have to work with Redfish service implementation

> > in BMC firmware. This is because the interface

> > +between platform firmware and BMC firmware is not defined in any

> > specification.

> > +Several prerequisites must be satisfied:

> > +- Platform firmware has permission to manage Redfish resource. BMC has

> > ability to tell the difference between platform request

> > +  and out-of-band user. This can normally be done by identifying the

> > bootstrap account in HTTP request. The bootstrap account is

> > +  described in Host Interface specification 1.3.0 section 9.

> > +- The ability to tell if there is user changes to Redfish resource or not. Redfish

> The ability to tell if there is an user who changes to Redfish resource or not.

>

> > feature drivers can only be executed at POST

> > +  time. So the modification to BIOS managed resource is asynchronous

> > operation.

> is an asynchronous operation.

>

> > + Thus, we need below supports in Redfish service:

> > +  - ETAG support in HTTP header.

> > +  - Setting resource support (defined in Redfish specification 1.18 section

> > 9.10).

> > +  - Redfish Task support to POST and DELETE operation made by user in

> > Redfish collection resource and Redfish actions.

> > +

> > +### Redfish Task design

> > +TBD.

> > +

> >  ## The Contributors

> > -Chang, Abner <abner.chang@hpe.com>\

> > -Wang, Nickle <nickle.wang@hpe.com>\

> > +Chang, Abner <abner.chang@amd.com>\

> > +Wang, Nickle <nicklew@nvidia.com>\

> >  Chen, Aaron <aaron.chen@hpe.com>

> > --

> > 2.17.1




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109281): https://edk2.groups.io/g/devel/message/109281
Mute This Topic: https://groups.io/mt/101316997/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-