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: Mon, 25 Apr 2016 23:53:15 +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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <571E563202000078000E5747@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich , George Dunlap , 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 CgpPbiA0LzI1LzIwMTYgMTE6MzggUE0sIEphbiBCZXVsaWNoIHdyb3RlOgo+Pj4+IE9uIDI1LjA0 LjE2IGF0IDE3OjI5LCA8UGF1bC5EdXJyYW50QGNpdHJpeC5jb20+IHdyb3RlOgo+Pj4gIC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+PiBGcm9tOiBZdSwgWmhhbmcgW21haWx0bzp5dS5jLnpo YW5nQGxpbnV4LmludGVsLmNvbV0KPj4+IFNlbnQ6IDI1IEFwcmlsIDIwMTYgMTY6MjIKPj4+IFRv OiBQYXVsIER1cnJhbnQ7IEdlb3JnZSBEdW5sYXAKPj4+IENjOiB4ZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZzsgS2V2aW4gVGlhbjsgS2VpciAoWGVuLm9yZyk7IEp1biBOYWthamltYTsKPj4+IEFuZHJl dyBDb29wZXI7IFRpbSAoWGVuLm9yZyk7IEx2LCBaaGl5dWFuOyBKYW4gQmV1bGljaDsgV2VpIExp dQo+Pj4gU3ViamVjdDogUmU6IFtYZW4tZGV2ZWxdIFtQQVRDSCB2MyAxLzNdIHg4Ni9pb3JlcSBz ZXJ2ZXIocGF0Y2ggZm9yIDQuNyk6Cj4+PiBSZW5hbWUgcDJtX21taW9fd3JpdGVfZG0gdG8gcDJt X2lvcmVxX3NlcnZlci4KPj4+Cj4+Pgo+Pj4KPj4+IE9uIDQvMjUvMjAxNiAxMDowMSBQTSwgUGF1 bCBEdXJyYW50IHdyb3RlOgo+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+Pj4+PiBG cm9tOiBkdW5sYXBnQGdtYWlsLmNvbSBbbWFpbHRvOmR1bmxhcGdAZ21haWwuY29tXSBPbiBCZWhh bGYgT2YKPj4+Pj4gR2VvcmdlIER1bmxhcAo+Pj4+PiBTZW50OiAyNSBBcHJpbCAyMDE2IDE0OjM5 Cj4+Pj4+IFRvOiBZdSBaaGFuZwo+Pj4+PiBDYzogeGVuLWRldmVsQGxpc3RzLnhlbi5vcmc7IEtl dmluIFRpYW47IEtlaXIgKFhlbi5vcmcpOyBKdW4gTmFrYWppbWE7Cj4+Pj4+IEFuZHJldyBDb29w ZXI7IFRpbSAoWGVuLm9yZyk7IFBhdWwgRHVycmFudDsgTHYsIFpoaXl1YW47IEphbiBCZXVsaWNo OyBXZWkKPj4+IExpdQo+Pj4+PiBTdWJqZWN0OiBSZTogW1hlbi1kZXZlbF0gW1BBVENIIHYzIDEv M10geDg2L2lvcmVxIHNlcnZlcihwYXRjaCBmb3IgNC43KToKPj4+Pj4gUmVuYW1lIHAybV9tbWlv X3dyaXRlX2RtIHRvIHAybV9pb3JlcV9zZXJ2ZXIuCj4+Pj4+Cj4+Pj4+IE9uIE1vbiwgQXByIDI1 LCAyMDE2IGF0IDExOjM1IEFNLCBZdSBaaGFuZwo+Pj4gPHl1LmMuemhhbmdAbGludXguaW50ZWwu Y29tPgo+Pj4+PiB3cm90ZToKPj4+Pj4+IFByZXZpb3VzbHkgcDJtIHR5cGUgcDJtX21taW9fd3Jp dGVfZG0gd2FzIGludHJvZHVjZWQgZm9yIHdyaXRlLQo+Pj4+Pj4gcHJvdGVjdGVkIG1lbW9yeSBw YWdlcyB3aG9zZSB3cml0ZSBvcGVyYXRpb25zIGFyZSBzdXBwb3NlZCB0byBiZQo+Pj4+Pj4gZm9y d2FyZGVkIHRvIGFuZCBlbXVsYXRlZCBieSBhbiBpb3JlcSBzZXJ2ZXIuIFlldCBsaW1pdGF0aW9u cyBvZgo+Pj4+Pj4gcmFuZ2VzZXQgcmVzdHJpY3QgdGhlIG51bWJlciBvZiBndWVzdCBwYWdlcyB0 byBiZSB3cml0ZS1wcm90ZWN0ZWQuCj4+Pj4+Pgo+Pj4+Pj4gVGhpcyBwYXRjaCByZXBsYWNlcyB0 aGUgcDJtIHR5cGUgcDJtX21taW9fd3JpdGVfZG0gd2l0aCBhIG5ldwo+Pj4gbmFtZToKPj4+Pj4+ IHAybV9pb3JlcV9zZXJ2ZXIsIHdoaWNoIG1lYW5zIHRoaXMgcDJtIHR5cGUgY2FuIGJlIGNsYWlt ZWQgYnkgb25lCj4+Pj4+PiBpb3JlcSBzZXJ2ZXIsIGluc3RlYWQgb2YgYmVpbmcgdHJhY2tlZCBp bnNpZGUgdGhlIHJhbmdlc2V0IG9mIGlvcmVxCj4+Pj4+PiBzZXJ2ZXIuIFBhdGNoZXMgZm9sbG93 aW5nIHVwIHdpbGwgYWRkIHRoZSByZWxhdGVkIGh2bW9wIGhhbmRsaW5nCj4+Pj4+PiBjb2RlIHdo aWNoIG1hcC91bm1hcCB0eXBlIHAybV9pb3JlcV9zZXJ2ZXIgdG8vZnJvbSBhbiBpb3JlcQo+Pj4g c2VydmVyLgo+Pj4+Pj4KPj4+Pj4+IGNoYW5nZXMgaW4gdjM6Cj4+Pj4+PiAgIC0gQWNjb3JkaW5n IHRvIEphbiAmIEdlb3JnZSdzIGNvbW1lbnRzLCBrZWVwCj4+Pj4+IEhWTU1FTV9tbWlvX3dyaXRl X2RtCj4+Pj4+PiAgICAgZm9yIG9sZCB4ZW4gaW50ZXJmYWNlIHZlcnNpb25zLCBhbmQgcmVwbGFj ZSBpdCB3aXRoIEhWTU1FTV91bnVzZWQKPj4+Pj4+ICAgICBmb3IgeGVuIGludGVyZmFjZXMgbmV3 ZXIgdGhhbiA0LjcuMDsgRm9yIHAybV9pb3JlcV9zZXJ2ZXIsIGEgbmV3Cj4+Pj4+PiAgICAgZW51 bSAtIEhWTU1FTV9pb3JlcV9zZXJ2ZXIgaXMgaW50cm9kdWNlZCBmb3IgdGhlIGdldC9zZXQgbWVt Cj4+PiB0eXBlCj4+Pj4+PiAgICAgaW50ZXJmYWNlczsKPj4+Pj4+ICAgLSBBZGQgR2VvcmdlJ3Mg UmV2aWV3ZWQtYnkgYW5kIEFja2VkLWJ5IGZyb20gVGltICYgQW5kcmV3Lgo+Pj4+Pgo+Pj4+PiBV bmZvcnR1bmF0ZWx5IHRoZXNlIHJhdGhlciBjb250cmFkaWN0IGVhY2ggb3RoZXIgLS0gSSBjb25z aWRlcgo+Pj4+PiBSZXZpZXdlZC1ieSB0byBvbmx5IHN0aWNrIGlmIHRoZSBjb2RlIEkndmUgc3Bl Y2lmaWVkIGhhc24ndCBjaGFuZ2VkCj4+Pj4+IChvciBoYXMgb25seSBjaGFuZ2VkIHRyaXZpYWxs eSkuCj4+Pj4+Cj4+Pj4+IEFsc28uLi4KPj4+Pj4KPj4+Pj4+Cj4+Pj4+PiBjaGFuZ2VzIGluIHYy Ogo+Pj4+Pj4gICAtIEFjY29yZGluZyB0byBHZW9yZ2UgRHVubGFwJ3MgY29tbWVudHMsIG9ubHkg cmVuYW1lIHRoZSBwMm0gdHlwZSwKPj4+Pj4+ICAgICB3aXRoIG5vIGJlaGF2aW9yIGNoYW5nZXMu Cj4+Pj4+Pgo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRA Y2l0cml4LmNvbT4KPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFl1IFpoYW5nIDx5dS5jLnpoYW5nQGxp bnV4LmludGVsLmNvbT4KPj4+Pj4+IEFja2VkLWJ5OiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4K Pj4+Pj4+IEFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t Pgo+Pj4+Pj4gUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4 LmNvbT4KPj4+Pj4+IENjOiBLZWlyIEZyYXNlciA8a2VpckB4ZW4ub3JnPgo+Pj4+Pj4gQ2M6IEph biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KPj4+Pj4+IENjOiBBbmRyZXcgQ29vcGVyIDxh bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgo+Pj4+Pj4gQ2M6IEp1biBOYWthamltYSA8anVuLm5h a2FqaW1hQGludGVsLmNvbT4KPj4+Pj4+IENjOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVs LmNvbT4KPj4+Pj4+IENjOiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGV1LmNpdHJpeC5j b20+Cj4+Pj4+PiBDYzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+Cj4+Pj4+PiAtLS0KPj4+Pj4+ ICB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgIHwgMTQgKysrKysrKystLS0tLS0KPj4+ Pj4+ICB4ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jICAgICAgIHwgIDIgKy0KPj4+Pj4+ICB4ZW4v YXJjaC94ODYvbW0vcDJtLXB0LmMgICAgICAgIHwgIDIgKy0KPj4+Pj4+ICB4ZW4vYXJjaC94ODYv bW0vc2hhZG93L211bHRpLmMgIHwgIDIgKy0KPj4+Pj4+ICB4ZW4vaW5jbHVkZS9hc20teDg2L3Ay bS5oICAgICAgIHwgIDQgKystLQo+Pj4+Pj4gIHhlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29w LmggfCAgOCArKysrKysrLQo+Pj4+Pj4gIDYgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygr KSwgMTIgZGVsZXRpb25zKC0pCj4+Pj4+Pgo+Pj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCj4+Pj4+PiBpbmRleCBmMjQxMjZk Li44NzRjYjBmIDEwMDY0NAo+Pj4+Pj4gLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYwo+Pj4+ Pj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwo+Pj4+Pj4gQEAgLTE4NTcsNyArMTg1Nyw3 IEBAIGludCBodm1faGFwX25lc3RlZF9wYWdlX2ZhdWx0KHBhZGRyX3QgZ3BhLAo+Pj4+PiB1bnNp Z25lZCBsb25nIGdsYSwKPj4+Pj4+ICAgICAgICovCj4+Pj4+PiAgICAgIGlmICggKHAybXQgPT0g cDJtX21taW9fZG0pIHx8Cj4+Pj4+PiAgICAgICAgICAgKG5wZmVjLndyaXRlX2FjY2VzcyAmJgo+ Pj4+Pj4gLSAgICAgICAgICAocDJtX2lzX2Rpc2NhcmRfd3JpdGUocDJtdCkgfHwgKHAybXQgPT0K Pj4+IHAybV9tbWlvX3dyaXRlX2RtKSkpICkKPj4+Pj4+ICsgICAgICAgICAgKHAybV9pc19kaXNj YXJkX3dyaXRlKHAybXQpIHx8IChwMm10ID09IHAybV9pb3JlcV9zZXJ2ZXIpKSkgKQo+Pj4+Pj4g ICAgICB7Cj4+Pj4+PiAgICAgICAgICBfX3B1dF9nZm4ocDJtLCBnZm4pOwo+Pj4+Pj4gICAgICAg ICAgaWYgKCBhcDJtX2FjdGl2ZSApCj4+Pj4+PiBAQCAtNTQ5OSw4ICs1NDk5LDggQEAgbG9uZyBk b19odm1fb3AodW5zaWduZWQgbG9uZyBvcCwKPj4+Pj4gWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2 b2lkKSBhcmcpCj4+Pj4+PiAgICAgICAgICAgICAgZ2V0X2dmbl9xdWVyeV91bmxvY2tlZChkLCBh LnBmbiwgJnQpOwo+Pj4+Pj4gICAgICAgICAgICAgIGlmICggcDJtX2lzX21taW8odCkgKQo+Pj4+ Pj4gICAgICAgICAgICAgICAgICBhLm1lbV90eXBlID0gIEhWTU1FTV9tbWlvX2RtOwo+Pj4+Pj4g LSAgICAgICAgICAgIGVsc2UgaWYgKCB0ID09IHAybV9tbWlvX3dyaXRlX2RtICkKPj4+Pj4+IC0g ICAgICAgICAgICAgICAgYS5tZW1fdHlwZSA9IEhWTU1FTV9tbWlvX3dyaXRlX2RtOwo+Pj4+Pj4g KyAgICAgICAgICAgIGVsc2UgaWYgKCB0ID09IHAybV9pb3JlcV9zZXJ2ZXIgKQo+Pj4+Pj4gKyAg ICAgICAgICAgICAgICBhLm1lbV90eXBlID0gSFZNTUVNX2lvcmVxX3NlcnZlcjsKPj4+Pj4+ICAg ICAgICAgICAgICBlbHNlIGlmICggcDJtX2lzX3JlYWRvbmx5KHQpICkKPj4+Pj4+ICAgICAgICAg ICAgICAgICAgYS5tZW1fdHlwZSA9ICBIVk1NRU1fcmFtX3JvOwo+Pj4+Pj4gICAgICAgICAgICAg IGVsc2UgaWYgKCBwMm1faXNfcmFtKHQpICkKPj4+Pj4+IEBAIC01NTMxLDcgKzU1MzEsOCBAQCBs b25nIGRvX2h2bV9vcCh1bnNpZ25lZCBsb25nIG9wLAo+Pj4+PiBYRU5fR1VFU1RfSEFORExFX1BB UkFNKHZvaWQpIGFyZykKPj4+Pj4+ICAgICAgICAgICAgICBbSFZNTUVNX3JhbV9yd10gID0gcDJt X3JhbV9ydywKPj4+Pj4+ICAgICAgICAgICAgICBbSFZNTUVNX3JhbV9yb10gID0gcDJtX3JhbV9y bywKPj4+Pj4+ICAgICAgICAgICAgICBbSFZNTUVNX21taW9fZG1dID0gcDJtX21taW9fZG0sCj4+ Pj4+PiAtICAgICAgICAgICAgW0hWTU1FTV9tbWlvX3dyaXRlX2RtXSA9IHAybV9tbWlvX3dyaXRl X2RtCj4+Pj4+PiArICAgICAgICAgICAgW0hWTU1FTV91bnVzZWRdID0gcDJtX2ludmFsaWQsCj4+ Pj4+PiArICAgICAgICAgICAgW0hWTU1FTV9pb3JlcV9zZXJ2ZXJdID0gcDJtX2lvcmVxX3NlcnZl cgo+Pj4+Pj4gICAgICAgICAgfTsKPj4+Pj4+Cj4+Pj4+PiAgICAgICAgICBpZiAoIGNvcHlfZnJv bV9ndWVzdCgmYSwgYXJnLCAxKSApCj4+Pj4+PiBAQCAtNTU1NSw3ICs1NTU2LDggQEAgbG9uZyBk b19odm1fb3AodW5zaWduZWQgbG9uZyBvcCwKPj4+Pj4gWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2 b2lkKSBhcmcpCj4+Pj4+PiAgICAgICAgICAgICAgICgoYS5maXJzdF9wZm4gKyBhLm5yIC0gMSkg PiBkb21haW5fZ2V0X21heGltdW1fZ3BmbihkKSkgKQo+Pj4+Pj4gICAgICAgICAgICAgIGdvdG8g c2V0bWVtdHlwZV9mYWlsOwo+Pj4+Pj4KPj4+Pj4+IC0gICAgICAgIGlmICggYS5odm1tZW1fdHlw ZSA+PSBBUlJBWV9TSVpFKG1lbXR5cGUpICkKPj4+Pj4+ICsgICAgICAgIGlmICggYS5odm1tZW1f dHlwZSA+PSBBUlJBWV9TSVpFKG1lbXR5cGUpIHx8Cj4+Pj4+PiArICAgICAgICAgICAgIHVubGlr ZWx5KGEuaHZtbWVtX3R5cGUgPT0gSFZNTUVNX3VudXNlZCkgKQo+Pj4+Pj4gICAgICAgICAgICAg IGdvdG8gc2V0bWVtdHlwZV9mYWlsOwo+Pj4+Pj4KPj4+Pj4+ICAgICAgICAgIHdoaWxlICggYS5u ciA+IHN0YXJ0X2l0ZXIgKQo+Pj4+Pj4gQEAgLTU1NzksNyArNTU4MSw3IEBAIGxvbmcgZG9faHZt X29wKHVuc2lnbmVkIGxvbmcgb3AsCj4+Pj4+IFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkg YXJnKQo+Pj4+Pj4gICAgICAgICAgICAgIH0KPj4+Pj4+ICAgICAgICAgICAgICBpZiAoICFwMm1f aXNfcmFtKHQpICYmCj4+Pj4+PiAgICAgICAgICAgICAgICAgICAoIXAybV9pc19ob2xlKHQpIHx8 IGEuaHZtbWVtX3R5cGUgIT0gSFZNTUVNX21taW9fZG0pCj4+Pj4+ICYmCj4+Pj4+PiAtICAgICAg ICAgICAgICAgICAodCAhPSBwMm1fbW1pb193cml0ZV9kbSB8fCBhLmh2bW1lbV90eXBlICE9Cj4+ Pj4+IEhWTU1FTV9yYW1fcncpICkKPj4+Pj4+ICsgICAgICAgICAgICAgICAgICh0ICE9IHAybV9p b3JlcV9zZXJ2ZXIgfHwgYS5odm1tZW1fdHlwZSAhPQo+Pj4+PiBIVk1NRU1fcmFtX3J3KSApCj4+ Pj4+PiAgICAgICAgICAgICAgewo+Pj4+Pj4gICAgICAgICAgICAgICAgICBwdXRfZ2ZuKGQsIHBm bik7Cj4+Pj4+PiAgICAgICAgICAgICAgICAgIGdvdG8gc2V0bWVtdHlwZV9mYWlsOwo+Pj4+Pj4g ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMgYi94ZW4vYXJjaC94ODYvbW0v cDJtLQo+Pj4gZXB0LmMKPj4+Pj4+IGluZGV4IDNjYjY4NjguLjM4MGVjMjUgMTAwNjQ0Cj4+Pj4+ PiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCj4+Pj4+PiArKysgYi94ZW4vYXJjaC94 ODYvbW0vcDJtLWVwdC5jCj4+Pj4+PiBAQCAtMTcxLDcgKzE3MSw3IEBAIHN0YXRpYyB2b2lkIGVw dF9wMm1fdHlwZV90b19mbGFncyhzdHJ1Y3QKPj4+Pj4gcDJtX2RvbWFpbiAqcDJtLCBlcHRfZW50 cnlfdCAqZW50cnksCj4+Pj4+PiAgICAgICAgICAgICAgZW50cnktPmEgPSBlbnRyeS0+ZCA9ICEh Y3B1X2hhc192bXhfZXB0X2FkOwo+Pj4+Pj4gICAgICAgICAgICAgIGJyZWFrOwo+Pj4+Pj4gICAg ICAgICAgY2FzZSBwMm1fZ3JhbnRfbWFwX3JvOgo+Pj4+Pj4gLSAgICAgICAgY2FzZSBwMm1fbW1p b193cml0ZV9kbToKPj4+Pj4+ICsgICAgICAgIGNhc2UgcDJtX2lvcmVxX3NlcnZlcjoKPj4+Pj4+ ICAgICAgICAgICAgICBlbnRyeS0+ciA9IDE7Cj4+Pj4+PiAgICAgICAgICAgICAgZW50cnktPncg PSBlbnRyeS0+eCA9IDA7Cj4+Pj4+PiAgICAgICAgICAgICAgZW50cnktPmEgPSAhIWNwdV9oYXNf dm14X2VwdF9hZDsKPj4+Pj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMg Yi94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKPj4+Pj4+IGluZGV4IDNkODA2MTIuLmVhYmQyZTMg MTAwNjQ0Cj4+Pj4+PiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKPj4+Pj4+ICsrKyBi L3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYwo+Pj4+Pj4gQEAgLTk0LDcgKzk0LDcgQEAgc3RhdGlj IHVuc2lnbmVkIGxvbmcKPj4+IHAybV90eXBlX3RvX2ZsYWdzKHAybV90eXBlX3QKPj4+Pj4gdCwg bWZuX3QgbWZuLAo+Pj4+Pj4gICAgICBkZWZhdWx0Ogo+Pj4+Pj4gICAgICAgICAgcmV0dXJuIGZs YWdzIHwgX1BBR0VfTlhfQklUOwo+Pj4+Pj4gICAgICBjYXNlIHAybV9ncmFudF9tYXBfcm86Cj4+ Pj4+PiAtICAgIGNhc2UgcDJtX21taW9fd3JpdGVfZG06Cj4+Pj4+PiArICAgIGNhc2UgcDJtX2lv cmVxX3NlcnZlcjoKPj4+Pj4+ICAgICAgICAgIHJldHVybiBmbGFncyB8IFAyTV9CQVNFX0ZMQUdT IHwgX1BBR0VfTlhfQklUOwo+Pj4+Pj4gICAgICBjYXNlIHAybV9yYW1fcm86Cj4+Pj4+PiAgICAg IGNhc2UgcDJtX3JhbV9sb2dkaXJ0eToKPj4+Pj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv bW0vc2hhZG93L211bHRpLmMKPj4+Pj4gYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMK Pj4+Pj4+IGluZGV4IGU1Yzg0OTkuLmM4MTMwMmEgMTAwNjQ0Cj4+Pj4+PiAtLS0gYS94ZW4vYXJj aC94ODYvbW0vc2hhZG93L211bHRpLmMKPj4+Pj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFk b3cvbXVsdGkuYwo+Pj4+Pj4gQEAgLTMyMjUsNyArMzIyNSw3IEBAIHN0YXRpYyBpbnQgc2hfcGFn ZV9mYXVsdChzdHJ1Y3QgdmNwdSAqdiwKPj4+Pj4+Cj4+Pj4+PiAgICAgIC8qIE5lZWQgdG8gaGFu ZCBvZmYgZGV2aWNlLW1vZGVsIE1NSU8gdG8gdGhlIGRldmljZSBtb2RlbCAqLwo+Pj4+Pj4gICAg ICBpZiAoIHAybXQgPT0gcDJtX21taW9fZG0KPj4+Pj4+IC0gICAgICAgICB8fCAocDJtdCA9PSBw Mm1fbW1pb193cml0ZV9kbSAmJiBmdCA9PSBmdF9kZW1hbmRfd3JpdGUpICkKPj4+Pj4+ICsgICAg ICAgICB8fCAocDJtdCA9PSBwMm1faW9yZXFfc2VydmVyICYmIGZ0ID09IGZ0X2RlbWFuZF93cml0 ZSkgKQo+Pj4+Pj4gICAgICB7Cj4+Pj4+PiAgICAgICAgICBncGEgPSBndWVzdF93YWxrX3RvX2dw YSgmZ3cpOwo+Pj4+Pj4gICAgICAgICAgZ290byBtbWlvOwo+Pj4+Pj4gZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL2FzbS14ODYvcDJtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCj4+Pj4+ PiBpbmRleCA1MzkyZWIwLi5lZTJlYTljIDEwMDY0NAo+Pj4+Pj4gLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9wMm0uaAo+Pj4+Pj4gKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAo+Pj4+ Pj4gQEAgLTcxLDcgKzcxLDcgQEAgdHlwZWRlZiBlbnVtIHsKPj4+Pj4+ICAgICAgcDJtX3JhbV9z aGFyZWQgPSAxMiwgICAgICAgICAgLyogU2hhcmVkIG9yIHNoYXJhYmxlIG1lbW9yeSAqLwo+Pj4+ Pj4gICAgICBwMm1fcmFtX2Jyb2tlbiA9IDEzLCAgICAgICAgICAvKiBCcm9rZW4gcGFnZSwgYWNj ZXNzIGNhdXNlIGRvbWFpbgo+Pj4gY3Jhc2gKPj4+Pj4gKi8KPj4+Pj4+ICAgICAgcDJtX21hcF9m b3JlaWduICA9IDE0LCAgICAgICAgLyogcmFtIHBhZ2VzIGZyb20gZm9yZWlnbiBkb21haW4gKi8K Pj4+Pj4+IC0gICAgcDJtX21taW9fd3JpdGVfZG0gPSAxNSwgICAgICAgLyogUmVhZC1vbmx5OyB3 cml0ZXMgZ28gdG8gdGhlIGRldmljZQo+Pj4+PiBtb2RlbCAqLwo+Pj4+Pj4gKyAgICBwMm1faW9y ZXFfc2VydmVyID0gMTUsCj4+Pj4+PiAgfSBwMm1fdHlwZV90Owo+Pj4+Pj4KPj4+Pj4+ICAvKiBN b2RpZmllcnMgdG8gdGhlIHF1ZXJ5ICovCj4+Pj4+PiBAQCAtMTEyLDcgKzExMiw3IEBAIHR5cGVk ZWYgdW5zaWduZWQgaW50IHAybV9xdWVyeV90Owo+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAg ICB8IHAybV90b19tYXNrKHAybV9yYW1fcm8pICAgICAgICAgXAo+Pj4+Pj4gICAgICAgICAgICAg ICAgICAgICAgICB8IHAybV90b19tYXNrKHAybV9ncmFudF9tYXBfcm8pICAgXAo+Pj4+Pj4gICAg ICAgICAgICAgICAgICAgICAgICB8IHAybV90b19tYXNrKHAybV9yYW1fc2hhcmVkKSAgICAgXAo+ Pj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICB8IHAybV90b19tYXNrKHAybV9tbWlvX3dyaXRl X2RtKSkKPj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgfCBwMm1fdG9fbWFzayhwMm1faW9y ZXFfc2VydmVyKSkKPj4+Pj4+Cj4+Pj4+PiAgLyogV3JpdGUtZGlzY2FyZCB0eXBlcywgd2hpY2gg c2hvdWxkIGRpc2NhcmQgdGhlIHdyaXRlIG9wZXJhdGlvbnMgKi8KPj4+Pj4+ICAjZGVmaW5lIFAy TV9ESVNDQVJEX1dSSVRFX1RZUEVTIChwMm1fdG9fbWFzayhwMm1fcmFtX3JvKSAgICAgXAo+Pj4+ Pj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmgKPj4+Pj4gYi94 ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2h2bV9vcC5oCj4+Pj4+PiBpbmRleCAxNjA2MTg1Li5iM2U0 NWNmIDEwMDY0NAo+Pj4+Pj4gLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaAo+ Pj4+Pj4gKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaAo+Pj4+Pj4gQEAgLTgz LDcgKzgzLDEzIEBAIHR5cGVkZWYgZW51bSB7Cj4+Pj4+PiAgICAgIEhWTU1FTV9yYW1fcncsICAg ICAgICAgICAgIC8qIE5vcm1hbCByZWFkL3dyaXRlIGd1ZXN0IFJBTSAqLwo+Pj4+Pj4gICAgICBI Vk1NRU1fcmFtX3JvLCAgICAgICAgICAgICAvKiBSZWFkLW9ubHk7IHdyaXRlcyBhcmUgZGlzY2Fy ZGVkICovCj4+Pj4+PiAgICAgIEhWTU1FTV9tbWlvX2RtLCAgICAgICAgICAgIC8qIFJlYWRzIGFu ZCB3cml0ZSBnbyB0byB0aGUgZGV2aWNlCj4+PiBtb2RlbAo+Pj4+PiAqLwo+Pj4+Pj4gLSAgICBI Vk1NRU1fbW1pb193cml0ZV9kbSAgICAgICAvKiBSZWFkLW9ubHk7IHdyaXRlcyBnbyB0byB0aGUg ZGV2aWNlCj4+Pj4+IG1vZGVsICovCj4+Pj4+PiArI2lmIF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9O X18gPCAweDAwMDQwNzAwCj4+Pj4+PiArICAgIEhWTU1FTV9tbWlvX3dyaXRlX2RtLCAgICAgIC8q IFJlYWQtb25seTsgd3JpdGVzIGdvIHRvIHRoZSBkZXZpY2UKPj4+Pj4gbW9kZWwgKi8KPj4+Pj4+ ICsjZWxzZQo+Pj4+Pj4gKyAgICBIVk1NRU1fdW51c2VkLCAgICAgICAgICAgICAvKiBQbGFjZWhv bGRlcjsgc2V0dGluZyBtZW1vcnkgdG8gdGhpcwo+Pj4gdHlwZQo+Pj4+Pj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB3aWxsIGZhaWwgZm9yIGNvZGUgYWZ0ZXIgNC43LjAgKi8K Pj4+Pj4+ICsjZW5kaWYKPj4+Pj4+ICsgICAgSFZNTUVNX2lvcmVxX3NlcnZlcgo+Pj4+Pgo+Pj4+ PiBBbHNvLCBJIGRvbid0IHRoaW5rIHdlJ3ZlIGhhZCBhIGNvbnZpbmNpbmcgYXJndW1lbnQgZm9y IHdoeSB0aGlzIHBhdGNoCj4+Pj4+IG5lZWRzIHRvIGJlIGluIDQuNy4gIFRoZSBwMm0gbmFtZSBj aGFuZ2VzIGFyZSBpbnRlcm5hbCBvbmx5LCBhbmQgc28KPj4+Pj4gZG9uJ3QgbmVlZCB0byBiZSBt YWRlIGF0IGFsbDsgYW5kIHRoZSBvbGQgZnVuY3Rpb25hbGl0eSB3aWxsIHdvcmsgYXMKPj4+Pj4g d2VsbCBhcyBpdCBldmVyIGRpZC4gIEZ1cnRoZXJtb3JlLCB0aGUgd2hvbGUgcmVhc29uIHdlJ3Jl IGluIHRoaXMKPj4+Pj4gc2l0dWF0aW9uIGlzIHRoYXQgd2UgY2hlY2tlZCBpbiBhIHB1YmxpY2x5 LXZpc2libGUgY2hhbmdlIHRvIHRoZQo+Pj4+PiBpbnRlcmZhY2UgYmVmb3JlIGl0IHdhcyBwcm9w ZXJseSByZWFkeTsgSSB0aGluayB3ZSBzaG91bGQgYXZvaWQgbWFraW5nCj4+Pj4+IHRoZSBzYW1l IG1pc3Rha2UgdGhpcyB0aW1lLgo+Pj4+Pgo+Pj4+PiBTbyBwZXJzb25hbGx5IEknZCBqdXN0IGxl YXZlIHRoaXMgcGF0Y2ggZW50aXJlbHkgZm9yIDQuODsgYnV0IGlmIFBhdWwKPj4+Pj4gYW5kL29y IEphbiBoYXZlIHN0cm9uZyBvcGluaW9ucywgdGhlbiBJIHdvdWxkIHNheSBjaGVjayBpbiBvbmx5 IGEKPj4+Pj4gcGF0Y2ggdG8gZG8gdGhlICNpZi8jZWxzZS8jZW5kaWYsIGFuZCBsZWF2ZSBib3Ro IHRoZSBwMm0gdHlwZSBjaGFuZ2VzCj4+Pj4+IGFuZCB0aGUgbmV3IEhWTU1FTV9pb3JlcV9zZXJ2 ZXIgZW51bSBmb3Igd2hlbiB0aGUgNC44Cj4+PiBkZXZlbG9wbWVudAo+Pj4+PiB3aW5kb3cgb3Bl bnMuCj4+Pj4+Cj4+Pj4KPj4+PiBJZiB0aGUgd2hvbGUgc2VyaWVzIGlzIGdvaW5nIGluIHRoZW4g SSB0aGluayB0aGlzIHBhdGNoIGlzIG9rLiBJZiB0aGlzIHRoZQo+PiBvbmx5Cj4+PiBwYXRjaCB0 aGF0IGlzIGdvaW5nIGluIGZvciA0LjcgdGhlbiBJIHRoaW5nIHdlIG5lZWQgdGhlIHBhdGNoIHRv IGh2bV9vcC5oIHRvCj4+PiBkZXByZWNhdGUgdGhlIG9sZCB0eXBlIGFuZCB0aGF0J3MgaXQuIFdl IGRlZmluaXRlbHkgc2hvdWxkIG5vdCBpbnRyb2R1Y2UgYW4KPj4+IGltcGxlbWVudGF0aW9uIG9m IHRoZSB0eXBlIEhWTU1FTV9pb3JlcV9zZXJ2ZXIgdGhhdCBoYXMgdGhlIHNhbWUKPj4+IGhhcmRj b2RlZCBzZW1hbnRpY3MgYXMgdGhlIG9sZCB0eXBlIGFuZCB0aGVuIGNoYW5nZSBpdC4KPj4+PiBU aGUgcDJtIHR5cGUgY2hhbmdlcyBhcmUgYWxzbyB3cm9uZy4gVGhhdCB0eXBlIG5lZWRzIHRvIGJl IGxlZnQgYWxvbmUsCj4+PiBwcmVzdW1hYmx5LCBzbyB0aGF0IGFueXRoaW5nIHVzaW5nIEhWTU1F TV9tbWlvX3dyaXRlX2RtIGFuZAo+Pj4gY29tcGlsZWQgdG8gdGhlIG9sZCBpbnRlcmZhY2UgdmVy c2lvbiBjb250aW51ZXMgdG8gZnVuY3Rpb24uIEkgdGhpbmsKPj4+IEhWTU1FTV9pb3JlcV9zZXJ2 ZXIgbmVlZHMgdG8gbWFwIHRvIGEgbmV3IHAybSB0eXBlIHdoaWNoIHNob3VsZCBiZQo+Pj4gaW50 cm9kdWNlZCBpbiBwYXRjaCAjMy4KPj4+Pgo+Pj4KPj4+IFNvcnJ5LCBJJ20gYWxzbyBjb25mdXNl ZCBub3cuIDooCj4+Pgo+Pj4gRG8gd2UgcmVhbGx5IHdhbnQgdG8gaW50cm9kdWNlIGEgbmV3IHAy bSB0eXBlPyBXaHk/Cj4+PiBNeSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBwcmV2aW91cyBhZ3JlZW1l bnQgaXMgdGhhdDoKPj4+IDE+IFdlIG5lZWQgdGhlIGludGVyZmFjZSB0byB3b3JrIG9uIG9sZCBo eXBlcnZpc29yIGZvcgo+Pj4gSFZNTUVNX21taW9fd3JpdGVfZG07Cj4+PiAyPiBXZSBuZWVkIHRo ZSBpbnRlcmZhY2UgdG8gcmV0dXJuIC1FSU5WQUwgZm9yIG5ldyBoeXBlcnZpc29yCj4+PiBmb3Ig SFZNTUVNX21taW9fd3JpdGVfZG07Cj4+PiAzPiBXZSBuZWVkIHRoZSBuZXcgdHlwZSBIVk1NRU1f aW9yZXFfc2VydmVyIHRvIHdvcmsgb24gbmV3Cj4+PiBoeXBlcnZpc29yOwo+Pj4KPj4+IERpZCBJ IG1pc3Mgc29tZXRoaW5nPyBPciBJIHRvdGFsbHkgbWlzdW5kZXJzdG9vZD8KPj4+Cj4+Cj4+IEkg ZG9uJ3Qga25vdy4gSSdtIGNvbmZ1c2VkIHRvby4gV2hhdCB3ZSBkZWZpbml0ZWx5IGRvbid0IHdh bnQgdG8gZG8gaXMgYWRkIGEKPj4gbmV3IEhWTU1FTSB0eXBlIGFuZCBoYXZlIGl0IG1hcCB0byB0 aGUgb2xkIGJlaGF2aW91ciwgb3RoZXJ3aXNlIHdlJ3JlIG5vCj4+IGJldHRlciBvZmYuCj4+Cj4+ IFRoZSBxdWVzdGlvbiBJJ20gbm90IGNsZWFyIG9uIHRoZSBhbnN3ZXIgdG8gaXMgd2hhdCBoYXBw ZW5zIHRvIG9sZCBjb2RlOgo+Pgo+PiBTaG91bGQgaXQgY29udGludWUgdG8gY29tcGlsZT8gSWYg c28sIHNob3VsZCBpdCBjb250aW51ZSB0byBydW4uCj4KPiBXZSBvbmx5IG5lZWQgdG8gYmUgY29u Y2VybmVkIGFib3V0IHRoZSAiZ2V0IHR5cGUiIGZ1bmN0aW9uYWxpdHksCj4gYXMgdGhhdCdzIHRo ZSBvbmx5IHRoaW5nIGFuIGFyYml0cmFyeSBndWVzdCBjYW4gdXNlLiBJZiB0aGUKPiBoeXBlcmNh bGwgc2ltcGx5IG5ldmVyIHJldHVybnMgdGhlIG9sZCB0eXBlLCB0aGVuIG9sZCBjb2RlIHdpbGwK PiBzdGlsbCB3b3JrIChpdCdsbCBqdXN0IGhhdmUgc29tZSBkZWFkIGNvZGUgb24gbmV3IFhlbiks IGFuZCBoZW5jZQo+IGl0IGNvbXBpbGluZyBhZ2FpbnN0IHRoZSBvbGRlciBpbnRlcmZhY2UgaXMg ZmluZSAoYW5kLCBmcm9tIGdlbmVyYWwKPiBjb25zaWRlcmF0aW9ucywgYSByZXF1aXJlbWVudCku Cj4KClRoYW5rcyBKYW4uIEFuZCBJIHRoaW5rIHRoZSBhbnN3ZXIgaXMgeWVzLiBUaGUgbmV3IGh5 cGVydmlzb3Igd2lsbApvbmx5IHJldHVybiBIVk1NRU1faW9yZXFfc2VydmVyLCB3aGljaCBpcyBh IGRpZmZlcmVudCB2YWx1ZSBub3cuCgo+IEphbgo+CgpZdQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK