From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Osipenko Subject: Re: [PATCH 4/8] memory: tegra: add EMC scaling support code for Tegra210 Date: Tue, 2 Apr 2019 14:39:49 +0300 Message-ID: <589e57b8-e77f-39b9-2043-e36d9325d49f@gmail.com> References: <20190325074523.26456-1-josephl@nvidia.com> <20190325074523.26456-5-josephl@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190325074523.26456-5-josephl@nvidia.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Joseph Lo , Thierry Reding , Peter De Schrijver , Jonathan Hunter , Rob Herring , Stephen Boyd Cc: linux-tegra@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org MjUuMDMuMjAxOSAxMDo0NSwgSm9zZXBoIExvINC/0LjRiNC10YI6Cj4gVGhpcyBwYXRjaCBhZGRz IHRoZSByZXF1aXJlZCBBUElzIGFuZCB2YXJpYWJsZXMgZm9yIHRoZSBFTUMgc2NhbGluZwo+IHNl cXVlbmNlIGNvZGUgb24gVGVncmEyMTAuCj4gCj4gQmFzZWQgb24gdGhlIHdvcmsgb2YgUGV0ZXIg RGUgU2NocmlqdmVyIDxwZGVzY2hyaWp2ZXJAbnZpZGlhLmNvbT4uCj4gCj4gU2lnbmVkLW9mZi1i eTogSm9zZXBoIExvIDxqb3NlcGhsQG52aWRpYS5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvbWVtb3J5 L3RlZ3JhL3RlZ3JhMjEwLWVtYy1yZWcuaCB8IDI2NSArKysrKysrCj4gIGRyaXZlcnMvbWVtb3J5 L3RlZ3JhL3RlZ3JhMjEwLWVtYy5jICAgICB8IDkyMyArKysrKysrKysrKysrKysrKysrKysrKysK PiAgMiBmaWxlcyBjaGFuZ2VkLCAxMTg4IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZW1vcnkvdGVncmEvdGVncmEyMTAtZW1jLXJlZy5oIGIvZHJpdmVycy9tZW1vcnkv dGVncmEvdGVncmEyMTAtZW1jLXJlZy5oCj4gaW5kZXggODRmY2M4NWYzYjZkLi4zMWE2OWU3MThk YmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZW1vcnkvdGVncmEvdGVncmEyMTAtZW1jLXJlZy5o Cj4gKysrIGIvZHJpdmVycy9tZW1vcnkvdGVncmEvdGVncmEyMTAtZW1jLXJlZy5oCj4gQEAgLTEy LDYgKzEyLDEzIEBACj4gIAo+ICAjaW5jbHVkZSAibWMuaCIKPiAgCj4gKyNkZWZpbmUgRFZGU19G R0NHX0hJR0hfU1BFRURfVEhSRVNIT0xECQkJCTEwMDAKPiArI2RlZmluZSBJT0JSSUNLX0RDQ19U SFJFU0hPTEQJCQkJCTI0MDAKPiArI2RlZmluZSBEVkZTX0ZHQ0dfTUlEX1NQRUVEX1RIUkVTSE9M RAkJCQk2MDAKPiArCj4gKyNkZWZpbmUgRU1DX1NUQVRVU19VUERBVEVfVElNRU9VVAkJCQkxMDAw Cj4gKwo+ICsjZGVmaW5lIE1DX0VNRU1fQURSX0NGRwkJCQkJCTB4NTQKPiAgI2RlZmluZSBNQ19F TUVNX0FSQl9DRkcJCQkJCQkweDkwCj4gICNkZWZpbmUgTUNfRU1FTV9BUkJfT1VUU1RBTkRJTkdf UkVRCQkJCTB4OTQKPiAgI2RlZmluZSBNQ19FTUVNX0FSQl9USU1JTkdfUkNECQkJCQkweDk4Cj4g QEAgLTc1LDEyICs4MiwzMyBAQAo+ICAjZGVmaW5lIEVNQ19DTEtfRU1DXzJYX0NMS19TUkNfU0hJ RlQJCQkJMjkKPiAgI2RlZmluZSBFTUNfQ0xLX0VNQ18yWF9DTEtfU1JDX01BU0sJCQkJXAo+ICAJ KDB4NyA8PCBFTUNfQ0xLX0VNQ18yWF9DTEtfU1JDX1NISUZUKQo+ICsjZGVmaW5lIEVNQ19DTEtf U09VUkNFX1BMTE1fTEoJCQkJCTB4NAo+ICsjZGVmaW5lIEVNQ19DTEtfU09VUkNFX1BMTE1CX0xK CQkJCQkweDUKPiAgI2RlZmluZQlFTUNfQ0xLX01DX0VNQ19TQU1FX0ZSRVEJCQkJQklUKDE2KQo+ ICAjZGVmaW5lIEVNQ19DTEtfRU1DXzJYX0NMS19ESVZJU09SX1NISUZUCQkJMAo+ICAjZGVmaW5l IEVNQ19DTEtfRU1DXzJYX0NMS19ESVZJU09SX01BU0sJCQkJXAo+ICAJKDB4ZmYgPDwgRU1DX0NM S19FTUNfMlhfQ0xLX0RJVklTT1JfU0hJRlQpCj4gIAo+ICsjZGVmaW5lIENMS19SU1RfQ09OVFJP TExFUl9DTEtfU09VUkNFX0VNQ19ETEwJCQkweDY2NAo+ICsjZGVmaW5lIERMTF9DTEtfRU1DX0RM TF9DTEtfU1JDX1NISUZUCQkJCTI5Cj4gKyNkZWZpbmUgRExMX0NMS19FTUNfRExMX0NMS19TUkNf TUFTSwkJCQlcCj4gKwkoMHg3IDw8IERMTF9DTEtfRU1DX0RMTF9DTEtfU1JDX1NISUZUKQo+ICsj ZGVmaW5lIERMTF9DTEtfRU1DX0RMTF9ERExMX0NMS19TRUxfU0hJRlQJCQkxMAo+ICsjZGVmaW5l IERMTF9DTEtfRU1DX0RMTF9ERExMX0NMS19TRUxfTUFTSwkJCVwKPiArCSgweDMgPDwgRExMX0NM S19FTUNfRExMX0RETExfQ0xLX1NFTF9TSElGVCkKPiArI2RlZmluZSBQTExNX1ZDT0EJCQkJCQkw Cj4gKyNkZWZpbmUgUExMTV9WQ09CCQkJCQkJMQo+ICsjZGVmaW5lIEVNQ19ETExfU1dJVENIX09V VAkJCQkJMgo+ICsjZGVmaW5lIERMTF9DTEtfRU1DX0RMTF9DTEtfRElWSVNPUl9TSElGVAkJCTAK PiArI2RlZmluZSBETExfQ0xLX0VNQ19ETExfQ0xLX0RJVklTT1JfTUFTSwkJCVwKPiArCSgweGZm IDw8IERMTF9DTEtfRU1DX0RMTF9DTEtfRElWSVNPUl9TSElGVCkKPiArCj4gKyNkZWZpbmUgRU1D X0lOVFNUQVRVUwkJCQkJCTB4MAo+ICsjZGVmaW5lIEVNQ19JTlRTVEFUVVNfQ0xLQ0hBTkdFX0NP TVBMRVRFCQkJQklUKDQpCj4gKyNkZWZpbmUgRU1DX0RCRwkJCQkJCQkweDgKPiArI2RlZmluZSBF TUNfREJHX1dSSVRFX01VWF9BQ1RJVkUJCQkJQklUKDEpCj4gICNkZWZpbmUgRU1DX0NGRwkJCQkJ CQkweGMKPiArI2RlZmluZSBFTUNfVElNSU5HX0NPTlRST0wJCQkJCTB4MjgKPiAgI2RlZmluZSBF TUNfUkMJCQkJCQkJMHgyYwo+ICAjZGVmaW5lIEVNQ19SRkMJCQkJCQkJMHgzMAo+ICAjZGVmaW5l IEVNQ19SQVMJCQkJCQkJMHgzNAo+IEBAIC0xMjUsMTYgKzE1Myw0MCBAQAo+ICAjZGVmaW5lIEVN Q19GQklPX0NGRzVfRFJBTV9UWVBFX1NISUZUCQkJCTAKPiAgI2RlZmluZSBFTUNfRkJJT19DRkc1 X0RSQU1fVFlQRV9NQVNLCQkJCVwKPiAgCSgweDMgPDwJRU1DX0ZCSU9fQ0ZHNV9EUkFNX1RZUEVf U0hJRlQpCj4gKyNkZWZpbmUgRU1DX0ZCSU9fQ0ZHNV9DTURfVFhfRElTCQkJCUJJVCg4KQo+ICsK PiAgI2RlZmluZSBFTUNfUERFWDJDS0UJCQkJCQkweDExOAo+ICAjZGVmaW5lIEVNQ19DS0UyUERF TgkJCQkJCTB4MTFjCj4gKyNkZWZpbmUgRU1DX01QQwkJCQkJCQkweDEyOAo+ICAjZGVmaW5lIEVN Q19SMlIJCQkJCQkJMHgxNDQKPiAgI2RlZmluZSBFTUNfRUlOUFVUCQkJCQkJMHgxNGMKPiAgI2Rl ZmluZSBFTUNfRUlOUFVUX0RVUkFUSU9OCQkJCQkweDE1MAo+ICAjZGVmaW5lIEVNQ19QVVRFUk1f RVhUUkEJCQkJCTB4MTU0Cj4gICNkZWZpbmUgRU1DX1RDS0VTUgkJCQkJCTB4MTU4Cj4gICNkZWZp bmUgRU1DX1RQRAkJCQkJCQkweDE1Ywo+ICsjZGVmaW5lIEVNQ19FTUNfU1RBVFVTCQkJCQkJMHgy YjQKPiArI2RlZmluZSBFTUNfRU1DX1NUQVRVU19USU1JTkdfVVBEQVRFX1NUQUxMRUQJCQlCSVQo MjMpCj4gICNkZWZpbmUgRU1DX0NGR19ESUdfRExMCQkJCQkJMHgyYmMKPiArI2RlZmluZSBFTUNf Q0ZHX0RJR19ETExfQ0ZHX0RMTF9FTgkJCQlCSVQoMCkKPiArI2RlZmluZSBFTUNfQ0ZHX0RJR19E TExfQ0ZHX0RMTF9TVEFMTF9BTExfVU5USUxfTE9DSwkJQklUKDEpCj4gKyNkZWZpbmUgRU1DX0NG R19ESUdfRExMX0NGR19ETExfU1RBTExfQUxMX1RSQUZGSUMJCUJJVCgzKQo+ICsjZGVmaW5lIEVN Q19DRkdfRElHX0RMTF9DRkdfRExMX1NUQUxMX1JXX1VOVElMX0xPQ0sJCUJJVCg0KQo+ICsjZGVm aW5lIEVNQ19DRkdfRElHX0RMTF9DRkdfRExMX01PREVfU0hJRlQJCQk2Cj4gKyNkZWZpbmUgRU1D X0NGR19ESUdfRExMX0NGR19ETExfTU9ERV9NQVNLCQkJXAo+ICsJKDB4MyA8PCBFTUNfQ0ZHX0RJ R19ETExfQ0ZHX0RMTF9NT0RFX1NISUZUKQo+ICsjZGVmaW5lIEVNQ19DRkdfRElHX0RMTF9DRkdf RExMX0xPQ0tfTElNSVRfU0hJRlQJCTgKPiArI2RlZmluZSBFTUNfQ0ZHX0RJR19ETExfQ0ZHX0RM TF9MT0NLX0xJTUlUX01BU0sJCQlcCj4gKwkoMHg3IDw8IEVNQ19DRkdfRElHX0RMTF9DRkdfRExM X0xPQ0tfTElNSVRfU0hJRlQpCj4gKwo+ICAjZGVmaW5lIEVNQ19DRkdfRElHX0RMTF9QRVJJT0QJ CQkJCTB4MmMwCj4gKyNkZWZpbmUgRU1DX0RJR19ETExfU1RBVFVTCQkJCQkweDJjNAo+ICsjZGVm aW5lIEVNQ19ESUdfRExMX1NUQVRVU19ETExfTE9DSwkJCQlCSVQoMTUpCj4gKyNkZWZpbmUgRU1D X0RJR19ETExfU1RBVFVTX0RMTF9QUklWX1VQREFURUQJCQlCSVQoMTcpCj4gKyNkZWZpbmUgRU1D X0RJR19ETExfU1RBVFVTX0RMTF9PVVRfU0hJRlQJCQkwCj4gKyNkZWZpbmUgRU1DX0RJR19ETExf U1RBVFVTX0RMTF9PVVRfTUFTSwkJCQlcCj4gKwkoMHg3ZmYgPDwgRU1DX0RJR19ETExfU1RBVFVT X0RMTF9PVVRfU0hJRlQpCj4gKwo+ICsjZGVmaW5lIEVNQ19DRkdfRElHX0RMTF8xCQkJCQkweDJj OAo+ICAjZGVmaW5lIEVNQ19SRFZfTUFTSwkJCQkJCTB4MmNjCj4gICNkZWZpbmUgRU1DX1dEVl9N QVNLCQkJCQkJMHgyZDAKPiAgI2RlZmluZSBFTUNfUkRWX0VBUkxZX01BU0sJCQkJCTB4MmQ0Cj4g QEAgLTE1Myw2ICsyMDUsOCBAQAo+ICAjZGVmaW5lIEVNQ19QUkVfUkVGUkVTSF9SRVFfQ05UCQkJ CQkweDNkYwo+ICAjZGVmaW5lIEVNQ19EWU5fU0VMRl9SRUZfQ09OVFJPTAkJCQkweDNlMAo+ICAj ZGVmaW5lIEVNQ19UWFNSRExMCQkJCQkJMHgzZTQKPiArI2RlZmluZSBFTUNfQ0NGSUZPX0FERFIJ CQkJCQkweDNlOAo+ICsjZGVmaW5lIEVNQ19DQ0ZJRk9fREFUQQkJCQkJCTB4M2VjCj4gICNkZWZp bmUgRU1DX1RSX1FQT1AJCQkJCQkweDNmNAo+ICAjZGVmaW5lIEVNQ19UUl9SRFZfTUFTSwkJCQkJ CTB4M2Y4Cj4gICNkZWZpbmUgRU1DX1RSX1FTQUZFCQkJCQkJMHgzZmMKPiBAQCAtMTg1LDggKzIz OSw2MCBAQAo+ICAjZGVmaW5lIEVNQ19QVVRFUk1fV0lEVEgJCQkJCTB4NTZjCj4gICNkZWZpbmUg RU1DX1JFRkNUUkwyCQkJCQkJMHg1ODAKPiAgI2RlZmluZSBFTUNfRkJJT19DRkc3CQkJCQkJMHg1 ODQKPiArI2RlZmluZSBFTUNfRkJJT19DRkc3X0NIMF9FTkFCTEUJCQkJQklUKDEpCj4gKyNkZWZp bmUgRU1DX0ZCSU9fQ0ZHN19DSDFfRU5BQkxFCQkJCUJJVCgyKQo+ICAjZGVmaW5lIEVNQ19EQVRB X0JSTFNIRlRfMAkJCQkJMHg1ODgKPiArI2RlZmluZSBFTUNfREFUQV9CUkxTSEZUXzBfUkFOSzBf QllURTdfREFUQV9CUkxTSEZUX1NISUZUCTIxCj4gKyNkZWZpbmUgRU1DX0RBVEFfQlJMU0hGVF8w X1JBTkswX0JZVEU3X0RBVEFfQlJMU0hGVF9NQVNLCVwKPiArCSgweDcgPDwgRU1DX0RBVEFfQlJM U0hGVF8wX1JBTkswX0JZVEU3X0RBVEFfQlJMU0hGVF9TSElGVCkKPiArI2RlZmluZSBFTUNfREFU QV9CUkxTSEZUXzBfUkFOSzBfQllURTZfREFUQV9CUkxTSEZUX1NISUZUCTE4Cj4gKyNkZWZpbmUg RU1DX0RBVEFfQlJMU0hGVF8wX1JBTkswX0JZVEU2X0RBVEFfQlJMU0hGVF9NQVNLCVwKPiArCSgw eDcgPDwgRU1DX0RBVEFfQlJMU0hGVF8wX1JBTkswX0JZVEU2X0RBVEFfQlJMU0hGVF9TSElGVCkK PiArI2RlZmluZSBFTUNfREFUQV9CUkxTSEZUXzBfUkFOSzBfQllURTVfREFUQV9CUkxTSEZUX1NI SUZUCTE1Cj4gKyNkZWZpbmUgRU1DX0RBVEFfQlJMU0hGVF8wX1JBTkswX0JZVEU1X0RBVEFfQlJM U0hGVF9NQVNLCVwKPiArCSgweDcgPDwgRU1DX0RBVEFfQlJMU0hGVF8wX1JBTkswX0JZVEU1X0RB VEFfQlJMU0hGVF9TSElGVCkKPiArI2RlZmluZSBFTUNfREFUQV9CUkxTSEZUXzBfUkFOSzBfQllU RTRfREFUQV9CUkxTSEZUX1NISUZUCTEyCj4gKyNkZWZpbmUgRU1DX0RBVEFfQlJMU0hGVF8wX1JB TkswX0JZVEU0X0RBVEFfQlJMU0hGVF9NQVNLCVwKPiArCSgweDcgPDwgRU1DX0RBVEFfQlJMU0hG VF8wX1JBTkswX0JZVEU0X0RBVEFfQlJMU0hGVF9TSElGVCkKPiArI2RlZmluZSBFTUNfREFUQV9C UkxTSEZUXzBfUkFOSzBfQllURTNfREFUQV9CUkxTSEZUX1NISUZUCTkKPiArI2RlZmluZSBFTUNf REFUQV9CUkxTSEZUXzBfUkFOSzBfQllURTNfREFUQV9CUkxTSEZUX01BU0sJXAo+ICsJKDB4NyA8 PCBFTUNfREFUQV9CUkxTSEZUXzBfUkFOSzBfQllURTNfREFUQV9CUkxTSEZUX1NISUZUKQo+ICsj ZGVmaW5lIEVNQ19EQVRBX0JSTFNIRlRfMF9SQU5LMF9CWVRFMl9EQVRBX0JSTFNIRlRfU0hJRlQJ Ngo+ICsjZGVmaW5lIEVNQ19EQVRBX0JSTFNIRlRfMF9SQU5LMF9CWVRFMl9EQVRBX0JSTFNIRlRf TUFTSwlcCj4gKwkoMHg3IDw8IEVNQ19EQVRBX0JSTFNIRlRfMF9SQU5LMF9CWVRFMl9EQVRBX0JS TFNIRlRfU0hJRlQpCj4gKyNkZWZpbmUgRU1DX0RBVEFfQlJMU0hGVF8wX1JBTkswX0JZVEUxX0RB VEFfQlJMU0hGVF9TSElGVAkzCj4gKyNkZWZpbmUgRU1DX0RBVEFfQlJMU0hGVF8wX1JBTkswX0JZ VEUxX0RBVEFfQlJMU0hGVF9NQVNLCVwKPiArCSgweDcgPDwgRU1DX0RBVEFfQlJMU0hGVF8wX1JB TkswX0JZVEUxX0RBVEFfQlJMU0hGVF9TSElGVCkKPiArI2RlZmluZSBFTUNfREFUQV9CUkxTSEZU XzBfUkFOSzBfQllURTBfREFUQV9CUkxTSEZUX1NISUZUCTAKPiArI2RlZmluZSBFTUNfREFUQV9C UkxTSEZUXzBfUkFOSzBfQllURTBfREFUQV9CUkxTSEZUX01BU0sJXAo+ICsJKDB4NyA8PCBFTUNf REFUQV9CUkxTSEZUXzBfUkFOSzBfQllURTBfREFUQV9CUkxTSEZUX1NISUZUKQo+ICsKPiAgI2Rl ZmluZSBFTUNfREFUQV9CUkxTSEZUXzEJCQkJCTB4NThjCj4gKyNkZWZpbmUgRU1DX0RBVEFfQlJM U0hGVF8xX1JBTksxX0JZVEU3X0RBVEFfQlJMU0hGVF9TSElGVAkyMQo+ICsjZGVmaW5lIEVNQ19E QVRBX0JSTFNIRlRfMV9SQU5LMV9CWVRFN19EQVRBX0JSTFNIRlRfTUFTSwlcCj4gKwkoMHg3IDw8 IEVNQ19EQVRBX0JSTFNIRlRfMV9SQU5LMV9CWVRFN19EQVRBX0JSTFNIRlRfU0hJRlQpCj4gKyNk ZWZpbmUgRU1DX0RBVEFfQlJMU0hGVF8xX1JBTksxX0JZVEU2X0RBVEFfQlJMU0hGVF9TSElGVAkx OAo+ICsjZGVmaW5lIEVNQ19EQVRBX0JSTFNIRlRfMV9SQU5LMV9CWVRFNl9EQVRBX0JSTFNIRlRf TUFTSwlcCj4gKwkoMHg3IDw8IEVNQ19EQVRBX0JSTFNIRlRfMV9SQU5LMV9CWVRFNl9EQVRBX0JS TFNIRlRfU0hJRlQpCj4gKyNkZWZpbmUgRU1DX0RBVEFfQlJMU0hGVF8xX1JBTksxX0JZVEU1X0RB VEFfQlJMU0hGVF9TSElGVAkxNQo+ICsjZGVmaW5lIEVNQ19EQVRBX0JSTFNIRlRfMV9SQU5LMV9C WVRFNV9EQVRBX0JSTFNIRlRfTUFTSwlcCj4gKwkoMHg3IDw8IEVNQ19EQVRBX0JSTFNIRlRfMV9S QU5LMV9CWVRFNV9EQVRBX0JSTFNIRlRfU0hJRlQpCj4gKyNkZWZpbmUgRU1DX0RBVEFfQlJMU0hG VF8xX1JBTksxX0JZVEU0X0RBVEFfQlJMU0hGVF9TSElGVAkxMgo+ICsjZGVmaW5lIEVNQ19EQVRB X0JSTFNIRlRfMV9SQU5LMV9CWVRFNF9EQVRBX0JSTFNIRlRfTUFTSwlcCj4gKwkoMHg3IDw8IEVN Q19EQVRBX0JSTFNIRlRfMV9SQU5LMV9CWVRFNF9EQVRBX0JSTFNIRlRfU0hJRlQpCj4gKyNkZWZp bmUgRU1DX0RBVEFfQlJMU0hGVF8xX1JBTksxX0JZVEUzX0RBVEFfQlJMU0hGVF9TSElGVAk5Cj4g KyNkZWZpbmUgRU1DX0RBVEFfQlJMU0hGVF8xX1JBTksxX0JZVEUzX0RBVEFfQlJMU0hGVF9NQVNL CVwKPiArCSgweDcgPDwgRU1DX0RBVEFfQlJMU0hGVF8xX1JBTksxX0JZVEUzX0RBVEFfQlJMU0hG VF9TSElGVCkKPiArI2RlZmluZSBFTUNfREFUQV9CUkxTSEZUXzFfUkFOSzFfQllURTJfREFUQV9C UkxTSEZUX1NISUZUCTYKPiArI2RlZmluZSBFTUNfREFUQV9CUkxTSEZUXzFfUkFOSzFfQllURTJf REFUQV9CUkxTSEZUX01BU0sJXAo+ICsJKDB4NyA8PCBFTUNfREFUQV9CUkxTSEZUXzFfUkFOSzFf QllURTJfREFUQV9CUkxTSEZUX1NISUZUKQo+ICsjZGVmaW5lIEVNQ19EQVRBX0JSTFNIRlRfMV9S QU5LMV9CWVRFMV9EQVRBX0JSTFNIRlRfU0hJRlQJMwo+ICsjZGVmaW5lIEVNQ19EQVRBX0JSTFNI RlRfMV9SQU5LMV9CWVRFMV9EQVRBX0JSTFNIRlRfTUFTSwlcCj4gKwkoMHg3IDw8IEVNQ19EQVRB X0JSTFNIRlRfMV9SQU5LMV9CWVRFMV9EQVRBX0JSTFNIRlRfU0hJRlQpCj4gKyNkZWZpbmUgRU1D X0RBVEFfQlJMU0hGVF8xX1JBTksxX0JZVEUwX0RBVEFfQlJMU0hGVF9TSElGVAkwCj4gKyNkZWZp bmUgRU1DX0RBVEFfQlJMU0hGVF8xX1JBTksxX0JZVEUwX0RBVEFfQlJMU0hGVF9NQVNLCVwKPiAr CSgweDcgPDwgRU1DX0RBVEFfQlJMU0hGVF8xX1JBTksxX0JZVEUwX0RBVEFfQlJMU0hGVF9TSElG VCkKPiArCj4gICNkZWZpbmUgRU1DX1JGQ1BCCQkJCQkJMHg1OTAKPiAgI2RlZmluZSBFTUNfRFFT X0JSTFNIRlRfMAkJCQkJMHg1OTQKPiAgI2RlZmluZSBFTUNfRFFTX0JSTFNIRlRfMQkJCQkJMHg1 OTgKPiBAQCAtMjAxLDYgKzMwNywxMCBAQAo+ICAjZGVmaW5lIEVNQ19RVVNFX0JSTFNIRlRfMwkJ CQkJMHg1YzQKPiAgI2RlZmluZSBFTUNfRExMX0NGR18wCQkJCQkJMHg1ZTQKPiAgI2RlZmluZSBF TUNfRExMX0NGR18xCQkJCQkJMHg1ZTgKPiArI2RlZmluZSBFTUNfRExMX0NGR18xX0RETExDQUxf Q1RSTF9TVEFSVF9UUklNX1NISUZUCQkxMAo+ICsjZGVmaW5lIEVNQ19ETExfQ0ZHXzFfRERMTENB TF9DVFJMX1NUQVJUX1RSSU1fTUFTSwkJXAo+ICsJKDB4N2ZmIDw8IEVNQ19ETExfQ0ZHXzFfRERM TENBTF9DVFJMX1NUQVJUX1RSSU1fU0hJRlQpCj4gKwo+ICAjZGVmaW5lIEVNQ19DT05GSUdfU0FN UExFX0RFTEFZCQkJCQkweDVmMAo+ICAjZGVmaW5lIEVNQ19QTUFDUk9fUVVTRV9ERExMX1JBTksw XzAJCQkJMHg2MDAKPiAgI2RlZmluZSBFTUNfUE1BQ1JPX1FVU0VfRERMTF9SQU5LMF8xCQkJCTB4 NjA0Cj4gQEAgLTIxNSwxNSArMzI1LDEwMyBAQAo+ICAjZGVmaW5lIEVNQ19QTUFDUk9fUVVTRV9E RExMX1JBTksxXzQJCQkJMHg2MzAKPiAgI2RlZmluZSBFTUNfUE1BQ1JPX1FVU0VfRERMTF9SQU5L MV81CQkJCTB4NjM0Cj4gICNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSzBf MAkJCTB4NjQwCj4gKyNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSzBfMF9P Ql9ERExMX0xPTkdfRFFfUkFOSzBfQllURTFfU0hJRlQgXAo+ICsJMTYKPiArI2RlZmluZSBFTUNf UE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMF8wX09CX0RETExfTE9OR19EUV9SQU5LMF9CWVRF MV9NQVNLICBcCj4gKwkoMHgzZmYgPDwJCQkJCQkJICAgICBcCj4gKwlFTUNfUE1BQ1JPX09CX0RE TExfTE9OR19EUV9SQU5LMF8wX09CX0RETExfTE9OR19EUV9SQU5LMF9CWVRFMV9TSElGVCkKPiAr I2RlZmluZSBFTUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMF8wX09CX0RETExfTE9OR19E UV9SQU5LMF9CWVRFMF9TSElGVCBcCj4gKwkwCj4gKyNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExM X0xPTkdfRFFfUkFOSzBfMF9PQl9ERExMX0xPTkdfRFFfUkFOSzBfQllURTBfTUFTSyBcCj4gKwko MHgzZmYgPDwJCQkJCQkJICAgIFwKPiArCUVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RRX1JBTksw XzBfT0JfRERMTF9MT05HX0RRX1JBTkswX0JZVEUwX1NISUZUKQo+ICsKPiAgI2RlZmluZSBFTUNf UE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMF8xCQkJMHg2NDQKPiArI2RlZmluZSBFTUNfUE1B Q1JPX09CX0RETExfTE9OR19EUV9SQU5LMF8xX09CX0RETExfTE9OR19EUV9SQU5LMF9CWVRFM19T SElGVCBcCj4gKwkxNgo+ICsjZGVmaW5lIEVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RRX1JBTksw XzFfT0JfRERMTF9MT05HX0RRX1JBTkswX0JZVEUzX01BU0sgIFwKPiArCSgweDNmZiA8PAkJCQkJ CQkgICAgIFwKPiArCUVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RRX1JBTkswXzFfT0JfRERMTF9M T05HX0RRX1JBTkswX0JZVEUzX1NISUZUKQo+ICsjZGVmaW5lIEVNQ19QTUFDUk9fT0JfRERMTF9M T05HX0RRX1JBTkswXzFfT0JfRERMTF9MT05HX0RRX1JBTkswX0JZVEUyX1NISUZUIFwKPiArCTAK PiArI2RlZmluZSBFTUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMF8xX09CX0RETExfTE9O R19EUV9SQU5LMF9CWVRFMl9NQVNLICBcCj4gKwkoMHgzZmYgPDwJCQkJCQkJICAgICBcCj4gKwlF TUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMF8xX09CX0RETExfTE9OR19EUV9SQU5LMF9C WVRFMl9TSElGVCkKPiArCj4gICNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFO SzBfMgkJCTB4NjQ4Cj4gKyNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSzBf Ml9PQl9ERExMX0xPTkdfRFFfUkFOSzBfQllURTVfU0hJRlQgIFwKPiArCTE2Cj4gKyNkZWZpbmUg RU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSzBfMl9PQl9ERExMX0xPTkdfRFFfUkFOSzBf QllURTVfTUFTSyAgXAo+ICsJKDB4M2ZmIDw8CQkJCQkJCSAgICAgXAo+ICsJRU1DX1BNQUNST19P Ql9ERExMX0xPTkdfRFFfUkFOSzBfMl9PQl9ERExMX0xPTkdfRFFfUkFOSzBfQllURTVfU0hJRlQp Cj4gKyNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSzBfMl9PQl9ERExMX0xP TkdfRFFfUkFOSzBfQllURTRfU0hJRlQgXAo+ICsJMAo+ICsjZGVmaW5lIEVNQ19QTUFDUk9fT0Jf RERMTF9MT05HX0RRX1JBTkswXzJfT0JfRERMTF9MT05HX0RRX1JBTkswX0JZVEU0X01BU0sgIFwK PiArCSgweDNmZiA8PAkJCQkJCQkgICAgIFwKPiArCUVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RR X1JBTkswXzJfT0JfRERMTF9MT05HX0RRX1JBTkswX0JZVEU0X1NISUZUKQo+ICsKPiAgI2RlZmlu ZSBFTUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMF8zCQkJMHg2NGMKPiArI2RlZmluZSBF TUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMF8zX09CX0RETExfTE9OR19EUV9SQU5LMF9C WVRFN19TSElGVCBcCj4gKwkxNgo+ICsjZGVmaW5lIEVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RR X1JBTkswXzNfT0JfRERMTF9MT05HX0RRX1JBTkswX0JZVEU3X01BU0sgIFwKPiArCSgweDNmZiA8 PAkJCQkJCQkgICAgIFwKPiArCUVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RRX1JBTkswXzNfT0Jf RERMTF9MT05HX0RRX1JBTkswX0JZVEU3X1NISUZUKQo+ICsjZGVmaW5lIEVNQ19QTUFDUk9fT0Jf RERMTF9MT05HX0RRX1JBTkswXzNfT0JfRERMTF9MT05HX0RRX1JBTkswX0JZVEU2X1NISUZUIFwK PiArCTAKPiArI2RlZmluZSBFTUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMF8zX09CX0RE TExfTE9OR19EUV9SQU5LMF9CWVRFNl9NQVNLICBcCj4gKwkoMHgzZmYgPDwJCQkJCQkJICAgICBc Cj4gKwlFTUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMF8zX09CX0RETExfTE9OR19EUV9S QU5LMF9CWVRFNl9TSElGVCkKPiArCj4gICNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdf RFFfUkFOSzBfNAkJCTB4NjUwCj4gICNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFf UkFOSzBfNQkJCTB4NjU0Cj4gICNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFO SzFfMAkJCTB4NjYwCj4gKyNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSzFf MF9PQl9ERExMX0xPTkdfRFFfUkFOSzFfQllURTFfU0hJRlQgXAo+ICsJMTYKPiArI2RlZmluZSBF TUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMV8wX09CX0RETExfTE9OR19EUV9SQU5LMV9C WVRFMV9NQVNLICBcCj4gKwkoMHgzZmYgPDwJCQkJCQkJICAgICBcCj4gKwlFTUNfUE1BQ1JPX09C X0RETExfTE9OR19EUV9SQU5LMV8wX09CX0RETExfTE9OR19EUV9SQU5LMV9CWVRFMV9TSElGVCkK PiArI2RlZmluZSBFTUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMV8wX09CX0RETExfTE9O R19EUV9SQU5LMV9CWVRFMF9TSElGVCBcCj4gKwkwCj4gKyNkZWZpbmUgRU1DX1BNQUNST19PQl9E RExMX0xPTkdfRFFfUkFOSzFfMF9PQl9ERExMX0xPTkdfRFFfUkFOSzFfQllURTBfTUFTSyAgXAo+ ICsJKDB4M2ZmIDw8CQkJCQkJCSAgICAgXAo+ICsJRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFf UkFOSzFfMF9PQl9ERExMX0xPTkdfRFFfUkFOSzFfQllURTBfU0hJRlQpCj4gKwo+ICAjZGVmaW5l IEVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RRX1JBTksxXzEJCQkweDY2NAo+ICsjZGVmaW5lIEVN Q19QTUFDUk9fT0JfRERMTF9MT05HX0RRX1JBTksxXzFfT0JfRERMTF9MT05HX0RRX1JBTksxX0JZ VEUzX1NISUZUIFwKPiArCTE2Cj4gKyNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFf UkFOSzFfMV9PQl9ERExMX0xPTkdfRFFfUkFOSzFfQllURTNfTUFTSyAgXAo+ICsJKDB4M2ZmIDw8 CQkJCQkJCSAgICAgXAo+ICsJRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSzFfMV9PQl9E RExMX0xPTkdfRFFfUkFOSzFfQllURTNfU0hJRlQpCj4gKyNkZWZpbmUgRU1DX1BNQUNST19PQl9E RExMX0xPTkdfRFFfUkFOSzFfMV9PQl9ERExMX0xPTkdfRFFfUkFOSzFfQllURTJfU0hJRlQgXAo+ ICsJMAo+ICsjZGVmaW5lIEVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RRX1JBTksxXzFfT0JfRERM TF9MT05HX0RRX1JBTksxX0JZVEUyX01BU0sgIFwKPiArCSgweDNmZiA8PAkJCQkJCQkgICAgIFwK PiArCUVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RRX1JBTksxXzFfT0JfRERMTF9MT05HX0RRX1JB TksxX0JZVEUyX1NISUZUKQo+ICsKPiAgI2RlZmluZSBFTUNfUE1BQ1JPX09CX0RETExfTE9OR19E UV9SQU5LMV8yCQkJMHg2NjgKPiArI2RlZmluZSBFTUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9S QU5LMV8yX09CX0RETExfTE9OR19EUV9SQU5LMV9CWVRFNV9TSElGVCBcCj4gKwkxNgo+ICsjZGVm aW5lIEVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RRX1JBTksxXzJfT0JfRERMTF9MT05HX0RRX1JB TksxX0JZVEU1X01BU0sgIFwKPiArCSgweDNmZiA8PAkJCQkJCQkgICAgIFwKPiArCUVNQ19QTUFD Uk9fT0JfRERMTF9MT05HX0RRX1JBTksxXzJfT0JfRERMTF9MT05HX0RRX1JBTksxX0JZVEU1X1NI SUZUKQo+ICsjZGVmaW5lIEVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RRX1JBTksxXzJfT0JfRERM TF9MT05HX0RRX1JBTksxX0JZVEU0X1NISUZUIFwKPiArCTAKPiArI2RlZmluZSBFTUNfUE1BQ1JP X09CX0RETExfTE9OR19EUV9SQU5LMV8yX09CX0RETExfTE9OR19EUV9SQU5LMV9CWVRFNF9NQVNL ICBcCj4gKwkoMHgzZmYgPDwJCQkJCQkJICAgICBcCj4gKwlFTUNfUE1BQ1JPX09CX0RETExfTE9O R19EUV9SQU5LMV8yX09CX0RETExfTE9OR19EUV9SQU5LMV9CWVRFNF9TSElGVCkKPiArCj4gICNk ZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSzFfMwkJCTB4NjZjCj4gKyNkZWZp bmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSzFfM19PQl9ERExMX0xPTkdfRFFfUkFO SzFfQllURTdfU0hJRlQgXAo+ICsJMTYKPiArI2RlZmluZSBFTUNfUE1BQ1JPX09CX0RETExfTE9O R19EUV9SQU5LMV8zX09CX0RETExfTE9OR19EUV9SQU5LMV9CWVRFN19NQVNLICBcCj4gKwkoMHgz ZmYgPDwJCQkJCQkJICAgICBcCj4gKwlFTUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LMV8z X09CX0RETExfTE9OR19EUV9SQU5LMV9CWVRFN19TSElGVCkKPiArI2RlZmluZSBFTUNfUE1BQ1JP X09CX0RETExfTE9OR19EUV9SQU5LMV8zX09CX0RETExfTE9OR19EUV9SQU5LMV9CWVRFNl9TSElG VCBcCj4gKwkwCj4gKyNkZWZpbmUgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSzFfM19P Ql9ERExMX0xPTkdfRFFfUkFOSzFfQllURTZfTUFTSyAgXAo+ICsJKDB4M2ZmIDw8CQkJCQkJCSAg ICAgXAo+ICsJRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSzFfM19PQl9ERExMX0xPTkdf RFFfUkFOSzFfQllURTZfU0hJRlQpCj4gKwo+ICAjZGVmaW5lIEVNQ19QTUFDUk9fT0JfRERMTF9M T05HX0RRX1JBTksxXzQJCQkweDY3MAo+ICAjZGVmaW5lIEVNQ19QTUFDUk9fT0JfRERMTF9MT05H X0RRX1JBTksxXzUJCQkweDY3NAo+ICAjZGVmaW5lIEVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RR U19SQU5LMF8wCQkJMHg2ODAKPiBAQCAtNDMyLDcgKzYzMCwxOCBAQAo+ICAjZGVmaW5lIEVNQ19Q TUFDUk9fQ01EX1JYX1RFUk1fTU9ERQkJCQkweGM1OAo+ICAjZGVmaW5lIEVNQ19QTUFDUk9fREFU QV9SWF9URVJNX01PREUJCQkJMHhjNWMKPiAgI2RlZmluZSBFTUNfUE1BQ1JPX0NNRF9QQURfVFhf Q1RSTAkJCQkweGM2MAo+ICsjZGVmaW5lIEVNQ19QTUFDUk9fQ01EX1BBRF9UWF9DVFJMX0NNRF9E UV9UWF9FX0RDQwkJQklUKDEpCj4gKyNkZWZpbmUgRU1DX1BNQUNST19DTURfUEFEX1RYX0NUUkxf Q01EX0RRU1BfVFhfRV9EQ0MJCUJJVCg5KQo+ICsjZGVmaW5lIEVNQ19QTUFDUk9fQ01EX1BBRF9U WF9DVFJMX0NNRF9EUVNOX1RYX0VfRENDCQlCSVQoMTYpCj4gKyNkZWZpbmUgRU1DX1BNQUNST19D TURfUEFEX1RYX0NUUkxfQ01EX0NNRF9UWF9FX0RDQwkJQklUKDI0KQo+ICsjZGVmaW5lIEVNQ19Q TUFDUk9fQ01EX1BBRF9UWF9DVFJMX0NNRF9EUV9UWF9EUlZGT1JDRU9OCQlCSVQoMjYpCj4gKwo+ ICAjZGVmaW5lIEVNQ19QTUFDUk9fREFUQV9QQURfVFhfQ1RSTAkJCQkweGM2NAo+ICsjZGVmaW5l IEVNQ19QTUFDUk9fREFUQV9QQURfVFhfQ1RSTF9EQVRBX0RRX1RYX0VfRENDCQlCSVQoMSkKPiAr I2RlZmluZSBFTUNfUE1BQ1JPX0RBVEFfUEFEX1RYX0NUUkxfREFUQV9EUVNQX1RYX0VfRENDCQlC SVQoOSkKPiArI2RlZmluZSBFTUNfUE1BQ1JPX0RBVEFfUEFEX1RYX0NUUkxfREFUQV9EUVNOX1RY X0VfRENDCQlCSVQoMTYpCj4gKyNkZWZpbmUgRU1DX1BNQUNST19EQVRBX1BBRF9UWF9DVFJMX0RB VEFfQ01EX1RYX0VfRENDCQlCSVQoMjQpCj4gKwo+ICAjZGVmaW5lIEVNQ19QTUFDUk9fQ09NTU9O X1BBRF9UWF9DVFJMCQkJCTB4YzY4Cj4gICNkZWZpbmUgRU1DX1BNQUNST19BVVRPQ0FMX0NGR19D T01NT04JCQkJMHhjNzgKPiAgI2RlZmluZSBFTUNfUE1BQ1JPX1ZUVEdFTl9DVFJMXzIJCQkJMHhj ZjAKPiBAQCAtOTU0LDYgKzExNjMsMTYgQEAgZW51bSB7Cj4gIAlEUkFNX1RZUEVfRERSMiA9IDMs Cj4gIH07Cj4gIAo+ICtlbnVtIHsKPiArCVNJTkdMRV9DSEFOTkVMID0gMCwKPiArCURVQUxfQ0hB Tk5FTAo+ICt9Owo+ICsKPiArZW51bSB7Cj4gKwlETExfT0ZGLAo+ICsJRExMX09OCj4gK307Cj4g Kwo+ICBzdHJ1Y3QgZW1jX3RhYmxlIHsKPiAgCXUzMiByZXY7Cj4gIAljaGFyIGR2ZnNfdmVyWzYw XTsKPiBAQCAtMTA3NSw5ICsxMjk0LDU1IEBAIHN0cnVjdCBzdXBwb3J0ZWRfc2VxdWVuY2Ugewo+ ICAJY2hhciAgKnNlcV9yZXY7Cj4gIH07Cj4gIAo+ICtleHRlcm4gdTMyIGJ1cnN0X21jX3JlZ3Nf b2ZmW107Cj4gK2V4dGVybiB1MzIgYnVyc3RfcmVnc19vZmZbXTsKPiArZXh0ZXJuIHUzMiBidXJz dF9yZWdzX3Blcl9jaF9vZmZbXTsKPiArZXh0ZXJuIHUzMiBidXJzdF9yZWdzX3Blcl9jaF90eXBl W107Cj4gK2V4dGVybiB1bnNpZ25lZCBsb25nIGRyYW1fb3Zlcl90ZW1wX3N0YXRlOwo+ICtleHRl cm4gdTMyIGxhX3NjYWxlX3JlZ3Nfb2ZmW107Cj4gK2V4dGVybiB1MzIgdHJpbV9yZWdzX29mZltd Owo+ICtleHRlcm4gdTMyIHRyaW1fcmVnc19wZXJfY2hfb2ZmW107Cj4gK2V4dGVybiB1MzIgdHJp bV9yZWdzX3Blcl9jaF90eXBlW107Cj4gK2V4dGVybiB1MzIgdnJlZl9yZWdzX3Blcl9jaF9vZmZb XTsKPiArZXh0ZXJuIHUzMiB2cmVmX3JlZ3NfcGVyX2NoX3R5cGVbXTsKPiArCj4gK3ZvaWQgY2Nm aWZvX3dyaXRlbChzdHJ1Y3QgdGVncmFfZW1jICplbWMsIHUzMiB2YWwsIHVuc2lnbmVkIGxvbmcg YWRkciwKPiArCQkgICB1MzIgZGVsYXkpOwo+ICt1MzIgZGl2X28zKHUzMiBhLCB1MzIgYik7Cj4g K3ZvaWQgZW1jX3dyaXRlbChzdHJ1Y3QgdGVncmFfZW1jICplbWMsIHUzMiB2YWwsIHVuc2lnbmVk IGxvbmcgb2Zmc2V0KTsKPiArdTMyICBlbWNfcmVhZGwoc3RydWN0IHRlZ3JhX2VtYyAqZW1jLCB1 bnNpZ25lZCBsb25nIG9mZnNldCk7Cj4gK3ZvaWQgZW1jX3dyaXRlbF9wZXJfY2goc3RydWN0IHRl Z3JhX2VtYyAqZW1jLCB1MzIgdmFsLCBpbnQgdHlwZSwKPiArCQkgICAgICAgdW5zaWduZWQgbG9u ZyBvZmZzZXQpOwo+ICt1MzIgIGVtYzFfcmVhZGwoc3RydWN0IHRlZ3JhX2VtYyAqZW1jLCB1bnNp Z25lZCBsb25nIG9mZnNldCk7Cj4gKwo+ICt2b2lkIGRvX2Nsb2NrX2NoYW5nZShzdHJ1Y3QgdGVn cmFfZW1jICplbWMsIHUzMiBjbGtzcmMpOwo+ICt2b2lkIGVtY19zZXRfc2hhZG93X2J5cGFzcyhz dHJ1Y3QgdGVncmFfZW1jICplbWMsIGludCBzZXQpOwo+ICt2b2lkIGVtY190aW1pbmdfdXBkYXRl KHN0cnVjdCB0ZWdyYV9lbWMgKmVtYywgaW50IGR1YWxfY2hhbik7Cj4gK3UzMiBnZXRfZGxsX3N0 YXRlKHN0cnVjdCBlbWNfdGFibGUgKm5leHRfdGltaW5nKTsKPiArc3RydWN0IGVtY190YWJsZSAq Z2V0X3RpbWluZ19mcm9tX2ZyZXEoc3RydWN0IHRlZ3JhX2VtYyAqZW1jLAo+ICsJCQkJICAgICAg IHVuc2lnbmVkIGxvbmcgcmF0ZSk7Cj4gK3ZvaWQgc2V0X292ZXJfdGVtcF90aW1pbmcoc3RydWN0 IHRlZ3JhX2VtYyAqZW1jLCBzdHJ1Y3QgZW1jX3RhYmxlICp0aW1pbmcsCj4gKwkJCSAgdW5zaWdu ZWQgbG9uZyBzdGF0ZSk7Cj4gIGludCB0ZWdyYV9lbWNfZHRfcGFyc2VfcGRhdGEoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldiwKPiAgCQkJICAgICBzdHJ1Y3QgZW1jX3RhYmxlICoqdGFibGVz LAo+ICAJCQkgICAgIHN0cnVjdCBlbWNfdGFibGUgKipkZXJhdGVkX3RhYmxlcywKPiAgCQkJICAg ICBpbnQgKm51bV9lbnRyaWVzKTsKPiArdTMyIHRlZ3JhMjEwX2FjdHVhbF9vc2NfY2xvY2tzKHUz MiBpbik7Cj4gK3UzMiB0ZWdyYTIxMF9hcHBseV9wZXJpb2RpY19jb21wZW5zYXRpb25fdHJpbW1l cihzdHJ1Y3QgZW1jX3RhYmxlICpuZXh0X3RpbWluZywKPiArCQkJCQkJIHUzMiBvZmZzZXQpOwo+ ICt2b2lkIHRlZ3JhMjEwX2RsbF9kaXNhYmxlKHN0cnVjdCB0ZWdyYV9lbWMgKmVtYywgaW50IGNo YW5uZWxfbW9kZSk7Cj4gK3ZvaWQgdGVncmEyMTBfZGxsX2VuYWJsZShzdHJ1Y3QgdGVncmFfZW1j ICplbWMsIGludCBjaGFubmVsX21vZGUpOwo+ICt1MzIgdGVncmEyMTBfZGxsX3ByZWxvY2soc3Ry dWN0IHRlZ3JhX2VtYyAqZW1jLCBpbnQgZHZmc193aXRoX3RyYWluaW5nLAo+ICsJCQkgdTMyIGNs a3NyYyk7Cj4gK3UzMiB0ZWdyYTIxMF9kdmZzX3Bvd2VyX3JhbXBfZG93bihzdHJ1Y3QgdGVncmFf ZW1jICplbWMsIHUzMiBjbGssCj4gKwkJCQkgIGludCBmbGlwX2JhY2t3YXJkKTsKPiArdTMyIHRl Z3JhMjEwX2R2ZnNfcG93ZXJfcmFtcF91cChzdHJ1Y3QgdGVncmFfZW1jICplbWMsIHUzMiBjbGss Cj4gKwkJCQlpbnQgZmxpcF9iYWNrd2FyZCk7Cj4gK3ZvaWQgdGVncmEyMTBfdXBkYXRlX2VtY19h bHRfdGltaW5nKHN0cnVjdCB0ZWdyYV9lbWMgKmVtYywKPiArCQkJCSAgICBzdHJ1Y3QgZW1jX3Rh YmxlICpjdXJyZW50X3RpbWluZyk7Cj4gK3ZvaWQgdGVncmEyMTBfcmVzZXRfZHJhbV9jbGt0cmVl X3ZhbHVlcyhzdHJ1Y3QgZW1jX3RhYmxlICp0YWJsZSk7Cj4gK3ZvaWQgdGVncmEyMTBfc3RhcnRf cGVyaW9kaWNfY29tcGVuc2F0aW9uKHN0cnVjdCB0ZWdyYV9lbWMgKmVtYyk7Cj4gK2ludCB3YWl0 X2Zvcl91cGRhdGUoc3RydWN0IHRlZ3JhX2VtYyAqZW1jLCB1MzIgc3RhdHVzX3JlZywgdTMyIGJp dF9tYXNrLAo+ICsJCSAgICBib29sIHVwZGF0ZWRfc3RhdGUsIGludCBjaGFuKTsKPiAgCj4gICNl bmRpZgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lbW9yeS90ZWdyYS90ZWdyYTIxMC1lbWMuYyBi L2RyaXZlcnMvbWVtb3J5L3RlZ3JhL3RlZ3JhMjEwLWVtYy5jCj4gaW5kZXggMGMyMGJjZDBlNmRl Li4yNmQwZGUwYWIzMTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZW1vcnkvdGVncmEvdGVncmEy MTAtZW1jLmMKPiArKysgYi9kcml2ZXJzL21lbW9yeS90ZWdyYS90ZWdyYTIxMC1lbWMuYwo+IEBA IC0yMCw2ICsyMCwzNyBAQAo+ICAjZGVmaW5lIFRFR1JBX0VNQ19UQUJMRV9NQVhfU0laRQkJMTYK PiAgI2RlZmluZSBURUdSQTIxMF9FTUNfU1VTUEVORF9SQVRFCQkyMDQwMDAwMDAKPiAgCj4gKyNk ZWZpbmUgRU1DMF9FTUNfREFUQV9CUkxTSEZUXzBfSU5ERVgJMgo+ICsjZGVmaW5lIEVNQzFfRU1D X0RBVEFfQlJMU0hGVF8wX0lOREVYCTMKPiArI2RlZmluZSBFTUMwX0VNQ19EQVRBX0JSTFNIRlRf MV9JTkRFWAk0Cj4gKyNkZWZpbmUgRU1DMV9FTUNfREFUQV9CUkxTSEZUXzFfSU5ERVgJNQo+ICsK PiArI2RlZmluZSBUUklNX1JFRyhjaGFuLCByYW5rLCByZWcsIGJ5dGUpCQkJCQlcCj4gKwkoKChF TUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LICMjIHJhbmsgIyMgXyAjIyByZWcgIyMJXAo+ ICsJICAgX09CX0RETExfTE9OR19EUV9SQU5LICMjIHJhbmsgIyMgX0JZVEUgIyMgYnl0ZSAjIyBf TUFTSyAmCVwKPiArCSAgIG5leHRfdGltaW5nLT50cmltX3JlZ3NbRU1DX1BNQUNST19PQl9ERExM X0xPTkdfRFFfUkFOSyAjIwlcCj4gKwkJCQkgcmFuayAjIyBfICMjIHJlZyAjIyBfSU5ERVhdKSA+ PglcCj4gKwkgIEVNQ19QTUFDUk9fT0JfRERMTF9MT05HX0RRX1JBTksgIyMgcmFuayAjIyBfICMj IHJlZyAjIwlcCj4gKwkgIF9PQl9ERExMX0xPTkdfRFFfUkFOSyAjIyByYW5rICMjIF9CWVRFICMj IGJ5dGUgIyMgX1NISUZUKQlcCj4gKwkgKwkJCQkJCQkJXAo+ICsJICgoKEVNQ19EQVRBX0JSTFNI RlRfICMjIHJhbmsgIyMgX1JBTksgIyMgcmFuayAjIyBfQllURSAjIwlcCj4gKwkgICAgYnl0ZSAj IyBfREFUQV9CUkxTSEZUX01BU0sgJgkJCQlcCj4gKwkgICAgbmV4dF90aW1pbmctPnRyaW1fcGVy Y2hfcmVnc1tFTUMgIyMgY2hhbiAjIwkJCVwKPiArCQkJICAgICAgX0VNQ19EQVRBX0JSTFNIRlRf ICMjIHJhbmsgIyMgX0lOREVYXSkgPj4JXAo+ICsJICAgRU1DX0RBVEFfQlJMU0hGVF8gIyMgcmFu ayAjIyBfUkFOSyAjIyByYW5rICMjIF9CWVRFICMjCVwKPiArCSAgIGJ5dGUgIyMgX0RBVEFfQlJM U0hGVF9TSElGVCkgKiA2NCkpCj4gKwo+ICsjZGVmaW5lIENBTENfVEVNUChyYW5rLCByZWcsIGJ5 dGUxLCBieXRlMiwgbikJCQkJXAo+ICsJKCgobmV3W25dIDw8IEVNQ19QTUFDUk9fT0JfRERMTF9M T05HX0RRX1JBTksgIyMgcmFuayAjIyBfICMjCVwKPiArCSAgIHJlZyAjIyBfT0JfRERMTF9MT05H X0RRX1JBTksgIyMgcmFuayAjIyBfQllURSAjIyBieXRlMSAjIyBfU0hJRlQpICYgXAo+ICsJICBF TUNfUE1BQ1JPX09CX0RETExfTE9OR19EUV9SQU5LICMjIHJhbmsgIyMgXyAjIyByZWcgIyMJXAo+ ICsJICBfT0JfRERMTF9MT05HX0RRX1JBTksgIyMgcmFuayAjIyBfQllURSAjIyBieXRlMSAjIyBf TUFTSykJXAo+ICsJIHwJCQkJCQkJCVwKPiArCSAoKG5ld1tuICsgMV0gPDwgRU1DX1BNQUNST19P Ql9ERExMX0xPTkdfRFFfUkFOSyAjIyByYW5rICMjIF8gIyNcCj4gKwkgICByZWcgIyMgX09CX0RE TExfTE9OR19EUV9SQU5LICMjIHJhbmsgIyMgX0JZVEUgIyMgYnl0ZTIgIyMgX1NISUZUKSAmIFwK PiArCSAgRU1DX1BNQUNST19PQl9ERExMX0xPTkdfRFFfUkFOSyAjIyByYW5rICMjIF8gIyMgcmVn ICMjCVwKPiArCSAgX09CX0RETExfTE9OR19EUV9SQU5LICMjIHJhbmsgIyMgX0JZVEUgIyMgYnl0 ZTIgIyMgX01BU0spKQlcCj4gKwo+ICBlbnVtIFRFR1JBX0VNQ19TT1VSQ0Ugewo+ICAJVEVHUkFf RU1DX1NSQ19QTExNLAo+ICAJVEVHUkFfRU1DX1NSQ19QTExDLAo+IEBAIC0zMiw2ICs2MywxNCBA QCBlbnVtIFRFR1JBX0VNQ19TT1VSQ0Ugewo+ICAJVEVHUkFfRU1DX1NSQ19DT1VOVCwKPiAgfTsK PiAgCj4gK2VudW0gewo+ICsJVEVHUkFfRFJBTV9PVkVSX1RFTVBfTk9ORSA9IDAsCj4gKwlURUdS QV9EUkFNX09WRVJfVEVNUF9SRUZSRVNIX1gyLAo+ICsJVEVHUkFfRFJBTV9PVkVSX1RFTVBfUkVG UkVTSF9YNCwKPiArCVRFR1JBX0RSQU1fT1ZFUl9URU1QX1RIUk9UVExFLCAvKiA0eCBSZWZyZXNo ICsgZGVyYXRpbmcuICovCj4gKwlURUdSQV9EUkFNX09WRVJfVEVNUF9NQVgsCj4gK307Cj4gKwo+ ICBzdHJ1Y3QgZW1jX3NlbCB7Cj4gIAlzdHJ1Y3QgY2xrICppbnB1dDsKPiAgCXUzMiB2YWx1ZTsK PiBAQCAtNzYsNiArMTE1LDcgQEAgc3RhdGljIHN0cnVjdCB0ZWdyYV9lbWMgKnRlZ3JhX2VtYzsK PiAgc3RhdGljIERFRklORV9TUElOTE9DSyhlbWNfYWNjZXNzX2xvY2spOwo+ICBzdGF0aWMga3Rp bWVfdCBjbGtjaGFuZ2VfdGltZTsKPiAgc3RhdGljIGludCBjbGtjaGFuZ2VfZGVsYXkgPSAxMDA7 Cj4gK3Vuc2lnbmVkIGxvbmcgZHJhbV9vdmVyX3RlbXBfc3RhdGUgPSBURUdSQV9EUkFNX09WRVJf VEVNUF9OT05FOwo+ICAKPiAgc3RhdGljIHZvaWQgZW1jX3RyYWluKHN0cnVjdCB0aW1lcl9saXN0 ICp0bXIpOwo+ICBERUZJTkVfVElNRVIoZW1jX3RyYWluaW5nX3RpbWVyLCBlbWNfdHJhaW4pOwo+ IEBAIC0xMDIsMTEgKzE0MiwzMyBAQCBzdGF0aWMgYm9vbCBlbWNfc3VzcGVuZDsKPiAgc3RhdGlj IHVuc2lnbmVkIGxvbmcgZW1jX3Jlc3VtZV9yYXRlOwo+ICAjZW5kaWYKPiAgCj4gK2lubGluZSB2 b2lkIGVtY193cml0ZWwoc3RydWN0IHRlZ3JhX2VtYyAqZW1jLCB1MzIgdmFsLCB1bnNpZ25lZCBs b25nIG9mZnNldCkKPiArewo+ICsJd3JpdGVsKHZhbCwgZW1jLT5lbWNfYmFzZSArIG9mZnNldCk7 Cj4gK30KPiArCj4gIGlubGluZSB1MzIgZW1jX3JlYWRsKHN0cnVjdCB0ZWdyYV9lbWMgKmVtYywg dW5zaWduZWQgbG9uZyBvZmZzZXQpCj4gIHsKPiAgCXJldHVybiByZWFkbChlbWMtPmVtY19iYXNl ICsgb2Zmc2V0KTsKPiAgfQo+ICAKPiAraW5saW5lIHUzMiBlbWMxX3JlYWRsKHN0cnVjdCB0ZWdy YV9lbWMgKmVtYywgdW5zaWduZWQgbG9uZyBvZmZzZXQpCj4gK3sKPiArCXJldHVybiByZWFkbChl bWMtPmVtYzFfYmFzZSArIG9mZnNldCk7Cj4gK30KCkRvIHlvdSByZWFsbHkgbmVlZCB0byBpbnNl cnQgYSBtZW1vcnkgYmFycmllciBvbiBlYWNoIHJlYWRsL3dyaXRlbD8gV2h5IG5vdCB0byB1c2Ug dGhlIHJlbGF4ZWQgdmVyc2lvbnM/CgotLSAKRG1pdHJ5CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==