From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH v3 1/3] x86/ioreq server(patch for 4.7): Rename p2m_mmio_write_dm to p2m_ioreq_server. Date: Mon, 25 Apr 2016 17:15:35 +0100 Message-ID: <571E42A7.9080503@citrix.com> References: <1461580540-9314-1-git-send-email-yu.c.zhang@linux.intel.com> <1461580540-9314-2-git-send-email-yu.c.zhang@linux.intel.com> <81c8eb898bb0419fa4dba588ccc6131a@AMSPEX02CL03.citrite.net> <571E563202000078000E5747@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: "Yu, Zhang" , Jan Beulich , Paul Durrant Cc: Kevin Tian , Wei Liu , Andrew Cooper , "Tim(Xen.org)" , "xen-devel@lists.xen.org" , Zhiyuan Lv , Jun Nakajima , "Keir (Xen.org)" List-Id: xen-devel@lists.xenproject.org T24gMjUvMDQvMTYgMTY6NTMsIFl1LCBaaGFuZyB3cm90ZToKPiAKPiAKPiBPbiA0LzI1LzIwMTYg MTE6MzggUE0sIEphbiBCZXVsaWNoIHdyb3RlOgo+Pj4+PiBPbiAyNS4wNC4xNiBhdCAxNzoyOSwg PFBhdWwuRHVycmFudEBjaXRyaXguY29tPiB3cm90ZToKPj4+PiAgLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0KPj4+PiBGcm9tOiBZdSwgWmhhbmcgW21haWx0bzp5dS5jLnpoYW5nQGxpbnV4Lmlu dGVsLmNvbV0KPj4+PiBTZW50OiAyNSBBcHJpbCAyMDE2IDE2OjIyCj4+Pj4gVG86IFBhdWwgRHVy cmFudDsgR2VvcmdlIER1bmxhcAo+Pj4+IENjOiB4ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZzsgS2V2 aW4gVGlhbjsgS2VpciAoWGVuLm9yZyk7IEp1biBOYWthamltYTsKPj4+PiBBbmRyZXcgQ29vcGVy OyBUaW0gKFhlbi5vcmcpOyBMdiwgWmhpeXVhbjsgSmFuIEJldWxpY2g7IFdlaSBMaXUKPj4+PiBT dWJqZWN0OiBSZTogW1hlbi1kZXZlbF0gW1BBVENIIHYzIDEvM10geDg2L2lvcmVxIHNlcnZlcihw YXRjaCBmb3IKPj4+PiA0LjcpOgo+Pj4+IFJlbmFtZSBwMm1fbW1pb193cml0ZV9kbSB0byBwMm1f aW9yZXFfc2VydmVyLgo+Pj4+Cj4+Pj4KPj4+Pgo+Pj4+IE9uIDQvMjUvMjAxNiAxMDowMSBQTSwg UGF1bCBEdXJyYW50IHdyb3RlOgo+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4+ Pj4+IEZyb206IGR1bmxhcGdAZ21haWwuY29tIFttYWlsdG86ZHVubGFwZ0BnbWFpbC5jb21dIE9u IEJlaGFsZiBPZgo+Pj4+Pj4gR2VvcmdlIER1bmxhcAo+Pj4+Pj4gU2VudDogMjUgQXByaWwgMjAx NiAxNDozOQo+Pj4+Pj4gVG86IFl1IFpoYW5nCj4+Pj4+PiBDYzogeGVuLWRldmVsQGxpc3RzLnhl bi5vcmc7IEtldmluIFRpYW47IEtlaXIgKFhlbi5vcmcpOyBKdW4KPj4+Pj4+IE5ha2FqaW1hOwo+ Pj4+Pj4gQW5kcmV3IENvb3BlcjsgVGltIChYZW4ub3JnKTsgUGF1bCBEdXJyYW50OyBMdiwgWmhp eXVhbjsgSmFuCj4+Pj4+PiBCZXVsaWNoOyBXZWkKPj4+PiBMaXUKPj4+Pj4+IFN1YmplY3Q6IFJl OiBbWGVuLWRldmVsXSBbUEFUQ0ggdjMgMS8zXSB4ODYvaW9yZXEgc2VydmVyKHBhdGNoIGZvcgo+ Pj4+Pj4gNC43KToKPj4+Pj4+IFJlbmFtZSBwMm1fbW1pb193cml0ZV9kbSB0byBwMm1faW9yZXFf c2VydmVyLgo+Pj4+Pj4KPj4+Pj4+IE9uIE1vbiwgQXByIDI1LCAyMDE2IGF0IDExOjM1IEFNLCBZ dSBaaGFuZwo+Pj4+IDx5dS5jLnpoYW5nQGxpbnV4LmludGVsLmNvbT4KPj4+Pj4+IHdyb3RlOgo+ Pj4+Pj4+IFByZXZpb3VzbHkgcDJtIHR5cGUgcDJtX21taW9fd3JpdGVfZG0gd2FzIGludHJvZHVj ZWQgZm9yIHdyaXRlLQo+Pj4+Pj4+IHByb3RlY3RlZCBtZW1vcnkgcGFnZXMgd2hvc2Ugd3JpdGUg b3BlcmF0aW9ucyBhcmUgc3VwcG9zZWQgdG8gYmUKPj4+Pj4+PiBmb3J3YXJkZWQgdG8gYW5kIGVt dWxhdGVkIGJ5IGFuIGlvcmVxIHNlcnZlci4gWWV0IGxpbWl0YXRpb25zIG9mCj4+Pj4+Pj4gcmFu Z2VzZXQgcmVzdHJpY3QgdGhlIG51bWJlciBvZiBndWVzdCBwYWdlcyB0byBiZSB3cml0ZS1wcm90 ZWN0ZWQuCj4+Pj4+Pj4KPj4+Pj4+PiBUaGlzIHBhdGNoIHJlcGxhY2VzIHRoZSBwMm0gdHlwZSBw Mm1fbW1pb193cml0ZV9kbSB3aXRoIGEgbmV3Cj4+Pj4gbmFtZToKPj4+Pj4+PiBwMm1faW9yZXFf c2VydmVyLCB3aGljaCBtZWFucyB0aGlzIHAybSB0eXBlIGNhbiBiZSBjbGFpbWVkIGJ5IG9uZQo+ Pj4+Pj4+IGlvcmVxIHNlcnZlciwgaW5zdGVhZCBvZiBiZWluZyB0cmFja2VkIGluc2lkZSB0aGUg cmFuZ2VzZXQgb2YgaW9yZXEKPj4+Pj4+PiBzZXJ2ZXIuIFBhdGNoZXMgZm9sbG93aW5nIHVwIHdp bGwgYWRkIHRoZSByZWxhdGVkIGh2bW9wIGhhbmRsaW5nCj4+Pj4+Pj4gY29kZSB3aGljaCBtYXAv dW5tYXAgdHlwZSBwMm1faW9yZXFfc2VydmVyIHRvL2Zyb20gYW4gaW9yZXEKPj4+PiBzZXJ2ZXIu Cj4+Pj4+Pj4KPj4+Pj4+PiBjaGFuZ2VzIGluIHYzOgo+Pj4+Pj4+ICAgLSBBY2NvcmRpbmcgdG8g SmFuICYgR2VvcmdlJ3MgY29tbWVudHMsIGtlZXAKPj4+Pj4+IEhWTU1FTV9tbWlvX3dyaXRlX2Rt Cj4+Pj4+Pj4gICAgIGZvciBvbGQgeGVuIGludGVyZmFjZSB2ZXJzaW9ucywgYW5kIHJlcGxhY2Ug aXQgd2l0aAo+Pj4+Pj4+IEhWTU1FTV91bnVzZWQKPj4+Pj4+PiAgICAgZm9yIHhlbiBpbnRlcmZh Y2VzIG5ld2VyIHRoYW4gNC43LjA7IEZvciBwMm1faW9yZXFfc2VydmVyLCBhIG5ldwo+Pj4+Pj4+ ICAgICBlbnVtIC0gSFZNTUVNX2lvcmVxX3NlcnZlciBpcyBpbnRyb2R1Y2VkIGZvciB0aGUgZ2V0 L3NldCBtZW0KPj4+PiB0eXBlCj4+Pj4+Pj4gICAgIGludGVyZmFjZXM7Cj4+Pj4+Pj4gICAtIEFk ZCBHZW9yZ2UncyBSZXZpZXdlZC1ieSBhbmQgQWNrZWQtYnkgZnJvbSBUaW0gJiBBbmRyZXcuCj4+ Pj4+Pgo+Pj4+Pj4gVW5mb3J0dW5hdGVseSB0aGVzZSByYXRoZXIgY29udHJhZGljdCBlYWNoIG90 aGVyIC0tIEkgY29uc2lkZXIKPj4+Pj4+IFJldmlld2VkLWJ5IHRvIG9ubHkgc3RpY2sgaWYgdGhl IGNvZGUgSSd2ZSBzcGVjaWZpZWQgaGFzbid0IGNoYW5nZWQKPj4+Pj4+IChvciBoYXMgb25seSBj aGFuZ2VkIHRyaXZpYWxseSkuCj4+Pj4+Pgo+Pj4+Pj4gQWxzby4uLgo+Pj4+Pj4KPj4+Pj4+Pgo+ Pj4+Pj4+IGNoYW5nZXMgaW4gdjI6Cj4+Pj4+Pj4gICAtIEFjY29yZGluZyB0byBHZW9yZ2UgRHVu bGFwJ3MgY29tbWVudHMsIG9ubHkgcmVuYW1lIHRoZSBwMm0gdHlwZSwKPj4+Pj4+PiAgICAgd2l0 aCBubyBiZWhhdmlvciBjaGFuZ2VzLgo+Pj4+Pj4+Cj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogUGF1 bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KPj4+Pj4+PiBTaWduZWQtb2ZmLWJ5 OiBZdSBaaGFuZyA8eXUuYy56aGFuZ0BsaW51eC5pbnRlbC5jb20+Cj4+Pj4+Pj4gQWNrZWQtYnk6 IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgo+Pj4+Pj4+IEFja2VkLWJ5OiBBbmRyZXcgQ29vcGVy IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgo+Pj4+Pj4+IFJldmlld2VkLWJ5OiBHZW9yZ2Ug RHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Cj4+Pj4+Pj4gQ2M6IEtlaXIgRnJhc2Vy IDxrZWlyQHhlbi5vcmc+Cj4+Pj4+Pj4gQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv bT4KPj4+Pj4+PiBDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K Pj4+Pj4+PiBDYzogSnVuIE5ha2FqaW1hIDxqdW4ubmFrYWppbWFAaW50ZWwuY29tPgo+Pj4+Pj4+ IENjOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KPj4+Pj4+PiBDYzogR2Vvcmdl IER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgo+Pj4+Pj4+IENjOiBUaW0gRGVl Z2FuIDx0aW1AeGVuLm9yZz4KPj4+Pj4+PiAtLS0KPj4+Pj4+PiAgeGVuL2FyY2gveDg2L2h2bS9o dm0uYyAgICAgICAgICB8IDE0ICsrKysrKysrLS0tLS0tCj4+Pj4+Pj4gIHhlbi9hcmNoL3g4Ni9t bS9wMm0tZXB0LmMgICAgICAgfCAgMiArLQo+Pj4+Pj4+ICB4ZW4vYXJjaC94ODYvbW0vcDJtLXB0 LmMgICAgICAgIHwgIDIgKy0KPj4+Pj4+PiAgeGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5j ICB8ICAyICstCj4+Pj4+Pj4gIHhlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmggICAgICAgfCAgNCAr Ky0tCj4+Pj4+Pj4gIHhlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmggfCAgOCArKysrKysr LQo+Pj4+Pj4+ICA2IGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9u cygtKQo+Pj4+Pj4+Cj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMg Yi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCj4+Pj4+Pj4gaW5kZXggZjI0MTI2ZC4uODc0Y2IwZiAx MDA2NDQKPj4+Pj4+PiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCj4+Pj4+Pj4gKysrIGIv eGVuL2FyY2gveDg2L2h2bS9odm0uYwo+Pj4+Pj4+IEBAIC0xODU3LDcgKzE4NTcsNyBAQCBpbnQg aHZtX2hhcF9uZXN0ZWRfcGFnZV9mYXVsdChwYWRkcl90IGdwYSwKPj4+Pj4+IHVuc2lnbmVkIGxv bmcgZ2xhLAo+Pj4+Pj4+ICAgICAgICovCj4+Pj4+Pj4gICAgICBpZiAoIChwMm10ID09IHAybV9t bWlvX2RtKSB8fAo+Pj4+Pj4+ICAgICAgICAgICAobnBmZWMud3JpdGVfYWNjZXNzICYmCj4+Pj4+ Pj4gLSAgICAgICAgICAocDJtX2lzX2Rpc2NhcmRfd3JpdGUocDJtdCkgfHwgKHAybXQgPT0KPj4+ PiBwMm1fbW1pb193cml0ZV9kbSkpKSApCj4+Pj4+Pj4gKyAgICAgICAgICAocDJtX2lzX2Rpc2Nh cmRfd3JpdGUocDJtdCkgfHwgKHAybXQgPT0KPj4+Pj4+PiBwMm1faW9yZXFfc2VydmVyKSkpICkK Pj4+Pj4+PiAgICAgIHsKPj4+Pj4+PiAgICAgICAgICBfX3B1dF9nZm4ocDJtLCBnZm4pOwo+Pj4+ Pj4+ICAgICAgICAgIGlmICggYXAybV9hY3RpdmUgKQo+Pj4+Pj4+IEBAIC01NDk5LDggKzU0OTks OCBAQCBsb25nIGRvX2h2bV9vcCh1bnNpZ25lZCBsb25nIG9wLAo+Pj4+Pj4gWEVOX0dVRVNUX0hB TkRMRV9QQVJBTSh2b2lkKSBhcmcpCj4+Pj4+Pj4gICAgICAgICAgICAgIGdldF9nZm5fcXVlcnlf dW5sb2NrZWQoZCwgYS5wZm4sICZ0KTsKPj4+Pj4+PiAgICAgICAgICAgICAgaWYgKCBwMm1faXNf bW1pbyh0KSApCj4+Pj4+Pj4gICAgICAgICAgICAgICAgICBhLm1lbV90eXBlID0gIEhWTU1FTV9t bWlvX2RtOwo+Pj4+Pj4+IC0gICAgICAgICAgICBlbHNlIGlmICggdCA9PSBwMm1fbW1pb193cml0 ZV9kbSApCj4+Pj4+Pj4gLSAgICAgICAgICAgICAgICBhLm1lbV90eXBlID0gSFZNTUVNX21taW9f d3JpdGVfZG07Cj4+Pj4+Pj4gKyAgICAgICAgICAgIGVsc2UgaWYgKCB0ID09IHAybV9pb3JlcV9z ZXJ2ZXIgKQo+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgYS5tZW1fdHlwZSA9IEhWTU1FTV9pb3Jl cV9zZXJ2ZXI7Cj4+Pj4+Pj4gICAgICAgICAgICAgIGVsc2UgaWYgKCBwMm1faXNfcmVhZG9ubHko dCkgKQo+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgYS5tZW1fdHlwZSA9ICBIVk1NRU1fcmFtX3Jv Owo+Pj4+Pj4+ICAgICAgICAgICAgICBlbHNlIGlmICggcDJtX2lzX3JhbSh0KSApCj4+Pj4+Pj4g QEAgLTU1MzEsNyArNTUzMSw4IEBAIGxvbmcgZG9faHZtX29wKHVuc2lnbmVkIGxvbmcgb3AsCj4+ Pj4+PiBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKPj4+Pj4+PiAgICAgICAgICAg ICAgW0hWTU1FTV9yYW1fcnddICA9IHAybV9yYW1fcncsCj4+Pj4+Pj4gICAgICAgICAgICAgIFtI Vk1NRU1fcmFtX3JvXSAgPSBwMm1fcmFtX3JvLAo+Pj4+Pj4+ICAgICAgICAgICAgICBbSFZNTUVN X21taW9fZG1dID0gcDJtX21taW9fZG0sCj4+Pj4+Pj4gLSAgICAgICAgICAgIFtIVk1NRU1fbW1p b193cml0ZV9kbV0gPSBwMm1fbW1pb193cml0ZV9kbQo+Pj4+Pj4+ICsgICAgICAgICAgICBbSFZN TUVNX3VudXNlZF0gPSBwMm1faW52YWxpZCwKPj4+Pj4+PiArICAgICAgICAgICAgW0hWTU1FTV9p b3JlcV9zZXJ2ZXJdID0gcDJtX2lvcmVxX3NlcnZlcgo+Pj4+Pj4+ICAgICAgICAgIH07Cj4+Pj4+ Pj4KPj4+Pj4+PiAgICAgICAgICBpZiAoIGNvcHlfZnJvbV9ndWVzdCgmYSwgYXJnLCAxKSApCj4+ Pj4+Pj4gQEAgLTU1NTUsNyArNTU1Niw4IEBAIGxvbmcgZG9faHZtX29wKHVuc2lnbmVkIGxvbmcg b3AsCj4+Pj4+PiBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKPj4+Pj4+PiAgICAg ICAgICAgICAgICgoYS5maXJzdF9wZm4gKyBhLm5yIC0gMSkgPgo+Pj4+Pj4+IGRvbWFpbl9nZXRf bWF4aW11bV9ncGZuKGQpKSApCj4+Pj4+Pj4gICAgICAgICAgICAgIGdvdG8gc2V0bWVtdHlwZV9m YWlsOwo+Pj4+Pj4+Cj4+Pj4+Pj4gLSAgICAgICAgaWYgKCBhLmh2bW1lbV90eXBlID49IEFSUkFZ X1NJWkUobWVtdHlwZSkgKQo+Pj4+Pj4+ICsgICAgICAgIGlmICggYS5odm1tZW1fdHlwZSA+PSBB UlJBWV9TSVpFKG1lbXR5cGUpIHx8Cj4+Pj4+Pj4gKyAgICAgICAgICAgICB1bmxpa2VseShhLmh2 bW1lbV90eXBlID09IEhWTU1FTV91bnVzZWQpICkKPj4+Pj4+PiAgICAgICAgICAgICAgZ290byBz ZXRtZW10eXBlX2ZhaWw7Cj4+Pj4+Pj4KPj4+Pj4+PiAgICAgICAgICB3aGlsZSAoIGEubnIgPiBz dGFydF9pdGVyICkKPj4+Pj4+PiBAQCAtNTU3OSw3ICs1NTgxLDcgQEAgbG9uZyBkb19odm1fb3Ao dW5zaWduZWQgbG9uZyBvcCwKPj4+Pj4+IFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJn KQo+Pj4+Pj4+ICAgICAgICAgICAgICB9Cj4+Pj4+Pj4gICAgICAgICAgICAgIGlmICggIXAybV9p c19yYW0odCkgJiYKPj4+Pj4+PiAgICAgICAgICAgICAgICAgICAoIXAybV9pc19ob2xlKHQpIHx8 IGEuaHZtbWVtX3R5cGUgIT0KPj4+Pj4+PiBIVk1NRU1fbW1pb19kbSkKPj4+Pj4+ICYmCj4+Pj4+ Pj4gLSAgICAgICAgICAgICAgICAgKHQgIT0gcDJtX21taW9fd3JpdGVfZG0gfHwgYS5odm1tZW1f dHlwZSAhPQo+Pj4+Pj4gSFZNTUVNX3JhbV9ydykgKQo+Pj4+Pj4+ICsgICAgICAgICAgICAgICAg ICh0ICE9IHAybV9pb3JlcV9zZXJ2ZXIgfHwgYS5odm1tZW1fdHlwZSAhPQo+Pj4+Pj4gSFZNTUVN X3JhbV9ydykgKQo+Pj4+Pj4+ICAgICAgICAgICAgICB7Cj4+Pj4+Pj4gICAgICAgICAgICAgICAg ICBwdXRfZ2ZuKGQsIHBmbik7Cj4+Pj4+Pj4gICAgICAgICAgICAgICAgICBnb3RvIHNldG1lbXR5 cGVfZmFpbDsKPj4+Pj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYyBi L3hlbi9hcmNoL3g4Ni9tbS9wMm0tCj4+Pj4gZXB0LmMKPj4+Pj4+PiBpbmRleCAzY2I2ODY4Li4z ODBlYzI1IDEwMDY0NAo+Pj4+Pj4+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMKPj4+ Pj4+PiArKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCj4+Pj4+Pj4gQEAgLTE3MSw3ICsx NzEsNyBAQCBzdGF0aWMgdm9pZCBlcHRfcDJtX3R5cGVfdG9fZmxhZ3Moc3RydWN0Cj4+Pj4+PiBw Mm1fZG9tYWluICpwMm0sIGVwdF9lbnRyeV90ICplbnRyeSwKPj4+Pj4+PiAgICAgICAgICAgICAg ZW50cnktPmEgPSBlbnRyeS0+ZCA9ICEhY3B1X2hhc192bXhfZXB0X2FkOwo+Pj4+Pj4+ICAgICAg ICAgICAgICBicmVhazsKPj4+Pj4+PiAgICAgICAgICBjYXNlIHAybV9ncmFudF9tYXBfcm86Cj4+ Pj4+Pj4gLSAgICAgICAgY2FzZSBwMm1fbW1pb193cml0ZV9kbToKPj4+Pj4+PiArICAgICAgICBj YXNlIHAybV9pb3JlcV9zZXJ2ZXI6Cj4+Pj4+Pj4gICAgICAgICAgICAgIGVudHJ5LT5yID0gMTsK Pj4+Pj4+PiAgICAgICAgICAgICAgZW50cnktPncgPSBlbnRyeS0+eCA9IDA7Cj4+Pj4+Pj4gICAg ICAgICAgICAgIGVudHJ5LT5hID0gISFjcHVfaGFzX3ZteF9lcHRfYWQ7Cj4+Pj4+Pj4gZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQu Ywo+Pj4+Pj4+IGluZGV4IDNkODA2MTIuLmVhYmQyZTMgMTAwNjQ0Cj4+Pj4+Pj4gLS0tIGEveGVu L2FyY2gveDg2L21tL3AybS1wdC5jCj4+Pj4+Pj4gKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1w dC5jCj4+Pj4+Pj4gQEAgLTk0LDcgKzk0LDcgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcKPj4+PiBw Mm1fdHlwZV90b19mbGFncyhwMm1fdHlwZV90Cj4+Pj4+PiB0LCBtZm5fdCBtZm4sCj4+Pj4+Pj4g ICAgICBkZWZhdWx0Ogo+Pj4+Pj4+ICAgICAgICAgIHJldHVybiBmbGFncyB8IF9QQUdFX05YX0JJ VDsKPj4+Pj4+PiAgICAgIGNhc2UgcDJtX2dyYW50X21hcF9ybzoKPj4+Pj4+PiAtICAgIGNhc2Ug cDJtX21taW9fd3JpdGVfZG06Cj4+Pj4+Pj4gKyAgICBjYXNlIHAybV9pb3JlcV9zZXJ2ZXI6Cj4+ Pj4+Pj4gICAgICAgICAgcmV0dXJuIGZsYWdzIHwgUDJNX0JBU0VfRkxBR1MgfCBfUEFHRV9OWF9C SVQ7Cj4+Pj4+Pj4gICAgICBjYXNlIHAybV9yYW1fcm86Cj4+Pj4+Pj4gICAgICBjYXNlIHAybV9y YW1fbG9nZGlydHk6Cj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cv bXVsdGkuYwo+Pj4+Pj4gYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMKPj4+Pj4+PiBp bmRleCBlNWM4NDk5Li5jODEzMDJhIDEwMDY0NAo+Pj4+Pj4+IC0tLSBhL3hlbi9hcmNoL3g4Ni9t bS9zaGFkb3cvbXVsdGkuYwo+Pj4+Pj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVs dGkuYwo+Pj4+Pj4+IEBAIC0zMjI1LDcgKzMyMjUsNyBAQCBzdGF0aWMgaW50IHNoX3BhZ2VfZmF1 bHQoc3RydWN0IHZjcHUgKnYsCj4+Pj4+Pj4KPj4+Pj4+PiAgICAgIC8qIE5lZWQgdG8gaGFuZCBv ZmYgZGV2aWNlLW1vZGVsIE1NSU8gdG8gdGhlIGRldmljZSBtb2RlbCAqLwo+Pj4+Pj4+ICAgICAg aWYgKCBwMm10ID09IHAybV9tbWlvX2RtCj4+Pj4+Pj4gLSAgICAgICAgIHx8IChwMm10ID09IHAy bV9tbWlvX3dyaXRlX2RtICYmIGZ0ID09IGZ0X2RlbWFuZF93cml0ZSkgKQo+Pj4+Pj4+ICsgICAg ICAgICB8fCAocDJtdCA9PSBwMm1faW9yZXFfc2VydmVyICYmIGZ0ID09IGZ0X2RlbWFuZF93cml0 ZSkgKQo+Pj4+Pj4+ICAgICAgewo+Pj4+Pj4+ICAgICAgICAgIGdwYSA9IGd1ZXN0X3dhbGtfdG9f Z3BhKCZndyk7Cj4+Pj4+Pj4gICAgICAgICAgZ290byBtbWlvOwo+Pj4+Pj4+IGRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAo+ Pj4+Pj4+IGluZGV4IDUzOTJlYjAuLmVlMmVhOWMgMTAwNjQ0Cj4+Pj4+Pj4gLS0tIGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wMm0uaAo+Pj4+Pj4+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJt LmgKPj4+Pj4+PiBAQCAtNzEsNyArNzEsNyBAQCB0eXBlZGVmIGVudW0gewo+Pj4+Pj4+ICAgICAg cDJtX3JhbV9zaGFyZWQgPSAxMiwgICAgICAgICAgLyogU2hhcmVkIG9yIHNoYXJhYmxlIG1lbW9y eSAqLwo+Pj4+Pj4+ICAgICAgcDJtX3JhbV9icm9rZW4gPSAxMywgICAgICAgICAgLyogQnJva2Vu IHBhZ2UsIGFjY2VzcyBjYXVzZQo+Pj4+Pj4+IGRvbWFpbgo+Pj4+IGNyYXNoCj4+Pj4+PiAqLwo+ Pj4+Pj4+ICAgICAgcDJtX21hcF9mb3JlaWduICA9IDE0LCAgICAgICAgLyogcmFtIHBhZ2VzIGZy b20gZm9yZWlnbgo+Pj4+Pj4+IGRvbWFpbiAqLwo+Pj4+Pj4+IC0gICAgcDJtX21taW9fd3JpdGVf ZG0gPSAxNSwgICAgICAgLyogUmVhZC1vbmx5OyB3cml0ZXMgZ28gdG8gdGhlCj4+Pj4+Pj4gZGV2 aWNlCj4+Pj4+PiBtb2RlbCAqLwo+Pj4+Pj4+ICsgICAgcDJtX2lvcmVxX3NlcnZlciA9IDE1LAo+ Pj4+Pj4+ICB9IHAybV90eXBlX3Q7Cj4+Pj4+Pj4KPj4+Pj4+PiAgLyogTW9kaWZpZXJzIHRvIHRo ZSBxdWVyeSAqLwo+Pj4+Pj4+IEBAIC0xMTIsNyArMTEyLDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBp bnQgcDJtX3F1ZXJ5X3Q7Cj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICB8IHAybV90b19t YXNrKHAybV9yYW1fcm8pICAgICAgICAgXAo+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAg fCBwMm1fdG9fbWFzayhwMm1fZ3JhbnRfbWFwX3JvKSAgIFwKPj4+Pj4+PiAgICAgICAgICAgICAg ICAgICAgICAgIHwgcDJtX3RvX21hc2socDJtX3JhbV9zaGFyZWQpICAgICBcCj4+Pj4+Pj4gLSAg ICAgICAgICAgICAgICAgICAgICB8IHAybV90b19tYXNrKHAybV9tbWlvX3dyaXRlX2RtKSkKPj4+ Pj4+PiArICAgICAgICAgICAgICAgICAgICAgIHwgcDJtX3RvX21hc2socDJtX2lvcmVxX3NlcnZl cikpCj4+Pj4+Pj4KPj4+Pj4+PiAgLyogV3JpdGUtZGlzY2FyZCB0eXBlcywgd2hpY2ggc2hvdWxk IGRpc2NhcmQgdGhlIHdyaXRlCj4+Pj4+Pj4gb3BlcmF0aW9ucyAqLwo+Pj4+Pj4+ICAjZGVmaW5l IFAyTV9ESVNDQVJEX1dSSVRFX1RZUEVTIChwMm1fdG9fbWFzayhwMm1fcmFtX3JvKSAgICAgXAo+ Pj4+Pj4+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2h2bV9vcC5oCj4+Pj4+ PiBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmgKPj4+Pj4+PiBpbmRleCAxNjA2MTg1 Li5iM2U0NWNmIDEwMDY0NAo+Pj4+Pj4+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZt X29wLmgKPj4+Pj4+PiArKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2h2bV9vcC5oCj4+Pj4+ Pj4gQEAgLTgzLDcgKzgzLDEzIEBAIHR5cGVkZWYgZW51bSB7Cj4+Pj4+Pj4gICAgICBIVk1NRU1f cmFtX3J3LCAgICAgICAgICAgICAvKiBOb3JtYWwgcmVhZC93cml0ZSBndWVzdCBSQU0gKi8KPj4+ Pj4+PiAgICAgIEhWTU1FTV9yYW1fcm8sICAgICAgICAgICAgIC8qIFJlYWQtb25seTsgd3JpdGVz IGFyZQo+Pj4+Pj4+IGRpc2NhcmRlZCAqLwo+Pj4+Pj4+ICAgICAgSFZNTUVNX21taW9fZG0sICAg ICAgICAgICAgLyogUmVhZHMgYW5kIHdyaXRlIGdvIHRvIHRoZSBkZXZpY2UKPj4+PiBtb2RlbAo+ Pj4+Pj4gKi8KPj4+Pj4+PiAtICAgIEhWTU1FTV9tbWlvX3dyaXRlX2RtICAgICAgIC8qIFJlYWQt b25seTsgd3JpdGVzIGdvIHRvIHRoZQo+Pj4+Pj4+IGRldmljZQo+Pj4+Pj4gbW9kZWwgKi8KPj4+ Pj4+PiArI2lmIF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX18gPCAweDAwMDQwNzAwCj4+Pj4+Pj4g KyAgICBIVk1NRU1fbW1pb193cml0ZV9kbSwgICAgICAvKiBSZWFkLW9ubHk7IHdyaXRlcyBnbyB0 byB0aGUKPj4+Pj4+PiBkZXZpY2UKPj4+Pj4+IG1vZGVsICovCj4+Pj4+Pj4gKyNlbHNlCj4+Pj4+ Pj4gKyAgICBIVk1NRU1fdW51c2VkLCAgICAgICAgICAgICAvKiBQbGFjZWhvbGRlcjsgc2V0dGlu ZyBtZW1vcnkgdG8KPj4+Pj4+PiB0aGlzCj4+Pj4gdHlwZQo+Pj4+Pj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgd2lsbCBmYWlsIGZvciBjb2RlIGFmdGVyIDQuNy4wICovCj4+ Pj4+Pj4gKyNlbmRpZgo+Pj4+Pj4+ICsgICAgSFZNTUVNX2lvcmVxX3NlcnZlcgo+Pj4+Pj4KPj4+ Pj4+IEFsc28sIEkgZG9uJ3QgdGhpbmsgd2UndmUgaGFkIGEgY29udmluY2luZyBhcmd1bWVudCBm b3Igd2h5IHRoaXMKPj4+Pj4+IHBhdGNoCj4+Pj4+PiBuZWVkcyB0byBiZSBpbiA0LjcuICBUaGUg cDJtIG5hbWUgY2hhbmdlcyBhcmUgaW50ZXJuYWwgb25seSwgYW5kIHNvCj4+Pj4+PiBkb24ndCBu ZWVkIHRvIGJlIG1hZGUgYXQgYWxsOyBhbmQgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IHdpbGwgd29y ayBhcwo+Pj4+Pj4gd2VsbCBhcyBpdCBldmVyIGRpZC4gIEZ1cnRoZXJtb3JlLCB0aGUgd2hvbGUg cmVhc29uIHdlJ3JlIGluIHRoaXMKPj4+Pj4+IHNpdHVhdGlvbiBpcyB0aGF0IHdlIGNoZWNrZWQg aW4gYSBwdWJsaWNseS12aXNpYmxlIGNoYW5nZSB0byB0aGUKPj4+Pj4+IGludGVyZmFjZSBiZWZv cmUgaXQgd2FzIHByb3Blcmx5IHJlYWR5OyBJIHRoaW5rIHdlIHNob3VsZCBhdm9pZAo+Pj4+Pj4g bWFraW5nCj4+Pj4+PiB0aGUgc2FtZSBtaXN0YWtlIHRoaXMgdGltZS4KPj4+Pj4+Cj4+Pj4+PiBT byBwZXJzb25hbGx5IEknZCBqdXN0IGxlYXZlIHRoaXMgcGF0Y2ggZW50aXJlbHkgZm9yIDQuODsg YnV0IGlmIFBhdWwKPj4+Pj4+IGFuZC9vciBKYW4gaGF2ZSBzdHJvbmcgb3BpbmlvbnMsIHRoZW4g SSB3b3VsZCBzYXkgY2hlY2sgaW4gb25seSBhCj4+Pj4+PiBwYXRjaCB0byBkbyB0aGUgI2lmLyNl bHNlLyNlbmRpZiwgYW5kIGxlYXZlIGJvdGggdGhlIHAybSB0eXBlIGNoYW5nZXMKPj4+Pj4+IGFu ZCB0aGUgbmV3IEhWTU1FTV9pb3JlcV9zZXJ2ZXIgZW51bSBmb3Igd2hlbiB0aGUgNC44Cj4+Pj4g ZGV2ZWxvcG1lbnQKPj4+Pj4+IHdpbmRvdyBvcGVucy4KPj4+Pj4+Cj4+Pj4+Cj4+Pj4+IElmIHRo ZSB3aG9sZSBzZXJpZXMgaXMgZ29pbmcgaW4gdGhlbiBJIHRoaW5rIHRoaXMgcGF0Y2ggaXMgb2su IElmCj4+Pj4+IHRoaXMgdGhlCj4+PiBvbmx5Cj4+Pj4gcGF0Y2ggdGhhdCBpcyBnb2luZyBpbiBm b3IgNC43IHRoZW4gSSB0aGluZyB3ZSBuZWVkIHRoZSBwYXRjaCB0bwo+Pj4+IGh2bV9vcC5oIHRv Cj4+Pj4gZGVwcmVjYXRlIHRoZSBvbGQgdHlwZSBhbmQgdGhhdCdzIGl0LiBXZSBkZWZpbml0ZWx5 IHNob3VsZCBub3QKPj4+PiBpbnRyb2R1Y2UgYW4KPj4+PiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUg dHlwZSBIVk1NRU1faW9yZXFfc2VydmVyIHRoYXQgaGFzIHRoZSBzYW1lCj4+Pj4gaGFyZGNvZGVk IHNlbWFudGljcyBhcyB0aGUgb2xkIHR5cGUgYW5kIHRoZW4gY2hhbmdlIGl0Lgo+Pj4+PiBUaGUg cDJtIHR5cGUgY2hhbmdlcyBhcmUgYWxzbyB3cm9uZy4gVGhhdCB0eXBlIG5lZWRzIHRvIGJlIGxl ZnQgYWxvbmUsCj4+Pj4gcHJlc3VtYWJseSwgc28gdGhhdCBhbnl0aGluZyB1c2luZyBIVk1NRU1f bW1pb193cml0ZV9kbSBhbmQKPj4+PiBjb21waWxlZCB0byB0aGUgb2xkIGludGVyZmFjZSB2ZXJz aW9uIGNvbnRpbnVlcyB0byBmdW5jdGlvbi4gSSB0aGluawo+Pj4+IEhWTU1FTV9pb3JlcV9zZXJ2 ZXIgbmVlZHMgdG8gbWFwIHRvIGEgbmV3IHAybSB0eXBlIHdoaWNoIHNob3VsZCBiZQo+Pj4+IGlu dHJvZHVjZWQgaW4gcGF0Y2ggIzMuCj4+Pj4+Cj4+Pj4KPj4+PiBTb3JyeSwgSSdtIGFsc28gY29u ZnVzZWQgbm93LiA6KAo+Pj4+Cj4+Pj4gRG8gd2UgcmVhbGx5IHdhbnQgdG8gaW50cm9kdWNlIGEg bmV3IHAybSB0eXBlPyBXaHk/Cj4+Pj4gTXkgdW5kZXJzdGFuZGluZyBvZiB0aGUgcHJldmlvdXMg YWdyZWVtZW50IGlzIHRoYXQ6Cj4+Pj4gMT4gV2UgbmVlZCB0aGUgaW50ZXJmYWNlIHRvIHdvcmsg b24gb2xkIGh5cGVydmlzb3IgZm9yCj4+Pj4gSFZNTUVNX21taW9fd3JpdGVfZG07Cj4+Pj4gMj4g V2UgbmVlZCB0aGUgaW50ZXJmYWNlIHRvIHJldHVybiAtRUlOVkFMIGZvciBuZXcgaHlwZXJ2aXNv cgo+Pj4+IGZvciBIVk1NRU1fbW1pb193cml0ZV9kbTsKPj4+PiAzPiBXZSBuZWVkIHRoZSBuZXcg dHlwZSBIVk1NRU1faW9yZXFfc2VydmVyIHRvIHdvcmsgb24gbmV3Cj4+Pj4gaHlwZXJ2aXNvcjsK Pj4+Pgo+Pj4+IERpZCBJIG1pc3Mgc29tZXRoaW5nPyBPciBJIHRvdGFsbHkgbWlzdW5kZXJzdG9v ZD8KPj4+Pgo+Pj4KPj4+IEkgZG9uJ3Qga25vdy4gSSdtIGNvbmZ1c2VkIHRvby4gV2hhdCB3ZSBk ZWZpbml0ZWx5IGRvbid0IHdhbnQgdG8gZG8KPj4+IGlzIGFkZCBhCj4+PiBuZXcgSFZNTUVNIHR5 cGUgYW5kIGhhdmUgaXQgbWFwIHRvIHRoZSBvbGQgYmVoYXZpb3VyLCBvdGhlcndpc2Ugd2UncmUg bm8KPj4+IGJldHRlciBvZmYuCj4+Pgo+Pj4gVGhlIHF1ZXN0aW9uIEknbSBub3QgY2xlYXIgb24g dGhlIGFuc3dlciB0byBpcyB3aGF0IGhhcHBlbnMgdG8gb2xkIGNvZGU6Cj4+Pgo+Pj4gU2hvdWxk IGl0IGNvbnRpbnVlIHRvIGNvbXBpbGU/IElmIHNvLCBzaG91bGQgaXQgY29udGludWUgdG8gcnVu Lgo+Pgo+PiBXZSBvbmx5IG5lZWQgdG8gYmUgY29uY2VybmVkIGFib3V0IHRoZSAiZ2V0IHR5cGUi IGZ1bmN0aW9uYWxpdHksCj4+IGFzIHRoYXQncyB0aGUgb25seSB0aGluZyBhbiBhcmJpdHJhcnkg Z3Vlc3QgY2FuIHVzZS4gSWYgdGhlCj4+IGh5cGVyY2FsbCBzaW1wbHkgbmV2ZXIgcmV0dXJucyB0 aGUgb2xkIHR5cGUsIHRoZW4gb2xkIGNvZGUgd2lsbAo+PiBzdGlsbCB3b3JrIChpdCdsbCBqdXN0 IGhhdmUgc29tZSBkZWFkIGNvZGUgb24gbmV3IFhlbiksIGFuZCBoZW5jZQo+PiBpdCBjb21waWxp bmcgYWdhaW5zdCB0aGUgb2xkZXIgaW50ZXJmYWNlIGlzIGZpbmUgKGFuZCwgZnJvbSBnZW5lcmFs Cj4+IGNvbnNpZGVyYXRpb25zLCBhIHJlcXVpcmVtZW50KS4KPj4KPiAKPiBUaGFua3MgSmFuLiBB bmQgSSB0aGluayB0aGUgYW5zd2VyIGlzIHllcy4gVGhlIG5ldyBoeXBlcnZpc29yIHdpbGwKPiBv bmx5IHJldHVybiBIVk1NRU1faW9yZXFfc2VydmVyLCB3aGljaCBpcyBhIGRpZmZlcmVudCB2YWx1 ZSBub3cuCgpSaWdodCAtLSBidXQgd2UgY2FuJ3QgY2hlY2sgaW4gdGhpcyBlbnRpcmUgc2VyaWVz IGZvciA0Ljc7IGhvd2V2ZXIsIFBhdWwKd291bGQgbGlrZSB0byBtYWtlIGl0IGNsZWFyIHRoYXQg SFZNTUVNX21taW9fd3JpdGVfZG0gaXMgZGVwcmVjYXRlZDsgc28Kd2UgbmVlZCBhIHBhdGNoIHdo aWNoIGRvZXMgdGhlICNpZmRlZi8jZWxzZS8jZW5kaWYgY2xhdXNlLCBhbmQgdGhlbgpldmVyeXRo aW5nIGVsc2UgbmVjZXNzYXJ5IHRvIG1ha2Ugc3VyZSB0aGF0IHRoaW5ncyBjb21waWxlIHByb3Bl cmx5CmVpdGhlciB3YXksIGJ1dCBubyBwMm0gY2hhbmdlcyBvciBhZGRpdGlvbmFsIGZ1bmN0aW9u YWxpdHkuCgogLUdlb3JnZQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK