From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=104.47.1.79; helo=eur01-ve1-obe.outbound.protection.outlook.com; envelope-from=udit.kumar@nxp.com; receiver=edk2-devel@lists.01.org Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0079.outbound.protection.outlook.com [104.47.1.79]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id B57502243692C for ; Fri, 23 Feb 2018 03:15:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=APq2vV1Xv91yx4w3lDhPh0ty3gIiCU2LiidqVyFzSsw=; b=oi826XLhaANRbbxzdoekauLLNhC/C86XuZLQFOKBnMehq7HoDavNmcTtSgMCM3qeAwJEul85txmnU2X8I/NkVJz9IRL5Wse98a7ClVCHzgAepJdkrl6gUdzIHQOnyj3hclAuZyQd1uh0Y4fYZegECruTWuYMyntJjFCWiCB1IQk= Received: from AM0PR0402MB3330.eurprd04.prod.outlook.com (52.133.44.151) by AM0PR0402MB3650.eurprd04.prod.outlook.com (52.133.38.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.527.15; Fri, 23 Feb 2018 11:21:02 +0000 Received: from AM0PR0402MB3330.eurprd04.prod.outlook.com ([fe80::8d12:f6b0:d25c:a8de]) by AM0PR0402MB3330.eurprd04.prod.outlook.com ([fe80::8d12:f6b0:d25c:a8de%13]) with mapi id 15.20.0527.017; Fri, 23 Feb 2018 11:21:01 +0000 From: Udit Kumar To: Laszlo Ersek , Pankaj Bansal , Leif Lindholm CC: "michael.d.kinney@intel.com" , "edk2-devel@lists.01.org" , "ard.biesheuvel@linaro.org" , Meenakshi Aggarwal Thread-Topic: [edk2] [PATCH edk2-platforms 01/39] Silicon/NXP: Add support for Big Endian Mmio APIs Thread-Index: AQHTqysWhBWg9HbkxE6P6Sgrl/jTxKOxuQjFgAASK8CAAAkxAIAAAJ+w Date: Fri, 23 Feb 2018 11:21:01 +0000 Message-ID: References: <1518771035-6733-1-git-send-email-meenakshi.aggarwal@nxp.com> <1518771035-6733-2-git-send-email-meenakshi.aggarwal@nxp.com> <20180221154601.nkbp2xmy3zb2xolm@bivouac.eciton.net> <20180221185818.arwfhombntutnt23@bivouac.eciton.net> <20180222115223.xtfpc7du22drfkju@bivouac.eciton.net> <2a1fa56f-98db-a1c1-d973-7e84cc7dc1fa@redhat.com> <946bd4f7-ed57-018c-00ca-cee154fcb2f0@redhat.com> <046cf3a9-d865-d651-f2a6-e242a4224d33@redhat.com> In-Reply-To: <046cf3a9-d865-d651-f2a6-e242a4224d33@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=udit.kumar@nxp.com; x-originating-ip: [192.88.169.1] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM0PR0402MB3650; 7:S+AoBFjQt3qXPHwj/v/GMKM4etPFa5+ol9fH1iXKGgNWVBVaYZWHTURGdfhCPFF56a81ET9mxcubusLrVMrWhTBtPm26YHF62yYpmRwC5+UoX2FOf5l7Wqn0GMkuNS0iQXHIscIy3XY0PqxBUyTeuTVS/tNyOGtXkfn60P6Vn6Yyvs3wFSJfyMaThjO2I5THt7hIIDIBrBnTO1ZAJjSE5b+Kyqf1KK/3f14b+2zC/3f0VYcwHnsKhTikOlRJBtDt x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10009020)(979002)(39860400002)(376002)(366004)(39380400002)(346002)(396003)(53754006)(13464003)(189003)(199004)(186003)(478600001)(7696005)(9686003)(76176011)(6246003)(5250100002)(53936002)(55016002)(25786009)(4326008)(2900100001)(99286004)(26005)(54906003)(110136005)(229853002)(2950100002)(3280700002)(5660300001)(81156014)(81166006)(2906002)(33656002)(561944003)(8676002)(7736002)(3660700001)(8936002)(305945005)(93886005)(316002)(14454004)(53546011)(6506007)(86362001)(97736004)(68736007)(6116002)(102836004)(6436002)(106356001)(74316002)(3846002)(59450400001)(66066001)(105586002)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0402MB3650; H:AM0PR0402MB3330.eurprd04.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: a796edb5-3c0c-422f-96dd-08d57aaf8556 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(3008032)(2017052603307)(7153060)(7193020); SRVR:AM0PR0402MB3650; x-ms-traffictypediagnostic: AM0PR0402MB3650: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(185117386973197)(162533806227266)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231101)(944501161)(10201501046)(6055026)(6041288)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011); SRVR:AM0PR0402MB3650; BCL:0; PCL:0; RULEID:; SRVR:AM0PR0402MB3650; x-forefront-prvs: 0592A9FDE6 received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: jx2KSFLXMHKUuoRORm4+P+jaqSye5/Z4VOHm9ToprqfMPCANf7DDKczS/0tXIiDh+eokjuvMGNxCEDjUq3LSQmLUlZYyjCvRlRGhqhdBVCHi0FLpsaktPYoho/Za9KGdnM/zOo3tmvCbjq+iaBD1Kmh6Z86r0gPr8nbAVbVuRFM= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a796edb5-3c0c-422f-96dd-08d57aaf8556 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Feb 2018 11:21:01.6296 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3650 Subject: Re: [PATCH edk2-platforms 01/39] Silicon/NXP: Add support for Big Endian Mmio APIs X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Feb 2018 11:15:05 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMYXN6 bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj4gU2VudDogRnJpZGF5LCBGZWJy dWFyeSAyMywgMjAxOCA0OjI5IFBNDQo+IFRvOiBVZGl0IEt1bWFyIDx1ZGl0Lmt1bWFyQG54cC5j b20+OyBQYW5rYWogQmFuc2FsDQo+IDxwYW5rYWouYmFuc2FsQG54cC5jb20+OyBMZWlmIExpbmRo b2xtIDxsZWlmLmxpbmRob2xtQGxpbmFyby5vcmc+DQo+IENjOiBtaWNoYWVsLmQua2lubmV5QGlu dGVsLmNvbTsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7DQo+IGFyZC5iaWVzaGV1dmVsQGxpbmFy by5vcmc7IE1lZW5ha3NoaSBBZ2dhcndhbA0KPiA8bWVlbmFrc2hpLmFnZ2Fyd2FsQG54cC5jb20+ DQo+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIGVkazItcGxhdGZvcm1zIDAxLzM5XSBTaWxp Y29uL05YUDogQWRkIHN1cHBvcnQNCj4gZm9yIEJpZyBFbmRpYW4gTW1pbyBBUElzDQo+IA0KPiBP biAwMi8yMy8xOCAxMTozOSwgVWRpdCBLdW1hciB3cm90ZToNCj4gPg0KPiA+DQo+ID4+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsy LWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnXSBPbiBCZWhhbGYgT2YNCj4gPj4gTGFzemxvIEVy c2VrDQo+ID4+IFNlbnQ6IEZyaWRheSwgRmVicnVhcnkgMjMsIDIwMTggMjo1MSBQTQ0KPiA+PiBU bzogUGFua2FqIEJhbnNhbCA8cGFua2FqLmJhbnNhbEBueHAuY29tPjsgTGVpZiBMaW5kaG9sbQ0K PiA+PiA8bGVpZi5saW5kaG9sbUBsaW5hcm8ub3JnPg0KPiA+PiBDYzogbWljaGFlbC5kLmtpbm5l eUBpbnRlbC5jb207IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOw0KPiA+PiBhcmQuYmllc2hldXZl bEBsaW5hcm8ub3JnDQo+ID4+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIGVkazItcGxhdGZv cm1zIDAxLzM5XSBTaWxpY29uL05YUDogQWRkDQo+IHN1cHBvcnQNCj4gPj4gZm9yIEJpZyBFbmRp YW4gTW1pbyBBUElzDQo+ID4+DQo+ID4+IE9uIDAyLzIzLzE4IDA5OjQwLCBQYW5rYWogQmFuc2Fs IHdyb3RlOg0KPiA+Pj4gSGkgQWxsDQo+ID4+Pg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4+Pj4gRnJvbTogZWRrMi1kZXZlbCBbbWFpbHRvOmVkazItZGV2ZWwtYm91bmNl c0BsaXN0cy4wMS5vcmddIE9uIEJlaGFsZg0KPiBPZg0KPiA+Pj4+IExhc3psbyBFcnNlaw0KPiA+ Pj4+IFNlbnQ6IFRodXJzZGF5LCBGZWJydWFyeSAyMiwgMjAxOCA3OjI2IFBNDQo+ID4+Pj4gVG86 IExlaWYgTGluZGhvbG0gPGxlaWYubGluZGhvbG1AbGluYXJvLm9yZz4NCj4gPj4+PiBDYzogbWlj aGFlbC5kLmtpbm5leUBpbnRlbC5jb207IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOw0KPiA+Pj4+ IGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmcNCj4gPj4+PiBTdWJqZWN0OiBSZTogW2VkazJdIFtQ QVRDSCBlZGsyLXBsYXRmb3JtcyAwMS8zOV0gU2lsaWNvbi9OWFA6IEFkZA0KPiA+PiBzdXBwb3J0 DQo+ID4+Pj4gZm9yIEJpZyBFbmRpYW4gTW1pbyBBUElzDQo+ID4+Pj4NCj4gPj4+PiBPbiAwMi8y Mi8xOCAxMjo1MiwgTGVpZiBMaW5kaG9sbSB3cm90ZToNCj4gPj4+Pj4gT24gVGh1LCBGZWIgMjIs IDIwMTggYXQgMDk6MzQ6MDVBTSArMDEwMCwgTGFzemxvIEVyc2VrIHdyb3RlOg0KPiA+Pj4+DQo+ ID4+Pj4+Pj4gQnV0IHRoYXQgYnJpbmdzIGJhY2sgdGhlIGNvbXBsaWNhdGlvbiBhcyB0byBob3cg d2UgaGF2ZSBhIGRyaXZlcg0KPiA+Pj4+Pj4+IHRoYXQgbmVlZHMgYW4gTEUgSU8gbGlicmFyeSB0 byB3cml0ZSBvdXRwdXQsIGFuZCBhIEJFIElPIGxpYnJhcnkgdG8NCj4gPj4+Pj4+PiBtYW5pcHVs YXRlIHRoZSBoYXJkd2FyZS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBDYW4geW91IHBsZWFzZSBleHBs YWluIHRoZSAid3JpdGUgb3V0cHV0IiB1c2UgY2FzZSBtb3JlIHByZWNpc2VseT8NCj4gPj4+Pj4+ DQo+ID4+Pj4+PiBNeSB0aGlua2luZyB3b3VsZCBiZSB0aGlzOg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+ IC0gVXNlIHRoZSBJb0xpYiBjbGFzcyBkaXJlY3RseSBmb3IgIndyaXRpbmcgb3V0cHV0IiBpbiBs aXR0bGUgZW5kaWFuDQo+ID4+Pj4+PiBieXRlIG9yZGVyICh3aGljaCBpcyBzdGlsbCB1bmNsZWFy IHRvIG1lIHNvcnJ5KS4NCj4gPj4+Pj4NCj4gPj4+Pj4gSWYgdGhlIElvTGliIGNsYXNzIGlzIG1h cHBlZCB0byBhIGFuIGluc3RhbmNlIHRoYXQgYnl0ZS1zd2FwcyAoaGVyZXRvDQo+ID4+Pj4+IHJl ZmVycmVkIHRvIGFzIEJlSW9MaWIgaWYgSW9MaWJTd2FwIGlzIHVuc3VpdGFibGUpLCB3b3VsZCB3 ZSBub3QgdGhlbg0KPiA+Pj4+PiBlbmQgdXAgbWFwcGluZyB0aGUgbm9uLXN3YXBwaW5nLCBjdXJy ZW50bHkgaW1wbGVtZW50ZWQgaW4NCj4gPj4+Pj4gQmFzZUxpYklvSW50cmluc2ljLCB2YXJpYW50 IGFzIEJlSW9MaWI/IE9yIGlmIG5vdCwgZG8gd2UgZW5kIHVwDQo+ID4+Pj4+IG5lZWRpbmcgdG8g ZHVwbGljYXRlZCBhbGwgSW9MaWIgaW1wbGVtZW50YXRpb24gLmluZnMgdG8gcHJvdmlkZSBhbg0K PiA+Pj4+PiBJb0xpYiBhbmQgYSBCZUlvTGliIGZvciBlYWNoPw0KPiA+Pj4+Pg0KPiA+Pj4+PiBJ dCdzIGF0IHRoYXQgcG9pbnQgSSBidXJzdCBhbiBhbmV1cnlzbS4NCj4gPj4+Pj4gQW0gSSBvdmVy dGhpbmtpbmcvdW5kZXJ0aGlua2luZyB0aGlzPw0KPiA+Pj4+DQo+ID4+Pj4gV2UgbmVlZCB0d28g bGlicmFyeSBjbGFzc2VzLCBvbmUgZm9yIHRhbGtpbmcgdG8gTEUgZGV2aWNlcyBhbmQgYW5vdGhl cg0KPiB0bw0KPiA+PiBCRQ0KPiA+Pj4+IGRldmljZXMuIFRoZXNlIHNob3VsZCBiZSB1c2FibGUg aW4gYSBnaXZlbiBtb2R1bGUgYXQgdGhlIHNhbWUgdGltZSwgYXMNCj4gPj4gQXJkDQo+ID4+Pj4g c2F5cy4NCj4gPj4+Pg0KPiA+Pj4+IEJvdGggbGlicmFyeSBjbGFzc2VzIG5lZWQgdG8gd29yayBv biBib3RoIExFIGFuZCBCRSBDUFVzICh3b3JraW5nDQo+IGZyb20NCj4gPj4geW91cg0KPiA+Pj4+ IHN1Z2dlc3Rpb24gdGhhdCBVRUZJIG1pZ2h0IGdyb3cgQkUgQ1BVIHN1cHBvcnQgYXQgc29tZSBw b2ludCkuDQo+ID4+Pj4gV2hldGhlciB0aGF0IGlzIGltcGxlbWVudGVkIGJ5IGR1bWIsIHNlcGFy YXRlIGxpYnJhcnkgaW5zdGFuY2VzDQo+ID4+ICh5aWVsZGluZyBpbg0KPiA+Pj4+IHRvdGFsIDIq Mj00IGxpYnJhcnkgaW5zdGFuY2VzKSwgb3IgYnkgc21hcnQsIENQVS1lbmRpYW5uZXNzLWFnbm9z dGljDQo+ID4+IGxpYnJhcnkNCj4gPj4+PiBpbnN0YW5jZXMgKGluIHRvdGFsLCAyKSwgaXMgYSBk aWZmZXJlbnQgcXVlc3Rpb24uDQo+ID4+Pj4NCj4gPj4+PiBOb3RlIHRoYXQgc3VjaCAic21hcnRz IiBjb3VsZCBiZSBsZXNzIHRoYW4gdHJpdmlhbCB0byBpbXBsZW1lbnQ6DQo+ID4+Pj4gLSBjaGVj ayBDUFUgZW5kaWFubmVzcyBpbiBlYWNoIGxpYnJhcnkgQVBJPw0KPiA+Pj4+IC0gb3IgY2hlY2sg aW4gdGhlIGxpYiBjb25zdHJ1Y3RvciBvbmx5LCBhbmQgZmxpcCBzb21lIGZ1bmN0aW9uIHBvaW50 ZXJzPw0KPiA+Pj4+IC0gdXNlIGEgZHluYW1pYyBQQ0QgZm9yIGNhY2hpbmcgQ1BVIGVuZGlhbm5l c3M/DQo+ID4+Pj4gLSB1c2UgYSBIT0IgZm9yIHRoZSBzYW1lPw0KPiA+Pj4+IC0gdXNlIGEgbGli IGdsb2JhbCB2YXJpYWJsZSAoZm9yIGNhY2hpbmcgb25seSBvbiB0aGUgbW9kdWxlIGxldmVsKT8N Cj4gPj4+Pg0KPiA+Pj4+IEkgdGhpbmsgdGhlIHNvbHV0aW9uIHRoYXQgc2F2ZXMgdGhlIG1vc3Qg b24gdGhlICpzb3VyY2UqIGNvZGUgc2l6ZSBpczoNCj4gPj4+PiAtIGludHJvZHVjZSB0aGUgQmVJ b0xpYiBjbGFzcw0KPiA+Pj4+IC0gZHVwbGljYXRlIHRoZSBNTUlPIGZ1bmN0aW9ucyBmcm9tIEJh c2VJb0xpYkludHJpbnNpYyB0byB0aGUgb25lDQo+ID4+Pj4gICBCZUlvTGliIGluc3RhbmNlIHRo YXQgd2UgaW50cm9kdWNlDQo+ID4+Pj4gLSBtb2RpZnkgdGhlIE1NSU8gZnVuY3Rpb25zIGluICpi b3RoKiBsaWIgaW5zdGFuY2VzIChvcmlnaW5hbCBMRSwgYW5kDQo+ID4+Pj4gICBuZXcgQkUpLCBs aWtlIHRoaXM6DQo+ID4+Pj4NCj4gPj4+PiAgIC0gSWYgdGhlIENQVSBhcmNoaXRlY3R1cmUgaXMg a25vd24gdG8gYmUgYm91bmQgdG8gYSBzaW5nbGUgZW5kaWFubmVzcywNCj4gPj4+PiAgICAgdGhl biBoYXJkY29kZSB0aGUgYXBwcm9wcmlhdGUgb3BlcmF0aW9uLiBUaGlzIGNhbiBiZSBkb25lIHdp dGgNCj4gPj4+PiAgICAgcHJlcHJvY2Vzc29yIG1hY3Jvcywgb3Igd2l0aCB0aGUgYXJjaGl0ZWN0 dXJlIHN1cHBvcnQgb2YgSU5GIGZpbGVzIC8NCj4gPj4+PiAgICAgc2VwYXJhdGUgc291cmNlIGZp bGVzLiBGb3IgZXhhbXBsZSwgb24gSUEzMiBhbmQgWDY0LCB0aGUgSW9MaWINCj4gPj4+PiAgICAg aW5zdGFuY2Ugc2hvdWxkIHdvcmsgdHJhbnNwYXJlbnRseSwgdW5jb25kaXRpb25hbGx5LCBhbmQg dGhlIEJlSW9MaWINCj4gPj4+PiAgICAgaW5zdGFuY2Ugc2hvdWxkIGJ5dGUtc3dhcCwgdW5jb25k aXRpb25hbGx5Lg0KPiA+Pj4+DQo+ID4+Pj4gICAtIE9uIG90aGVyIENQVSBhcmNoZXMsIGFsbCB0 aGUgd2lkZXItdGhhbi1ieXRlIE1NSU8gZnVuY3Rpb25zLCBpbg0KPiA+Pj4+ICAgICAqYm90aCog bGliIGluc3RhbmNlcyBzaG91bGQgZG8gc29tZXRoaW5nIGxpa2UgdGhpczoNCj4gPj4+Pg0KPiA+ Pj4+ICAgICAvLw0KPiA+Pj4+ICAgICAvLyBhdCBmaWxlIHNjb3BlDQo+ID4+Pj4gICAgIC8vDQo+ ID4+Pj4gICAgIFNUQVRJQyBDT05TVCBVSU5UMTYgbU9uZSA9IDE7DQo+ID4+Pj4NCj4gPj4+PiAg ICAgLy8NCj4gPj4+PiAgICAgLy8gYXQgZnVuY3Rpb24gc2NvcGUNCj4gPj4+PiAgICAgLy8NCj4g Pj4+PiAgICAgaWYgKCooQ09OU1QgVUlOVDggKikmbU9uZSA9PSAxKSB7DQo+ID4+Pj4gICAgICAg Ly8NCj4gPj4+PiAgICAgICAvLyBDUFUgaW4gTEUgbW9kZToNCj4gPj4+PiAgICAgICAvLyAtIHdv cmsgdHJhbnNwYXJlbnRseSBpbiB0aGUgSW9MaWIgaW5zdGFuY2UNCj4gPj4+PiAgICAgICAvLyAt IGJ5dGUtc3dhcCBpbiB0aGUgQmVJb0xpYiBpbnN0YW5jZQ0KPiA+Pj4+ICAgICAgIC8vDQo+ID4+ Pj4gICAgIH0gZWxzZSB7DQo+ID4+Pj4gICAgICAgLy8NCj4gPj4+PiAgICAgICAvLyBDUFUgaW4g QkUgbW9kZToNCj4gPj4+PiAgICAgICAvLyAtIGJ5dGUtc3dhcCBpbiB0aGUgSW9MaWIgaW5zdGFu Y2UNCj4gPj4+PiAgICAgICAvLyAtIHdvcmsgdHJhbnNwYXJlbnRseSBpbiB0aGUgQmVJb0xpYiBp bnN0YW5jZQ0KPiA+Pj4+ICAgICAgIC8vDQo+ID4+Pj4gICAgIH0NCj4gPj4+DQo+ID4+PiBJIHN1 Z2dlc3QgdGhpcyBhcHByb2FjaCA6DQo+ID4+Pg0KPiA+Pj4gMS4gQWRkIEJlTW1pbyogZnVuY3Rp b25zIGluIGV4aXN0aW5nIElvTGliLiBCZU1taW8qIGZ1bmN0aW9ucyB3aWxsDQo+IHN3YXANCj4g Pj4gdGhlIGlucHV0IGJlZm9yZSB3cml0ZSBhbmQgc3dhcCBvdXRwdXQgYWZ0ZXIgcmVhZCBhbmQg c28gb24uDQo+ID4+PiAgICAgTW1pbyogZnVuY3Rpb25zIHdpbGwgbm90IHBlcmZvcm0gYW55IGJ5 dGUgc3dhcHBpbmcNCj4gPj4+IDIuIGNyZWF0ZSBzZWNvbmQgaW5zdGFuY2UgKGEgY29weSkgb2Yg dGhpcyBJb0xpYiBmb3IgQ1BVcyB0aGF0IGFyZSBCaWcNCj4gRW5kaWFuLg0KPiA+PiBXZSBjYW4g Y2FsbCBpdCBCaWdFbmRpYW5Jb0xpYi4NCj4gPj4+ICAgICAgSW4gdGhpcyBsaWJyYXJ5IE1taW8q IGZ1bmN0aW9ucyB3aWxsIHN3YXAgdGhlIGlucHV0IGJlZm9yZSB3cml0ZSBhbmQNCj4gPj4gc3dh cCBvdXRwdXQgYWZ0ZXIgcmVhZCBhbmQgc28gb24uDQo+ID4+PiAgICAgIEJlTW1pbyogZnVuY3Rp b25zIHdpbGwgbm90IHBlcmZvcm0gYW55IGJ5dGUgc3dhcHBpbmcuDQo+ID4+PiAzLiBJbmNsdWRl IHRoZSBpbnN0YW5jZSBvZiBJb0xpYiBpbiBkc2MgZmlsZSBiYXNlZCBvbiBjcHUgZW5kaWFubmVz cyB0aGF0DQo+IHRoZQ0KPiA+PiBwbGF0Zm9ybSB3YW50cyB0byB1c2UuIGkuZS4NCj4gPj4+ICAg ICBJZiBCSUdfRU5ESUFOID09IEZBTFNFDQo+ID4+PiAgICAgICAgSW9MaWIgfCAuLlwuLlwuLlxJ b0xpYg0KPiA+Pj4gICAgRWxzZQ0KPiA+Pj4gICAgICAgSW9MaWIgfCAuLlwuLlwuLlxCaWdFbmRp YW5Jb0xpYg0KPiA+Pj4gNC4gVGhlIGRldmljZXMgdGhhdCBhcmUgQmlnIGVuZGlhbiBpbiBwbGF0 Zm9ybSB3aWxsIGFsd2F5cyBjYWxsIEJlTW1pbyoNCj4gPj4gZnVuY3Rpb25zLiBUaGV5IG5lZWQg bm90IGNoZWNrIENQVSBlbmRpYW5uZXNzLg0KPiA+Pj4gNS4gVGhlIGRldmljZXMgdGhhdCBhcmUg TGl0dGxlIGVuZGlhbiBpbiBwbGF0Zm9ybSB3aWxsIGFsd2F5cyBjYWxsIE1taW8qDQo+ID4+IGZ1 bmN0aW9ucy4gVGhleSBuZWVkIG5vdCBjaGVjayBDUFUgZW5kaWFubmVzcy4NCj4gPj4NCj4gPj4g VGhpcyBjYW4gd29yayB0b28sIGJ1dCB0aGVyZSBpcyBhIGRvd25zaWRlOiBhIGxhcmdlIG51bWJl ciBvZiBJb0xpYg0KPiA+PiBpbnN0YW5jZXMgZXhpc3QgaW4gdGhlIHRyZWUgYWxyZWFkeS4gSWYg eW91IGFkZCB0aGUgQmVNbWlvKiBmdW5jdGlvbnMgdG8NCj4gPj4gdGhlIGV4aXN0ZW50IElvTGli IGNsYXNzLCB5b3UnbGwgaGF2ZSB0byBkdXBsaWNhdGUgdGhlIGltcGxlbWVudGF0aW9uIHRvDQo+ ID4+IGFsbCBpbnN0YW5jZXMgKGlkZW50aWNhbGx5LCBJIHRoaW5rKS4NCj4gPj4NCj4gPj4gV2Un dmUgaGFkIHRoaXMgZGViYXRlIGluIHRoZSBwYXN0LiBCYWNrIHRoZW4gaXQgd2FzIGFib3V0IElv Rmlmbw0KPiA+PiByb3V0aW5lcy4gSSBhcmd1ZWQgZm9yIGFuIElvRmlmbyBsaWIgY2xhc3MuIFVs dGltYXRlbHkgdGhlIElvRmlmbw0KPiA+PiByb3V0aW5lcyB3ZXJlIGFkZGVkIHRvIElvTGliLCBh bmQgdGhleSBoYWQgdG8gYmUgaW1wbGVtZW50ZWQgZm9yIG1hbnkNCj4gPj4gbW9yZSBsaWJyYXJ5 IGluc3RhbmNlcyB0aGFuIGNsaWVudCBjb2RlIHdvdWxkIGhhdmUgYWN0dWFsbHkgcmVxdWlyZWQu DQo+ID4+IChTZWUgdGhlIHNlcmllcyBhdCAxM2E1MGE2ZmUxZGMuLjJiNjMxMzkwZjlmNS4pIElu IHR1cm4gdGhpcyBydW5zIHRoZQ0KPiA+PiByaXNrIG9mIGFkZGluZyB1bnRlc3RlZCBjb2RlLg0K PiA+Pg0KPiA+PiBSZWdhcmRpbmcgdGhlIGluc3RhbmNlcyBmb3IgQkUgQ1BVczogdGhlIG5hbWUg c2hvdWxkIGxpa2VseSBiZQ0KPiA+PiBCYXNlSW9MaWJCaWdFbmRpYW4gb3Igc29tZXRoaW5nIHNp bWlsYXIuIEluIGxpYiBpbnN0YW5jZSBuYW1lcywgdGhlIGxpYg0KPiA+PiBjbGFzcyBuYW1lIGlz IHVzdWFsbHkgcHJlZml4ZWQgd2l0aCB0aGUgZmlybXdhcmUgcGhhc2VzIHdoZXJlIHRoZQ0KPiA+ PiBpbnN0YW5jZSBpcyB1c2FibGUsIGFuZCBoaW50cyBhYm91dCB0aGUgaW1wbGVtZW50YXRpb24g b3IgY29uc3RyYWludHMNCj4gPj4gYXJlIGFkZGVkIGFzIGEgc3VmZml4Lg0KPiA+DQo+ID4gSSBz ZWUgbGlrZSBiZWxvdw0KPiA+IENQVSAJCQlJUAkJQ2FsbAkJCUxpYg0KPiA+IExFCQkJTEUJCU1N SU8gICAgICAgCQlCYXNlSW9MaWINCj4gPiBMRQkJCUJFCQlTd2FwcGVkTU1JTwkJQmFzZUlvTGli RXgNCj4gPiBCRQkJCUJFCQlNTUlPCQkJQmFzZUlvTGliDQo+ID4gQkUJCQlMRSAJCVN3YXBwZWRN TUlPDQo+IEJhc2VJb0xpYkV4DQo+IA0KPiBJbiBteSBvcGluaW9uLCB0aGlzIGlzIHdyb25nLiBU aGUgIkNhbGwiIGNvbHVtbiBzaG91bGQgbm90IHZhcnkgd2l0aCBDUFUNCj4gZW5kaWFubmVzcywg aXQgc2hvdWxkIG9ubHkgdmFyeSB3aXRoICJJUCIgKGRldmljZSkgZW5kaWFubmVzcy4NCj4gDQo+ IEJhc2ljYWxseSB5b3UgYXJlIHB1dHRpbmcgdGhlIGVudGlyZSB3b3JrIG9uIHRoZSBkcml2ZXIg Y29kZSwgdG8gZmlndXJlDQo+IG91dCB3aGV0aGVyIHN3YXBwaW5nIHdpbGwgYmUgbmVjZXNzYXJ5 IG9yIG5vdC4gRm9yIHRoYXQsIHRoZSBkcml2ZXIgaGFzDQo+IHRvIGNvbnN1bHQgdGhlIGJ5dGUg b3JkZXIgb2YgKmJvdGgqIHRoZSBDUFUgKmFuZCogdGhlIGRldmljZSwgYW5kIHRoZW4NCj4gY2Fs bCAidHJhbnNwYXJlbnQiIG9yICJzd2FwcGVkIiBNTUlPIGZ1bmN0aW9ucy4NCj4NCj4gV2hhdCBJ IGFtIHN1Z2dlc3RpbmcgaXMgdGhhdCB0aGUgZHJpdmVyIGNhcmUgYWJvdXQgZGV2aWNlIGJ5dGUg b3JkZXINCj4gb25seS4gVGhpcyB3aWxsIGRldGVybWluZSB3aGV0aGVyIHRoZSBkcml2ZXIgY2Fs bHMgTW1pb1dyaXRlMzIoKSBvcg0KPiBCZU1taW9Xcml0ZTMyKCkuDQoNCj4gSW4gdHVybiwgd2hl dGhlciBvciBub3QgdGhvc2UgZnVuY3Rpb25zIGJ5dGUtc3dhcCwgYWNjb3JkaW5nIHRvIENQVSBi eXRlDQo+IG9yZGVyLCBpcyBhbiBpbnRlcm5hbCBtYXR0ZXIgb2YgdGhlIGxpYnJhcmllcy4NCj4g DQo+ICAgSVAgIENhbGwgICAgICAgICAgIExpYiAgICAgIENQVSAgQnl0ZS1zd2FwIHdpdGhpbiBM aWINCj4gICAtLSAgLS0tLS0tLS0tLS0tLSAgLS0tLS0tLSAgLS0tICAtLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiAgIExFICBNbWlvV3JpdGUzMiAgICBJb0xpYiAgICBMRSAgIG5vDQo+ICAgTEUgIE1t aW9Xcml0ZTMyICAgIElvTGliICAgIEJFICAgeWVzDQo+ICAgQkUgIEJlTW1pb1dyaXRlMzIgIEJl SW9MaWIgIExFICAgeWVzDQo+ICAgQkUgIEJlTW1pb1dyaXRlMzIgIEJlSW9MaWIgIEJFICAgbm8N Cj4gDQo+IE9idmlvdXNseSwgdGhlIGVuZCByZXN1bHQgaXMgdGhlIHNhbWU7IHRoZSBxdWVzdGlv biBpcyB3aGF0ICpjb25jZXB0cyoNCj4gdGhlIGRldmljZSBkcml2ZXIgaGFzIHRvIGNhcmUgYWJv dXQuDQoNCj4gVW5kZXIgeW91ciBzY2hlbWUsIGV2ZXJ5IGRldmljZSBkcml2ZXIgaGFzIHRvIGNh cmUgYWJvdXQgY29uY2VwdHMgc3VjaA0KPiBhcyAiZGV2aWNlIGJ5dGUgb3JkZXIiLCAiY3B1IGJ5 dGUgb3JkZXIiLCBhbmQgInN3YXBwaW5nIi4NCj4gDQo+IFVuZGVyIG15IHNjaGVtZSwgZXZlcnkg ZGV2aWNlIGRyaXZlciBoYXMgdG8gY2FyZSBhYm91dCAiZGV2aWNlIGJ5dGUgb3JkZXIiLg0KDQpU aGFua3MgZm9yIGRldGFpbGluZyAuDQpNYXkgYmUgSSB3YXMgbm90IGNsZWFyIGluIHByZXZpb3Vz IGVtYWlsIGJ5IHNheWluZyANCg0KPj4gSSBhbSBjYWxsaW5nIEJhc2VJb0xpYkV4IGZvciBleHRl bmQgdGhlIGZlYXR1cmUgb2YgQ1BVIGVuZGlhbm5lc3MgSW4gdGhpcyBjYXNlIFN3YXBwZWRNTUlP IGNvdWxkIGJlIE1taW9Ub0JlIG9yIE1taW9Ub0xlIExldCB0aGlzIHRoaXMgbmV3IA0KPj4gbGli IEJhc2VJb0xpYkV4IGRlY2lkZSBlbmRpYW5uZXNzIG9mIENQVSBiYXNlZCB1cG9uIFBjZCwgaG9i IGxpc3QgZXRjIGFuZCBkbyBjb252ZXJzaW9uIGlmIG5lZWRlZC4NCg0KSSB0aGluaywgbW9yZSBv ciBsZXNzIHdlIGFyZSBzYXlpbmcgc2FtZSB0aGluZy4NCg0KSSBhbSBzYXlpbmcgZm9yIG5ldyBk ZXZlbG9wbWVudCB3aWxsIHVzZSBNbWlvVG9CZSBvciBNbWlvVG9MZSBiYXNlZCB1cG9uIElQIG1v ZGUsIA0KV2hlcmVhcyB5b3UgYXJlIHJlZmVycmluZyBhcyBNbWlvV3JpdGUzMiBhbmQgQmVNbWlv V3JpdGUzMiB0byBiZSB1c2VkLiANCg0KVGhlIGRpZmZlcmVuY2Ugd2hhdCBJIHNlZSwgYmV0d2Vl biB5b3VyIHByb3Bvc2FsIGFuZCBtaW5lDQpZb3UgYXJlIHNheWluZyAsIHRvIGRvIHN3YXBwaW5n IGluIE1taW9Xcml0ZTMyIGJhc2VkIHVwb24gQ1BVIG1vZGUuDQpXaGVyZWFzIEkgYW0gcmVmZXJy aW5nIHRvIG5ldyBBUElzLiANCg0KQW55d2F5ICwgSSBhbSBvayB3aXRoIHlvdXIgcHJvcG9zYWwg LCB3aGljaCBsb29rcyBtb3JlIGlubGluZSB3LnIudCBjdXJyZW50IGVkay0yIGNvZGUgDQoNClRo YW5rcw0KVWRpdCANCg0KPiBMYXN6bG8NCg==