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: Wed, 24 Jul 2013 09:11:27 +0000 Message-ID: <6A3DF150A5B70D4F9B66A25E3F7C888D070E17FA@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> <6A3DF150A5B70D4F9B66A25E3F7C888D070D6E79@039-SN2MPN1-013.039d.mgd.msft.net> <51E7BE90.60300@windriver.com> <50683BE9-8BDD-4730-B866-F972BCF1EDD6@suse.de> <51E7C14C.6060600@windriver.com> <51EF3B67.5060403@windriver.com> <597D9B3F-BCE8-4483-B485-3035D6D443AC@suse.de> 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 list" , Wood Scott-B07421 , Gleb Natapov , Paolo Bonzini To: Alexander Graf , =?utf-8?B?IuKAnHRpZWp1bi5jaGVu4oCdIg==?= Return-path: In-Reply-To: <597D9B3F-BCE8-4483-B485-3035D6D443AC@suse.de> Content-Language: en-US Sender: kvm-ppc-owner@vger.kernel.org List-Id: kvm.vger.kernel.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWxleGFuZGVyIEdyYWYg W21haWx0bzphZ3JhZkBzdXNlLmRlXQ0KPiBTZW50OiBXZWRuZXNkYXksIEp1bHkgMjQsIDIwMTMg MTo1NSBQTQ0KPiBUbzogIuKAnHRpZWp1bi5jaGVu4oCdIg0KPiBDYzogQmh1c2hhbiBCaGFyYXQt UjY1Nzc3OyBrdm0tcHBjQHZnZXIua2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVsLm9yZyBsaXN0 Ow0KPiBXb29kIFNjb3R0LUIwNzQyMTsgR2xlYiBOYXRhcG92OyBQYW9sbyBCb256aW5pDQo+IFN1 YmplY3Q6IFJlOiBbUEFUQ0ggMi8yXSBrdm06IHBvd2VycGM6IHNldCBjYWNoZSBjb2hlcmVuY3kg b25seSBmb3Iga2VybmVsDQo+IG1hbmFnZWQgcGFnZXMNCj4gDQo+IA0KPiBPbiAyNC4wNy4yMDEz LCBhdCAwNDoyNiwg4oCcdGllanVuLmNoZW7igJ0gd3JvdGU6DQo+IA0KPiA+IE9uIDA3LzE4LzIw MTMgMDY6MjcgUE0sIEFsZXhhbmRlciBHcmFmIHdyb3RlOg0KPiA+Pg0KPiA+PiBPbiAxOC4wNy4y MDEzLCBhdCAxMjoxOSwg4oCcdGllanVuLmNoZW7igJ0gd3JvdGU6DQo+ID4+DQo+ID4+PiBPbiAw Ny8xOC8yMDEzIDA2OjEyIFBNLCBBbGV4YW5kZXIgR3JhZiB3cm90ZToNCj4gPj4+Pg0KPiA+Pj4+ IE9uIDE4LjA3LjIwMTMsIGF0IDEyOjA4LCDigJx0aWVqdW4uY2hlbuKAnSB3cm90ZToNCj4gPj4+ Pg0KPiA+Pj4+PiBPbiAwNy8xOC8yMDEzIDA1OjQ4IFBNLCBBbGV4YW5kZXIgR3JhZiB3cm90ZToN Cj4gPj4+Pj4+DQo+ID4+Pj4+PiBPbiAxOC4wNy4yMDEzLCBhdCAxMDoyNSwgQmh1c2hhbiBCaGFy YXQtUjY1Nzc3IHdyb3RlOg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+Pj4+IEZyb206IEJodXNoYW4g QmhhcmF0LVI2NTc3Nw0KPiA+Pj4+Pj4+PiBTZW50OiBUaHVyc2RheSwgSnVseSAxOCwgMjAxMyAx OjUzIFBNDQo+ID4+Pj4+Pj4+IFRvOiAnIiB0aWVqdW4uY2hlbiAiJw0KPiA+Pj4+Pj4+PiBDYzog a3ZtLXBwY0B2Z2VyLmtlcm5lbC5vcmc7IGt2bUB2Z2VyLmtlcm5lbC5vcmc7DQo+ID4+Pj4+Pj4+ IGFncmFmQHN1c2UuZGU7IFdvb2QgU2NvdHQtDQo+ID4+Pj4+Pj4+IEIwNzQyMQ0KPiA+Pj4+Pj4+ PiBTdWJqZWN0OiBSRTogW1BBVENIIDIvMl0ga3ZtOiBwb3dlcnBjOiBzZXQgY2FjaGUgY29oZXJl bmN5IG9ubHkNCj4gPj4+Pj4+Pj4gZm9yIGtlcm5lbCBtYW5hZ2VkIHBhZ2VzDQo+ID4+Pj4+Pj4+ DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+Pj4+Pj4+Pj4gRnJvbTogIiB0aWVqdW4uY2hlbiAiIFttYWlsdG86dGllanVu LmNoZW5Ad2luZHJpdmVyLmNvbV0NCj4gPj4+Pj4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBKdWx5IDE4 LCAyMDEzIDE6NTIgUE0NCj4gPj4+Pj4+Pj4+IFRvOiBCaHVzaGFuIEJoYXJhdC1SNjU3NzcNCj4g Pj4+Pj4+Pj4+IENjOiBrdm0tcHBjQHZnZXIua2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVsLm9y ZzsNCj4gPj4+Pj4+Pj4+IGFncmFmQHN1c2UuZGU7IFdvb2QNCj4gPj4+Pj4+Pj4+IFNjb3R0LQ0K PiA+Pj4+Pj4+Pj4gQjA3NDIxDQo+ID4+Pj4+Pj4+PiBTdWJqZWN0OiBSZTogW1BBVENIIDIvMl0g a3ZtOiBwb3dlcnBjOiBzZXQgY2FjaGUgY29oZXJlbmN5DQo+ID4+Pj4+Pj4+PiBvbmx5IGZvciBr ZXJuZWwgbWFuYWdlZCBwYWdlcw0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IE9uIDA3LzE4LzIw MTMgMDQ6MDggUE0sIEJodXNoYW4gQmhhcmF0LVI2NTc3NyB3cm90ZToNCj4gPj4+Pj4+Pj4+Pg0K PiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+Pj4+Pj4+Pj4+IEZyb206IGt2bS1wcGMtb3duZXJAdmdlci5rZXJuZWwub3JnDQo+ID4+Pj4+ Pj4+Pj4+IFttYWlsdG86a3ZtLXBwYy1vd25lckB2Z2VyLmtlcm5lbC5vcmddIE9uIEJlaGFsZiBP ZiAiIHRpZWp1bi5jaGVuICINCj4gPj4+Pj4+Pj4+Pj4gU2VudDogVGh1cnNkYXksIEp1bHkgMTgs IDIwMTMgMTowMSBQTQ0KPiA+Pj4+Pj4+Pj4+PiBUbzogQmh1c2hhbiBCaGFyYXQtUjY1Nzc3DQo+ ID4+Pj4+Pj4+Pj4+IENjOiBrdm0tcHBjQHZnZXIua2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVs Lm9yZzsNCj4gPj4+Pj4+Pj4+Pj4gYWdyYWZAc3VzZS5kZTsgV29vZA0KPiA+Pj4+Pj4+Pj4+PiBT Y290dC0NCj4gPj4+Pj4+Pj4+Pj4gQjA3NDIxDQo+ID4+Pj4+Pj4+Pj4+IFN1YmplY3Q6IFJlOiBb UEFUQ0ggMi8yXSBrdm06IHBvd2VycGM6IHNldCBjYWNoZSBjb2hlcmVuY3kNCj4gPj4+Pj4+Pj4+ Pj4gb25seSBmb3Iga2VybmVsIG1hbmFnZWQgcGFnZXMNCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+ Pj4+Pj4gT24gMDcvMTgvMjAxMyAwMzoxMiBQTSwgQmh1c2hhbiBCaGFyYXQtUjY1Nzc3IHdyb3Rl Og0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+Pj4+Pj4+Pj4+PiBGcm9tOiAiIHRpZWp1bi5jaGVu ICIgW21haWx0bzp0aWVqdW4uY2hlbkB3aW5kcml2ZXIuY29tXQ0KPiA+Pj4+Pj4+Pj4+Pj4+IFNl bnQ6IFRodXJzZGF5LCBKdWx5IDE4LCAyMDEzIDExOjU2IEFNDQo+ID4+Pj4+Pj4+Pj4+Pj4gVG86 IEJodXNoYW4gQmhhcmF0LVI2NTc3Nw0KPiA+Pj4+Pj4+Pj4+Pj4+IENjOiBrdm0tcHBjQHZnZXIu a2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVsLm9yZzsNCj4gPj4+Pj4+Pj4+Pj4+PiBhZ3JhZkBz dXNlLmRlOyBXb29kDQo+ID4+Pj4+Pj4+Pj4+Pj4gU2NvdHQtIEIwNzQyMTsgQmh1c2hhbiBCaGFy YXQtUjY1Nzc3DQo+ID4+Pj4+Pj4+Pj4+Pj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJdIGt2bTog cG93ZXJwYzogc2V0IGNhY2hlIGNvaGVyZW5jeQ0KPiA+Pj4+Pj4+Pj4+Pj4+IG9ubHkgZm9yIGtl cm5lbCBtYW5hZ2VkIHBhZ2VzDQo+ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+PiBPbiAw Ny8xOC8yMDEzIDAyOjA0IFBNLCBCaGFyYXQgQmh1c2hhbiB3cm90ZToNCj4gPj4+Pj4+Pj4+Pj4+ Pj4gSWYgdGhlcmUgaXMgYSBzdHJ1Y3QgcGFnZSBmb3IgdGhlIHJlcXVlc3RlZCBtYXBwaW5nIHRo ZW4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gaXQncyBub3JtYWwgRERSIGFuZCB0aGUgbWFwcGluZyBzZXRz ICJNIiBiaXQgKGNvaGVyZW50LA0KPiA+Pj4+Pj4+Pj4+Pj4+PiBjYWNoZWFibGUpIGVsc2UgdGhp cyBpcyB0cmVhdGVkIGFzIEkvTyBhbmQgd2Ugc2V0ICAiSSArDQo+ID4+Pj4+Pj4+Pj4+Pj4+IEci ICAoY2FjaGUgaW5oaWJpdGVkLA0KPiA+Pj4+Pj4+Pj4+Pj4+PiBndWFyZGVkKQ0KPiA+Pj4+Pj4+ Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+PiBUaGlzIGhlbHBzIHNldHRpbmcgcHJvcGVyIFRMQiBt YXBwaW5nIGZvciBkaXJlY3QgYXNzaWduZWQNCj4gPj4+Pj4+Pj4+Pj4+Pj4gZGV2aWNlDQo+ID4+ Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEJoYXJhdCBCaHVz aGFuDQo+ID4+Pj4+Pj4+Pj4+Pj4+IDxiaGFyYXQuYmh1c2hhbkBmcmVlc2NhbGUuY29tPg0KPiA+ Pj4+Pj4+Pj4+Pj4+PiAtLS0NCj4gPj4+Pj4+Pj4+Pj4+Pj4gICAgYXJjaC9wb3dlcnBjL2t2bS9l NTAwX21tdV9ob3N0LmMgfCAgIDE3ICsrKysrKysrKysrKy0tLS0tDQo+ID4+Pj4+Pj4+Pj4+Pj4+ ICAgIDEgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4g Pj4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJw Yy9rdm0vZTUwMF9tbXVfaG9zdC5jDQo+ID4+Pj4+Pj4+Pj4+Pj4+IGIvYXJjaC9wb3dlcnBjL2t2 bS9lNTAwX21tdV9ob3N0LmMNCj4gPj4+Pj4+Pj4+Pj4+Pj4gaW5kZXggMWM2YTlkNy4uMDg5YzIy NyAxMDA2NDQNCj4gPj4+Pj4+Pj4+Pj4+Pj4gLS0tIGEvYXJjaC9wb3dlcnBjL2t2bS9lNTAwX21t dV9ob3N0LmMNCj4gPj4+Pj4+Pj4+Pj4+Pj4gKysrIGIvYXJjaC9wb3dlcnBjL2t2bS9lNTAwX21t dV9ob3N0LmMNCj4gPj4+Pj4+Pj4+Pj4+Pj4gQEAgLTY0LDEzICs2NCwyMCBAQCBzdGF0aWMgaW5s aW5lIHUzMg0KPiA+Pj4+Pj4+Pj4+Pj4+PiBlNTAwX3NoYWRvd19tYXMzX2F0dHJpYih1MzIgbWFz MywgaW50DQo+ID4+Pj4+Pj4+Pj4+Pj4gdXNlcm1vZGUpDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICAgIAly ZXR1cm4gbWFzMzsNCj4gPj4+Pj4+Pj4+Pj4+Pj4gICAgfQ0KPiA+Pj4+Pj4+Pj4+Pj4+Pg0KPiA+ Pj4+Pj4+Pj4+Pj4+PiAtc3RhdGljIGlubGluZSB1MzIgZTUwMF9zaGFkb3dfbWFzMl9hdHRyaWIo dTMyIG1hczIsIGludA0KPiA+Pj4+Pj4+Pj4+Pj4+PiB1c2VybW9kZSkNCj4gPj4+Pj4+Pj4+Pj4+ Pj4gK3N0YXRpYyBpbmxpbmUgdTMyIGU1MDBfc2hhZG93X21hczJfYXR0cmliKHUzMiBtYXMyLA0K PiA+Pj4+Pj4+Pj4+Pj4+PiArcGZuX3QgcGZuKQ0KPiA+Pj4+Pj4+Pj4+Pj4+PiAgICB7DQo+ID4+ Pj4+Pj4+Pj4+Pj4+ICsJdTMyIG1hczJfYXR0cjsNCj4gPj4+Pj4+Pj4+Pj4+Pj4gKw0KPiA+Pj4+ Pj4+Pj4+Pj4+PiArCW1hczJfYXR0ciA9IG1hczIgJiBNQVMyX0FUVFJJQl9NQVNLOw0KPiA+Pj4+ Pj4+Pj4+Pj4+PiArDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICsJaWYgKCFwZm5fdmFsaWQocGZuKSkgew0K PiA+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4gV2h5IG5vdCBkaXJlY3RseSB1c2Uga3Zt X2lzX21taW9fcGZuKCk/DQo+ID4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4gV2hhdCBJIHVu ZGVyc3RhbmQgZnJvbSB0aGlzIGZ1bmN0aW9uIChzb21lb25lIGNhbiBjb3JyZWN0DQo+ID4+Pj4+ Pj4+Pj4+PiBtZSkgaXMgdGhhdCBpdA0KPiA+Pj4+Pj4+Pj4+PiByZXR1cm5zICJmYWxzZSIgd2hl biB0aGUgcGFnZSBpcyBtYW5hZ2VkIGJ5IGtlcm5lbCBhbmQgaXMNCj4gPj4+Pj4+Pj4+Pj4gbm90 IG1hcmtlZCBhcyBSRVNFUlZFRCAoZm9yIHNvbWUgcmVhc29uKS4gRm9yIHVzIGl0IGRvZXMgbm90 DQo+ID4+Pj4+Pj4+Pj4+IG1hdHRlciB3aGV0aGVyIHRoZSBwYWdlIGlzIHJlc2VydmVkIG9yIG5v dCwgaWYgaXQgaXMga2VybmVsDQo+ID4+Pj4+Pj4+Pj4+IHZpc2libGUgcGFnZSB0aGVuIGl0DQo+ ID4+Pj4+Pj4+IGlzIEREUi4NCj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+Pj4+IEkgdGhpbmsgeW91IGFyZSBzZXR0aW5nIEl8RyBieSBhZGRyZXNzaW5nIGFsbCBtbWlv IHBhZ2VzLA0KPiA+Pj4+Pj4+Pj4+PiByaWdodD8gSWYgc28sDQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+ Pj4+Pj4+Pj4+ICAgICAgS1ZNOiBkaXJlY3QgbW1pbyBwZm4gY2hlY2sNCj4gPj4+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+Pj4gICAgICBVc2Vyc3BhY2UgbWF5IHNwZWNpZnkgbWVtb3J5IHNsb3RzIHRo YXQgYXJlIGJhY2tlZCBieQ0KPiA+Pj4+Pj4+Pj4+PiBtbWlvIHBhZ2VzIHJhdGhlciB0aGFuDQo+ ID4+Pj4+Pj4+Pj4+ICAgICAgbm9ybWFsIFJBTS4gIEluIHNvbWUgY2FzZXMgaXQgaXMgbm90IGVu b3VnaCB0byBpZGVudGlmeQ0KPiA+Pj4+Pj4+Pj4+PiB0aGVzZSBtbWlvDQo+ID4+Pj4+Pj4+PiBw YWdlcw0KPiA+Pj4+Pj4+Pj4+PiAgICAgIGJ5IHBmbl92YWxpZCgpLiAgVGhpcyBwYXRjaCBhZGRz IGNoZWNraW5nIHRoZSBQYWdlUmVzZXJ2ZWQgYXMNCj4gd2VsbC4NCj4gPj4+Pj4+Pj4+Pg0KPiA+ Pj4+Pj4+Pj4+IERvIHlvdSBrbm93IHdoYXQgYXJlIHRob3NlICJzb21lIGNhc2VzIiBhbmQgaG93 IGNoZWNraW5nDQo+ID4+Pj4+Pj4+Pj4gUGFnZVJlc2VydmVkIGhlbHBzIGluDQo+ID4+Pj4+Pj4+ PiB0aG9zZSBjYXNlcz8NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBObywgbXlzZWxmIGRpZG4n dCBzZWUgdGhlc2UgYWN0dWFsIGNhc2VzIGluIHFlbXUsdG9vLiBCdXQgdGhpcw0KPiA+Pj4+Pj4+ Pj4gc2hvdWxkIGJlIGNocm9uaWNhbGx5IHBlcnNpc3RlbnQgYXMgSSB1bmRlcnN0YW5kIDstKQ0K PiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBUaGVuIEkgd2lsbCB3YWl0IHRpbGwgc29tZW9uZSBlZHVj YXRlIG1lIDopDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBUaGUgcmVhc29uIGlzICwga3ZtX2lzX21t aW9fcGZuKCkgZnVuY3Rpb24gbG9va3MgcHJldHR5IGhlYXZ5IGFuZCBJIGRvDQo+IG5vdCB3YW50 IHRvIGNhbGwgdGhpcyBmb3IgYWxsIHRsYndlIG9wZXJhdGlvbiB1bmxlc3MgaXQgaXMgbmVjZXNz YXJ5Lg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEl0IGNlcnRhaW5seSBkb2VzIG1vcmUgdGhhbiB3ZSBu ZWVkIGFuZCBwb3RlbnRpYWxseSBzbG93cyBkb3duIHRoZSBmYXN0DQo+IHBhdGggKFJBTSBtYXBw aW5nKS4gVGhlIG9ubHkgdGhpbmcgaXQgZG9lcyBvbiB0b3Agb2YgImlmIChwZm5fdmFsaWQoKSki IGlzIHRvDQo+IGNoZWNrIGZvciBwYWdlcyB0aGF0IGFyZSBkZWNsYXJlZCByZXNlcnZlZCBvbiB0 aGUgaG9zdC4gVGhpcyBoYXBwZW5zIGluIDIgY2FzZXM6DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gICAx KSBOb24gY2FjaGUgY29oZXJlbnQgRE1BDQo+ID4+Pj4+PiAgIDIpIE1lbW9yeSBob3QgcmVtb3Zl DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhlIG5vbiBjb2hlcmVudCBETUEgY2FzZSB3b3VsZCBiZSBp bnRlcmVzdGluZywgYXMgd2l0aCB0aGUgbWVjaGFuaXNtIGFzDQo+IGl0IGlzIGluIHBsYWNlIGlu IExpbnV4IHRvZGF5LCB3ZSBjb3VsZCBwb3RlbnRpYWxseSBicmVhayBub3JtYWwgZ3Vlc3Qgb3Bl cmF0aW9uDQo+IGlmIHdlIGRvbid0IHRha2UgaXQgaW50byBhY2NvdW50LiBIb3dldmVyLCBpdCdz IEtjb25maWcgZ3VhcmRlZCBieToNCj4gPj4+Pj4+DQo+ID4+Pj4+PiAgICAgICAgIGRlcGVuZHMg b24gNHh4IHx8IDh4eCB8fCBFMjAwIHx8IFBQQ19NUEM1MTJ4IHx8IEdBTUVDVUJFX0NPTU1PTg0K PiA+Pj4+Pj4gICAgICAgICBkZWZhdWx0IG4gaWYgUFBDXzQ3eA0KPiA+Pj4+Pj4gICAgICAgICBk ZWZhdWx0IHkNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBzbyB3ZSBuZXZlciBoaXQgaXQgd2l0aCBhbnkg Y29yZSB3ZSBjYXJlIGFib3V0IDspLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IE1lbW9yeSBob3QgcmVt b3ZlIGRvZXMgbm90IGV4aXN0IG9uIGU1MDAgRldJVywgc28gd2UgZG9uJ3QgaGF2ZSB0byB3b3Jy eQ0KPiBhYm91dCB0aGF0IG9uZSBlaXRoZXIuDQo+ID4+Pj4+DQo+ID4+Pj4+IFRoYW5rcyBmb3Ig dGhpcyBnb29kIGluZm9ybWF0aW9uIDopDQo+ID4+Pj4+DQo+ID4+Pj4+IFNvIHdoeSBub3QgbGlt aXQgdGhvc2UgY29kZXMgd2l0aCBDT05GSUdfTUVNT1JZX0hPVFBMVUcgaW5zaWRlDQo+IGt2bV9p c19tbWlvX3BmbigpIHRvIG1ha2Ugc3VyZSB0aGF0IGNoZWNrIGlzIG9ubHkgdmFsaWQgd2hlbiB0 aGF0IGlzIHJlYWxseQ0KPiBuZWVkZWQ/IFRoaXMgY2FuIGRlY3JlYXNlIHRob3NlIHVubmVjZXNz YXJ5IHBlcmZvcm1hbmNlIGxvc3MuDQo+ID4+Pj4+DQo+ID4+Pj4+IElmIEknbSB3cm9uZyBwbGVh c2UgY29ycmVjdCBtZSA6KQ0KPiA+Pj4+DQo+ID4+Pj4gWW91J3JlIHBlcmZlY3RseSByaWdodCwg YnV0IHRoaXMgaXMgZ2VuZXJpYyBLVk0gY29kZS4gU28gaXQgZ2V0cyBydW4gYWNyb3NzDQo+IGFs bCBhcmNoaXRlY3R1cmVzLiBXaGF0IGlmIHNvbWVvbmUgaGFzIHRoZSBncmVhdCBpZGVhIHRvIGFk ZCBhIG5ldyBjYXNlIGhlcmUgZm9yDQo+IHg4NiwgYnV0IGRvZXNuJ3QgdGVsbCB1cz8gSW4gdGhh dCBjYXNlIHdlIHBvdGVudGlhbGx5IGJyZWFrIHg4Ni4NCj4gPj4+Pg0KPiA+Pj4+IEknZCByYXRo ZXIgbm90IGxpa2UgdG8gYnJlYWsgeDg2IDopLg0KPiA+Pj4+DQo+ID4+Pj4gSG93ZXZlciwgaXQn ZCBiZSB2ZXJ5IGludGVyZXN0aW5nIHRvIHNlZSBhIGJlbmNobWFyayB3aXRoIHRoaXMgY2hhbmdl LiBEbw0KPiB5b3UgdGhpbmsgeW91IGNvdWxkIGp1c3QgcmlwIG91dCB0aGUgd2hvbGUgcmVzZXJ2 ZWQgY2hlY2sgYW5kIHJ1biBhIGZldw0KPiBiZW5jaG1hcmtzIGFuZCBzaG93IHVzIHRoZSByZXN1 bHRzPw0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4gT2Z0ZW4gd2hhdCBjYXNlIHNob3VsZCBiZSBhZG9w dGVkIHRvIHZhbGlkYXRlIHRoaXMgc2NlbmFyaW8/DQo+ID4+DQo+ID4+IFNvbWV0aGluZyB3aGlj aCBoYW1tZXJzIHRoZSBUTEIgZW11bGF0aW9uIGhlYXZpbHkuIEkgdXN1YWxseSBqdXN0IHJ1bg0K PiA+PiAvYmluL2VjaG8gYSB0aG91c2FuZCB0aW1lcyBpbiAidGltZSIgYW5kIHNlZSBob3cgbG9u ZyBpdCB0YWtlcyA7KQ0KPiA+Pg0KPiA+DQo+ID4gSSB0cmllZCB0byBydW4gZml2ZSB0aW1lcyB3 aXRoIHRoaXMgY29tYmluYXRpb24sICJ0aW1lIGBmb3IgKChpPTA7IGk8NTAwMDsNCj4gaSsrKSk7 ICBkbyAvYmluL2VjaG87IGRvbmVgIiwgdG8gY2FsY3VsYXRlIHRoZSBhdmVyYWdlIHZhbHVlIHdp dGggdGhpcyBjaGFuZ2U6DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvdmlydC9rdm0va3ZtX21haW4u YyBiL3ZpcnQva3ZtL2t2bV9tYWluLmMgaW5kZXgNCj4gPiAxNTgwZGQ0Li41ZTg2MzViIDEwMDY0 NA0KPiA+IC0tLSBhL3ZpcnQva3ZtL2t2bV9tYWluLmMNCj4gPiArKysgYi92aXJ0L2t2bS9rdm1f bWFpbi5jDQo+ID4gQEAgLTEwMiw2ICsxMDIsMTAgQEAgc3RhdGljIGJvb2wgbGFyZ2VwYWdlc19l bmFibGVkID0gdHJ1ZTsNCj4gPg0KPiA+IGJvb2wga3ZtX2lzX21taW9fcGZuKHBmbl90IHBmbikN Cj4gPiB7DQo+ID4gKyNpZmRlZiBDT05GSUdfTUVNT1JZX0hPVFBMVUcNCj4gDQo+IEknZCBmZWVs IHNhZmVyIGlmIHdlIG5hcnJvdyB0aGlzIGRvd24gdG8gZTUwMC4NCj4gDQo+ID4gKyAgICAgICAv Kg0KPiA+ICsgICAgICAgICogQ3VycmVudGx5IG9ubHkgaW4gbWVtb3J5IGhvdCByZW1vdmUgY2Fz ZSB3ZSBtYXkgc3RpbGwgbmVlZCB0aGlzLg0KPiA+ICsgICAgICAgICovDQo+ID4gICAgICAgIGlm IChwZm5fdmFsaWQocGZuKSkgew0KPiANCj4gV2Ugc3RpbGwgaGF2ZSB0byBjaGVjayBmb3IgcGZu X3ZhbGlkLCBubz8gU28gdGhlICNpZmRlZiBzaG91bGQgYmUgZG93biBoZXJlLg0KPiANCj4gPiAg ICAgICAgICAgICAgICBpbnQgcmVzZXJ2ZWQ7DQo+ID4gICAgICAgICAgICAgICAgc3RydWN0IHBh Z2UgKnRhaWwgPSBwZm5fdG9fcGFnZShwZm4pOyBAQCAtMTI0LDYgKzEyOCw3DQo+ID4gQEAgYm9v bCBrdm1faXNfbW1pb19wZm4ocGZuX3QgcGZuKQ0KPiA+ICAgICAgICAgICAgICAgIH0NCj4gPiAg ICAgICAgICAgICAgICByZXR1cm4gUGFnZVJlc2VydmVkKHRhaWwpOw0KPiA+ICAgICAgICB9DQo+ ID4gKyNlbmRpZg0KPiA+DQo+ID4gICAgICAgIHJldHVybiB0cnVlOw0KPiA+IH0NCj4gPg0KPiA+ IEJlZm9yZSBhcHBseSB0aGlzIGNoYW5nZToNCj4gPg0KPiA+IHJlYWwgICAgKDFtMTkuOTU0cyAr IDFtMjAuOTE4cyArIDFtMjIuNzQwcyArIDFtMjEuMTQ2cyArIDFtMjIuMTIwcykvNT0NCj4gMW0y MS4zNzZzDQo+ID4gdXNlciAgICAoMG0yMy4xODFzICsgMG0yMy41NTBzICsgMG0yMy41MDZzICsg MG0yMy40MTBzICsgMG0yMy41MjBzKS81PQ0KPiAwbTIzLjQzM3MNCj4gPiBzeXMJKDBtNDkuMDg3 cyArIDBtNDkuNTYzcyArIDBtNTEuNzU4cyArIDBtNTAuMjkwcyArIDBtNTEuMDQ3cykvNT0gMG01 MC4zNDlzDQo+ID4NCj4gPiBBZnRlciBhcHBseSB0aGlzIGNoYW5nZToNCj4gPg0KPiA+IHJlYWwg ICAgKDFtMTkuNTA3cyArIDFtMjAuOTE5cyArIDFtMjEuNDM2cyArIDFtMjEuMTc5cyArIDFtMjAu MjkzcykvNT0NCj4gMW0yMC42NjdzDQo+ID4gdXNlciAgICAoMG0yMi41OTVzICsgMG0yMi43MTlz ICsgMG0yMi40ODRzICsgMG0yMi44MTFzICsgMG0yMi40NjdzKS81PQ0KPiAwbTIyLjYxNXMNCj4g PiBzeXMJKDBtNDguODQxcyArIDBtNDkuOTI5cyArIDBtNTAuMzEwcyArIDBtNDkuODEzcyArIDBt NDguNTg3cykvNT0gMG00OS40OTZzDQo+ID4NCj4gPiBTbywNCj4gPg0KPiA+IHJlYWwgICAgKDFt MjAuNjY3cyAtIDFtMjEuMzc2cykvMW0yMS4zNzZzIHggMTAwJSA9IC0wLjYlDQo+ID4gdXNlciAg ICAoMG0yMi42MTVzIC0gMG0yMy40MzNzKS8wbTIzLjQzM3MgeCAxMDAlID0gLTMuNSUNCj4gPiBz eXMJKDBtNDkuNDk2cyAtIDBtNTAuMzQ5cykvMG01MC4zNDlzIHggMTAwJSA9IC0xLjclDQo+IA0K PiBWZXJ5IG5pY2UsIHNvIHRoZXJlIGlzIGEgcmVhbCB3b3JsZCBwZXJmb3JtYW5jZSBiZW5lZml0 IHRvIGRvaW5nIHRoaXMuIFRoZW4geWVzLA0KPiBJIHRoaW5rIGl0IHdvdWxkIG1ha2Ugc2Vuc2Ug dG8gY2hhbmdlIHRoZSBnbG9iYWwgaGVscGVyIGZ1bmN0aW9uIHRvIGJlIGZhc3Qgb24NCj4gZTUw MCBhbmQgdXNlIHRoYXQgb25lIGZyb20gZTUwMF9zaGFkb3dfbWFzMl9hdHRyaWIoKSBpbnN0ZWFk Lg0KDQpBcmUgbm90IHdlIGdvaW5nIHRvIHVzZSBwYWdlX2lzX3JhbSgpIGZyb20gIGU1MDBfc2hh ZG93X21hczJfYXR0cmliKCkgYXMgU2NvdHQgY29tbWVudGVkPw0KDQotQmhhcmF0DQoNCj4gDQo+ IEdsZWIsIFBhb2xvLCBhbnkgaGFyZCBmZWVsaW5ncz8NCj4gDQo+IA0KPiBBbGV4DQo+IA0KDQo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhushan Bharat-R65777 Date: Wed, 24 Jul 2013 09:11:27 +0000 Subject: RE: [PATCH 2/2] kvm: powerpc: set cache coherency only for kernel managed pages Message-Id: <6A3DF150A5B70D4F9B66A25E3F7C888D070E17FA@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> <6A3DF150A5B70D4F9B66A25E3F7C888D070D6E79@039-SN2MPN1-013.039d.mgd.msft.net> <51E7BE90.60300@windriver.com> <50683BE9-8BDD-4730-B866-F972BCF1EDD6@suse.de> <51E7C14C.6060600@windriver.com> <51EF3B67.5060403@windriver.com> <597D9B3F-BCE8-4483-B485-3035D6D443AC@suse.de> In-Reply-To: <597D9B3F-BCE8-4483-B485-3035D6D443AC@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Alexander Graf , =?utf-8?B?IuKAnHRpZWp1bi5jaGVu4oCdIg==?= Cc: "kvm-ppc@vger.kernel.org" , "kvm@vger.kernel.org list" , Wood Scott-B07421 , Gleb Natapov , Paolo Bonzini DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWxleGFuZGVyIEdyYWYg W21haWx0bzphZ3JhZkBzdXNlLmRlXQ0KPiBTZW50OiBXZWRuZXNkYXksIEp1bHkgMjQsIDIwMTMg MTo1NSBQTQ0KPiBUbzogIuKAnHRpZWp1bi5jaGVu4oCdIg0KPiBDYzogQmh1c2hhbiBCaGFyYXQt UjY1Nzc3OyBrdm0tcHBjQHZnZXIua2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVsLm9yZyBsaXN0 Ow0KPiBXb29kIFNjb3R0LUIwNzQyMTsgR2xlYiBOYXRhcG92OyBQYW9sbyBCb256aW5pDQo+IFN1 YmplY3Q6IFJlOiBbUEFUQ0ggMi8yXSBrdm06IHBvd2VycGM6IHNldCBjYWNoZSBjb2hlcmVuY3kg b25seSBmb3Iga2VybmVsDQo+IG1hbmFnZWQgcGFnZXMNCj4gDQo+IA0KPiBPbiAyNC4wNy4yMDEz LCBhdCAwNDoyNiwg4oCcdGllanVuLmNoZW7igJ0gd3JvdGU6DQo+IA0KPiA+IE9uIDA3LzE4LzIw MTMgMDY6MjcgUE0sIEFsZXhhbmRlciBHcmFmIHdyb3RlOg0KPiA+Pg0KPiA+PiBPbiAxOC4wNy4y MDEzLCBhdCAxMjoxOSwg4oCcdGllanVuLmNoZW7igJ0gd3JvdGU6DQo+ID4+DQo+ID4+PiBPbiAw Ny8xOC8yMDEzIDA2OjEyIFBNLCBBbGV4YW5kZXIgR3JhZiB3cm90ZToNCj4gPj4+Pg0KPiA+Pj4+ IE9uIDE4LjA3LjIwMTMsIGF0IDEyOjA4LCDigJx0aWVqdW4uY2hlbuKAnSB3cm90ZToNCj4gPj4+ Pg0KPiA+Pj4+PiBPbiAwNy8xOC8yMDEzIDA1OjQ4IFBNLCBBbGV4YW5kZXIgR3JhZiB3cm90ZToN Cj4gPj4+Pj4+DQo+ID4+Pj4+PiBPbiAxOC4wNy4yMDEzLCBhdCAxMDoyNSwgQmh1c2hhbiBCaGFy YXQtUjY1Nzc3IHdyb3RlOg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+Pj4+IEZyb206IEJodXNoYW4g QmhhcmF0LVI2NTc3Nw0KPiA+Pj4+Pj4+PiBTZW50OiBUaHVyc2RheSwgSnVseSAxOCwgMjAxMyAx OjUzIFBNDQo+ID4+Pj4+Pj4+IFRvOiAnIiB0aWVqdW4uY2hlbiAiJw0KPiA+Pj4+Pj4+PiBDYzog a3ZtLXBwY0B2Z2VyLmtlcm5lbC5vcmc7IGt2bUB2Z2VyLmtlcm5lbC5vcmc7DQo+ID4+Pj4+Pj4+ IGFncmFmQHN1c2UuZGU7IFdvb2QgU2NvdHQtDQo+ID4+Pj4+Pj4+IEIwNzQyMQ0KPiA+Pj4+Pj4+ PiBTdWJqZWN0OiBSRTogW1BBVENIIDIvMl0ga3ZtOiBwb3dlcnBjOiBzZXQgY2FjaGUgY29oZXJl bmN5IG9ubHkNCj4gPj4+Pj4+Pj4gZm9yIGtlcm5lbCBtYW5hZ2VkIHBhZ2VzDQo+ID4+Pj4+Pj4+ DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+Pj4+Pj4+Pj4gRnJvbTogIiB0aWVqdW4uY2hlbiAiIFttYWlsdG86dGllanVu LmNoZW5Ad2luZHJpdmVyLmNvbV0NCj4gPj4+Pj4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBKdWx5IDE4 LCAyMDEzIDE6NTIgUE0NCj4gPj4+Pj4+Pj4+IFRvOiBCaHVzaGFuIEJoYXJhdC1SNjU3NzcNCj4g Pj4+Pj4+Pj4+IENjOiBrdm0tcHBjQHZnZXIua2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVsLm9y ZzsNCj4gPj4+Pj4+Pj4+IGFncmFmQHN1c2UuZGU7IFdvb2QNCj4gPj4+Pj4+Pj4+IFNjb3R0LQ0K PiA+Pj4+Pj4+Pj4gQjA3NDIxDQo+ID4+Pj4+Pj4+PiBTdWJqZWN0OiBSZTogW1BBVENIIDIvMl0g a3ZtOiBwb3dlcnBjOiBzZXQgY2FjaGUgY29oZXJlbmN5DQo+ID4+Pj4+Pj4+PiBvbmx5IGZvciBr ZXJuZWwgbWFuYWdlZCBwYWdlcw0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IE9uIDA3LzE4LzIw MTMgMDQ6MDggUE0sIEJodXNoYW4gQmhhcmF0LVI2NTc3NyB3cm90ZToNCj4gPj4+Pj4+Pj4+Pg0K PiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+Pj4+Pj4+Pj4+IEZyb206IGt2bS1wcGMtb3duZXJAdmdlci5rZXJuZWwub3JnDQo+ID4+Pj4+ Pj4+Pj4+IFttYWlsdG86a3ZtLXBwYy1vd25lckB2Z2VyLmtlcm5lbC5vcmddIE9uIEJlaGFsZiBP ZiAiIHRpZWp1bi5jaGVuICINCj4gPj4+Pj4+Pj4+Pj4gU2VudDogVGh1cnNkYXksIEp1bHkgMTgs IDIwMTMgMTowMSBQTQ0KPiA+Pj4+Pj4+Pj4+PiBUbzogQmh1c2hhbiBCaGFyYXQtUjY1Nzc3DQo+ ID4+Pj4+Pj4+Pj4+IENjOiBrdm0tcHBjQHZnZXIua2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVs Lm9yZzsNCj4gPj4+Pj4+Pj4+Pj4gYWdyYWZAc3VzZS5kZTsgV29vZA0KPiA+Pj4+Pj4+Pj4+PiBT Y290dC0NCj4gPj4+Pj4+Pj4+Pj4gQjA3NDIxDQo+ID4+Pj4+Pj4+Pj4+IFN1YmplY3Q6IFJlOiBb UEFUQ0ggMi8yXSBrdm06IHBvd2VycGM6IHNldCBjYWNoZSBjb2hlcmVuY3kNCj4gPj4+Pj4+Pj4+ Pj4gb25seSBmb3Iga2VybmVsIG1hbmFnZWQgcGFnZXMNCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+ Pj4+Pj4gT24gMDcvMTgvMjAxMyAwMzoxMiBQTSwgQmh1c2hhbiBCaGFyYXQtUjY1Nzc3IHdyb3Rl Og0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+Pj4+Pj4+Pj4+PiBGcm9tOiAiIHRpZWp1bi5jaGVu ICIgW21haWx0bzp0aWVqdW4uY2hlbkB3aW5kcml2ZXIuY29tXQ0KPiA+Pj4+Pj4+Pj4+Pj4+IFNl bnQ6IFRodXJzZGF5LCBKdWx5IDE4LCAyMDEzIDExOjU2IEFNDQo+ID4+Pj4+Pj4+Pj4+Pj4gVG86 IEJodXNoYW4gQmhhcmF0LVI2NTc3Nw0KPiA+Pj4+Pj4+Pj4+Pj4+IENjOiBrdm0tcHBjQHZnZXIu a2VybmVsLm9yZzsga3ZtQHZnZXIua2VybmVsLm9yZzsNCj4gPj4+Pj4+Pj4+Pj4+PiBhZ3JhZkBz dXNlLmRlOyBXb29kDQo+ID4+Pj4+Pj4+Pj4+Pj4gU2NvdHQtIEIwNzQyMTsgQmh1c2hhbiBCaGFy YXQtUjY1Nzc3DQo+ID4+Pj4+Pj4+Pj4+Pj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJdIGt2bTog cG93ZXJwYzogc2V0IGNhY2hlIGNvaGVyZW5jeQ0KPiA+Pj4+Pj4+Pj4+Pj4+IG9ubHkgZm9yIGtl cm5lbCBtYW5hZ2VkIHBhZ2VzDQo+ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+PiBPbiAw Ny8xOC8yMDEzIDAyOjA0IFBNLCBCaGFyYXQgQmh1c2hhbiB3cm90ZToNCj4gPj4+Pj4+Pj4+Pj4+ Pj4gSWYgdGhlcmUgaXMgYSBzdHJ1Y3QgcGFnZSBmb3IgdGhlIHJlcXVlc3RlZCBtYXBwaW5nIHRo ZW4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gaXQncyBub3JtYWwgRERSIGFuZCB0aGUgbWFwcGluZyBzZXRz ICJNIiBiaXQgKGNvaGVyZW50LA0KPiA+Pj4+Pj4+Pj4+Pj4+PiBjYWNoZWFibGUpIGVsc2UgdGhp cyBpcyB0cmVhdGVkIGFzIEkvTyBhbmQgd2Ugc2V0ICAiSSArDQo+ID4+Pj4+Pj4+Pj4+Pj4+IEci ICAoY2FjaGUgaW5oaWJpdGVkLA0KPiA+Pj4+Pj4+Pj4+Pj4+PiBndWFyZGVkKQ0KPiA+Pj4+Pj4+ Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+PiBUaGlzIGhlbHBzIHNldHRpbmcgcHJvcGVyIFRMQiBt YXBwaW5nIGZvciBkaXJlY3QgYXNzaWduZWQNCj4gPj4+Pj4+Pj4+Pj4+Pj4gZGV2aWNlDQo+ID4+ Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEJoYXJhdCBCaHVz aGFuDQo+ID4+Pj4+Pj4+Pj4+Pj4+IDxiaGFyYXQuYmh1c2hhbkBmcmVlc2NhbGUuY29tPg0KPiA+ Pj4+Pj4+Pj4+Pj4+PiAtLS0NCj4gPj4+Pj4+Pj4+Pj4+Pj4gICAgYXJjaC9wb3dlcnBjL2t2bS9l NTAwX21tdV9ob3N0LmMgfCAgIDE3ICsrKysrKysrKysrKy0tLS0tDQo+ID4+Pj4+Pj4+Pj4+Pj4+ ICAgIDEgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4g Pj4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJw Yy9rdm0vZTUwMF9tbXVfaG9zdC5jDQo+ID4+Pj4+Pj4+Pj4+Pj4+IGIvYXJjaC9wb3dlcnBjL2t2 bS9lNTAwX21tdV9ob3N0LmMNCj4gPj4+Pj4+Pj4+Pj4+Pj4gaW5kZXggMWM2YTlkNy4uMDg5YzIy NyAxMDA2NDQNCj4gPj4+Pj4+Pj4+Pj4+Pj4gLS0tIGEvYXJjaC9wb3dlcnBjL2t2bS9lNTAwX21t dV9ob3N0LmMNCj4gPj4+Pj4+Pj4+Pj4+Pj4gKysrIGIvYXJjaC9wb3dlcnBjL2t2bS9lNTAwX21t dV9ob3N0LmMNCj4gPj4+Pj4+Pj4+Pj4+Pj4gQEAgLTY0LDEzICs2NCwyMCBAQCBzdGF0aWMgaW5s aW5lIHUzMg0KPiA+Pj4+Pj4+Pj4+Pj4+PiBlNTAwX3NoYWRvd19tYXMzX2F0dHJpYih1MzIgbWFz MywgaW50DQo+ID4+Pj4+Pj4+Pj4+Pj4gdXNlcm1vZGUpDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICAgIAly ZXR1cm4gbWFzMzsNCj4gPj4+Pj4+Pj4+Pj4+Pj4gICAgfQ0KPiA+Pj4+Pj4+Pj4+Pj4+Pg0KPiA+ Pj4+Pj4+Pj4+Pj4+PiAtc3RhdGljIGlubGluZSB1MzIgZTUwMF9zaGFkb3dfbWFzMl9hdHRyaWIo dTMyIG1hczIsIGludA0KPiA+Pj4+Pj4+Pj4+Pj4+PiB1c2VybW9kZSkNCj4gPj4+Pj4+Pj4+Pj4+ Pj4gK3N0YXRpYyBpbmxpbmUgdTMyIGU1MDBfc2hhZG93X21hczJfYXR0cmliKHUzMiBtYXMyLA0K PiA+Pj4+Pj4+Pj4+Pj4+PiArcGZuX3QgcGZuKQ0KPiA+Pj4+Pj4+Pj4+Pj4+PiAgICB7DQo+ID4+ Pj4+Pj4+Pj4+Pj4+ICsJdTMyIG1hczJfYXR0cjsNCj4gPj4+Pj4+Pj4+Pj4+Pj4gKw0KPiA+Pj4+ Pj4+Pj4+Pj4+PiArCW1hczJfYXR0ciA9IG1hczIgJiBNQVMyX0FUVFJJQl9NQVNLOw0KPiA+Pj4+ Pj4+Pj4+Pj4+PiArDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICsJaWYgKCFwZm5fdmFsaWQocGZuKSkgew0K PiA+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4gV2h5IG5vdCBkaXJlY3RseSB1c2Uga3Zt X2lzX21taW9fcGZuKCk/DQo+ID4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4gV2hhdCBJIHVu ZGVyc3RhbmQgZnJvbSB0aGlzIGZ1bmN0aW9uIChzb21lb25lIGNhbiBjb3JyZWN0DQo+ID4+Pj4+ Pj4+Pj4+PiBtZSkgaXMgdGhhdCBpdA0KPiA+Pj4+Pj4+Pj4+PiByZXR1cm5zICJmYWxzZSIgd2hl biB0aGUgcGFnZSBpcyBtYW5hZ2VkIGJ5IGtlcm5lbCBhbmQgaXMNCj4gPj4+Pj4+Pj4+Pj4gbm90 IG1hcmtlZCBhcyBSRVNFUlZFRCAoZm9yIHNvbWUgcmVhc29uKS4gRm9yIHVzIGl0IGRvZXMgbm90 DQo+ID4+Pj4+Pj4+Pj4+IG1hdHRlciB3aGV0aGVyIHRoZSBwYWdlIGlzIHJlc2VydmVkIG9yIG5v dCwgaWYgaXQgaXMga2VybmVsDQo+ID4+Pj4+Pj4+Pj4+IHZpc2libGUgcGFnZSB0aGVuIGl0DQo+ ID4+Pj4+Pj4+IGlzIEREUi4NCj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+Pj4+IEkgdGhpbmsgeW91IGFyZSBzZXR0aW5nIEl8RyBieSBhZGRyZXNzaW5nIGFsbCBtbWlv IHBhZ2VzLA0KPiA+Pj4+Pj4+Pj4+PiByaWdodD8gSWYgc28sDQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+ Pj4+Pj4+Pj4+ICAgICAgS1ZNOiBkaXJlY3QgbW1pbyBwZm4gY2hlY2sNCj4gPj4+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+Pj4gICAgICBVc2Vyc3BhY2UgbWF5IHNwZWNpZnkgbWVtb3J5IHNsb3RzIHRo YXQgYXJlIGJhY2tlZCBieQ0KPiA+Pj4+Pj4+Pj4+PiBtbWlvIHBhZ2VzIHJhdGhlciB0aGFuDQo+ ID4+Pj4+Pj4+Pj4+ICAgICAgbm9ybWFsIFJBTS4gIEluIHNvbWUgY2FzZXMgaXQgaXMgbm90IGVu b3VnaCB0byBpZGVudGlmeQ0KPiA+Pj4+Pj4+Pj4+PiB0aGVzZSBtbWlvDQo+ID4+Pj4+Pj4+PiBw YWdlcw0KPiA+Pj4+Pj4+Pj4+PiAgICAgIGJ5IHBmbl92YWxpZCgpLiAgVGhpcyBwYXRjaCBhZGRz IGNoZWNraW5nIHRoZSBQYWdlUmVzZXJ2ZWQgYXMNCj4gd2VsbC4NCj4gPj4+Pj4+Pj4+Pg0KPiA+ Pj4+Pj4+Pj4+IERvIHlvdSBrbm93IHdoYXQgYXJlIHRob3NlICJzb21lIGNhc2VzIiBhbmQgaG93 IGNoZWNraW5nDQo+ID4+Pj4+Pj4+Pj4gUGFnZVJlc2VydmVkIGhlbHBzIGluDQo+ID4+Pj4+Pj4+ PiB0aG9zZSBjYXNlcz8NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBObywgbXlzZWxmIGRpZG4n dCBzZWUgdGhlc2UgYWN0dWFsIGNhc2VzIGluIHFlbXUsdG9vLiBCdXQgdGhpcw0KPiA+Pj4+Pj4+ Pj4gc2hvdWxkIGJlIGNocm9uaWNhbGx5IHBlcnNpc3RlbnQgYXMgSSB1bmRlcnN0YW5kIDstKQ0K PiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBUaGVuIEkgd2lsbCB3YWl0IHRpbGwgc29tZW9uZSBlZHVj YXRlIG1lIDopDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBUaGUgcmVhc29uIGlzICwga3ZtX2lzX21t aW9fcGZuKCkgZnVuY3Rpb24gbG9va3MgcHJldHR5IGhlYXZ5IGFuZCBJIGRvDQo+IG5vdCB3YW50 IHRvIGNhbGwgdGhpcyBmb3IgYWxsIHRsYndlIG9wZXJhdGlvbiB1bmxlc3MgaXQgaXMgbmVjZXNz YXJ5Lg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEl0IGNlcnRhaW5seSBkb2VzIG1vcmUgdGhhbiB3ZSBu ZWVkIGFuZCBwb3RlbnRpYWxseSBzbG93cyBkb3duIHRoZSBmYXN0DQo+IHBhdGggKFJBTSBtYXBw aW5nKS4gVGhlIG9ubHkgdGhpbmcgaXQgZG9lcyBvbiB0b3Agb2YgImlmIChwZm5fdmFsaWQoKSki IGlzIHRvDQo+IGNoZWNrIGZvciBwYWdlcyB0aGF0IGFyZSBkZWNsYXJlZCByZXNlcnZlZCBvbiB0 aGUgaG9zdC4gVGhpcyBoYXBwZW5zIGluIDIgY2FzZXM6DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gICAx KSBOb24gY2FjaGUgY29oZXJlbnQgRE1BDQo+ID4+Pj4+PiAgIDIpIE1lbW9yeSBob3QgcmVtb3Zl DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhlIG5vbiBjb2hlcmVudCBETUEgY2FzZSB3b3VsZCBiZSBp bnRlcmVzdGluZywgYXMgd2l0aCB0aGUgbWVjaGFuaXNtIGFzDQo+IGl0IGlzIGluIHBsYWNlIGlu IExpbnV4IHRvZGF5LCB3ZSBjb3VsZCBwb3RlbnRpYWxseSBicmVhayBub3JtYWwgZ3Vlc3Qgb3Bl cmF0aW9uDQo+IGlmIHdlIGRvbid0IHRha2UgaXQgaW50byBhY2NvdW50LiBIb3dldmVyLCBpdCdz IEtjb25maWcgZ3VhcmRlZCBieToNCj4gPj4+Pj4+DQo+ID4+Pj4+PiAgICAgICAgIGRlcGVuZHMg b24gNHh4IHx8IDh4eCB8fCBFMjAwIHx8IFBQQ19NUEM1MTJ4IHx8IEdBTUVDVUJFX0NPTU1PTg0K PiA+Pj4+Pj4gICAgICAgICBkZWZhdWx0IG4gaWYgUFBDXzQ3eA0KPiA+Pj4+Pj4gICAgICAgICBk ZWZhdWx0IHkNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBzbyB3ZSBuZXZlciBoaXQgaXQgd2l0aCBhbnkg Y29yZSB3ZSBjYXJlIGFib3V0IDspLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IE1lbW9yeSBob3QgcmVt b3ZlIGRvZXMgbm90IGV4aXN0IG9uIGU1MDAgRldJVywgc28gd2UgZG9uJ3QgaGF2ZSB0byB3b3Jy eQ0KPiBhYm91dCB0aGF0IG9uZSBlaXRoZXIuDQo+ID4+Pj4+DQo+ID4+Pj4+IFRoYW5rcyBmb3Ig dGhpcyBnb29kIGluZm9ybWF0aW9uIDopDQo+ID4+Pj4+DQo+ID4+Pj4+IFNvIHdoeSBub3QgbGlt aXQgdGhvc2UgY29kZXMgd2l0aCBDT05GSUdfTUVNT1JZX0hPVFBMVUcgaW5zaWRlDQo+IGt2bV9p c19tbWlvX3BmbigpIHRvIG1ha2Ugc3VyZSB0aGF0IGNoZWNrIGlzIG9ubHkgdmFsaWQgd2hlbiB0 aGF0IGlzIHJlYWxseQ0KPiBuZWVkZWQ/IFRoaXMgY2FuIGRlY3JlYXNlIHRob3NlIHVubmVjZXNz YXJ5IHBlcmZvcm1hbmNlIGxvc3MuDQo+ID4+Pj4+DQo+ID4+Pj4+IElmIEknbSB3cm9uZyBwbGVh c2UgY29ycmVjdCBtZSA6KQ0KPiA+Pj4+DQo+ID4+Pj4gWW91J3JlIHBlcmZlY3RseSByaWdodCwg YnV0IHRoaXMgaXMgZ2VuZXJpYyBLVk0gY29kZS4gU28gaXQgZ2V0cyBydW4gYWNyb3NzDQo+IGFs bCBhcmNoaXRlY3R1cmVzLiBXaGF0IGlmIHNvbWVvbmUgaGFzIHRoZSBncmVhdCBpZGVhIHRvIGFk ZCBhIG5ldyBjYXNlIGhlcmUgZm9yDQo+IHg4NiwgYnV0IGRvZXNuJ3QgdGVsbCB1cz8gSW4gdGhh dCBjYXNlIHdlIHBvdGVudGlhbGx5IGJyZWFrIHg4Ni4NCj4gPj4+Pg0KPiA+Pj4+IEknZCByYXRo ZXIgbm90IGxpa2UgdG8gYnJlYWsgeDg2IDopLg0KPiA+Pj4+DQo+ID4+Pj4gSG93ZXZlciwgaXQn ZCBiZSB2ZXJ5IGludGVyZXN0aW5nIHRvIHNlZSBhIGJlbmNobWFyayB3aXRoIHRoaXMgY2hhbmdl LiBEbw0KPiB5b3UgdGhpbmsgeW91IGNvdWxkIGp1c3QgcmlwIG91dCB0aGUgd2hvbGUgcmVzZXJ2 ZWQgY2hlY2sgYW5kIHJ1biBhIGZldw0KPiBiZW5jaG1hcmtzIGFuZCBzaG93IHVzIHRoZSByZXN1 bHRzPw0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4gT2Z0ZW4gd2hhdCBjYXNlIHNob3VsZCBiZSBhZG9w dGVkIHRvIHZhbGlkYXRlIHRoaXMgc2NlbmFyaW8/DQo+ID4+DQo+ID4+IFNvbWV0aGluZyB3aGlj aCBoYW1tZXJzIHRoZSBUTEIgZW11bGF0aW9uIGhlYXZpbHkuIEkgdXN1YWxseSBqdXN0IHJ1bg0K PiA+PiAvYmluL2VjaG8gYSB0aG91c2FuZCB0aW1lcyBpbiAidGltZSIgYW5kIHNlZSBob3cgbG9u ZyBpdCB0YWtlcyA7KQ0KPiA+Pg0KPiA+DQo+ID4gSSB0cmllZCB0byBydW4gZml2ZSB0aW1lcyB3 aXRoIHRoaXMgY29tYmluYXRpb24sICJ0aW1lIGBmb3IgKChpPTA7IGk8NTAwMDsNCj4gaSsrKSk7 ICBkbyAvYmluL2VjaG87IGRvbmVgIiwgdG8gY2FsY3VsYXRlIHRoZSBhdmVyYWdlIHZhbHVlIHdp dGggdGhpcyBjaGFuZ2U6DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvdmlydC9rdm0va3ZtX21haW4u YyBiL3ZpcnQva3ZtL2t2bV9tYWluLmMgaW5kZXgNCj4gPiAxNTgwZGQ0Li41ZTg2MzViIDEwMDY0 NA0KPiA+IC0tLSBhL3ZpcnQva3ZtL2t2bV9tYWluLmMNCj4gPiArKysgYi92aXJ0L2t2bS9rdm1f bWFpbi5jDQo+ID4gQEAgLTEwMiw2ICsxMDIsMTAgQEAgc3RhdGljIGJvb2wgbGFyZ2VwYWdlc19l bmFibGVkID0gdHJ1ZTsNCj4gPg0KPiA+IGJvb2wga3ZtX2lzX21taW9fcGZuKHBmbl90IHBmbikN Cj4gPiB7DQo+ID4gKyNpZmRlZiBDT05GSUdfTUVNT1JZX0hPVFBMVUcNCj4gDQo+IEknZCBmZWVs IHNhZmVyIGlmIHdlIG5hcnJvdyB0aGlzIGRvd24gdG8gZTUwMC4NCj4gDQo+ID4gKyAgICAgICAv Kg0KPiA+ICsgICAgICAgICogQ3VycmVudGx5IG9ubHkgaW4gbWVtb3J5IGhvdCByZW1vdmUgY2Fz ZSB3ZSBtYXkgc3RpbGwgbmVlZCB0aGlzLg0KPiA+ICsgICAgICAgICovDQo+ID4gICAgICAgIGlm IChwZm5fdmFsaWQocGZuKSkgew0KPiANCj4gV2Ugc3RpbGwgaGF2ZSB0byBjaGVjayBmb3IgcGZu X3ZhbGlkLCBubz8gU28gdGhlICNpZmRlZiBzaG91bGQgYmUgZG93biBoZXJlLg0KPiANCj4gPiAg ICAgICAgICAgICAgICBpbnQgcmVzZXJ2ZWQ7DQo+ID4gICAgICAgICAgICAgICAgc3RydWN0IHBh Z2UgKnRhaWwgPSBwZm5fdG9fcGFnZShwZm4pOyBAQCAtMTI0LDYgKzEyOCw3DQo+ID4gQEAgYm9v bCBrdm1faXNfbW1pb19wZm4ocGZuX3QgcGZuKQ0KPiA+ICAgICAgICAgICAgICAgIH0NCj4gPiAg ICAgICAgICAgICAgICByZXR1cm4gUGFnZVJlc2VydmVkKHRhaWwpOw0KPiA+ICAgICAgICB9DQo+ ID4gKyNlbmRpZg0KPiA+DQo+ID4gICAgICAgIHJldHVybiB0cnVlOw0KPiA+IH0NCj4gPg0KPiA+ IEJlZm9yZSBhcHBseSB0aGlzIGNoYW5nZToNCj4gPg0KPiA+IHJlYWwgICAgKDFtMTkuOTU0cyAr IDFtMjAuOTE4cyArIDFtMjIuNzQwcyArIDFtMjEuMTQ2cyArIDFtMjIuMTIwcykvNT0NCj4gMW0y MS4zNzZzDQo+ID4gdXNlciAgICAoMG0yMy4xODFzICsgMG0yMy41NTBzICsgMG0yMy41MDZzICsg MG0yMy40MTBzICsgMG0yMy41MjBzKS81PQ0KPiAwbTIzLjQzM3MNCj4gPiBzeXMJKDBtNDkuMDg3 cyArIDBtNDkuNTYzcyArIDBtNTEuNzU4cyArIDBtNTAuMjkwcyArIDBtNTEuMDQ3cykvNT0gMG01 MC4zNDlzDQo+ID4NCj4gPiBBZnRlciBhcHBseSB0aGlzIGNoYW5nZToNCj4gPg0KPiA+IHJlYWwg ICAgKDFtMTkuNTA3cyArIDFtMjAuOTE5cyArIDFtMjEuNDM2cyArIDFtMjEuMTc5cyArIDFtMjAu MjkzcykvNT0NCj4gMW0yMC42NjdzDQo+ID4gdXNlciAgICAoMG0yMi41OTVzICsgMG0yMi43MTlz ICsgMG0yMi40ODRzICsgMG0yMi44MTFzICsgMG0yMi40NjdzKS81PQ0KPiAwbTIyLjYxNXMNCj4g PiBzeXMJKDBtNDguODQxcyArIDBtNDkuOTI5cyArIDBtNTAuMzEwcyArIDBtNDkuODEzcyArIDBt NDguNTg3cykvNT0gMG00OS40OTZzDQo+ID4NCj4gPiBTbywNCj4gPg0KPiA+IHJlYWwgICAgKDFt MjAuNjY3cyAtIDFtMjEuMzc2cykvMW0yMS4zNzZzIHggMTAwJSA9IC0wLjYlDQo+ID4gdXNlciAg ICAoMG0yMi42MTVzIC0gMG0yMy40MzNzKS8wbTIzLjQzM3MgeCAxMDAlID0gLTMuNSUNCj4gPiBz eXMJKDBtNDkuNDk2cyAtIDBtNTAuMzQ5cykvMG01MC4zNDlzIHggMTAwJSA9IC0xLjclDQo+IA0K PiBWZXJ5IG5pY2UsIHNvIHRoZXJlIGlzIGEgcmVhbCB3b3JsZCBwZXJmb3JtYW5jZSBiZW5lZml0 IHRvIGRvaW5nIHRoaXMuIFRoZW4geWVzLA0KPiBJIHRoaW5rIGl0IHdvdWxkIG1ha2Ugc2Vuc2Ug dG8gY2hhbmdlIHRoZSBnbG9iYWwgaGVscGVyIGZ1bmN0aW9uIHRvIGJlIGZhc3Qgb24NCj4gZTUw MCBhbmQgdXNlIHRoYXQgb25lIGZyb20gZTUwMF9zaGFkb3dfbWFzMl9hdHRyaWIoKSBpbnN0ZWFk Lg0KDQpBcmUgbm90IHdlIGdvaW5nIHRvIHVzZSBwYWdlX2lzX3JhbSgpIGZyb20gIGU1MDBfc2hh ZG93X21hczJfYXR0cmliKCkgYXMgU2NvdHQgY29tbWVudGVkPw0KDQotQmhhcmF0DQoNCj4gDQo+ IEdsZWIsIFBhb2xvLCBhbnkgaGFyZCBmZWVsaW5ncz8NCj4gDQo+IA0KPiBBbGV4DQo+IA0KDQo