From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50518C2BA83 for ; Wed, 12 Feb 2020 12:17:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0FD302082F for ; Wed, 12 Feb 2020 12:17:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=yadro.com header.i=@yadro.com header.b="CAFGCsJI" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726146AbgBLMRB (ORCPT ); Wed, 12 Feb 2020 07:17:01 -0500 Received: from mta-02.yadro.com ([89.207.88.252]:44936 "EHLO mta-01.yadro.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725945AbgBLMRB (ORCPT ); Wed, 12 Feb 2020 07:17:01 -0500 Received: from localhost (unknown [127.0.0.1]) by mta-01.yadro.com (Postfix) with ESMTP id E92D5493B9; Wed, 12 Feb 2020 12:16:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=yadro.com; h= mime-version:content-transfer-encoding:content-id:content-type :content-type:content-language:accept-language:in-reply-to :references:message-id:date:date:subject:subject:from:from :received:received:received:received; s=mta-01; t=1581509816; x= 1583324217; bh=bh7BBVtP/Pjwmv/9yjOu86jOjqUjh7ESSWRj1PaveSs=; b=C AFGCsJIejrh8KNuQsaNOTz6fS8J3ZXqOaMFkKdRcVY3y+w/t8reOjtnbSQj4DtZW 3sQEL1w0zODkR8ll6tviR4nxG9rsbiz04zu80W0WoDQ4/kWEu2sqnwV7YgDMwdrE qizl52WOO2E5fB8ZEHOA0wrwqFz/cn+zjtu8mUieCM= X-Virus-Scanned: amavisd-new at yadro.com Received: from mta-01.yadro.com ([127.0.0.1]) by localhost (mta-01.yadro.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ILpVCLJeYDBQ; Wed, 12 Feb 2020 15:16:56 +0300 (MSK) Received: from T-EXCH-01.corp.yadro.com (t-exch-01.corp.yadro.com [172.17.10.101]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mta-01.yadro.com (Postfix) with ESMTPS id 28128494C2; Wed, 12 Feb 2020 15:16:56 +0300 (MSK) Received: from T-EXCH-02.corp.yadro.com (172.17.10.102) by T-EXCH-01.corp.yadro.com (172.17.10.101) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.669.32; Wed, 12 Feb 2020 15:16:55 +0300 Received: from T-EXCH-02.corp.yadro.com ([fe80::19dd:9b61:5447:ff23]) by T-EXCH-02.corp.yadro.com ([fe80::19dd:9b61:5447:ff23%14]) with mapi id 15.01.0669.032; Wed, 12 Feb 2020 15:16:55 +0300 From: Sergei Miroshnichenko To: "helgaas@kernel.org" CC: "linux-pci@vger.kernel.org" , "linux@yadro.com" , "sr@denx.de" Subject: Re: [PATCH v7 16/26] PCI: Ignore PCIBIOS_MIN_MEM Thread-Topic: [PATCH v7 16/26] PCI: Ignore PCIBIOS_MIN_MEM Thread-Index: AQHV1rj3MLBuXSpu+0eGhF8XhxKbvKgDsP4AgAE1ToCAACOmAIAHX86AgAA6TgCACrjVAA== Date: Wed, 12 Feb 2020 12:16:55 +0000 Message-ID: References: <20200205163246.GA201899@google.com> In-Reply-To: <20200205163246.GA201899@google.com> Accept-Language: en-US, ru-RU Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [172.17.15.136] Content-Type: text/plain; charset="utf-8" Content-ID: <972C773F1BC5644DA0DEAD9813011F48@yadro.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org T24gV2VkLCAyMDIwLTAyLTA1IGF0IDEwOjMyIC0wNjAwLCBCam9ybiBIZWxnYWFzIHdyb3RlOg0K PiBPbiBXZWQsIEZlYiAwNSwgMjAyMCBhdCAwMTowNDowNlBNICswMDAwLCBTZXJnZWkgTWlyb3No bmljaGVua28NCj4gd3JvdGU6DQo+ID4gT24gRnJpLCAyMDIwLTAxLTMxIGF0IDE0OjI3IC0wNjAw LCBCam9ybiBIZWxnYWFzIHdyb3RlOg0KPiA+ID4gT24gRnJpLCBKYW4gMzEsIDIwMjAgYXQgMDY6 MTk6NDhQTSArMDAwMCwgU2VyZ2VpIE1pcm9zaG5pY2hlbmtvDQo+ID4gPiB3cm90ZToNCj4gPiA+ ID4gT24gVGh1LCAyMDIwLTAxLTMwIGF0IDE3OjUyIC0wNjAwLCBCam9ybiBIZWxnYWFzIHdyb3Rl Og0KPiA+ID4gPiA+IE9uIFdlZCwgSmFuIDI5LCAyMDIwIGF0IDA2OjI5OjI3UE0gKzAzMDAsIFNl cmdlaQ0KPiA+ID4gPiA+IE1pcm9zaG5pY2hlbmtvDQo+ID4gPiA+ID4gd3JvdGU6DQo+ID4gPiA+ ID4gPiBCQVJzIGFuZCBicmlkZ2Ugd2luZG93cyBhcmUgb25seSBhbGxvd2VkIHRvIGJlIGFzc2ln bmVkIHRvDQo+ID4gPiA+ID4gPiB0aGVpciBwYXJlbnQgYnVzJ3MgYnJpZGdlIHdpbmRvd3MsIGdv aW5nIHVwIHRvIHRoZSByb290DQo+ID4gPiA+ID4gPiBjb21wbGV4J3MgcmVzb3VyY2VzLiAgU28g YWRkaXRpb25hbCBsaW1pdGF0aW9ucyBvbiBCQVINCj4gPiA+ID4gPiA+IGFkZHJlc3MgYXJlIG5v dCBuZWVkZWQsIGFuZCB0aGUgUENJQklPU19NSU5fTUVNIGNhbiBiZQ0KPiA+ID4gPiA+ID4gaWdu b3JlZC4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBUaGlzIGlzIHRoZW9yZXRpY2FsbHkgdHJ1ZSwg YnV0IEkgZG9uJ3QgdGhpbmsgd2UgaGF2ZQ0KPiA+ID4gPiA+IHJlbGlhYmxlDQo+ID4gPiA+ID4g aW5mb3JtYXRpb24gYWJvdXQgdGhlIGhvc3QgYnJpZGdlIHdpbmRvd3MgaW4gYWxsIGNhc2VzLCBz bw0KPiA+ID4gPiA+IFBDSUJJT1NfTUlOX01FTS9fSU8gaXMgc29tZXRoaW5nIG9mIGFuIGFwcHJv eGltYXRpb24uDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBCZXNpZGVzLCB0aGUgdmFsdWUgb2Yg UENJQklPU19NSU5fTUVNIHJlcG9ydGVkIGJ5IHRoZSBCSU9TDQo+ID4gPiA+ID4gPiAxLjMgb24g U3VwZXJtaWNybyBIMTFTU0wtaSB2aWEgZTgyMF9fc2V0dXBfcGNpX2dhcCgpOg0KPiA+ID4gPiA+ ID4gDQo+ID4gPiA+ID4gPiAgIFttZW0gMHhlYmZmMTAwMC0weGZlOWZmZmZmXSBhdmFpbGFibGUg Zm9yIFBDSSBkZXZpY2VzDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IGlzIG9ubHkgc3VpdGFi bGUgZm9yIGEgc2luZ2xlIFJDIG91dCBvZiBmb3VyOg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4g PiAgIHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAweGVjMDAwMDAwLQ0K PiA+ID4gPiA+ID4gMHhlZmZmZmZmZg0KPiA+ID4gPiA+ID4gd2luZG93XQ0KPiA+ID4gPiA+ID4g ICBwY2lfYnVzIDAwMDA6MjA6IHJvb3QgYnVzIHJlc291cmNlIFttZW0gMHhlYjgwMDAwMC0NCj4g PiA+ID4gPiA+IDB4ZWJlZmZmZmYNCj4gPiA+ID4gPiA+IHdpbmRvd10NCj4gPiA+ID4gPiA+ICAg cGNpX2J1cyAwMDAwOjQwOiByb290IGJ1cyByZXNvdXJjZSBbbWVtIDB4ZWIyMDAwMDAtDQo+ID4g PiA+ID4gPiAweGViNWZmZmZmDQo+ID4gPiA+ID4gPiB3aW5kb3ddDQo+ID4gPiA+ID4gPiAgIHBj aV9idXMgMDAwMDo2MDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAweGU4YjAwMDAwLQ0KPiA+ID4g PiA+ID4gMHhlYWZmZmZmZg0KPiA+ID4gPiA+ID4gd2luZG93XQ0KPiA+ID4gPiA+ID4gDQo+ID4g PiA+ID4gPiAsIHdoaWNoIG1ha2VzIHRoZSBBTUQgRVBZQyA3MjUxIHVuYWJsZSB0byBib290IHdp dGggdGhpcw0KPiA+ID4gPiA+ID4gbW92YWJsZSBCQVJzIHBhdGNoc2V0Lg0KPiA+ID4gPiA+IA0K PiA+ID4gPiA+IFNvbWV0aGluZydzIHdyb25nIGlmIHRoaXMgc3lzdGVtIGJvb3RlZCBiZWZvcmUg dGhpcyBwYXRjaCBzZXQNCj4gPiA+ID4gPiBidXQgbm90IGFmdGVyLiAgV2Ugc2hvdWxkbid0IGJl IGRvaW5nICphbnl0aGluZyogd2l0aCB0aGUNCj4gPiA+ID4gPiBCQVJzDQo+ID4gPiA+ID4gdW50 aWwgd2UgbmVlZCB0bywgaS5lLiwgdW50aWwgd2UgaG90LWFkZCBhIGRldmljZSB3aGVyZSB3ZQ0K PiA+ID4gPiA+IGhhdmUgdG8gbW92ZSB0aGluZ3MgdG8gZmluZCBzcGFjZSBmb3IgaXQuDQo+ID4g PiA+IA0KPiA+ID4gPiBUaGUgb25lIGJyZWFraW5nIGJvb3Qgb24gdGhpcyBzeXN0ZW0gaW5pdGlh bGx5IHdhcyAxNy8yNiBvZg0KPiA+ID4gPiB0aGlzDQo+ID4gPiA+IHBhdGNoc2V0OiAiUENJOiBo b3RwbHVnOiBJZ25vcmUgdGhlIE1FTSBCQVIgb2Zmc2V0cyBmcm9tDQo+ID4gPiA+IEJJT1MvYm9v dGxvYWRlciINCj4gPiA+IA0KPiA+ID4gSSBkb24ndCB0aGluayB0aGF0IHBhdGNoIGlzIGEgZ29v ZCBpZGVhLiAgSSB0aGluayB3ZSBzaG91bGQgcmVhZA0KPiA+ID4gdGhlDQo+ID4gPiBjdXJyZW50 IEJBUnMgYW5kIHdpbmRvd3MgYXQgYm9vdC10aW1lIGFuZCBsZWF2ZSB0aGVtIGFsb25lIHVubGVz cw0KPiA+ID4gd2UNCj4gPiA+ICptdXN0KiBjaGFuZ2UgdGhlbS4gIEkgZG9uJ3QgdGhpbmsgd2Ug c2hvdWxkIGNoYW5nZSB0aGluZ3MNCj4gPiA+IHByZWVtcHRpdmVseSB0byBtYWtlIGZ1dHVyZSBo b3RwbHVnIGV2ZW50cyBlYXNpZXIuDQo+ID4gPiANCj4gPiA+ID4gQmVmb3JlIGl0IHRoZSBrZXJu ZWwganVzdCB0b29rIEJBUnMgcHJlLWFzc2lnbmVkIGJ5IEJJT1MuIEluDQo+ID4gPiA+IHRoZQ0K PiA+ID4gPiBzYW1lIHRpbWUsIHRoZSBzYW1lIEJJT1MgcmVwb3J0cyAweGViZmYxMDAwLTB4ZmU5 ZmZmZmYgYXMNCj4gPiA+ID4gYXZhaWxhYmxlIGZvciBQQ0kgZGV2aWNlcywgYnV0IHRoZSByZWFs IHJvb3QgYnJpZGdlIHdpbmRvd3MgYXJlDQo+ID4gPiA+IDB4ZThiMDAwMDAtMHhlZmZmZmZmZiBp biB0b3RhbCAoYW5kIGFsc28gNjQtYml0IHdpbmRvd3MpIC0NCj4gPiA+ID4gd2hpY2gNCj4gPiA+ ID4gYXJlIGFsc28gcmVwb3J0ZWQgYnkgdGhlIHNhbWUgQklPUy4gU28gdGhlIGtlcm5lbCB3YXMg b25seSBhYmxlDQo+ID4gPiA+IHRvIGhhbmRsZSB0aGUgMHhlYzAwMDAwMC0gMHhlZmZmZmZmZiBy b290IGJ1cy4NCj4gPiA+ID4gDQo+ID4gPiA+IFdpdGggdGhhdCBwYXRjaCByZXZlcnRlZCB0aGUg a2VybmVsIHdhcyBhYmxlIHRvIGJvb3QsIGJ1dA0KPiA+ID4gPiB1bmFibGUgdG8NCj4gPiA+ID4g cmVzY2FuIC0gdG8gcmVhc3NpZ24gQkFScyBhY3R1YWxseS4NCj4gPiA+ID4gDQo+ID4gPiA+ID4g KEFuZCB3ZSBkb24ndCB3YW50IGEgYmlzZWN0aW9uIGhvbGUgd2hlcmUgdGhpcyBzeXN0ZW0gY2Fu J3QNCj4gPiA+ID4gPiBib290IHVudGlsIHRoaXMgcGF0Y2ggaXMgYXBwbGllZCwgYnV0IEkgYXNz dW1lIHRoYXQncw0KPiA+ID4gPiA+IG9idmlvdXMuKQ0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4g U2lnbmVkLW9mZi1ieTogU2VyZ2VpIE1pcm9zaG5pY2hlbmtvIDwNCj4gPiA+ID4gPiA+IHMubWly b3NobmljaGVua29AeWFkcm8uY29tPg0KPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiAgZHJp dmVycy9wY2kvc2V0dXAtcmVzLmMgfCA1ICsrKy0tDQo+ID4gPiA+ID4gPiAgMSBmaWxlIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gPiA+ID4gPiA+IA0KPiA+ID4g PiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3NldHVwLXJlcy5jIGIvZHJpdmVycy9wY2kv c2V0dXAtDQo+ID4gPiA+ID4gPiByZXMuYw0KPiA+ID4gPiA+ID4gaW5kZXggYTdkODE4MTZkMWVh Li40MDQzYWFiMDIxZGQgMTAwNjQ0DQo+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL3BjaS9zZXR1 cC1yZXMuYw0KPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9wY2kvc2V0dXAtcmVzLmMNCj4gPiA+ ID4gPiA+IEBAIC0yNDYsMTIgKzI0NiwxMyBAQCBzdGF0aWMgaW50DQo+ID4gPiA+ID4gPiBfX3Bj aV9hc3NpZ25fcmVzb3VyY2Uoc3RydWN0DQo+ID4gPiA+ID4gPiBwY2lfYnVzICpidXMsIHN0cnVj dCBwY2lfZGV2ICpkZXYsDQo+ID4gPiA+ID4gPiAgCQlpbnQgcmVzbm8sIHJlc291cmNlX3NpemVf dCBzaXplLA0KPiA+ID4gPiA+ID4gcmVzb3VyY2Vfc2l6ZV90IGFsaWduKQ0KPiA+ID4gPiA+ID4g IHsNCj4gPiA+ID4gPiA+ICAJc3RydWN0IHJlc291cmNlICpyZXMgPSBkZXYtPnJlc291cmNlICsg cmVzbm87DQo+ID4gPiA+ID4gPiAtCXJlc291cmNlX3NpemVfdCBtaW47DQo+ID4gPiA+ID4gPiAr CXJlc291cmNlX3NpemVfdCBtaW4gPSAwOw0KPiA+ID4gPiA+ID4gIAlpbnQgcmV0Ow0KPiA+ID4g PiA+ID4gIAlyZXNvdXJjZV9zaXplX3Qgc3RhcnQgPSAocmVzb3VyY2Vfc2l6ZV90KS0xOw0KPiA+ ID4gPiA+ID4gIAlyZXNvdXJjZV9zaXplX3QgZW5kID0gMDsNCj4gPiA+ID4gPiA+ICANCj4gPiA+ ID4gPiA+IC0JbWluID0gKHJlcy0+ZmxhZ3MgJiBJT1JFU09VUkNFX0lPKSA/IFBDSUJJT1NfTUlO X0lPIDoNCj4gPiA+ID4gPiA+IFBDSUJJT1NfTUlOX01FTTsNCj4gPiA+ID4gPiA+ICsJaWYgKCFw Y2lfY2FuX21vdmVfYmFycykNCj4gPiA+ID4gPiA+ICsJCW1pbiA9IChyZXMtPmZsYWdzICYgSU9S RVNPVVJDRV9JTykgPw0KPiA+ID4gPiA+ID4gUENJQklPU19NSU5fSU8gOg0KPiA+ID4gPiA+ID4g UENJQklPU19NSU5fTUVNOw0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEkgZG9uJ3QgdW5kZXJzdGFu ZCB0aGUgY29ubmVjdGlvbiBoZXJlLiAgUENJQklPU19NSU5fTUVNIGFuZA0KPiA+ID4gPiA+IFBD SUJJT1NfTUlOX0lPIGFyZSBiYXNpY2FsbHkgd2F5cyB0byBzYXkgIndlIGNhbid0IHB1dCBQQ0kN Cj4gPiA+ID4gPiByZXNvdXJjZXMgYmVsb3cgdGhpcyBhZGRyZXNzIi4NCj4gPiA+ID4gPiANCj4g PiA+ID4gPiBPbiBBQ1BJIHN5c3RlbXMsIHRoZSBkZXZpY2VzIGluIHRoZSBBQ1BJIG5hbWVzcGFj ZSBhcmUNCj4gPiA+ID4gPiBzdXBwb3NlZCB0byB0ZWxsIHRoZSBPUyB3aGF0IHJlc291cmNlcyB0 aGV5IHVzZSwgYW5kDQo+ID4gPiA+ID4gb2J2aW91c2x5DQo+ID4gPiA+ID4gdGhlIE9TIHNob3Vs ZCBub3QgYXNzaWduIHRob3NlIHJlc291cmNlcyB0byBhbnl0aGluZw0KPiA+ID4gPiA+IGVsc2Uu ICBJZg0KPiA+ID4gPiA+IExpbnV4IGhhbmRsZWQgYWxsIHRob3NlIEFDUEkgcmVzb3VyY2VzIGNv cnJlY3RseSBhbmQgaW4gdGhlDQo+ID4gPiA+ID4gYWJzZW5jZSBvZiBmaXJtd2FyZSBkZWZlY3Rz LCB3ZSBzaG91bGRuJ3QgbmVlZA0KPiA+ID4gPiA+IFBDSUJJT1NfTUlOX01FTS9fSU8gYXQgYWxs LiAgQnV0IG5laXRoZXIgb2YgdGhvc2UgaXMNCj4gPiA+ID4gPiBjdXJyZW50bHkNCj4gPiA+ID4g PiB0cnVlLg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEl0J3MgdHJ1ZSB0aGF0IHdlIHNob3VsZCBi ZSBzbWFydGVyIGFib3V0DQo+ID4gPiA+ID4gUENJQklPU19NSU5fTUVNL19JTywNCj4gPiA+ID4g PiBidXQgSSBkb24ndCB0aGluayB0aGF0IGhhcyBhbnl0aGluZyB0byBkbyB3aXRoIHdoZXRoZXIg d2UNCj4gPiA+ID4gPiBzdXBwb3J0ICptb3ZpbmcqIEJBUnMuICBXZSBoYXZlIHRvIGF2b2lkIHRo ZSBhZGRyZXNzIHNwYWNlDQo+ID4gPiA+ID4gdGhhdCdzIGFscmVhZHkgaW4gdXNlIGluICphbGwq IGNhc2VzLg0KPiA+ID4gPiANCj4gPiA+ID4gVGhpcyBpcyBjb25uZWN0ZWQgdG8gdGhlIGFwcHJv YWNoIG9mIHRoaXMgZmVhdHVyZTogcmVsZWFzaW5nLA0KPiA+ID4gPiByZWNhbGN1bGF0aW5nIGFu ZCByZWFzc2lnbmluZyB0aGUgQkFScyBhbmQgYnJpZGdlIHdpbmRvd3MuIElmDQo+ID4gPiA+IG1v dmFibGUgQkFScyBhcmUgZGlzYWJsZWQsIHRoaXMgYnVnIGRvZXNuJ3QgcmVwcm9kdWNlLiBBbmQg dGhlDQo+ID4gPiA+IGJ1ZyBkb2Vzbid0IGxldCB0aGUgc3lzdGVtIGJvb3Qgd2hlbiBCQVJzIGFy ZSBhbGxvd2VkIHRvIG1vdmUuDQo+ID4gPiA+IFRoYXQncyB3aHkgSSd2ZSB0aWVkIHRoZXNlIHRv Z2V0aGVyLg0KPiA+ID4gDQo+ID4gPiBNeSBwb2ludCBpcyBqdXN0IHRoYXQgbG9naWNhbGx5IHRo aXMgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aA0KPiA+ID4gbW92YWJsZSBCQVJzLg0KPiA+ID4gDQo+ ID4gPiA+IFRoaXMgbGluZSBzZXR0aW5nIHRoZSAibWluIiB0byBQQ0lCSU9TX01JTl8qIGlzIHRo ZXJlIHVudG91Y2hlZA0KPiA+ID4gPiBzaW5jZSB0aGUgZmlyc3Qga2VybmVsIGdpdCBjb21taXQg aW4gMjAwNSAtIGNvdWxkIGl0IGJlIHRoYXQNCj4gPiA+ID4gYWxsDQo+ID4gPiA+IHN5c3RlbXMg YXJlIGp1c3QgZmluZSBub3csIGhhdmluZyB0aGVpciByb290IGJyaWRnZSB3aW5kb3dzIHNldA0K PiA+ID4gPiB1cCBjb3JyZWN0bHk/DQo+ID4gPiANCj4gPiA+IEkgZG9uJ3QgdW5kZXJzdGFuZCB0 aGUgcXVlc3Rpb24sIHNvcnJ5Lg0KPiA+IA0KPiA+IEkgbWVhbiwgZXZlcnkgQkFSIGFzc2lnbmVk IGhlcmUgY2FuJ3QgcmVzaWRlIG91dHNpZGUgb2YgYSBob3N0DQo+ID4gSU8vTUVNIGJyaWRnZSB3 aW5kb3csIHdoaWNoIGlzIGEgYnVzLT5yZXNvdXJjZVtuXSBzZXQgdXAgYnkgdGhlDQo+ID4gcGxh dGZvcm0gY29kZSwgYW5kIHRoZWlyIC5zdGFydCBmaWVsZHMgYXJlIHNlZW1lZCB0byBiZSBkdXBs aWNhdGVkDQo+ID4gYnkgdGhlIFBDSUJJT1NfTUlOXyogdmFsdWVzIC0gZnJvbSB0aGUgcGxhdGZv cm0gY29kZSBhcyB3ZWxsLiBCdXQNCj4gPiB0aGUgLnN0YXJ0IGZpZWxkcyBhcmUgc2VlbSB0byBi ZSBjb3JyZWN0IChhcmVuJ3QgdGhleT8pLCBhbmQgdGhlDQo+ID4gUENJQklPU19NSU5fKiB2YWx1 ZXMgYXJlIHNvbWV0aW1lcyBkZWZpbml0ZWx5IG5vdC4NCj4gPiANCj4gPiBXaGF0IGNhbiBiZSBh IHJlbGlhYmxlIHRlc3QgdG8gY2hlY2sgaWYgUENJQklPU19NSU5fKiBhcmUgc2FmZSB0bw0KPiA+ IGlnbm9yZSB1bmNvbmRpdGlvbmFsbHk/IENvdWxkIGl0IGJlIGEgc2VwYXJhdGUgZmxhZyBpbnN0 ZWFkIG9mIHRoZQ0KPiA+IHBjaV9jYW5fbW92ZV9iYXJzIGhlcmU/DQo+ID4gDQo+ID4gV291bGQg aXQgYmUgZmluZSBmb3IgYSBzdGFydCB0byBpZ25vcmUgdGhlIFBDSUJJT1NfTUlOXyogaWYgaXQg bGllcw0KPiA+IGNvbXBsZXRlbHkgb3V0c2lkZSBvZiBob3N0IGJyaWRnZSB3aW5kb3dzPyBTbyBh dCBsZWFzdCBBTUQgRVBZQyBjYW4NCj4gPiBvYnRhaW4gaXRzIGhvdHBsdWcgcG93ZXIuDQo+IA0K PiBQQ0lCSU9TX01JTl8qIGhhcyBhIGxvbmcgaGlzdG9yeSBhbmQgaXQgdG91Y2hlcyBldmVyeSBh cmNoLCBzbyB5b3UnZA0KPiBoYXZlIHRvIG1ha2Ugc3VyZSB0aGlzIGlzIHNhZmUgZm9yIGFsbCBv ZiB0aGVtLg0KPiANCg0KUmlnaHQsIEkgc2hvdWxkIHJld29yayB0aGlzIGNoYW5nZSBhbmQgbWFr ZSBpdCB4ODYtc3BlY2lmaWMgLSB0aGUgb25seQ0KcGxhdGZvcm0gd2hlcmUgSSd2ZSBlbmNvdW50 ZXJlZCB0aGlzIGlzc3VlIChpbnZhbGlkIFBDSUJJT1NfTUlOX01FTQ0KZnJvbSB0aGUgZTgyMCBt ZW1vcnkgbWFwLCBwcmV2ZW50aW5nIGhvdHBsdWcpLg0KDQo+IE9uIHg4NiwgUENJQklPU19NSU5f TUVNIGlzIGNvbXB1dGVkIGZyb20gdGhlIGU4MjAgbWVtb3J5IG1hcCBhbmQgaXMNCj4gYmFzaWNh bGx5IGEgZ3Vlc3MgYmVjYXVzZSB0aGUgZTgyMCBtYXAgaXMgb25seSBpbmNpZGVudGFsbHkgcmVs YXRlZA0KPiB0bw0KPiBBQ1BJIGRldmljZSByZXNvdXJjZSB1c2FnZS4gIEkgY291bGQgaW1hZ2lu ZSBtYWtpbmcgdGhlIHg4Ng0KPiBjb21wdXRhdGlvbiBzbWFydGVyIGJ5IGxvb2tpbmcgYXQgdGhl IFBOUDBBMDMvUE5QMEEwOCBfQ1JTDQo+IGluZm9ybWF0aW9uLg0KPiANCg0KV291bGQgaXQgYmUg YWNjZXB0YWJsZSB0byBzZXQgUENJQklPU19NSU5fTUVNIHRvIHplcm8gZm9yIHg4NiBpbg0KYXJj aC94ODYvaW5jbHVkZS9hc20vcGNpLmggPyBJJ3ZlIGRlYnVnZ2VkIFBDcyBpbiBteSBwb3NzZXNz aW9uLCBhbmQgSQ0Kc2VlIHRoZXJlIGV2ZXJ5IEFDUElfUkVTT1VSQ0VfVFlQRV9BRERSRVNTKiBh bmQNCkFDUElfUkVTT1VSQ0VfVFlQRV9GSVhFRF9NRU1PUlkqIHJlc291cmNlIGV4dHJhY3RlZCBm cm9tIHRoZSBBQ1BJIGFyZQ0KZXZlbnR1YWxseSByZXByZXNlbnRlZCBpbiAvcHJvYy9pb21lbSBh bmQgL3Byb2MvaW9wb3J0cywgc28gdGhlIGtlcm5lbA0KY2FuJ3QgcHV0IGRldmljZSBCQVJzIGlu IHRoZXNlIHJlc2VydmVkIGFkZHJlc3MgcmFuZ2VzLg0KDQpUaGFua3MsDQpTZXJnZQ0KDQo+ID4g PiA+ID4gPiAgCWlmIChwY2lfY2FuX21vdmVfYmFycyAmJiBkZXYtPnN1Ym9yZGluYXRlICYmIHJl c25vID49DQo+ID4gPiA+ID4gPiBQQ0lfQlJJREdFX1JFU09VUkNFUykgew0KPiA+ID4gPiA+ID4g IAkJc3RydWN0IHBjaV9idXMgKmNoaWxkX2J1cyA9IGRldi0+c3Vib3JkaW5hdGU7DQo+ID4gPiA+ ID4gPiAtLSANCj4gPiA+ID4gPiA+IDIuMjQuMQ0KPiA+ID4gPiA+ID4gDQo=