From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Yu, Zhang" Subject: Re: [PATCH v3 1/3] x86/ioreq server(patch for 4.7): Rename p2m_mmio_write_dm to p2m_ioreq_server. Date: Tue, 26 Apr 2016 00:20:22 +0800 Message-ID: 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> <571E42A7.9080503@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <571E42A7.9080503@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: George Dunlap , 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 CgpPbiA0LzI2LzIwMTYgMTI6MTUgQU0sIEdlb3JnZSBEdW5sYXAgd3JvdGU6Cj4gT24gMjUvMDQv MTYgMTY6NTMsIFl1LCBaaGFuZyB3cm90ZToKPj4KPj4KPj4gT24gNC8yNS8yMDE2IDExOjM4IFBN LCBKYW4gQmV1bGljaCB3cm90ZToKPj4+Pj4+IE9uIDI1LjA0LjE2IGF0IDE3OjI5LCA8UGF1bC5E dXJyYW50QGNpdHJpeC5jb20+IHdyb3RlOgo+Pj4+PiAgLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0KPj4+Pj4gRnJvbTogWXUsIFpoYW5nIFttYWlsdG86eXUuYy56aGFuZ0BsaW51eC5pbnRlbC5j b21dCj4+Pj4+IFNlbnQ6IDI1IEFwcmlsIDIwMTYgMTY6MjIKPj4+Pj4gVG86IFBhdWwgRHVycmFu dDsgR2VvcmdlIER1bmxhcAo+Pj4+PiBDYzogeGVuLWRldmVsQGxpc3RzLnhlbi5vcmc7IEtldmlu IFRpYW47IEtlaXIgKFhlbi5vcmcpOyBKdW4gTmFrYWppbWE7Cj4+Pj4+IEFuZHJldyBDb29wZXI7 IFRpbSAoWGVuLm9yZyk7IEx2LCBaaGl5dWFuOyBKYW4gQmV1bGljaDsgV2VpIExpdQo+Pj4+PiBT dWJqZWN0OiBSZTogW1hlbi1kZXZlbF0gW1BBVENIIHYzIDEvM10geDg2L2lvcmVxIHNlcnZlcihw YXRjaCBmb3IKPj4+Pj4gNC43KToKPj4+Pj4gUmVuYW1lIHAybV9tbWlvX3dyaXRlX2RtIHRvIHAy bV9pb3JlcV9zZXJ2ZXIuCj4+Pj4+Cj4+Pj4+Cj4+Pj4+Cj4+Pj4+IE9uIDQvMjUvMjAxNiAxMDow MSBQTSwgUGF1bCBEdXJyYW50IHdyb3RlOgo+Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tCj4+Pj4+Pj4gRnJvbTogZHVubGFwZ0BnbWFpbC5jb20gW21haWx0bzpkdW5sYXBnQGdtYWls LmNvbV0gT24gQmVoYWxmIE9mCj4+Pj4+Pj4gR2VvcmdlIER1bmxhcAo+Pj4+Pj4+IFNlbnQ6IDI1 IEFwcmlsIDIwMTYgMTQ6MzkKPj4+Pj4+PiBUbzogWXUgWmhhbmcKPj4+Pj4+PiBDYzogeGVuLWRl dmVsQGxpc3RzLnhlbi5vcmc7IEtldmluIFRpYW47IEtlaXIgKFhlbi5vcmcpOyBKdW4KPj4+Pj4+ PiBOYWthamltYTsKPj4+Pj4+PiBBbmRyZXcgQ29vcGVyOyBUaW0gKFhlbi5vcmcpOyBQYXVsIER1 cnJhbnQ7IEx2LCBaaGl5dWFuOyBKYW4KPj4+Pj4+PiBCZXVsaWNoOyBXZWkKPj4+Pj4gTGl1Cj4+ Pj4+Pj4gU3ViamVjdDogUmU6IFtYZW4tZGV2ZWxdIFtQQVRDSCB2MyAxLzNdIHg4Ni9pb3JlcSBz ZXJ2ZXIocGF0Y2ggZm9yCj4+Pj4+Pj4gNC43KToKPj4+Pj4+PiBSZW5hbWUgcDJtX21taW9fd3Jp dGVfZG0gdG8gcDJtX2lvcmVxX3NlcnZlci4KPj4+Pj4+Pgo+Pj4+Pj4+IE9uIE1vbiwgQXByIDI1 LCAyMDE2IGF0IDExOjM1IEFNLCBZdSBaaGFuZwo+Pj4+PiA8eXUuYy56aGFuZ0BsaW51eC5pbnRl bC5jb20+Cj4+Pj4+Pj4gd3JvdGU6Cj4+Pj4+Pj4+IFByZXZpb3VzbHkgcDJtIHR5cGUgcDJtX21t aW9fd3JpdGVfZG0gd2FzIGludHJvZHVjZWQgZm9yIHdyaXRlLQo+Pj4+Pj4+PiBwcm90ZWN0ZWQg bWVtb3J5IHBhZ2VzIHdob3NlIHdyaXRlIG9wZXJhdGlvbnMgYXJlIHN1cHBvc2VkIHRvIGJlCj4+ Pj4+Pj4+IGZvcndhcmRlZCB0byBhbmQgZW11bGF0ZWQgYnkgYW4gaW9yZXEgc2VydmVyLiBZZXQg bGltaXRhdGlvbnMgb2YKPj4+Pj4+Pj4gcmFuZ2VzZXQgcmVzdHJpY3QgdGhlIG51bWJlciBvZiBn dWVzdCBwYWdlcyB0byBiZSB3cml0ZS1wcm90ZWN0ZWQuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFRoaXMg cGF0Y2ggcmVwbGFjZXMgdGhlIHAybSB0eXBlIHAybV9tbWlvX3dyaXRlX2RtIHdpdGggYSBuZXcK Pj4+Pj4gbmFtZToKPj4+Pj4+Pj4gcDJtX2lvcmVxX3NlcnZlciwgd2hpY2ggbWVhbnMgdGhpcyBw Mm0gdHlwZSBjYW4gYmUgY2xhaW1lZCBieSBvbmUKPj4+Pj4+Pj4gaW9yZXEgc2VydmVyLCBpbnN0 ZWFkIG9mIGJlaW5nIHRyYWNrZWQgaW5zaWRlIHRoZSByYW5nZXNldCBvZiBpb3JlcQo+Pj4+Pj4+ PiBzZXJ2ZXIuIFBhdGNoZXMgZm9sbG93aW5nIHVwIHdpbGwgYWRkIHRoZSByZWxhdGVkIGh2bW9w IGhhbmRsaW5nCj4+Pj4+Pj4+IGNvZGUgd2hpY2ggbWFwL3VubWFwIHR5cGUgcDJtX2lvcmVxX3Nl cnZlciB0by9mcm9tIGFuIGlvcmVxCj4+Pj4+IHNlcnZlci4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gY2hh bmdlcyBpbiB2MzoKPj4+Pj4+Pj4gICAtIEFjY29yZGluZyB0byBKYW4gJiBHZW9yZ2UncyBjb21t ZW50cywga2VlcAo+Pj4+Pj4+IEhWTU1FTV9tbWlvX3dyaXRlX2RtCj4+Pj4+Pj4+ICAgICBmb3Ig b2xkIHhlbiBpbnRlcmZhY2UgdmVyc2lvbnMsIGFuZCByZXBsYWNlIGl0IHdpdGgKPj4+Pj4+Pj4g SFZNTUVNX3VudXNlZAo+Pj4+Pj4+PiAgICAgZm9yIHhlbiBpbnRlcmZhY2VzIG5ld2VyIHRoYW4g NC43LjA7IEZvciBwMm1faW9yZXFfc2VydmVyLCBhIG5ldwo+Pj4+Pj4+PiAgICAgZW51bSAtIEhW TU1FTV9pb3JlcV9zZXJ2ZXIgaXMgaW50cm9kdWNlZCBmb3IgdGhlIGdldC9zZXQgbWVtCj4+Pj4+ IHR5cGUKPj4+Pj4+Pj4gICAgIGludGVyZmFjZXM7Cj4+Pj4+Pj4+ICAgLSBBZGQgR2VvcmdlJ3Mg UmV2aWV3ZWQtYnkgYW5kIEFja2VkLWJ5IGZyb20gVGltICYgQW5kcmV3Lgo+Pj4+Pj4+Cj4+Pj4+ Pj4gVW5mb3J0dW5hdGVseSB0aGVzZSByYXRoZXIgY29udHJhZGljdCBlYWNoIG90aGVyIC0tIEkg Y29uc2lkZXIKPj4+Pj4+PiBSZXZpZXdlZC1ieSB0byBvbmx5IHN0aWNrIGlmIHRoZSBjb2RlIEkn dmUgc3BlY2lmaWVkIGhhc24ndCBjaGFuZ2VkCj4+Pj4+Pj4gKG9yIGhhcyBvbmx5IGNoYW5nZWQg dHJpdmlhbGx5KS4KPj4+Pj4+Pgo+Pj4+Pj4+IEFsc28uLi4KPj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+ Pj4+PiBjaGFuZ2VzIGluIHYyOgo+Pj4+Pj4+PiAgIC0gQWNjb3JkaW5nIHRvIEdlb3JnZSBEdW5s YXAncyBjb21tZW50cywgb25seSByZW5hbWUgdGhlIHAybSB0eXBlLAo+Pj4+Pj4+PiAgICAgd2l0 aCBubyBiZWhhdmlvciBjaGFuZ2VzLgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBQ YXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgo+Pj4+Pj4+PiBTaWduZWQtb2Zm LWJ5OiBZdSBaaGFuZyA8eXUuYy56aGFuZ0BsaW51eC5pbnRlbC5jb20+Cj4+Pj4+Pj4+IEFja2Vk LWJ5OiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KPj4+Pj4+Pj4gQWNrZWQtYnk6IEFuZHJldyBD b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Cj4+Pj4+Pj4+IFJldmlld2VkLWJ5OiBH ZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Cj4+Pj4+Pj4+IENjOiBLZWly IEZyYXNlciA8a2VpckB4ZW4ub3JnPgo+Pj4+Pj4+PiBDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNo QHN1c2UuY29tPgo+Pj4+Pj4+PiBDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0 cml4LmNvbT4KPj4+Pj4+Pj4gQ2M6IEp1biBOYWthamltYSA8anVuLm5ha2FqaW1hQGludGVsLmNv bT4KPj4+Pj4+Pj4gQ2M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgo+Pj4+Pj4+ PiBDYzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgo+Pj4+Pj4+ PiBDYzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+Cj4+Pj4+Pj4+IC0tLQo+Pj4+Pj4+PiAgeGVu L2FyY2gveDg2L2h2bS9odm0uYyAgICAgICAgICB8IDE0ICsrKysrKysrLS0tLS0tCj4+Pj4+Pj4+ ICB4ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jICAgICAgIHwgIDIgKy0KPj4+Pj4+Pj4gIHhlbi9h cmNoL3g4Ni9tbS9wMm0tcHQuYyAgICAgICAgfCAgMiArLQo+Pj4+Pj4+PiAgeGVuL2FyY2gveDg2 L21tL3NoYWRvdy9tdWx0aS5jICB8ICAyICstCj4+Pj4+Pj4+ICB4ZW4vaW5jbHVkZS9hc20teDg2 L3AybS5oICAgICAgIHwgIDQgKystLQo+Pj4+Pj4+PiAgeGVuL2luY2x1ZGUvcHVibGljL2h2bS9o dm1fb3AuaCB8ICA4ICsrKysrKystCj4+Pj4+Pj4+ICA2IGZpbGVzIGNoYW5nZWQsIDIwIGluc2Vy dGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKPj4+Pj4+Pj4g aW5kZXggZjI0MTI2ZC4uODc0Y2IwZiAxMDA2NDQKPj4+Pj4+Pj4gLS0tIGEveGVuL2FyY2gveDg2 L2h2bS9odm0uYwo+Pj4+Pj4+PiArKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCj4+Pj4+Pj4+ IEBAIC0xODU3LDcgKzE4NTcsNyBAQCBpbnQgaHZtX2hhcF9uZXN0ZWRfcGFnZV9mYXVsdChwYWRk cl90IGdwYSwKPj4+Pj4+PiB1bnNpZ25lZCBsb25nIGdsYSwKPj4+Pj4+Pj4gICAgICAgKi8KPj4+ Pj4+Pj4gICAgICBpZiAoIChwMm10ID09IHAybV9tbWlvX2RtKSB8fAo+Pj4+Pj4+PiAgICAgICAg ICAgKG5wZmVjLndyaXRlX2FjY2VzcyAmJgo+Pj4+Pj4+PiAtICAgICAgICAgIChwMm1faXNfZGlz Y2FyZF93cml0ZShwMm10KSB8fCAocDJtdCA9PQo+Pj4+PiBwMm1fbW1pb193cml0ZV9kbSkpKSAp Cj4+Pj4+Pj4+ICsgICAgICAgICAgKHAybV9pc19kaXNjYXJkX3dyaXRlKHAybXQpIHx8IChwMm10 ID09Cj4+Pj4+Pj4+IHAybV9pb3JlcV9zZXJ2ZXIpKSkgKQo+Pj4+Pj4+PiAgICAgIHsKPj4+Pj4+ Pj4gICAgICAgICAgX19wdXRfZ2ZuKHAybSwgZ2ZuKTsKPj4+Pj4+Pj4gICAgICAgICAgaWYgKCBh cDJtX2FjdGl2ZSApCj4+Pj4+Pj4+IEBAIC01NDk5LDggKzU0OTksOCBAQCBsb25nIGRvX2h2bV9v cCh1bnNpZ25lZCBsb25nIG9wLAo+Pj4+Pj4+IFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkg YXJnKQo+Pj4+Pj4+PiAgICAgICAgICAgICAgZ2V0X2dmbl9xdWVyeV91bmxvY2tlZChkLCBhLnBm biwgJnQpOwo+Pj4+Pj4+PiAgICAgICAgICAgICAgaWYgKCBwMm1faXNfbW1pbyh0KSApCj4+Pj4+ Pj4+ICAgICAgICAgICAgICAgICAgYS5tZW1fdHlwZSA9ICBIVk1NRU1fbW1pb19kbTsKPj4+Pj4+ Pj4gLSAgICAgICAgICAgIGVsc2UgaWYgKCB0ID09IHAybV9tbWlvX3dyaXRlX2RtICkKPj4+Pj4+ Pj4gLSAgICAgICAgICAgICAgICBhLm1lbV90eXBlID0gSFZNTUVNX21taW9fd3JpdGVfZG07Cj4+ Pj4+Pj4+ICsgICAgICAgICAgICBlbHNlIGlmICggdCA9PSBwMm1faW9yZXFfc2VydmVyICkKPj4+ Pj4+Pj4gKyAgICAgICAgICAgICAgICBhLm1lbV90eXBlID0gSFZNTUVNX2lvcmVxX3NlcnZlcjsK Pj4+Pj4+Pj4gICAgICAgICAgICAgIGVsc2UgaWYgKCBwMm1faXNfcmVhZG9ubHkodCkgKQo+Pj4+ Pj4+PiAgICAgICAgICAgICAgICAgIGEubWVtX3R5cGUgPSAgSFZNTUVNX3JhbV9ybzsKPj4+Pj4+ Pj4gICAgICAgICAgICAgIGVsc2UgaWYgKCBwMm1faXNfcmFtKHQpICkKPj4+Pj4+Pj4gQEAgLTU1 MzEsNyArNTUzMSw4IEBAIGxvbmcgZG9faHZtX29wKHVuc2lnbmVkIGxvbmcgb3AsCj4+Pj4+Pj4g WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCj4+Pj4+Pj4+ICAgICAgICAgICAgICBb SFZNTUVNX3JhbV9yd10gID0gcDJtX3JhbV9ydywKPj4+Pj4+Pj4gICAgICAgICAgICAgIFtIVk1N RU1fcmFtX3JvXSAgPSBwMm1fcmFtX3JvLAo+Pj4+Pj4+PiAgICAgICAgICAgICAgW0hWTU1FTV9t bWlvX2RtXSA9IHAybV9tbWlvX2RtLAo+Pj4+Pj4+PiAtICAgICAgICAgICAgW0hWTU1FTV9tbWlv X3dyaXRlX2RtXSA9IHAybV9tbWlvX3dyaXRlX2RtCj4+Pj4+Pj4+ICsgICAgICAgICAgICBbSFZN TUVNX3VudXNlZF0gPSBwMm1faW52YWxpZCwKPj4+Pj4+Pj4gKyAgICAgICAgICAgIFtIVk1NRU1f aW9yZXFfc2VydmVyXSA9IHAybV9pb3JlcV9zZXJ2ZXIKPj4+Pj4+Pj4gICAgICAgICAgfTsKPj4+ Pj4+Pj4KPj4+Pj4+Pj4gICAgICAgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJmEsIGFyZywgMSkg KQo+Pj4+Pj4+PiBAQCAtNTU1NSw3ICs1NTU2LDggQEAgbG9uZyBkb19odm1fb3AodW5zaWduZWQg bG9uZyBvcCwKPj4+Pj4+PiBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKPj4+Pj4+ Pj4gICAgICAgICAgICAgICAoKGEuZmlyc3RfcGZuICsgYS5uciAtIDEpID4KPj4+Pj4+Pj4gZG9t YWluX2dldF9tYXhpbXVtX2dwZm4oZCkpICkKPj4+Pj4+Pj4gICAgICAgICAgICAgIGdvdG8gc2V0 bWVtdHlwZV9mYWlsOwo+Pj4+Pj4+Pgo+Pj4+Pj4+PiAtICAgICAgICBpZiAoIGEuaHZtbWVtX3R5 cGUgPj0gQVJSQVlfU0laRShtZW10eXBlKSApCj4+Pj4+Pj4+ICsgICAgICAgIGlmICggYS5odm1t ZW1fdHlwZSA+PSBBUlJBWV9TSVpFKG1lbXR5cGUpIHx8Cj4+Pj4+Pj4+ICsgICAgICAgICAgICAg dW5saWtlbHkoYS5odm1tZW1fdHlwZSA9PSBIVk1NRU1fdW51c2VkKSApCj4+Pj4+Pj4+ICAgICAg ICAgICAgICBnb3RvIHNldG1lbXR5cGVfZmFpbDsKPj4+Pj4+Pj4KPj4+Pj4+Pj4gICAgICAgICAg d2hpbGUgKCBhLm5yID4gc3RhcnRfaXRlciApCj4+Pj4+Pj4+IEBAIC01NTc5LDcgKzU1ODEsNyBA QCBsb25nIGRvX2h2bV9vcCh1bnNpZ25lZCBsb25nIG9wLAo+Pj4+Pj4+IFhFTl9HVUVTVF9IQU5E TEVfUEFSQU0odm9pZCkgYXJnKQo+Pj4+Pj4+PiAgICAgICAgICAgICAgfQo+Pj4+Pj4+PiAgICAg ICAgICAgICAgaWYgKCAhcDJtX2lzX3JhbSh0KSAmJgo+Pj4+Pj4+PiAgICAgICAgICAgICAgICAg ICAoIXAybV9pc19ob2xlKHQpIHx8IGEuaHZtbWVtX3R5cGUgIT0KPj4+Pj4+Pj4gSFZNTUVNX21t aW9fZG0pCj4+Pj4+Pj4gJiYKPj4+Pj4+Pj4gLSAgICAgICAgICAgICAgICAgKHQgIT0gcDJtX21t aW9fd3JpdGVfZG0gfHwgYS5odm1tZW1fdHlwZSAhPQo+Pj4+Pj4+IEhWTU1FTV9yYW1fcncpICkK Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgKHQgIT0gcDJtX2lvcmVxX3NlcnZlciB8fCBhLmh2 bW1lbV90eXBlICE9Cj4+Pj4+Pj4gSFZNTUVNX3JhbV9ydykgKQo+Pj4+Pj4+PiAgICAgICAgICAg ICAgewo+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgIHB1dF9nZm4oZCwgcGZuKTsKPj4+Pj4+Pj4g ICAgICAgICAgICAgICAgICBnb3RvIHNldG1lbXR5cGVfZmFpbDsKPj4+Pj4+Pj4gZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLQo+Pj4+ PiBlcHQuYwo+Pj4+Pj4+PiBpbmRleCAzY2I2ODY4Li4zODBlYzI1IDEwMDY0NAo+Pj4+Pj4+PiAt LS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCj4+Pj4+Pj4+ICsrKyBiL3hlbi9hcmNoL3g4 Ni9tbS9wMm0tZXB0LmMKPj4+Pj4+Pj4gQEAgLTE3MSw3ICsxNzEsNyBAQCBzdGF0aWMgdm9pZCBl cHRfcDJtX3R5cGVfdG9fZmxhZ3Moc3RydWN0Cj4+Pj4+Pj4gcDJtX2RvbWFpbiAqcDJtLCBlcHRf ZW50cnlfdCAqZW50cnksCj4+Pj4+Pj4+ICAgICAgICAgICAgICBlbnRyeS0+YSA9IGVudHJ5LT5k ID0gISFjcHVfaGFzX3ZteF9lcHRfYWQ7Cj4+Pj4+Pj4+ICAgICAgICAgICAgICBicmVhazsKPj4+ Pj4+Pj4gICAgICAgICAgY2FzZSBwMm1fZ3JhbnRfbWFwX3JvOgo+Pj4+Pj4+PiAtICAgICAgICBj YXNlIHAybV9tbWlvX3dyaXRlX2RtOgo+Pj4+Pj4+PiArICAgICAgICBjYXNlIHAybV9pb3JlcV9z ZXJ2ZXI6Cj4+Pj4+Pj4+ICAgICAgICAgICAgICBlbnRyeS0+ciA9IDE7Cj4+Pj4+Pj4+ICAgICAg ICAgICAgICBlbnRyeS0+dyA9IGVudHJ5LT54ID0gMDsKPj4+Pj4+Pj4gICAgICAgICAgICAgIGVu dHJ5LT5hID0gISFjcHVfaGFzX3ZteF9lcHRfYWQ7Cj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvbW0vcDJtLXB0LmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKPj4+Pj4+Pj4g aW5kZXggM2Q4MDYxMi4uZWFiZDJlMyAxMDA2NDQKPj4+Pj4+Pj4gLS0tIGEveGVuL2FyY2gveDg2 L21tL3AybS1wdC5jCj4+Pj4+Pj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYwo+Pj4+ Pj4+PiBAQCAtOTQsNyArOTQsNyBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZwo+Pj4+PiBwMm1fdHlw ZV90b19mbGFncyhwMm1fdHlwZV90Cj4+Pj4+Pj4gdCwgbWZuX3QgbWZuLAo+Pj4+Pj4+PiAgICAg IGRlZmF1bHQ6Cj4+Pj4+Pj4+ICAgICAgICAgIHJldHVybiBmbGFncyB8IF9QQUdFX05YX0JJVDsK Pj4+Pj4+Pj4gICAgICBjYXNlIHAybV9ncmFudF9tYXBfcm86Cj4+Pj4+Pj4+IC0gICAgY2FzZSBw Mm1fbW1pb193cml0ZV9kbToKPj4+Pj4+Pj4gKyAgICBjYXNlIHAybV9pb3JlcV9zZXJ2ZXI6Cj4+ Pj4+Pj4+ICAgICAgICAgIHJldHVybiBmbGFncyB8IFAyTV9CQVNFX0ZMQUdTIHwgX1BBR0VfTlhf QklUOwo+Pj4+Pj4+PiAgICAgIGNhc2UgcDJtX3JhbV9ybzoKPj4+Pj4+Pj4gICAgICBjYXNlIHAy bV9yYW1fbG9nZGlydHk6Cj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vc2hh ZG93L211bHRpLmMKPj4+Pj4+PiBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYwo+Pj4+ Pj4+PiBpbmRleCBlNWM4NDk5Li5jODEzMDJhIDEwMDY0NAo+Pj4+Pj4+PiAtLS0gYS94ZW4vYXJj aC94ODYvbW0vc2hhZG93L211bHRpLmMKPj4+Pj4+Pj4gKysrIGIveGVuL2FyY2gveDg2L21tL3No YWRvdy9tdWx0aS5jCj4+Pj4+Pj4+IEBAIC0zMjI1LDcgKzMyMjUsNyBAQCBzdGF0aWMgaW50IHNo X3BhZ2VfZmF1bHQoc3RydWN0IHZjcHUgKnYsCj4+Pj4+Pj4+Cj4+Pj4+Pj4+ICAgICAgLyogTmVl ZCB0byBoYW5kIG9mZiBkZXZpY2UtbW9kZWwgTU1JTyB0byB0aGUgZGV2aWNlIG1vZGVsICovCj4+ Pj4+Pj4+ICAgICAgaWYgKCBwMm10ID09IHAybV9tbWlvX2RtCj4+Pj4+Pj4+IC0gICAgICAgICB8 fCAocDJtdCA9PSBwMm1fbW1pb193cml0ZV9kbSAmJiBmdCA9PSBmdF9kZW1hbmRfd3JpdGUpICkK Pj4+Pj4+Pj4gKyAgICAgICAgIHx8IChwMm10ID09IHAybV9pb3JlcV9zZXJ2ZXIgJiYgZnQgPT0g ZnRfZGVtYW5kX3dyaXRlKSApCj4+Pj4+Pj4+ICAgICAgewo+Pj4+Pj4+PiAgICAgICAgICBncGEg PSBndWVzdF93YWxrX3RvX2dwYSgmZ3cpOwo+Pj4+Pj4+PiAgICAgICAgICBnb3RvIG1taW87Cj4+ Pj4+Pj4+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wMm0uaAo+Pj4+Pj4+PiBpbmRleCA1MzkyZWIwLi5lZTJlYTljIDEwMDY0NAo+ Pj4+Pj4+PiAtLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCj4+Pj4+Pj4+ICsrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKPj4+Pj4+Pj4gQEAgLTcxLDcgKzcxLDcgQEAgdHlwZWRl ZiBlbnVtIHsKPj4+Pj4+Pj4gICAgICBwMm1fcmFtX3NoYXJlZCA9IDEyLCAgICAgICAgICAvKiBT aGFyZWQgb3Igc2hhcmFibGUgbWVtb3J5ICovCj4+Pj4+Pj4+ICAgICAgcDJtX3JhbV9icm9rZW4g PSAxMywgICAgICAgICAgLyogQnJva2VuIHBhZ2UsIGFjY2VzcyBjYXVzZQo+Pj4+Pj4+PiBkb21h aW4KPj4+Pj4gY3Jhc2gKPj4+Pj4+PiAqLwo+Pj4+Pj4+PiAgICAgIHAybV9tYXBfZm9yZWlnbiAg PSAxNCwgICAgICAgIC8qIHJhbSBwYWdlcyBmcm9tIGZvcmVpZ24KPj4+Pj4+Pj4gZG9tYWluICov Cj4+Pj4+Pj4+IC0gICAgcDJtX21taW9fd3JpdGVfZG0gPSAxNSwgICAgICAgLyogUmVhZC1vbmx5 OyB3cml0ZXMgZ28gdG8gdGhlCj4+Pj4+Pj4+IGRldmljZQo+Pj4+Pj4+IG1vZGVsICovCj4+Pj4+ Pj4+ICsgICAgcDJtX2lvcmVxX3NlcnZlciA9IDE1LAo+Pj4+Pj4+PiAgfSBwMm1fdHlwZV90Owo+ Pj4+Pj4+Pgo+Pj4+Pj4+PiAgLyogTW9kaWZpZXJzIHRvIHRoZSBxdWVyeSAqLwo+Pj4+Pj4+PiBA QCAtMTEyLDcgKzExMiw3IEBAIHR5cGVkZWYgdW5zaWduZWQgaW50IHAybV9xdWVyeV90Owo+Pj4+ Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgIHwgcDJtX3RvX21hc2socDJtX3JhbV9ybykgICAg ICAgICBcCj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgfCBwMm1fdG9fbWFzayhwMm1f Z3JhbnRfbWFwX3JvKSAgIFwKPj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICB8IHAybV90 b19tYXNrKHAybV9yYW1fc2hhcmVkKSAgICAgXAo+Pj4+Pj4+PiAtICAgICAgICAgICAgICAgICAg ICAgIHwgcDJtX3RvX21hc2socDJtX21taW9fd3JpdGVfZG0pKQo+Pj4+Pj4+PiArICAgICAgICAg ICAgICAgICAgICAgIHwgcDJtX3RvX21hc2socDJtX2lvcmVxX3NlcnZlcikpCj4+Pj4+Pj4+Cj4+ Pj4+Pj4+ICAvKiBXcml0ZS1kaXNjYXJkIHR5cGVzLCB3aGljaCBzaG91bGQgZGlzY2FyZCB0aGUg d3JpdGUKPj4+Pj4+Pj4gb3BlcmF0aW9ucyAqLwo+Pj4+Pj4+PiAgI2RlZmluZSBQMk1fRElTQ0FS RF9XUklURV9UWVBFUyAocDJtX3RvX21hc2socDJtX3JhbV9ybykgICAgIFwKPj4+Pj4+Pj4gZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmgKPj4+Pj4+PiBiL3hlbi9p bmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmgKPj4+Pj4+Pj4gaW5kZXggMTYwNjE4NS4uYjNlNDVj ZiAxMDA2NDQKPj4+Pj4+Pj4gLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaAo+ Pj4+Pj4+PiArKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2h2bV9vcC5oCj4+Pj4+Pj4+IEBA IC04Myw3ICs4MywxMyBAQCB0eXBlZGVmIGVudW0gewo+Pj4+Pj4+PiAgICAgIEhWTU1FTV9yYW1f cncsICAgICAgICAgICAgIC8qIE5vcm1hbCByZWFkL3dyaXRlIGd1ZXN0IFJBTSAqLwo+Pj4+Pj4+ PiAgICAgIEhWTU1FTV9yYW1fcm8sICAgICAgICAgICAgIC8qIFJlYWQtb25seTsgd3JpdGVzIGFy ZQo+Pj4+Pj4+PiBkaXNjYXJkZWQgKi8KPj4+Pj4+Pj4gICAgICBIVk1NRU1fbW1pb19kbSwgICAg ICAgICAgICAvKiBSZWFkcyBhbmQgd3JpdGUgZ28gdG8gdGhlIGRldmljZQo+Pj4+PiBtb2RlbAo+ Pj4+Pj4+ICovCj4+Pj4+Pj4+IC0gICAgSFZNTUVNX21taW9fd3JpdGVfZG0gICAgICAgLyogUmVh ZC1vbmx5OyB3cml0ZXMgZ28gdG8gdGhlCj4+Pj4+Pj4+IGRldmljZQo+Pj4+Pj4+IG1vZGVsICov Cj4+Pj4+Pj4+ICsjaWYgX19YRU5fSU5URVJGQUNFX1ZFUlNJT05fXyA8IDB4MDAwNDA3MDAKPj4+ Pj4+Pj4gKyAgICBIVk1NRU1fbW1pb193cml0ZV9kbSwgICAgICAvKiBSZWFkLW9ubHk7IHdyaXRl cyBnbyB0byB0aGUKPj4+Pj4+Pj4gZGV2aWNlCj4+Pj4+Pj4gbW9kZWwgKi8KPj4+Pj4+Pj4gKyNl bHNlCj4+Pj4+Pj4+ICsgICAgSFZNTUVNX3VudXNlZCwgICAgICAgICAgICAgLyogUGxhY2Vob2xk ZXI7IHNldHRpbmcgbWVtb3J5IHRvCj4+Pj4+Pj4+IHRoaXMKPj4+Pj4gdHlwZQo+Pj4+Pj4+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGwgZmFpbCBmb3IgY29kZSBhZnRl ciA0LjcuMCAqLwo+Pj4+Pj4+PiArI2VuZGlmCj4+Pj4+Pj4+ICsgICAgSFZNTUVNX2lvcmVxX3Nl cnZlcgo+Pj4+Pj4+Cj4+Pj4+Pj4gQWxzbywgSSBkb24ndCB0aGluayB3ZSd2ZSBoYWQgYSBjb252 aW5jaW5nIGFyZ3VtZW50IGZvciB3aHkgdGhpcwo+Pj4+Pj4+IHBhdGNoCj4+Pj4+Pj4gbmVlZHMg dG8gYmUgaW4gNC43LiAgVGhlIHAybSBuYW1lIGNoYW5nZXMgYXJlIGludGVybmFsIG9ubHksIGFu ZCBzbwo+Pj4+Pj4+IGRvbid0IG5lZWQgdG8gYmUgbWFkZSBhdCBhbGw7IGFuZCB0aGUgb2xkIGZ1 bmN0aW9uYWxpdHkgd2lsbCB3b3JrIGFzCj4+Pj4+Pj4gd2VsbCBhcyBpdCBldmVyIGRpZC4gIEZ1 cnRoZXJtb3JlLCB0aGUgd2hvbGUgcmVhc29uIHdlJ3JlIGluIHRoaXMKPj4+Pj4+PiBzaXR1YXRp b24gaXMgdGhhdCB3ZSBjaGVja2VkIGluIGEgcHVibGljbHktdmlzaWJsZSBjaGFuZ2UgdG8gdGhl Cj4+Pj4+Pj4gaW50ZXJmYWNlIGJlZm9yZSBpdCB3YXMgcHJvcGVybHkgcmVhZHk7IEkgdGhpbmsg d2Ugc2hvdWxkIGF2b2lkCj4+Pj4+Pj4gbWFraW5nCj4+Pj4+Pj4gdGhlIHNhbWUgbWlzdGFrZSB0 aGlzIHRpbWUuCj4+Pj4+Pj4KPj4+Pj4+PiBTbyBwZXJzb25hbGx5IEknZCBqdXN0IGxlYXZlIHRo aXMgcGF0Y2ggZW50aXJlbHkgZm9yIDQuODsgYnV0IGlmIFBhdWwKPj4+Pj4+PiBhbmQvb3IgSmFu IGhhdmUgc3Ryb25nIG9waW5pb25zLCB0aGVuIEkgd291bGQgc2F5IGNoZWNrIGluIG9ubHkgYQo+ Pj4+Pj4+IHBhdGNoIHRvIGRvIHRoZSAjaWYvI2Vsc2UvI2VuZGlmLCBhbmQgbGVhdmUgYm90aCB0 aGUgcDJtIHR5cGUgY2hhbmdlcwo+Pj4+Pj4+IGFuZCB0aGUgbmV3IEhWTU1FTV9pb3JlcV9zZXJ2 ZXIgZW51bSBmb3Igd2hlbiB0aGUgNC44Cj4+Pj4+IGRldmVsb3BtZW50Cj4+Pj4+Pj4gd2luZG93 IG9wZW5zLgo+Pj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4gSWYgdGhlIHdob2xlIHNlcmllcyBpcyBnb2lu ZyBpbiB0aGVuIEkgdGhpbmsgdGhpcyBwYXRjaCBpcyBvay4gSWYKPj4+Pj4+IHRoaXMgdGhlCj4+ Pj4gb25seQo+Pj4+PiBwYXRjaCB0aGF0IGlzIGdvaW5nIGluIGZvciA0LjcgdGhlbiBJIHRoaW5n IHdlIG5lZWQgdGhlIHBhdGNoIHRvCj4+Pj4+IGh2bV9vcC5oIHRvCj4+Pj4+IGRlcHJlY2F0ZSB0 aGUgb2xkIHR5cGUgYW5kIHRoYXQncyBpdC4gV2UgZGVmaW5pdGVseSBzaG91bGQgbm90Cj4+Pj4+ IGludHJvZHVjZSBhbgo+Pj4+PiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdHlwZSBIVk1NRU1faW9y ZXFfc2VydmVyIHRoYXQgaGFzIHRoZSBzYW1lCj4+Pj4+IGhhcmRjb2RlZCBzZW1hbnRpY3MgYXMg dGhlIG9sZCB0eXBlIGFuZCB0aGVuIGNoYW5nZSBpdC4KPj4+Pj4+IFRoZSBwMm0gdHlwZSBjaGFu Z2VzIGFyZSBhbHNvIHdyb25nLiBUaGF0IHR5cGUgbmVlZHMgdG8gYmUgbGVmdCBhbG9uZSwKPj4+ Pj4gcHJlc3VtYWJseSwgc28gdGhhdCBhbnl0aGluZyB1c2luZyBIVk1NRU1fbW1pb193cml0ZV9k bSBhbmQKPj4+Pj4gY29tcGlsZWQgdG8gdGhlIG9sZCBpbnRlcmZhY2UgdmVyc2lvbiBjb250aW51 ZXMgdG8gZnVuY3Rpb24uIEkgdGhpbmsKPj4+Pj4gSFZNTUVNX2lvcmVxX3NlcnZlciBuZWVkcyB0 byBtYXAgdG8gYSBuZXcgcDJtIHR5cGUgd2hpY2ggc2hvdWxkIGJlCj4+Pj4+IGludHJvZHVjZWQg aW4gcGF0Y2ggIzMuCj4+Pj4+Pgo+Pj4+Pgo+Pj4+PiBTb3JyeSwgSSdtIGFsc28gY29uZnVzZWQg bm93LiA6KAo+Pj4+Pgo+Pj4+PiBEbyB3ZSByZWFsbHkgd2FudCB0byBpbnRyb2R1Y2UgYSBuZXcg cDJtIHR5cGU/IFdoeT8KPj4+Pj4gTXkgdW5kZXJzdGFuZGluZyBvZiB0aGUgcHJldmlvdXMgYWdy ZWVtZW50IGlzIHRoYXQ6Cj4+Pj4+IDE+IFdlIG5lZWQgdGhlIGludGVyZmFjZSB0byB3b3JrIG9u IG9sZCBoeXBlcnZpc29yIGZvcgo+Pj4+PiBIVk1NRU1fbW1pb193cml0ZV9kbTsKPj4+Pj4gMj4g V2UgbmVlZCB0aGUgaW50ZXJmYWNlIHRvIHJldHVybiAtRUlOVkFMIGZvciBuZXcgaHlwZXJ2aXNv cgo+Pj4+PiBmb3IgSFZNTUVNX21taW9fd3JpdGVfZG07Cj4+Pj4+IDM+IFdlIG5lZWQgdGhlIG5l dyB0eXBlIEhWTU1FTV9pb3JlcV9zZXJ2ZXIgdG8gd29yayBvbiBuZXcKPj4+Pj4gaHlwZXJ2aXNv cjsKPj4+Pj4KPj4+Pj4gRGlkIEkgbWlzcyBzb21ldGhpbmc/IE9yIEkgdG90YWxseSBtaXN1bmRl cnN0b29kPwo+Pj4+Pgo+Pj4+Cj4+Pj4gSSBkb24ndCBrbm93LiBJJ20gY29uZnVzZWQgdG9vLiBX aGF0IHdlIGRlZmluaXRlbHkgZG9uJ3Qgd2FudCB0byBkbwo+Pj4+IGlzIGFkZCBhCj4+Pj4gbmV3 IEhWTU1FTSB0eXBlIGFuZCBoYXZlIGl0IG1hcCB0byB0aGUgb2xkIGJlaGF2aW91ciwgb3RoZXJ3 aXNlIHdlJ3JlIG5vCj4+Pj4gYmV0dGVyIG9mZi4KPj4+Pgo+Pj4+IFRoZSBxdWVzdGlvbiBJJ20g bm90IGNsZWFyIG9uIHRoZSBhbnN3ZXIgdG8gaXMgd2hhdCBoYXBwZW5zIHRvIG9sZCBjb2RlOgo+ Pj4+Cj4+Pj4gU2hvdWxkIGl0IGNvbnRpbnVlIHRvIGNvbXBpbGU/IElmIHNvLCBzaG91bGQgaXQg Y29udGludWUgdG8gcnVuLgo+Pj4KPj4+IFdlIG9ubHkgbmVlZCB0byBiZSBjb25jZXJuZWQgYWJv dXQgdGhlICJnZXQgdHlwZSIgZnVuY3Rpb25hbGl0eSwKPj4+IGFzIHRoYXQncyB0aGUgb25seSB0 aGluZyBhbiBhcmJpdHJhcnkgZ3Vlc3QgY2FuIHVzZS4gSWYgdGhlCj4+PiBoeXBlcmNhbGwgc2lt cGx5IG5ldmVyIHJldHVybnMgdGhlIG9sZCB0eXBlLCB0aGVuIG9sZCBjb2RlIHdpbGwKPj4+IHN0 aWxsIHdvcmsgKGl0J2xsIGp1c3QgaGF2ZSBzb21lIGRlYWQgY29kZSBvbiBuZXcgWGVuKSwgYW5k IGhlbmNlCj4+PiBpdCBjb21waWxpbmcgYWdhaW5zdCB0aGUgb2xkZXIgaW50ZXJmYWNlIGlzIGZp bmUgKGFuZCwgZnJvbSBnZW5lcmFsCj4+PiBjb25zaWRlcmF0aW9ucywgYSByZXF1aXJlbWVudCku Cj4+Pgo+Pgo+PiBUaGFua3MgSmFuLiBBbmQgSSB0aGluayB0aGUgYW5zd2VyIGlzIHllcy4gVGhl IG5ldyBoeXBlcnZpc29yIHdpbGwKPj4gb25seSByZXR1cm4gSFZNTUVNX2lvcmVxX3NlcnZlciwg d2hpY2ggaXMgYSBkaWZmZXJlbnQgdmFsdWUgbm93Lgo+Cj4gUmlnaHQgLS0gYnV0IHdlIGNhbid0 IGNoZWNrIGluIHRoaXMgZW50aXJlIHNlcmllcyBmb3IgNC43OyBob3dldmVyLCBQYXVsCj4gd291 bGQgbGlrZSB0byBtYWtlIGl0IGNsZWFyIHRoYXQgSFZNTUVNX21taW9fd3JpdGVfZG0gaXMgZGVw cmVjYXRlZDsgc28KPiB3ZSBuZWVkIGEgcGF0Y2ggd2hpY2ggZG9lcyB0aGUgI2lmZGVmLyNlbHNl LyNlbmRpZiBjbGF1c2UsIGFuZCB0aGVuCj4gZXZlcnl0aGluZyBlbHNlIG5lY2Vzc2FyeSB0byBt YWtlIHN1cmUgdGhhdCB0aGluZ3MgY29tcGlsZSBwcm9wZXJseQo+IGVpdGhlciB3YXksIGJ1dCBu byBwMm0gY2hhbmdlcyBvciBhZGRpdGlvbmFsIGZ1bmN0aW9uYWxpdHkuCj4KClRoYW5rcywgR2Vv cmdlLgpTbyB3aGF0IGlzIGl0IGdvb2QgZm9yLCB3aXRoIG9ubHkgdGhlICNpZmRlZi8jZWxzLyNl bmRpZiBjbGF1c2U/IEl0CnNlZW1zIG1vcmUgcmVhc29uYWJsZSB0byBtZSB0aGF0IHdlIGhvbGQg YWxsIDMgcGF0Y2hlcyB0aWxsIG5leHQKdmVyc2lvbiwgYW5kIGF0IHRoYXQgdGltZSB0aGUgX19Y RU5fSU5URVJGQUNFX1ZFUlNJT05fXyBzaG91bGQgYmUKY29tcGFyZWQgYWdhaW5zdCAweDAwMDQw ODAwMCBpbiB0aGUgI2lmZGVmIEkgZ3Vlc3M/CgpZdQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK