From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 3FC4BD806D5 for ; Tue, 12 Sep 2023 15:11:30 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=ulQEMuu5NZrQY/IcgyDvWv6au7mDHZP6tP9FbRyLdTw=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type; s=20140610; t=1694531488; v=1; b=QqOC43XcGCSDQijwpnhWmNOqqnF7llit50nfEw3FChBlkW0QdBX9R7b3BzbF6VjrCGZ74oUv Q6qmsJ43Iq6On0EpxhQI9vBdAeL5ukYbw8pKHnTjsxZmStZzUB3pgx9EgYLGLxtARDiOPNgKzGf QyoWkIlUuu6x0u2kMpBkgWp0= X-Received: by 127.0.0.2 with SMTP id hX5dYY7687511xWG6nwy62yh; Tue, 12 Sep 2023 08:11:28 -0700 X-Received: from NAM12-DM6-obe.outbound.protection.outlook.com (NAM12-DM6-obe.outbound.protection.outlook.com [40.107.243.74]) by mx.groups.io with SMTP id smtpd.web10.27661.1694531487671044225 for ; Tue, 12 Sep 2023 08:11:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=acvpcM10Zrj6hrQ1/ynIdDV+lp/hLk2OLS0eXkhvWpWiiW1PeW2CffCIrMuqKcEEASRiL/W+pAsZjgH7PWLHEsSAkBcO2wjijH+pmf+vASjZyQcS1DOBqbHnZGjHlSdeCYt8BxXUsLC+/WC+8rSnlPv1a+FAgEM1ObYKDRwyTL749iokkptCMiATEUUHLV6eztUJlMoNYycsTftN2Aww95QAqL24k87QNaiao350mUZF3ueSOJcpUyvx1IV3Y6vjfIkrk/zmXxyY2WQSyMzsErx7R0StGb8zl9urYR7U/4FSCiuwHUBzDkutBO9vaMCCrKRQeU4I6cIUrzg+pfEwHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UmKaO8VhczBihJXfvj79FlG7AM7YjDymChdUm8irsiM=; b=jRNMYyIAgq5exi00QvSzVyfl3FOkAyWEfAM3aEuNN5YLwgexssptNqmL5kLf7iVdLY08d/vgfAfOjxfqS+xJvG2eV8kjRTYsadFtK5yYOKYSVM8zPepKut0FdrJsmnvkwxYYUTxZcEr8NRFVCKI5s3mXlmoJ4MKo4/TigcHJE5j3+tPwXPQKkgm+AnhtBJs6YJDjMifH0qwYD0xRwD7dCCzO0L9jjYw27MR4D3L8la/mxT8UwO2kJ+54NiBgIGCOrVlhfJuAxckB3h6lbiusLP89wjfGk3jwg+eOSoiAB1v7ICWs3+cSPVnOuRsXYDF+iOEZ+NEz9iZB8e2pyrkkkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none X-Received: from MW4PR12MB7031.namprd12.prod.outlook.com (2603:10b6:303:1ef::6) by MW4PR12MB5641.namprd12.prod.outlook.com (2603:10b6:303:186::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.33; Tue, 12 Sep 2023 15:11:21 +0000 X-Received: from MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::1390:de0a:6b46:9837]) by MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::1390:de0a:6b46:9837%7]) with mapi id 15.20.6768.029; Tue, 12 Sep 2023 15:11:20 +0000 From: "Nickle Wang via groups.io" To: "devel@edk2.groups.io" , Nickle Wang , Abner Chang , Igor Kulchytskyy Subject: Re: [edk2-devel] [edk2-redfish-client][PATCH] RedfishClientPkg: update Readme.md Thread-Topic: [edk2-devel] [edk2-redfish-client][PATCH] RedfishClientPkg: update Readme.md Thread-Index: AQHZ5Ys3MeHUuxS9AUylIEvpoQxqbbAXS3PQ Date: Tue, 12 Sep 2023 15:11:20 +0000 Message-ID: References: <17842F54FF047469.5496@groups.io> In-Reply-To: <17842F54FF047469.5496@groups.io> Accept-Language: en-US X-Mentions: abner.chang@amd.com,igork@ami.com X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR12MB7031:EE_|MW4PR12MB5641:EE_ x-ms-office365-filtering-correlation-id: 2e089aa2-9e75-4499-3385-08dbb3a2855b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: gFtfsUex9nzpihOFW6osrnkLPS0r5NlM5LDO+JPSB+oypYwob1HJCjJnpf5VZOM1/MhjfRX7ojM5fGPLiRMMR+i2NfamM8dkBXlKyUnkZNjmK9LRzrIjb0601eVn+jJztneKdmCZt5saTwk6O3VR+jZYw7FQtw8KZcTREZS8Lv+Ji/bUV/q8AILd3fe7LuAiNhhWdYTgpIplGmLMz+kmLcoVTpf8trgPHa+GMDzxh/ihbWXrWgtLiIaELfxrid8m+BVDG5YNbLxFmuxhiI5i3RHm0YVM/WmzXCX3GH1b08dGaJd/zX27gtZRkAtzXyNBoiuYREhjKxoekUSNaSdAyBxZM/Pyk+G2QECEbD1+LHG57av8Ghxc4O21bRJYoe/h22NJReC/pjBsX4XJjg6QDWH39zrFKX2GOQw5S0VKFfget03PDp49qkH1YgysGDR1kHaiG8ScF+u39xrHsA5bkKvuD3Zk+egJkUTIVBf7An+P+pvcU+Lqk1gC/ZCusoiZUvMg3abQXAPB4BM6MPRvi7aW81a9UepOyFu3wyNNTe71dZpVjoWTRTsh7zwD0Rb9HrrZfCacsycxk75b1MF4nzfL5ldjjgbjPoSVasBqfOoOvwFKOcsbxRhjZ0bBT8nfo1EP4FOi9FD9xQ8v0DgaPw== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?1Sx2DZo8UaQ8y//POBmR2459bBFYaXsxj/l1r7QbvfG29yUpvX7RM1BefI?= =?iso-8859-1?Q?aeody7I7/1Mj5cVbcS1sZ0olWOqZ2vb7sU7h9H+JJMYdSNWODzmWtHitEU?= =?iso-8859-1?Q?f2dGX168a9s6MtqQgAI0fCxO6xZ9dPQGU2U0+ZgDnLBwfQIomd4Ik/av6v?= =?iso-8859-1?Q?0iIrWudZXeXDQ+CjNXO2rmUpHC1EJJDG1wyOAak8vpdf1hj77IBnW1MbyJ?= =?iso-8859-1?Q?epJvtaYKUVS9OCkMAzaQO+OWp7GEDfvtLhBwonsGWU5TMth46Oo+i950PI?= =?iso-8859-1?Q?v9P7v8n8ItsNIvblHWvDe4a6Qnp3knuox7uIu+xX3yyZ+gjXmMpJudcMyq?= =?iso-8859-1?Q?9sL9OKeVbuL37L+o1Fhb2HtRQfB1g+w9lb9rS3RSf4o1GSSN7b4YR0n2/c?= =?iso-8859-1?Q?fKciXPYV0DHEqkGLxZk6yecqQsPjjUqPVJVNqGNhGGTEhrB9NgEVnuYmeb?= =?iso-8859-1?Q?sokJrd61HX1ei7E7d5DShCLyLW8scIYT8rRpfy5uttadIPl1sc1Ezg6ymb?= =?iso-8859-1?Q?taKufeeRmTBp6UpI769TclDvzX4O3NyrB82+bDMeosklW6AXIDGYaLFHXB?= =?iso-8859-1?Q?JMpZYybwbIv0M9w8Xa15Hx5tvlXEZ0vu/ecbyULdX7ORVLm9r/QzbjW6Ee?= =?iso-8859-1?Q?0aVWWZUfzMabKQPUBH4Z/SW9sx1ZUXOgGqWO4XuCLL3xSwI+18bJ3kdmcn?= =?iso-8859-1?Q?eyNonRR4BE4fqHnYrRhy/tD/Qlrr91zBr7y4hlBoHzkuCGZeGJQPjUl0nP?= =?iso-8859-1?Q?Fdpyyd1w8+ISf1GLKEO3HXcDZX+Rz/Q8OTbGC7eXrlYTFMvkQ+oyaUlZAd?= =?iso-8859-1?Q?AJqd2XHJBC57XOAJ27Y3z5vIWYURcYI5uQS+/XyPF2LOEayw+/JHVpYyji?= =?iso-8859-1?Q?tcHPovRxCK0q1QZayrftv/1Ryx2MEPxH+Ef73Y0rCws2WvtP/11aMglZoV?= =?iso-8859-1?Q?AZwtnHNqdw8zTOhDMzMVyl5cm5b86xtwgrftGd5IjFcfohxnnaNISRCzxq?= =?iso-8859-1?Q?2JvQs9fFEaYOrlmWzxVCfYlnYmcyhTSovt/So170KltBRRV0WRqxU3nmgF?= =?iso-8859-1?Q?rjnTAO/ZZ9Hr7T7SRrNh+n3RiCoAXmiEmPKOJVjUxfeDbzRwDaPBw1liRQ?= =?iso-8859-1?Q?r75eX8oq+DNc0BZzGOoetzneCMF6XEwDb2rMPQ/9gGKLgA2wrEdwGOMPBN?= =?iso-8859-1?Q?DzFAWo+DPoXrZ7/oHM8rFXe1D8YKJVGwP9muhOdOjLWUsDs2eHJkmYolu/?= =?iso-8859-1?Q?LRITG4MEgPRPT6izK/ZCuEtSMBM2Mxps+Srt9bz+rkimD4MqLLDFe8VICK?= =?iso-8859-1?Q?6/Uet/imZ4cimGMbGLB9RdWIWdOLve3XdnjjB+E790mPWVOanH8Pi7XAR3?= =?iso-8859-1?Q?/KSOhAs4kKWxq+gBaHovWZ5HZiIedlXP6G8lvg97IFbCvHd+yVXp/1siiD?= =?iso-8859-1?Q?2dqOcPFxH0bbYkHeqFETKmWVTf8LvQ6vZ40QGDWouuueRp5kb38VSJSW5i?= =?iso-8859-1?Q?hJMDcodW+PSuHiTFu2/iWDj6WBHsqO1pUz/CJR1i7SI60cEMZL5z5QyEPH?= =?iso-8859-1?Q?ndCrdrLDEMGipk7+bUF0uEtL3eVeqn94SodwL165MToguanrchP5ZXV7pw?= =?iso-8859-1?Q?LH7fnhV2oJuKW+XPgDl8g2ro96gFmkVnL/2kk4FjrW2w6uYnzc5tpP7AzV?= =?iso-8859-1?Q?+cKwmXdB1vEAZGKntt8=3D?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR12MB7031.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2e089aa2-9e75-4499-3385-08dbb3a2855b X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Sep 2023 15:11:20.6201 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: X4heVitHLTVBSyw6UOO/zhWkQGjCSiKD6B9BGWF+HzWvmRmGGyphPcfpmcA07PItwkN3+d7/dUeBD25S8ABkNw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5641 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,nicklew@nvidia.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: EVwDb33Xd7kOXjHjYWaFYqDOx7686176AA= Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_MW4PR12MB703141D1C6D98B90EF7B889DD9F1AMW4PR12MB7031namp_" X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=QqOC43Xc; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=none; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") --_000_MW4PR12MB703141D1C6D98B90EF7B889DD9F1AMW4PR12MB7031namp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi @Abner Chang, @Igor Kulchytskyy, I opened a pull request here for the ease of review: https://github.com/tia= nocore/edk2-redfish-client/pull/50 Thanks, Nickle > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Nickle Wan= g > via groups.io > Sent: Tuesday, September 12, 2023 11:10 PM > To: devel@edk2.groups.io > Cc: Abner Chang ; Igor Kulchytskyy > Subject: [edk2-devel] [edk2-redfish-client][PATCH] RedfishClientPkg: upda= te > Readme.md > > External email: Use caution opening links or attachments > > > 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 = > > Cc: Abner Chang > > Cc: Igor Kulchytskyy > > --- > .../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 @@ > + xmlns=3D"http://www.w3.org/2000/svg" > xmlns:xlink=3D"http://www.w3.org/1999/xlink" xml:space=3D"preserve" > overflow=3D"hidden"> > + > + > + > + > + > + > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#FFFFFF"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 2143.23 758)"= >Feature > Driver > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#FFFFFF"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 763.66 758)">= EDK2 > HII > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#FFFFFF"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 3499.14 758)"= >Redfish > Service > + 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=3D"#8C8C8C"/> > + 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=3D"#8C8C8C"/> > + 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=3D"#8C8C8C"/> > + 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95 > 13.7504Z" fill=3D"#8C8C8C" transform=3D"matrix(-1 0 0 1 2335.45 1342)"/> > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 990.014 > 1568)">3 > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 1016.37 = 1568)">. If > > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 1098.29 = 1568)">HII > question exists and pending value is changed > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 1051.89 = 1628)">Use > HII protocol/library to submit new value > + fill=3D"#FFFF00" fill-rule=3D"evenodd"/> > + fill=3D"#FFFF00" fill-rule=3D"evenodd"/> > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 990.014 = 1239)">2. > Check and see if there is HII question with lang: > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 1051.89 > 1299)">/ > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 1078.24 > 1299)">bios/attributes/ > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 1444.91 > 1299)">ATTRIBUTE_ > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 1719.91 > 1299)">NAME > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2378.69 = 1805)">4. > Update current settings to > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2440.56 > 1865)">/redfish/v1/systems/SYS/Bios > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 3138.38 > 1865)">(provisioning) > + 1084.86ZM3673.43 1068.25 3700.93 1082 3673.43 1095.75Z" fill=3D"#8C8C8C"/= > > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2393.47 = 968)">1. > Use > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2549.88 = 968)">HTTP > =E2EURoeGUT=E2EUR� to download pending settings from > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2455.35 > 1028)">/redfish > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2638.11 > 1028)">/v1/systems/SYS/Bios/Settings > + 1906.86ZM3673.43 1890.25 3700.93 1904 3673.43 1917.75Z" fill=3D"#8C8C8C"/= > > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2151.86 = 2175)">6. > > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2212.01 > 2175)">System reboot > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#404040"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 347.29 1046)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 413.749 1105)">driver > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#404040"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 402.29 1101)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 468.749 1160)">driver > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#404040"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 457.29 1156)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 523.749 1215)">driver > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#404040"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 512.29 1211)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 578.749 1270)">driver > + 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95 > 13.7504Z" fill=3D"#8C8C8C" transform=3D"matrix(-1 0 0 1 2341.45 1666)"/> > + weight=3D"400" font-size=3D"83" transform=3D"matrix(1 0 0 1 62.1854 611)"= >Consume > pending > + weight=3D"400" font-size=3D"83" transform=3D"matrix(1 0 0 1 687.237 > 611)">settings: > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 62.1854 = 680)">BMC > to BIOS > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 3715.21 = 1979)">5. > BMC reset pending settings > + > + > diff --git a/RedfishClientPkg/Documents/Media/redfish-call-flow-provision= ing.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 @@ > + xmlns=3D"http://www.w3.org/2000/svg" > xmlns:xlink=3D"http://www.w3.org/1999/xlink" xml:space=3D"preserve" > overflow=3D"hidden"> > + > + > + > + > + > + > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#FFFFFF"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 2187.7 807)">= Feature > Driver > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#FFFFFF"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 808.129 807)"= >EDK2 > HII > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#FFFFFF"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 3543.6 807)">= Redfish > Service > + 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=3D"#8C8C8C"/> > + 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=3D"#8C8C8C"/> > + 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=3D"#8C8C8C"/> > + 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95 > 13.7504Z" fill=3D"#8C8C8C" transform=3D"matrix(-1 0 0 1 2379.45 1003)"/> > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 957.259 = 969)">1. > Find all HII questions with > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 1620.12 > 969)">language: > + font-weight=3D"700" font-size=3D"50" transform=3D"matrix(1 0 0 1 1854.45 > 969)">=E2EURoe/bios/attributes/* > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2292.73 > 969)">=E2EUR� > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 985.955 = 1526)">3. > Get current value of each HII question and > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 1047.83 > 1586)">append value to attribute list > + 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95 > 13.7504Z" fill=3D"#8C8C8C" transform=3D"matrix(-1 0 0 1 2379.45 1391)"/> > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2417.95 = 1202)">2. > Follow Bios schema and > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2479.82 > 1262)">create attribute list > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2412.63 = 1795)">4. > BIOS current settings is ready > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 2474.5 1= 855)">Issue > HTTP =E2EURoePUT=E2EUR� to /redfish/v1/systems/SYS/Bios > + 1911.86ZM3723.43 1895.25 3750.93 1909 3723.43 1922.75Z" fill=3D"#8C8C8C"/= > > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#404040"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 391.759 1095)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 458.217 1154)">driver > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#404040"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 446.759 1150)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 513.217 1209)">driver > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#404040"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 501.759 1205)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 568.217 1264)">driver > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#404040"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 556.759 1260)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 623.217 1319)">driver > + 2.86459ZM27.5 13.75 0 0 27.5-13.75Z" fill=3D"#8C8C8C" transform=3D"matrix= (-1 0 0 > 1 2379.45 1453)"/> > + weight=3D"400" font-size=3D"83" transform=3D"matrix(1 0 0 1 289.433 > 610)">Provisioning: > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 289.433 = 679)">BIOS > to BMC > + > + > 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.s= vg > @@ -0,0 +1,133 @@ > + xmlns=3D"http://www.w3.org/2000/svg" > xmlns:xlink=3D"http://www.w3.org/1999/xlink" xml:space=3D"preserve" > overflow=3D"hidden"> > + > + > + > + > + > + > + > + 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=3D"#E8E8E8" fill-rule=3D"evenodd"/> > + 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=3D"#76B900= " > fill-rule=3D"evenodd"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 703.081 901)">Redfish Feature > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 756.935 960)">Core Driver > + stroke-width=3D"3.4375" stroke-linejoin=3D"round" stroke-miterlimit=3D"10= " > fill=3D"none"/> > + weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 63.3886 702)"= >Event > driven > + font-weight=3D"400" font-size=3D"37" transform=3D"matrix(1 0 0 1 63.3886 > 751)">PcdEdkIIRedfishFeatureDriverStartupEventGuid > + 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=3D"#8C8C8= C" > transform=3D"matrix(1.83697e-16 1 1 -1.83697e-16 429 779)"/> > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#FFFFFF"/> > + weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 65.7033 > 1129)">Ready > + weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 206.641 1129)= ">- > + weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 223.255 > 1129)">to > + weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 271.953 1129)= ">- > + weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 288.568 1129)= ">Provision > Signal > + font-weight=3D"400" font-size=3D"37" transform=3D"matrix(1 0 0 1 65.7033 > 1173)">gEfiRedfishClientFeatureReadyToProvisionin > + font-weight=3D"400" font-size=3D"37" transform=3D"matrix(1 0 0 1 65.7033 > 1213)">gGuid > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#FFFFFF"/> > + weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 65.7037 > 2358)">After > + weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 182.006 2358)= ">- > + weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 198.62 2358)"= >Provision > Signal > + font-weight=3D"400" font-size=3D"37" transform=3D"matrix(1 0 0 1 65.7037 > 2402)">gEfiRedfishClientFeatureAfterProvisioningG > + font-weight=3D"400" font-size=3D"37" transform=3D"matrix(1 0 0 1 65.7037 > 2442)">uid > + 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=3D"#8C8C8C"/> > + 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=3D"#8C8C8C"/> > + 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=3D"#008564" > stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" fill- > rule=3D"evenodd"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1313.38 > 1258)">Service Root > + weight=3D"700" font-size=3D"48" transform=3D"matrix(1 0 0 1 1192.27 > 1131)">/redfish/v1 > + 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=3D"#8C8C8= C" > transform=3D"matrix(1.83697e-16 1 1 -1.83697e-16 896 1016)"/> > + 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=3D"#008564" > stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" fill- > rule=3D"evenodd"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1681.69 > 1462)">ComputerSystemC > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1792.26 > 1521)">ollection > + weight=3D"700" font-size=3D"48" transform=3D"matrix(1 0 0 1 1626.06 > 1376)">/redfish/v1/Systems > + 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=3D"#8C8C8= C" > transform=3D"matrix(1.83697e-16 1 1 -1.83697e-16 896 1016)"/> > + 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=3D"#008564" stroke- > width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill= - > rule=3D"evenodd"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 2579.22 > 1490)">ComputerSystem > + weight=3D"700" font-size=3D"48" transform=3D"matrix(1 0 0 1 2510.53 > 1371)">/redfish/v1/Systems/SYS > + 2.86456ZM334.147-12.4975 361.595 1.35551 334.044 15.0023Z" fill=3D"#8C8C8= C" > transform=3D"matrix(1 0 0 -1 2150 1476.36)"/> > + 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=3D"#008564" > stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" fill- > rule=3D"evenodd"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 2103.34 > 1812)">Bios > + 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=3D"#8C8C8= C" > transform=3D"matrix(1.83697e-16 1 1 -1.83697e-16 896 1016)"/> > + weight=3D"700" font-size=3D"48" transform=3D"matrix(1 0 0 1 1894.92 > 1693)">/redfish/v1/Systems/SYS/Bios > + 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=3D"#008564" stroke- > width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill= - > rule=3D"evenodd"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 2106.47 > 2103)">MemoryCollection > + 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=3D"#8C8C8= C" > transform=3D"matrix(1.83697e-16 1 1 -1.83697e-16 896 1016)"/> > + weight=3D"700" font-size=3D"48" transform=3D"matrix(1 0 0 1 2062.37 > 1981)">/redfish/v1/Systems/SYS/Memory > + 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=3D"#008564" stroke- > width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill= - > rule=3D"evenodd"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 3085.32 > 2103)">Memory > + 2.98962e-06 2.86458ZM318.298-13.7497 345.798 0.000360892 318.298 > 13.7503Z" fill=3D"#8C8C8C" transform=3D"matrix(1 0 0 -1 2575 2088)"/> > + font-weight=3D"400" font-size=3D"183" transform=3D"matrix(1 0 0 1 2263.52 > 2245)">=E2EUR=A6 > + 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=3D"#008564" stroke-width=3D"9.16667" > stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill-rule=3D"evenodd"/= > > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 3657.66 > 885)">Bios > + > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 3486.36 > 688)">Redfish foundation > + > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 3474.33 = 306)">BMC > Redfish service > + 1.95531e-05ZM13.7502 25.3717 0.000360892 52.8718-13.7498 25.3719Z" > fill=3D"#8C8C8C" transform=3D"matrix(1 0 0 -1 3706 797.872)"/> > + 0.0103569ZM13.8151 17.9673 0.164567 45.5168-13.6848 18.0667Z" > fill=3D"#8C8C8C" transform=3D"matrix(1 0 0 -1 3706 600.517)"/> > + > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 3434.8 > 1069)">Redfish Platform Config > + > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 3610.58 > 1391)">EDK2 HII > + > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 3552.42 > 1571)">Chipset driver > + > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 3670.44 > 1753)">HW > + 942ZM3719.75 953.607 3706 981.107 3692.25 953.608Z" fill=3D"#8C8C8C"/> > + 1126.06ZM3722.81 1275.98 3709.62 1303.76 3695.31 1276.54Z" > fill=3D"#8C8C8C"/> > + 1448.21ZM3723.29 1455.01 3711.57 1483.43 3695.87 1457Z" fill=3D"#8C8C8C"/= > > + 1628ZM3725.75 1638.57 3712 1666.07 3698.25 1638.57Z" fill=3D"#8C8C8C"/> > + opacity=3D"0.501961"/> > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 3606.27 > 498)">Network > + 411.215ZM3692.34 390.547 3706 363 3719.84 390.453Z" fill=3D"#8C8C8C"/> > + 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=3D"#00856= 4" > transform=3D"matrix(1 0 0 -1 2411 1796.31)"/> > + weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 3733.97 1194)= ">x > + weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 3755.74 1194)= ">- > + weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 3771.21 > 1194)">uefi > + weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 3849.7 1194)"= >- > + weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 3865.17 > 1194)">redfish > + weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 4007.25 1194)= ">- > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 4022.72 > 1194)">Bios.vA_B_C > + font-weight=3D"400" font-size=3D"50" transform=3D"matrix(1 0 0 1 3733.97 > 1255)">/Bios/Attributes/XXX > + font-weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 380.14 > 1659)">Redfish Feature Protocol > + font-weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 2829.58 > 2249)">Redfish Resource Config Protocol > + font-weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 2426.51 > 1602)">Redfish Resource Config Protocol > + stroke-width=3D"3.4375" stroke-linejoin=3D"round" stroke-miterlimit=3D"10= " > fill=3D"none"/> > + 440.408Z" fill=3D"#C0C0C0" fill-rule=3D"evenodd"/> > + 440.408Z" fill=3D"#FFFF00" fill-rule=3D"evenodd"/> > + 440.408Z" fill=3D"#00FF00" fill-rule=3D"evenodd"/> > + 440.408Z" fill=3D"#FF00FF" fill-rule=3D"evenodd"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 165.4 > 423)">/redfish/ > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 406.025 423)"= >v1 > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 469.046 423)"= >/ > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 496.546 > 423)">Systems > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 715.4 423)">/= > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 742.9 423)">S= YS > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 836.858 423)"= >/ > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 864.358 > 423)">Bios > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 976.65 > 423)">/=E2EUR=A6 > + 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=3D"#890857"/> > + > + width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill= =3D"none" fill- > rule=3D"evenodd"/> > + stroke=3D"#000000" stroke-width=3D"9.16667" stroke-linejoin=3D"round" str= oke- > miterlimit=3D"10" fill=3D"none" fill-rule=3D"evenodd"/> > + weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 497.682 539)"= >Service > Root > + > + width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill= =3D"none" fill- > rule=3D"evenodd"/> > + stroke=3D"#000000" stroke-width=3D"9.16667" stroke-linejoin=3D"round" str= oke- > miterlimit=3D"10" fill=3D"none" fill-rule=3D"evenodd"/> > + weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 682.83 228)">= Computer > System > + weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 749.861 > 272)">Collection > + > + width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill= =3D"none" fill- > rule=3D"evenodd"/> > + stroke=3D"#000000" stroke-width=3D"9.16667" stroke-linejoin=3D"round" str= oke- > miterlimit=3D"10" fill=3D"none" fill-rule=3D"evenodd"/> > + weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 956.072 510)"= >Computer > > + weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 980.134 > 554)">System > + > + width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill= =3D"none" fill- > rule=3D"evenodd"/> > + stroke=3D"#000000" stroke-width=3D"9.16667" stroke-linejoin=3D"round" str= oke- > miterlimit=3D"10" fill=3D"none" fill-rule=3D"evenodd"/> > + weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 1324.41 > 254)">Bios > + weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 65.5579 > 241)">Register > + weight=3D"700" font-size=3D"48" transform=3D"matrix(1 0 0 1 2943.32 > 1981)">/redfish/v1/Systems/SYS/ > + weight=3D"700" font-size=3D"48" transform=3D"matrix(1 0 0 1 3469.25 > 1981)">Memory/Dimm1 > + 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=3D"#8C8C8C"/> > + 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.4= 6 > 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=3D"#8C8C8C"/> > + 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=3D"#8C8C8C"/> > + > + > 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.sv= g > @@ -0,0 +1,75 @@ > + xmlns=3D"http://www.w3.org/2000/svg" > xmlns:xlink=3D"http://www.w3.org/1999/xlink" xml:space=3D"preserve" > overflow=3D"hidden"> > + > + > + > + > + gradientUnits=3D"userSpaceOnUse" spreadMethod=3D"reflect" id=3D"fill1"> > + > + > + > + > + > + > + opacity=3D"0.501961"/> > + 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=3D"#70AD47" transform=3D"matrix(1 0 0 -1 594.5 > 1048.68)"/> > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#5B9BD5"/> > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 652.979 > 1972)">NIC > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#FBE5D6"/> > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 450.739 > 1657)">UEFI Network Stack > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#FFC000"/> > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1773.26 > 1660)">In > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1828.84 = 1660)">- > > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1852.33 > 1660)">band channel > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#ADB9CA"/> > + font-style=3D"italic" font-weight=3D"700" font-size=3D"46" transform=3D"m= atrix(1 0 0 1 > 855.72 1182)">REST > + font-style=3D"italic" font-weight=3D"700" font-size=3D"46" transform=3D"m= atrix(1 0 0 1 > 882.074 1231)">EX > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#A5A5A5"/> > + font-weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 433.577 > 1254)">Redfish Discover > + font-weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 512.067 > 1299)">Protocol > + 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=3D"#70AD47" stroke-width=3D"4.58333" stroke-miterlimit=3D"8= " > fill=3D"#FFFFFF" fill-rule=3D"evenodd"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1158.18 2313)= ">Redfish > Service > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#767171"/> > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1100.89 > 596)">Redfish Application > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#70AD47"/> > + weight=3D"700" font-size=3D"46" transform=3D"matrix(1 0 0 1 457.66 1105)"= >Redfish > Config > + weight=3D"700" font-size=3D"46" transform=3D"matrix(1 0 0 1 535.851 > 1155)">Driver > + stroke=3D"#A5A5A5" stroke-width=3D"2.29167" stroke-miterlimit=3D"8" fill= =3D"url(#fill1)" > fill-rule=3D"evenodd"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 2474.57 > 1172)">SMBIOS > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 2465.7 1= 231)">Type > 42 > + opacity=3D"0.501961"/> > + font-weight=3D"700" font-size=3D"73" transform=3D"matrix(1 0 0 1 1959.59 > 1972)">HW > + stroke-width=3D"3.4375" stroke-linejoin=3D"round" stroke-miterlimit=3D"10= " > fill=3D"#70AD47"/> > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 994.903 > 720)">Redfish Config Handler Protocol > + 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=3D"#70AD4= 7" > transform=3D"matrix(1 0 0 -1 1240.5 1052.27)"/> > + 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=3D"#70AD47"/> > + 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=3D"#FF000= 0" > transform=3D"matrix(1.83697e-16 1 1 -1.83697e-16 1360.5 765.5)"/> > + 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=3D"#FF0000"/> > + 1766.5ZM1376.25 1853.99 1362.5 1881.49 1348.75 1853.99Z" fill=3D"#FF0000"= /> > + 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=3D"#A5A5A5"/> > + 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=3D"#A5A5A5"/> > + 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=3D"#A5A5A5"/> > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#ADB9CA"/> > + font-style=3D"italic" font-weight=3D"700" font-size=3D"46" transform=3D"m= atrix(1 0 0 1 > 1513.76 1186)">REST > + font-style=3D"italic" font-weight=3D"700" font-size=3D"46" transform=3D"m= atrix(1 0 0 1 > 1540.11 1235)">EX > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#A5A5A5"/> > + font-weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 1091.62 > 1258)">Redfish Discover > + font-weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 1170.11 > 1303)">Protocol > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#70AD47"/> > + font-weight=3D"700" font-size=3D"46" transform=3D"matrix(1 0 0 1 1099.08 > 1111)">Redfish Config > + font-weight=3D"700" font-size=3D"46" transform=3D"matrix(1 0 0 1 1186.17 > 1160)">Driver > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#ADB9CA"/> > + font-style=3D"italic" font-weight=3D"700" font-size=3D"46" transform=3D"m= atrix(1 0 0 1 > 2165.89 1188)">REST > + font-style=3D"italic" font-weight=3D"700" font-size=3D"46" transform=3D"m= atrix(1 0 0 1 > 2192.24 1237)">EX > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#A5A5A5"/> > + font-weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 1743.75 > 1260)">Redfish Discover > + font-weight=3D"700" font-size=3D"41" transform=3D"matrix(1 0 0 1 1822.23 > 1305)">Protocol > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#70AD47"/> > + font-weight=3D"700" font-size=3D"46" transform=3D"matrix(1 0 0 1 1751.21 > 1113)">Redfish Config > + font-weight=3D"700" font-size=3D"46" transform=3D"matrix(1 0 0 1 1838.3 > 1162)">Driver > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#FBE5D6"/> > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 1109.41 > 1657)">UEFI Network Stack > + stroke-width=3D"4.58333" stroke-miterlimit=3D"8" fill=3D"#5B9BD5"/> > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1311.65 > 1972)">NIC > + 0.020976ZM15.1365 151.411 1.63881 179.035-12.3623 151.662Z" fill=3D"#FF00= 00" > transform=3D"matrix(-1 0 0 1 1362.14 2023.5)"/> > + > + > diff --git a/RedfishClientPkg/Documents/Media/redfish-platform-config-pro= tocol- > 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 @@ > + xmlns=3D"http://www.w3.org/2000/svg" > xmlns:xlink=3D"http://www.w3.org/1999/xlink" xml:space=3D"preserve" > overflow=3D"hidden"> > + > + filterUnits=3D"userSpaceOnUse" primitiveUnits=3D"userSpaceOnUse"> > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + opacity=3D"0.4"/> > + 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=3D"#A6A6A6" > stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" stroke- > dasharray=3D"36.6667 27.5" fill=3D"none" fill-rule=3D"evenodd"/> > + 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=3D"#D9D9D9" fill-rule=3D"evenodd"/> > + > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1026.14 = 683)">Setup > Menu > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#9E9E9E"/> > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 916.711 > 1199)">EDK2 Setup Browser > + > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 917.571 > 1038)">EDK2 Display Engine > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1122.4 > 545)">User > + > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 941.92 1= 374)">EDK2 > HII Database > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#8C8C8C"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 779.595 > 1842)">Chipset/HII > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 838.88 > 1901)">driver > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#8C8C8C"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1188 > 1842)">Chipset/HII > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1247.28 > 1901)">driver > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#8C8C8C"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 945.765 > 1941)">Chipset/HII > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1005.05 > 2000)">driver > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#8C8C8C"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1376.4 > 1941)">Chipset/HII > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1435.69 > 2000)">driver > + 756.917ZM1175.25 761.5 1189 734 1202.75 761.5ZM1202.75 924.92 1189 > 952.42 1175.25 924.92Z" fill=3D"#8C8C8C"/> > + 1517.92ZM1169.25 1522.5 1183 1495 1196.75 1522.5ZM1196.75 1685.92 1183 > 1713.42 1169.25 1685.92Z" fill=3D"#8C8C8C"/> > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1247.51 > 801)">Graphic protocols > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1247.51 > 867)">Console input protocols > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1232.43 = 1574)">EFI > Config Access Protocol > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1232.43 = 1640)">HII > Database Protocol > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0"/> > + font-weight=3D"400" font-size=3D"73" transform=3D"matrix(1 0 0 1 1203.49 > 2245)">HW > + 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=3D"#A6A6A6" stroke-width=3D"9.16667" stroke- > linejoin=3D"round" stroke-miterlimit=3D"10" stroke-dasharray=3D"36.6667 2= 7.5" > fill=3D"none" fill-rule=3D"evenodd"/> > + 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=3D"#D9D9D9" fill-rule=3D"evenodd"/> > + > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 2754.31 > 687)">Feature drivers > + > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 2652.04 > 1124)">EDK2 HII Utility Library > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 2724.81 549)"= >Redfish > Interface > + > + font-weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 2709.33 > 1376)">EDK2 HII Database > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#8C8C8C"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 2532.97 1847)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 2599.43 1906)">driver > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#8C8C8C"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 2941.37 1847)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 3007.83 1906)">driver > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#8C8C8C"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 2699.14 1947)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 2765.6 2006)">driver > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"#8C8C8C"/> > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 3129.78 1947)">Chipset/HII > + MS_MSFontService,sans-serif" font-weight=3D"400" font-size=3D"55" > transform=3D"matrix(1 0 0 1 3196.24 2006)">driver > + 759.917ZM2942.25 764.5 2956 737 2969.75 764.5ZM2969.75 927.959 2956 > 955.459 2942.25 927.959Z" fill=3D"#8C8C8C"/> > + 1520.92ZM2937.25 1525.5 2951 1498 2964.75 1525.5ZM2964.75 1688.92 2951 > 1716.42 2937.25 1688.92Z" fill=3D"#8C8C8C"/> > + font-style=3D"italic" font-weight=3D"700" font-size=3D"55" transform=3D"m= atrix(1 0 0 1 > 3007.22 833)">EDKII Redfish Platform Configure Protocol > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 3007.22 = 1592)">EFI > Config Access Protocol > + font-weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 3007.22 = 1658)">HII > Database Protocol > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0"/> > + font-weight=3D"400" font-size=3D"73" transform=3D"matrix(1 0 0 1 2970.9 > 2248)">HW > + > + > + 4.48158ZM796.32 58.4574 822.465 74.6365 793.835 85.8449Z" fill=3D"#0071C5= " > transform=3D"matrix(1 0 0 -1 16.4999 118.354)"/> > + > + > + 4.56458ZM796.32 58.4574 822.465 74.6365 793.835 85.8449Z" fill=3D"#0071C5= " > transform=3D"matrix(1 0 0 -1 1661.5 1182.14)"/> > + weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1783.55 1054)= ">Move > necessary functions > + weight=3D"400" font-size=3D"55" transform=3D"matrix(1 0 0 1 1783.55 1120)= ">to library > > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0"/> > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 1821 187= 4)">UEFI > > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 1780.6 > 1933)">variable > + stroke-width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0"/> > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 3589.11 > 1851)">UEFI > + font-weight=3D"700" font-size=3D"55" transform=3D"matrix(1 0 0 1 3548.71 > 1910)">variable > + 1890.46ZM2145.64 1918.54 2293.36 1918.54 2293.36 1955.89 2145.64 > 1955.89Z" fill=3D"#C0E4FF" fill-rule=3D"evenodd"/> > + > + > 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 @@ > + xmlns=3D"http://www.w3.org/2000/svg" > xmlns:xlink=3D"http://www.w3.org/1999/xlink" xml:space=3D"preserve" > overflow=3D"hidden"> > + > + > + > + > + > + > + 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=3D"#006047" stroke- > width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill= =3D"#008564" > fill-rule=3D"evenodd"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 104.76 > 290)">REDFISH_FEATURE_CALLBACK() > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"none"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 839.622 > 610)">Identify() > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"none"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1433.4 > 855)">Check() > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"none"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1928.64 > 1134)">Provisioning() > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"none"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1808.4 > 1510)">Consume() > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"none"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 2376.59 > 1818)">Update() > + 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=3D"#008563" > transform=3D"matrix(1.83697e-16 1 1 -1.83697e-16 511.5 406.5)"/> > + 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=3D"#008563"/> > + 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=3D"#008563" transform=3D"matrix(1 0 0 -1 1557.5 1114.13)"/= > > + 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=3D"#00856= 3" > transform=3D"matrix(1.83697e-16 1 1 -1.83697e-16 1532.5 1141.5)"/> > + 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=3D"#00856= 3" > transform=3D"matrix(1.83697e-16 1 1 -1.83697e-16 1952.5 1555.5)"/> > + 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=3D"#006047" stroke- > width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill= =3D"#008564" > fill-rule=3D"evenodd"/> > + weight=3D"400" font-size=3D"64" transform=3D"matrix(1 0 0 1 316.965 2332)= ">Done > > + 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=3D"#008563"/> > + 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=3D"#008563"/> > + 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=3D"#0071C5" fill-rule=3D"evenodd" f= ill- > opacity=3D"0.501961"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 2869.23 1148)= ">HTTP > > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 3021.62 > 1148)">POST/PUT > + 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=3D"#0071C5" fill-rule=3D"evenodd" f= ill- > opacity=3D"0.501961"/> > + font-size=3D"64" transform=3D"matrix(1 0 0 1 3191.74 2127)">HTTP > + weight=3D"400" font-size=3D"64" transform=3D"matrix(1 0 0 1 3376.79 > 2127)">PATCH/PUT > + > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 1655.98 > 505)">RedfishResourceIdentifyLib > + 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.3= 5 > 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=3D"#008563" transform=3D"matrix(1 0 0 -1 131= 8.5 > 588.746)"/> > + opacity=3D"0.501961"/> > + weight=3D"700" font-size=3D"50" transform=3D"matrix(1 0 0 1 2797.23 > 806)">GetData > + weight=3D"700" font-size=3D"50" transform=3D"matrix(1 0 0 1 2970.82 806)"= >() > + font-style=3D"italic" font-weight=3D"700" font-size=3D"46" transform=3D"m= atrix(1 0 0 1 > 2696.04 693)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL > + 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.54= 4 > 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.697= 3 > 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=3D"#890857= " > transform=3D"matrix(1 0 0 -1 2468.5 1113.06)"/> > + opacity=3D"0.501961"/> > + weight=3D"700" font-size=3D"50" transform=3D"matrix(1 0 0 1 2757.16 > 931)">GeOemData > + weight=3D"700" font-size=3D"50" transform=3D"matrix(1 0 0 1 3013.82 931)"= >() > + 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=3D"#890857" transform=3D"matrix(1 = 0 0 -1 > 2468.5 1113.53)"/> > + 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.29= 9 > 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.98= 6 > 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=3D"#890857" transform=3D"ma= trix(1 > 0 0 -1 2849.5 1796.74)"/> > + 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=3D"#890857"= /> > + 1175 2638.5 1151.25 2578 1151.25Z" fill=3D"#0071C5" fill-rule=3D"evenodd"= fill- > opacity=3D"0.501961"/> > + 1969.96 2950.65 1970.59 2967.22 1953.71 2923.79 1911.07Z" fill=3D"#0071C5= " > fill-rule=3D"evenodd" fill-opacity=3D"0.501961"/> > + 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=3D"#006047" stroke- > width=3D"9.16667" stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill= =3D"#008564" > fill-rule=3D"evenodd"/> > + 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=3D"#008563"/> > + font-size=3D"55" transform=3D"matrix(1 0 0 1 815.508 946)">false > + font-size=3D"55" transform=3D"matrix(1 0 0 1 1029.08 808)">true > + 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=3D"#006047" stroke-width=3D"9.16667" stroke-linejoin=3D"round" str= oke- > miterlimit=3D"10" fill=3D"#008564" fill-rule=3D"evenodd"/> > + 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=3D"#008563"/> > + font-size=3D"55" transform=3D"matrix(1 0 0 1 1405.87 1282)">true > + font-size=3D"55" transform=3D"matrix(1 0 0 1 1590.37 1071)">false > + weight=3D"400" font-size=3D"64" transform=3D"matrix(1 0 0 1 328.764 > 396)">Start > + stroke-width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"1= 0" > fill=3D"none" fill-rule=3D"evenodd" transform=3D"matrix(1.83697e-16 1 1 -= 1.83697e-16 > 2113.5 1180.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=3D"#008563"/> > + width=3D"4.58333" stroke-linejoin=3D"round" stroke-miterlimit=3D"10" fill= =3D"none" fill- > rule=3D"evenodd"/> > + 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=3D"#0071C5" fill-rule=3D"evenodd" f= ill- > opacity=3D"0.501961"/> > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 2601 1512)">H= TTP > > + weight=3D"700" font-size=3D"64" transform=3D"matrix(1 0 0 1 2753.4 > 1512)">HEAD/GET > + 1515.5 2337 1515.5Z" fill=3D"#0071C5" fill-rule=3D"evenodd" fill- > opacity=3D"0.501961"/> > + opacity=3D"0.501961"/> > + weight=3D"700" font-size=3D"50" transform=3D"matrix(1 0 0 1 3362.57 > 1783)">GetData > + weight=3D"700" font-size=3D"50" transform=3D"matrix(1 0 0 1 3536.17 1783)= ">() > + font-style=3D"italic" font-weight=3D"700" font-size=3D"46" transform=3D"m= atrix(1 0 0 1 > 3195.85 1686)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL > + opacity=3D"0.501961"/> > + weight=3D"700" font-size=3D"50" transform=3D"matrix(1 0 0 1 3322.5 > 1908)">GeOemData > + weight=3D"700" font-size=3D"50" transform=3D"matrix(1 0 0 1 3579.17 1908)= ">() > + > + > 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 alread= y > support the provisioning of firmware-owned platform Redfish resource, ho= wever, > -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. > > ## EDK2 Redfish Client Implementation Diagrams > -![UEFI Redfish Client Implementation](https://github.com/changab/edk2- > staging/blob/edk2-redfish- > client/RedfishClientPkg/Documents/Media/RedfishClientDriverStack.svg?raw= =3Dtru > e) > +![UEFI Redfish Client Implementation](https://github.com/tianocore/edk2- > redfish- > client/blob/main/RedfishClientPkg/Documents/Media/RedfishClientDriverStac= k.s > vg?raw=3Dtrue) > > ## EFI EDK2 Redfish Client Framework > The functionality of each block in the diagrams are described in below s= ections, > @@ -89,7 +89,7 @@ Redfish service to platform configurations, or vice ver= sa to > update platform > configurations to Redfish service. Both EDK2 Redfish Non-Collection and > Collection Feature drivers are script auto-generated base on Redfish sch= ema > naming. The EDK2 Redfish Non-Collection feature driver manages the resou= rce of > -specific Resdifsh resource type, while the EDK2 Redfish Collection featu= re > +specific Redfish resource type, while the EDK2 Redfish Collection featur= e > driver manages the members which have the same resource type in collecti= on > 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 configurat= ion with > the format and configuration storage agnostic to the Redfish feature dri= ver. > The platform can provide its own EDKII Redfish Platform Config driver in= stance > -to access platform-specific configuration format and storage. On EDK2 op= en > -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 dr= iver > +leverages the HII interface to get or set the HII configuration on platf= orm. By > +following the x-uefi-redfish Configure Language defined in UNI file, pro= tocol > +driver can find corresponding HII question for given Redfish attribute. = In this > +way, protocol driver creates the mapping between HII questions and Redfi= sh > +attributes. > + > +![platform config](https://github.com/nicklela/edk2-redfish-client/blob/= update- > readme/RedfishClientPkg/Documents/Media/redfish-platform-config-protocol- > stack.svg?raw=3Dtrue) > > 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 t= o the > property > -in Redfish resource > +in Redfish schema. > - The root of path is the Redfish resource type indicated in x-uefi-redf= ish > 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, n= ot > related to Redfish service root. > > #### Examples, > ```C > @@ -215,7 +226,135 @@ EDK2 Build is responsible to pull the necessary EDK= 2 > Redfish JSON Schema to C > Structure Convertors and EDK2 Redfish Feature drivers into edk2 build pr= ocess > according to the x-uefi-Redfish config language used in the HII VFR form= s. > > +## 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=3Dtrue) > + > +Above diagram shows the way how Redfish application (Redfish feature dri= ver) > works with Redfish foundation > +drivers and communicate with Redfish service. Redfish feature driver rel= ies on > Redfish Config driver to > +provide the information of desired Rest Ex instance. To achieve this, Re= dfish > 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-featur= e- > driver-call-flow.svg?raw=3Dtrue) > + > +Above diagram shows the details of how Redfish feature core driver invok= es > Redfish feature drivers. To be called > +by Redfish feature core driver, Redfish feature driver has to register t= he managed > URI to Redfish feature core > +driver. Then Redfish feature core driver learns the dependency of each d= ifferent > feature drivers. > + > +#### Dispatch Redfish feature drivers > +When given event is signaled, Redfish feature core driver starts the ope= ration of > invoking Redfish feature drivers > +by following the order from left to right in Redfish URI list. In the di= agram, the > feature driver which manages > +service root will be invoked first. And feature driver which manages com= puter > system collection will be invoked > +at second position. Once Redfish feature core driver walks through entir= e Redfish > URI, the operation is stopped. > + > +### Interface between collection feature driver and non-collection featu= re 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 opt= ion > collection feature driver work with > +boot option feature driver to manage boot options in Redfish service. Co= mputer > system collection feature driver > +work with computer system feature driver to manage computer system > resource. > + > +The interface between collection feature driver and non-collection featu= re 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 refr= esh boot > order variable and get latest boot order > + information before provisioning the boot options to boot options res= ource. > +- After-Provisioning event > + - Feature driver which wants to do operation after Redfish feature dri= ver finish > the synchronization job can listen to > + this event. > + > +### Reboot required > +When Redfish feature drivers apply user request to platform, a system re= boot is > usually required. PCD > `gEfiRedfishClientPkgTokenSpaceGuid.PcdRedfishSystemRebootRequired` is > introduced for this purpose. After Redfish feature > +core driver is done with synchronization job, Redfish feature core drive= r 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 b= etween > 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 Redf= ish > service at Bios resource. With the x-uefi-redfish > +configure language described in above section, Redfish feature driver co= llect all > BIOS attributes from HII database and populated > +them to Redfish service. > +![provisioning](https://github.com/nicklela/edk2-redfish-client/blob/upd= ate- > readme/RedfishClientPkg/Documents/Media/redfish-call-flow- > provisioning.svg?raw=3Dtrue) > + > +#### 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=3Dtrue) > + > +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=3Dtrue) > + > +Several interfaces defined in EDKII Redfish Resource Config Protocol wor= k > 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 servi= ce. 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 attr= ibutes 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 u= pdate > 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 rev= ision > + 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 implementati= on 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 a= bility > to tell the difference between platform request > + and out-of-band user. This can normally be done by identifying the boo= tstrap > 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 no= t. 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 sect= ion 9.10). > + - Redfish Task support to POST and DELETE operation made by user in Re= dfish > collection resource and Redfish actions. > + > +### Redfish Task design > +TBD. > + > ## The Contributors > -Chang, Abner \ > -Wang, Nickle \ > +Chang, Abner \ > +Wang, Nickle \ > Chen, Aaron > -- > 2.17.1 > > > >=20 > -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#108543): https://edk2.groups.io/g/devel/message/108543 Mute This Topic: https://groups.io/mt/101316997/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- --_000_MW4PR12MB703141D1C6D98B90EF7B889DD9F1AMW4PR12MB7031namp_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Hi @Abner Chang, @Igor Kulchytskyy,

 

I opened a pull request here for the ease of revi= ew: https://github.com/tianocore/edk2-redfish-client/pull/50

 

Thanks,

Nickle

 

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

> From: devel@edk2.groups.io <devel@edk2.gr= oups.io> On Behalf Of Nickle Wang

> via groups.io

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

> To: devel@edk2.groups.io

> Cc: Abner Chang <abner.chang@amd.com>;= Igor Kulchytskyy <igork@ami.com>

> Subject: [edk2-devel] [edk2-redfish-client][= PATCH] RedfishClientPkg: update

> Readme.md

>

> External email: Use caution opening links or= attachments

>

>

> Update readme for below topics:

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

> - The call flow of BIOS Redfish pending sett= ings scenario.

> - The call flow of Redfish feature driver di= spatch.

> - Redfish foundation driver stack design.

> - The design of Redfish Platform Config Prot= ocol.

> - 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@a= mi.com>

> ---

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

>  .../Media/redfish-call-flow-provisioni= ng.svg  |  46 +++++

>  .../redfish-feature-driver-call-flow.s= vg      | 133 ++++++++++++++

>  .../Media/redfish-foundation-driver-st= ack.svg |  75 ++++++++

>  ...redfish-platform-config-protocol-st= ack.svg |  99 ++++++++++

>  .../Media/redfish-synchronization-desi= gn.svg  |  75 ++++++++

>  RedfishClientPkg/Readme.md  =             &nb= sp;     | 169 ++++++++++++++++--

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

>  create mode 100755 RedfishClientPkg/Do= cuments/Media/redfish-call-flow-

> pending-settings.svg

>  create mode 100755 RedfishClientPkg/Do= cuments/Media/redfish-call-flow-

> provisioning.svg

>  create mode 100755 RedfishClientPkg/Do= cuments/Media/redfish-feature-

> driver-call-flow.svg

>  create mode 100755 RedfishClientPkg/Do= cuments/Media/redfish-foundation-

> driver-stack.svg

>  create mode 100755 RedfishClientPkg/Do= cuments/Media/redfish-platform-

> config-protocol-stack.svg

>  create mode 100755 RedfishClientPkg/Do= cuments/Media/redfish-

> synchronization-design.svg

>

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

> settings.svg b/RedfishClientPkg/Documents/Me= dia/redfish-call-flow-pending-

> settings.svg

> new file mode 100755

> index 00000000..155a5ab3

> --- /dev/null

> +++ b/RedfishClientPkg/Documents/Media/redfi= sh-call-flow-pending-settings.svg

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

> +<svg width=3D"4414" height=3D&= quot;1709" style=3D"background-color:white"

> xmlns=3D"http://www.w= 3.org/2000/svg"

> xmlns:xlink=3D"http= ://www.w3.org/1999/xlink" xml:space=3D"preserve"<= /p>

> overflow=3D"hidden">

> +  <defs>

> +    <clipPath id=3D"= clip0">

> +      <rect x= =3D"12" y=3D"509" width=3D"4414" height=3D&qu= ot;1709"/>

> +    </clipPath>

> +  </defs>

> +  <g clip-path=3D"url(#clip0)&= quot; transform=3D"translate(-12 -509)">

> +    <rect x=3D"2057.= 5" y=3D"676.5" width=3D"557" height=3D"128&qu= ot; stroke=3D"#BCBCBC"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#FFFFFF"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 2143.23 758)">Feature

> Driver</text>

> +    <rect x=3D"600.5= " y=3D"676.5" width=3D"557" height=3D"128&quo= t; stroke=3D"#BCBCBC"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#FFFFFF"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 763.66 758)">EDK2

> HII</text>

> +    <rect x=3D"3408.= 5" y=3D"676.5" width=3D"587" height=3D"128&qu= ot; stroke=3D"#BCBCBC"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#FFFFFF"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 3499.14 758)">Redfish

> Service</text>

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

> 804.5ZM2354.51 2076.99 2335.5 2109.58 2316.4= 9 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=3D"#8C8C8C"/&g= t;

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

> 804.5ZM887.511 2102.08 868.501 2134.67 849.4= 9 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.5= 73 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=3D"#8C8C8C"/&g= t;

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

> 804.5ZM3726.51 2102.08 3707.5 2134.67 3688.4= 9 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=3D"#8C8C8C"/&g= t;

> +    <path d=3D"M7.04= 493e-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=3D"#8C8C8C" tr= ansform=3D"matrix(-1 0 0 1 2335.45 1342)"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 990.014

> 1568)">3</text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 1016.37 1568)">. If

> </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 1098.29 1568)">HII

> question exists and pending value is changed= </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 1051.89 1628)">Use

> HII protocol/library to submit new value<= /text>

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

> fill=3D"#FFFF00" fill-rule=3D"= ;evenodd"/>

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

> fill=3D"#FFFF00" fill-rule=3D"= ;evenodd"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 990.014 1239)">2.

> Check and see if there is HII question with = lang:</text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 1051.89

> 1299)">/</text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 1078.24

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

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 1444.91

> 1299)">ATTRIBUTE_</text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 1719.91

> 1299)">NAME</text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2378.69 1805)">4.

> Update current settings to </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2440.56

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

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 3138.38

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

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

> 1084.86ZM3673.43 1068.25 3700.93 1082 3673.4= 3 1095.75Z" fill=3D"#8C8C8C"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2393.47 968)">1.

> Use </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2549.88 968)">HTTP

> =E2EURoeGUT=E2EUR to download pending = settings from</text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2455.35

> 1028)">/redfish</text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2638.11

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

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

> 1906.86ZM3673.43 1890.25 3700.93 1904 3673.4= 3 1917.75Z" fill=3D"#8C8C8C"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2151.86 2175)">6.

> </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2212.01

> 2175)">System reboot</text>

> +    <rect x=3D"298.5= " y=3D"959.5" width=3D"377" height=3D"199&quo= t; stroke=3D"#CDCDCD"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#404040"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

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

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 413.749 110= 5)">driver</text>

> +    <rect x=3D"353.5= " y=3D"1014.5" width=3D"377" height=3D"199&qu= ot; stroke=3D"#CDCDCD"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#404040"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

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

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 468.749 116= 0)">driver</text>

> +    <rect x=3D"408.5= " y=3D"1069.5" width=3D"377" height=3D"199&qu= ot; stroke=3D"#CDCDCD"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#404040"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

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

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 523.749 121= 5)">driver</text>

> +    <rect x=3D"463.5= " y=3D"1124.5" width=3D"377" height=3D"199&qu= ot; stroke=3D"#CDCDCD"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#404040"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

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

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 578.749 127= 0)">driver</text>

> +    <path d=3D"M7.04= 493e-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=3D"#8C8C8C" tr= ansform=3D"matrix(-1 0 0 1 2341.45 1666)"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"8= 3" transform=3D"matrix(1 0 0 1 62.1854 611)">Consume

> pending </text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"8= 3" transform=3D"matrix(1 0 0 1 687.237

> 611)">settings:</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 62.1854 680)">BMC

> to BIOS</text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 3715.21 1979)">5.

> BMC reset pending settings</text>

> +  </g>

> +</svg>

> diff --git a/RedfishClientPkg/Documents/Medi= a/redfish-call-flow-provisioning.svg

> b/RedfishClientPkg/Documents/Media/redfish-c= all-flow-provisioning.svg

> new file mode 100755

> index 00000000..70556152

> --- /dev/null

> +++ b/RedfishClientPkg/Documents/Media/redfi= sh-call-flow-provisioning.svg

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

> +<svg width=3D"3803" height=3D&= quot;1724" style=3D"background-color:white"

> xmlns=3D"http://www.w= 3.org/2000/svg"

> xmlns:xlink=3D"http= ://www.w3.org/1999/xlink" xml:space=3D"preserve"<= /p>

> overflow=3D"hidden">

> +  <defs>

> +    <clipPath id=3D"= clip0">

> +      <rect x= =3D"239" y=3D"507" width=3D"3803" height=3D&q= uot;1724"/>

> +    </clipPath>

> +  </defs>

> +  <g clip-path=3D"url(#clip0)&= quot; transform=3D"translate(-239 -507)">

> +    <rect x=3D"2101.= 5" y=3D"726.5" width=3D"557" height=3D"127&qu= ot; stroke=3D"#BCBCBC"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#FFFFFF"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 2187.7 807)">Feature

> Driver</text>

> +    <rect x=3D"644.5= " y=3D"726.5" width=3D"557" height=3D"127&quo= t; stroke=3D"#BCBCBC"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#FFFFFF"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 808.129 807)">EDK2

> HII</text>

> +    <rect x=3D"3452.= 5" y=3D"726.5" width=3D"587" height=3D"127&qu= ot; stroke=3D"#BCBCBC"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#FFFFFF"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 3543.6 807)">Redfish

> Service</text>

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

> 853.5ZM2399.51 2162.79 2380.5 2195.38 2361.4= 9 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=3D"#8C8C8C"/&g= t;

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

> 853.5ZM931.511 2162.79 912.501 2195.38 893.4= 9 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.5= 73 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=3D"#8C8C8C"/&g= t;

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

> 853.5ZM3770.51 2162.79 3751.5 2195.38 3732.4= 9 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=3D"#8C8C8C"/&g= t;

> +    <path d=3D"M7.04= 493e-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=3D"#8C8C8C" tr= ansform=3D"matrix(-1 0 0 1 2379.45 1003)"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 957.259 969)">1.

> Find all HII questions with </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 1620.12

> 969)">language: </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 1854.45

> 969)">=E2EURoe/bios/attributes/*<= /text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2292.73

> 969)">=E2EUR </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 985.955 1526)">3.

> Get current value of each HII question and&l= t;/text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 1047.83

> 1586)">append value to attribute lis= t</text>

> +    <path d=3D"M7.04= 493e-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=3D"#8C8C8C" tr= ansform=3D"matrix(-1 0 0 1 2379.45 1391)"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2417.95 1202)">2.

> Follow Bios schema and </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2479.82

> 1262)">create attribute list</tex= t>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2412.63 1795)">4.

> BIOS current settings is ready</text><= /p>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 2474.5 1855)">Issue

> HTTP =E2EURoePUT=E2EUR to /redfish/v1/= systems/SYS/Bios</text>

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

> 1911.86ZM3723.43 1895.25 3750.93 1909 3723.4= 3 1922.75Z" fill=3D"#8C8C8C"/>

> +    <rect x=3D"342.5= " y=3D"1008.5" width=3D"377" height=3D"199&qu= ot; stroke=3D"#CDCDCD"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#404040"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 391.759 109= 5)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 458.217 115= 4)">driver</text>

> +    <rect x=3D"397.5= " y=3D"1063.5" width=3D"377" height=3D"199&qu= ot; stroke=3D"#CDCDCD"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#404040"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 446.759 115= 0)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 513.217 120= 9)">driver</text>

> +    <rect x=3D"452.5= " y=3D"1118.5" width=3D"377" height=3D"199&qu= ot; stroke=3D"#CDCDCD"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#404040"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 501.759 120= 5)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 568.217 126= 4)">driver</text>

> +    <rect x=3D"507.5= " y=3D"1173.5" width=3D"377" height=3D"199&qu= ot; stroke=3D"#CDCDCD"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#404040"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 556.759 126= 0)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 623.217 131= 9)">driver</text>

> +    <path d=3D"M22.9= 158-2.86458 1467.45-2.86422 1467.45 2.86494 22.9158

> 2.86459ZM27.5 13.75 0 0 27.5-13.75Z" fi= ll=3D"#8C8C8C" transform=3D"matrix(-1 0 0

> 1 2379.45 1453)"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"8= 3" transform=3D"matrix(1 0 0 1 289.433

> 610)">Provisioning:</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 289.433 679)">BIOS

> to BMC</text>

> +  </g>

> +</svg>

> diff --git a/RedfishClientPkg/Documents/Medi= a/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/redfi= sh-feature-driver-call-flow.svg

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

> +<svg width=3D"4287" height=3D&= quot;2303" style=3D"background-color:white"

> xmlns=3D"http://www.w= 3.org/2000/svg"

> xmlns:xlink=3D"http= ://www.w3.org/1999/xlink" xml:space=3D"preserve"<= /p>

> overflow=3D"hidden">

> +  <defs>

> +    <clipPath id=3D"= clip0">

> +      <rect x= =3D"29" y=3D"171" width=3D"4287" height=3D&qu= ot;2303"/>

> +    </clipPath>

> +  </defs>

> +  <g clip-path=3D"url(#clip0)&= quot; transform=3D"translate(-29 -171)">

> +    <rect x=3D"33&qu= ot; y=3D"171" width=3D"1544" height=3D"436" f= ill=3D"#F2F2F2"/>

> +    <path d=3D"M3300= 305.835C3300 231.368 3360.37 171 3434.84 171L3974.16

> 171C4048.63 171 4109 231.368 4109 305.835L41= 09 1758.16C4109 1832.63

> 4048.63 1893 3974.16 1893L3434.84 1893C3360.= 37 1893 3300 1832.63 3300

> 1758.16Z" fill=3D"#E8E8E8" fi= ll-rule=3D"evenodd"/>

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

> 812C1160.78 812 1176 827.222 1176 846L1176 9= 82C1176 1000.78 1160.78 1016

> 1142 1016L650.001 1016C631.223 1016 616 1000= .78 616 982Z" fill=3D"#76B900"

> fill-rule=3D"evenodd"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

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

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

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

> +    <rect x=3D"30.50= 01" y=3D"635.5" width=3D"797" height=3D"144&q= uot; stroke=3D"#000000"

> stroke-width=3D"3.4375" stroke-lin= ejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"none"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

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

> driven</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;37" transform=3D"matrix(1 0 0 1 63.3886

> 751)">PcdEdkIIRedfishFeatureDriverSt= artupEventGuid</text>

> +    <path d=3D"M0.11= 336-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.3= 572 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.1= 87 136.363 120.383 119.826

> 114.337 103.826 107.243 88.4491 99.2365 73.9= 564 90.3062 60.4524 80.5773

> 47.9997 70.222 36.7089 64.8252 31.6142 59.31= 24 26.8928 53.6833 22.5436

> 47.9448 18.5699 42.1669 15.0355 36.2421 11.9= 158 30.3096 9.1833 24.3271

> 6.93873 18.2863 5.17843 12.2593 3.90365 6.19= 914 3.11234-0.11336

> 2.86234ZM146.247 159.259 134.621 187.722 118= .826 161.343Z" fill=3D"#8C8C8C"

> transform=3D"matrix(1.83697e-16 1 1 -1.= 83697e-16 429 779)"/>

> +    <rect x=3D"33.49= 98" y=3D"1065.5" width=3D"727" height=3D"177&= quot; stroke=3D"#BCBCBC"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#FFFFFF"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 5" transform=3D"matrix(1 0 0 1 65.7033

> 1129)">Ready</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 5" transform=3D"matrix(1 0 0 1 206.641 1129)">-</text&= gt;

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 5" transform=3D"matrix(1 0 0 1 223.255

> 1129)">to</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 5" transform=3D"matrix(1 0 0 1 271.953 1129)">-</text&= gt;

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 5" transform=3D"matrix(1 0 0 1 288.568 1129)">Provision

> Signal</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;37" transform=3D"matrix(1 0 0 1 65.7033

> 1173)">gEfiRedfishClientFeatureReady= ToProvisionin</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;37" transform=3D"matrix(1 0 0 1 65.7033

> 1213)">gGuid</text>

> +    <rect x=3D"33.49= 98" y=3D"2310.5" width=3D"727" height=3D"144&= quot; stroke=3D"#BCBCBC"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#FFFFFF"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 5" transform=3D"matrix(1 0 0 1 65.7037

> 2358)">After</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 5" transform=3D"matrix(1 0 0 1 182.006 2358)">-</text&= gt;

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 5" transform=3D"matrix(1 0 0 1 198.62 2358)">Provision

> Signal</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;37" transform=3D"matrix(1 0 0 1 65.7037

> 2402)">gEfiRedfishClientFeatureAfter= ProvisioningG</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;37" transform=3D"matrix(1 0 0 1 65.7037

> 2442)">uid</text>

> +    <path d=3D"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=3D"#8C8C8C"/>

> +    <path d=3D"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=3D"#8C8C8C"/>

> +    <path d=3D"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.3= 3 1315.5L1216.67

> 1315.5C1203.32 1315.5 1192.5 1304.68 1192.5 = 1291.33Z" stroke=3D"#008564"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10" fill-

> rule=3D"evenodd"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1313.38

> 1258)">Service Root</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 8" transform=3D"matrix(1 0 0 1 1192.27

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

> +    <path d=3D"M0-2.= 86458 226.791-2.86458C228.373-2.86458 229.656-1.58207

> 229.656 0L229.656 273.147 223.927 273.147 22= 3.927 0 226.791 2.86458 0

> 2.86458ZM240.541 268.564 226.791 296.064 213= .041 268.564Z" fill=3D"#8C8C8C"

> transform=3D"matrix(1.83697e-16 1 1 -1.= 83697e-16 896 1016)"/>

> +    <path d=3D"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.3= 3 1549.5L1653.67

> 1549.5C1640.32 1549.5 1629.5 1538.68 1629.5 = 1525.33Z" stroke=3D"#008564"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10" fill-

> rule=3D"evenodd"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1681.69

> 1462)">ComputerSystemC</text><= /p>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1792.26

> 1521)">ollection</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 8" transform=3D"matrix(1 0 0 1 1626.06

> 1376)">/redfish/v1/Systems</text&= gt;

> +    <path d=3D"M0-2.= 86458 460.879-2.86458C462.461-2.86458 463.743-1.58207

> 463.743 0L463.743 709.637 458.014 709.637 45= 8.014 0 460.879 2.86458 0

> 2.86458ZM474.629 705.053 460.879 732.553 447= .129 705.053Z" fill=3D"#8C8C8C"

> transform=3D"matrix(1.83697e-16 1 1 -1.= 83697e-16 896 1016)"/>

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

> 1403.5L3009.5 1403.5C3022.75 1403.5 3033.5 1= 414.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" s= troke=3D"#008564" stroke-

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

> rule=3D"evenodd"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 2579.22

> 1490)">ComputerSystem</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 8" transform=3D"matrix(1 0 0 1 2510.53

> 1371)">/redfish/v1/Systems/SYS</t= ext>

> +    <path d=3D"M0.01= 07384-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=3D"#8C8C8C"

> transform=3D"matrix(1 0 0 -1 2150 1476.= 36)"/>

> +    <path d=3D"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.3= 3 1869.5L1913.67

> 1869.5C1900.32 1869.5 1889.5 1858.68 1889.5 = 1845.33Z" stroke=3D"#008564"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10" fill-

> rule=3D"evenodd"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 2103.34

> 1812)">Bios</text>

> +    <path d=3D"M0-2.= 86458 780.807-2.86458C782.389-2.86458 783.672-1.58207

> 783.672 0L783.672 970.304 777.943 970.304 77= 7.943 0 780.807 2.86458 0

> 2.86458ZM794.557 965.718 780.807 993.218 767= .057 965.718Z" fill=3D"#8C8C8C"

> transform=3D"matrix(1.83697e-16 1 1 -1.= 83697e-16 896 1016)"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 8" transform=3D"matrix(1 0 0 1 1894.92

> 1693)">/redfish/v1/Systems/SYS/Bios&= lt;/text>

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

> 2016.5L2551.5 2016.5C2564.75 2016.5 2575.5 2= 027.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" s= troke=3D"#008564" stroke-

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

> rule=3D"evenodd"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 2106.47

> 2103)">MemoryCollection</text>=

> +    <path d=3D"M0-2.= 86458 1072.19-2.86458C1073.77-2.86458 1075.05-1.58207

> 1075.05 0L1075.05 1134.13 1069.33 1134.13 10= 69.33 0 1072.19 2.86458 0

> 2.86458ZM1085.94 1129.55 1072.19 1157.05 105= 8.44 1129.55Z" fill=3D"#8C8C8C"

> transform=3D"matrix(1.83697e-16 1 1 -1.= 83697e-16 896 1016)"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 8" transform=3D"matrix(1 0 0 1 2062.37

> 1981)">/redfish/v1/Systems/SYS/Memor= y</text>

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

> 2016.5L3418.5 2016.5C3431.75 2016.5 3442.5 2= 027.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" s= troke=3D"#008564" stroke-

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

> rule=3D"evenodd"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3085.32

> 2103)">Memory</text>

> +    <path d=3D"M2.98= 962e-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=3D"#8C8C8C" tr= ansform=3D"matrix(1 0 0 -1 2575 2088)"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;183" transform=3D"matrix(1 0 0 1 2263.52

> 2245)">=E2EUR=A6</text>

> +    <path d=3D"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 94= 2.5L3395.5 942.5C3382.25 942.5

> 3371.5 931.755 3371.5 918.5Z" stroke=3D= "#008564" stroke-width=3D"9.16667"

> stroke-linejoin=3D"round" stroke-m= iterlimit=3D"10" fill-rule=3D"evenodd"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3657.66

> 885)">Bios</text>

> +    <rect x=3D"3371&= quot; y=3D"601" width=3D"670" height=3D"144" = fill=3D"#008564"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3486.36

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

> +    <rect x=3D"3371&= quot; y=3D"218" width=3D"670" height=3D"145" = fill=3D"#5E5E5E"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3474.33 306)">BMC

> Redfish service</text>

> +    <path d=3D"M2.86= 458-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=3D"#8C8C8C" transform=3D"= ;matrix(1 0 0 -1 3706 797.872)"/>

> +    <path d=3D"M2.86= 456-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=3D"#8C8C8C" transform=3D"= ;matrix(1 0 0 -1 3706 600.517)"/>

> +    <rect x=3D"3371&= quot; y=3D"981" width=3D"670" height=3D"145" = fill=3D"#0071C5"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3434.8

> 1069)">Redfish Platform Config</t= ext>

> +    <rect x=3D"3374&= quot; y=3D"1304" width=3D"670" height=3D"144"= fill=3D"#8C8C8C"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3610.58

> 1391)">EDK2 HII</text>

> +    <rect x=3D"3377&= quot; y=3D"1483" width=3D"670" height=3D"145"= fill=3D"#890C58"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3552.42

> 1571)">Chipset driver</text>

> +    <rect x=3D"3377&= quot; y=3D"1666" width=3D"670" height=3D"144"= fill=3D"#5D1682"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3670.44

> 1753)">HW</text>

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

> 942ZM3719.75 953.607 3706 981.107 3692.25 95= 3.608Z" fill=3D"#8C8C8C"/>

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

> 1126.06ZM3722.81 1275.98 3709.62 1303.76 369= 5.31 1276.54Z"

> fill=3D"#8C8C8C"/>

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

> 1448.21ZM3723.29 1455.01 3711.57 1483.43 369= 5.87 1457Z" fill=3D"#8C8C8C"/>

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

> 1628ZM3725.75 1638.57 3712 1666.07 3698.25 1= 638.57Z" fill=3D"#8C8C8C"/>

> +    <rect x=3D"3371&= quot; y=3D"411" width=3D"670" height=3D"144" = fill=3D"#0071C5" fill-

> opacity=3D"0.501961"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3606.27

> 498)">Network</text>

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

> 411.215ZM3692.34 390.547 3706 363 3719.84 39= 0.453Z" fill=3D"#8C8C8C"/>

> +    <path d=3D"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.86= 458ZM641.667-2.86458

> 664.583-2.86458 664.583 2.86458 641.667 2.86= 458ZM681.771-2.86458

> 704.688-2.86458 704.688 2.86458 681.771 2.86= 458ZM721.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 72= 1.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.5= 631ZM747.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 74= 1.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.751ZM7= 58.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=3D"#008564"

> transform=3D"matrix(1 0 0 -1 2411 1796.= 31)"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 3733.97 1194)">x</text&= gt;

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 3755.74 1194)">-</text&= gt;

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 3771.21

> 1194)">uefi</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 3849.7 1194)">-</text&g= t;

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 3865.17

> 1194)">redfish</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 4007.25 1194)">-</text&= gt;

> +    <text fill=3D"#0= 071C5" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 4022.72

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

> +    <text fill=3D"#0= 071C5" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;50" transform=3D"matrix(1 0 0 1 3733.97

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

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"700" font-size=3D&q= uot;41" transform=3D"matrix(1 0 0 1 380.14

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

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"700" font-size=3D&q= uot;41" transform=3D"matrix(1 0 0 1 2829.58

> 2249)">Redfish Resource Config Proto= col</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"700" font-size=3D&q= uot;41" transform=3D"matrix(1 0 0 1 2426.51

> 1602)">Redfish Resource Config Proto= col</text>

> +    <rect x=3D"61.5&= quot; y=3D"347.5" width=3D"1093" height=3D"111&quo= t; stroke=3D"#000000"

> stroke-width=3D"3.4375" stroke-lin= ejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"none"/>

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

> 440.408Z" fill=3D"#C0C0C0" fi= ll-rule=3D"evenodd"/>

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

> 440.408Z" fill=3D"#FFFF00" fi= ll-rule=3D"evenodd"/>

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

> 440.408Z" fill=3D"#00FF00" fi= ll-rule=3D"evenodd"/>

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

> 440.408Z" fill=3D"#FF00FF" fi= ll-rule=3D"evenodd"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 165.4

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

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 406.025 423)">v1</text&= gt;

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 469.046 423)">/</text&g= t;

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 496.546

> 423)">Systems</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 715.4 423)">/</text>=

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 742.9 423)">SYS</text&g= t;

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 836.858 423)">/</text&g= t;

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 864.358

> 423)">Bios</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 976.65

> 423)">/=E2EUR=A6</text>

> +    <path d=3D"M62.9= 999 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 33= 7.469Z" fill=3D"#890857"/>

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

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

> width=3D"9.16667" stroke-linejoin= =3D"round" stroke-miterlimit=3D"10" fill=3D"none&q= uot; fill-

> rule=3D"evenodd"/>

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

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

> miterlimit=3D"10" fill=3D"non= e" fill-rule=3D"evenodd"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 1" transform=3D"matrix(1 0 0 1 497.682 539)">Service

> Root</text>

> +    <rect x=3D"629.5= " y=3D"188.5" width=3D"413" height=3D"102&quo= t; fill=3D"#CDCDCD"/>

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

> width=3D"9.16667" stroke-linejoin= =3D"round" stroke-miterlimit=3D"10" fill=3D"none&q= uot; fill-

> rule=3D"evenodd"/>

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

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

> miterlimit=3D"10" fill=3D"non= e" fill-rule=3D"evenodd"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 1" transform=3D"matrix(1 0 0 1 682.83 228)">Computer

> System </text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 1" transform=3D"matrix(1 0 0 1 749.861

> 272)">Collection</text>

> +    <rect x=3D"903.5= " y=3D"470.5" width=3D"279" height=3D"101&quo= t; fill=3D"#CDCDCD"/>

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

> width=3D"9.16667" stroke-linejoin= =3D"round" stroke-miterlimit=3D"10" fill=3D"none&q= uot; fill-

> rule=3D"evenodd"/>

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

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

> miterlimit=3D"10" fill=3D"non= e" fill-rule=3D"evenodd"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 1" transform=3D"matrix(1 0 0 1 956.072 510)">Computer

> </text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 1" transform=3D"matrix(1 0 0 1 980.134

> 554)">System</text>

> +    <rect x=3D"1221.= 5" y=3D"191.5" width=3D"279" height=3D"102&qu= ot; fill=3D"#CDCDCD"/>

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

> width=3D"9.16667" stroke-linejoin= =3D"round" stroke-miterlimit=3D"10" fill=3D"none&q= uot; fill-

> rule=3D"evenodd"/>

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

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

> miterlimit=3D"10" fill=3D"non= e" fill-rule=3D"evenodd"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 1" transform=3D"matrix(1 0 0 1 1324.41

> 254)">Bios</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"5= 5" transform=3D"matrix(1 0 0 1 65.5579

> 241)">Register</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 8" transform=3D"matrix(1 0 0 1 2943.32

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

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 8" transform=3D"matrix(1 0 0 1 3469.25

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

> +    <path d=3D"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.88ZM234= 8.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 233= 0.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=3D&quo= t;#8C8C8C"/>

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

> 2231.02 2783.32 2232.22 2794.07 2232.97ZM277= 0.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 220= 6.63 2716.42 2201.54 2720.5

> 2197.52 2725.18 2202.29 2732.96 2208.99ZM271= 2.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 2= 140.21 2687.37 2142.53 2691.46

> 2153.68 2692.44 2155.77ZM2680.08 2135.83 267= 9.1 2131.34 2684.7 2130.12

> 2685.68 2134.61ZM2668.84 2137.02 2679 2108 2= 696.12 2133.54Z"

> fill=3D"#8C8C8C"/>

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

> 1598.45 587.67 1598.3L588.858 1593.86C588.90= 2 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 157= 9.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 71= 7.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.7= 8 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.5= 76 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=3D&= quot;#8C8C8C"/>

> +  </g>

> +</svg>

> diff --git a/RedfishClientPkg/Documents/Medi= a/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/redfi= sh-foundation-driver-stack.svg

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

> +<svg width=3D"2492" height=3D&= quot;1877" style=3D"background-color:white"

> xmlns=3D"http://www.w= 3.org/2000/svg"

> xmlns:xlink=3D"http= ://www.w3.org/1999/xlink" xml:space=3D"preserve"<= /p>

> overflow=3D"hidden">

> +  <defs>

> +    <clipPath id=3D"= clip0">

> +      <rect x= =3D"278" y=3D"517" width=3D"2492" height=3D&q= uot;1877"/>

> +    </clipPath>

> +    <linearGradient x1=3D= "2572" y1=3D"1054" x2=3D"2572" y2=3D"129= 4"

> gradientUnits=3D"userSpaceOnUse" s= preadMethod=3D"reflect" id=3D"fill1">

> +      <stop off= set=3D"0" stop-color=3D"#D2D2D2"/>

> +      <stop off= set=3D"0.5" stop-color=3D"#C8C8C8"/>

> +      <stop off= set=3D"1" stop-color=3D"#C0C0C0"/>

> +    </linearGradient><= /p>

> +  </defs>

> +  <g clip-path=3D"url(#clip0)&= quot; transform=3D"translate(-278 -517)">

> +    <rect x=3D"278&q= uot; y=3D"958" width=3D"2163" height=3D"876" = fill=3D"#DAE3F3" fill-

> opacity=3D"0.501961"/>

> +    <path d=3D"M1.19= 218-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.5= 322 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.25= 7

> + 143.901 359.912 136.748ZM388.09 139.837 40= 7.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.0= 16 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=3D"#70AD4= 7" transform=3D"matrix(1 0 0 -1 594.5

> 1048.68)"/>

> +    <rect x=3D"392.5= " y=3D"1881.5" width=3D"622" height=3D"142&qu= ot; stroke=3D"#41719C"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#5B9BD5"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 652.979

> 1972)">NIC</text>

> +    <rect x=3D"392.5= " y=3D"1515.5" width=3D"622" height=3D"251&qu= ot; stroke=3D"#ED7D31"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#FBE5D6"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 450.739

> 1657)">UEFI Network Stack</text&g= t;

> +    <rect x=3D"1703.= 5" y=3D"1515.5" width=3D"622" height=3D"251&q= uot; stroke=3D"#C55A11"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#FFC000"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 1773.26

> 1660)">In</text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 1828.84 1660)">-

> </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 1852.33

> 1660)">band channel</text>

> +    <rect x=3D"807.5= " y=3D"1049.5" width=3D"207" height=3D"287&qu= ot; stroke=3D"#2F5597"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#ADB9CA"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-style=3D"italic" font-weight= =3D"700" font-size=3D"46" transform=3D"matrix(1 0 = 0 1

> 855.72 1182)">REST </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-style=3D"italic" font-weight= =3D"700" font-size=3D"46" transform=3D"matrix(1 0 = 0 1

> 882.074 1231)">EX</text>

> +    <rect x=3D"393.5= " y=3D"1194.5" width=3D"400" height=3D"138&qu= ot; stroke=3D"#787878"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#A5A5A5"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;41" transform=3D"matrix(1 0 0 1 433.577

> 1254)">Redfish Discover </text>= ;

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;41" transform=3D"matrix(1 0 0 1 512.067

> 1299)">Protocol</text>

> +    <path d=3D"M396.= 5 2234C396.5 2216.6 410.603 2202.5 428 2202.5L2294

> 2202.5C2311.4 2202.5 2325.5 2216.6 2325.5 22= 34L2325.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=3D"#70AD47" str= oke-width=3D"4.58333" stroke-miterlimit=3D"8"

> fill=3D"#FFFFFF" fill-rule=3D"= ;evenodd"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 1158.18 2313)">Redfish

> Service</text>

> +    <rect x=3D"396.5= " y=3D"519.5" width=3D"1929" height=3D"120&qu= ot; stroke=3D"#000000"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#767171"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 1100.89

> 596)">Redfish Application</text&g= t;

> +    <rect x=3D"394.5= " y=3D"1048.5" width=3D"400" height=3D"138&qu= ot; stroke=3D"#385723"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#70AD47"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 6" transform=3D"matrix(1 0 0 1 457.66 1105)">Redfish

> Config </text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"4= 6" transform=3D"matrix(1 0 0 1 535.851

> 1155)">Driver</text>

> +    <path d=3D"M2375= 1054 2729 1054 2769 1094 2769 1294 2375 1294Z"

> stroke=3D"#A5A5A5" stroke-width=3D= "2.29167" stroke-miterlimit=3D"8" fill=3D"url(#fil= l1)"

> fill-rule=3D"evenodd"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 2474.57

> 1172)">SMBIOS </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 2465.7 1231)">Type

> 42</text>

> +    <rect x=3D"1710&= quot; y=3D"1879" width=3D"615" height=3D"142"= fill=3D"#4472C4" fill-

> opacity=3D"0.501961"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;73" transform=3D"matrix(1 0 0 1 1959.59

> 1972)">HW</text>

> +    <rect x=3D"396.5= " y=3D"645.5" width=3D"1929" height=3D"120&qu= ot; stroke=3D"#385723"

> stroke-width=3D"3.4375" stroke-lin= ejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#70AD47"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 994.903

> 720)">Redfish Config Handler Protoco= l</text>

> +    <path d=3D"M3.17= 204-1.3246 11.1196 17.7076 4.77555 20.3568-3.17204

> 1.3246ZM13.7688 24.0517 21.7164 43.084 15.37= 23 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.56= 59 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.75= 95 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.9= 531 197.991 71.0055

> 178.959ZM87.9464 201.686 95.894 220.718 89.5= 499 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=3D"#70AD47"

> transform=3D"matrix(1 0 0 -1 1240.5 105= 2.27)"/>

> +    <path d=3D"M1867= .15 1057.88 1849.23 1047.68 1852.63 1041.7 1870.55

> 1051.91ZM1843.25 1044.28 1825.33 1034.07 182= 8.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 175= 7.03 987.284 1774.96

> 997.488ZM1747.66 989.857 1729.73 979.653 173= 3.13 973.679 1751.06

> 983.883ZM1723.76 976.252 1705.83 966.048 170= 9.23 960.073 1727.16

> 970.277ZM1699.86 962.647 1681.93 952.443 168= 5.34 946.468 1703.26

> 956.672ZM1675.96 949.042 1658.04 938.838 166= 1.44 932.863 1679.36

> 943.067ZM1652.06 935.437 1634.14 925.233 163= 7.54 919.258 1655.46

> 929.462ZM1628.16 921.831 1610.24 911.628 161= 3.64 905.653 1631.56

> 915.857ZM1604.26 908.226 1586.34 898.022 158= 9.74 892.048 1607.67

> 902.252ZM1580.37 894.621 1562.44 884.417 156= 5.84 878.443 1583.77

> 888.646ZM1556.47 881.016 1538.54 870.812 154= 1.94 864.837 1559.87

> 875.041ZM1532.57

> + 867.411 1514.64 857.207 1518.04 851.232 15= 35.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.621ZM143= 6.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=3D"#70AD47"/>

> +    <path d=3D"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.39= 7 142.362 0 144.653 2.29167 0

> 2.29167ZM261.806 172.356 289.306 186.106 261= .806 199.856Z" fill=3D"#FF0000"

> transform=3D"matrix(1.83697e-16 1 1 -1.= 83697e-16 1360.5 765.5)"/>

> +    <path d=3D"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=3D"#FF0000"/>

> +    <path d=3D"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=3D"#FF0000"/>

> +    <path d=3D"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 13= 38.51 1916.75 1366.01Z"

> fill=3D"#A5A5A5"/>

> +    <path d=3D"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 1= 336.11 1264.75 1363.61Z"

> fill=3D"#A5A5A5"/>

> +    <path d=3D"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 133= 2.02 606.75 1359.52Z"

> fill=3D"#A5A5A5"/>

> +    <rect x=3D"1465.= 5" y=3D"1053.5" width=3D"207" height=3D"287&q= uot; stroke=3D"#2F5597"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#ADB9CA"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-style=3D"italic" font-weight= =3D"700" font-size=3D"46" transform=3D"matrix(1 0 = 0 1

> 1513.76 1186)">REST </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-style=3D"italic" font-weight= =3D"700" font-size=3D"46" transform=3D"matrix(1 0 = 0 1

> 1540.11 1235)">EX</text>

> +    <rect x=3D"1051.= 5" y=3D"1198.5" width=3D"400" height=3D"139&q= uot; stroke=3D"#787878"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#A5A5A5"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;41" transform=3D"matrix(1 0 0 1 1091.62

> 1258)">Redfish Discover </text>= ;

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;41" transform=3D"matrix(1 0 0 1 1170.11

> 1303)">Protocol</text>

> +    <rect x=3D"1052.= 5" y=3D"1052.5" width=3D"400" height=3D"138&q= uot; stroke=3D"#385723"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#70AD47"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;46" transform=3D"matrix(1 0 0 1 1099.08

> 1111)">Redfish Config </text><= /p>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;46" transform=3D"matrix(1 0 0 1 1186.17

> 1160)">Driver</text>

> +    <rect x=3D"2117.= 5" y=3D"1055.5" width=3D"208" height=3D"288&q= uot; stroke=3D"#2F5597"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#ADB9CA"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-style=3D"italic" font-weight= =3D"700" font-size=3D"46" transform=3D"matrix(1 0 = 0 1

> 2165.89 1188)">REST </text>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-style=3D"italic" font-weight= =3D"700" font-size=3D"46" transform=3D"matrix(1 0 = 0 1

> 2192.24 1237)">EX</text>

> +    <rect x=3D"1703.= 5" y=3D"1201.5" width=3D"400" height=3D"138&q= uot; stroke=3D"#787878"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#A5A5A5"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;41" transform=3D"matrix(1 0 0 1 1743.75

> 1260)">Redfish Discover </text>= ;

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;41" transform=3D"matrix(1 0 0 1 1822.23

> 1305)">Protocol</text>

> +    <rect x=3D"1704.= 5" y=3D"1055.5" width=3D"401" height=3D"138&q= uot; stroke=3D"#385723"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#70AD47"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;46" transform=3D"matrix(1 0 0 1 1751.21

> 1113)">Redfish Config </text><= /p>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;46" transform=3D"matrix(1 0 0 1 1838.3

> 1162)">Driver</text>

> +    <rect x=3D"1051.= 5" y=3D"1515.5" width=3D"621" height=3D"251&q= uot; stroke=3D"#ED7D31"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#FBE5D6"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1109.41

> 1657)">UEFI Network Stack</text&g= t;

> +    <rect x=3D"1051.= 5" y=3D"1881.5" width=3D"621" height=3D"142&q= uot; stroke=3D"#41719C"

> stroke-width=3D"4.58333" stroke-mi= terlimit=3D"8" fill=3D"#5B9BD5"/>

> +    <text font-family=3D&= quot;Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 1311.65

> 1972)">NIC</text>

> +    <path d=3D"M2.29= 157-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=3D"#FF0000"

> transform=3D"matrix(-1 0 0 1 1362.14 20= 23.5)"/>

> +  </g>

> +</svg>

> diff --git a/RedfishClientPkg/Documents/Medi= a/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/redfi= sh-platform-config-protocol-

> stack.svg

> @@ -0,0 +1,99 @@

> +<svg width=3D"3433" height=3D&= quot;1895" style=3D"background-color:white"

> xmlns=3D"http://www.w3.org/2000/svg&quo= t;

> xmlns:xlink=3D"http://www.w3.org/1999/x= link" xml:space=3D"preserve"

> overflow=3D"hidden">

> +  <defs>

> +    <filter id=3D"fx= 0" x=3D"-10%" y=3D"-10%" width=3D"120%" = height=3D"120%"

> filterUnits=3D"userSpaceOnUse" pri= mitiveUnits=3D"userSpaceOnUse">

> +      <feCompon= entTransfer color-interpolation-filters=3D"sRGB">

> +        = <feFuncR type=3D"discrete" tableValues=3D"0 0"/><= /p>

> +        = <feFuncG type=3D"discrete" tableValues=3D"0 0"/><= /p>

> +        = <feFuncB type=3D"discrete" tableValues=3D"0 0"/><= /p>

> +        = <feFuncA type=3D"linear" slope=3D"0.380392" intercep= t=3D"0"/>

> +      </feCompo= nentTransfer>

> +      <feGaussi= anBlur stdDeviation=3D"4.8119 4.8119"/>

> +    </filter>

> +    <clipPath id=3D"= clip1">

> +      <rect x= =3D"572" y=3D"465" width=3D"3433" height=3D&q= uot;1895"/>

> +    </clipPath>

> +    <clipPath id=3D"= clip2">

> +      <rect x= =3D"-5" y=3D"13" width=3D"863" height=3D"= ;130"/>

> +    </clipPath>

> +    <clipPath id=3D"= clip3">

> +      <rect x= =3D"0" y=3D"0" width=3D"883" height=3D"1= 39"/>

> +    </clipPath>

> +  </defs>

> +  <g clip-path=3D"url(#clip1)&= quot; transform=3D"translate(-572 -465)">

> +    <rect x=3D"572&q= uot; y=3D"1277" width=3D"3256" height=3D"1083"= ; fill=3D"#C0E4FF" fill-

> opacity=3D"0.4"/>

> +    <path d=3D"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.8= 3 2101.5L719.168

> 2101.5C683.453 2101.5 654.5 2072.55 654.5 20= 36.83Z" stroke=3D"#A6A6A6"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10" stroke-

> dasharray=3D"36.6667 27.5" fill=3D= "none" fill-rule=3D"evenodd"/>

> +    <path d=3D"M690 = 978.669C690 922.518 735.518 877 791.668 877L1586.33

> 877C1642.48 877 1688 922.518 1688 978.669L16= 88 1385.33C1688 1441.48

> 1642.48 1487 1586.33 1487L791.668 1487C735.5= 18 1487 690 1441.48 690

> 1385.33Z" fill=3D"#D9D9D9" fi= ll-rule=3D"evenodd"/>

> +    <rect x=3D"716&q= uot; y=3D"598" width=3D"945" height=3D"136" f= ill=3D"#76B900"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 1026.14 683)">Setup

> Menu</text>

> +    <rect x=3D"716.5= " y=3D"1114.5" width=3D"945" height=3D"136&qu= ot; stroke=3D"#0070C0"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#9E9E9E"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 916.711

> 1199)">EDK2 Setup Browser</text&g= t;

> +    <rect x=3D"716&q= uot; y=3D"952" width=3D"945" height=3D"136" f= ill=3D"#9E9E9E"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 917.571

> 1038)">EDK2 Display Engine</text&= gt;

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 1122.4

> 545)">User</text>

> +    <rect x=3D"716&q= uot; y=3D"1289" width=3D"945" height=3D"136" = fill=3D"#9E9E9E"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 941.92 1374)">EDK2

> HII Database</text>

> +    <rect x=3D"716.5= " y=3D"1757.5" width=3D"377" height=3D"199&qu= ot; stroke=3D"#656565"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#8C8C8C"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 779.595

> 1842)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 838.88

> 1901)">driver</text>

> +    <rect x=3D"1124.= 5" y=3D"1757.5" width=3D"377" height=3D"199&q= uot; stroke=3D"#656565"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#8C8C8C"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1188

> 1842)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1247.28

> 1901)">driver</text>

> +    <rect x=3D"882.5= " y=3D"1856.5" width=3D"377" height=3D"199&qu= ot; stroke=3D"#656565"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#8C8C8C"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 945.765

> 1941)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1005.05

> 2000)">driver</text>

> +    <rect x=3D"1313.= 5" y=3D"1856.5" width=3D"377" height=3D"199&q= uot; stroke=3D"#656565"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#8C8C8C"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1376.4

> 1941)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1435.69

> 2000)">driver</text>

> +    <path d=3D"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=3D"#8= C8C8C"/>

> +    <path d=3D"M1185= .86 1517.92 1185.86 1690.5 1180.14 1690.5 1180.14

> 1517.92ZM1169.25 1522.5 1183 1495 1196.75 15= 22.5ZM1196.75 1685.92 1183

> 1713.42 1169.25 1685.92Z" fill=3D"= #8C8C8C"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1247.51

> 801)">Graphic protocols</text>=

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1247.51

> 867)">Console input protocols</te= xt>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1232.43 1574)">EFI

> Config Access Protocol</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1232.43 1640)">HII

> Database Protocol</text>

> +    <rect x=3D"657.5= " y=3D"2152.5" width=3D"1204" height=3D"145&q= uot; stroke=3D"#008564"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;73" transform=3D"matrix(1 0 0 1 1203.49

> 2245)">HW</text>

> +    <path d=3D"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=3D"#A= 6A6A6" stroke-width=3D"9.16667" stroke-

> linejoin=3D"round" stroke-miterlim= it=3D"10" stroke-dasharray=3D"36.6667 27.5"

> fill=3D"none" fill-rule=3D"ev= enodd"/>

> +    <path d=3D"M2457= 970.169C2457 912.638 2503.64 866 2561.17 866L3350.83

> 866C3408.36 866 3455 912.638 3455 970.169L34= 55 1386.83C3455 1444.36

> 3408.36 1491 3350.83 1491L2561.17 1491C2503.= 64 1491 2457 1444.36 2457

> 1386.83Z" fill=3D"#D9D9D9" fi= ll-rule=3D"evenodd"/>

> +    <rect x=3D"2483&= quot; y=3D"602" width=3D"945" height=3D"135" = fill=3D"#76B900"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 2754.31

> 687)">Feature drivers</text>

> +    <rect x=3D"2483&= quot; y=3D"956" width=3D"945" height=3D"302" = fill=3D"#0070C0"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 2652.04

> 1124)">EDK2 HII Utility Library</= text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 2724.81 549)">Redfish

> Interface</text>

> +    <rect x=3D"2483&= quot; y=3D"1291" width=3D"945" height=3D"136"= fill=3D"#9E9E9E"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;64" transform=3D"matrix(1 0 0 1 2709.33

> 1376)">EDK2 HII Database</text>= ;

> +    <rect x=3D"2483.= 5" y=3D"1760.5" width=3D"377" height=3D"199&q= uot; stroke=3D"#656565"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#8C8C8C"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 2532.97 184= 7)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 2599.43 190= 6)">driver</text>

> +    <rect x=3D"2892.= 5" y=3D"1760.5" width=3D"377" height=3D"199&q= uot; stroke=3D"#656565"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#8C8C8C"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 2941.37 184= 7)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 3007.83 190= 6)">driver</text>

> +    <rect x=3D"2650.= 5" y=3D"1860.5" width=3D"376" height=3D"199&q= uot; stroke=3D"#656565"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#8C8C8C"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 2699.14 194= 7)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 2765.6 2006= )">driver</text>

> +    <rect x=3D"3080.= 5" y=3D"1860.5" width=3D"377" height=3D"199&q= uot; stroke=3D"#656565"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"#8C8C8C"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 3129.78 194= 7)">Chipset/HII </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Trebuchet MS,Trebuchet

> MS_MSFontService,sans-serif" font-weigh= t=3D"400" font-size=3D"55"

> transform=3D"matrix(1 0 0 1 3196.24 200= 6)">driver</text>

> +    <path d=3D"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=3D"= #8C8C8C"/>

> +    <path d=3D"M2953= .86 1520.92 2953.86 1693.5 2948.14 1693.5 2948.14

> 1520.92ZM2937.25 1525.5 2951 1498 2964.75 15= 25.5ZM2964.75 1688.92 2951

> 1716.42 2937.25 1688.92Z" fill=3D"= #8C8C8C"/>

> +    <text fill=3D"#F= F0000" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-style=3D"italic" font-weight= =3D"700" font-size=3D"55" transform=3D"matrix(1 0 = 0 1

> 3007.22 833)">EDKII Redfish Platform= Configure Protocol</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3007.22 1592)">EFI

> Config Access Protocol</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-style=3D"ital= ic"

> font-weight=3D"400" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3007.22 1658)">HII

> Database Protocol</text>

> +    <rect x=3D"2425.= 5" y=3D"2155.5" width=3D"1203" height=3D"145&= quot; stroke=3D"#008564"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"400" font-size=3D&q= uot;73" transform=3D"matrix(1 0 0 1 2970.9

> 2248)">HW</text>

> +    <g clip-path=3D"= url(#clip2)" filter=3D"url(#fx0)" transform=3D"translat= e(1645 1071)">

> +      <g clip-p= ath=3D"url(#clip3)">

> +        = <path d=3D"M0.406692-4.48158 800.047 68.0836 799.233 77.0468-0.4066= 92

> 4.48158ZM796.32 58.4574 822.465 74.6365 793.= 835 85.8449Z" fill=3D"#0071C5"

> transform=3D"matrix(1 0 0 -1 16.4999 11= 8.354)"/>

> +      </g>

> +    </g>

> +    <path d=3D"M0.41= 4223-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=3D"#0071C5"

> transform=3D"matrix(1 0 0 -1 1661.5 118= 2.14)"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"5= 5" transform=3D"matrix(1 0 0 1 1783.55 1054)">Move

> necessary functions </text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"5= 5" transform=3D"matrix(1 0 0 1 1783.55 1120)">to library<= /p>

> </text>

> +    <rect x=3D"1721.= 5" y=3D"1792.5" width=3D"303" height=3D"193&q= uot; stroke=3D"#890C58"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1821 1874)">UEFI

> </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 1780.6

> 1933)">variable</text>

> +    <rect x=3D"3489.= 5" y=3D"1768.5" width=3D"303" height=3D"194&q= uot; stroke=3D"#890C58"

> stroke-width=3D"9.16667" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"/>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3589.11

> 1851)">UEFI </text>

> +    <text fill=3D"#F= FFFFF" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-weight=3D"700" font-size=3D&q= uot;55" transform=3D"matrix(1 0 0 1 3548.71

> 1910)">variable</text>

> +    <path d=3D"M2145= .64 1853.11 2293.36 1853.11 2293.36 1890.46 2145.64

> 1890.46ZM2145.64 1918.54 2293.36 1918.54 229= 3.36 1955.89 2145.64

> 1955.89Z" fill=3D"#C0E4FF" fi= ll-rule=3D"evenodd"/>

> +  </g>

> +</svg>

> diff --git a/RedfishClientPkg/Documents/Medi= a/redfish-synchronization-

> design.svg b/RedfishClientPkg/Documents/Medi= a/redfish-synchronization-

> design.svg

> new file mode 100755

> index 00000000..2dd1fb61

> --- /dev/null

> +++ b/RedfishClientPkg/Documents/Media/redfi= sh-synchronization-design.svg

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

> +<svg width=3D"4191" height=3D&= quot;2178" style=3D"background-color:white"

> xmlns=3D"http://www.w3.org/2000/svg&quo= t;

> xmlns:xlink=3D"http://www.w3.org/1999/x= link" xml:space=3D"preserve"

> overflow=3D"hidden">

> +  <defs>

> +    <clipPath id=3D"= clip0">

> +      <rect x= =3D"66" y=3D"210" width=3D"4191" height=3D&qu= ot;2178"/>

> +    </clipPath>

> +  </defs>

> +  <g clip-path=3D"url(#clip0)&= quot; transform=3D"translate(-66 -210)">

> +    <path d=3D"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.41= 2 525.531 406.5 512 406.5

> 498.469 406.5 487.5 394.412 487.5 379.5Z&quo= t; stroke=3D"#006047" stroke-

> width=3D"9.16667" stroke-linejoin= =3D"round" stroke-miterlimit=3D"10" fill=3D"#00856= 4"

> fill-rule=3D"evenodd"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 104.76

> 290)">REDFISH_FEATURE_CALLBACK()<= /text>

> +    <rect x=3D"609.5= " y=3D"522.5" width=3D"709" height=3D"133&quo= t; stroke=3D"#000000"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"none"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 839.622

> 610)">Identify()</text>

> +    <rect x=3D"1178.= 5" y=3D"767.5" width=3D"709" height=3D"133&qu= ot; stroke=3D"#000000"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"none"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 1433.4

> 855)">Check()</text>

> +    <rect x=3D"1759.= 5" y=3D"1046.5" width=3D"709" height=3D"134&q= uot; stroke=3D"#000000"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"none"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 1928.64

> 1134)">Provisioning()</text>

> +    <rect x=3D"1597.= 5" y=3D"1422.5" width=3D"709" height=3D"133&q= uot; stroke=3D"#000000"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"none"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 1808.4

> 1510)">Consume()</text>

> +    <rect x=3D"2140.= 5" y=3D"1730.5" width=3D"709" height=3D"133&q= uot; stroke=3D"#000000"

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"none"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 2376.59

> 1818)">Update()</text>

> +    <path d=3D"M0-2.= 29167 182.65-2.29167C183.915-2.29167 184.941-1.26565

> 184.941 0L184.941 74.3695 180.358 74.3695 18= 0.358 0 182.65 2.29167 0

> 2.29167ZM196.4 69.7861 182.65 97.2861 168.9 = 69.7861Z" fill=3D"#008563"

> transform=3D"matrix(1.83697e-16 1 1 -1.= 83697e-16 511.5 406.5)"/>

> +    <path d=3D"M988.= 5 831.208 1083.64 831.208C1084.91 831.208 1085.93

> 832.234 1085.93 833.5L1085.93 833.591 1083.6= 4 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= =3D"#008563"/>

> +    <path d=3D"M0-2.= 29167 101.164-2.29167C102.43-2.29167 103.456-1.26565

> 103.456 0L103.456 0.633366 101.164-1.6583 17= 9.411-1.6583 179.411 2.92503

> 101.164 2.92503C99.8983 2.92503 98.8722 1.89= 902 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=3D"#008563" tr= ansform=3D"matrix(1 0 0 -1 1557.5 1114.13)"/>

> +    <path d=3D"M0-2.= 29167 348.186-2.29167C349.452-2.29167 350.478-1.26565

> 350.478 0L350.478 42.4958 345.894 42.4958 34= 5.894 0 348.186 2.29167 0

> 2.29167ZM361.936 37.9125 348.186 65.4125 334= .436 37.9125Z" fill=3D"#008563"

> transform=3D"matrix(1.83697e-16 1 1 -1.= 83697e-16 1532.5 1141.5)"/>

> +    <path d=3D"M0-2.= 29167 241.064-2.29167C242.329-2.29167 243.356-1.26565

> 243.356 0L243.356 165.488 238.772 165.488 23= 8.772 0 241.064 2.29167 0

> 2.29167ZM254.814 160.904 241.064 188.404 227= .314 160.904Z" fill=3D"#008563"

> transform=3D"matrix(1.83697e-16 1 1 -1.= 83697e-16 1952.5 1555.5)"/>

> +    <path d=3D"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&q= uot; stroke=3D"#006047" stroke-

> width=3D"9.16667" stroke-linejoin= =3D"round" stroke-miterlimit=3D"10" fill=3D"#00856= 4"

> fill-rule=3D"evenodd"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 316.965 2332)">Done

> </text>

> +    <path d=3D"M965.= 584 860.5 965.584 1572.52C965.584 1573.79 964.558

> 1574.82 963.292 1574.82L535.5 1574.82 537.79= 2 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=3D&= quot;#008563"/>

> +    <path d=3D"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 5= 60.5 2311.4 588 2297.65Z"

> fill=3D"#008563"/>

> +    <path d=3D"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 12= 05L2754.17 1205C2739.72

> 1205 2728 1193.28 2728 1178.83Z" fill= =3D"#0071C5" fill-rule=3D"evenodd" fill-

> opacity=3D"0.501961"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 2869.23 1148)">HTTP

> </text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 3021.62

> 1148)">POST/PUT</text>

> +    <path d=3D"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 22= 06L3146.33 2206C3127.37

> 2206 3112 2190.63 3112 2171.67Z" fill= =3D"#0071C5" fill-rule=3D"evenodd" fill-

> opacity=3D"0.501961"/>

> +    <text font-family=3D&= quot;Arial,Arial_MSFontService,sans-serif" font-weight=3D"400&quo= t;

> font-size=3D"64" transform=3D"= ;matrix(1 0 0 1 3191.74 2127)">HTTP </text>

> +    <text fill=3D"#F= F0000" font-family=3D"Arial,Arial_MSFontService,sans-serif" = font-

> weight=3D"400" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 3376.79

> 2127)">PATCH/PUT</text>

> +    <rect x=3D"1572&= quot; y=3D"418" width=3D"896" height=3D"130" = fill=3D"#008564"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 1655.98

> 505)">RedfishResourceIdentifyLib<= /text>

> +    <path d=3D"M0.04= 52146-1.71815 11.9202-1.40565 23.8145-0.526554 35.5234

> 0.919242 46.906 2.80438 57.9272 5.19539 68.5= 072 8.02728 78.5249 11.2384

> 87.9266 14.8322 96.5836 18.7466 104.375 22.9= 23 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.0= 347 139.153 70.7222 144.756

> 75.1536 151.363 79.3641 158.938 83.423 167.3= 96 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.94= 8 102.43 195.93 100.035 185.35

> 97.1991 175.32 93.9789 165.979 90.3784 157.3= 12 86.452 149.512 82.2609

> 142.619 77.8464 136.722 73.1528 132.035 68.4= 653C131.964 68.3949 131.9

> 68.3184 131.843

> + 68.2369L128.468 63.4244C128.402 63.3302 12= 8.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.2= 153 114.994 34.6589 109.387

> 30.1984 102.75 25.952 95.1664 21.8784 86.698= 4 18.0428 77.475 14.5116

> 67.6178 11.3477 57.1978 8.55461 46.344 6.195= 62 35.1016 4.33076 23.5605

> 2.90155 11.8298 2.03065-0.0452146 1.71815ZM2= 27.312 89.8694 253.937

> 105.246 225.66 117.32Z" fill=3D"#0= 08563" transform=3D"matrix(1 0 0 -1 1318.5

> 588.746)"/>

> +    <rect x=3D"2687&= quot; y=3D"738" width=3D"425" height=3D"102" = fill=3D"#5D1682" fill-

> opacity=3D"0.501961"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 2797.23

> 806)">GetData</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 2970.82 806)">()</text&= gt;

> +    <text fill=3D"#8= 90C58" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-style=3D"italic" font-weight= =3D"700" font-size=3D"46" transform=3D"matrix(1 0 = 0 1

> 2696.04 693)">EDKII_REDFISH_RESOURCE= _ADDENDUM_PROTOCOL</text>

> +    <path d=3D"M0.08= 37419-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.74= 63 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.4= 43 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.3= 8 317.188C188.284 317.155

> 188.19 317.114 188.101 317.064L183.072 314.2= 59 178.067 311.042 168.503

> 303.557 159.33 294.818 150.682 284.899 142.5= 42 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 10= 3.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.76= 26 9.55251 24.8617 7.22082

> 19.9988 5.26904 15.0065 3.74128 10.0215 2.64= 099 5.04126 1.96671-0.0837419

> 1.71671ZM195.756 303.927 219.415 323.564 189= .51 330.709Z" fill=3D"#890857"

> transform=3D"matrix(1 0 0 -1 2468.5 111= 3.06)"/>

> +    <rect x=3D"2690&= quot; y=3D"863" width=3D"422" height=3D"102" = fill=3D"#5D1682" fill-

> opacity=3D"0.501961"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 2757.16

> 931)">GeOemData</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 3013.82 931)">()</text&= gt;

> +    <path d=3D"M0.09= 2493-1.71626 10.53-1.15376 21.0276 0.553809 31.3759

> 3.27561 41.4048 6.94903 51.1654 11.5055 60.4= 854 16.8871 69.2961 23.028

> 77.5298 29.798 85.1321 37.1392 91.9881 45.06= 38 98.02 53.4335 103.109

> 62.1333 107.25 71.1596 110.32 80.4632 112.24= 7 89.9086 112.902 99.4474

> 113.527 108.76 115.372 117.784 118.32 126.71= 3 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.9= 43 192.089 192.51 191.834

> 192.439 199.996 194.058 199.327 197.43 191.1= 65 195.811C191.079 195.794

> 190.994 195.77 190.911 195.74L180.835 192.05= 7 171.077 187.488 161.773

> 182.102 152.97 176.015 144.738 169.231 137.1= 41 161.816 130.287 153.934

> 124.333 145.562 119.187 136.84 115.055 127.7= 87 112.003 118.466 110.098

> 108.99 109.473 99.6776 108.878 90.5914 107.0= 55 81.5368 104.125 72.5904

> 100.141 63.8667 95.23 55.4415 89.3869 47.311= 2 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.092= 493 1.71626ZM197.096 181.479

> 222.341 199.029 193.154 208.695Z" fill= =3D"#890857" transform=3D"matrix(1 0 0 -1

> 2468.5 1113.53)"/>

> +    <path d=3D"M0.01= 42748-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.0= 81 9.25098 195.079 9.95147

> 197.643 10.6553 199.7 11.3802 201.269 12.150= 2C201.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.10= 13 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.72= 68 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.73= 52 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 23= 8.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.7= 873 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.8= 362 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.942= 3 184.132 11.264 179.754

> 10.6385 175.044 9.95641 169.871 9.333 164.33= 4 8.71073 152.116 7.526

> 138.564 6.46431 123.843 5.40363 108.041 4.52= 92 91.4323 3.71742 74.0088

> 3.03041 56.0217 2.46827 37.6107 2.03119-0.01= 42748 1.71869ZM375.903

> 16.223 403.269 30.2377 375.637 43.7217Z"= ; fill=3D"#890857" transform=3D"matrix(1

> 0 0 -1 2849.5 1796.74)"/>

> +    <path d=3D"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.8= 8 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.8= 8 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 18= 86.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.9= 6 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=3D"#890857"/>

> +    <path d=3D"M2578= 1103.75 2638.5 1103.75 2638.5 1080 2686 1127.5 2638.5

> 1175 2638.5 1151.25 2578 1151.25Z" fill= =3D"#0071C5" fill-rule=3D"evenodd" fill-

> opacity=3D"0.501961"/>

> +    <path d=3D"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=3D"#0071C5"

> fill-rule=3D"evenodd" fill-opacity= =3D"0.501961"/>

> +    <path d=3D"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.41= 2 977.531 860.5 964 860.5

> 950.469 860.5 939.5 848.412 939.5 833.5Z&quo= t; stroke=3D"#006047" stroke-

> width=3D"9.16667" stroke-linejoin= =3D"round" stroke-miterlimit=3D"10" fill=3D"#00856= 4"

> fill-rule=3D"evenodd"/>

> +    <path d=3D"M965.= 792 655.5 965.792 730.981C965.792 732.247 964.766

> 733.273 963.501 733.273L963.5 733.273 965.79= 2 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.20= 9 655.5ZM977.25 778.963 963.5

> 806.463 949.75 778.963Z" fill=3D"#= 008563"/>

> +    <text font-family=3D&= quot;Arial,Arial_MSFontService,sans-serif" font-weight=3D"400&quo= t;

> font-size=3D"55" transform=3D"= ;matrix(1 0 0 1 815.508 946)">false</text>

> +    <text font-family=3D&= quot;Arial,Arial_MSFontService,sans-serif" font-weight=3D"400&quo= t;

> font-size=3D"55" transform=3D"= ;matrix(1 0 0 1 1029.08 808)">true</text>

> +    <path d=3D"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=3D"#006047" stroke-width=3D= "9.16667" stroke-linejoin=3D"round" stroke-

> miterlimit=3D"10" fill=3D"#00= 8564" fill-rule=3D"evenodd"/>

> +    <path d=3D"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=3D&= quot;#008563"/>

> +    <text font-family=3D&= quot;Arial,Arial_MSFontService,sans-serif" font-weight=3D"400&quo= t;

> font-size=3D"55" transform=3D"= ;matrix(1 0 0 1 1405.87 1282)">true</text>

> +    <text font-family=3D&= quot;Arial,Arial_MSFontService,sans-serif" font-weight=3D"400&quo= t;

> font-size=3D"55" transform=3D"= ;matrix(1 0 0 1 1590.37 1071)">false</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"400" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 328.764

> 396)">Start</text>

> +    <path d=3D"M0 0 = 177.266 0 177.266 2109.2 354.533 2109.2" stroke=3D"#008563"<= /p>

> stroke-width=3D"4.58333" stroke-li= nejoin=3D"round" stroke-miterlimit=3D"10"

> fill=3D"none" fill-rule=3D"ev= enodd" transform=3D"matrix(1.83697e-16 1 1 -1.83697e-16

> 2113.5 1180.5)"/>

> +    <path d=3D"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=3D"#008563"/>

> +    <path d=3D"M4223= .5 1536.5 4223.5 1612.57" stroke=3D"#008563" stroke-

> width=3D"4.58333" stroke-linejoin= =3D"round" stroke-miterlimit=3D"10" fill=3D"none&q= uot; fill-

> rule=3D"evenodd"/>

> +    <path d=3D"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 15= 69L2490.17 1569C2475.72

> 1569 2464 1557.28 2464 1542.83Z" fill= =3D"#0071C5" fill-rule=3D"evenodd" fill-

> opacity=3D"0.501961"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 2601 1512)">HTTP

> </text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"6= 4" transform=3D"matrix(1 0 0 1 2753.4

> 1512)">HEAD/GET</text>

> +    <path d=3D"M2337= 1468.5 2398 1468.5 2398 1445 2445 1492 2398 1539 2398

> 1515.5 2337 1515.5Z" fill=3D"#0071= C5" fill-rule=3D"evenodd" fill-

> opacity=3D"0.501961"/>

> +    <rect x=3D"3253&= quot; y=3D"1715" width=3D"424" height=3D"102"= fill=3D"#5D1682" fill-

> opacity=3D"0.501961"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 3362.57

> 1783)">GetData</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 3536.17 1783)">()</text= >

> +    <text fill=3D"#8= 90C58" font-family=3D"Calibri,Calibri_MSFontService,sans-serif&qu= ot;

> font-style=3D"italic" font-weight= =3D"700" font-size=3D"46" transform=3D"matrix(1 0 = 0 1

> 3195.85 1686)">EDKII_REDFISH_RESOURC= E_ADDENDUM_PROTOCOL</text>

> +    <rect x=3D"3256&= quot; y=3D"1840" width=3D"421" height=3D"102"= fill=3D"#5D1682" fill-

> opacity=3D"0.501961"/>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 3322.5

> 1908)">GeOemData</text>

> +    <text font-family=3D&= quot;Calibri,Calibri_MSFontService,sans-serif" font-

> weight=3D"700" font-size=3D"5= 0" transform=3D"matrix(1 0 0 1 3579.17 1908)">()</text= >

> +  </g>

> +</svg>

> diff --git a/RedfishClientPkg/Readme.md b/Re= dfishClientPkg/Readme.md

> index 0aec0580..69dc33d3 100644

> --- a/RedfishClientPkg/Readme.md

> +++ b/RedfishClientPkg/Readme.md

> @@ -31,13 +31,13 @@ Redfish property with HI= I option.

>

>  The current design of UEFI Redfish Cli= ent EDK2 Implementation can already

>  support the provisioning of firmware-o= wned platform Redfish resource, however,

> -this requires addtional support on edk2 HII= . Therefore, provisioning of

> +this requires additional support on edk2 HI= I. Therefore, provisioning of

>  firmware managed platform Redfish reso= urce would be the second stage.

>

>  Below are the block diagrams of UEFI R= edfish Client EDK2 Implementation.

>

>  ## <a name=3D"[0]">EDK= 2 Redfish Client Implementation Diagrams</a>

> -![UEFI Redfish Client Implementation](https= ://github.com/changab/edk2-

> staging/blob/edk2-redfish-

> client/RedfishClientPkg/Documents/Media/Redf= ishClientDriverStack.svg?raw=3Dtru

> e)

> +![UEFI Redfish Client Implementation](https= ://github.com/tianocore/edk2-

> redfish-

> client/blob/main/RedfishClientPkg/Documents/= Media/RedfishClientDriverStack.s

> vg?raw=3Dtrue)

>

>  ## 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 platfor= m configurations, or vice versa to

> update platform

>  configurations to Redfish service. Bot= h EDK2 Redfish Non-Collection and

>  Collection Feature drivers are script = auto-generated base on Redfish schema

>  naming. The EDK2 Redfish Non-Collectio= n feature driver manages the resource of

> -specific Resdifsh resource type, while the = EDK2 Redfish Collection feature

> +specific Redfish resource type, while the E= DK2 Redfish Collection feature

>  driver manages the members which have = the same resource type in collection

>  resource (e.g the ComputerSystem resou= rce 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 a= gnostic to the Redfish feature driver.

>  The platform can provide its own EDKII= Redfish Platform Config driver instance

> -to access platform-specific configuration f= ormat and storage. On EDK2 open

> -source, EDKII Redfish Platform Config Proto= col accesses the platform

> -configuration in EDK2 HII defined format.

> +to access platform-specific configuration f= ormat 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 Con= fig Protocol. The protocol driver

> +leverages the HII interface to get or set t= he HII configuration on platform. By

> +following the x-uefi-redfish Configure Lang= uage defined in UNI file, protocol

> +driver can find corresponding HII question = for given Redfish attribute. In this

> +way, protocol driver creates the mapping be= tween HII questions and Redfish

> +attributes.

> +

> +![platform config](https://github.com/nickl= ela/edk2-redfish-client/blob/update-

> readme/RedfishClientPkg/Documents/Media/redf= ish-platform-config-protocol-

> stack.svg?raw=3Dtrue)

>

>  Below is the prototype of **EDKII_REDF= ISH_PLATFORM_CONFIG_PROTOCOL**,

>

>  ```C

>  struct _EDKII_REDFISH_PLATFORM_CONFIG_= PROTOCOL {

> -  EDKII_REDFISH_PLATFORM_CONFIG_GET_VA= LUE            = GetValue;

> -  EDKII_REDFISH_PLATFORM_CONFIG_SET_VA= LUE            = SetValue;

> -  EDKII_REDFISH_PLATFORM_CONFIG_GET_CO= NFIG_LANG

> GetConfigureLang;

> -  EDKII_REDFISH_PLATFORM_CONFIG_GET_SU= PPORTED_SCHEMA

> GetSupportedSchema;

> +  UINT64     =             &nb= sp;            =             &nb= sp;     Revision;

> +  EDKII_REDFISH_PLATFORM_CONFIG_GET_VA= LUE            =    GetValue;

> +  EDKII_REDFISH_PLATFORM_CONFIG_SET_VA= LUE            =    SetValue;

> +  EDKII_REDFISH_PLATFORM_CONFIG_GET_DE= FAULT_VALUE

> GetDefaultValue;

> +  EDKII_REDFISH_PLATFORM_CONFIG_GET_AT= TRIBUTE           GetAttr= ibute;

> +  EDKII_REDFISH_PLATFORM_CONFIG_GET_CO= NFIG_LANG

> GetConfigureLang;

> +  EDKII_REDFISH_PLATFORM_CONFIG_GET_SU= PPORTED_SCHEMA

> GetSupportedSchema;

>  };

>  ```

>

> @@ -181,11 +193,10 @@ x-uefi-redfish-Process= or.v1_0_0

>  ```

>  #### x-uefi-redfish Configure Language= format:

>  - The string declared with x-uefi-redf= ish configure language is a path to the

> property

> -in Redfish resource

> +in Redfish schema.

>  - The root of path is the Redfish reso= urce type indicated in x-uefi-redfish

> configure

>  language

> -- The path is relative to root of Redfish r= esource type, not related to Redfish

> service

> -- root.

> +- The path is relative to root of [Redfish<= /p>

> schema](https://redfish.dmtf.org/redfish/sch= ema_index) defined by DMTF, not

> related to Redfish service root.

>

>  #### Examples,

>  ```C

> @@ -215,7 +226,135 @@ EDK2 Build is responsi= ble 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.c= om/nicklela/edk2-redfish-

> client/blob/update-readme/RedfishClientPkg/D= ocuments/Media/redfish-

> foundation-driver-stack.svg?raw=3Dtrue)

> +

> +Above diagram shows the way how Redfish app= lication (Redfish feature driver)

> works with Redfish foundation

> +drivers and communicate with Redfish servic= e. 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 R= edfish Config driver will use this

> protocol to deliver Redfish

> +service information.

> +

> +```C

> +struct _EDKII_REDFISH_CONFIG_HANDLER_PROTOC= OL {

> +  EDKII_REDFISH_CONFIG_HANDLER_PROTOCO= L_INIT    Init;

> +  EDKII_REDFISH_CONFIG_HANDLER_PROTOCO= L_STOP    Stop;

> +};

> +```

> +

> +![feature driver call flow](https://github.= com/nicklela/edk2-redfish-

> client/blob/update-readme/RedfishClientPkg/D= ocuments/Media/redfish-feature-

> driver-call-flow.svg?raw=3Dtrue)

> +

> +Above diagram shows the details of how Redf= ish feature core driver invokes

> Redfish feature drivers. To be called

> +by Redfish feature core driver, Redfish fea= ture driver has to register the managed

> URI to Redfish feature core

> +driver. Then Redfish feature core driver le= arns the dependency of each different

> feature drivers.

> +

> +#### Dispatch Redfish feature drivers

> +When given event is signaled, Redfish featu= re core driver starts the operation of

> invoking Redfish feature drivers

> +by following the order from left to right i= n Redfish URI list. In the diagram, the

> feature driver which manages

> +service root will be invoked first. And fea= ture driver which manages computer

> system collection will be invoked

> +at second position. Once Redfish feature co= re driver walks through entire Redfish

> URI, the operation is stopped.

> +

> +### Interface between collection feature dr= iver and non-collection feature driver

> +Redfish collection resource is a set of Red= fish non-collection resource. Redfish

> collection feature driver works

> +with non-collection feature driver to manag= e them. For example, boot option

> collection feature driver work with

> +boot option feature driver to manage boot o= ptions in Redfish service. Computer

> system collection feature driver

> +work with computer system feature driver to= manage computer system

> resource.

> +

> +The interface between collection feature dr= iver and non-collection feature driver

> is EDKII Redfish resource config

> +protocol.

> +

> +```C

> +struct _EDKII_REDFISH_RESOURCE_CONFIG_PROTO= COL {

> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOC= OL_PROVISIONING

> Provisioning;

> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOC= OL_CONSUME         Consume;

> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOC= OL_UPDATE          Update;

> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOC= OL_CHECK           Check;=

> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOC= OL_IDENTIFY        Identify;

> +  EDKII_REDFISH_RESOURCE_CONFIG_PROTOC= OL_GET_INFO        GetInfo;

> +};

> +```

> +

> +### Feature driver event

> +Two events are defined for feature driver t= o perform necessary operation at

> given time.

> +- Ready-to-Provisioning event

> +  - Feature driver which requires to d= o 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 provi= sioning the boot options to boot options resource.

> +- After-Provisioning event

> +  - Feature driver which wants to do o= peration after Redfish feature driver finish

> the synchronization job can listen to

> +    this event.

> +

> +### Reboot required

> +When Redfish feature drivers apply user req= uest to platform, a system reboot is

> usually required. PCD

> `gEfiRedfishClientPkgTokenSpaceGuid.PcdRedfi= shSystemRebootRequired` is

> introduced for this purpose. After Redfish f= eature

> +core driver is done with synchronization jo= b, 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 s= ynchronization can be simply divided

> into two types:

> +

> +#### Provisioning resource

> +Below is the flow diagram of provisioning p= latform configuration to Redfish

> service at Bios resource. With the x-uefi-re= dfish

> +configure language described in above secti= on, Redfish feature driver collect all

> BIOS attributes from HII database and popula= ted

> +them to Redfish service.

> +![provisioning](https://github.com/nicklela= /edk2-redfish-client/blob/update-

> readme/RedfishClientPkg/Documents/Media/redf= ish-call-flow-

> provisioning.svg?raw=3Dtrue)

> +

> +#### Consume resource

> +Below is the flow diagram of consuming user= request from Redfish service to

> platform configuration. Redfish feature driv= er finds

> +corresponding HII question and apply user d= esired value to platform.

> +![pending settings](https://github.com/nick= lela/edk2-redfish-

> client/blob/update-readme/RedfishClientPkg/D= ocuments/Media/redfish-call-

> flow-pending-settings.svg?raw=3Dtrue)

> +

> +Below diagram shows the call flow of EDKII = Resource Config Protocol and how to

> use this protocol to handle synchronization<= /p>

> +job.

> +![synchronization](https://github.com/nickl= ela/edk2-redfish-client/blob/update-

> readme/RedfishClientPkg/Documents/Media/redf= ish-synchronization-

> design.svg?raw=3Dtrue)

> +

> +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 `RedfishReesourc= eIdentifyLib` 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 prov= isioning job.

> +- Provisioning()

> +  - When this function is called, feat= ure 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 upd= ated, 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 Protoco= l is introduced to provide

> platform addendum data that Redfish service = requires.

> +This protocol will be called at Provisionin= g() and Update() functions so platform

> can add OEM attribute or any other attribute=

> +that Redfish service specified.

> +

> +```C

> +struct _EDKII_REDFISH_RESOURCE_ADDENDUM_PRO= TOCOL {

> +  UINT64     =             &nb= sp;            =     Revision;    ///< Protocol revision

> +  EDKII_REDFISH_RESOURCE_ADDENDUM_OEM&= nbsp;    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, R= edfish

> +synchronization functions have to work with= Redfish service implementation in

> BMC firmware. This is because the interface<= /p>

> +between platform firmware and BMC firmware = is not defined in any

> specification.

> +Several prerequisites must be satisfied:

> +- Platform firmware has permission to manag= e Redfish resource. BMC has ability

> to tell the difference between platform requ= est

> +  and out-of-band user. This can norma= lly be done by identifying the bootstrap

> account in HTTP request. The bootstrap accou= nt is

> +  described in Host Interface specific= ation 1.3.0 section 9.

> +- The ability to tell if there is user chan= ges to Redfish resource or not. Redfish

> feature drivers can only be executed at POST=

> +  time. So the modification to BIOS ma= naged resource is asynchronous

> operation. Thus, we need below supports in R= edfish service:

> +  - ETAG support in HTTP header.

> +  - Setting resource support (defined = in Redfish specification 1.18 section 9.10).

> +  - Redfish Task support to POST and D= ELETE 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:

=20 You receive all messages sent to this group. =20 =20

View/Reply Online (#108543) | =20 | Mute= This Topic | New Topic
Your Subscriptio= n | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_
--_000_MW4PR12MB703141D1C6D98B90EF7B889DD9F1AMW4PR12MB7031namp_--