From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E83F62098EAB2 for ; Fri, 20 Jul 2018 03:23:02 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Jul 2018 03:23:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,378,1526367600"; d="scan'208";a="66157190" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by FMSMGA003.fm.intel.com with ESMTP; 20 Jul 2018 03:22:52 -0700 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 20 Jul 2018 03:22:52 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 20 Jul 2018 03:22:51 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.124]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.81]) with mapi id 14.03.0319.002; Fri, 20 Jul 2018 18:22:50 +0800 From: "Zeng, Star" To: Laszlo Ersek , edk2-devel-01 CC: "Dong, Eric" , "Wu, Jiaxin" , "Ni, Ruiyu" , "Fu, Siyuan" , "Zeng, Star" Thread-Topic: [PATCH 2/6] MdeModulePkg/RamDiskDxe: replace OpenFileByDevicePath() with UefiLib API Thread-Index: AQHUHtkIbkBs0tTsMEKxB960opyx7KSWWseQ//+oBoCAAd3+wA== Date: Fri, 20 Jul 2018 10:22:49 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB0483103BB867FF@shsmsx102.ccr.corp.intel.com> References: <20180718205043.17574-1-lersek@redhat.com> <20180718205043.17574-3-lersek@redhat.com> <0C09AFA07DD0434D9E2A0C6AEB0483103BB84E78@shsmsx102.ccr.corp.intel.com> <048aa534-3eda-1d0a-8328-3ba56f77cde5@redhat.com> In-Reply-To: <048aa534-3eda-1d0a-8328-3ba56f77cde5@redhat.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 2/6] MdeModulePkg/RamDiskDxe: replace OpenFileByDevicePath() with UefiLib API X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Jul 2018 10:23:03 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhdCBpcyBmaW5lLCB0aGVuIEkgYW0gb2sgd2l0aCB0aGUgcGF0Y2gsIFJldmlld2VkLWJ5OiBT dGFyIFplbmcgPHN0YXIuemVuZ0BpbnRlbC5jb20+Lg0KDQpUaGFua3MsDQpTdGFyDQotLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogTGFzemxvIEVyc2VrIFttYWlsdG86bGVyc2VrQHJl ZGhhdC5jb21dIA0KU2VudDogVGh1cnNkYXksIEp1bHkgMTksIDIwMTggOToyMSBQTQ0KVG86IFpl bmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBlZGsyLWRldmVsLTAxIDxlZGsyLWRldmVs QGxpc3RzLjAxLm9yZz4NCkNjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgV3Us IEppYXhpbiA8amlheGluLnd1QGludGVsLmNvbT47IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwu Y29tPjsgRnUsIFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbUEFU Q0ggMi82XSBNZGVNb2R1bGVQa2cvUmFtRGlza0R4ZTogcmVwbGFjZSBPcGVuRmlsZUJ5RGV2aWNl UGF0aCgpIHdpdGggVWVmaUxpYiBBUEkNCg0KSGkgU3RhciwNCg0KT24gMDcvMTkvMTggMTI6MzYs IFplbmcsIFN0YXIgd3JvdGU6DQo+IEhpIExhc3psbywNCj4gDQo+IEhhdmUgeW91IGV2YWx1YXRl ZCB3aGV0aGVyICIgI2luY2x1ZGUgPFByb3RvY29sL1NpbXBsZUZpbGVTeXN0ZW0uaD4gIiBjYW4g YmUgcmVtb3ZlZCBmcm9tICouaCBmaWxlIG9yIG5vdCBzaW5jZSBnRWZpU2ltcGxlRmlsZVN5c3Rl bVByb3RvY29sR3VpZCBpcyByZW1vdmVkIGZyb20gKi5pbmY/DQoNClllcywgSSBkaWQgY2hlY2sg Zm9yIHRoYXQuDQoNCkkgZGlkIG5vdCByZW1vdmUgdGhlICNpbmNsdWRlIGRpcmVjdGl2ZSBvZiB0 aGUgU2ltcGxlRmlsZVN5c3RlbSBwcm90b2NvbCBoZWFkZXIgYmVjYXVzZSB0aGUgaGVhZGVyIGRl ZmluZXMgYSBudW1iZXIgb2Ygc3RydWN0dXJlIHR5cGVzLCBiZXlvbmQgZGVjbGFyaW5nICJnRWZp U2ltcGxlRmlsZVN5c3RlbVByb3RvY29sR3VpZCIsIGFuZCBiZXlvbmQgI2RlZmluaW5nIHRoZSBF RklfU0lNUExFX0ZJTEVfU1lTVEVNX1BST1RPQ09MX0dVSUQuDQoNCkluIHBhcnRpY3VsYXIsIGl0 IGRlZmluZXMgdGhlIChVRUZJLXN0YW5kYXJkKSB0eXBlIEVGSV9GSUxFX1BST1RPQ09MLCBhbmQg dGhlIChub24tc3RhbmRhcmQpIHR5cGUgRUZJX0ZJTEVfSEFORExFLiBSYW1EaXNrRHhlIHVzZXMg dGhlIEVGSV9GSUxFX0hBTkRMRSB0eXBlIGxpYmVyYWxseSAtLSBhZnRlciB0aGUgYXBwbGljYXRp b24gb2YgdGhpcyBwYXRjaCwgZm91ciAoNCkgdXNlcyBvZiBFRklfRklMRV9IQU5ETEUgcmVtYWlu Lg0KDQpOb3csIGluIHBhdGNoICMxLCBJIGRvICNpbmNsdWRlIDxQcm90b2NvbC9TaW1wbGVGaWxl U3lzdGVtLmg+IGluIFVlZmlMaWIuaC4gSG93ZXZlciwgdGhhdCBpcyBiZWNhdXNlIGFsbCBBUElz IGRlY2xhcmVkIGJ5IGEgbGliIGNsYXNzIGhlYWRlciBzaG91bGQgYmUgdXNhYmxlIGF0IG9uY2Us IHdpdGhvdXQgaGF2aW5nIHRvIGh1bnQgZG93biBkZXBlbmRlbmNpZXMgbWFudWFsbHkuIFRoaXMg aW1wbGllcyB0aGF0IHR5cGVzIHVzZWQgaW4gZnVuY3Rpb24gcHJvdG90eXBlcyBzaG91bGQgYmUg ZGVjbGFyZWQgYXV0b21hdGljYWxseSBmb3IgdGhlIGNsaWVudCBDIGZpbGUuDQoNClRoZXJlZm9y ZSwgdGhlICNpbmNsdWRlIGRpcmVjdGl2ZSBhZGRlZCB0byBVZWZpTGliLmgsIGluIHBhdGNoICMx LCBpcyBub3QgYSBzdWJzdGl0dXRlIGZvciB0aGUgZXhpc3RlbnQgI2luY2x1ZGUgZGlyZWN0aXZl IGluIFJhbURpc2tEeGUuDQpVZWZpTGliLmggbmVlZHMgdGhlICNpbmNsdWRlIGRpcmVjdGl2ZSBm b3Igc3RheWluZyBzZWxmLWNvbnRhaW5lZCwgYW5kIFJhbURpc2tEeGUgbmVlZHMgdGhlICNpbmNs dWRlIGRpcmVjdGl2ZSBiZWNhdXNlIGl0IHVzZXMgdGhlIEVGSV9GSUxFX0hBTkRMRSB0eXBlIGZv ciBpdHMgb3duIHB1cnBvc2VzLg0KDQooU2FtZSBmb3IgdGhlIHJlc3Qgb2YgdGhlIG1vZHVsZXMs IGFuZCBzYW1lIGZvciB0aGUgZGV2aWNlIHBhdGggcHJvdG9jb2wgaGVhZGVyIC8gR1VJRCwgd2hl cmV2ZXIgYXBwcm9wcmlhdGUuKQ0KDQpUaGFua3MsDQpMYXN6bG8NCg0KPiANCj4gVGhhbmtzLA0K PiBTdGFyDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExhc3psbyBFcnNl ayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiBTZW50OiBUaHVyc2RheSwgSnVseSAxOSwg MjAxOCA0OjUxIEFNDQo+IFRvOiBlZGsyLWRldmVsLTAxIDxlZGsyLWRldmVsQGxpc3RzLjAxLm9y Zz4NCj4gQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBXdSwgSmlheGluIA0K PiA8amlheGluLnd1QGludGVsLmNvbT47IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsg RnUsIFNpeXVhbiANCj4gPHNpeXVhbi5mdUBpbnRlbC5jb20+OyBaZW5nLCBTdGFyIDxzdGFyLnpl bmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggMi82XSBNZGVNb2R1bGVQa2cvUmFtRGlz a0R4ZTogcmVwbGFjZSANCj4gT3BlbkZpbGVCeURldmljZVBhdGgoKSB3aXRoIFVlZmlMaWIgQVBJ DQo+IA0KPiBSZXBsYWNlIHRoZSBPcGVuRmlsZUJ5RGV2aWNlUGF0aCgpIGZ1bmN0aW9uIHdpdGgg RWZpT3BlbkZpbGVCeURldmljZVBhdGgoKSBmcm9tIFVlZmlMaWIsIGNvcnJlY3RpbmcgdGhlIGZv bGxvd2luZyBpc3N1ZXM6DQo+IA0KPiAtIGltcHJlY2lzZSBjb21tZW50cyBvbiBPcGVuRmlsZUJ5 RGV2aWNlUGF0aCgpLA0KPiAtIGNvZGUgZHVwbGljYXRpb24gYmV0d2VlbiB0aGlzIG1vZHVsZSBh bmQgb3RoZXIgbW9kdWxlcywNCj4gLSBsb2NhbCB2YXJpYWJsZSBuYW1lICJFZmlTaW1wbGVGaWxl U3lzdGVtUHJvdG9jb2wiIHN0YXJ0aW5nIHdpdGggIkVmaSINCj4gICBwcmVmaXgsDQo+IC0gYm9n dXMgIkZpbGVIYW5kbGUgPSBOVUxMIiBhc3NpZ25tZW50cywNCj4gLSBwYXNzaW5nIGEgcG90ZW50 aWFsbHkgdW5hbGlnbmVkICJGSUxFUEFUSF9ERVZJQ0VfUEFUSC5QYXRoTmFtZSIgZmllbGQgdG8N Cj4gICBhIHByb3RvY29sIG1lbWJlciBmdW5jdGlvbiAoZm9yYmlkZGVuIGJ5IHRoZSBVRUZJIHNw ZWMpLA0KPiAtIGxlYWtpbmcgIkhhbmRsZTEiIHdoZW4gdGhlIGRldmljZSBwYXRoIHR5cGUvc3Vi dHlwZSBjaGVjayBmYWlscyBpbiB0aGUNCj4gICBsb29wLA0KPiAtIHN0YWxlIFNIRUxMX0ZJTEVf SEFORExFIHJlZmVyZW5jZSBpbiBhIGNvbW1lbnQuDQo+IA0KPiBDYzogRXJpYyBEb25nIDxlcmlj LmRvbmdAaW50ZWwuY29tPg0KPiBDYzogSmlheGluIFd1IDxqaWF4aW4ud3VAaW50ZWwuY29tPg0K PiBDYzogUnVpeXUgTmkgPHJ1aXl1Lm5pQGludGVsLmNvbT4NCj4gQ2M6IFNpeXVhbiBGdSA8c2l5 dWFuLmZ1QGludGVsLmNvbT4NCj4gQ2M6IFN0YXIgWmVuZyA8c3Rhci56ZW5nQGludGVsLmNvbT4N Cj4gUmVmOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTEw MDgNCj4gQ29udHJpYnV0ZWQtdW5kZXI6IFRpYW5vQ29yZSBDb250cmlidXRpb24gQWdyZWVtZW50 IDEuMQ0KPiBTaWduZWQtb2ZmLWJ5OiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0K PiAtLS0NCj4gIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9SYW1EaXNrRHhlL1JhbURpc2tE eGUuaW5mICAgICAgICB8ICAgMSAtDQo+ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svUmFt RGlza0R4ZS9SYW1EaXNrSW1wbC5oICAgICAgICAgfCAgMzkgLS0tLS0tDQo+ICBNZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL0Rpc2svUmFtRGlza0R4ZS9SYW1EaXNrRmlsZUV4cGxvcmVyLmMgfCAxNDAg LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9SYW1E aXNrRHhlL1JhbURpc2tJbXBsLmMgICAgICAgICB8ICAgMiArLQ0KPiAgNCBmaWxlcyBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMTgxIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL01k ZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9SYW1EaXNrRHhlL1JhbURpc2tEeGUuaW5mIA0KPiBi L01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9SYW1EaXNrRHhlL1JhbURpc2tEeGUuaW5mDQo+ IGluZGV4IGNkZDJkYTY5MDQxMS4uZGEwMGU0YTQyMGU3IDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL0Rpc2svUmFtRGlza0R4ZS9SYW1EaXNrRHhlLmluZg0KPiArKysgYi9N ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svUmFtRGlza0R4ZS9SYW1EaXNrRHhlLmluZg0KPiBA QCAtNzUsNyArNzUsNiBAQCBbUHJvdG9jb2xzXQ0KPiAgICBnRWZpRGV2aWNlUGF0aFByb3RvY29s R3VpZCAgICAgICAgICAgICAgICAgICAgICMjIFBST0RVQ0VTDQo+ICAgIGdFZmlCbG9ja0lvUHJv dG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAgIyMgUFJPRFVDRVMNCj4gICAgZ0VmaUJs b2NrSW8yUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAjIyBQUk9EVUNFUw0KPiAt ICBnRWZpU2ltcGxlRmlsZVN5c3RlbVByb3RvY29sR3VpZCAgICAgICAgICAgICAgICMjIFNPTUVU SU1FU19DT05TVU1FUw0KPiAgICBnRWZpQWNwaVRhYmxlUHJvdG9jb2xHdWlkICAgICAgICAgICAg ICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KPiAgICBnRWZpQWNwaVNkdFByb3RvY29s R3VpZCAgICAgICAgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KPiAgDQo+ IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svUmFtRGlza0R4ZS9SYW1E aXNrSW1wbC5oIA0KPiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9SYW1EaXNrRHhlL1Jh bURpc2tJbXBsLmgNCj4gaW5kZXggMDc3YmI3N2IyNWJmLi4wOGE4Y2E5NGM5ZGIgMTAwNjQ0DQo+ IC0tLSBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9SYW1EaXNrRHhlL1JhbURpc2tJbXBs LmgNCj4gKysrIGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNrL1JhbURpc2tEeGUvUmFtRGlz a0ltcGwuaA0KPiBAQCAtNjA1LDQ1ICs2MDUsNiBAQCBGaWxlSW5mbyAoDQo+ICAgICk7DQo+ICAN Cj4gIA0KPiAtLyoqDQo+IC0gIFRoaXMgZnVuY3Rpb24gd2lsbCBvcGVuIGEgZmlsZSBvciBkaXJl Y3RvcnkgcmVmZXJlbmNlZCBieSBEZXZpY2VQYXRoLg0KPiAtDQo+IC0gIFRoaXMgZnVuY3Rpb24g b3BlbnMgYSBmaWxlIHdpdGggdGhlIG9wZW4gbW9kZSBhY2NvcmRpbmcgdG8gdGhlIGZpbGUgDQo+ IHBhdGguIFRoZQ0KPiAtICBBdHRyaWJ1dGVzIGlzIHZhbGlkIG9ubHkgZm9yIEVGSV9GSUxFX01P REVfQ1JFQVRFLg0KPiAtDQo+IC0gIEBwYXJhbVtpbiwgb3V0XSBGaWxlUGF0aCAgIE9uIGlucHV0 LCB0aGUgZGV2aWNlIHBhdGggdG8gdGhlIGZpbGUuDQo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9uIG91dHB1dCwgdGhlIHJlbWFpbmluZyBkZXZpY2UgcGF0aC4NCj4gLSAgQHBhcmFt W291dF0gICAgIEZpbGVIYW5kbGUgUG9pbnRlciB0byB0aGUgZmlsZSBoYW5kbGUuDQo+IC0gIEBw YXJhbVtpbl0gICAgICBPcGVuTW9kZSAgIFRoZSBtb2RlIHRvIG9wZW4gdGhlIGZpbGUgd2l0aC4N Cj4gLSAgQHBhcmFtW2luXSAgICAgIEF0dHJpYnV0ZXMgVGhlIGZpbGUncyBmaWxlIGF0dHJpYnV0 ZXMuDQo+IC0NCj4gLSAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICBUaGUgaW5mb3Jt YXRpb24gd2FzIHNldC4NCj4gLSAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICBPbmUg b2YgdGhlIHBhcmFtZXRlcnMgaGFzIGFuIGludmFsaWQgdmFsdWUuDQo+IC0gIEByZXR2YWwgRUZJ X1VOU1VQUE9SVEVEICAgICAgICAgQ291bGQgbm90IG9wZW4gdGhlIGZpbGUgcGF0aC4NCj4gLSAg QHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgICBUaGUgc3BlY2lmaWVkIGZpbGUgY291bGQg bm90IGJlIGZvdW5kIG9uIHRoZQ0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRldmljZSBvciB0aGUgZmlsZSBzeXN0ZW0gY291bGQgbm90IGJlIGZvdW5kDQo+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gdGhlIGRldmljZS4NCj4gLSAgQHJldHZhbCBF RklfTk9fTUVESUEgICAgICAgICAgICBUaGUgZGV2aWNlIGhhcyBubyBtZWRpdW0uDQo+IC0gIEBy ZXR2YWwgRUZJX01FRElBX0NIQU5HRUQgICAgICAgVGhlIGRldmljZSBoYXMgYSBkaWZmZXJlbnQg bWVkaXVtIGluIGl0IG9yDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhl IG1lZGl1bSBpcyBubyBsb25nZXIgc3VwcG9ydGVkLg0KPiAtICBAcmV0dmFsIEVGSV9ERVZJQ0Vf RVJST1IgICAgICAgIFRoZSBkZXZpY2UgcmVwb3J0ZWQgYW4gZXJyb3IuDQo+IC0gIEByZXR2YWwg RUZJX1ZPTFVNRV9DT1JSVVBURUQgICAgVGhlIGZpbGUgc3lzdGVtIHN0cnVjdHVyZXMgYXJlIGNv cnJ1cHRlZC4NCj4gLSAgQHJldHZhbCBFRklfV1JJVEVfUFJPVEVDVEVEICAgICBUaGUgZmlsZSBv ciBtZWRpdW0gaXMgd3JpdGUgcHJvdGVjdGVkLg0KPiAtICBAcmV0dmFsIEVGSV9BQ0NFU1NfREVO SUVEICAgICAgIFRoZSBmaWxlIHdhcyBvcGVuZWQgcmVhZCBvbmx5Lg0KPiAtICBAcmV0dmFsIEVG SV9PVVRfT0ZfUkVTT1VSQ0VTICAgIE5vdCBlbm91Z2ggcmVzb3VyY2VzIHdlcmUgYXZhaWxhYmxl IHRvIG9wZW4NCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZmlsZS4N Cj4gLSAgQHJldHZhbCBFRklfVk9MVU1FX0ZVTEwgICAgICAgICBUaGUgdm9sdW1lIGlzIGZ1bGwu DQo+IC0qKi8NCj4gLUVGSV9TVEFUVVMNCj4gLUVGSUFQSQ0KPiAtT3BlbkZpbGVCeURldmljZVBh dGgoDQo+IC0gIElOIE9VVCBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICAgICAgICAgICoqRmls ZVBhdGgsDQo+IC0gIE9VVCBFRklfRklMRV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgICpG aWxlSGFuZGxlLA0KPiAtICBJTiBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPcGVuTW9kZSwNCj4gLSAgSU4gVUlOVDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQXR0cmlidXRlcw0KPiAtICApOw0KPiAtDQo+IC0NCj4gIC8qKg0KPiAgICBQdWJsaXNoIHRo ZSBSQU0gZGlzayBOVkRJTU0gRmlybXdhcmUgSW50ZXJmYWNlIFRhYmxlIChORklUKSB0byB0aGUg QUNQSQ0KPiAgICB0YWJsZS4NCj4gZGlmZiAtLWdpdCANCj4gYS9NZGVNb2R1bGVQa2cvVW5pdmVy c2FsL0Rpc2svUmFtRGlza0R4ZS9SYW1EaXNrRmlsZUV4cGxvcmVyLmMgDQo+IGIvTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9EaXNrL1JhbURpc2tEeGUvUmFtRGlza0ZpbGVFeHBsb3Jlci5jDQo+IGlu ZGV4IDJjZmQ0YmJmNmNlOC4uOTVkNjc2ZmMzOTM5IDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL0Rpc2svUmFtRGlza0R4ZS9SYW1EaXNrRmlsZUV4cGxvcmVyLmMNCj4gKysr IGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNrL1JhbURpc2tEeGUvUmFtRGlza0ZpbGVFeHBs b3Jlci5jDQo+IEBAIC0xMTEsMTQzICsxMTEsMyBAQCBGaWxlSW5mbyAoDQo+ICANCj4gICAgcmV0 dXJuIEJ1ZmZlcjsNCj4gIH0NCj4gLQ0KPiAtDQo+IC0vKioNCj4gLSAgVGhpcyBmdW5jdGlvbiB3 aWxsIG9wZW4gYSBmaWxlIG9yIGRpcmVjdG9yeSByZWZlcmVuY2VkIGJ5IERldmljZVBhdGguDQo+ IC0NCj4gLSAgVGhpcyBmdW5jdGlvbiBvcGVucyBhIGZpbGUgd2l0aCB0aGUgb3BlbiBtb2RlIGFj Y29yZGluZyB0byB0aGUgZmlsZSANCj4gcGF0aC4gVGhlDQo+IC0gIEF0dHJpYnV0ZXMgaXMgdmFs aWQgb25seSBmb3IgRUZJX0ZJTEVfTU9ERV9DUkVBVEUuDQo+IC0NCj4gLSAgQHBhcmFtW2luLCBv dXRdIEZpbGVQYXRoICAgT24gaW5wdXQsIHRoZSBkZXZpY2UgcGF0aCB0byB0aGUgZmlsZS4NCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT24gb3V0cHV0LCB0aGUgcmVtYWluaW5nIGRl dmljZSBwYXRoLg0KPiAtICBAcGFyYW1bb3V0XSAgICAgRmlsZUhhbmRsZSBQb2ludGVyIHRvIHRo ZSBmaWxlIGhhbmRsZS4NCj4gLSAgQHBhcmFtW2luXSAgICAgIE9wZW5Nb2RlICAgVGhlIG1vZGUg dG8gb3BlbiB0aGUgZmlsZSB3aXRoLg0KPiAtICBAcGFyYW1baW5dICAgICAgQXR0cmlidXRlcyBU aGUgZmlsZSdzIGZpbGUgYXR0cmlidXRlcy4NCj4gLQ0KPiAtICBAcmV0dmFsIEVGSV9TVUNDRVNT ICAgICAgICAgICAgIFRoZSBpbmZvcm1hdGlvbiB3YXMgc2V0Lg0KPiAtICBAcmV0dmFsIEVGSV9J TlZBTElEX1BBUkFNRVRFUiAgIE9uZSBvZiB0aGUgcGFyYW1ldGVycyBoYXMgYW4gaW52YWxpZCB2 YWx1ZS4NCj4gLSAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgICBDb3VsZCBub3Qgb3Bl biB0aGUgZmlsZSBwYXRoLg0KPiAtICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgICAgIFRo ZSBzcGVjaWZpZWQgZmlsZSBjb3VsZCBub3QgYmUgZm91bmQgb24gdGhlDQo+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlIG9yIHRoZSBmaWxlIHN5c3RlbSBjb3VsZCBu b3QgYmUgZm91bmQNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiB0aGUg ZGV2aWNlLg0KPiAtICBAcmV0dmFsIEVGSV9OT19NRURJQSAgICAgICAgICAgIFRoZSBkZXZpY2Ug aGFzIG5vIG1lZGl1bS4NCj4gLSAgQHJldHZhbCBFRklfTUVESUFfQ0hBTkdFRCAgICAgICBUaGUg ZGV2aWNlIGhhcyBhIGRpZmZlcmVudCBtZWRpdW0gaW4gaXQgb3INCj4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB0aGUgbWVkaXVtIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuDQo+ IC0gIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICAgVGhlIGRldmljZSByZXBvcnRlZCBh biBlcnJvci4NCj4gLSAgQHJldHZhbCBFRklfVk9MVU1FX0NPUlJVUFRFRCAgICBUaGUgZmlsZSBz eXN0ZW0gc3RydWN0dXJlcyBhcmUgY29ycnVwdGVkLg0KPiAtICBAcmV0dmFsIEVGSV9XUklURV9Q Uk9URUNURUQgICAgIFRoZSBmaWxlIG9yIG1lZGl1bSBpcyB3cml0ZSBwcm90ZWN0ZWQuDQo+IC0g IEByZXR2YWwgRUZJX0FDQ0VTU19ERU5JRUQgICAgICAgVGhlIGZpbGUgd2FzIG9wZW5lZCByZWFk IG9ubHkuDQo+IC0gIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgICAgTm90IGVub3VnaCBy ZXNvdXJjZXMgd2VyZSBhdmFpbGFibGUgdG8gb3Blbg0KPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRoZSBmaWxlLg0KPiAtICBAcmV0dmFsIEVGSV9WT0xVTUVfRlVMTCAgICAg ICAgIFRoZSB2b2x1bWUgaXMgZnVsbC4NCj4gLSoqLw0KPiAtRUZJX1NUQVRVUw0KPiAtRUZJQVBJ DQo+IC1PcGVuRmlsZUJ5RGV2aWNlUGF0aCgNCj4gLSAgSU4gT1VUIEVGSV9ERVZJQ0VfUEFUSF9Q Uk9UT0NPTCAgICAgICAgICAgKipGaWxlUGF0aCwNCj4gLSAgT1VUIEVGSV9GSUxFX0hBTkRMRSAg ICAgICAgICAgICAgICAgICAgICAgKkZpbGVIYW5kbGUsDQo+IC0gIElOIFVJTlQ2NCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9wZW5Nb2RlLA0KPiAtICBJTiBVSU5UNjQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVzDQo+IC0gICkNCj4gLXsNCj4gLSAg RUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gLSAgRUZJX1NJ TVBMRV9GSUxFX1NZU1RFTV9QUk9UT0NPTCAgICAgICpFZmlTaW1wbGVGaWxlU3lzdGVtUHJvdG9j b2w7DQo+IC0gIEVGSV9GSUxFX1BST1RPQ09MICAgICAgICAgICAgICAgICAgICAqSGFuZGxlMTsN Cj4gLSAgRUZJX0ZJTEVfUFJPVE9DT0wgICAgICAgICAgICAgICAgICAgICpIYW5kbGUyOw0KPiAt ICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlSGFuZGxlOw0KPiAt DQo+IC0gIGlmICgoRmlsZVBhdGggPT0gTlVMTCB8fCBGaWxlSGFuZGxlID09IE5VTEwpKSB7DQo+ IC0gICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gLSAgfQ0KPiAtDQo+IC0gIFN0 YXR1cyA9IGdCUy0+TG9jYXRlRGV2aWNlUGF0aCAoDQo+IC0gICAgICAgICAgICAgICAgICAmZ0Vm aVNpbXBsZUZpbGVTeXN0ZW1Qcm90b2NvbEd1aWQsDQo+IC0gICAgICAgICAgICAgICAgICBGaWxl UGF0aCwNCj4gLSAgICAgICAgICAgICAgICAgICZEZXZpY2VIYW5kbGUNCj4gLSAgICAgICAgICAg ICAgICAgICk7DQo+IC0gIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gLSAgICByZXR1cm4g U3RhdHVzOw0KPiAtICB9DQo+IC0NCj4gLSAgU3RhdHVzID0gZ0JTLT5PcGVuUHJvdG9jb2woDQo+ IC0gICAgICAgICAgICAgICAgICBEZXZpY2VIYW5kbGUsDQo+IC0gICAgICAgICAgICAgICAgICAm Z0VmaVNpbXBsZUZpbGVTeXN0ZW1Qcm90b2NvbEd1aWQsDQo+IC0gICAgICAgICAgICAgICAgICAo Vk9JRCoqKSZFZmlTaW1wbGVGaWxlU3lzdGVtUHJvdG9jb2wsDQo+IC0gICAgICAgICAgICAgICAg ICBnSW1hZ2VIYW5kbGUsDQo+IC0gICAgICAgICAgICAgICAgICBOVUxMLA0KPiAtICAgICAgICAg ICAgICAgICAgRUZJX09QRU5fUFJPVE9DT0xfR0VUX1BST1RPQ09MDQo+IC0gICAgICAgICAgICAg ICAgICApOw0KPiAtICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+IC0gICAgcmV0dXJuIFN0 YXR1czsNCj4gLSAgfQ0KPiAtDQo+IC0gIFN0YXR1cyA9IA0KPiBFZmlTaW1wbGVGaWxlU3lzdGVt UHJvdG9jb2wtPk9wZW5Wb2x1bWUoRWZpU2ltcGxlRmlsZVN5c3RlbVByb3RvY29sLCANCj4gJkhh bmRsZTEpOw0KPiAtICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+IC0gICAgRmlsZUhhbmRs ZSA9IE5VTEw7DQo+IC0gICAgcmV0dXJuIFN0YXR1czsNCj4gLSAgfQ0KPiAtDQo+IC0gIC8vDQo+ IC0gIC8vIGdvIGRvd24gZGlyZWN0b3JpZXMgb25lIG5vZGUgYXQgYSB0aW1lLg0KPiAtICAvLw0K PiAtICB3aGlsZSAoIUlzRGV2aWNlUGF0aEVuZCAoKkZpbGVQYXRoKSkgew0KPiAtICAgIC8vDQo+ IC0gICAgLy8gRm9yIGZpbGUgc3lzdGVtIGFjY2VzcyBlYWNoIG5vZGUgc2hvdWxkIGJlIGEgZmls ZSBwYXRoIGNvbXBvbmVudA0KPiAtICAgIC8vDQo+IC0gICAgaWYgKERldmljZVBhdGhUeXBlICAg ICgqRmlsZVBhdGgpICE9IE1FRElBX0RFVklDRV9QQVRIIHx8DQo+IC0gICAgICAgIERldmljZVBh dGhTdWJUeXBlICgqRmlsZVBhdGgpICE9IE1FRElBX0ZJTEVQQVRIX0RQDQo+IC0gICAgICAgKSB7 DQo+IC0gICAgICBGaWxlSGFuZGxlID0gTlVMTDsNCj4gLSAgICAgIHJldHVybiAoRUZJX0lOVkFM SURfUEFSQU1FVEVSKTsNCj4gLSAgICB9DQo+IC0gICAgLy8NCj4gLSAgICAvLyBPcGVuIHRoaXMg ZmlsZSBwYXRoIG5vZGUNCj4gLSAgICAvLw0KPiAtICAgIEhhbmRsZTIgID0gSGFuZGxlMTsNCj4g LSAgICBIYW5kbGUxID0gTlVMTDsNCj4gLQ0KPiAtICAgIC8vDQo+IC0gICAgLy8gVHJ5IHRvIHRl c3Qgb3BlbmluZyBhbiBleGlzdGluZyBmaWxlDQo+IC0gICAgLy8NCj4gLSAgICBTdGF0dXMgPSBI YW5kbGUyLT5PcGVuICgNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgSGFuZGxlMiwNCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgJkhhbmRsZTEsDQo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICgoRklMRVBBVEhfREVWSUNFX1BBVEgqKSpGaWxlUGF0aCktPlBhdGhOYW1lLA0K PiAtICAgICAgICAgICAgICAgICAgICAgICAgICBPcGVuTW9kZSAmfkVGSV9GSUxFX01PREVfQ1JF QVRFLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAwDQo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgKTsNCj4gLQ0KPiAtICAgIC8vDQo+IC0gICAgLy8gc2VlIGlmIHRoZSBlcnJvciB3 YXMgdGhhdCBpdCBuZWVkcyB0byBiZSBjcmVhdGVkDQo+IC0gICAgLy8NCj4gLSAgICBpZiAoKEVG SV9FUlJPUiAoU3RhdHVzKSkgJiYgKE9wZW5Nb2RlICE9IChPcGVuTW9kZSAmfkVGSV9GSUxFX01P REVfQ1JFQVRFKSkpIHsNCj4gLSAgICAgIFN0YXR1cyA9IEhhbmRsZTItPk9wZW4gKA0KPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEhhbmRsZTIsDQo+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgJkhhbmRsZTEsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxF UEFUSF9ERVZJQ0VfUEFUSCopKkZpbGVQYXRoKS0+UGF0aE5hbWUsDQo+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3Blbk1vZGUsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg QXR0cmlidXRlcw0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gLSAgICB9DQo+ IC0gICAgLy8NCj4gLSAgICAvLyBDbG9zZSB0aGUgbGFzdCBub2RlDQo+IC0gICAgLy8NCj4gLSAg ICBIYW5kbGUyLT5DbG9zZSAoSGFuZGxlMik7DQo+IC0NCj4gLSAgICBpZiAoRUZJX0VSUk9SKFN0 YXR1cykpIHsNCj4gLSAgICAgIHJldHVybiAoU3RhdHVzKTsNCj4gLSAgICB9DQo+IC0NCj4gLSAg ICAvLw0KPiAtICAgIC8vIEdldCB0aGUgbmV4dCBub2RlDQo+IC0gICAgLy8NCj4gLSAgICAqRmls ZVBhdGggPSBOZXh0RGV2aWNlUGF0aE5vZGUgKCpGaWxlUGF0aCk7DQo+IC0gIH0NCj4gLQ0KPiAt ICAvLw0KPiAtICAvLyBUaGlzIGlzIGEgd2VhayBzcG90IHNpbmNlIGlmIHRoZSB1bmRlZmluZWQg U0hFTExfRklMRV9IQU5ETEUgZm9ybWF0IGNoYW5nZXMgdGhpcyBtdXN0IGNoYW5nZSBhbHNvIQ0K PiAtICAvLw0KPiAtICAqRmlsZUhhbmRsZSA9IChWT0lEKilIYW5kbGUxOw0KPiAtICByZXR1cm4g RUZJX1NVQ0NFU1M7DQo+IC19DQo+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L0Rpc2svUmFtRGlza0R4ZS9SYW1EaXNrSW1wbC5jIA0KPiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvRGlzay9SYW1EaXNrRHhlL1JhbURpc2tJbXBsLmMNCj4gaW5kZXggN2ViZDM5N2ZlNjhhLi42 MjkzM2EyZDYyMDEgMTAwNjQ0DQo+IC0tLSBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9S YW1EaXNrRHhlL1JhbURpc2tJbXBsLmMNCj4gKysrIGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9E aXNrL1JhbURpc2tEeGUvUmFtRGlza0ltcGwuYw0KPiBAQCAtNjU2LDcgKzY1Niw3IEBAIFJhbURp c2tDYWxsYmFjayAoDQo+ICAgICAgICAgIC8vDQo+ICAgICAgICAgIC8vIE9wZW4gdGhlIGZpbGUu DQo+ICAgICAgICAgIC8vDQo+IC0gICAgICAgIFN0YXR1cyA9IE9wZW5GaWxlQnlEZXZpY2VQYXRo ICgNCj4gKyAgICAgICAgU3RhdHVzID0gRWZpT3BlbkZpbGVCeURldmljZVBhdGggKA0KPiAgICAg ICAgICAgICAgICAgICAgICZGaWxlRGV2UGF0aCwNCj4gICAgICAgICAgICAgICAgICAgICAmRmls ZUhhbmRsZSwNCj4gICAgICAgICAgICAgICAgICAgICBFRklfRklMRV9NT0RFX1JFQUQsDQo+IC0t DQo+IDIuMTQuMS4zLmdiN2NmNmUwMjQwMWINCj4gDQo+IA0KDQo=