From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=104.47.0.62; helo=eur01-he1-obe.outbound.protection.outlook.com; envelope-from=sami.mujawar@arm.com; receiver=edk2-devel@lists.01.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0062.outbound.protection.outlook.com [104.47.0.62]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E4A25210C1B62 for ; Tue, 19 Jun 2018 02:32:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z9irafsvT9laDP51rCAzq8Y0b0wE6cIYlYR+w+PskJU=; b=JuzwtQUniJxhICCidqSl9VV63oiTcYzlUqzqDg7OCv/jp4GMKxQBiZhnt7/0pEgxRBQ3/jdWAB3JvNUmFaNbIAoVcH4ZXXe6x3glj6em6C5iY2lPn3PRWhPUXVD8/hQsXWf5HDK1liy77w0o3aiLycXHrNFLpsAQA7YF6TP60Vo= Received: from DB6PR0802MB2375.eurprd08.prod.outlook.com (10.172.228.142) by DB6PR0802MB2278.eurprd08.prod.outlook.com (10.172.227.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.17; Tue, 19 Jun 2018 09:32:33 +0000 Received: from DB6PR0802MB2375.eurprd08.prod.outlook.com ([fe80::8176:1e3f:735b:69a9]) by DB6PR0802MB2375.eurprd08.prod.outlook.com ([fe80::8176:1e3f:735b:69a9%3]) with mapi id 15.20.0863.016; Tue, 19 Jun 2018 09:32:33 +0000 From: Sami Mujawar To: "Zeng, Star" , "edk2-devel@lists.01.org" CC: "ruiyu.ni@intel.com" , Stephanie Hughes-Fitt , "eric.dong@intel.com" , "ard.biesheuvel@linaro.org" , "leif.lindholm@linaro.org" , nd Thread-Topic: [edk2] [PATCH v1] MdeModulePkg: Enable SATA Controller PCI mem space Thread-Index: AQHUA9RBvXPUPqzE2EiMrlu+4RCDKqRhEn+AgAAM3yCABcovAIAAbzDQ Date: Tue, 19 Jun 2018 09:32:32 +0000 Message-ID: References: <20180614113820.11872-1-sami.mujawar@arm.com> <0bf51b69-39dd-4d2e-b1b7-9a65914a42b3@intel.com> In-Reply-To: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [217.140.96.140] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB6PR0802MB2278; 7:2w008toMkspwb1x4RF3KBzYKGXsIkdj5ww0sSnRr1z39Z6G25DVIvKvHjEMFfA7KByqSh3rD/DSq4Fr/I3r5yS6Hb8kjs2qNwI0+o82T/EZKcwP7wwpwFMUnQkyY6Fo0miL4S0w+zM2EAOUciS5RMGHDTlPwDce6/45ePPvLEvwfi1FFYByLqwzKoSWfwVvZ8Fq/EnRlxeXqrdm3UUlbilBNiQuH4Via0QioiAxYeQdai79vpByOFpsYMAiZBn+h x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-ms-office365-filtering-correlation-id: 548b99a0-f63c-4eca-c5cd-08d5d5c795bc x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:DB6PR0802MB2278; x-ms-traffictypediagnostic: DB6PR0802MB2278: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Sami.Mujawar@arm.com; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917)(166708455590820)(162533806227266)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(93001095)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:DB6PR0802MB2278; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2278; x-forefront-prvs: 07083FF734 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(396003)(366004)(376002)(39380400002)(39860400002)(13464003)(199004)(189003)(26005)(476003)(68736007)(99286004)(11346002)(97736004)(446003)(2906002)(3660700001)(6306002)(5660300001)(14454004)(9686003)(55016002)(3280700002)(6436002)(966005)(575784001)(186003)(72206003)(86362001)(53936002)(110136005)(54906003)(316002)(478600001)(59450400001)(105586002)(8676002)(53546011)(7696005)(76176011)(74316002)(106356001)(93886005)(102836004)(81156014)(6246003)(6506007)(81166006)(66066001)(8936002)(229853002)(486006)(33656002)(305945005)(5250100002)(25786009)(6116002)(7736002)(4326008)(2501003)(345774005)(2900100001)(3846002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0802MB2278; H:DB6PR0802MB2375.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: PiIv3/egCv4epqtS8hALX2kDTGDkNTK/FPPHCDjub3MoSxw0cKp7DPrMhbb8MPGdAcAZYcn1D1Qyw2qoBBRGZyztpy8vy1IVC5m8dXZ0rN3ODeMdfbjTuP7A01e/41m7jPPm2zeB5/SkGL1AG46xRiOvxrE8H6gnWYbDE6PAzKAi1z0fGH0w/+4H2ziu7f4Gn5/jrGuhJo/+kPcIvelUuIGtIEuZqHAVIXeiGpUTOPHMcbU0Vc6XAboHxPmtq0vw2UQAVpo9R1GvW3QAOxV4SHj2dx4pmJxsUQFWy4cAmWbIwS1qHwbH98PR9JZS0fiRg0uBK9f3DZZ1m9GsdeGzuA== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 548b99a0-f63c-4eca-c5cd-08d5d5c795bc X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jun 2018 09:32:32.9317 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2278 Subject: Re: [PATCH v1] MdeModulePkg: Enable SATA Controller PCI mem space X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jun 2018 09:32:40 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgU3RhciwNCg0KVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLiBJIHdpbGwgc3VibWl0IGEg bmV3IHBhdGNoIHdpdGggdGhlIGlzc3VlcyBhZGRyZXNzZWQuDQpLaW5kbHkgaWdub3JlIHRoZSB2 MiBwYXRjaC4NCg0KUmVnYXJkcywNCg0KU2FtaSBNdWphd2FyDQoNCi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQpGcm9tOiBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPiANClNlbnQ6 IDE5IEp1bmUgMjAxOCAwMzo1MyBBTQ0KVG86IFNhbWkgTXVqYXdhciA8U2FtaS5NdWphd2FyQGFy bS5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KQ2M6IHJ1aXl1Lm5pQGludGVsLmNvbTsg U3RlcGhhbmllIEh1Z2hlcy1GaXR0IDxTdGVwaGFuaWUuSHVnaGVzLUZpdHRAYXJtLmNvbT47IGVy aWMuZG9uZ0BpbnRlbC5jb207IGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc7IGxlaWYubGluZGhv bG1AbGluYXJvLm9yZzsgbmQgPG5kQGFybS5jb20+OyBzdGFyLnplbmdAaW50ZWwuY29tDQpTdWJq ZWN0OiBSZTogW2VkazJdIFtQQVRDSCB2MV0gTWRlTW9kdWxlUGtnOiBFbmFibGUgU0FUQSBDb250 cm9sbGVyIFBDSSBtZW0gc3BhY2UNCg0KSGkgU2FtaSwNCg0KTXkgZmVlZGJhY2sgYXJlIGlubGlu ZS4NCg0KT24gMjAxOC82LzE1IDIxOjUxLCBTYW1pIE11amF3YXIgd3JvdGU6DQo+IEhpIFplbmcs DQo+IA0KPiBQbGVhc2UgZmluZCBteSByZXNwb25zZSBtYXJrZWQgW1NBTUldIGJlbG93Lg0KPiAN Cj4gUmVnYXJkcywNCj4gDQo+IFNhbWkgTXVqYXdhcg0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gRnJvbTogWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gU2Vu dDogMTUgSnVuZSAyMDE4IDEwOjQyIEFNDQo+IFRvOiBTYW1pIE11amF3YXIgPFNhbWkuTXVqYXdh ckBhcm0uY29tPjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gQ2M6IHJ1aXl1Lm5pQGludGVs LmNvbTsgbmQgPG5kQGFybS5jb20+OyBTdGVwaGFuaWUgSHVnaGVzLUZpdHQgDQo+IDxTdGVwaGFu aWUuSHVnaGVzLUZpdHRAYXJtLmNvbT47IGVyaWMuZG9uZ0BpbnRlbC5jb207IA0KPiBhcmQuYmll c2hldXZlbEBsaW5hcm8ub3JnOyBsZWlmLmxpbmRob2xtQGxpbmFyby5vcmc7IA0KPiBzdGFyLnpl bmdAaW50ZWwuY29tDQo+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIHYxXSBNZGVNb2R1bGVQ a2c6IEVuYWJsZSBTQVRBIENvbnRyb2xsZXIgDQo+IFBDSSBtZW0gc3BhY2UNCj4gDQo+IEdlbmVy YWxseSwgdGhlIHBhdGNoIGlzIGdvb2QgdG8gbWUuDQo+IFNvbWUgY29tbWVudHMgYmVsb3cuDQo+ IA0KPiBPbiAyMDE4LzYvMTQgMTk6MzgsIFNhbWkgTXVqYXdhciB3cm90ZToNCj4+IFRoZSBTQVRB IGNvbnRyb2xsZXIgZHJpdmVyIGNyYXNoZXMgd2hpbGUgYWNjZXNzaW5nIHRoZSBQQ0kgbWVtb3J5 LCBhcyANCj4+IHRoZSBQQ0kgbWVtb3J5IHNwYWNlIGlzIG5vdCBlbmFibGVkLg0KPiANCj4gVGhl IGNvZGUgImFjY2Vzc2luZyB0aGUgUENJIG1lbW9yeSIgeW91IG1lbnRpb25lZCBoZXJlIGlzIHRo ZSBBaGNpUmVhZFJlZyBpbiB0aGUgZm9sbG93aW5nIGNvZGUgYmxvY2ssIHJpZ2h0Pw0KPiBbU0FN SV0gWWVzLg0KPj4NCj4+IEVuYWJsZSB0aGUgUENJIG1lbW9yeSBzcGFjZSBhY2Nlc3MgdG8gcHJl dmVudCB0aGUgU0FUQSBDb250cm9sbGVyIA0KPj4gZHJpdmVyIGZyb20gY3Jhc2hpbmcuDQo+Pg0K Pj4gQ29udHJpYnV0ZWQtdW5kZXI6IFRpYW5vQ29yZSBDb250cmlidXRpb24gQWdyZWVtZW50IDEu MQ0KPj4gU2lnbmVkLW9mZi1ieTogU2FtaSBNdWphd2FyIDxzYW1pLm11amF3YXJAYXJtLmNvbT4N Cj4+IC0tLQ0KPj4gVGhlIGNoYW5nZXMgY2FuIGJlIHNlZW4gYXQNCj4+IGh0dHBzOi8vZ2l0aHVi LmNvbS9zYW1pbXVqYXdhci9lZGsyL3RyZWUvMjg0X3NhdGFfY29udHJvbGVyX3BjaV9tZW1fZg0K Pj4gaQ0KPj4geF92MQ0KPj4NCj4+IE5vdGVzOg0KPj4gICAgICAgdjE6DQo+PiAgICAgICAtIEZp eCBTQVRBIENvbnRyb2xsZXIgZHJpdmVyIGNyYXNoICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbU0FNSV0NCj4+DQo+PiAgICBNZGVNb2R1bGVQa2cvQnVzL1BjaS9TYXRhQ29udHJvbGxl ckR4ZS9TYXRhQ29udHJvbGxlci5jIHwgODAgKysrKysrKysrKysrKysrKysrKy0NCj4+ICAgIE1k ZU1vZHVsZVBrZy9CdXMvUGNpL1NhdGFDb250cm9sbGVyRHhlL1NhdGFDb250cm9sbGVyLmggfCAg NyArKw0KPj4gICAgMiBmaWxlcyBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9CdXMvUGNpL1NhdGFDb250cm9s bGVyRHhlL1NhdGFDb250cm9sbGVyLmMNCj4+IGIvTWRlTW9kdWxlUGtnL0J1cy9QY2kvU2F0YUNv bnRyb2xsZXJEeGUvU2F0YUNvbnRyb2xsZXIuYw0KPj4gaW5kZXgNCj4+IGE2ZDU1YzE1NTcxNzI4 ZWIzZmQ1NzIwMDNmMzgzYmE3Yzg2NjM1YWUuLjIxY2MxMDFkNjkzZjVhZGZkOWQ0M2YwYzIxYQ0K Pj4gMA0KPj4gOTZlYjU5YmE3M2IxIDEwMDY0NA0KPj4gLS0tIGEvTWRlTW9kdWxlUGtnL0J1cy9Q Y2kvU2F0YUNvbnRyb2xsZXJEeGUvU2F0YUNvbnRyb2xsZXIuYw0KPj4gKysrIGIvTWRlTW9kdWxl UGtnL0J1cy9QY2kvU2F0YUNvbnRyb2xsZXJEeGUvU2F0YUNvbnRyb2xsZXIuYw0KPj4gQEAgLTIs NiArMiw3IEBADQo+PiAgICAgIFRoaXMgZHJpdmVyIG1vZHVsZSBwcm9kdWNlcyBJREVfQ09OVFJP TExFUl9JTklUIHByb3RvY29sIGZvciBTYXRhIENvbnRyb2xsZXJzLg0KPj4gICAgDQo+PiAgICAg IENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IA0KPj4gcmVzZXJ2ZWQuPEJSPg0KPj4gKyAgQ29weXJpZ2h0IChjKSAyMDE4LCBBUk0gTHRkLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4+ICAgICAgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNj b21wYW55aW5nIG1hdGVyaWFscw0KPj4gICAgICBhcmUgbGljZW5zZWQgYW5kIG1hZGUgYXZhaWxh YmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEIExpY2Vuc2UNCj4+ ICAgICAgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24uICBUaGUgZnVsbCB0ZXh0 IG9mIHRoZSANCj4+IGxpY2Vuc2UgbWF5IGJlIGZvdW5kIGF0IEBAIC0zNjQsNiArMzY1LDcgQEAg U2F0YUNvbnRyb2xsZXJTdGFydCAoDQo+PiAgICAgIEVGSV9TQVRBX0NPTlRST0xMRVJfUFJJVkFU RV9EQVRBICAqUHJpdmF0ZTsNCj4+ICAgICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERhdGEzMjsNCj4+ICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRv dGFsQ291bnQ7DQo+PiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGNpQXR0 cmlidXRlczsNCj4+ICAgIA0KPj4gICAgICBERUJVRyAoKEVGSV9EX0lORk8sICJTYXRhQ29udHJv bGxlclN0YXJ0IHN0YXJ0XG4iKSk7DQo+PiAgICANCj4+IEBAIC00MDYsNiArNDA4LDYxIEBAIFNh dGFDb250cm9sbGVyU3RhcnQgKA0KPj4gICAgICBQcml2YXRlLT5JZGVJbml0LkNhbGN1bGF0ZU1v ZGUgID0gSWRlSW5pdENhbGN1bGF0ZU1vZGU7DQo+PiAgICAgIFByaXZhdGUtPklkZUluaXQuU2V0 VGltaW5nICAgICAgPSBJZGVJbml0U2V0VGltaW5nOw0KPj4gICAgICBQcml2YXRlLT5JZGVJbml0 LkVudW1BbGwgICAgICAgID0gU0FUQV9FTlVNRVJfQUxMOw0KPj4gKyAgUHJpdmF0ZS0+UGNpQXR0 cmlidXRlc0NoYW5nZWQgICA9IEZBTFNFOw0KPj4gKw0KPj4gKyAgLy8gU2F2ZSBvcmlnaW5hbCBQ Q0kgYXR0cmlidXRlcw0KPj4gKyAgU3RhdHVzID0gUGNpSW8tPkF0dHJpYnV0ZXMgKA0KPj4gKyAg ICAgICAgICAgICAgICAgICAgUGNpSW8sDQo+PiArICAgICAgICAgICAgICAgICAgICBFZmlQY2lJ b0F0dHJpYnV0ZU9wZXJhdGlvbkdldCwNCj4+ICsgICAgICAgICAgICAgICAgICAgIDAsDQo+PiAr ICAgICAgICAgICAgICAgICAgICAmUHJpdmF0ZS0+T3JpZ2luYWxQY2lBdHRyaWJ1dGVzDQo+PiAr ICAgICAgICAgICAgICAgICAgICApOw0KPj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0K Pj4gKyAgICAgIGdvdG8gRG9uZTsNCj4+ICsgIH0NCj4gDQo+IEdvb2QgdG8gbWUuDQo+IA0KPj4g Kw0KPj4gKyAgREVCVUcgKCgNCj4+ICsgICAgRUZJX0RfSU5GTywNCj4+ICsgICAgIlBDSSBBdHRy aWJ1dGVzID0gMHglbGx4XG4iLA0KPiANCj4gSG93IGFib3V0IHVzaW5nICJPcmlnaW5hbCBQQ0kg QXR0cmlidXRlcyA9IDB4JWxseFxuIj8NCj4gW1NBTUldIEkgd2lsbCBzdWJtaXQgYSBwYXRjaCB3 aXRoIHRoaXMgZml4ZWQuDQo+IA0KPj4gKyAgICBQcml2YXRlLT5PcmlnaW5hbFBjaUF0dHJpYnV0 ZXMNCj4+ICsgICAgKSk7DQo+PiArDQo+PiArICBpZiAoKFByaXZhdGUtPk9yaWdpbmFsUGNpQXR0 cmlidXRlcyAmIEVGSV9QQ0lfSU9fQVRUUklCVVRFX01FTU9SWSkgPT0gMCkgew0KPj4gKyAgICBT dGF0dXMgPSBQY2lJby0+QXR0cmlidXRlcyAoDQo+PiArICAgICAgICAgICAgICAgICAgICAgIFBj aUlvLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICBFZmlQY2lJb0F0dHJpYnV0ZU9wZXJhdGlv blN1cHBvcnRlZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgMCwNCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgJlBjaUF0dHJpYnV0ZXMNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgKTsN Cj4+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPj4gKyAgICAgIGdvdG8gRG9uZTsN Cj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBERUJVRyAoKEVGSV9EX0lORk8sICJTdXBwb3J0ZWQg UENJIEF0dHJpYnV0ZXMgPSAweCVsbHhcbiIsIA0KPj4gKyBQY2lBdHRyaWJ1dGVzKSk7DQo+PiAr DQo+PiArICAgIGlmICgoUGNpQXR0cmlidXRlcyAmIEVGSV9QQ0lfSU9fQVRUUklCVVRFX01FTU9S WSkgPT0gMCkgew0KPj4gKyAgICAgIERFQlVHICgoDQo+PiArICAgICAgICBFRklfRF9FUlJPUiwN Cj4+ICsgICAgICAgICJFcnJvcjogRUZJX1BDSV9JT19BVFRSSUJVVEVfTUVNT1JZIG5vdCBzdXBw b3J0ZWRcbiINCj4+ICsgICAgICAgICkpOw0KPj4gKyAgICAgIFN0YXR1cyA9IEVGSV9VTlNVUFBP UlRFRDsNCj4+ICsgICAgICBnb3RvIERvbmU7DQo+PiArICAgIH0NCj4+ICsNCj4+ICsgICAgUGNp QXR0cmlidXRlcyA9IFByaXZhdGUtPk9yaWdpbmFsUGNpQXR0cmlidXRlcyB8IA0KPj4gKyBFRklf UENJX0lPX0FUVFJJQlVURV9NRU1PUlk7DQo+PiArDQo+PiArICAgIERFQlVHICgoRUZJX0RfSU5G TywgIkVuYWJsZSBQQ0kgQXR0cmlidXRlcyA9IDB4JWxseFxuIiwgUGNpQXR0cmlidXRlcykpOw0K Pj4gKyAgICBTdGF0dXMgPSBQY2lJby0+QXR0cmlidXRlcyAoDQo+PiArICAgICAgICAgICAgICAg ICAgICAgIFBjaUlvLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICBFZmlQY2lJb0F0dHJpYnV0 ZU9wZXJhdGlvbkVuYWJsZSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgUGNpQXR0cmlidXRl cywNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgTlVMTA0KPj4gKyAgICAgICAgICAgICAgICAg ICAgICApOw0KPj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+PiArICAgICAgZ290 byBEb25lOw0KPj4gKyAgICB9DQo+IA0KPiBJdCBpcyB0aGUgY2FzZSBmb3IgZW5hYmxpbmcgbWVt b3J5IHNwYWNlLCBidXQgdGhlcmUgbWF5IGJlIGNhc2UgdG8gbmVlZCBJTyBzcGFjZSBlbmFibGlu Zy4gSSBzdWdnZXN0IHRvIHVzZSB0aGUgY29kZSBibG9jayAoc2FtZSB3aXRoIG90aGVyIGRldmlj ZSBkcml2ZXJzKS4NCj4gDQo+ICAgICBTdGF0dXMgPSBQY2lJby0+QXR0cmlidXRlcyAoDQo+ICAg ICAgICAgICAgICAgICAgICAgICBQY2lJbywNCj4gICAgICAgICAgICAgICAgICAgICAgIEVmaVBj aUlvQXR0cmlidXRlT3BlcmF0aW9uU3VwcG9ydGVkLA0KPiAgICAgICAgICAgICAgICAgICAgICAg MCwNCj4gICAgICAgICAgICAgICAgICAgICAgICZTdXBwb3J0cw0KPiAgICAgICAgICAgICAgICAg ICAgICAgKTsNCj4gICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICAgICAgIFN1cHBv cnRzICY9IChVSU5UNjQpRUZJX1BDSV9ERVZJQ0VfRU5BQkxFOw0KPiAgICAgICBTdGF0dXMgPSBQ Y2lJby0+QXR0cmlidXRlcyAoDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIFBjaUlvLA0KPiAg ICAgICAgICAgICAgICAgICAgICAgICBFZmlQY2lJb0F0dHJpYnV0ZU9wZXJhdGlvbkVuYWJsZSwN Cj4gICAgICAgICAgICAgICAgICAgICAgICAgU3VwcG9ydHMsDQo+ICAgICAgICAgICAgICAgICAg ICAgICAgIE5VTEwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gICAgIH0NCj4gDQo+ IFtTQU1JXSBUaGlzIFNBVEEgQ29udHJvbGxlciBkcml2ZXIgb25seSB1c2VzIHRoZSBQQ0kgQkFS NSByZWdpc3RlciBzcGFjZSB3aGljaCBpcyB0aGUgQUhDSSBCYXNlIEFkZHJlc3MgKEFCQVIpLiBB Y2NvcmRpbmcgdG8gdGhlICdTZXJpYWwgQVRBIEFkdmFuY2VkIEhvc3QgQ29udHJvbGxlciBJbnRl cmZhY2UgKEFIQ0kpIDEuMy4xJyBzcGVjaWZpY2F0aW9uLCBzZWN0aW9uIDIuMS4xMSwgJ1RoaXMg cmVnaXN0ZXIgYWxsb2NhdGVzIHNwYWNlIGZvciB0aGUgSEJBIG1lbW9yeSByZWdpc3RlcnMnLg0K PiBUaGUgc2VjdGlvbiAyLjEuMTAsIGFsbG93cyBwcm92aXNpb24gZm9yIE9wdGlvbmFsIEJBUnMg d2hpY2ggbWF5IHN1cHBvcnQgZWl0aGVyIG1lbW9yeSBvciBJL08gc3BhY2VzLiBIb3dldmVyLCBp biB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBTQVRBIGNvbnRyb2xsZXIgZHJpdmVyLCB3aGlj aCBvbmx5IGV2ZXIgYWNjZXNzIHRoZSBBQkFSLCBlbmFibGluZyBJL08gbWVtb3J5IHNwYWNlIGlz IG5vdCByZXF1aXJlZC4NCg0KWWVzLCBJIGRpZCBrbm93IEFIQ0kgaGFzIEFCQVIgd2l0aCBtZW1v cnkgc3BhY2UuIEJ1dCB0aGlzIFNBVEEgQ29udHJvbGxlciBkcml2ZXIgYWxzbyBzdXBwb3J0cyBJ REUgbW9kZSB0aGF0IHVzZXMgSU8gc3BhY2UuDQpTbyBJIHN1Z2dlc3RlZCB0byBoYW5kbGUgdGhl bSBib3RoLiBUaGUgYXR0cmlidXRlcyBoYXMgYmVlbiByZWZsZWN0ZWQgaW4gU3VwcG9ydHMsIHRo ZSBjb2RlIGNhbiBuYXR1cmFsbHkgZW5hYmxlIHRoZSBzdXBwb3J0ZWQgYXR0cmlidXRlcy4NCg0K PiANCj4+ICsgICAgUHJpdmF0ZS0+UGNpQXR0cmlidXRlc0NoYW5nZWQgPSBUUlVFOyAgfQ0KPj4g ICAgDQo+PiAgICAgIFN0YXR1cyA9IFBjaUlvLT5QY2kuUmVhZCAoDQo+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQY2lJbywNCj4+IEBAIC00MTQsNyArNDcxLDEwIEBAIFNhdGFDb250cm9s bGVyU3RhcnQgKA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChQY2lEYXRh Lkhkci5DbGFzc0NvZGUpLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUGNpRGF0YS5I ZHIuQ2xhc3NDb2RlDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPj4gLSAgQVNT RVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsN Cj4+ICsgICAgQVNTRVJUIChGQUxTRSk7DQo+PiArICAgIGdvdG8gRG9uZTsNCj4+ICsgIH0NCj4+ ICAgIA0KPj4gICAgICBpZiAoSVNfUENJX0lERSAoJlBjaURhdGEpKSB7DQo+PiAgICAgICAgUHJp dmF0ZS0+SWRlSW5pdC5DaGFubmVsQ291bnQgPSBJREVfTUFYX0NIQU5ORUw7IEBAIC00ODEsNg0K Pj4gKzU0MSwxNSBAQCBEb25lOg0KPj4gICAgICAgICAgaWYgKFByaXZhdGUtPklkZW50aWZ5VmFs aWQgIT0gTlVMTCkgew0KPj4gICAgICAgICAgICBGcmVlUG9vbCAoUHJpdmF0ZS0+SWRlbnRpZnlW YWxpZCk7DQo+PiAgICAgICAgICB9DQo+PiArICAgICAgaWYgKFByaXZhdGUtPlBjaUF0dHJpYnV0 ZXNDaGFuZ2VkKSB7DQo+PiArICAgICAgICAvLyBSZXN0b3JlIG9yaWdpbmFsIFBDSSBhdHRyaWJ1 dGVzDQo+IA0KPiBQcmVmZXIgdG8gdXNlDQo+IA0KPiAvLw0KPiAvLyBSZXN0b3JlIG9yaWdpbmFs IFBDSSBhdHRyaWJ1dGVzDQo+IC8vDQo+IA0KPiBbU0FNSV0gRG9pbmcgdGhpcyB3b3VsZCB2aW9s YXRlIHRoZSBlZGsyIGNvZGluZyBzdGFuZGFyZC4gU2VlIEVESzIgQ29kaW5nIFN0YW5kYXJkIFNw ZWNpZmljYXRpb24sIHJldmlzaW9uIDIuMjAsIHNlY3Rpb24gNi4yLjMuDQoNCkJlZm9yZSB3ZSBo YXZlIGNsZWFyIGRpcmVjdGlvbiBhYm91dCB0aGlzIHRvIGFsaWduIGNvZGUgYW5kIENDUyBzcGVj LiBJIHByZWZlciB0byBhbGlnbiB3aXRoIHRoZSBzdXJyb3VuZGluZyBjb2RlIHRvIHVzZSBiZWxv dyBzdHlsZS4NCi8vDQovLyB4eHh4eA0KLy8NCg0KPiANCj4+ICsgICAgICAgIFBjaUlvLT5BdHRy aWJ1dGVzICgNCj4+ICsgICAgICAgICAgICAgICAgIFBjaUlvLA0KPj4gKyAgICAgICAgICAgICAg ICAgRWZpUGNpSW9BdHRyaWJ1dGVPcGVyYXRpb25TZXQsDQo+PiArICAgICAgICAgICAgICAgICBQ cml2YXRlLT5PcmlnaW5hbFBjaUF0dHJpYnV0ZXMsDQo+PiArICAgICAgICAgICAgICAgICBOVUxM DQo+PiArICAgICAgICAgICAgICAgICApOw0KPj4gKyAgICAgIH0NCj4+ICAgICAgICAgIEZyZWVQ b29sIChQcml2YXRlKTsNCj4+ICAgICAgICB9DQo+PiAgICAgIH0NCj4+IEBAIC01NTYsNiArNjI1 LDE1IEBAIFNhdGFDb250cm9sbGVyU3RvcCAoDQo+PiAgICAgICAgaWYgKFByaXZhdGUtPklkZW50 aWZ5VmFsaWQgIT0gTlVMTCkgew0KPj4gICAgICAgICAgRnJlZVBvb2wgKFByaXZhdGUtPklkZW50 aWZ5VmFsaWQpOw0KPj4gICAgICAgIH0NCj4+ICsgICAgaWYgKFByaXZhdGUtPlBjaUF0dHJpYnV0 ZXNDaGFuZ2VkKSB7DQo+PiArICAgICAgLy8gUmVzdG9yZSBvcmlnaW5hbCBQQ0kgYXR0cmlidXRl cw0KPiBQcmVmZXIgdG8gdXNlDQo+IA0KPiAvLw0KPiAvLyBSZXN0b3JlIG9yaWdpbmFsIFBDSSBh dHRyaWJ1dGVzDQo+IC8vDQo+IA0KPiBbU0FNSV0gRG9pbmcgdGhpcyB3b3VsZCB2aW9sYXRlIHRo ZSBlZGsyIGNvZGluZyBzdGFuZGFyZC4gU2VlIEVESzIgQ29kaW5nIFN0YW5kYXJkIFNwZWNpZmlj YXRpb24sIHJldmlzaW9uIDIuMjAsIHNlY3Rpb24gNi4yLjMuDQoNClNhbWUgd2l0aCBhYm92ZS4N Cg0KPiANCj4+ICsgICAgICBQcml2YXRlLT5QY2lJby0+QXR0cmlidXRlcyAoDQo+PiArICAgICAg ICAgICAgICAgICAgICAgICAgUHJpdmF0ZS0+UGNpSW8sDQo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgRWZpUGNpSW9BdHRyaWJ1dGVPcGVyYXRpb25TZXQsDQo+PiArICAgICAgICAgICAgICAg ICAgICAgICAgUHJpdmF0ZS0+T3JpZ2luYWxQY2lBdHRyaWJ1dGVzLA0KPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgIE5VTEwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICApOw0KPj4gKyAg ICB9DQo+PiAgICAgICAgRnJlZVBvb2wgKFByaXZhdGUpOw0KPj4gICAgICB9DQo+PiAgICANCj4+ IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQnVzL1BjaS9TYXRhQ29udHJvbGxlckR4ZS9TYXRh Q29udHJvbGxlci5oDQo+PiBiL01kZU1vZHVsZVBrZy9CdXMvUGNpL1NhdGFDb250cm9sbGVyRHhl L1NhdGFDb250cm9sbGVyLmgNCj4+IGluZGV4DQo+PiBmN2RiM2I4MzJhMTRjMGM4MzE0NTE4Y2Zk ZjQxOThjN2E0ZThlZjI1Li5jYjgyYjU1NzYzYTA3N2Y1OTk0YzRhMDBlYTQNCj4+IDgNCj4+IDkz YmZhMmUwN2E3OSAxMDA2NDQNCj4+IC0tLSBhL01kZU1vZHVsZVBrZy9CdXMvUGNpL1NhdGFDb250 cm9sbGVyRHhlL1NhdGFDb250cm9sbGVyLmgNCj4+ICsrKyBiL01kZU1vZHVsZVBrZy9CdXMvUGNp L1NhdGFDb250cm9sbGVyRHhlL1NhdGFDb250cm9sbGVyLmgNCj4+IEBAIC0yLDYgKzIsNyBAQA0K Pj4gICAgICBIZWFkZXIgZmlsZSBmb3IgU2F0YSBDb250cm9sbGVyIGRyaXZlci4NCj4+ICAgIA0K Pj4gICAgICBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyANCj4+IHJlc2VydmVkLjxCUj4NCj4+ICsgIENvcHlyaWdodCAoYykgMjAxNywgQVJN IEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+PiAgICAgIFRoaXMgcHJvZ3JhbSBhbmQg dGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCj4+ICAgICAgYXJlIGxpY2Vuc2VkIGFuZCBtYWRl IGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEJTRCBMaWNl bnNlDQo+PiAgICAgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1 bGwgdGV4dCBvZiB0aGUgDQo+PiBsaWNlbnNlIG1heSBiZSBmb3VuZCBhdCBAQCAtMTA0LDYgKzEw NSwxMiBAQCB0eXBlZGVmIHN0cnVjdCBfRUZJX1NBVEFfQ09OVFJPTExFUl9QUklWQVRFX0RBVEEg ew0KPj4gICAgICAvLw0KPj4gICAgICBFRklfSURFTlRJRllfREFUQSAgICAgICAgICAgICAgICAg KklkZW50aWZ5RGF0YTsNCj4+ICAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICpJZGVudGlmeVZhbGlkOw0KPj4gKw0KPj4gKyAgLy8vIFRyYWNrIHRoZSBzdGF0ZSBzbyB0aGF0 IHRoZSBQQ0kgYXR0cmlidXRlcyB0aGF0IHdlcmUgbW9kaWZpZWQgDQo+PiArIC8vLyBjYW4gYmUg cmVzdG9yZWQgdG8gdGhlIG9yaWdpbmFsIHZhbHVlIGxhdGVyDQo+IA0KPiBQcmVmZXIgdG8gdXNl DQo+IA0KPiAvLw0KPiAvLyBUcmFjayB0aGUgc3RhdGUgc28gdGhhdCB0aGUgUENJIGF0dHJpYnV0 ZXMgdGhhdCB3ZXJlIG1vZGlmaWVkIC8vIA0KPiBjYW4gYmUgcmVzdG9yZWQgdG8gdGhlIG9yaWdp bmFsIHZhbHVlIGxhdGVyIC8vDQo+IA0KPiB0byBhbGlnbiB3aXRoIG90aGVycy4NCj4gW1NBTUld IERvaW5nIHRoaXMgd291bGQgdmlvbGF0ZSB0aGUgZWRrMiBjb2Rpbmcgc3RhbmRhcmQuIFNlZSBF REsyIENvZGluZyBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uLCByZXZpc2lvbiAyLjIwLCBzZWN0aW9u IDYuMi4zLg0KPiAgICAgICAgICAgICAgIEFsc28gJy8vLycgaXMgdXNlZCBmb3IgZG9jdW1lbnRp bmcgc3RydWN0dXJlIG1lbWJlcnMuIFNlZSBFREsyIENvZGluZyBTdGFuZGFyZCBTcGVjaWZpY2F0 aW9uLCByZXZpc2lvbiAyLjIwLCBzZWN0aW9uIDYuOS4NCj4gICAgICAgICAgICAgICBJIHdpbGwg c3VibWl0IGFuIHVwZGF0ZWQgcGF0Y2ggd2l0aCAnLicgYXQgdGhlIGVuZCB0byBpbmRpY2F0ZSB3 aGVyZSB0aGUgY29tbWVudCBibG9jayBlbmRzLg0KDQpJIHdhcyBub3Qgc2F5aW5nIHVzaW5nICcv Ly8nIGlzIHdyb25nIGhlcmUuIEFzIEkga25vdywgJy8vLycgYXJlIG1haW5seSB1c2VkIGluICpw dWJsaWMqIGhlYWRlciBmaWxlcy4gRm9yIHRoaXMgY2FzZSwgSSBwcmVmZXIgdG8gYWxpZ24gd2l0 aCB0aGUgc3Vycm91bmRpbmcgY29kZSB0byB1c2UgYmVsb3cgc3R5bGUuDQovLw0KLy8geHh4eHgN Ci8vDQoNCj4gDQo+PiArICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAgUGNpQXR0 cmlidXRlc0NoYW5nZWQ7DQo+PiArICAvLy8gQ29weSBvZiB0aGUgb3JpZ2luYWwgUENJIEF0dHJp YnV0ZXMNCj4gDQo+IFByZWZlciB0byB1c2UNCj4gDQo+IC8vDQo+IC8vIENvcHkgb2YgdGhlIG9y aWdpbmFsIFBDSSBBdHRyaWJ1dGVzIC8vDQo+IA0KPiB0byBhbGlnbiB3aXRoIG90aGVycy4NCj4g W1NBTUldIFRoaXMgd291bGQgdmlvbGF0ZSB0aGUgZWRrMiBjb2Rpbmcgc3RhbmRhcmQuIFNlZSBF REsyIENvZGluZyBTdGFuZGFyZCBTcGVjaWZpY2F0aW9uLCByZXZpc2lvbiAyLjIwLCBzZWN0aW9u IDYuMi4zLg0KDQpTYW1lIHdpdGggYWJvdmUuDQoNCg0KVGhhbmtzLA0KU3Rhcg0KDQo+IA0KPj4g KyAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yaWdpbmFsUGNpQXR0cmlidXRl czsNCj4+ICAgIH0gRUZJX1NBVEFfQ09OVFJPTExFUl9QUklWQVRFX0RBVEE7DQo+PiAgICANCj4+ ICAgICNkZWZpbmUgU0FUQV9DT05UUk9MTEVSX1BSSVZBVEVfREFUQV9GUk9NX1RISVMoYSkgQ1Io YSwgDQo+PiBFRklfU0FUQV9DT05UUk9MTEVSX1BSSVZBVEVfREFUQSwgSWRlSW5pdCwgU0FUQV9D T05UUk9MTEVSX1NJR05BVFVSRSkNCj4+DQoNCg==