From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: [PATCH RFC 1/6] libxl: implementation of PV rtc device interface Date: Mon, 6 Jun 2016 14:37:20 +0100 Message-ID: <20160606133720.GE14588@citrix.com> References: <1463668655-16778-1-git-send-email-iurii.mykhalskyi@globallogic.com> <1463668655-16778-2-git-send-email-iurii.mykhalskyi@globallogic.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1463668655-16778-2-git-send-email-iurii.mykhalskyi@globallogic.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Iurii Mykhalskyi Cc: wei.liu2@citrix.com, ian.campbell@citrix.com, stefano.stabellini@eu.citrix.com, ian.jackson@eu.citrix.com, xen-devel@lists.xen.org, embedded-pv-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBNYXkgMTksIDIwMTYgYXQgMDU6Mzc6MzBQTSArMDMwMCwgSXVyaWkgTXlraGFsc2t5 aSB3cm90ZToKPiBQViBydGMgZGV2aWNlIGludGVyZmFjZSBpcyBpbXBsZW1lbnRlZCBpbiBsaWJ4 bCBhbmQgeGwgd2l0aAo+IGZ1bGwgc3VwcG9ydCBmb3IgZGV2aWNlIGNvbnRyb2wuIE5vIEpTT04g cGFyc2VyIGZvciBkb21haW4KPiBjb25maWd1cmF0aW9uIHlldC4KCkknbSBub3Qgc3VyZSBJIGZv bGxvdyB0aGUgbGFzdCBzZW50ZW5jZS4gV2hhdCBKU09OIHBhcnNlciBkbyB5b3UgbmVlZD8KCklz IHRoZXJlIGEgc3BlY2lmaWNhdGlvbiBmb3IgdnJ0YyB0aGF0IEkgY2FuIHJlZmVyZW5jZT8gSSBk b24ndCBzZWUgb25lCmluIHhlbi9pbmNsdWRlL3B1YmxpYy9pby4KCj4gKwo+ICAKPiAgLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKi8KPiAgCj4gQEAgLTQxMzEsMTIgKzQ0MDIsMTQgQEAgb3V0Ogo+ICAg KiBsaWJ4bF9kZXZpY2VfZGlza19kZXN0cm95Cj4gICAqIGxpYnhsX2RldmljZV9uaWNfcmVtb3Zl Cj4gICAqIGxpYnhsX2RldmljZV9uaWNfZGVzdHJveQo+IC0gKiBsaWJ4bF9kZXZpY2VfdnRwbV9y ZW1vdmUKPiAtICogbGlieGxfZGV2aWNlX3Z0cG1fZGVzdHJveQo+ICAgKiBsaWJ4bF9kZXZpY2Vf dmtiX3JlbW92ZQo+ICAgKiBsaWJ4bF9kZXZpY2VfdmtiX2Rlc3Ryb3kKPiAgICogbGlieGxfZGV2 aWNlX3ZmYl9yZW1vdmUKPiAgICogbGlieGxfZGV2aWNlX3ZmYl9kZXN0cm95Cj4gKyAqIGxpYnhs X2RldmljZV92dHBtX3JlbW92ZQo+ICsgKiBsaWJ4bF9kZXZpY2VfdnRwbV9kZXN0cm95CgpVbnJl bGF0ZWQgY2hhbmdlIGhlcmUuCgo+ICsgKiBsaWJ4bF9kZXZpY2VfdnJ0Y19yZW1vdmUKPiArICog bGlieGxfZGV2aWNlX3ZydGNfZGVzdHJveQo+ICAgKi8KPiAgI2RlZmluZSBERUZJTkVfREVWSUNF X1JFTU9WRSh0eXBlLCByZW1vdmVkZXN0cm95LCBmKSAgICAgICAgICAgICAgICAgICAgXAo+ICAg ICAgaW50IGxpYnhsX2RldmljZV8jI3R5cGUjI18jI3JlbW92ZWRlc3Ryb3kobGlieGxfY3R4ICpj dHgsICAgICAgICAgICBcCj4gQEAgLTQxODgsNiArNDQ2MSwxMCBAQCBERUZJTkVfREVWSUNFX1JF TU9WRSh2ZmIsIGRlc3Ryb3ksIDEpCj4gIERFRklORV9ERVZJQ0VfUkVNT1ZFKHZ0cG0sIHJlbW92 ZSwgMCkKPiAgREVGSU5FX0RFVklDRV9SRU1PVkUodnRwbSwgZGVzdHJveSwgMSkKPiAgCj4gKy8q IHZydGMgKi8KPiArREVGSU5FX0RFVklDRV9SRU1PVkUodnJ0YywgcmVtb3ZlLCAwKQo+ICtERUZJ TkVfREVWSUNFX1JFTU9WRSh2cnRjLCBkZXN0cm95LCAxKQo+ICsKPiAgLyogY2hhbm5lbC9jb25z b2xlIGhvdHVucGx1ZyBpcyBub3QgaW1wbGVtZW50ZWQuIFRoZXJlIGFyZSAyIHBvc3NpYmlsaXRp ZXM6Cj4gICAqIDEuIGFkZCBzdXBwb3J0IGZvciBzZWNvbmRhcnkgY29uc29sZXMgdG8geGVuY29u c29sZWQKPiAgICogMi4gZHluYW1pY2FsbHkgYWRkL3JlbW92ZSBxZW11IGNoYXJkZXZzIHZpYSBx bXAgbWVzc2FnZXMuICovCj4gQEAgLTQyMDEsNiArNDQ3OCw3IEBAIERFRklORV9ERVZJQ0VfUkVN T1ZFKHZ0cG0sIGRlc3Ryb3ksIDEpCj4gICAqIGxpYnhsX2RldmljZV9kaXNrX2FkZAo+ICAgKiBs aWJ4bF9kZXZpY2VfbmljX2FkZAo+ICAgKiBsaWJ4bF9kZXZpY2VfdnRwbV9hZGQKPiArICogbGli eGxfZGV2aWNlX3ZydGNfYWRkCj4gICAqLwo+ICAKPiAgI2RlZmluZSBERUZJTkVfREVWSUNFX0FE RCh0eXBlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+IEBAIC00 MjMyLDYgKzQ1MTAsOSBAQCBERUZJTkVfREVWSUNFX0FERChuaWMpCj4gIC8qIHZ0cG0gKi8KPiAg REVGSU5FX0RFVklDRV9BREQodnRwbSkKPiAgCj4gKy8qIHZydGMgKi8KPiArREVGSU5FX0RFVklD RV9BREQodnJ0YykKPiArCj4gICN1bmRlZiBERUZJTkVfREVWSUNFX0FERAo+ICAKPiAgLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKi8KPiBAQCAtNjc0Nyw2ICs3MDI4LDggQEAgaW50IGxpYnhsX3JldHJp ZXZlX2RvbWFpbl9jb25maWd1cmF0aW9uKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwK PiAgCj4gICAgICBNRVJHRSh2dHBtLCB2dHBtcywgQ09NUEFSRV9ERVZJRCwge30pOwo+ICAKPiAr ICAgIE1FUkdFKHZydGMsIHZydGNzLCBDT01QQVJFX0RFVklELCB7fSk7Cj4gKwo+ICAgICAgTUVS R0UocGNpLCBwY2lkZXZzLCBDT01QQVJFX1BDSSwge30pOwo+ICAKPiAgICAgIC8qIFRha2UgY2Fy ZSBvZiByZW1vdmFibGUgZGV2aWNlLiBXZSBtYWludGFpbiBpbnZhcmlhbnQgaW4gdGhlCj4gZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmggYi90b29scy9saWJ4bC9saWJ4bC5oCj4gaW5k ZXggZmE1YWVkZC4uOTI0M2I4NiAxMDA2NDQKPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bC5oCj4g KysrIGIvdG9vbHMvbGlieGwvbGlieGwuaAo+IEBAIC0xNDM1LDYgKzE0MzUsMjMgQEAgbGlieGxf ZGV2aWNlX3Z0cG0gKmxpYnhsX2RldmljZV92dHBtX2xpc3QobGlieGxfY3R4ICpjdHgsIHVpbnQz Ml90IGRvbWlkLCBpbnQgKm4KPiAgaW50IGxpYnhsX2RldmljZV92dHBtX2dldGluZm8obGlieGxf Y3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlieGxfZGV2aWNlX3Z0cG0gKnZ0cG0sIGxpYnhsX3Z0cG1pbmZvICp2dHBtaW5mbyk7Cj4g IAo+ICsvKiBSVEMgKi8KPiAraW50IGxpYnhsX2RldmljZV92cnRjX2FkZChsaWJ4bF9jdHggKmN0 eCwgdWludDMyX3QgZG9taWQsIGxpYnhsX2RldmljZV92cnRjICp2cnRjLAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2FzeW5jb3BfaG93ICphb19ob3cpCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgTElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwo+ICtpbnQg bGlieGxfZGV2aWNlX3ZydGNfcmVtb3ZlKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfdnJ0YyAqdnJ0YywK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9hc3luY29wX2hvdyAq YW9faG93KQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX0VYVEVSTkFMX0NB TExFUlNfT05MWTsKPiAraW50IGxpYnhsX2RldmljZV92cnRjX2Rlc3Ryb3kobGlieGxfY3R4ICpj dHgsIHVpbnQzMl90IGRvbWlkLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4 bF9kZXZpY2VfdnJ0YyAqdnJ0YywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgbGlieGxfYXN5bmNvcF9ob3cgKmFvX2hvdykKPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwo+ICsKPiArbGlieGxfZGV2aWNlX3Zy dGMgKmxpYnhsX2RldmljZV92cnRjX2xpc3QobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlk LCBpbnQgKm51bSk7Cj4gK2ludCBsaWJ4bF9kZXZpY2VfdnJ0Y19nZXRpbmZvKGxpYnhsX2N0eCAq Y3R4LCB1aW50MzJfdCBkb21pZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli eGxfZGV2aWNlX3ZydGMgKnZydGMsIGxpYnhsX3ZydGNpbmZvICp2cnRjaW5mbyk7Cj4gKwo+ICAv KiBLZXlib2FyZCAqLwo+ICBpbnQgbGlieGxfZGV2aWNlX3ZrYl9hZGQobGlieGxfY3R4ICpjdHgs IHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kZXZpY2VfdmtiICp2a2IsCj4gICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBsaWJ4bF9hc3luY29wX2hvdyAqYW9faG93KQo+IGRpZmYgLS1naXQg YS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5j Cj4gaW5kZXggMWMwNTc5Yy4uMTIwNmMzNCAxMDA2NDQKPiAtLS0gYS90b29scy9saWJ4bC9saWJ4 bF9jcmVhdGUuYwo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCj4gQEAgLTczNCw2 ICs3MzQsOCBAQCBzdGF0aWMgdm9pZCBkb21jcmVhdGVfbGF1bmNoX2RtKGxpYnhsX19lZ2MgKmVn YywgbGlieGxfX211bHRpZGV2ICphb2RldnMsCj4gIAo+ICBzdGF0aWMgdm9pZCBkb21jcmVhdGVf YXR0YWNoX3Z0cG1zKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX211bHRpZGV2ICptdWx0aWRldiwK PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmV0KTsKPiArc3RhdGlj IHZvaWQgZG9tY3JlYXRlX2F0dGFjaF92cnRjcyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19tdWx0 aWRldiAqbXVsdGlkZXYsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 IHJldCk7Cj4gIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9hdHRhY2hfcGNpKGxpYnhsX19lZ2MgKmVn YywgbGlieGxfX211bHRpZGV2ICphb2RldnMsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludCByZXQpOwo+ICBzdGF0aWMgdm9pZCBkb21jcmVhdGVfYXR0YWNoX2R0ZGV2KGxp YnhsX19lZ2MgKmVnYywKPiBAQCAtMTM5MiwxMiArMTM5NCw0NSBAQCBzdGF0aWMgdm9pZCBkb21j cmVhdGVfYXR0YWNoX3Z0cG1zKGxpYnhsX19lZ2MgKmVnYywKPiAgICAgaWYgKGRfY29uZmlnLT5u dW1fdnRwbXMgPiAwKSB7Cj4gICAgICAgICAvKiBBdHRhY2ggdnRwbXMgKi8KPiAgICAgICAgIGxp YnhsX19tdWx0aWRldl9iZWdpbihhbywgJmRjcy0+bXVsdGlkZXYpOwo+IC0gICAgICAgZGNzLT5t dWx0aWRldi5jYWxsYmFjayA9IGRvbWNyZWF0ZV9hdHRhY2hfcGNpOwo+ICsgICAgICAgZGNzLT5t dWx0aWRldi5jYWxsYmFjayA9IGRvbWNyZWF0ZV9hdHRhY2hfdnJ0Y3M7Cj4gICAgICAgICBsaWJ4 bF9fYWRkX3Z0cG1zKGVnYywgYW8sIGRvbWlkLCBkX2NvbmZpZywgJmRjcy0+bXVsdGlkZXYpOwo+ ICAgICAgICAgbGlieGxfX211bHRpZGV2X3ByZXBhcmVkKGVnYywgJmRjcy0+bXVsdGlkZXYsIDAp Owo+ICAgICAgICAgcmV0dXJuOwo+ICAgICB9Cj4gIAo+ICsgICBkb21jcmVhdGVfYXR0YWNoX3Zy dGNzKGVnYywgbXVsdGlkZXYsIDApOwo+ICsgICByZXR1cm47Cj4gKwo+ICtlcnJvcl9vdXQ6Cj4g KyAgIGFzc2VydChyZXQpOwo+ICsgICBkb21jcmVhdGVfY29tcGxldGUoZWdjLCBkY3MsIHJldCk7 Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGRvbWNyZWF0ZV9hdHRhY2hfdnJ0Y3MobGlieGxfX2Vn YyAqZWdjLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19tdWx0 aWRldiAqbXVsdGlkZXYsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 IHJldCkKPiArewo+ICsgICBsaWJ4bF9fZG9tYWluX2NyZWF0ZV9zdGF0ZSAqZGNzID0gQ09OVEFJ TkVSX09GKG11bHRpZGV2LCAqZGNzLCBtdWx0aWRldik7Cj4gKyAgIFNUQVRFX0FPX0dDKGRjcy0+ YW8pOwo+ICsgICBpbnQgZG9taWQgPSBkY3MtPmd1ZXN0X2RvbWlkOwo+ICsKPiArICAgbGlieGxf ZG9tYWluX2NvbmZpZyogY29uc3QgZF9jb25maWcgPSBkY3MtPmd1ZXN0X2NvbmZpZzsKPiArCj4g KyAgIGlmKHJldCkgewo+ICsgICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRvIGFkZCB2dHBtIGRl dmljZXMiKTsKPiArICAgICAgIGdvdG8gZXJyb3Jfb3V0Owo+ICsgICB9Cj4gKwo+ICsgICAgLyog UGx1ZyB2cnRjIGRldmljZXMgKi8KPiArICAgaWYgKGRfY29uZmlnLT5udW1fdnJ0Y3MgPiAwKSB7 Cj4gKyAgICAgICAvKiBBdHRhY2ggdnJ0Y3MgKi8KPiArICAgICAgIGxpYnhsX19tdWx0aWRldl9i ZWdpbihhbywgJmRjcy0+bXVsdGlkZXYpOwo+ICsgICAgICAgZGNzLT5tdWx0aWRldi5jYWxsYmFj ayA9IGRvbWNyZWF0ZV9hdHRhY2hfcGNpOwo+ICsgICAgICAgbGlieGxfX2FkZF92cnRjcyhlZ2Ms IGFvLCBkb21pZCwgZF9jb25maWcsICZkY3MtPm11bHRpZGV2KTsKPiArICAgICAgIGxpYnhsX19t dWx0aWRldl9wcmVwYXJlZChlZ2MsICZkY3MtPm11bHRpZGV2LCAwKTsKPiArICAgICAgIHJldHVy bjsKPiArICAgfQo+ICsKPiAgICAgZG9tY3JlYXRlX2F0dGFjaF9wY2koZWdjLCBtdWx0aWRldiwg MCk7Cj4gICAgIHJldHVybjsKPiAgCj4gQEAgLTE0MTksNyArMTQ1NCw3IEBAIHN0YXRpYyB2b2lk IGRvbWNyZWF0ZV9hdHRhY2hfcGNpKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX211bHRpZGV2ICpt dWx0aWRldiwKPiAgICAgIGxpYnhsX2RvbWFpbl9jb25maWcgKmNvbnN0IGRfY29uZmlnID0gZGNz LT5ndWVzdF9jb25maWc7Cj4gIAo+ICAgICAgaWYgKHJldCkgewo+IC0gICAgICAgIExPRyhFUlJP UiwgInVuYWJsZSB0byBhZGQgdnRwbSBkZXZpY2VzIik7Cj4gKyAgICAgICAgTE9HKEVSUk9SLCAi dW5hYmxlIHRvIGFkZCB2cnRjIGRldmljZXMiKTsKPiAgICAgICAgICBnb3RvIGVycm9yX291dDsK PiAgICAgIH0KPiAgCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jIGIv dG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMKPiBpbmRleCA4YmI1ZTkzLi43MmYwOWEwIDEwMDY0 NAo+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCj4gKysrIGIvdG9vbHMvbGlieGwv bGlieGxfZGV2aWNlLmMKPiBAQCAtNTQ0LDYgKzU0NCw3IEBAIHZvaWQgbGlieGxfX211bHRpZGV2 X3ByZXBhcmVkKGxpYnhsX19lZ2MgKmVnYywKPiAgICogbGlieGxfX2FkZF9kaXNrcwo+ICAgKiBs aWJ4bF9fYWRkX25pY3MKPiAgICogbGlieGxfX2FkZF92dHBtcwo+ICsgKiBsaWJ4bF9fYWRkX3Zy dGNzCj4gICAqLwo+ICAKPiAgI2RlZmluZSBERUZJTkVfREVWSUNFU19BREQodHlwZSkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+IEBAIC01NjMsNiArNTY0LDcgQEAg dm9pZCBsaWJ4bF9fbXVsdGlkZXZfcHJlcGFyZWQobGlieGxfX2VnYyAqZWdjLAo+ICBERUZJTkVf REVWSUNFU19BREQoZGlzaykKPiAgREVGSU5FX0RFVklDRVNfQUREKG5pYykKPiAgREVGSU5FX0RF VklDRVNfQUREKHZ0cG0pCj4gK0RFRklORV9ERVZJQ0VTX0FERCh2cnRjKQo+ICAKPiAgI3VuZGVm IERFRklORV9ERVZJQ0VTX0FERAo+ICAKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxf aW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKPiBpbmRleCA1YjBiNTBh Li4yYTQyM2I1IDEwMDY0NAo+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKPiAr KysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCj4gQEAgLTQ3Niw3ICs0NzYsOCBAQCB0 eXBlZGVmIHN0cnVjdCB7Cj4gICNkZWZpbmUgUUVNVV9CQUNLRU5EKGRldikgKFwKPiAgICAgIChk ZXYpLT5iYWNrZW5kX2tpbmQgPT0gTElCWExfX0RFVklDRV9LSU5EX1FESVNLIHx8IFwKPiAgICAg IChkZXYpLT5iYWNrZW5kX2tpbmQgPT0gTElCWExfX0RFVklDRV9LSU5EX1ZGQiB8fCBcCj4gLSAg ICAoZGV2KS0+YmFja2VuZF9raW5kID09IExJQlhMX19ERVZJQ0VfS0lORF9WS0JEKQo+ICsgICAg KGRldiktPmJhY2tlbmRfa2luZCA9PSBMSUJYTF9fREVWSUNFX0tJTkRfVktCRCB8fCBcCj4gKyAg ICAoZGV2KS0+YmFja2VuZF9raW5kID09IExJQlhMX19ERVZJQ0VfS0lORF9WUlRDKQo+ICAKClNv IGl0IGlzIGdvaW5nIHRvIGJlIGJhY2tlZCBieSBRRU1VPwoKPiAgI2RlZmluZSBYQ19QQ0lfQkRG ICAgICAgICAgICAgICIweCV4LCAweCV4LCAweCV4LCAweCV4Igo+ICAjZGVmaW5lIFBDSV9ERVZG TihzbG90LCBmdW5jKSAgICgoKChzbG90KSAmIDB4MWYpIDw8IDMpIHwgKChmdW5jKSAmIDB4MDcp KQo+IEBAIC0xMTg2LDYgKzExODcsNyBAQCBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tf c2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLAo+ICBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX25p Y19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RldmljZV9uaWMgKm5pYywKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCk7Cj4g IF9oaWRkZW4gaW50IGxpYnhsX19kZXZpY2VfdnRwbV9zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2Ms IGxpYnhsX2RldmljZV92dHBtICp2dHBtKTsKPiArX2hpZGRlbiBpbnQgbGlieGxfX2RldmljZV92 cnRjX3NldGRlZmF1bHQobGlieGxfX2djICpnYywgbGlieGxfZGV2aWNlX3ZydGMgKnZydGMpOwo+ ICBfaGlkZGVuIGludCBsaWJ4bF9fZGV2aWNlX3ZmYl9zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2Ms IGxpYnhsX2RldmljZV92ZmIgKnZmYik7Cj4gIF9oaWRkZW4gaW50IGxpYnhsX19kZXZpY2Vfdmti X3NldGRlZmF1bHQobGlieGxfX2djICpnYywgbGlieGxfZGV2aWNlX3ZrYiAqdmtiKTsKPiAgX2hp ZGRlbiBpbnQgbGlieGxfX2RldmljZV9wY2lfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCBsaWJ4 bF9kZXZpY2VfcGNpICpwY2kpOwo+IEBAIC0yNTQ5LDYgKzI1NTEsOCBAQCBzdHJ1Y3QgbGlieGxf X211bHRpZGV2IHsKPiAgICogeGVuc3RvcmUgZW50cnkgYWZ0ZXJ3YXJkcy4gV2UgaGF2ZSBib3Ro IEpTT04gYW5kIHhlbnN0b3JlIGVudHJ5LAo+ICAgKiBpdCdzIGEgdmFsaWQgc3RhdGUuCj4gICAq Lwo+ICsKPiArLyogQU8gb3BlcmF0aW9uIHRvIGNvbm5lY3QgYSBkaXNrIGRldmljZSAqLwoKVW5y ZWxhdGVkIGNoYW5nZS4KCkFsbCB0aGVzZSBhZGQgY29tbWVudHMgc2hvdWxkIGdvIHRvIGEgc2Vw YXJhdGUgcGF0Y2guICBCdXQgSSBkb24ndCB0aGluawp0aGV5IGFyZSBhYnNvbHV0ZWx5IG5lZWRl ZC4KCj4gIF9oaWRkZW4gdm9pZCBsaWJ4bF9fZGV2aWNlX2Rpc2tfYWRkKGxpYnhsX19lZ2MgKmVn YywgdWludDMyX3QgZG9taWQsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX2RldmljZV9kaXNrICpkaXNrLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsaWJ4bF9fYW9fZGV2aWNlICphb2Rldik7Cj4gQEAgLTI1NTgsOSArMjU2MiwxNSBA QCBfaGlkZGVuIHZvaWQgbGlieGxfX2RldmljZV9uaWNfYWRkKGxpYnhsX19lZ2MgKmVnYywgdWlu dDMyX3QgZG9taWQsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf ZGV2aWNlX25pYyAqbmljLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX19hb19kZXZpY2UgKmFvZGV2KTsKPiAgCj4gKy8qIEFPIG9wZXJhdGlvbiB0byBjb25uZWN0 IGEgdHBtIGRldmljZSAqLwo+ICBfaGlkZGVuIHZvaWQgbGlieGxfX2RldmljZV92dHBtX2FkZChs aWJ4bF9fZWdjICplZ2MsIHVpbnQzMl90IGRvbWlkLAo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxpYnhsX2RldmljZV92dHBtICp2dHBtLAo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2KTsKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX3Z0cG0gKnZ0cG0sCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2 KTsKPiArCgpVbnJlbGF0ZWQgY2hhbmdlLgoKPiArLyogQU8gb3BlcmF0aW9uIHRvIGNvbm5lY3Qg YW4gcnRjIGRldmljZSAqLwo+ICtfaGlkZGVuIHZvaWQgbGlieGxfX2RldmljZV92cnRjX2FkZChs aWJ4bF9fZWdjICplZ2MsIHVpbnQzMl90IGRvbWlkLAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfdnJ0YyAqdnJ0YywKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2FvX2RldmljZSAqYW9kZXYpOwo+ICAKPiAgLyog SW50ZXJuYWwgZnVuY3Rpb24gdG8gY29ubmVjdCBhIHZrYiBkZXZpY2UgKi8KPiAgX2hpZGRlbiBp bnQgbGlieGxfX2RldmljZV92a2JfYWRkKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAo+ IEBAIC0zMjc4LDYgKzMyODgsOSBAQCBfaGlkZGVuIHZvaWQgbGlieGxfX2FkZF92dHBtcyhsaWJ4 bF9fZWdjICplZ2MsIGxpYnhsX19hbyAqYW8sIHVpbnQzMl90IGRvbWlkLAo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLAo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYpOwo+ICAK PiArX2hpZGRlbiB2b2lkIGxpYnhsX19hZGRfdnJ0Y3MobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9f YW8gKmFvLCB1aW50MzJfdCBkb21pZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2KTsKCkluZGVudGF0aW9uLgoKSSBza2ltLXJl YWQgdGhpcyBwYXRjaC4gVGhlIHN0cnVjdHVyZSBhbmQgYXJyYW5nZW1lbnQgbG9va3MgcGxhdXNp YmxlLgpQbGVhc2UgZml4IHRoZSBjb2Rpbmcgc3R5bGUgaXNzdWVzIGFuZCByZW1vdmUgdW5yZWxh dGVkIGNoYW5nZXMuIFBsZWFzZQphbHNvIHByb3ZpZGUgc29tZSBtb3JlIHJlZmVyZW5jZXMgaW4g Y29tbWl0IG1lc3NhZ2UuCgpZb3UgYWxzbyBuZWVkIHRvIHByb3ZpZGUgYSBMSUJYTF9IQVZFIG1h Y3JvIGluIGxpYnhsLmguCgpJIHRoaW5rIG15IGNvbW1lbnRzIGhlcmUgYXBwbHkgdG8gYWxsIHBh dGNoZXMgaW4gdGhpcyBzZXJpZXMuCgpQbGVhc2UgZG9uJ3QgaGVzaXRhdGUgdG8gYXNrIGlmIG15 IGNvbW1lbnRzIGFyZSBub3QgY2xlYXIuCgpXZWkuCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=