From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH] xen/arm64: Use __flush_dcache_area instead of __flush_dcache_all Date: Tue, 14 Oct 2014 13:54:49 +0100 Message-ID: <1413291289.10417.46.camel@citrix.com> References: <1412610550-26964-1-git-send-email-suravee.suthikulpanit@amd.com> <20141006162828.GA22575@leverpostej> <20141007104035.GB24725@leverpostej> <20141014092106.GF16598@leverpostej> <1413279323.1497.27.camel@citrix.com> <20141014103233.GH16598@leverpostej> <1413283177.10417.34.camel@citrix.com> <20141014112333.GJ16598@leverpostej> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20141014112333.GJ16598@leverpostej> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Mark Rutland Cc: "julien.grall@linaro.org" , "xen-devel@lists.xen.org" , Roy Franz , "suravee.suthikulpanit@amd.com" , "stefano.stabellini@eu.citrix.com" List-Id: xen-devel@lists.xenproject.org T24gVHVlLCAyMDE0LTEwLTE0IGF0IDEyOjIzICswMTAwLCBNYXJrIFJ1dGxhbmQgd3JvdGU6Cj4g T24gVHVlLCBPY3QgMTQsIDIwMTQgYXQgMTE6Mzk6MzdBTSArMDEwMCwgSWFuIENhbXBiZWxsIHdy b3RlOgo+ID4gT24gVHVlLCAyMDE0LTEwLTE0IGF0IDExOjMyICswMTAwLCBNYXJrIFJ1dGxhbmQg d3JvdGU6Cj4gPiA+IE9uIFR1ZSwgT2N0IDE0LCAyMDE0IGF0IDEwOjM1OjIzQU0gKzAxMDAsIElh biBDYW1wYmVsbCB3cm90ZToKPiA+ID4gPiBPbiBUdWUsIDIwMTQtMTAtMTQgYXQgMTA6MjEgKzAx MDAsIE1hcmsgUnV0bGFuZCB3cm90ZToKPiA+ID4gPiA+IEhpIFJveSwKPiA+ID4gPiA+IAo+ID4g PiA+ID4gWy4uLl0KPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBJdCBzZWVtcyB0aGF0IGZvciBYZW4g d2UgZG8gbmVlZCB0byBmbHVzaCB0aGUgRkRUIGFzIHdlbGwgLSBJIGdldCBhCj4gPiA+ID4gPiA+ IHZhcmlldHkgb2YgY3Jhc2hlcwo+ID4gPiA+ID4gPiB3aXRoIGEgY29ycnVwdCBGRFQgd2hlbiBj YWNoZSBzdGF0ZSBpcyBtb2RlbGVkIG9uIHRoZSBGVlAgbW9kZWwsIGFuZAo+ID4gPiA+ID4gPiBT dXJhdmVlIHNlZXMgc2ltaWxhcgo+ID4gPiA+ID4gPiBiZWhhdmlvciBvbiBTZWF0dGxlLiBJIHdh cyBub3QgZXhwZWN0aW5nIHRoaXMsIGFzIEkgbG9va2VkIGF0IHRoZSBjb2RlCj4gPiA+ID4gPiA+ IGluIFhlbiBhbmQgdGhlIGNhY2hlcy9UTEIKPiA+ID4gPiA+ID4gYXJlIGVuYWJsZWQgcXVpdGUg ZWFybHkgb24sIGJlZm9yZSB0aGUgRkRUIGlzIGFjY2Vzc2VkIGJ5IFhlbi4gIEkgdGhlbgo+ID4g PiA+ID4gPiBsb29rZWQgYXQgdGhlIG1hcHBpbmdzCj4gPiA+ID4gPiA+IHVzZWQgYnkgIGVkazIg YW5kIFhlbiwgYW5kIGZvdW5kIHNvbWUgZGlmZmVyZW5jZXMuICBFdmVuIGFmdGVyCj4gPiA+ID4g PiA+IG1vZGlmeWluZyBlZGsyIHRvIHVzZSB0aGUgc2FtZQo+ID4gPiA+ID4gPiBjb25maWd1cmF0 aW9uIGFzIFhlbiwgdGhlIGZsdXNoaW5nIG9mIHRoZSBGRFQgaXMgc3RpbGwgcmVxdWlyZWQuIFhl bgo+ID4gPiA+ID4gPiBhbmQgZWRrMiB1c2UgdGhlIHNhbWUgbWVtb3J5Cj4gPiA+ID4gPiA+IGF0 dHJpYnV0ZXMgIGluIHRoZSBNQUlSX0VMMiByZWdpc3RlciAoMHhGRiksIGJ1dCBoYWQgZGlmZmVy ZW50Cj4gPiA+ID4gPiA+IHNoYXJpbmcsIGFjY2VzcyBwZXJtLCBhbmQgbkcgc2V0dGluZ3MuCj4g PiA+ID4gPiAKPiA+ID4gPiA+IEkgZG9uJ3QgdGhpbmsgdGhlIGFjY2VzcyBwZXJtIG9yIG5HIHNl dHRpbmdzIHNob3VsZCBoYXZlIGFueSBlZmZlY3QsIGJ1dAo+ID4gPiA+ID4gdGhlIHNoYXJlYWJp bGl0eSBmb3JtcyBwYXJ0IG9mIHRoZSBtZW1vcnkgYXR0cmlidXRlcyAoYWxvbmcgd2l0aCB0aGUK PiA+ID4gPiA+IG1lbW9yeSB0eXBlIGFuZCBjYWNoZWFiaWxpdHkpLCBhbmQgdGhlcmUgYXJlIHNl dmVyYWwgcnVsZXMgdGhhdCBhcHBseQo+ID4gPiA+ID4gd2hlbiBhY2Nlc3NpbmcgYSBtZW1vcnkg bG9jYXRpb24gd2l0aCBtaXNtYXRjaGVkIGF0dHJpYnV0ZXMuIFNlZSB0aGUKPiA+ID4gPiA+IEFS TXY4IEFSTSAtIFRoZSBBQXJjaDY0IEFwcGxpY2F0aW9uIExldmVsIE1lbW9yeSBNb2RlbCAtIE1p c21hdGNoZWQKPiA+ID4gPiA+IG1lbW9yeSBhdHRyaWJ1dGVzLgo+ID4gPiA+ID4gCj4gPiA+ID4g PiBJbiBMaW51eCB3ZSdyZSBsaWtlbHkgZ2V0dGluZyBsdWNreSwgYW5kIHRoZSBzaGFyZWFiaWxp dHkgd2UgdXNlIHZhcmllcwo+ID4gPiA+ID4gZm9yIGFuIFNNUCBvciBVUCBrZXJuZWwuIFNvIHdl IG5lZWQgbWFpbnRlbmFuY2UgaW4gYXQgbGVhc3Qgb25lIG9mIHRob3NlCj4gPiA+ID4gPiBjYXNl cy4gVGhpcyB3b3VsZCBhbHNvIGFwcGx5IHRvIGFueSBpbml0cmQgb3Igb3RoZXIgaW1hZ2UuCj4g PiA+ID4gPiAKPiA+ID4gPiA+IERvIHlvdSBoYXBwZW4gdG8ga25vdyB0aGUgc2hhcmVhYmlsaXR5 IHVzZWQgYnkgRURLMiBhbmQgWGVuPwo+ID4gPiA+IAo+ID4gPiA+IFhlbiBtYXBzIGV2ZXJ5dGhp bmcgaW5uZXItc2hhcmVhYmxlLiBEdW5ubyBhYm91dCBFREsyLgo+ID4gPiAKPiA+ID4gT2suIFRo YXQgbWF0Y2hlcyB3aGF0IGFuIFNNUCBMaW51eCBrZXJuZWwgd2lsbCBkbywgc28gaXQgbG9va3Mg bGlrZQo+ID4gPiB3ZSdyZSBqdXN0IGdldHRpbmcgbHVja3kgd2l0aCBMaW51eC4gSSdsbGwgaGF2 ZSBhIHBsYXkgYW5kIHNlZSBpZiBJIGNhbgo+ID4gPiB0cmlnZ2VyIHNpbWlsYXIgaXNzdWVzLgo+ ID4gPiAKPiA+ID4gPiBJcyB0aGUgcmVhbCBpc3N1ZSBoZXJlIG5vdCBhIGxhY2sgb2Ygc3BlY2lm aWNhdGlvbiBmb3Igc29tZSBjb3JuZXIgY2FzZXMKPiA+ID4gPiBvZiB0aGUgYm9vdCBwcm90b2Nv bD8gQ2FuIHdlIGdldCB0aGF0IGZpeGVkIHNvbWVob3c/Cj4gPiA+IAo+ID4gPiBUbyBhbiBleHRl bnQsIHllcy4gV2UgY2FuIHRyeSB0byBmaXggdXAgdGhlIExpbnV4IHNpZGUgd2l0aCBwYXRjaGUg dG8KPiA+ID4gRG9jdW1lbnRhdGlvbi9hcm02NC9ib290aW5nLnR4dC4gQXMgZmFyIGFzIEkgYW0g YXdhcmUsIGZvciBVRUZJIHRoYXQKPiA+ID4gd2lsbCByZXF1aXJlIG1lbWJlcnNoaXAgb2YgdGhl IFVFRkkgZm9ydW0uCj4gPiA+IAo+ID4gCj4gPiBJcyBEb2N1bWVudGF0aW9uL2FybTY0L2Jvb3Rp bmcudHh0IHJlbGV2YW50IGhlcmUgc2luY2UgdGhlIGtlcm5lbCBpcwo+ID4gYmVpbmcgbGF1bmNo ZWQgYXMgYW4gRUZJIGFwcCwgd2hpY2ggYWxyZWFkeSBoYXMgYSBzdGFuZGFyZGlzZWQgY2FsbGlu Zwo+ID4gY29udmVudGlvbiBvZiBpdHMgb3duLiBJIHN1cHBvc2UgYm9vdGluZy50eHQgaXMgaW4g YWRkaXRpb24gdG8gdGhlIFVFRkkKPiA+IGNvbnZlbnRpb24uIEl0IHByb2JhYmx5IHdvdWxkIGJl IGJlc3QgdG8gZm9ybWFsaXNlIHRoYXQgKHdoYXQgaWYgYQo+ID4gc2Vjb25kIE9TIGNvbWVzIGFs b25nIHdpdGggY29udHJhZGljdG9yeSByZXF1aXJlbWVudHM/KQo+IAo+IElmIHdlJ3JlIHRyeWlu ZyB0byBmaXggdXAgVUVGSSwgdGhhdCBuZWVkcyB0byBoYXBwZW4gYXQgdGhlIFVFRkkgZm9ydW0K PiBsZXZlbC4gSSBiZWxpZXZlIHRoZXJlIGFyZSBzb21lIGFkZGl0aW9uYWwgcmVxd3VpcmVtZW50 cyBpbiBTQlNBL1NCQlIsCj4gYnV0IEkgaGF2ZW4ndCBzdHVkaWVkIHRoZW0gaW4gZGV0YWlsLgo+ IAo+IElmIHRoZXJlIGFyZSByZXF1aXJlbWVudHMgdGhhdCBMaW51eCBuZWVkcyB0byBoYXZlIG1l dCByZWdhcmRsZXNzIG9mCj4gVUVGSSwgd2Ugc2hvdWxkIGVuc3VyZSB3ZSBtZW50aW9uIHRoYXQg aW4gYm9vdGluZy50eHQuCj4gCj4gSXQgd291bGQgYmUgbmljZSB0byBoYXZlIGNyb3NzLU9TIGFn cmVlbWVudCBvbiBib290IHByb3RvY29scywgYnV0IGF0Cj4gdGhlIG1vbWVudCB0aGUgdGFibGUg aXMgc29tZXdoYXQgZW1wdHkgYmV5b25kIExpbnV4IGFuZCBYZW4uIEkgaGFkIGEKPiBjb252ZXJz YXRpb24gd2l0aCB0aGUgRnJlZUJTRCBndXlzIHdvcmtpbmcgb24gNjQtYml0IEFSTSBzdHVmZiwg YnV0Cj4gdGhleSdyZSBzdGlsbCBhdCBhbiBlYXJseSBzdGFnZSwgYW5kIEkgY2FuJ3QgcmVjYWxs IHRoZSBzcGVjaWZpY3Mgb2YKPiB0aGVpciBib290IHByb2Nlc3MuCgpJIHdhcyB0aGlua2luZyAo cGVyaGFwcyBuYcOvdmVseSkgdGhhdCB0aGVzZSBwcm9ibGVtcyB3b3VsZCBiZSBtb3N0bHkgdGhl CnNhbWUgZm9yIGFueSBPUyBhbmQgdGhhdCB0aGUgc29sdXRpb24gb3VnaHQgdG8gYmUgc3BlY2lm aWVkIGluIHRlcm1zCndoaWNoIGFsbG93IGFueSBPUyB0byBrbm93IHdoYXQgdG8gZXhwZWN0IGFu ZC9vciB3aGF0IGlzIGV4cGVjdGVkIG9mCnRoZW0uIFJlYWxseSBPU2VzIG91Z2h0IHRvIGJlIGRl c2lnbmluZyB0aGVpciBib290IHByb3RvY29scyB3aXRoaW4gdGhlCnNldCBvZiBjb25zdHJhaW50 cyBpbXBsaWVkIGJ5IHRoZSAoaW1wcm92ZWQpIFVFRkkgbGF1bmNoaW5nIHNwZWMsIG5vdAp2aWNl IHZlcnNhLgoKPiA+ID4gPiBQYXJ0IG9mIG1lIHdhbnRzIHRvIHN1Z2dlc3QgdGhhdCBVRUZJIChh bmQgYm9vdGxvYWRlcnMgZ2VuZXJhbGx5KSBvdWdodAo+ID4gPiA+IHRvIGJlIGNsZWFuaW5nIGNh Y2hlcyBmb3IgYW55dGhpbmcgdGhleSBoYXZlIGxvYWRlZCBpbnRvIFJBTSBiZWZvcmUKPiA+ID4g PiBsYXVuY2hpbmcgYW4gT1MgYXMgYSBtYXR0ZXIgb2YgZ29vZCBoeWdpZW5lLgo+ID4gPiAKPiA+ ID4gSW4gZ2VuZXJhbCwgeWVzLgo+ID4gPiAKPiA+ID4gVW5mb3J0dW5hdGVseSwgVUVGSSBjYW4n dCBwZXJmb3JtIHRoZSBtYWludGVuYW5jZSBpbiB0aGlzIGNhc2UsIGJlY2F1c2UKPiA+ID4gdGhl IHN0dWIgbW9kaWZpZXMgdGhpbmdzLiBJIHdhcyB1bmRlciB0aGUgaW1wcmVzc2lvbiBpdCBjb3Bp ZWQgYW5kCj4gPiA+IG1vZGlmaWVkIHRoZSBGRFQgdG8gZW1iZWQgdGhlIGNvbW1hbmQgbGluZSAt LSBVRUZJIGhhcyBubyB2aXNpYmlsdGl5IG9mCj4gPiA+IHRoaXMgYW5kIHRoZXJlZm9yZSBjYW5u b3QgYmUgaW4gY2hhcmdlIG9mIGZsdXNoaW5nIGl0LiBTbyBpbiB0aGlzIGNhc2UsCj4gPiA+IHRo ZSBzdHViIG5lZWRzIHRvIGJlIHRob3VnaHQgb2YgYXMgdGhlIGJvb3Rsb2FkZXIsIGFuZCBuZWVk cyB0byBiZSBpbgo+ID4gPiBjaGFyZ2Ugb2YgYW55IHJlcXVpcmVkIG1haW50ZW5hbmNlLgo+ID4g Cj4gPiBSaWdodCwgdGhhdCdzIHdoYXQgSSB3YXMgdGhpbmtpbmcuIFVFRkkgZW50ZXJzIGJvb3Rs b2FkZXIgd2l0aAo+ID4gZXZlcnl0aGluZyBpdCBoYXMgZG9uZSBhbGwgbmljZSBhbmQgY2xlYW4g YW5kIGNvbnNpc3RlbnQuIEFueXRoaW5nIHRoZQo+ID4gc3R1YiB0aGVuIGRvZXMgaXQgaXMgcmVz cG9uc2libGUgZm9yIG1haW50YWluaW5nIHRoZSBjbGVhbmxpbmVzcy4KPiAKPiBUaGVyZSBhcmUg dHdvIGhvcnJpYmxlIHBhcnRzIGhlcmU6Cj4gCj4gICogRUZJIGhhcyBubyBpZGVhIHdoYXQgYSBi b290IGxvYWRlciBpcy4gQXMgZmFyIGFzIGl0J3MgYXdhcmUsIHRoZQo+ICAgIGtlcm5lbCArIGVm aSBzdHViIGlzIGp1c3QgYW5vdGhlciBVRUZJIGFwcGxpY2F0aW9uIHVudGlsIGl0IGNhbGxzCj4g ICAgRXhpdEJvb3RTZXJ2aWNlcy4gRm9yIGFsbCBVRUZJIGtub3dzLCBpdCBtYXkgYXMgd2VsbCBi ZSBhIGNhbGN1bGF0b3IKPiAgICB1bnRpbCB0aGF0IHBvaW50LCBhbmQgZmx1c2hpbmcgdGhlIGVu dGlyZSBjYWNoZSBoaWVyYXJjaHkgZm9yIGEKPiAgICBjYWxjdWxhdG9yIHNlZW1zIGEgbGl0dGxl IGV4dHJlbWUuCgpNb3N0IEVGSSBhcHBsaWNhdGlvbnMgYXJlIG5vdCB0aGF0IHRyaXZpYWwgdGhv dWdoLCBhbmQgYW55IG5vbi10cml2aWFsCmFwcCBpcyBnb2luZyB0byAod2l0aCBzb21lIHJlYXNv bmFibHkgaGlnaCBwcm9iYWJpbGl0eSkgbmVlZCB0byB0b3VjaAp0aGUgTU1VLiBJIGRvbid0IHNl ZSB0aGUgcHJvYmxlbSB3aXRoIGRvaW5nIHNvbWV0aGluZyB3aGljaCBhbHdheXMgd29ya3MKZXZl biBpZiBpdCBtaWdodCBiZSBvdmVya2lsbCBmb3Igc29tZSBzbWFsbCBzdWJzZXQgb2YgdGhpbmdz IHlvdSBtaWdodApiZSBsYXVuY2hpbmcuCgo+ICAqIERlZmluaW5nICJuaWNlIGFuZCBjbGVhbiBh bmQgY29uc2lzdGVudCIuCj4gICAKPiAgICBBcyBmYXIgYXMgSSBhbSBhd2FyZSwgVUVGSSBtYXkg aGF2ZSBhbiBhcmJpdHJhcnkgc2V0IG9mIG1hcHBpbmdzCj4gICAgcHJlc2VudCBkdXJpbmcgYm9v dCBzZXJ2aWNlcyB0aW1lLCB3aXRoIGFyYml0cmFyeSBkcml2ZXJzIGFjdGl2ZS4gCj4gICAgVGhh dCBtZWFucyB0aGF0IFVFRkkgY2FuIGNyZWF0ZSBkaXJ0eSBjYWNoZSBlbnRyaWVzIGNvbmN1cnJl bnRseSB3aXRoCj4gICAgdGhlIGJvb3Rsb2FkZXIsIGluIGFkZGl0aW9uIHRvIHRoZSB1c3VhbCBj bGVhbiBlbnRyaWVzIHRoYXQgY2FuIGJlCj4gICAgYWxsb2NhdGVkIGF0IGFueSB0aW1lIHRoYW5r cyB0byBzcGVjdWxhdGl2ZSBmZXRjaGVzLgo+ICAgIAo+ICAgIFNvIHdoaWxlIHdlJ3JlIGluIHRo ZSBib290bG9hZGVyLCBhbnkgc3lzdGVtIGxldmVsIGNhY2hlcyBjYW4gaGF2ZQo+ICAgIGVudHJp ZXMgYWxsb2NhdGVkIHRvIGl0LCBhbmQgYXMgdGhvc2UgYXJlbid0IGFyY2hpdGVjdGVkIHRoZSBv bmx5Cj4gICAgdGhpbmcgd2UgY2FuIGRvIGlzIGZsdXNoIHRob3NlIGJ5IFZBIGZvciB0aGUgcG9y dGlvbnMgd2UgY2FyZSBhYm91dC4KPiAgICAKPiBTbyB3ZSBjYW4gaGF2ZSAiaW5pdGlhbGx5IGNv bnNpc3RlbnQiLCBidXQgdGhhdCBtaWdodCBub3QgYmUgdXNlZnVsLgoKSHJtLCB5ZXMsIHJhdGhl ciB1bmZvcnR1bmF0ZS4KCj4gCj4gPiA+IFRoZXJlIGFyZSBhIHRvbm5lIG9mIHN1YnRsZXRpZXMg aGVyZSwgYW5kIGNlcnRhaW4gcHJvcGVydGllcyB3ZSB3b3VsZAo+ID4gPiBsaWtlIChlLmcuIGEg Y29tcGxldGVseSBjbGVhbiBjYWNoZSBoaWVyYXJjaHkgdXBvbiBlbnRyeSB0byB0aGUgT1MpCj4g PiA+IGFyZW4ndCBuZWNlc3NhcmlseSBwb3NzaWJsZSB0byBwcm92aWRlIGluIGdlbmVyYWwgKHRo YW5rcyB0byB0aGUgd29uZGVycwo+ID4gPiBvZiBub24tYXJjaGl0ZWN0ZWQgc3lzdGVtIGxldmVs IGNhY2hlcywgaW50ZXJhY3Rpb24gd2l0aCBib290bG9hZGVycywKPiA+ID4gZXRjKS4KPiA+IAo+ ID4gSSBzdXBwb3NlIGl0IGlzIGVhc2llciBmb3IgdGhlIFVFRkkgaW1wbGVtZW50YXRpb24sIHNp bmNlIGl0IGtub3dzIHRoZQo+ID4gcGxhdGZvcm0gaXQgcnVucyBvbiBhbmQgdGhlcmUga25vd3Mg YWJvdXQgdGhlIGNhY2hlcy4gSGFyZGVyIGZvciB0aGUKPiA+IHN0dWIgdGhvdWdoIDotLwo+IAo+ IFllYWguIFN5c3RlbS1sZXZlbCBjYWNoZXMgaW50ZXJhY3QgYmFkbHkgd2l0aCBwcmV0dHkgbXVj aCBhbnkgc2NlbmFyaW8KPiB3aGVyZSBvd25lcnNoaXAgb2YgdGhlIE1NVSBpcyB0cmFuc2ZlcnJl ZCAoVUVGSSBib290LCBrZXhlYyksIGFuZCB0aGVyZQo+IGRvZXNuJ3Qgc2VlbSB0byBiZSBhIHNp bmdsZSBhZ2VudCB0aGF0IGNhbiBiZSBjaGFyZ2VkIHdpdGggb3duZXJzaGlwIG9mCj4gbWFpbnRl bmFuY2UuCj4gCj4gVGhpcyBpcyBzb21ldGhpbmcgSSd2ZSBiZWVuIG1lYW5pbmcgdG8gcmV2aXNp dCwgYnV0IGl0IHRha2VzIGEgd2hpbGUgdG8KPiBnZXQgYmFjayB1cCB0byBzcGVlZCBvbiB0aGUg bWludXRpYWUgb2YgdGhlIGNhY2hlIGFyY2hpdGVjdHVyZSBhbmQgdGhlCj4gcnVsZXMgZm9yIG1l bW9yeSBhdHRyaWJ1dGVzLCBhbmQgSSBoYXZlbid0IGhhZCB0aGUgdGltZSByZWNlbnRseS4KPiAK PiBXZSBkbyBoYXZlIGEgdmVyeSBoZWF2eSBoYW1tZXIgdGhhdCB3ZSBrbm93IHdpbGwgd29yazog Zmx1c2hpbmcgdGhlCj4gbWVtb3J5IGJ5IFBBIGluIHRoZSBzdHViIG9uY2UgdGhlIE1NVSBhbmQg Y2FjaGVzIGFyZSBkaXNhYmxlZC4gQQo+IGJhY2stb2YtdGhlLWVudmVsb3BlIGNhbGN1bGF0aW9u IHNob3dzIHRoYXQgY291bGQgdGFrZSBtaW51dGVzIHRvIGlzc3VlCj4gb24gYSBzZXJ2ZXIgbWFj aGluZSAoc2F5IDJHSHosIHdpdGggMTZHQiBvZiBSQU0pLCBzbyB0aGF0J3MgdmVyeSBtdWNoIGEK PiBsYXN0IHJlc29ydC4KCk91Y2guLi4KCj4gV2UgY291bGQgdHJ5IHRvIG1hbmFnZSB0aGUgc3lz dGVtIGNhY2hlcyBleHBsaWNpdGx5LCBidXQgdGhlbiB3ZSBuZWVkCj4gY29kZSB0byBkbyBzbyB2 ZXJ5IGVhcmx5LCB3ZSBuZWVkIHRvIGhhdmUgdGhlbSBkZXNjcmliZWQgaW4gdGhlCj4gYXBwcm9w cmlhdGUgZmlybXdhcmUgdGFibGVzLCBhbmQgdGhleSBuZWVkIHRvIGJlIG1hbmFnZWFibGUgZnJv bSB0aGUKPiBub24tc2VjdXJlIHNpZGUgKHdoaWNoIEkgYmVsaWV2ZSBpcyBub3QgYWx3YXlzIHRo ZSBjYXNlKS4gVGhhdCBzb21ld2hhdAo+IGRlZmVhdCB0aGUgcG9ydGFiaWxpdHkgYXNwZWN0IG9m IGJvb3RpbmcgYXMgYW4gRUZJIGFwcGxpY2F0aW9uLgo+IAo+IFNvIHllcywgaXQncyBoYXJkZXIg Zm9yIHRoZSBzdHViIDoKCkluZGVlZC4KClByb2JhYmx5IHRoaXMgaXNuJ3QgZXZlbiBjbG9zZSB0 byB0aGUgY29ycmVjdCB2ZW51ZS4gSSdtIG5vdCBzdXJlIHdoZXJlCmJldHRlciB0byB0cmFuc2Zl ciBpdCB0aG91Z2guIE9uZSBvZiB0aGUgTGluYXJvIGxpc3RzIHBlcmhhcHM/CgpJYW4uCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK