From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhushan Bharat-R65777 Subject: RE: [PATCH 2/2] kvm: powerpc: set cache coherency only for kernel managed pages Date: Thu, 18 Jul 2013 08:22:34 +0000 Message-ID: <6A3DF150A5B70D4F9B66A25E3F7C888D070D6E30@039-SN2MPN1-013.039d.mgd.msft.net> References: <1374127456-9614-1-git-send-email-Bharat.Bhushan@freescale.com> <1374127456-9614-2-git-send-email-Bharat.Bhushan@freescale.com> <51E78A88.4000904@windriver.com> <6A3DF150A5B70D4F9B66A25E3F7C888D070D6AFF@039-SN2MPN1-013.039d.mgd.msft.net> <51E799D0.1030406@windriver.com> <6A3DF150A5B70D4F9B66A25E3F7C888D070D6DAB@039-SN2MPN1-013.039d.mgd.msft.net> <51E7A5A2.5040107@windriver.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "kvm-ppc@vger.kernel.org" , "kvm@vger.kernel.org" , "agraf@suse.de" , Wood Scott-B07421 To: =?utf-8?B?IuKAnHRpZWp1bi5jaGVu4oCdIg==?= Return-path: In-Reply-To: <51E7A5A2.5040107@windriver.com> Content-Language: en-US Sender: kvm-ppc-owner@vger.kernel.org List-Id: kvm.vger.kernel.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogIuKAnHRpZWp1bi5jaGVu 4oCdIiBbbWFpbHRvOnRpZWp1bi5jaGVuQHdpbmRyaXZlci5jb21dDQo+IFNlbnQ6IFRodXJzZGF5 LCBKdWx5IDE4LCAyMDEzIDE6NTIgUE0NCj4gVG86IEJodXNoYW4gQmhhcmF0LVI2NTc3Nw0KPiBD Yzoga3ZtLXBwY0B2Z2VyLmtlcm5lbC5vcmc7IGt2bUB2Z2VyLmtlcm5lbC5vcmc7IGFncmFmQHN1 c2UuZGU7IFdvb2QgU2NvdHQtDQo+IEIwNzQyMQ0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDIvMl0g a3ZtOiBwb3dlcnBjOiBzZXQgY2FjaGUgY29oZXJlbmN5IG9ubHkgZm9yIGtlcm5lbA0KPiBtYW5h Z2VkIHBhZ2VzDQo+IA0KPiBPbiAwNy8xOC8yMDEzIDA0OjA4IFBNLCBCaHVzaGFuIEJoYXJhdC1S NjU3Nzcgd3JvdGU6DQo+ID4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+PiBGcm9tOiBrdm0tcHBjLW93bmVyQHZnZXIua2VybmVsLm9yZw0KPiA+PiBbbWFpbHRvOmt2 bS1wcGMtb3duZXJAdmdlci5rZXJuZWwub3JnXSBPbiBCZWhhbGYgT2YgIuKAnHRpZWp1bi5jaGVu 4oCdIg0KPiA+PiBTZW50OiBUaHVyc2RheSwgSnVseSAxOCwgMjAxMyAxOjAxIFBNDQo+ID4+IFRv OiBCaHVzaGFuIEJoYXJhdC1SNjU3NzcNCj4gPj4gQ2M6IGt2bS1wcGNAdmdlci5rZXJuZWwub3Jn OyBrdm1Admdlci5rZXJuZWwub3JnOyBhZ3JhZkBzdXNlLmRlOyBXb29kDQo+ID4+IFNjb3R0LQ0K PiA+PiBCMDc0MjENCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJdIGt2bTogcG93ZXJwYzog c2V0IGNhY2hlIGNvaGVyZW5jeSBvbmx5IGZvcg0KPiA+PiBrZXJuZWwgbWFuYWdlZCBwYWdlcw0K PiA+Pg0KPiA+PiBPbiAwNy8xOC8yMDEzIDAzOjEyIFBNLCBCaHVzaGFuIEJoYXJhdC1SNjU3Nzcg d3JvdGU6DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+Pj4+IEZyb206ICLigJx0aWVqdW4uY2hlbuKAnSIgW21haWx0bzp0aWVqdW4uY2hlbkB3aW5k cml2ZXIuY29tXQ0KPiA+Pj4+IFNlbnQ6IFRodXJzZGF5LCBKdWx5IDE4LCAyMDEzIDExOjU2IEFN DQo+ID4+Pj4gVG86IEJodXNoYW4gQmhhcmF0LVI2NTc3Nw0KPiA+Pj4+IENjOiBrdm0tcHBjQHZn ZXIua2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVsLm9yZzsgYWdyYWZAc3VzZS5kZTsNCj4gPj4+ PiBXb29kDQo+ID4+Pj4gU2NvdHQtIEIwNzQyMTsgQmh1c2hhbiBCaGFyYXQtUjY1Nzc3DQo+ID4+ Pj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJdIGt2bTogcG93ZXJwYzogc2V0IGNhY2hlIGNvaGVy ZW5jeSBvbmx5IGZvcg0KPiA+Pj4+IGtlcm5lbCBtYW5hZ2VkIHBhZ2VzDQo+ID4+Pj4NCj4gPj4+ PiBPbiAwNy8xOC8yMDEzIDAyOjA0IFBNLCBCaGFyYXQgQmh1c2hhbiB3cm90ZToNCj4gPj4+Pj4g SWYgdGhlcmUgaXMgYSBzdHJ1Y3QgcGFnZSBmb3IgdGhlIHJlcXVlc3RlZCBtYXBwaW5nIHRoZW4g aXQncw0KPiA+Pj4+PiBub3JtYWwgRERSIGFuZCB0aGUgbWFwcGluZyBzZXRzICJNIiBiaXQgKGNv aGVyZW50LCBjYWNoZWFibGUpIGVsc2UNCj4gPj4+Pj4gdGhpcyBpcyB0cmVhdGVkIGFzIEkvTyBh bmQgd2Ugc2V0ICAiSSArIEciICAoY2FjaGUgaW5oaWJpdGVkLA0KPiA+Pj4+PiBndWFyZGVkKQ0K PiA+Pj4+Pg0KPiA+Pj4+PiBUaGlzIGhlbHBzIHNldHRpbmcgcHJvcGVyIFRMQiBtYXBwaW5nIGZv ciBkaXJlY3QgYXNzaWduZWQgZGV2aWNlDQo+ID4+Pj4+DQo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6 IEJoYXJhdCBCaHVzaGFuIDxiaGFyYXQuYmh1c2hhbkBmcmVlc2NhbGUuY29tPg0KPiA+Pj4+PiAt LS0NCj4gPj4+Pj4gICAgIGFyY2gvcG93ZXJwYy9rdm0vZTUwMF9tbXVfaG9zdC5jIHwgICAxNyAr KysrKysrKysrKystLS0tLQ0KPiA+Pj4+PiAgICAgMSBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRp b25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBkaWZmIC0tZ2l0IGEvYXJj aC9wb3dlcnBjL2t2bS9lNTAwX21tdV9ob3N0LmMNCj4gPj4+Pj4gYi9hcmNoL3Bvd2VycGMva3Zt L2U1MDBfbW11X2hvc3QuYw0KPiA+Pj4+PiBpbmRleCAxYzZhOWQ3Li4wODljMjI3IDEwMDY0NA0K PiA+Pj4+PiAtLS0gYS9hcmNoL3Bvd2VycGMva3ZtL2U1MDBfbW11X2hvc3QuYw0KPiA+Pj4+PiAr KysgYi9hcmNoL3Bvd2VycGMva3ZtL2U1MDBfbW11X2hvc3QuYw0KPiA+Pj4+PiBAQCAtNjQsMTMg KzY0LDIwIEBAIHN0YXRpYyBpbmxpbmUgdTMyIGU1MDBfc2hhZG93X21hczNfYXR0cmliKHUzMg0K PiA+Pj4+PiBtYXMzLCBpbnQNCj4gPj4+PiB1c2VybW9kZSkNCj4gPj4+Pj4gICAgIAlyZXR1cm4g bWFzMzsNCj4gPj4+Pj4gICAgIH0NCj4gPj4+Pj4NCj4gPj4+Pj4gLXN0YXRpYyBpbmxpbmUgdTMy IGU1MDBfc2hhZG93X21hczJfYXR0cmliKHUzMiBtYXMyLCBpbnQgdXNlcm1vZGUpDQo+ID4+Pj4+ ICtzdGF0aWMgaW5saW5lIHUzMiBlNTAwX3NoYWRvd19tYXMyX2F0dHJpYih1MzIgbWFzMiwgcGZu X3QgcGZuKQ0KPiA+Pj4+PiAgICAgew0KPiA+Pj4+PiArCXUzMiBtYXMyX2F0dHI7DQo+ID4+Pj4+ ICsNCj4gPj4+Pj4gKwltYXMyX2F0dHIgPSBtYXMyICYgTUFTMl9BVFRSSUJfTUFTSzsNCj4gPj4+ Pj4gKw0KPiA+Pj4+PiArCWlmICghcGZuX3ZhbGlkKHBmbikpIHsNCj4gPj4+Pg0KPiA+Pj4+IFdo eSBub3QgZGlyZWN0bHkgdXNlIGt2bV9pc19tbWlvX3BmbigpPw0KPiA+Pj4NCj4gPj4+IFdoYXQg SSB1bmRlcnN0YW5kIGZyb20gdGhpcyBmdW5jdGlvbiAoc29tZW9uZSBjYW4gY29ycmVjdCBtZSkg aXMNCj4gPj4+IHRoYXQgaXQNCj4gPj4gcmV0dXJucyAiZmFsc2UiIHdoZW4gdGhlIHBhZ2UgaXMg bWFuYWdlZCBieSBrZXJuZWwgYW5kIGlzIG5vdCBtYXJrZWQNCj4gPj4gYXMgUkVTRVJWRUQgKGZv ciBzb21lIHJlYXNvbikuIEZvciB1cyBpdCBkb2VzIG5vdCBtYXR0ZXIgd2hldGhlciB0aGUNCj4g Pj4gcGFnZSBpcyByZXNlcnZlZCBvciBub3QsIGlmIGl0IGlzIGtlcm5lbCB2aXNpYmxlIHBhZ2Ug dGhlbiBpdCBpcyBERFIuDQo+ID4+Pg0KPiA+Pg0KPiA+PiBJIHRoaW5rIHlvdSBhcmUgc2V0dGlu ZyBJfEcgYnkgYWRkcmVzc2luZyBhbGwgbW1pbyBwYWdlcywgcmlnaHQ/IElmDQo+ID4+IHNvLA0K PiA+Pg0KPiA+PiAgICAgICBLVk06IGRpcmVjdCBtbWlvIHBmbiBjaGVjaw0KPiA+Pg0KPiA+PiAg ICAgICBVc2Vyc3BhY2UgbWF5IHNwZWNpZnkgbWVtb3J5IHNsb3RzIHRoYXQgYXJlIGJhY2tlZCBi eSBtbWlvDQo+ID4+IHBhZ2VzIHJhdGhlciB0aGFuDQo+ID4+ICAgICAgIG5vcm1hbCBSQU0uICBJ biBzb21lIGNhc2VzIGl0IGlzIG5vdCBlbm91Z2ggdG8gaWRlbnRpZnkgdGhlc2UgbW1pbw0KPiBw YWdlcw0KPiA+PiAgICAgICBieSBwZm5fdmFsaWQoKS4gIFRoaXMgcGF0Y2ggYWRkcyBjaGVja2lu ZyB0aGUgUGFnZVJlc2VydmVkIGFzIHdlbGwuDQo+ID4NCj4gPiBEbyB5b3Uga25vdyB3aGF0IGFy ZSB0aG9zZSAic29tZSBjYXNlcyIgYW5kIGhvdyBjaGVja2luZyBQYWdlUmVzZXJ2ZWQgaGVscHMg aW4NCj4gdGhvc2UgY2FzZXM/DQo+IA0KPiBObywgbXlzZWxmIGRpZG4ndCBzZWUgdGhlc2UgYWN0 dWFsIGNhc2VzIGluIHFlbXUsdG9vLiBCdXQgdGhpcyBzaG91bGQgYmUNCj4gY2hyb25pY2FsbHkg cGVyc2lzdGVudCBhcyBJIHVuZGVyc3RhbmQgOy0pDQoNClRoZW4gSSB3aWxsIHdhaXQgdGlsbCBz b21lb25lIGVkdWNhdGUgbWUgOikNCg0KLUJoYXJhdA0KDQo+IA0KPiBUaWVqdW4NCj4gDQo+ID4N Cj4gPiAtQmhhcmF0DQo+ID4NCj4gPj4NCj4gPj4gVGllanVuDQo+ID4+DQo+ID4+PiAtQmhhcmF0 DQo+ID4+Pg0KPiA+Pj4+DQo+ID4+Pj4gVGllanVuDQo+ID4+Pj4NCj4gPj4+Pj4gKwkJbWFzMl9h dHRyIHw9IE1BUzJfSSB8IE1BUzJfRzsNCj4gPj4+Pj4gKwl9IGVsc2Ugew0KPiA+Pj4+PiAgICAg I2lmZGVmIENPTkZJR19TTVANCj4gPj4+Pj4gLQlyZXR1cm4gKG1hczIgJiBNQVMyX0FUVFJJQl9N QVNLKSB8IE1BUzJfTTsNCj4gPj4+Pj4gLSNlbHNlDQo+ID4+Pj4+IC0JcmV0dXJuIG1hczIgJiBN QVMyX0FUVFJJQl9NQVNLOw0KPiA+Pj4+PiArCQltYXMyX2F0dHIgfD0gTUFTMl9NOw0KPiA+Pj4+ PiAgICAgI2VuZGlmDQo+ID4+Pj4+ICsJfQ0KPiA+Pj4+PiArCXJldHVybiBtYXMyX2F0dHI7DQo+ ID4+Pj4+ICAgICB9DQo+ID4+Pj4+DQo+ID4+Pj4+ICAgICAvKg0KPiA+Pj4+PiBAQCAtMzEzLDcg KzMyMCw3IEBAIHN0YXRpYyB2b2lkIGt2bXBwY19lNTAwX3NldHVwX3N0bGJlKA0KPiA+Pj4+PiAg ICAgCS8qIEZvcmNlIElQUk9UPTAgZm9yIGFsbCBndWVzdCBtYXBwaW5ncy4gKi8NCj4gPj4+Pj4g ICAgIAlzdGxiZS0+bWFzMSA9IE1BUzFfVFNJWkUodHNpemUpIHwgZ2V0X3RsYl9zdHMoZ3RsYmUp IHwgTUFTMV9WQUxJRDsNCj4gPj4+Pj4gICAgIAlzdGxiZS0+bWFzMiA9IChndmFkZHIgJiBNQVMy X0VQTikgfA0KPiA+Pj4+PiAtCQkgICAgICBlNTAwX3NoYWRvd19tYXMyX2F0dHJpYihndGxiZS0+ bWFzMiwgcHIpOw0KPiA+Pj4+PiArCQkgICAgICBlNTAwX3NoYWRvd19tYXMyX2F0dHJpYihndGxi ZS0+bWFzMiwgcGZuKTsNCj4gPj4+Pj4gICAgIAlzdGxiZS0+bWFzN18zID0gKCh1NjQpcGZuIDw8 IFBBR0VfU0hJRlQpIHwNCj4gPj4+Pj4gICAgIAkJCWU1MDBfc2hhZG93X21hczNfYXR0cmliKGd0 bGJlLT5tYXM3XzMsIHByKTsNCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pg0KPiA+Pj4NCj4gPj4N Cj4gPj4gLS0NCj4gPj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxp bmUgInVuc3Vic2NyaWJlIGt2bS1wcGMiIGluDQo+ID4+IHRoZSBib2R5IG9mIGEgbWVzc2FnZSB0 byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnIE1vcmUgbWFqb3Jkb21vDQo+ID4+IGluZm8gYXQg aHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sDQo+ID4NCj4gDQoNCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhushan Bharat-R65777 Date: Thu, 18 Jul 2013 08:22:34 +0000 Subject: RE: [PATCH 2/2] kvm: powerpc: set cache coherency only for kernel managed pages Message-Id: <6A3DF150A5B70D4F9B66A25E3F7C888D070D6E30@039-SN2MPN1-013.039d.mgd.msft.net> List-Id: References: <1374127456-9614-1-git-send-email-Bharat.Bhushan@freescale.com> <1374127456-9614-2-git-send-email-Bharat.Bhushan@freescale.com> <51E78A88.4000904@windriver.com> <6A3DF150A5B70D4F9B66A25E3F7C888D070D6AFF@039-SN2MPN1-013.039d.mgd.msft.net> <51E799D0.1030406@windriver.com> <6A3DF150A5B70D4F9B66A25E3F7C888D070D6DAB@039-SN2MPN1-013.039d.mgd.msft.net> <51E7A5A2.5040107@windriver.com> In-Reply-To: <51E7A5A2.5040107@windriver.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: =?utf-8?B?IuKAnHRpZWp1bi5jaGVu4oCdIg==?= Cc: "kvm-ppc@vger.kernel.org" , "kvm@vger.kernel.org" , "agraf@suse.de" , Wood Scott-B07421 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogIuKAnHRpZWp1bi5jaGVu 4oCdIiBbbWFpbHRvOnRpZWp1bi5jaGVuQHdpbmRyaXZlci5jb21dDQo+IFNlbnQ6IFRodXJzZGF5 LCBKdWx5IDE4LCAyMDEzIDE6NTIgUE0NCj4gVG86IEJodXNoYW4gQmhhcmF0LVI2NTc3Nw0KPiBD Yzoga3ZtLXBwY0B2Z2VyLmtlcm5lbC5vcmc7IGt2bUB2Z2VyLmtlcm5lbC5vcmc7IGFncmFmQHN1 c2UuZGU7IFdvb2QgU2NvdHQtDQo+IEIwNzQyMQ0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDIvMl0g a3ZtOiBwb3dlcnBjOiBzZXQgY2FjaGUgY29oZXJlbmN5IG9ubHkgZm9yIGtlcm5lbA0KPiBtYW5h Z2VkIHBhZ2VzDQo+IA0KPiBPbiAwNy8xOC8yMDEzIDA0OjA4IFBNLCBCaHVzaGFuIEJoYXJhdC1S NjU3Nzcgd3JvdGU6DQo+ID4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+PiBGcm9tOiBrdm0tcHBjLW93bmVyQHZnZXIua2VybmVsLm9yZw0KPiA+PiBbbWFpbHRvOmt2 bS1wcGMtb3duZXJAdmdlci5rZXJuZWwub3JnXSBPbiBCZWhhbGYgT2YgIuKAnHRpZWp1bi5jaGVu 4oCdIg0KPiA+PiBTZW50OiBUaHVyc2RheSwgSnVseSAxOCwgMjAxMyAxOjAxIFBNDQo+ID4+IFRv OiBCaHVzaGFuIEJoYXJhdC1SNjU3NzcNCj4gPj4gQ2M6IGt2bS1wcGNAdmdlci5rZXJuZWwub3Jn OyBrdm1Admdlci5rZXJuZWwub3JnOyBhZ3JhZkBzdXNlLmRlOyBXb29kDQo+ID4+IFNjb3R0LQ0K PiA+PiBCMDc0MjENCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJdIGt2bTogcG93ZXJwYzog c2V0IGNhY2hlIGNvaGVyZW5jeSBvbmx5IGZvcg0KPiA+PiBrZXJuZWwgbWFuYWdlZCBwYWdlcw0K PiA+Pg0KPiA+PiBPbiAwNy8xOC8yMDEzIDAzOjEyIFBNLCBCaHVzaGFuIEJoYXJhdC1SNjU3Nzcg d3JvdGU6DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+Pj4+IEZyb206ICLigJx0aWVqdW4uY2hlbuKAnSIgW21haWx0bzp0aWVqdW4uY2hlbkB3aW5k cml2ZXIuY29tXQ0KPiA+Pj4+IFNlbnQ6IFRodXJzZGF5LCBKdWx5IDE4LCAyMDEzIDExOjU2IEFN DQo+ID4+Pj4gVG86IEJodXNoYW4gQmhhcmF0LVI2NTc3Nw0KPiA+Pj4+IENjOiBrdm0tcHBjQHZn ZXIua2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVsLm9yZzsgYWdyYWZAc3VzZS5kZTsNCj4gPj4+ PiBXb29kDQo+ID4+Pj4gU2NvdHQtIEIwNzQyMTsgQmh1c2hhbiBCaGFyYXQtUjY1Nzc3DQo+ID4+ Pj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJdIGt2bTogcG93ZXJwYzogc2V0IGNhY2hlIGNvaGVy ZW5jeSBvbmx5IGZvcg0KPiA+Pj4+IGtlcm5lbCBtYW5hZ2VkIHBhZ2VzDQo+ID4+Pj4NCj4gPj4+ PiBPbiAwNy8xOC8yMDEzIDAyOjA0IFBNLCBCaGFyYXQgQmh1c2hhbiB3cm90ZToNCj4gPj4+Pj4g SWYgdGhlcmUgaXMgYSBzdHJ1Y3QgcGFnZSBmb3IgdGhlIHJlcXVlc3RlZCBtYXBwaW5nIHRoZW4g aXQncw0KPiA+Pj4+PiBub3JtYWwgRERSIGFuZCB0aGUgbWFwcGluZyBzZXRzICJNIiBiaXQgKGNv aGVyZW50LCBjYWNoZWFibGUpIGVsc2UNCj4gPj4+Pj4gdGhpcyBpcyB0cmVhdGVkIGFzIEkvTyBh bmQgd2Ugc2V0ICAiSSArIEciICAoY2FjaGUgaW5oaWJpdGVkLA0KPiA+Pj4+PiBndWFyZGVkKQ0K PiA+Pj4+Pg0KPiA+Pj4+PiBUaGlzIGhlbHBzIHNldHRpbmcgcHJvcGVyIFRMQiBtYXBwaW5nIGZv ciBkaXJlY3QgYXNzaWduZWQgZGV2aWNlDQo+ID4+Pj4+DQo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6 IEJoYXJhdCBCaHVzaGFuIDxiaGFyYXQuYmh1c2hhbkBmcmVlc2NhbGUuY29tPg0KPiA+Pj4+PiAt LS0NCj4gPj4+Pj4gICAgIGFyY2gvcG93ZXJwYy9rdm0vZTUwMF9tbXVfaG9zdC5jIHwgICAxNyAr KysrKysrKysrKystLS0tLQ0KPiA+Pj4+PiAgICAgMSBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRp b25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBkaWZmIC0tZ2l0IGEvYXJj aC9wb3dlcnBjL2t2bS9lNTAwX21tdV9ob3N0LmMNCj4gPj4+Pj4gYi9hcmNoL3Bvd2VycGMva3Zt L2U1MDBfbW11X2hvc3QuYw0KPiA+Pj4+PiBpbmRleCAxYzZhOWQ3Li4wODljMjI3IDEwMDY0NA0K PiA+Pj4+PiAtLS0gYS9hcmNoL3Bvd2VycGMva3ZtL2U1MDBfbW11X2hvc3QuYw0KPiA+Pj4+PiAr KysgYi9hcmNoL3Bvd2VycGMva3ZtL2U1MDBfbW11X2hvc3QuYw0KPiA+Pj4+PiBAQCAtNjQsMTMg KzY0LDIwIEBAIHN0YXRpYyBpbmxpbmUgdTMyIGU1MDBfc2hhZG93X21hczNfYXR0cmliKHUzMg0K PiA+Pj4+PiBtYXMzLCBpbnQNCj4gPj4+PiB1c2VybW9kZSkNCj4gPj4+Pj4gICAgIAlyZXR1cm4g bWFzMzsNCj4gPj4+Pj4gICAgIH0NCj4gPj4+Pj4NCj4gPj4+Pj4gLXN0YXRpYyBpbmxpbmUgdTMy IGU1MDBfc2hhZG93X21hczJfYXR0cmliKHUzMiBtYXMyLCBpbnQgdXNlcm1vZGUpDQo+ID4+Pj4+ ICtzdGF0aWMgaW5saW5lIHUzMiBlNTAwX3NoYWRvd19tYXMyX2F0dHJpYih1MzIgbWFzMiwgcGZu X3QgcGZuKQ0KPiA+Pj4+PiAgICAgew0KPiA+Pj4+PiArCXUzMiBtYXMyX2F0dHI7DQo+ID4+Pj4+ ICsNCj4gPj4+Pj4gKwltYXMyX2F0dHIgPSBtYXMyICYgTUFTMl9BVFRSSUJfTUFTSzsNCj4gPj4+ Pj4gKw0KPiA+Pj4+PiArCWlmICghcGZuX3ZhbGlkKHBmbikpIHsNCj4gPj4+Pg0KPiA+Pj4+IFdo eSBub3QgZGlyZWN0bHkgdXNlIGt2bV9pc19tbWlvX3BmbigpPw0KPiA+Pj4NCj4gPj4+IFdoYXQg SSB1bmRlcnN0YW5kIGZyb20gdGhpcyBmdW5jdGlvbiAoc29tZW9uZSBjYW4gY29ycmVjdCBtZSkg aXMNCj4gPj4+IHRoYXQgaXQNCj4gPj4gcmV0dXJucyAiZmFsc2UiIHdoZW4gdGhlIHBhZ2UgaXMg bWFuYWdlZCBieSBrZXJuZWwgYW5kIGlzIG5vdCBtYXJrZWQNCj4gPj4gYXMgUkVTRVJWRUQgKGZv ciBzb21lIHJlYXNvbikuIEZvciB1cyBpdCBkb2VzIG5vdCBtYXR0ZXIgd2hldGhlciB0aGUNCj4g Pj4gcGFnZSBpcyByZXNlcnZlZCBvciBub3QsIGlmIGl0IGlzIGtlcm5lbCB2aXNpYmxlIHBhZ2Ug dGhlbiBpdCBpcyBERFIuDQo+ID4+Pg0KPiA+Pg0KPiA+PiBJIHRoaW5rIHlvdSBhcmUgc2V0dGlu ZyBJfEcgYnkgYWRkcmVzc2luZyBhbGwgbW1pbyBwYWdlcywgcmlnaHQ/IElmDQo+ID4+IHNvLA0K PiA+Pg0KPiA+PiAgICAgICBLVk06IGRpcmVjdCBtbWlvIHBmbiBjaGVjaw0KPiA+Pg0KPiA+PiAg ICAgICBVc2Vyc3BhY2UgbWF5IHNwZWNpZnkgbWVtb3J5IHNsb3RzIHRoYXQgYXJlIGJhY2tlZCBi eSBtbWlvDQo+ID4+IHBhZ2VzIHJhdGhlciB0aGFuDQo+ID4+ICAgICAgIG5vcm1hbCBSQU0uICBJ biBzb21lIGNhc2VzIGl0IGlzIG5vdCBlbm91Z2ggdG8gaWRlbnRpZnkgdGhlc2UgbW1pbw0KPiBw YWdlcw0KPiA+PiAgICAgICBieSBwZm5fdmFsaWQoKS4gIFRoaXMgcGF0Y2ggYWRkcyBjaGVja2lu ZyB0aGUgUGFnZVJlc2VydmVkIGFzIHdlbGwuDQo+ID4NCj4gPiBEbyB5b3Uga25vdyB3aGF0IGFy ZSB0aG9zZSAic29tZSBjYXNlcyIgYW5kIGhvdyBjaGVja2luZyBQYWdlUmVzZXJ2ZWQgaGVscHMg aW4NCj4gdGhvc2UgY2FzZXM/DQo+IA0KPiBObywgbXlzZWxmIGRpZG4ndCBzZWUgdGhlc2UgYWN0 dWFsIGNhc2VzIGluIHFlbXUsdG9vLiBCdXQgdGhpcyBzaG91bGQgYmUNCj4gY2hyb25pY2FsbHkg cGVyc2lzdGVudCBhcyBJIHVuZGVyc3RhbmQgOy0pDQoNClRoZW4gSSB3aWxsIHdhaXQgdGlsbCBz b21lb25lIGVkdWNhdGUgbWUgOikNCg0KLUJoYXJhdA0KDQo+IA0KPiBUaWVqdW4NCj4gDQo+ID4N Cj4gPiAtQmhhcmF0DQo+ID4NCj4gPj4NCj4gPj4gVGllanVuDQo+ID4+DQo+ID4+PiAtQmhhcmF0 DQo+ID4+Pg0KPiA+Pj4+DQo+ID4+Pj4gVGllanVuDQo+ID4+Pj4NCj4gPj4+Pj4gKwkJbWFzMl9h dHRyIHw9IE1BUzJfSSB8IE1BUzJfRzsNCj4gPj4+Pj4gKwl9IGVsc2Ugew0KPiA+Pj4+PiAgICAg I2lmZGVmIENPTkZJR19TTVANCj4gPj4+Pj4gLQlyZXR1cm4gKG1hczIgJiBNQVMyX0FUVFJJQl9N QVNLKSB8IE1BUzJfTTsNCj4gPj4+Pj4gLSNlbHNlDQo+ID4+Pj4+IC0JcmV0dXJuIG1hczIgJiBN QVMyX0FUVFJJQl9NQVNLOw0KPiA+Pj4+PiArCQltYXMyX2F0dHIgfD0gTUFTMl9NOw0KPiA+Pj4+ PiAgICAgI2VuZGlmDQo+ID4+Pj4+ICsJfQ0KPiA+Pj4+PiArCXJldHVybiBtYXMyX2F0dHI7DQo+ ID4+Pj4+ICAgICB9DQo+ID4+Pj4+DQo+ID4+Pj4+ICAgICAvKg0KPiA+Pj4+PiBAQCAtMzEzLDcg KzMyMCw3IEBAIHN0YXRpYyB2b2lkIGt2bXBwY19lNTAwX3NldHVwX3N0bGJlKA0KPiA+Pj4+PiAg ICAgCS8qIEZvcmNlIElQUk9UPTAgZm9yIGFsbCBndWVzdCBtYXBwaW5ncy4gKi8NCj4gPj4+Pj4g ICAgIAlzdGxiZS0+bWFzMSA9IE1BUzFfVFNJWkUodHNpemUpIHwgZ2V0X3RsYl9zdHMoZ3RsYmUp IHwgTUFTMV9WQUxJRDsNCj4gPj4+Pj4gICAgIAlzdGxiZS0+bWFzMiA9IChndmFkZHIgJiBNQVMy X0VQTikgfA0KPiA+Pj4+PiAtCQkgICAgICBlNTAwX3NoYWRvd19tYXMyX2F0dHJpYihndGxiZS0+ bWFzMiwgcHIpOw0KPiA+Pj4+PiArCQkgICAgICBlNTAwX3NoYWRvd19tYXMyX2F0dHJpYihndGxi ZS0+bWFzMiwgcGZuKTsNCj4gPj4+Pj4gICAgIAlzdGxiZS0+bWFzN18zID0gKCh1NjQpcGZuIDw8 IFBBR0VfU0hJRlQpIHwNCj4gPj4+Pj4gICAgIAkJCWU1MDBfc2hhZG93X21hczNfYXR0cmliKGd0 bGJlLT5tYXM3XzMsIHByKTsNCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pg0KPiA+Pj4NCj4gPj4N Cj4gPj4gLS0NCj4gPj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxp bmUgInVuc3Vic2NyaWJlIGt2bS1wcGMiIGluDQo+ID4+IHRoZSBib2R5IG9mIGEgbWVzc2FnZSB0 byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnIE1vcmUgbWFqb3Jkb21vDQo+ID4+IGluZm8gYXQg aHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sDQo+ID4NCj4gDQoNCg=