From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0D34606A322 for ; Mon, 26 Oct 2026 08:48:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=Rx1i6Ok9; dkim=fail reason="signature verification failed" (1024-bit key, unprotected) header.d=rock-chips.com header.i=@rock-chips.com header.a=rsa-sha256 header.s=default header.b=IB74DxcY DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Unsubscribe-Post:List-Owner; bh=TQskVVd/xAPbyQot9cu8TPsCPOUL6j861k7nSvKkTy4=; b=Rx1i6Ok9UYhJzkncqpdsCH0EWr DFb/is9e80S/ouTftxviQV4/PjNiaTgsTes7JrrTELcTxjDu/oXaqW0Ke5doberjwhr/EMoQZ0Jk/ /jVoTTwYj0neHk7S2slpnNCMoLfBgdhB/LrWBKHd3kkYhQytc5lcJKKVUSh0rBvzduh/A1Ng/1Klo SsQGiUhgEJiADIFzYKyvMiIlcoa7P+kHRlwwWzyGC2ofwo28tHQ+gMf5e/U9hC9F+7NEvReMKxCRK X5WR0BRepjZk+43XdE3f63BphenBI88pYJ+/w3ojr32PuM/rWS3OnMbHxJzBFBv7LOHCzgswuc4mM Amem2FlA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xLGNG-00000001zFG-3S2g; Mon, 26 Oct 2026 08:48:10 +0000 Received: from mail-m2422.xmail.ntesmail.com ([45.195.24.22]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xLGND-00000001zDd-0zBm; Mon, 26 Oct 2026 08:48:09 +0000 Received: from [172.16.12.11] (gyproxy-mailtls3-entmail-gy2-virt38.gy.ntes [61.154.14.86]) by smtp.qiye.163.com (Hmail) with ESMTP id 525ab11e6; Mon, 26 Oct 2026 16:47:53 +0800 (GMT+08:00) Message-ID: <18fcfe7a-e25a-4516-810f-d787b779914d@rock-chips.com> Date: Mon, 26 Oct 2026 16:47:52 +0800 X-Archived-By: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 2/2] pmdomain: rockchip: Add RK3572 boot peripheral domains To: 1579567540@qq.com, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Elaine Zhang , Ulf Hansson Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org References: <20261026-add-board-ok3572-c-pmdomain-v3-0-70d614d3d921@qq.com> <20261026-add-board-ok3572-c-pmdomain-v3-2-70d614d3d921@qq.com> From: Finley Xiao In-Reply-To: <20261026-add-board-ok3572-c-pmdomain-v3-2-70d614d3d921@qq.com> X-HM-Tid: 0aa177650afa09dakunmad631c7433abf8 X-HM-MType: 1 X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly tZV1koWUFITzdXWRgWCB1ZQUpXWS1ZQUlXWQ8JGhUIEh9ZQVlCQk5CVkxLSkhOQh5OSh5IHVYVFA kWGhdVEwETFhoSFyQUDg9ZV1kYEgtZQVlNSlVKTk9VSk9VQ01ZV1kWGg8SFR0UWUFZT0tIVUpLSU 9PT0hVSktLVUpCS0tZBg++ DKIM-Signature: a=rsa-sha256; b=IB74DxcY8kXVnzuMzMLd2lGxKXUkcWs1SfoaTHTS9WYZ+OeJ4nRlarimnRIu5CjJhZi3nc2k30HWUbjviiTIpZHFrGVTVRJC0+rcQGFyvuqYMNtI7Zw0mdw4nsUq5/vKIjWvP7rl0HUVluSGXDS0zT16x1OWFrBxJVSmVfvhnbM=; s=default; c=relaxed/relaxed; d=rock-chips.com; v=1; bh=Rc75mWNoh4/ikQeoP/aZBFrVmEoDDuW/XtnlrEJEkYE=; h=date:mime-version:subject:message-id:from; X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261026_014807_917930_BE423A33 X-CRM114-Status: GOOD ( 34.53 ) X-Spam-Score: -2.1 (--) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" X-Spam-Status: No, score=-15.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 CuWcqCAyMDI2LzEwLzI2IDExOjIxLCBDdW5oYW8gTHUgdmlhIEI0IFJlbGF5IOWGmemBkzoKPiBG cm9tOiBGaW5sZXkgWGlhbyA8ZmlubGV5LnhpYW9Acm9jay1jaGlwcy5jb20+Cj4KPiBBZGQgc3Vw cG9ydCBmb3IgdGhlIFJLMzU3MiBOVk0wLCBOVk0xLCBQSFAsIGFuZCBWT1AgcG93ZXIgZG9tYWlu cy4KPgo+IFNpZ25lZC1vZmYtYnk6IEZpbmxleSBYaWFvIDxmaW5sZXkueGlhb0Byb2NrLWNoaXBz LmNvbT4KPgo+IC0gUmV0dXJuZWQgZmlybXdhcmUgc2hpZnQtcmVhZHkgd2FpdCBlcnJvcnMgdG8g Y2FsbGVycy4KPiAtIEtlcHQgdGhlIGRvbWFpbiBwZW5kaW5nIGFmdGVyIGEgZmlybXdhcmUgc2hp ZnQtcmVhZHkgd2FpdCBmYWlsdXJlLgo+IC0gUmV0cmllZCBwb3dlci1vbiB3aXRob3V0IHJlcGVh dGluZyBjb21wbGV0ZWQgbWVtb3J5IHJlc2V0cy4KPiAtIFJlY29yZGVkIGxvdy1sZXZlbCBwb3dl ci1vbiBhbmQgcmVzdG9yYXRpb24gc3RhZ2VzIGJlZm9yZSBoYXJkd2FyZQo+ICAgIG9wZXJhdGlv bnMgc28gcmV0cmllcyBjb21wbGV0ZSB1bmZpbmlzaGVkIGxvdy1sZXZlbCB3b3JrLgo+IC0gS2Vw dCBtZW1vcnkgcmVzZXRzIHBlbmRpbmcgYWNyb3NzIGZhaWx1cmVzLCBpbmNsdWRpbmcgd2hlbiBt ZW1vcnkgaXMgb2ZmLgo+IC0gUHJlc2VydmVkIFFvUyBzbmFwc2hvdHMgYWZ0ZXIgYSBmYWlsZWQg cG93ZXItb24gYW5kIGNsZWFyZWQgcHJvZ3Jlc3MKPiAgICBhZnRlciBzdWNjZXNzZnVsIHBvd2Vy LW9uIG9yIHNodXRkb3duLgo+IC0gVHJhY2tlZCBpbmNvbXBsZXRlIHNodXRkb3ducyB0byBwcmVz ZXJ2ZSBRb1MgYW5kIGNvbXBsZXRlIGZpcm13YXJlIHVwZGF0ZXMuCj4gLSBQcmVzZXJ2ZWQgcGVu ZGluZyBtZW1vcnkgcmVzZXRzIGFjcm9zcyBzaHV0ZG93biBhbmQgY2FuY2VsbGVkIHVuZmluaXNo ZWQKPiAgICBwb3dlci1vbiByZXF1ZXN0cy4KPiAtIEF0dGVtcHQgdG8gcmVzdG9yZSB0aGUgZG9t YWluIGFmdGVyIHBvd2VyLW9mZiBlcnJvcnMsIHdoaWxlIHByZXNlcnZpbmcKPiAgICB0aGUgb3Jp Z2luYWwgZXJyb3IgcmV0dXJuZWQgdG8gZ2VucGQuCj4KPiBDby1kZXZlbG9wZWQtYnk6IEN1bmhh byBMdSA8MTU3OTU2NzU0MEBxcS5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQ3VuaGFvIEx1IDwxNTc5 NTY3NTQwQHFxLmNvbT4KPiAtLS0KPiBDaGFuZ2VzIGluIHYzOgo+IC0gVHJhY2sgaW5jb21wbGV0 ZSBzaHV0ZG93bnMgdG8gcHJlc2VydmUgUW9TIGFuZCBjb21wbGV0ZSBmaXJtd2FyZSB1cGRhdGVz Lgo+IC0gUHJlc2VydmUgcGVuZGluZyBtZW1vcnkgcmVzZXRzIGFjcm9zcyBzaHV0ZG93biBhbmQg Y2FuY2VsIHVuZmluaXNoZWQKPiAgICBwb3dlci1vbiByZXF1ZXN0cy4KPiAtIEF0dGVtcHQgdG8g cmVzdG9yZSB0aGUgZG9tYWluIGFmdGVyIHBvd2VyLW9mZiBlcnJvcnMsIHdoaWxlIHByZXNlcnZp bmcKPiAgICB0aGUgb3JpZ2luYWwgZXJyb3IgcmV0dXJuZWQgdG8gZ2VucGQuCj4KPiBDaGFuZ2Vz IGluIHYyOgo+IC0gUmVjb3JkIGxvdy1sZXZlbCBwb3dlci1vbiBhbmQgcmVzdG9yYXRpb24gc3Rh Z2VzIGJlZm9yZSBoYXJkd2FyZQo+ICAgIG9wZXJhdGlvbnMsIHNvIGEgcmV0cnkgY2Fubm90IHNr aXAgdW5maW5pc2hlZCBsb3ctbGV2ZWwgd29yay4KPiAtIFJldGFpbiBwZW5kaW5nIG1lbW9yeSBy ZXNldHMgZXZlbiBpZiBtZW1vcnkgaXMgb2ZmIG9uIHJldHJ5LCBhbmQKPiAgICBhdm9pZCByZXBl YXRpbmcgY29tcGxldGVkIHJlc2V0cyBkdXJpbmcgcmVzdG9yYXRpb24uCj4gLSBQcmVzZXJ2ZSBR b1Mgc25hcHNob3RzIGFjcm9zcyBmYWlsZWQgcG93ZXItb24gYW5kIHNodXRkb3duOyBjbGVhcgo+ ICAgIHByb2dyZXNzIGFmdGVyIHN1Y2Nlc3NmdWwgcG93ZXItb24gb3Igc2h1dGRvd24uCj4gLS0t Cj4gICBkcml2ZXJzL3BtZG9tYWluL3JvY2tjaGlwL3BtLWRvbWFpbnMuYyB8IDE4NyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAxNjcgaW5zZXJ0 aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbWRvbWFp bi9yb2NrY2hpcC9wbS1kb21haW5zLmMgYi9kcml2ZXJzL3BtZG9tYWluL3JvY2tjaGlwL3BtLWRv bWFpbnMuYwo+IGluZGV4IGUxOTNmOTc4ZDVmMy4uNjY4ZDIwOGRlYTU1IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvcG1kb21haW4vcm9ja2NoaXAvcG0tZG9tYWlucy5jCj4gKysrIGIvZHJpdmVycy9w bWRvbWFpbi9yb2NrY2hpcC9wbS1kb21haW5zLmMKPiBAQCAtMzksNiArMzksNyBAQAo+ICAgI2lu Y2x1ZGUgPGR0LWJpbmRpbmdzL3Bvd2VyL3JvY2tjaGlwLHJrMzUyOC1wb3dlci5oPgo+ICAgI2lu Y2x1ZGUgPGR0LWJpbmRpbmdzL3Bvd2VyL3JvY2tjaGlwLHJrMzU2Mi1wb3dlci5oPgo+ICAgI2lu Y2x1ZGUgPGR0LWJpbmRpbmdzL3Bvd2VyL3JrMzU2OC1wb3dlci5oPgo+ICsjaW5jbHVkZSA8ZHQt YmluZGluZ3MvcG93ZXIvcm9ja2NoaXAscmszNTcyLXBvd2VyLWNvbnRyb2xsZXIuaD4KPiAgICNp bmNsdWRlIDxkdC1iaW5kaW5ncy9wb3dlci9yb2NrY2hpcCxyazM1NzYtcG93ZXIuaD4KPiAgICNp bmNsdWRlIDxkdC1iaW5kaW5ncy9wb3dlci9yazM1ODgtcG93ZXIuaD4KPiAgIAo+IEBAIC01OSw2 ICs2MCw5IEBAIHN0cnVjdCByb2NrY2hpcF9kb21haW5faW5mbyB7Cj4gICAJdTMyIHB3cl9vZmZz ZXQ7Cj4gICAJdTMyIG1lbV9vZmZzZXQ7Cj4gICAJdTMyIHJlcV9vZmZzZXQ7Cj4gKwl1MzIgc3Rh dHVzX29mZnNldDsKPiArCXUzMiBmaXJld2FsbF9tYXNrOwo+ICsJdTMyIGNsa191bmdhdGVfb2Zm c2V0Owo+ICAgfTsKPiAgIAo+ICAgc3RydWN0IHJvY2tjaGlwX3BtdV9pbmZvIHsKPiBAQCAtNzIs NiArNzYsOCBAQCBzdHJ1Y3Qgcm9ja2NoaXBfcG11X2luZm8gewo+ICAgCXUzMiBtZW1fc3RhdHVz X29mZnNldDsKPiAgIAl1MzIgcmVwYWlyX3N0YXR1c19vZmZzZXQ7Cj4gICAJdTMyIGNsa191bmdh dGVfb2Zmc2V0Owo+ICsJdTMyIGZpcmV3YWxsX3N0YXR1c19vZmZzZXQ7Cj4gKwlib29sIGNoYWlu X3N0YXR1c19pbnZlcnRlZDsKPiAgIApwbGVhc2Uga2VlcCB0aGUgYWJicmV2aWF0aW9uIGNvbnNp c3RlbnQgd2l0aCB0aGUgb3RoZXIgc3RydWN0Cm1lbWJlcnMgYW5kIHVzZSBmd19tYXNrIC8gZndf c3RhdHVzX29mZnNldCBpbnN0ZWFkIG9mIGZpcmV3YWxsX21hc2sgLwpmaXJld2FsbF9zdGF0dXNf b2Zmc2V0Lgo+ICAgCXUzMiBjb3JlX3B3cmNudF9vZmZzZXQ7Cj4gICAJdTMyIGdwdV9wd3JjbnRf b2Zmc2V0Owo+IEBAIC05MCw2ICs5NiwxMyBAQCBzdHJ1Y3Qgcm9ja2NoaXBfcG11X2luZm8gewo+ ICAgI2RlZmluZSBRT1NfU0FUVVJBVElPTgkJMHgxNAo+ICAgI2RlZmluZSBRT1NfRVhUQ09OVFJP TAkJMHgxOAo+ICAgCj4gK2VudW0gcm9ja2NoaXBfcGRfcG93ZXJfc3RhdGUgewo+ICsJUk9DS0NI SVBfUERfSURMRSwKPiArCVJPQ0tDSElQX1BEX09OX0hXLAo+ICsJUk9DS0NISVBfUERfT05fUkVT VE9SRSwKPiArCVJPQ0tDSElQX1BEX09GRiwKPiArfTsKPiArCj4gICBzdHJ1Y3Qgcm9ja2NoaXBf cG1fZG9tYWluIHsKPiAgIAlzdHJ1Y3QgZ2VuZXJpY19wbV9kb21haW4gZ2VucGQ7Cj4gICAJY29u c3Qgc3RydWN0IHJvY2tjaGlwX2RvbWFpbl9pbmZvICppbmZvOwo+IEBAIC0xMDEsMTEgKzExNCwx NCBAQCBzdHJ1Y3Qgcm9ja2NoaXBfcG1fZG9tYWluIHsKPiAgIAlzdHJ1Y3QgY2xrX2J1bGtfZGF0 YSAqY2xrczsKPiAgIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGU7Cj4gICAJc3RydWN0IHJlZ3Vs YXRvciAqc3VwcGx5Owo+ICsJZW51bSByb2NrY2hpcF9wZF9wb3dlcl9zdGF0ZSBwb3dlcl9zdGF0 ZTsKPiArCWJvb2wgbWVtX3Jlc2V0X3BlbmRpbmc7Cj4gICB9Owo+ICAgCj4gICBzdHJ1Y3Qgcm9j a2NoaXBfcG11IHsKPiAgIAlzdHJ1Y3QgZGV2aWNlICpkZXY7Cj4gICAJc3RydWN0IHJlZ21hcCAq cmVnbWFwOwo+ICsJc3RydWN0IHJlZ21hcCAqZ3JmOwo+ICAgCWNvbnN0IHN0cnVjdCByb2NrY2hp cF9wbXVfaW5mbyAqaW5mbzsKPiAgIAlzdHJ1Y3QgbXV0ZXggbXV0ZXg7IC8qIG11dGV4IGxvY2sg Zm9yIHBtdSAqLwo+ICAgCXN0cnVjdCBnZW5wZF9vbmVjZWxsX2RhdGEgZ2VucGRfZGF0YTsKPiBA QCAtMzczLDE1ICszODksMTYgQEAgc3RhdGljIGJvb2wgcm9ja2NoaXBfcG11X2RvbWFpbl9pc19p ZGxlKHN0cnVjdCByb2NrY2hpcF9wbV9kb21haW4gKnBkKQo+ICAgCWNvbnN0IHN0cnVjdCByb2Nr Y2hpcF9kb21haW5faW5mbyAqcGRfaW5mbyA9IHBkLT5pbmZvOwo+ICAgCXVuc2lnbmVkIGludCB2 YWw7Cj4gICAKPiAtCXJlZ21hcF9yZWFkKHBtdS0+cmVnbWFwLCBwbXUtPmluZm8tPmlkbGVfb2Zm c2V0LCAmdmFsKTsKPiArCXJlZ21hcF9yZWFkKHBtdS0+cmVnbWFwLCBwbXUtPmluZm8tPmlkbGVf b2Zmc2V0ICsgcGRfaW5mby0+c3RhdHVzX29mZnNldCwgJnZhbCk7Cj4gICAJcmV0dXJuICh2YWwg JiBwZF9pbmZvLT5pZGxlX21hc2spID09IHBkX2luZm8tPmlkbGVfbWFzazsKPiAgIH0KPiAgIAo+ IC1zdGF0aWMgdW5zaWduZWQgaW50IHJvY2tjaGlwX3BtdV9yZWFkX2FjayhzdHJ1Y3Qgcm9ja2No aXBfcG11ICpwbXUpCj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgcm9ja2NoaXBfcG11X3JlYWRfYWNr KHN0cnVjdCByb2NrY2hpcF9wbV9kb21haW4gKnBkKQo+ICAgewo+ICsJc3RydWN0IHJvY2tjaGlw X3BtdSAqcG11ID0gcGQtPnBtdTsKPiAgIAl1bnNpZ25lZCBpbnQgdmFsOwo+ICAgCj4gLQlyZWdt YXBfcmVhZChwbXUtPnJlZ21hcCwgcG11LT5pbmZvLT5hY2tfb2Zmc2V0LCAmdmFsKTsKPiArCXJl Z21hcF9yZWFkKHBtdS0+cmVnbWFwLCBwbXUtPmluZm8tPmFja19vZmZzZXQgKyBwZC0+aW5mby0+ c3RhdHVzX29mZnNldCwgJnZhbCk7Cj4gICAJcmV0dXJuIHZhbDsKPiAgIH0KPiAgIAo+IEBAIC00 MDAsNyArNDE3LDggQEAgc3RhdGljIGludCByb2NrY2hpcF9wbXVfdW5nYXRlX2NsayhzdHJ1Y3Qg cm9ja2NoaXBfcG1fZG9tYWluICpwZCwgYm9vbCB1bmdhdGUpCj4gICAKPiAgIAl2YWwgPSB1bmdh dGUgPyAocGRfaW5mby0+Y2xrX3VuZ2F0ZV9tYXNrIHwgY2xrX3VuZ2F0ZV93X21hc2spIDoKPiAg IAkJCWNsa191bmdhdGVfd19tYXNrOwo+IC0JcmVnbWFwX3dyaXRlKHBtdS0+cmVnbWFwLCBwbXUt PmluZm8tPmNsa191bmdhdGVfb2Zmc2V0LCB2YWwpOwo+ICsJcmVnbWFwX3dyaXRlKHBtdS0+cmVn bWFwLCBwbXUtPmluZm8tPmNsa191bmdhdGVfb2Zmc2V0ICsKPiArCQkgICAgIHBkX2luZm8tPmNs a191bmdhdGVfb2Zmc2V0LCB2YWwpOwo+ICAgCj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gQEAgLTQz MSw3ICs0NDksNyBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX3BtdV9zZXRfaWRsZV9yZXF1ZXN0KHN0 cnVjdCByb2NrY2hpcF9wbV9kb21haW4gKnBkLAo+ICAgCj4gICAJLyogV2FpdCB1dGlsIGlkbGVf YWNrID0gMSAqLwo+ICAgCXRhcmdldF9hY2sgPSBpZGxlID8gcGRfaW5mby0+YWNrX21hc2sgOiAw Owo+IC0JcmV0ID0gcmVhZHhfcG9sbF90aW1lb3V0X2F0b21pYyhyb2NrY2hpcF9wbXVfcmVhZF9h Y2ssIHBtdSwgdmFsLAo+ICsJcmV0ID0gcmVhZHhfcG9sbF90aW1lb3V0X2F0b21pYyhyb2NrY2hp cF9wbXVfcmVhZF9hY2ssIHBkLCB2YWwsCj4gICAJCQkJCSh2YWwgJiBwZF9pbmZvLT5hY2tfbWFz aykgPT0gdGFyZ2V0X2FjaywKPiAgIAkJCQkJMCwgMTAwMDApOwo+ICAgCWlmIChyZXQpIHsKPiBA QCAtNTQzLDYgKzU2MSw5IEBAIHN0YXRpYyBib29sIHJvY2tjaGlwX3BtdV9kb21haW5faXNfY2hh aW5fb24oc3RydWN0IHJvY2tjaGlwX3BtX2RvbWFpbiAqcGQpCj4gICAJcmVnbWFwX3JlYWQocG11 LT5yZWdtYXAsCj4gICAJCSAgICBwbXUtPmluZm8tPmNoYWluX3N0YXR1c19vZmZzZXQgKyBwZC0+ aW5mby0+bWVtX29mZnNldCwgJnZhbCk7Cj4gICAKPiArCWlmIChwbXUtPmluZm8tPmNoYWluX3N0 YXR1c19pbnZlcnRlZCkKPiArCQlyZXR1cm4gISh2YWwgJiBwZC0+aW5mby0+bWVtX3N0YXR1c19t YXNrKTsKPiArCj4gICAJLyogMSdiMTogcG93ZXIgb24sIDEnYjA6IHBvd2VyIG9mZiAqLwo+ICAg CXJldHVybiB2YWwgJiBwZC0+aW5mby0+bWVtX3N0YXR1c19tYXNrOwo+ICAgfQo+IEBAIC02MDAs MTYgKzYyMSwxMyBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX2RvX3BtdV9zZXRfcG93ZXJfZG9tYWlu KHN0cnVjdCByb2NrY2hpcF9wbV9kb21haW4gKnBkLAo+ICAgCXN0cnVjdCByb2NrY2hpcF9wbXUg KnBtdSA9IHBkLT5wbXU7Cj4gICAJc3RydWN0IGdlbmVyaWNfcG1fZG9tYWluICpnZW5wZCA9ICZw ZC0+Z2VucGQ7Cj4gICAJdTMyIHBkX3B3cl9vZmZzZXQgPSBwZC0+aW5mby0+cHdyX29mZnNldDsK PiAtCWJvb2wgaXNfb24sIGlzX21lbV9vbiA9IGZhbHNlOwo+ICsJYm9vbCBpc19vbjsKPiAgIAlz dHJ1Y3QgYXJtX3NtY2NjX3JlcyByZXM7Cj4gICAJaW50IHJldDsKPiAgIAo+ICAgCWlmIChwZC0+ aW5mby0+cHdyX21hc2sgPT0gMCkKPiAgIAkJcmV0dXJuIDA7Cj4gICAKPiAtCWlmIChvbiAmJiBw ZC0+aW5mby0+bWVtX3N0YXR1c19tYXNrKQo+IC0JCWlzX21lbV9vbiA9IHJvY2tjaGlwX3BtdV9k b21haW5faXNfbWVtX29uKHBkKTsKPiAtCj4gICAJaWYgKHBkLT5pbmZvLT5wd3Jfd19tYXNrKQo+ ICAgCQlyZWdtYXBfd3JpdGUocG11LT5yZWdtYXAsIHBtdS0+aW5mby0+cHdyX29mZnNldCArIHBk X3B3cl9vZmZzZXQsCj4gICAJCQkgICAgIG9uID8gcGQtPmluZm8tPnB3cl93X21hc2sgOgo+IEBA IC02MjAsMTMgKzYzOCwxMyBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX2RvX3BtdV9zZXRfcG93ZXJf ZG9tYWluKHN0cnVjdCByb2NrY2hpcF9wbV9kb21haW4gKnBkLAo+ICAgCj4gICAJd21iKCk7Cj4g ICAKPiAtCWlmIChpc19tZW1fb24pIHsKPiArCWlmIChvbiAmJiBwZC0+bWVtX3Jlc2V0X3BlbmRp bmcpIHsKPiAgIAkJcmV0ID0gcm9ja2NoaXBfcG11X2RvbWFpbl9tZW1fcmVzZXQocGQpOwo+ICAg CQlpZiAocmV0KQo+ICAgCQkJcmV0dXJuIHJldDsKPiArCQlwZC0+bWVtX3Jlc2V0X3BlbmRpbmcg PSBmYWxzZTsKPiAgIAl9Cj4gICAKPiAtCj4gICAJcmV0ID0gcmVhZHhfcG9sbF90aW1lb3V0X2F0 b21pYyhyb2NrY2hpcF9wbXVfZG9tYWluX2lzX29uLCBwZCwgaXNfb24sCj4gICAJCQkJCWlzX29u ID09IG9uLCAwLCAxMDAwMCk7Cj4gICAJaWYgKHJldCkgewo+IEBAIC02NDQsMTQgKzY2MiwyOSBA QCBzdGF0aWMgaW50IHJvY2tjaGlwX2RvX3BtdV9zZXRfcG93ZXJfZG9tYWluKHN0cnVjdCByb2Nr Y2hpcF9wbV9kb21haW4gKnBkLAo+ICAgCXJldHVybiAwOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyBp bnQgcm9ja2NoaXBfcG11X3dhaXRfZmlyZXdhbGwoc3RydWN0IHJvY2tjaGlwX3BtX2RvbWFpbiAq cGQpCj4gK3sKPiArCXN0cnVjdCByb2NrY2hpcF9wbXUgKnBtdSA9IHBkLT5wbXU7Cj4gKwl1MzIg bWFzayA9IHBkLT5pbmZvLT5maXJld2FsbF9tYXNrOwo+ICsJdTMyIHZhbDsKPiArCj4gKwlpZiAo IW1hc2spCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJcmV0dXJuIHJlZ21hcF9yZWFkX3BvbGxfdGlt ZW91dChwbXUtPmdyZiwgcG11LT5pbmZvLT5maXJld2FsbF9zdGF0dXNfb2Zmc2V0LAo+ICsJCQkJ ICAgICAgIHZhbCwgKHZhbCAmIG1hc2spID09IG1hc2ssIDAsIDEwMDAwKTsKPiArfQo+ICsKPiAg IHN0YXRpYyBpbnQgcm9ja2NoaXBfcGRfcG93ZXIoc3RydWN0IHJvY2tjaGlwX3BtX2RvbWFpbiAq cGQsIGJvb2wgcG93ZXJfb24pCj4gICB7Cj4gICAJc3RydWN0IHJvY2tjaGlwX3BtdSAqcG11ID0g cGQtPnBtdTsKPiArCWJvb2wgaXNfb247Cj4gICAJaW50IHJldDsKPiAgIAo+ICAgCWd1YXJkKG11 dGV4KSgmcG11LT5tdXRleCk7Cj4gICAKPiAtCWlmIChyb2NrY2hpcF9wbXVfZG9tYWluX2lzX29u KHBkKSA9PSBwb3dlcl9vbikKPiArCWlzX29uID0gcm9ja2NoaXBfcG11X2RvbWFpbl9pc19vbihw ZCk7Cj4gKwlpZiAoaXNfb24gPT0gcG93ZXJfb24gJiYgcGQtPnBvd2VyX3N0YXRlID09IFJPQ0tD SElQX1BEX0lETEUpCj4gICAJCXJldHVybiAwOwo+ICAgCj4gICAJcmV0ID0gY2xrX2J1bGtfZW5h YmxlKHBkLT5udW1fY2xrcywgcGQtPmNsa3MpOwo+IEBAIC02NjIsMTggKzY5NSwzOCBAQCBzdGF0 aWMgaW50IHJvY2tjaGlwX3BkX3Bvd2VyKHN0cnVjdCByb2NrY2hpcF9wbV9kb21haW4gKnBkLCBi b29sIHBvd2VyX29uKQo+ICAgCj4gICAJcm9ja2NoaXBfcG11X3VuZ2F0ZV9jbGsocGQsIHRydWUp Owo+ICAgCj4gLQlpZiAoIXBvd2VyX29uKSB7Cj4gLQkJcm9ja2NoaXBfcG11X3NhdmVfcW9zKHBk KTsKPiArCWlmIChwb3dlcl9vbikgewo+ICsJCWlmIChwZC0+cG93ZXJfc3RhdGUgPT0gUk9DS0NI SVBfUERfSURMRSB8fAo+ICsJCSAgICBwZC0+cG93ZXJfc3RhdGUgPT0gUk9DS0NISVBfUERfT0ZG IHx8Cj4gKwkJICAgIChwZC0+cG93ZXJfc3RhdGUgPT0gUk9DS0NISVBfUERfT05fUkVTVE9SRSAm JiAhaXNfb24pKSB7Cj4gKwkJCS8qIEEgZmFpbGVkIHJlc2V0IG1heSBzdGlsbCBiZSBmb3JjaW5n IG1lbW9yeSBvZmYuICovCj4gKwkJCXBkLT5tZW1fcmVzZXRfcGVuZGluZyB8PSBwZC0+aW5mby0+ bWVtX3N0YXR1c19tYXNrICYmCj4gKwkJCQlyb2NrY2hpcF9wbXVfZG9tYWluX2lzX21lbV9vbihw ZCk7Cj4gKwkJCXBkLT5wb3dlcl9zdGF0ZSA9IFJPQ0tDSElQX1BEX09OX0hXOwo+ICsJCX0KPiAr Cj4gKwkJLyogQSBzdGF0dXMgYml0IGFsb25lIGRvZXMgbm90IHByb3ZlIHRoZSBsb3ctbGV2ZWwg c2VxdWVuY2UgZmluaXNoZWQuICovCj4gKwkJaWYgKHBkLT5wb3dlcl9zdGF0ZSA9PSBST0NLQ0hJ UF9QRF9PTl9IVykgewo+ICsJCQlyZXQgPSByb2NrY2hpcF9kb19wbXVfc2V0X3Bvd2VyX2RvbWFp bihwZCwgdHJ1ZSk7Cj4gKwkJCWlmIChyZXQgPCAwKQo+ICsJCQkJZ290byBvdXQ7Cj4gKwkJCXBk LT5wb3dlcl9zdGF0ZSA9IFJPQ0tDSElQX1BEX09OX1JFU1RPUkU7Cj4gKwkJfQo+ICsJfSBlbHNl IHsKPiArCQlpZiAocGQtPnBvd2VyX3N0YXRlID09IFJPQ0tDSElQX1BEX0lETEUpCj4gKwkJCXJv Y2tjaGlwX3BtdV9zYXZlX3FvcyhwZCk7Cj4gKwkJcGQtPnBvd2VyX3N0YXRlID0gUk9DS0NISVBf UERfT0ZGOwo+ICAgCj4gICAJCS8qIGlmIHBvd2VyaW5nIGRvd24sIGlkbGUgcmVxdWVzdCB0byBO SVUgZmlyc3QgKi8KPiAgIAkJcmV0ID0gcm9ja2NoaXBfcG11X3NldF9pZGxlX3JlcXVlc3QocGQs IHRydWUpOwo+ICAgCQlpZiAocmV0IDwgMCkKPiAgIAkJCWdvdG8gb3V0Owo+IC0JfQo+ICAgCj4g LQlyZXQgPSByb2NrY2hpcF9kb19wbXVfc2V0X3Bvd2VyX2RvbWFpbihwZCwgcG93ZXJfb24pOwo+ IC0JaWYgKHJldCA8IDApCj4gLQkJZ290byBvdXQ7Cj4gKwkJLyogQ2FuY2VsIGEgcGVuZGluZyBw b3dlci1vbiBldmVuIGlmIGl0cyBzdGF0dXMgaXMgc3RpbGwgb2ZmLiAqLwo+ICsJCXJldCA9IHJv Y2tjaGlwX2RvX3BtdV9zZXRfcG93ZXJfZG9tYWluKHBkLCBmYWxzZSk7Cj4gKwkJaWYgKHJldCA8 IDApCj4gKwkJCWdvdG8gb3V0Owo+ICsJfQo+ICAgCj4gICAJaWYgKHBvd2VyX29uKSB7Cj4gICAJ CS8qIGlmIHBvd2VyaW5nIHVwLCBsZWF2ZSBpZGxlIG1vZGUgKi8KPiBAQCAtNjgxLDggKzczNCwx NCBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX3BkX3Bvd2VyKHN0cnVjdCByb2NrY2hpcF9wbV9kb21h aW4gKnBkLCBib29sIHBvd2VyX29uKQo+ICAgCQlpZiAocmV0IDwgMCkKPiAgIAkJCWdvdG8gb3V0 Owo+ICAgCj4gKwkJcmV0ID0gcm9ja2NoaXBfcG11X3dhaXRfZmlyZXdhbGwocGQpOwo+ICsJCWlm IChyZXQpCj4gKwkJCWdvdG8gb3V0Owo+ICsKPiAgIAkJcm9ja2NoaXBfcG11X3Jlc3RvcmVfcW9z KHBkKTsKPiArCQlwZC0+bWVtX3Jlc2V0X3BlbmRpbmcgPSBmYWxzZTsKPiAgIAl9Cj4gKwlwZC0+ cG93ZXJfc3RhdGUgPSBST0NLQ0hJUF9QRF9JRExFOwo+ICAgCj4gICBvdXQ6Cj4gICAJcm9ja2No aXBfcG11X3VuZ2F0ZV9jbGsocGQsIGZhbHNlKTsKPiBAQCAtNzMzLDExICs3OTIsMTggQEAgc3Rh dGljIGludCByb2NrY2hpcF9wZF9wb3dlcl9vbihzdHJ1Y3QgZ2VuZXJpY19wbV9kb21haW4gKmRv bWFpbikKPiAgIHN0YXRpYyBpbnQgcm9ja2NoaXBfcGRfcG93ZXJfb2ZmKHN0cnVjdCBnZW5lcmlj X3BtX2RvbWFpbiAqZG9tYWluKQo+ICAgewo+ICAgCXN0cnVjdCByb2NrY2hpcF9wbV9kb21haW4g KnBkID0gdG9fcm9ja2NoaXBfcGQoZG9tYWluKTsKPiAtCWludCByZXQ7Cj4gKwlpbnQgcmV0LCBl cnI7Cj4gICAKPiAgIAlyZXQgPSByb2NrY2hpcF9wZF9wb3dlcihwZCwgZmFsc2UpOwo+IC0JaWYg KHJldCkKPiArCWlmIChyZXQpIHsKPiArCQkvKiBnZW5wZCBzdGlsbCBjb25zaWRlcnMgdGhlIGRv bWFpbiBvbiBhZnRlciBhIGZhaWxlZCBwb3dlci1vZmYuICovCj4gKwkJZXJyID0gcm9ja2NoaXBf cGRfcG93ZXIocGQsIHRydWUpOwo+ICsJCWlmIChlcnIpCj4gKwkJCWRldl9lcnIocGQtPnBtdS0+ ZGV2LAo+ICsJCQkJImZhaWxlZCB0byByZXN0b3JlIGRvbWFpbiAnJXMnIGFmdGVyIHBvd2VyLW9m ZiBmYWlsdXJlOiAlZFxuIiwKPiArCQkJCWRvbWFpbi0+bmFtZSwgZXJyKTsKPiAgIAkJcmV0dXJu IHJldDsKPiArCX0KClRoZSBjaGFuZ2VzIHRvIHJvY2tjaGlwX3BkX3Bvd2VyKCkvcm9ja2NoaXBf cGRfcG93ZXJfb2ZmKCkgKHRoZQpwb3dlcl9zdGF0ZSBzdGF0ZSBtYWNoaW5lLCBtZW1fcmVzZXRf cGVuZGluZywgYW5kIHRoZSByZXN0b3JlIGFmdGVyCmEgZmFpbGVkIHBvd2VyLW9mZikgYXJlIGdl bmVyaWMgcmV3b3JrIG9mIHRoZSBzaGFyZWQgcG93ZXIgcGF0aDsKdGhleSBhcmUgbm90IHJlcXVp cmVkIGZvciBiYXNpYyBSSzM1NzIgc3VwcG9ydCBhbmQgdGhleSBhZmZlY3QgYWxsCnRoZSBvdGhl ciBTb0NzLiBQbGVhc2Ugc3BsaXQgdGhlbSBvdXQgb2YgdGhpcyBzZXJpZXMuCgoKPiAgIAo+ICAg CXJvY2tjaGlwX3BkX3JlZ3VsYXRvcl9kaXNhYmxlKHBkKTsKPiAgIAlyZXR1cm4gcmV0Owo+IEBA IC0xMDY0LDYgKzExMzAsMTEgQEAgc3RhdGljIGludCByb2NrY2hpcF9wbV9kb21haW5fcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgIAltdXRleF9pbml0KCZwbXUtPm11dGV4 KTsKPiAgIAo+ICAgCXBtdS0+aW5mbyA9IHBtdV9pbmZvOwo+ICsJaWYgKHBtdV9pbmZvLT5maXJl d2FsbF9zdGF0dXNfb2Zmc2V0KSB7Cj4gKwkJcG11LT5ncmYgPSBzeXNjb25fcmVnbWFwX2xvb2t1 cF9ieV9waGFuZGxlKG5wLCAicm9ja2NoaXAsZ3JmIik7Cj4gKwkJaWYgKElTX0VSUihwbXUtPmdy ZikpCj4gKwkJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgUFRSX0VSUihwbXUtPmdyZiksICJm YWlsZWQgdG8gZ2V0IHN5c3RlbSBHUkZcbiIpOwo+ICsJfQo+ICAgCj4gICAJcG11LT5nZW5wZF9k YXRhLmRvbWFpbnMgPSBwbXUtPmRvbWFpbnM7Cj4gICAJcG11LT5nZW5wZF9kYXRhLm51bV9kb21h aW5zID0gcG11X2luZm8tPm51bV9kb21haW5zOwo+IEBAIC0xMzEzLDYgKzEzODQsNjIgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCByb2NrY2hpcF9kb21haW5faW5mbyByazM1NjhfcG1fZG9tYWluc1td ID0gewo+ICAgCVtSSzM1NjhfUERfUElQRV0JPSBET01BSU5fUkszNTY4KCJwaXBlIiwgQklUKDgp LCBCSVQoMTEpLCBmYWxzZSwgZmFsc2UpLAo+ICAgfTsKPiAgIAo+ICtzdGF0aWMgY29uc3Qgc3Ry dWN0IHJvY2tjaGlwX2RvbWFpbl9pbmZvIHJrMzU3Ml9wbV9kb21haW5zW10gPSB7Cj4gKwlbUksz NTcyX1BEX05WTTFdID0gewo+ICsJCS5uYW1lID0gIm52bTEiLAo+ICsJCS5wd3JfbWFzayA9IEJJ VCg0KSwKPiArCQkucHdyX3dfbWFzayA9IEJJVCgyMCksCj4gKwkJLm1lbV9zdGF0dXNfbWFzayA9 IEJJVCg0KSwKPiArCQkucmVwYWlyX3N0YXR1c19tYXNrID0gQklUKDMpLAo+ICsJCS5yZXFfbWFz ayA9IEJJVCg2KSwKPiArCQkucmVxX3dfbWFzayA9IEJJVCgyMiksCj4gKwkJLmlkbGVfbWFzayA9 IEJJVCg2KSwKPiArCQkuYWNrX21hc2sgPSBCSVQoNiksCj4gKwkJLmNsa191bmdhdGVfbWFzayA9 IEJJVCg2KSwKPiArCX0sCj4gKwlbUkszNTcyX1BEX1BIUF0gPSB7Cj4gKwkJLm5hbWUgPSAicGhw IiwKPiArCQkucHdyX21hc2sgPSBCSVQoNyksCj4gKwkJLnB3cl93X21hc2sgPSBCSVQoMjMpLAo+ ICsJCS5tZW1fc3RhdHVzX21hc2sgPSBCSVQoNyksCj4gKwkJLnJlcGFpcl9zdGF0dXNfbWFzayA9 IEJJVCg1KSwKPiArCQkucmVxX21hc2sgPSBCSVQoOSksCj4gKwkJLnJlcV93X21hc2sgPSBCSVQo MjUpLAo+ICsJCS5pZGxlX21hc2sgPSBCSVQoOSksCj4gKwkJLmFja19tYXNrID0gQklUKDkpLAo+ ICsJCS5jbGtfdW5nYXRlX21hc2sgPSBCSVQoOSksCj4gKwkJLmZpcmV3YWxsX21hc2sgPSBCSVQo MjgpLAo+ICsJfSwKPiArCVtSSzM1NzJfUERfVk9QXSA9IHsKPiArCQkubmFtZSA9ICJ2b3AiLAo+ ICsJCS5wd3JfbWFzayA9IEJJVCgxMiksCj4gKwkJLnB3cl93X21hc2sgPSBCSVQoMjgpLAo+ICsJ CS5tZW1fc3RhdHVzX21hc2sgPSBCSVQoMTIpLAo+ICsJCS5yZXBhaXJfc3RhdHVzX21hc2sgPSBC SVQoMTApLAo+ICsJCS5yZXFfbWFzayA9IEJJVCgxNCksCj4gKwkJLnJlcV93X21hc2sgPSBCSVQo MzApLAo+ICsJCS5pZGxlX21hc2sgPSBCSVQoMTQpLAo+ICsJCS5hY2tfbWFzayA9IEJJVCgxNCks Cj4gKwkJLmNsa191bmdhdGVfbWFzayA9IEJJVCgxNCksCj4gKwkJLmZpcmV3YWxsX21hc2sgPSBC SVQoMjMpLAo+ICsJfSwKPiArCVtSSzM1NzJfUERfTlZNMF0gPSB7Cj4gKwkJLm5hbWUgPSAibnZt MCIsCj4gKwkJLnB3cl9tYXNrID0gQklUKDE1KSwKPiArCQkucHdyX3dfbWFzayA9IEJJVCgzMSks Cj4gKwkJLm1lbV9zdGF0dXNfbWFzayA9IEJJVCgxNSksCj4gKwkJLnJlcGFpcl9zdGF0dXNfbWFz ayA9IEJJVCgxMyksCj4gKwkJLnJlcV9tYXNrID0gQklUKDApLAo+ICsJCS5yZXFfd19tYXNrID0g QklUKDE2KSwKPiArCQkuaWRsZV9tYXNrID0gQklUKDApLAo+ICsJCS5hY2tfbWFzayA9IEJJVCgw KSwKPiArCQkuY2xrX3VuZ2F0ZV9tYXNrID0gQklUKDApLAo+ICsJCS5yZXFfb2Zmc2V0ID0gNCwK PiArCQkuc3RhdHVzX29mZnNldCA9IDQsCj4gKwkJLmNsa191bmdhdGVfb2Zmc2V0ID0gNCwKPiAr CX0sCj4gK307CjEuIE9ubHkgNCBvZiB0aGUgMTQgZG9tYWlucyBhcmUgYWRkZWQgaGVyZS4gVGhl IGludGVybmFsIGltcGxlbWVudGF0aW9uCiDCoCDCoGNvdmVycyBucHUsIGdwdSwgbnZtMCwgbnZt MSwgZHNtYywgcGhwLCBhdWRpbywgaW1nLCB2ZGVjLCB2aSwgdmVuYywKIMKgIMKgdm8sIHZvcCBh bmQgdm9wX3ByZS4gUGxlYXNlIGFkZCB0aGUgcmVtYWluaW5nIGRvbWFpbnMuCgogwqAgwqBOb3Rl IHRoYXQgdGhlIG5wdSBkb21haW4gYWxzbyBuZWVkcyB0aGUgdm9sdGFnZS1kb21haW4gaGFuZHNo YWtlIGZyb20KIMKgIMKgdGhlIGludGVybmFsIGNvZGUgKHZkX29mZnNldCA9IDB4MjIwLCBwZXIt ZG9tYWluIHZkX2VuIGFuZCBhCiDCoCDCoHJvY2tjaGlwX3BtdV92ZF9vbigpIGNhbGwgYmVmb3Jl IHBvd2VyaW5nIG9uIHRoZSBkb21haW4pLCBzbyBlaXRoZXIKIMKgIMKgaW5jbHVkZSB0aGF0IHN1 cHBvcnQgYXMgd2VsbCwgb3IgbGVhdmUgb3V0IG5wdSB1bnRpbCBpdCBpcyByZWFkeS4KCjIuIFBs ZWFzZSB1c2UgYSBET01BSU5fUkszNTcyIG1hY3JvIGxpa2UgdGhlIG90aGVyIFNvQ3MgaW4gdGhp cwogwqAgwqBkcml2ZXIgKHNlZSBET01BSU5fUkszNTc2KS4KPiArCj4gICBzdGF0aWMgY29uc3Qg c3RydWN0IHJvY2tjaGlwX2RvbWFpbl9pbmZvIHJrMzU3Nl9wbV9kb21haW5zW10gPSB7Cj4gICAJ W1JLMzU3Nl9QRF9OUFVdCQk9IERPTUFJTl9SSzM1NzYoIm5wdSIsICAgIDB4MCwgQklUKDApLCAg QklUKDApLCAwLCAgICAgICAweDAsIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIGZhbHNlKSwK PiAgIAlbUkszNTc2X1BEX05WTV0JCT0gRE9NQUlOX1JLMzU3NigibnZtIiwgICAgMHgwLCBCSVQo NiksICAwLCAgICAgIEJJVCg2KSwgIDB4NCwgQklUKDIpLCAgQklUKDE4KSwgQklUKDIpLCAgZmFs c2UpLAo+IEBAIC0xNTM2LDYgKzE2NjMsMjMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCByb2NrY2hp cF9wbXVfaW5mbyByazM1NjhfcG11ID0gewo+ICAgCS5kb21haW5faW5mbyA9IHJrMzU2OF9wbV9k b21haW5zLAo+ICAgfTsKPiAgIAo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJvY2tjaGlwX3BtdV9p bmZvIHJrMzU3Ml9wbXUgPSB7Cj4gKwkucHdyX29mZnNldCA9IDB4MjEwLAo+ICsJLnN0YXR1c19v ZmZzZXQgPSAweDIzMCwKPiArCS5jaGFpbl9zdGF0dXNfb2Zmc2V0ID0gMHgyNTAsCj4gKwkuY2hh aW5fc3RhdHVzX2ludmVydGVkID0gdHJ1ZSwKPiArCS5tZW1fc3RhdHVzX29mZnNldCA9IDB4MjYw LAo+ICsJLm1lbV9wd3Jfb2Zmc2V0ID0gMHgzMDAsCj4gKwkucmVxX29mZnNldCA9IDB4MTEwLAo+ ICsJLmlkbGVfb2Zmc2V0ID0gMHgxMzAsCj4gKwkuYWNrX29mZnNldCA9IDB4MTIwLAo+ICsJLnJl cGFpcl9zdGF0dXNfb2Zmc2V0ID0gMHg1NzAsCj4gKwkuY2xrX3VuZ2F0ZV9vZmZzZXQgPSAweDE1 MCwKPiArCS5maXJld2FsbF9zdGF0dXNfb2Zmc2V0ID0gMHgxNDAsCj4gKwkubnVtX2RvbWFpbnMg PSBBUlJBWV9TSVpFKHJrMzU3Ml9wbV9kb21haW5zKSwKPiArCS5kb21haW5faW5mbyA9IHJrMzU3 Ml9wbV9kb21haW5zLAo+ICt9Owo+ICsKPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgcm9ja2NoaXBf cG11X2luZm8gcmszNTc2X3BtdSA9IHsKPiAgIAkucHdyX29mZnNldCA9IDB4MjEwLAo+ICAgCS5z dGF0dXNfb2Zmc2V0ID0gMHgyMzAsCj4gQEAgLTE2NDgsNiArMTc5Miw5IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHJvY2tjaGlwX3BtX2RvbWFpbl9kdF9tYXRjaFtdID0gewo+ ICAgCQkuZGF0YSA9ICh2b2lkICopJnJrMzU2OF9wbXUsCj4gICAJfSwKPiAgIAl7Cj4gKwkJLmNv bXBhdGlibGUgPSAicm9ja2NoaXAscmszNTcyLXBvd2VyLWNvbnRyb2xsZXIiLAo+ICsJCS5kYXRh ID0gJnJrMzU3Ml9wbXUsCj4gKwl9LCB7Cj4gICAJCS5jb21wYXRpYmxlID0gInJvY2tjaGlwLHJr MzU3Ni1wb3dlci1jb250cm9sbGVyIiwKPiAgIAkJLmRhdGEgPSAodm9pZCAqKSZyazM1NzZfcG11 LAo+ICAgCX0sCj4KLS0gCkJlc3QgcmVnYXJkcywKCuW6leWxguW5s+WPsOS4reW/gyDogpbplIvv vIhGaW5sZXkgWGlhb++8iQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK55Ge6Iqv5b6u55S1 5a2Q6IKh5Lu95pyJ6ZmQ5YWs5Y+4ClJvY2tjaGlwIEVsZWN0cm9uaWNzIENvLiwgTHRkLgrnpo/l u7rnnIHnpo/lt57luILpk5znm5jot6/ova/ku7blpKfpgZM4OeWPt+i9r+S7tuWbrUHljLoyMeWP t+alvCAzNTAwMDMKTm8uMjEgQnVpbGRpbmcsIEEgRGlzdHJpY3QsIEZ1emhvdSBTb2Z0d2FyZSBQ YXJrLCBGdXpob3UsIEZ1amlhbiAzNTAwMDMsIFAuUi4gQ2hpbmEKVGVsOiAwNTkxLTgzOTkxOTA2 LTg2MDIgTW9iaWxlOiAxODUwNjA1NzYwMwoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1yb2Nr Y2hpcCBtYWlsaW5nIGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg==