From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (NAM02-SN1-obe.outbound.protection.outlook.com [40.92.5.96]) by mx.groups.io with SMTP id smtpd.web12.100.1614279428392659176 for ; Thu, 25 Feb 2021 10:57:08 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@outlook.com header.s=selector1 header.b=OWprrnSo; spf=pass (domain: outlook.com, ip: 40.92.5.96, mailfrom: kun.q@outlook.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EJCkSPsaGyVEtPPh8YiiASFR+VKjyuMAzdcMt4x1Ip5bvPdkdy4lfMkjxvoDRUi6iRjNzau+AysHL+p5hm0sH2aRLSbt2rUCT2eBOWu/3Eq2A2qHIyTGZ/t41YI1/g17uj9wJ1OQn4YSgcuCP6wC2ddhNBsn8kbWy4X+z6ES+LpLhYiPo0PaITjPBNHvO6JdhDVp95CcCGnrEA0MlTwbfDA5JXzIMlduPQOzxva7hKC1iBZd7SFdLiIZgri8+pIr14kotmK4UjxK2u+WS0aKMnjs/a2IXY3r0QkLP5xl/XT23vN5zQNg22JJCUZxZhmy/TsKqPY9WsGqib97zaPy2w== 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-SenderADCheck; bh=t5FT6IUSKm8nJLcE1kxaP3xSXotnwSqFKbb147YGwP0=; b=ZnRGHjUqXjKs1c8p5YuHnd51PXc7Wc2t0bBBwHIGxcS+t6e+8S9tgq4fTv/IT3CTVnM6JxTYxMk1g0JckzpQeF8gOOcRaXy6SHACtJqGRK3UGbTRkhvfqBCZS2HziaAflKQX7SOFooSVcDE3aTe2r/nik4UXWcy9pzi04UPbvm1dPFXJfjFj2TcQcYUI0H5W91nuYKymOkHBnU0jq8sLSUDVU1u2SYXecixIVGt5lepdQLzlX4p3IENg43gZuekYicAflKXzY6Hi6c6zYCA4tjimyRkEPJ3fiqL6K7QBXXxl63kujQilYGkUoZt9hq3eWBaCChTlGo1k7fq5IG6nwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t5FT6IUSKm8nJLcE1kxaP3xSXotnwSqFKbb147YGwP0=; b=OWprrnSoE1e1pb7r1rMFNh7tIuVw3rhIZjuicz2JYthVUoBYf7QZPNfb+Vtzby9AC6Op/mB5fH+x/jHUOf40NhbrrmN6ioASuXgNNBgjue1mE7xOPtbENQDI4pzhU/C/lznYE5KZPn6AgrRbYI/lkmvTvN4+607NnUPMP30Rfo1zmynzM0aK7rA9OUFEZcBtbLppLbV+PX2fW6YrWlo84tUrB/1+ODODKp+WiN6/NxOm3ZvavsBZ2jC4EVJajKK7/B0jMgixb4Xj61yMORRmd2ue3jTr3Px9+cEDqz70FEZfR5dIb/2ipvUEeNmARPKdPc8oCmEI5RkJ2XHl1GoHZQ== Received: from CY1NAM02FT018.eop-nam02.prod.protection.outlook.com (10.152.74.55) by CY1NAM02HT103.eop-nam02.prod.protection.outlook.com (10.152.74.238) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19; Thu, 25 Feb 2021 18:57:06 +0000 Received: from MWHPR06MB3102.namprd06.prod.outlook.com (2a01:111:e400:7e45::42) by CY1NAM02FT018.mail.protection.outlook.com (2a01:111:e400:7e45::439) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19 via Frontend Transport; Thu, 25 Feb 2021 18:57:06 +0000 Received: from MWHPR06MB3102.namprd06.prod.outlook.com ([fe80::d4ee:1260:6f53:3f7b]) by MWHPR06MB3102.namprd06.prod.outlook.com ([fe80::d4ee:1260:6f53:3f7b%7]) with mapi id 15.20.3868.032; Thu, 25 Feb 2021 18:57:05 +0000 From: "Kun Qin" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" , "jiewen.yao@intel.com" , "'Wu, Hao A'" , "'Kinney, Michael D'" , "'Liu, Zhiguang'" CC: "'Wang, Jian J'" , "'Dong, Eric'" , "'Ni, Ray'" Subject: Re: [edk2-devel] [PATCH v2 1/6] MdeModulePkg: DxeMmUnblockMemoryLib: Added definition and null instance Thread-Topic: [edk2-devel] [PATCH v2 1/6] MdeModulePkg: DxeMmUnblockMemoryLib: Added definition and null instance Thread-Index: AQHW/0uUyofdi3a8+UuCoenhRzNoH6pk0TcGgAA6fQCAARwymoAAce8AgAABuICAAAIkf4ACYdOAgABDb/E= Date: Thu, 25 Feb 2021 18:57:05 +0000 Message-ID: References: <20210210012457.315-1-kun.q@outlook.com>, , , ,<005901d70b7f$0e320430$2a960c90$@byosoft.com.cn> In-Reply-To: <005901d70b7f$0e320430$2a960c90$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:2BE0E4B10BC11B9A0CD7EF9D4466CEC1C4B3BE0F00ABF9E1C7201B92D29A1795;UpperCasedChecksum:FA50AD745FEF61B5608729B29F3D2B31A7085CD3690378C47C9AD11FCBA66C4D;SizeAsReceived:7887;Count:44 x-tmn: [3Nlkt2Pi2SsZ1/H8+MY1R6/jWYakswtd] x-ms-publictraffictype: Email x-incomingheadercount: 44 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: 045913b1-07eb-444f-b971-08d8d9bf2541 x-ms-traffictypediagnostic: CY1NAM02HT103: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: B6a3Tuf9qmu5iIX486xnaWEkTINzsbQick8lDoV+p0YoSA7ZmVdqQ02cUEyHvly3su08XxYOL7u08ami3e6vEd5RJhqoB1R6YLF1nFwUnzJf4tuGqHH4OC53tnMlkFrNJYZnJg2vneEq9OihBxig5jfvIALRRng5YtWF49fLIZvD9KimrW00VIC7AeJShYE3OmkCEB1B15dAyCuGVLmYEL42m3Yr/jn0a5yOqDbFJIV6Ab6LY2HYxSnf9KEuHS+1o8chmIWmqxfI/cJA9/NxZSuTtEQADPYziPwStoIZXREHN7wL5sJ+bhPHZ/gX1rBZw0H3yI0NIR6cGF/zE/+jSDPnTZzKh6CUDX6/ojBw8hWj73yVQxfCPkjcu3N7EeugBcG+2xVkbrzcKzG3ckNXn2LFZcFl8R6q12b1pPAAEun4oZtpVIDOPAMZwB4vRvHW x-ms-exchange-antispam-messagedata: dicN73COCyUpqSyn9XEGnAqpNsvKTBmuuYYoa1TWjaWEbC765x6qBubEgBn6SiwDEqCBTN5F3w3HXP4qQKHiYPatkNYaN2yOktj5hqvenDFLeyZUlKN+z7YaxzS8in7I6QsXG3Gp3NCrpPfvf/y6Rw== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-AuthSource: CY1NAM02FT018.eop-nam02.prod.protection.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 045913b1-07eb-444f-b971-08d8d9bf2541 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Feb 2021 18:57:05.9526 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1NAM02HT103 X-Groupsio-MsgNum: 72206 Content-Language: en-US Content-Type: multipart/related; boundary="_004_MWHPR06MB31029E9E30FEF052EC66621EF39E9MWHPR06MB3102namp_"; type="multipart/alternative" --_004_MWHPR06MB31029E9E30FEF052EC66621EF39E9MWHPR06MB3102namp_ Content-Type: multipart/alternative; boundary="_000_MWHPR06MB31029E9E30FEF052EC66621EF39E9MWHPR06MB3102namp_" --_000_MWHPR06MB31029E9E30FEF052EC66621EF39E9MWHPR06MB3102namp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGkgTGltaW5nLA0KDQpUaGFua3MgZm9yIGNvbmZpcm1hdGlvbi4gSGVyZSBpcyBhIHByZXZpZXcg aW1wbGVtZW50YXRpb24gd2UgaGF2ZToNCkludHJvZHVjZSBTdGFuZGxvbmUgTU0gaW5zdGFuY2Ug b2YgTU0gdW5ibG9jayBtZW1vcnkgoaQga3VxaW4xMi9tdV9iYXNlY29yZUAxNmRmZGMzIChnaXRo dWIuY29tKTxodHRwczovL2dpdGh1Yi5jb20va3VxaW4xMi9tdV9iYXNlY29yZS9jb21taXQvMTZk ZmRjMzIwODA4ZDJiZjM0ZTgxNjIxYWY5YTk4NzFiYzZhN2EwZD4NCg0KQnV0IHBsZWFzZSBrbm93 IHRoYXQgdGhlIHJlYWwgaW1wbGVtZW50YXRpb24gd2lsbCBuZWVkIHRvIHBhaXIgd2l0aCB0aGUg c3RhbmRhbG9uZSBtbSBzb2x1dGlvbiB0aGF0IGJsb2NrcyBhbGwgbWVtb3J5IGFjY2Vzcy4gV2Ug d291bGQgYmUgaGFwcHkgdG8gc2hhcmUgaXQgYWxvbmcgd2l0aCB0aGUgcmVhbCBsaWJyYXJ5IGlt cGxlbWVudGF0aW9uIHdoZW4gYWxsIHBpZWNlcyBhcmUgcmVhZHkuDQoNClRoYW5rcywNCkt1bg0K DQpGcm9tOiBnYW9saW1pbmc8bWFpbHRvOmdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NClNlbnQ6 IFRodXJzZGF5LCBGZWJydWFyeSAyNSwgMjAyMSAwNjowNA0KVG86IGRldmVsQGVkazIuZ3JvdXBz LmlvPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbz47IGt1bi5xQG91dGxvb2suY29tPG1haWx0 bzprdW4ucUBvdXRsb29rLmNvbT47IGppZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4u eWFvQGludGVsLmNvbT47ICdXdSwgSGFvIEEnPG1haWx0bzpoYW8uYS53dUBpbnRlbC5jb20+OyAn S2lubmV5LCBNaWNoYWVsIEQnPG1haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47ICdM aXUsIFpoaWd1YW5nJzxtYWlsdG86emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCkNjOiAnV2FuZywg SmlhbiBKJzxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPjsgJ0RvbmcsIEVyaWMnPG1haWx0 bzplcmljLmRvbmdAaW50ZWwuY29tPjsgJ05pLCBSYXknPG1haWx0bzpyYXkubmlAaW50ZWwuY29t Pg0KU3ViamVjdDogu9i4tDogW2VkazItZGV2ZWxdIFtQQVRDSCB2MiAxLzZdIE1kZU1vZHVsZVBr ZzogRHhlTW1VbmJsb2NrTWVtb3J5TGliOiBBZGRlZCBkZWZpbml0aW9uIGFuZCBudWxsIGluc3Rh bmNlDQoNCkt1bjoNCiBJIGFncmVlIHRvIGFkZCBuZXcgbGlicmFyeSBjbGFzcyBNbVVuYmxvY2tN ZW1vcnlMaWIgYW5kIGl0cyBOVUxMIGltcGxlbWVudGF0aW9uIGludG8gTWRlUGtnLiBJIHdhbnQg dG8gY29uZmlybSB3aGVyZSBpcyB0aGUgcmVhbCBpbXBsZW1lbnRhdGlvbiBmb3IgTW1VbmJsb2Nr TWVtb3J5TGliLg0KDQpUaGFua3MNCkxpbWluZw0Kt6K8/sjLOiBkZXZlbEBlZGsyLmdyb3Vwcy5p byA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+ILT6se0gS3VuIFFpbg0Kt6LLzcqxvOQ6IDIwMjHE6jLU wjI0yNUgOTo0OQ0KytW8/sjLOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgamlld2VuLnlhb0BpbnRl bC5jb207IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsgZ2FvbGltaW5nIDxnYW9saW1p bmdAYnlvc29mdC5jb20uY24+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBp bnRlbC5jb20+OyBMaXUsIFpoaWd1YW5nIDx6aGlndWFuZy5saXVAaW50ZWwuY29tPg0Ks63LzTog V2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBEb25nLCBFcmljIDxlcmljLmRv bmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IFlhbywgSmlld2VuIDxq aWV3ZW4ueWFvQGludGVsLmNvbT4NCtb3zOI6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYyIDEv Nl0gTWRlTW9kdWxlUGtnOiBEeGVNbVVuYmxvY2tNZW1vcnlMaWI6IEFkZGVkIGRlZmluaXRpb24g YW5kIG51bGwgaW5zdGFuY2UNCg0KSGkgSmlld2VuLA0KDQpJIGFncmVlIHdpdGggeW91ciAgYXNz ZXNzbWVudCB0aGF0IGl0IGNvdWxkIGhhdmUgYSBQRUkgYW5kIHBvdGVudGlhbGx5IE1NIGluc3Rh bmNlLiBXaWxsIHJlbW92ZSB0aGUgcHJlZml4IGFuZCBjaGFuZ2UgdGhlbSB0byBgTW1VbmJsb2Nr TWVtb3J5TGliYCBpbiB2MyBwYXRjaGVzLiBUaGFua3MgZm9yIHRoZSBpbnB1dC4NCg0KUmVnYXJk cywNCkt1bg0KDQpGcm9tOiBZYW8sIEppZXdlbjxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+ DQpTZW50OiBUdWVzZGF5LCBGZWJydWFyeSAyMywgMjAyMSAxNzozMw0KVG86IFd1LCBIYW8gQTxt YWlsdG86aGFvLmEud3VAaW50ZWwuY29tPjsgS3VuIFFpbjxtYWlsdG86a3VuLnFAb3V0bG9vay5j b20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+OyBn YW9saW1pbmc8bWFpbHRvOmdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IEtpbm5leSwgTWljaGFl bCBEPG1haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IExpdSwgWmhpZ3Vhbmc8bWFp bHRvOnpoaWd1YW5nLmxpdUBpbnRlbC5jb20+DQpDYzogV2FuZywgSmlhbiBKPG1haWx0bzpqaWFu Lmoud2FuZ0BpbnRlbC5jb20+OyBEb25nLCBFcmljPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29t PjsgTmksIFJheTxtYWlsdG86cmF5Lm5pQGludGVsLmNvbT47IFlhbywgSmlld2VuPG1haWx0bzpq aWV3ZW4ueWFvQGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYy IDEvNl0gTWRlTW9kdWxlUGtnOiBEeGVNbVVuYmxvY2tNZW1vcnlMaWI6IEFkZGVkIGRlZmluaXRp b24gYW5kIG51bGwgaW5zdGFuY2UNCg0KSSBmZWVsIHRoZSBuYW1lIGlzIGNvbmZ1c2luZy4NCg0K VGhlIGNsYXNzIG5hbWUgaXMgRHhlTW1VbmJsb2NrTWVtb3J5TGliLiBCdXQgYWN0dWFsbHksIHRo aXMgaXMgbm90IHJlbGF0ZWQgdG8gRFhFIHBoYXNlLg0KDQpJIGJlbGlldmUsIGl0IGlzIGFsc28g YXBwbGljYWJsZSB0byBQRUkgcGhhc2UsIGlmIHdlIGhhdmUgYSBQRUkgaW5zdGFuY2UuIFBsZWFz ZSBjb3JyZWN0IG1lIGlmIEkgYW0gd3JvbmcuDQpBbHNvLCB3ZSBjYW4gaGF2ZSBTTU0gaW5zdGFu Y2UsIHJpZ2h0Pw0KDQpJZiB0aGF0IGlzIHRydWUsIHRoZW4gSSBwcmVmZXIgdG8gcmVtb3ZlIER4 ZSBwcmVmaXguDQoNCkZyb206IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPG1haWx0bzpo YW8uYS53dUBpbnRlbC5jb20+Pg0KU2VudDogV2VkbmVzZGF5LCBGZWJydWFyeSAyNCwgMjAyMSA5 OjI3IEFNDQpUbzogS3VuIFFpbiA8a3VuLnFAb3V0bG9vay5jb208bWFpbHRvOmt1bi5xQG91dGxv b2suY29tPj47IGRldmVsQGVkazIuZ3JvdXBzLmlvPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5p bz47IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2VuLnlhb0Bp bnRlbC5jb20+PjsgZ2FvbGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY248bWFpbHRvOmdh b2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb208bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPj47IExpdSwg WmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb208bWFpbHRvOnpoaWd1YW5nLmxpdUBpbnRl bC5jb20+Pg0KQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPG1haWx0bzpq aWFuLmoud2FuZ0BpbnRlbC5jb20+PjsgRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbTxt YWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPG1h aWx0bzpyYXkubmlAaW50ZWwuY29tPj4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENI IHYyIDEvNl0gTWRlTW9kdWxlUGtnOiBEeGVNbVVuYmxvY2tNZW1vcnlMaWI6IEFkZGVkIGRlZmlu aXRpb24gYW5kIG51bGwgaW5zdGFuY2UNCg0KVGhhbmtzIEt1biwNCg0KRm9yIHB1dHRpbmcgdGhl IG5ldyBsaWJyYXJ5IGluIE1kZVBrZywgSSBhbSBub3Qgc3VyZSB3aGV0aGVyIHRoaXMgaXMgYSBz aW1pbGFyIGNhc2UgdG8gU21tTWVtTGliLg0KSSBsb29wZWQgSmlld2VuLCBMaW1pbmcgYW5kIE1p a2UgdG8gY2hlY2sgaWYgdGhleSBoYXZlIGNvbW1lbnRzIG9uIHRoaXMuDQoNCkJlc3QgUmVnYXJk cywNCkhhbyBXdQ0KDQpGcm9tOiBLdW4gUWluIDxrdW4ucUBvdXRsb29rLmNvbTxtYWlsdG86a3Vu LnFAb3V0bG9vay5jb20+Pg0KU2VudDogV2VkbmVzZGF5LCBGZWJydWFyeSAyNCwgMjAyMSAzOjMw IEFNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW88bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlv PjsgV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb208bWFpbHRvOmhhby5hLnd1QGludGVsLmNv bT4+OyBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9A aW50ZWwuY29tPj47IGdhb2xpbWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPG1haWx0bzpn YW9saW1pbmdAYnlvc29mdC5jb20uY24+PjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5r aW5uZXlAaW50ZWwuY29tPG1haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4+OyBMaXUs IFpoaWd1YW5nIDx6aGlndWFuZy5saXVAaW50ZWwuY29tPG1haWx0bzp6aGlndWFuZy5saXVAaW50 ZWwuY29tPj4NCkNjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbTxtYWlsdG86 amlhbi5qLndhbmdAaW50ZWwuY29tPj47IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb208 bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+PjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbTxt YWlsdG86cmF5Lm5pQGludGVsLmNvbT4+DQpTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRD SCB2MiAxLzZdIE1kZU1vZHVsZVBrZzogRHhlTW1VbmJsb2NrTWVtb3J5TGliOiBBZGRlZCBkZWZp bml0aW9uIGFuZCBudWxsIGluc3RhbmNlDQoNCkhpIEhhbywNCg0KVGhhbmtzIGZvciB0aGUgc3Vn Z2VzdGlvbi4gSSBjYW4gbW92ZSB0aGUgbGlicmFyeSB0byBNZGVQa2cgc2ltaWxhciB0byBTbW1N ZW1MaWIgYW5kIGFkZCB0aGUgY2hhbmdlIGZvciBPVk1GLg0KDQpMaW1pbmcvWmhpZ3VhbmcsDQoN CkkgYW0gaGFwcHkgdG8gcHJlcGFyZSBwYXRjaGVzIHRvIGNvdmVyIHRoZSBkZXBlbmRlbmN5IGNo YW5nZSBpbiBlZDItcGxhdGZvcm0gaW4gYSBzZXBhcmF0ZSBwYXRjaCBzZXJpZXMuIEJ1dCBwbGVh c2UgbGV0IG1lIGtub3cgaWYgeW91IHdvdWxkIGxpa2UgdG8gcHJvY2VlZCBvdGhlcndpc2UuDQoN ClRoYW5rcywNCkt1bg0KDQpGcm9tOiBXdSwgSGFvIEE8bWFpbHRvOmhhby5hLnd1QGludGVsLmNv bT4NClNlbnQ6IE1vbmRheSwgRmVicnVhcnkgMjIsIDIwMjEgMTc6NDINClRvOiBLdW4gUWluPG1h aWx0bzprdW4ucUBvdXRsb29rLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvPG1haWx0bzpkZXZl bEBlZGsyLmdyb3Vwcy5pbz47IFlhbywgSmlld2VuPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNv bT47IGdhb2xpbWluZzxtYWlsdG86Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgS2lubmV5LCBN aWNoYWVsIEQ8bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgTGl1LCBaaGlndWFu ZzxtYWlsdG86emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCkNjOiBXYW5nLCBKaWFuIEo8bWFpbHRv OmppYW4uai53YW5nQGludGVsLmNvbT47IERvbmcsIEVyaWM8bWFpbHRvOmVyaWMuZG9uZ0BpbnRl bC5jb20+OyBOaSwgUmF5PG1haWx0bzpyYXkubmlAaW50ZWwuY29tPg0KU3ViamVjdDogUmU6IFtl ZGsyLWRldmVsXSBbUEFUQ0ggdjIgMS82XSBNZGVNb2R1bGVQa2c6IER4ZU1tVW5ibG9ja01lbW9y eUxpYjogQWRkZWQgZGVmaW5pdGlvbiBhbmQgbnVsbCBpbnN0YW5jZQ0KDQpIZWxsbyBLdW4sDQoN ClNvcnJ5IGZvciB0aGUgZGVsYXllZCByZXNwb25zZS4NCg0KRXhjZXB0IGZvciBtaXNzaW5nIHRo ZSBVTkkgZmlsZSBmb3IgdGhlIG5ld2x5IGFkZGVkIGxpYnJhcnksIEkgZG8gbm90IGhhdmUgb3Ro ZXIgY29tbWVudCBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGF0IHRoaXMgbW9tZW50Lg0KQnV0IEkg YW0gd29uZGVyaW5nIGlmIHRoaXMgbGlicmFyeSBjYW4gYmUgYWRkZWQgaW50byB0aGUgTWRlUGtn IGFzIHRoZSBjYXNlIGZvciBNZGVQa2dcTGlicmFyeVxTbW1NZW1MaWJcDQpJIGhhdmUgbG9vcGVk IGluIEppZXdlbiwgTGltaW5nIGFuZCBNaWtlIGZvciBjb21tZW50cy4NCg0KQWxzbywgc2luY2U6 DQoqIE5ldyBsaWJyYXJ5IGRlcGVuZGVuY3kgZm9yIFZhcmlhYmxlU21tUnVudGltZUR4ZS5pbmYN CiogSU5GIGZpbGUgc2VwYXJhdGlvbiBhbmQgbmV3IGxpYnJhcnkgZGVwZW5kZW5jeSBpbiBUY2cy U21tDQpJIHRoaW5rIHRoZSBzZXJpZXMgbmVlZHMgdG8gcHJlcGFyZSB0aGUgY2hhbmdlcyBmb3Ig cGxhdGZvcm1zIHVuZGVyIGVkazIgKE9WTUYpIGFuZCBlZGsyLXBsYXRmb3JtcyByZXBvc2l0b3Jp ZXMgdGhhdCBjb25zdW1lIHRoZSBhYm92ZSAyIG1vZHVsZXMuDQpJIGFtIG5vdCBleGFjdGx5IHN1 cmUgb24gaG93IHRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgd2l0aGluIGVkazItcGxhdGZvcm1zLCBz byBJIGFkZGVkIExpbWluZyBhbmQgWmhpZ3VhbmcgaGVyZSBmb3IgY29tbWVudHMuDQoNCkJlc3Qg UmVnYXJkcywNCkhhbyBXdQ0KDQpGcm9tOiBLdW4gUWluIDxrdW4ucUBvdXRsb29rLmNvbTxtYWls dG86a3VuLnFAb3V0bG9vay5jb20+Pg0KU2VudDogVHVlc2RheSwgRmVicnVhcnkgMjMsIDIwMjEg NjoxNSBBTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vw cy5pbz47IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPG1haWx0bzpoYW8uYS53dUBpbnRl bC5jb20+Pg0KQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPG1haWx0bzpq aWFuLmoud2FuZ0BpbnRlbC5jb20+PjsgRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbTxt YWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPG1h aWx0bzpyYXkubmlAaW50ZWwuY29tPj47IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNv bTxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+Pg0KU3ViamVjdDogUkU6IFtQQVRDSCB2MiAx LzZdIE1kZU1vZHVsZVBrZzogRHhlTW1VbmJsb2NrTWVtb3J5TGliOiBBZGRlZCBkZWZpbml0aW9u IGFuZCBudWxsIGluc3RhbmNlDQoNCkhpIEhhbywNCg0KVGhlIHBhdGNoIHNlcmllcyB3YXMgcmVz ZW50IHdpdGggaW50ZW5kZWQgdXNhZ2UgaW4gVmFyaWFibGVSdW50aW1lIGFuZCBUY2cyIGRyaXZl cnMuIENvdWxkIHlvdSBwbGVhc2UgcHJvdmlkZSBmZWVkYmFjayBvbiB0aGVtPyBBbnkgaW5wdXQg aXMgYXBwcmVjaWF0ZWQuDQoNClJlZ2FyZHMsDQpLdW4NCg0KRnJvbTogS3VuIFFpbjxtYWlsdG86 a3VuLnFAb3V0bG9vay5jb20+DQpTZW50OiBUdWVzZGF5LCBGZWJydWFyeSA5LCAyMDIxIDE3OjI1 DQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW88bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPg0K Q2M6IEppYW4gSiBXYW5nPG1haWx0bzpqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBIYW8gQSBXdTxt YWlsdG86aGFvLmEud3VAaW50ZWwuY29tPjsgRXJpYyBEb25nPG1haWx0bzplcmljLmRvbmdAaW50 ZWwuY29tPjsgUmF5IE5pPG1haWx0bzpyYXkubmlAaW50ZWwuY29tPjsgSmlld2VuIFlhbzxtYWls dG86amlld2VuLnlhb0BpbnRlbC5jb20+DQpTdWJqZWN0OiBbUEFUQ0ggdjIgMS82XSBNZGVNb2R1 bGVQa2c6IER4ZU1tVW5ibG9ja01lbW9yeUxpYjogQWRkZWQgZGVmaW5pdGlvbiBhbmQgbnVsbCBp bnN0YW5jZQ0KDQpSRUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5j Z2k/aWQ9MzE2OA0KDQpUaGlzIGludGVyZmFjZSBkZWZpbml0aW9uIHByb3ZpZGVzIGFuIGFic3Ry YWN0aW9uIGxheWVyIGZvciBEWEUgZHJpdmVycw0KdG8gcmVxdWVzdCBjZXJ0YWluIG1lbW9yeSBi bG9ja3MgdG8gYmUgbWFwcGVkL3VuYmxvY2tlZCBmb3IgYWNjZXNzaWJpbGl0eQ0KaW5zaWRlIE1N IGVudmlyb25tZW50Lg0KDQpDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbTxt YWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPj4NCkNjOiBIYW8gQSBXdSA8aGFvLmEud3VAaW50 ZWwuY29tPG1haWx0bzpoYW8uYS53dUBpbnRlbC5jb20+Pg0KQ2M6IEVyaWMgRG9uZyA8ZXJpYy5k b25nQGludGVsLmNvbTxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+DQpDYzogUmF5IE5pIDxy YXkubmlAaW50ZWwuY29tPG1haWx0bzpyYXkubmlAaW50ZWwuY29tPj4NCkNjOiBKaWV3ZW4gWWFv IDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+Pg0KDQpT aWduZWQtb2ZmLWJ5OiBLdW4gUWluIDxrdW4ucUBvdXRsb29rLmNvbTxtYWlsdG86a3VuLnFAb3V0 bG9vay5jb20+Pg0KLS0tDQoNCk5vdGVzOg0KICAgIHYyOg0KICAgIC0gUmVzZW5kIHdpdGggcHJh Y3RpY2FsIHVzYWdlLiBObyBjaGFuZ2UgW0hhb10NCg0KIE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4 ZU1tVW5ibG9ja01lbW9yeUxpYi9EeGVNbVVuYmxvY2tNZW1vcnlMaWJOdWxsLmMgICB8IDQwICsr KysrKysrKysrKysrKysrKysrDQogTWRlTW9kdWxlUGtnL0luY2x1ZGUvTGlicmFyeS9EeGVNbVVu YmxvY2tNZW1vcnlMaWIuaCAgICAgICAgICAgICAgICAgICAgIHwgNDAgKysrKysrKysrKysrKysr KysrKysNCiBNZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVNbVVuYmxvY2tNZW1vcnlMaWIvRHhlTW1V bmJsb2NrTWVtb3J5TGliTnVsbC5pbmYgfCAyOSArKysrKysrKysrKysrKw0KIE1kZU1vZHVsZVBr Zy9NZGVNb2R1bGVQa2cuZGVjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA1ICsrKw0KIE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZHNjICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICsNCiA1IGZpbGVzIGNoYW5nZWQs IDExNiBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvTGlicmFyeS9E eGVNbVVuYmxvY2tNZW1vcnlMaWIvRHhlTW1VbmJsb2NrTWVtb3J5TGliTnVsbC5jIGIvTWRlTW9k dWxlUGtnL0xpYnJhcnkvRHhlTW1VbmJsb2NrTWVtb3J5TGliL0R4ZU1tVW5ibG9ja01lbW9yeUxp Yk51bGwuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uNzc0YTdl NDFjZmIwDQotLS0gL2Rldi9udWxsDQorKysgYi9NZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVNbVVu YmxvY2tNZW1vcnlMaWIvRHhlTW1VbmJsb2NrTWVtb3J5TGliTnVsbC5jDQpAQCAtMCwwICsxLDQw IEBADQorLyoqIEBmaWxlDQorICBOdWxsIGluc3RhbmNlIG9mIE1NIFVuYmxvY2sgUGFnZSBMaWJy YXJ5Lg0KKw0KKyAgVGhpcyBsaWJyYXJ5IHByb3ZpZGVzIGFuIGFic3RyYWN0aW9uIGxheWVyIG9m IHJlcXVlc3RpbmcgY2VydGFpbiBwYWdlIGFjY2VzcyB0byBiZSB1bmJsb2NrZWQNCisgIGJ5IE1N IGVudmlyb25tZW50IGlmIGFwcGxpY2FibGUuDQorDQorICBDb3B5cmlnaHQgKGMpLCBNaWNyb3Nv ZnQgQ29ycG9yYXRpb24uDQorICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KKw0KKyoqLw0KKw0KKyNpbmNsdWRlIDxVZWZpLmg+DQorDQorLyoqDQorICBUaGlz IEFQSSBwcm92aWRlcyBhIHdheSB0byB1bmJsb2NrIGNlcnRhaW4gZGF0YSBwYWdlcyB0byBiZSBh Y2Nlc3NpYmxlIGluc2lkZSBNTSBlbnZpcm9ubWVudC4NCisNCisgIEBwYXJhbSAgVW5ibG9ja0Fk ZHJlc3MgICAgICAgICAgVGhlIGFkZHJlc3Mgb2YgYnVmZmVyIGNhbGxlciByZXF1ZXN0cyB0byB1 bmJsb2NrLCB0aGUgYWRkcmVzcw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo YXMgdG8gYmUgcGFnZSBhbGlnbmVkLg0KKyAgQHBhcmFtICBOdW1iZXJPZlBhZ2VzICAgICAgICAg ICBUaGUgbnVtYmVyIG9mIHBhZ2VzIHJlcXVlc3RlZCB0byBiZSB1bmJsb2NrZWQgZnJvbSBNTQ0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudC4NCisNCisgIEBy ZXR1cm4gRUZJX1NVQ0NFU1MgICAgICAgICAgICAgVGhlIHJlcXVlc3QgZ29lcyB0aHJvdWdoIHN1 Y2Nlc3NmdWxseS4NCisgIEByZXR1cm4gRUZJX05PVF9BVkFJTEFCTEVfWUVUICAgVGhlIHJlcXVl c3RlZCBmdW5jdGlvbmFsaXR5IGlzIG5vdCBwcm9kdWNlZCB5ZXQuDQorICBAcmV0dXJuIEVGSV9V TlNVUFBPUlRFRCAgICAgICAgIFRoZSByZXF1ZXN0ZWQgZnVuY3Rpb25hbGl0eSBpcyBub3Qgc3Vw cG9ydGVkIG9uIGN1cnJlbnQgcGxhdGZvcm0uDQorICBAcmV0dXJuIEVGSV9TRUNVUklUWV9WSU9M QVRJT04gIFRoZSByZXF1ZXN0ZWQgYWRkcmVzcyBmYWlsZWQgdG8gcGFzcyBzZWN1cml0eSBjaGVj ayBmb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5ibG9ja2luZy4NCisg IEByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgSW5wdXQgYWRkcmVzcyBlaXRoZXIgTlVM TCBwb2ludGVyIG9yIG5vdCBwYWdlIGFsaWduZWQuDQorICBAcmV0dXJuIEVGSV9BQ0NFU1NfREVO SUVEICAgICAgIFRoZSByZXF1ZXN0IGlzIHJlamVjdGVkIGR1ZSB0byBzeXN0ZW0gaGFzIHBhc3Nl ZCBjZXJ0YWluIGJvb3QNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGhhc2Uu DQorDQorKiovDQorRUZJX1NUQVRVUw0KK0VGSUFQSQ0KK0R4ZU1tVW5ibG9ja01lbW9yeVJlcXVl c3QgKA0KKyAgSU4gRUZJX1BIWVNJQ0FMX0FERFJFU1MgICBVbmJsb2NrQWRkcmVzcywNCisgIElO IFVJTlQ2NCAgICAgICAgICAgICAgICAgTnVtYmVyT2ZQYWdlcw0KKyAgKQ0KK3sNCisgIHJldHVy biBFRklfVU5TVVBQT1JURUQ7DQorfQ0KZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9JbmNsdWRl L0xpYnJhcnkvRHhlTW1VbmJsb2NrTWVtb3J5TGliLmggYi9NZGVNb2R1bGVQa2cvSW5jbHVkZS9M aWJyYXJ5L0R4ZU1tVW5ibG9ja01lbW9yeUxpYi5oDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMDAwMDAwLi44YjYzZWI3NGEwNzgNCi0tLSAvZGV2L251bGwNCisrKyBiL01kZU1v ZHVsZVBrZy9JbmNsdWRlL0xpYnJhcnkvRHhlTW1VbmJsb2NrTWVtb3J5TGliLmgNCkBAIC0wLDAg KzEsNDAgQEANCisvKiogQGZpbGUNCisgIE1NIFVuYmxvY2sgTWVtb3J5IExpYnJhcnkgSW50ZXJm YWNlLg0KKw0KKyAgVGhpcyBsaWJyYXJ5IHByb3ZpZGVzIGFuIGFic3RyYWN0aW9uIGxheWVyIG9m IHJlcXVlc3RpbmcgY2VydGFpbiBwYWdlIGFjY2VzcyB0byBiZSB1bmJsb2NrZWQNCisgIGJ5IE1N IGVudmlyb25tZW50IGlmIGFwcGxpY2FibGUuDQorDQorICBDb3B5cmlnaHQgKGMpLCBNaWNyb3Nv ZnQgQ29ycG9yYXRpb24uDQorICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KKw0KKyoqLw0KKw0KKyNpZm5kZWYgX0RYRV9NTV9VTkJMT0NLX01FTU9SWV9MSUJf SF8NCisjZGVmaW5lIF9EWEVfTU1fVU5CTE9DS19NRU1PUllfTElCX0hfDQorDQorLyoqDQorICBU aGlzIEFQSSBwcm92aWRlcyBhIHdheSB0byB1bmJsb2NrIGNlcnRhaW4gZGF0YSBwYWdlcyB0byBi ZSBhY2Nlc3NpYmxlIGluc2lkZSBNTSBlbnZpcm9ubWVudC4NCisNCisgIEBwYXJhbSAgVW5ibG9j a0FkZHJlc3MgICAgICAgICAgVGhlIGFkZHJlc3Mgb2YgYnVmZmVyIGNhbGxlciByZXF1ZXN0cyB0 byB1bmJsb2NrLCB0aGUgYWRkcmVzcw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBoYXMgdG8gYmUgcGFnZSBhbGlnbmVkLg0KKyAgQHBhcmFtICBOdW1iZXJPZlBhZ2VzICAgICAg ICAgICBUaGUgbnVtYmVyIG9mIHBhZ2VzIHJlcXVlc3RlZCB0byBiZSB1bmJsb2NrZWQgZnJvbSBN TQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudC4NCisNCisg IEByZXR1cm4gRUZJX1NVQ0NFU1MgICAgICAgICAgICAgVGhlIHJlcXVlc3QgZ29lcyB0aHJvdWdo IHN1Y2Nlc3NmdWxseS4NCisgIEByZXR1cm4gRUZJX05PVF9BVkFJTEFCTEVfWUVUICAgVGhlIHJl cXVlc3RlZCBmdW5jdGlvbmFsaXR5IGlzIG5vdCBwcm9kdWNlZCB5ZXQuDQorICBAcmV0dXJuIEVG SV9VTlNVUFBPUlRFRCAgICAgICAgIFRoZSByZXF1ZXN0ZWQgZnVuY3Rpb25hbGl0eSBpcyBub3Qg c3VwcG9ydGVkIG9uIGN1cnJlbnQgcGxhdGZvcm0uDQorICBAcmV0dXJuIEVGSV9TRUNVUklUWV9W SU9MQVRJT04gIFRoZSByZXF1ZXN0ZWQgYWRkcmVzcyBmYWlsZWQgdG8gcGFzcyBzZWN1cml0eSBj aGVjayBmb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5ibG9ja2luZy4N CisgIEByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgSW5wdXQgYWRkcmVzcyBlaXRoZXIg TlVMTCBwb2ludGVyIG9yIG5vdCBwYWdlIGFsaWduZWQuDQorICBAcmV0dXJuIEVGSV9BQ0NFU1Nf REVOSUVEICAgICAgIFRoZSByZXF1ZXN0IGlzIHJlamVjdGVkIGR1ZSB0byBzeXN0ZW0gaGFzIHBh c3NlZCBjZXJ0YWluIGJvb3QNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGhh c2UuDQorDQorKiovDQorRUZJX1NUQVRVUw0KK0VGSUFQSQ0KK0R4ZU1tVW5ibG9ja01lbW9yeVJl cXVlc3QgKA0KKyAgSU4gRUZJX1BIWVNJQ0FMX0FERFJFU1MgICBVbmJsb2NrQWRkcmVzcywNCisg IElOIFVJTlQ2NCAgICAgICAgICAgICAgICAgTnVtYmVyT2ZQYWdlcw0KKyk7DQorDQorI2VuZGlm IC8vIF9EWEVfTU1fVU5CTE9DS19NRU1PUllfTElCX0hfDQpkaWZmIC0tZ2l0IGEvTWRlTW9kdWxl UGtnL0xpYnJhcnkvRHhlTW1VbmJsb2NrTWVtb3J5TGliL0R4ZU1tVW5ibG9ja01lbW9yeUxpYk51 bGwuaW5mIGIvTWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlTW1VbmJsb2NrTWVtb3J5TGliL0R4ZU1t VW5ibG9ja01lbW9yeUxpYk51bGwuaW5mDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAw MDAwMDAwMDAwLi5lNDA0NjJlNWFiODENCi0tLSAvZGV2L251bGwNCisrKyBiL01kZU1vZHVsZVBr Zy9MaWJyYXJ5L0R4ZU1tVW5ibG9ja01lbW9yeUxpYi9EeGVNbVVuYmxvY2tNZW1vcnlMaWJOdWxs LmluZg0KQEAgLTAsMCArMSwyOSBAQA0KKyMjIEBmaWxlDQorIyAgTnVsbCBpbnN0YW5jZSBvZiBN TSBVbmJsb2NrIFBhZ2UgTGlicmFyeS4NCisjDQorIyAgVGhpcyBsaWJyYXJ5IHByb3ZpZGVzIGFu IGFic3RyYWN0aW9uIGxheWVyIG9mIHJlcXVlc3RpbmcgY2VydGFpbiBwYWdlIGFjY2VzcyB0byBi ZSB1bmJsb2NrZWQNCisjICBieSBNTSBlbnZpcm9ubWVudCBpZiBhcHBsaWNhYmxlLg0KKyMNCisj ICBDb3B5cmlnaHQgKGMpLCBNaWNyb3NvZnQgQ29ycG9yYXRpb24uDQorIyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCisjDQorIw0KKyMjDQorDQorW0RlZmlu ZXNdDQorICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDFCDQorICBC QVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBEeGVNbVVuYmxvY2tNZW1vcnlMaWJOdWxs DQorICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgPSA5RTg5MEY2OC01Qzk1LTRDMzEt OTVERC01OUU2Mjg2Rjg1RUENCisgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IEJB U0UNCisgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KKyAgTElCUkFSWV9D TEFTUyAgICAgICAgICAgICAgICAgID0gRHhlTW1VbmJsb2NrTWVtb3J5TGliDQorDQorIw0KKyMg IFZBTElEX0FSQ0hJVEVDVFVSRVMgICAgICAgICAgID0gSUEzMiBYNjQNCisjDQorDQorW1NvdXJj ZXNdDQorICBEeGVNbVVuYmxvY2tNZW1vcnlMaWJOdWxsLmMNCisNCitbUGFja2FnZXNdDQorICBN ZGVQa2cvTWRlUGtnLmRlYw0KZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cu ZGVjIGIvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCmluZGV4IDE0ODM5NTUxMTAzNC4u MWJiNTAxN2RhMmM1IDEwMDY0NA0KLS0tIGEvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMN CisrKyBiL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQpAQCAtMTU0LDYgKzE1NCwxMSBA QCBbTGlicmFyeUNsYXNzZXNdDQogICAjDQogICBWYXJpYWJsZVBvbGljeUhlbHBlckxpYnxJbmNs dWRlL0xpYnJhcnkvVmFyaWFibGVQb2xpY3lIZWxwZXJMaWIuaA0KDQorICAjIyAgQGxpYnJhcnlj bGFzcyAgVGhpcyBsaWJyYXJ5IHByb3ZpZGVzIGFuIGludGVyZmFjZSBmb3IgRFhFIGRyaXZlcnMg dG8gcmVxdWVzdCBNTSBlbnZpcm9ubWVudA0KKyAgIyAgIHRvIG1hcC91bmJsb2NrIGEgbWVtb3J5 IHJlZ2lvbiBmb3IgYWNjZXNzaWJpbGl0eSBpbnNpZGUgTU0uDQorICAjDQorICBEeGVNbVVuYmxv Y2tNZW1vcnlMaWJ8SW5jbHVkZS9MaWJyYXJ5L0R4ZU1tVW5ibG9ja01lbW9yeUxpYi5oDQorDQog W0d1aWRzXQ0KICAgIyMgTWRlTW9kdWxlIHBhY2thZ2UgdG9rZW4gc3BhY2UgZ3VpZA0KICAgIyBJ bmNsdWRlL0d1aWQvTWRlTW9kdWxlUGtnVG9rZW5TcGFjZS5oDQpkaWZmIC0tZ2l0IGEvTWRlTW9k dWxlUGtnL01kZU1vZHVsZVBrZy5kc2MgYi9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRzYw0K aW5kZXggN2NhNGExYmIzMDgwLi4yYmM2Yjg3MzBiOGIgMTAwNjQ0DQotLS0gYS9NZGVNb2R1bGVQ a2cvTWRlTW9kdWxlUGtnLmRzYw0KKysrIGIvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kc2MN CkBAIC0xMDAsNiArMTAwLDcgQEAgW0xpYnJhcnlDbGFzc2VzXQ0KICAgU2FmZUludExpYnxNZGVQ a2cvTGlicmFyeS9CYXNlU2FmZUludExpYi9CYXNlU2FmZUludExpYi5pbmYNCiAgIERpc3BsYXlV cGRhdGVQcm9ncmVzc0xpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9EaXNwbGF5VXBkYXRlUHJvZ3Jl c3NMaWJHcmFwaGljcy9EaXNwbGF5VXBkYXRlUHJvZ3Jlc3NMaWJHcmFwaGljcy5pbmYNCiAgIFZh cmlhYmxlUG9saWN5SGVscGVyTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1ZhcmlhYmxlUG9saWN5 SGVscGVyTGliL1ZhcmlhYmxlUG9saWN5SGVscGVyTGliLmluZg0KKyAgRHhlTW1VbmJsb2NrTWVt b3J5TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZU1tVW5ibG9ja01lbW9yeUxpYi9EeGVNbVVu YmxvY2tNZW1vcnlMaWJOdWxsLmluZg0KDQogW0xpYnJhcnlDbGFzc2VzLkVCQy5QRUlNXQ0KICAg SW9MaWJ8TWRlUGtnL0xpYnJhcnkvUGVpSW9MaWJDcHVJby9QZWlJb0xpYkNwdUlvLmluZg0KQEAg LTMzMiw2ICszMzMsNyBAQCBbQ29tcG9uZW50c10NCiAgIE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0Jh c2VCbXBTdXBwb3J0TGliL0Jhc2VCbXBTdXBwb3J0TGliLmluZg0KICAgTWRlTW9kdWxlUGtnL0xp YnJhcnkvRGlzcGxheVVwZGF0ZVByb2dyZXNzTGliR3JhcGhpY3MvRGlzcGxheVVwZGF0ZVByb2dy ZXNzTGliR3JhcGhpY3MuaW5mDQogICBNZGVNb2R1bGVQa2cvTGlicmFyeS9EaXNwbGF5VXBkYXRl UHJvZ3Jlc3NMaWJUZXh0L0Rpc3BsYXlVcGRhdGVQcm9ncmVzc0xpYlRleHQuaW5mDQorICBNZGVN b2R1bGVQa2cvTGlicmFyeS9EeGVNbVVuYmxvY2tNZW1vcnlMaWIvRHhlTW1VbmJsb2NrTWVtb3J5 TGliTnVsbC5pbmYNCg0KICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9CZHNEeGUvQmRzRHhlLmlu Zg0KICAgTWRlTW9kdWxlUGtnL0FwcGxpY2F0aW9uL0Jvb3RNYW5hZ2VyTWVudUFwcC9Cb290TWFu YWdlck1lbnVBcHAuaW5mDQotLQ0KMi4zMC4wLndpbmRvd3MuMQ0KDQoNCg0KDQoNCg== --_000_MWHPR06MB31029E9E30FEF052EC66621EF39E9MWHPR06MB3102namp_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

Hi Liming,

 

Thanks for confirmation. Here is a preview implemen= tation we have:

Introduce Standlone MM inst= ance of MM unblock memory =A1=A4 kuqin12/mu_basecore@16dfdc3 (github.com)

 

But please know that the real implementation will n= eed to pair with the standalone mm solution that blocks all memory access. = We would be happy to share it along with the real library implementation wh= en all pieces are ready.

 

Thanks,

Kun

 

From: gaoliming
Sent: Thursday, February 25, 2021 06:04
To: devel@edk2.groups.io; kun.q@outlook.com; jiewen.yao@= intel.com; 'Wu, Hao A'; 'Kinney, Michael D'; 'Liu, Z= higuang'
Cc: 'Wang, Jian J'; 'Dong, Eric'; 'Ni, Ray'
Subject: =BB=D8= = =B8=B4: [edk2-devel] [PATCH v2 1/6] MdeModulePkg: DxeMmUnblockMemor= yLib: Added definition and null instance

 

Kun:

 I agree to add new library class MmUnblockMemoryLib and its NULL implementation into MdePkg. I want = to confirm where is the real implementation for MmUnblockMemoryLib.

 

Thanks

Liming

=B7=A2=BC=FE=C8=CB:<= /span> devel@edk2.groups.io <de= vel@edk2.groups.io> =B4=FA=B1=ED Kun Qin
=B7=A2=CB=CD=CA=B1=BC=E4: 2021=C4=EA2=D4=C224=C8=D5 9:49
=CA=D5=BC=FE=C8=CB: devel@edk2.groups.i= o; jiewen.yao@intel.com; Wu, Hao A <hao.a.wu@intel.com>; gaoliming &l= t;gaoliming@byosoft.com.cn>; Kinney, Michael D <michael.d.kinney@inte= l.com>; Liu, Zhiguang <zhiguang.liu@intel.com>
=B3=AD=CB=CD: Wang, Jian J <jian.j.w= ang@intel.com>; Dong, Eric <eric.dong@intel.com>; Ni, Ray <ray.= ni@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>
=D6=F7=CC=E2: Re: [edk2-devel] [PATCH v= 2 1/6] MdeModulePkg: DxeMmUnblockMemoryLib: Added definition and null insta= nce

 

Hi Jiewen,

 

I agree with your  assessment that it could ha= ve a PEI and potentially MM instance. Will remove the prefix and change the= m to `MmUnblockMemoryLib` in v3 patches. Thanks for the input.

 

Regards,

Kun

 

From: Yao, Jiewen
Sent: Tuesday, February 23, 2021 17:33
To: Wu, Hao A; Kun Qin; devel@edk2.groups.io<= /a>; gaoliming; Kinney, Micha= el D; Liu, Zhiguang
Cc: Wang, Jian J; Dong, Eric; Ni, Ray; Yao, Jiewen
Subject: Re: [edk2-devel] [PATCH v2 1/6] MdeModulePkg: DxeMmUnblock= MemoryLib: Added definition and null instance

 

I feel the name is confusing.

 

The class name is DxeMmUnblockMemoryLib. But actual= ly, this is not related to DXE phase.

 

I believe, it is also applicable to PEI phase, if w= e have a PEI instance. Please correct me if I am wrong.

Also, we can have SMM instance, right?

 

If that is true, then I prefer to remove Dxe prefix= .

 

From: Wu, Hao A <hao.a.wu@intel.com>
Sent: Wednesday, February 24, 2021 9:27 AM
To: Kun Qin <kun.q@outlook.= com>; devel@edk2.groups.io; Yao, Jiewen <jiewen.yao@intel.com>; gaoliming <gaoliming@byosoft.com.cn>; Kinney, Michael D &l= t;michael.d.kinney@intel.com<= /a>>; Liu, Zhiguang <zhiguang.liu@= intel.com>
Cc: Wang, Jian J <jian.= j.wang@intel.com>; Dong, Eric <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>
Subject: RE: [edk2-devel] [PATCH v2 1/6] MdeModulePkg: DxeMmUnblock= MemoryLib: Added definition and null instance

 

Thanks Kun,

 

For putting the new library in MdePkg, I am not sur= e whether this is a similar case to SmmMemLib.

I looped Jiewen, Liming and Mike to check if they h= ave comments on this.

 

Best Regards,

Hao Wu

 

From: Kun Qin <kun.q@outlook.com>
Sent: Wednesday, February 24, 2021 3:30 AM
To: devel@edk2.groups.io; Wu, Hao A <hao.a.wu@intel.com>; Yao, Jiewen <jiewen.yao@= intel.com>; gaoliming <gaoliming@byosoft.com.cn>; Kinney, Michael D <micha= el.d.kinney@intel.com>; Liu, Zhiguang <zhiguang.liu@intel.com>
Cc: Wang, Jian J <jian.= j.wang@intel.com>; Dong, Eric <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>
Subject: RE: [edk2-devel] [PATCH v2 1/6] MdeModulePkg: DxeMmUnblock= MemoryLib: Added definition and null instance

 

Hi Hao,

 

Thanks for the suggestion. I can move the library t= o MdePkg similar to SmmMemLib and add the change for OVMF.

 

Liming/Zhiguang,

 

I am happy to prepare patches to cover the dependen= cy change in ed2-platform in a separate patch series. But please let me kno= w if you would like to proceed otherwise.

 

Thanks,

Kun

 

From: = Wu, Hao A
Sent: Monday, February 22, 2021 17:42
To: Kun Qin; devel@edk2.groups.io; Yao, Jie= wen; gaoliming; Kinney, Micha= el D; Liu, Zhiguang
Cc: Wang, Jian J; Dong, Eric; Ni, Ray
Subject: Re: [edk2-devel] [PATCH v2 1/6] MdeModulePkg: DxeMmUnblock= MemoryLib: Added definition and null instance

 

Hello Kun,

 

Sorry for the delayed response.

 

Except for missing the UNI file for the newly added= library, I do not have other comment for the implementation at this moment= .

But I am wondering if this library can be added int= o the MdePkg as the case for MdePkg\Library\SmmMemLib\

I have looped in Jiewen, Liming and Mike for commen= ts.

 

Also, since:

* New library dependency for VariableSmmRuntimeDxe.= inf

* INF file separation and new library dependency in= Tcg2Smm

I think the series needs to prepare the changes for= platforms under edk2 (OVMF) and edk2-platforms repositories that consume t= he above 2 modules.

I am not exactly sure on how this should be handled= within edk2-platforms, so I added Liming and Zhiguang here for comments.

 

Best Regards,

Hao Wu

 

From: Kun Qin <kun.q@outlook.com>
Sent: Tuesday, February 23, 2021 6:15 AM
To: devel@edk2.groups.io; Wu, Hao A <hao.a.wu@intel.com>
Cc: Wang, Jian J <
jian.= j.wang@intel.com>; Dong, Eric <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>
Subject: RE: [PATCH v2 1/6] MdeModulePkg: DxeMmUnblockMemoryLib: Ad= ded definition and null instance

 

Hi Hao,

 

The patch series was resent with intended usage in = VariableRuntime and Tcg2 drivers. Could you please provide feedback on them= ? Any input is appreciated.

 

Regards,

Kun

 

From: K= un Qin
Sent: Tuesday, February 9, 2021 17:25
To: devel@edk2.groups.io
Cc:
Jian J Wang; Hao A Wu; Eric Dong; Ray Ni; Jiewen Yao
Subject: [PATCH v2 1/6] MdeModulePkg: DxeMmUnblockMemoryLib: Added = definition and null instance

 

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3168

This interface definition provides an abstraction layer for DXE drivers to request certain memory blocks to be mapped/unblocked for accessibility<= br> inside MM environment.

Cc: Jian J Wang <jian.j.wang@i= ntel.com>
Cc: Hao A Wu <hao.a.wu@intel.com<= /a>>
Cc: Eric Dong <
eric.dong@intel.c= om>
Cc: Ray Ni <ray.ni@intel.com>= ;
Cc: Jiewen Yao <jiewen.yao@inte= l.com>

Signed-off-by: Kun Qin <kun.q@outl= ook.com>
---

Notes:
    v2:
    - Resend with practical usage. No change [Hao]

 MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull= .c   | 40 ++++++++++++++++++++
 MdeModulePkg/Include/Library/DxeMmUnblockMemoryLib.h  &nbs= p;            &= nbsp;     | 40 ++++++++++++++++++++
 MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull= .inf | 29 ++++++++++++++
 MdeModulePkg/MdeModulePkg.dec      &nb= sp;            =             &nb= sp;            |&nbs= p; 5 +++
 MdeModulePkg/MdeModulePkg.dsc      &nb= sp;            =             &nb= sp;            |&nbs= p; 2 +
 5 files changed, 116 insertions(+)

diff --git a/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemory= LibNull.c b/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLi= bNull.c
new file mode 100644
index 000000000000..774a7e41cfb0
--- /dev/null
+++ b/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull= .c
@@ -0,0 +1,40 @@
+/** @file
+  Null instance of MM Unblock Page Library.
+
+  This library provides an abstraction layer of requesting certain p= age access to be unblocked
+  by MM environment if applicable.
+
+  Copyright (c), Microsoft Corporation.
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Uefi.h>
+
+/**
+  This API provides a way to unblock certain data pages to be access= ible inside MM environment.
+
+  @param  UnblockAddress      &nb= sp;   The address of buffer caller requests to unblock, the addre= ss
+            &= nbsp;           &nbs= p;         has to be page aligned.<= br> +  @param  NumberOfPages      &nbs= p;    The number of pages requested to be unblocked from MM<= br> +            &= nbsp;           &nbs= p;         environment.
+
+  @return EFI_SUCCESS        = ;     The request goes through successfully.
+  @return EFI_NOT_AVAILABLE_YET   The requested functional= ity is not produced yet.
+  @return EFI_UNSUPPORTED       &= nbsp; The requested functionality is not supported on current platform.
+  @return EFI_SECURITY_VIOLATION  The requested address failed = to pass security check for
+            &= nbsp;           &nbs= p;         unblocking.
+  @return EFI_INVALID_PARAMETER   Input address either NUL= L pointer or not page aligned.
+  @return EFI_ACCESS_DENIED       The = request is rejected due to system has passed certain boot
+            &= nbsp;           &nbs= p;         phase.
+
+**/
+EFI_STATUS
+EFIAPI
+DxeMmUnblockMemoryRequest (
+  IN EFI_PHYSICAL_ADDRESS   UnblockAddress,
+  IN UINT64         &nb= sp;       NumberOfPages
+  )
+{
+  return EFI_UNSUPPORTED;
+}
diff --git a/MdeModulePkg/Include/Library/DxeMmUnblockMemoryLib.h b/MdeMod= ulePkg/Include/Library/DxeMmUnblockMemoryLib.h
new file mode 100644
index 000000000000..8b63eb74a078
--- /dev/null
+++ b/MdeModulePkg/Include/Library/DxeMmUnblockMemoryLib.h
@@ -0,0 +1,40 @@
+/** @file
+  MM Unblock Memory Library Interface.
+
+  This library provides an abstraction layer of requesting certain p= age access to be unblocked
+  by MM environment if applicable.
+
+  Copyright (c), Microsoft Corporation.
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _DXE_MM_UNBLOCK_MEMORY_LIB_H_
+#define _DXE_MM_UNBLOCK_MEMORY_LIB_H_
+
+/**
+  This API provides a way to unblock certain data pages to be access= ible inside MM environment.
+
+  @param  UnblockAddress      &nb= sp;   The address of buffer caller requests to unblock, the addre= ss
+            &= nbsp;           &nbs= p;         has to be page aligned.<= br> +  @param  NumberOfPages      &nbs= p;    The number of pages requested to be unblocked from MM<= br> +            &= nbsp;           &nbs= p;         environment.
+
+  @return EFI_SUCCESS        = ;     The request goes through successfully.
+  @return EFI_NOT_AVAILABLE_YET   The requested functional= ity is not produced yet.
+  @return EFI_UNSUPPORTED       &= nbsp; The requested functionality is not supported on current platform.
+  @return EFI_SECURITY_VIOLATION  The requested address failed = to pass security check for
+            &= nbsp;           &nbs= p;         unblocking.
+  @return EFI_INVALID_PARAMETER   Input address either NUL= L pointer or not page aligned.
+  @return EFI_ACCESS_DENIED       The = request is rejected due to system has passed certain boot
+            &= nbsp;           &nbs= p;         phase.
+
+**/
+EFI_STATUS
+EFIAPI
+DxeMmUnblockMemoryRequest (
+  IN EFI_PHYSICAL_ADDRESS   UnblockAddress,
+  IN UINT64         &nb= sp;       NumberOfPages
+);
+
+#endif // _DXE_MM_UNBLOCK_MEMORY_LIB_H_
diff --git a/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemory= LibNull.inf b/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemory= LibNull.inf
new file mode 100644
index 000000000000..e40462e5ab81
--- /dev/null
+++ b/MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNull= .inf
@@ -0,0 +1,29 @@
+## @file
+#  Null instance of MM Unblock Page Library.
+#
+#  This library provides an abstraction layer of requesting certain = page access to be unblocked
+#  by MM environment if applicable.
+#
+#  Copyright (c), Microsoft Corporation.
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+#
+##
+
+[Defines]
+  INF_VERSION         &= nbsp;          =3D 0x0001001B<= br> +  BASE_NAME         &nb= sp;            =3D D= xeMmUnblockMemoryLibNull
+  FILE_GUID         &nb= sp;            =3D 9= E890F68-5C95-4C31-95DD-59E6286F85EA
+  MODULE_TYPE         &= nbsp;          =3D BASE
+  VERSION_STRING        &nbs= p;        =3D 1.0
+  LIBRARY_CLASS         = ;         =3D DxeMmUnblockMemoryLib=
+
+#
+#  VALID_ARCHITECTURES       &nbs= p;   =3D IA32 X64
+#
+
+[Sources]
+  DxeMmUnblockMemoryLibNull.c
+
+[Packages]
+  MdePkg/MdePkg.dec
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec=
index 148395511034..1bb5017da2c5 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -154,6 +154,11 @@ [LibraryClasses]
   #
   VariablePolicyHelperLib|Include/Library/VariablePolicyHelperL= ib.h
 
+  ##  @libraryclass  This library provides an interface fo= r DXE drivers to request MM environment
+  #   to map/unblock a memory region for accessibility ins= ide MM.
+  #
+  DxeMmUnblockMemoryLib|Include/Library/DxeMmUnblockMemoryLib.h
+
 [Guids]
   ## MdeModule package token space guid
   # Include/Guid/MdeModulePkgTokenSpace.h
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc=
index 7ca4a1bb3080..2bc6b8730b8b 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -100,6 +100,7 @@ [LibraryClasses]
   SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf    DisplayUpdateProgressLib|MdeModulePkg/Library/DisplayUpdatePr= ogressLibGraphics/DisplayUpdateProgressLibGraphics.inf
   VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHe= lperLib/VariablePolicyHelperLib.inf
+  DxeMmUnblockMemoryLib|MdeModulePkg/Library/DxeMmUnblockMemoryLib/D= xeMmUnblockMemoryLibNull.inf
 
 [LibraryClasses.EBC.PEIM]
   IoLib|MdePkg/Library/PeiIoLibCpuIo/PeiIoLibCpuIo.inf
@@ -332,6 +333,7 @@ [Components]
   MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf<= br>    MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/Display= UpdateProgressLibGraphics.inf
   MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpda= teProgressLibText.inf
+  MdeModulePkg/Library/DxeMmUnblockMemoryLib/DxeMmUnblockMemoryLibNu= ll.inf
 
   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
   MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuAp= p.inf
--
2.30.0.windows.1

 

 

 

 

--_000_MWHPR06MB31029E9E30FEF052EC66621EF39E9MWHPR06MB3102namp_-- --_004_MWHPR06MB31029E9E30FEF052EC66621EF39E9MWHPR06MB3102namp_ Content-Type: image/png; name="42C13E93F70C492C960618AE78817471.png" Content-Description: 42C13E93F70C492C960618AE78817471.png Content-Disposition: inline; filename="42C13E93F70C492C960618AE78817471.png"; size=135; creation-date="Thu, 25 Feb 2021 18:57:04 GMT"; modification-date="Thu, 25 Feb 2021 18:57:04 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAr0AAAABCAYAAADTsxb/AAAAAXNSR0IArs4c6QAAAARnQU1BAACx jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAcSURBVEhL7cOBCQAADAKg/n+6dcdQMFNVVf07 PUOSumJlX4+/AAAAAElFTkSuQmCC --_004_MWHPR06MB31029E9E30FEF052EC66621EF39E9MWHPR06MB3102namp_--