From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [RFC 0/5] xen/arm: support big.little SoC Date: Wed, 21 Sep 2016 11:13:46 -0700 (PDT) Message-ID: References: <20160919083619.GA16854@linux-7smt.suse> <97d77bdb-2f4e-e89a-95b9-8aacb56eebc0@suse.com> <1474305482.4393.42.camel@citrix.com> <1474325742.4393.78.camel@citrix.com> <1474332846.4393.153.camel@citrix.com> <20160920100331.GB8084@linux-u7w5.ap.freescale.net> <4c52141f-a6a4-a0b1-dced-f799b592481e@arm.com> <61196660-df7c-7324-2fb6-cfb11f44ea1e@arm.com> <39623498-bb30-4ff7-f075-219487a5afbb@arm.com> <6bd7d587-f9ba-c3bf-db96-46a2958d9e5b@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <6bd7d587-f9ba-c3bf-db96-46a2958d9e5b@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall Cc: Juergen Gross , Peng Fan , Stefano Stabellini , Steve Capper , George Dunlap , Andrew Cooper , Dario Faggioli , Punit Agrawal , George Dunlap , "xen-devel@lists.xen.org" , Jan Beulich , Peng Fan List-Id: xen-devel@lists.xenproject.org T24gV2VkLCAyMSBTZXAgMjAxNiwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IChDQyBhIGNvdXBsZSBv ZiBBUk0gZm9sa3MpCj4gCj4gT24gMjEvMDkvMTYgMTE6MjIsIEdlb3JnZSBEdW5sYXAgd3JvdGU6 Cj4gPiBPbiAyMS8wOS8xNiAxMTowOSwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+ID4gPiAKPiA+ID4g Cj4gPiA+IE9uIDIwLzA5LzE2IDIxOjE3LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6Cj4gPiA+ ID4gT24gVHVlLCAyMCBTZXAgMjAxNiwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+ID4gPiA+ID4gSGkg U3RlZmFubywKPiA+ID4gPiA+IAo+ID4gPiA+ID4gT24gMjAvMDkvMjAxNiAyMDowOSwgU3RlZmFu byBTdGFiZWxsaW5pIHdyb3RlOgo+ID4gPiA+ID4gPiBPbiBUdWUsIDIwIFNlcCAyMDE2LCBKdWxp ZW4gR3JhbGwgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gSGksCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4g PiA+ID4gT24gMjAvMDkvMjAxNiAxMjoyNywgR2VvcmdlIER1bmxhcCB3cm90ZToKPiA+ID4gPiA+ ID4gPiA+IE9uIFR1ZSwgU2VwIDIwLCAyMDE2IGF0IDExOjAzIEFNLCBQZW5nIEZhbgo+ID4gPiA+ ID4gPiA+ID4gPHZhbi5mcmVlbml4QGdtYWlsLmNvbT4KPiA+ID4gPiA+ID4gPiA+IHdyb3RlOgo+ ID4gPiA+ID4gPiA+ID4gPiBPbiBUdWUsIFNlcCAyMCwgMjAxNiBhdCAwMjo1NDowNkFNICswMjAw LCBEYXJpbyBGYWdnaW9saQo+ID4gPiA+ID4gPiA+ID4gPiB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ ID4gPiBPbiBNb24sIDIwMTYtMDktMTkgYXQgMTc6MDEgLTA3MDAsIFN0ZWZhbm8gU3RhYmVsbGlu aSB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gPiA+IE9uIFR1ZSwgMjAgU2VwIDIwMTYsIERhcmlv IEZhZ2dpb2xpIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gPiBJJ2QgbGlrZSB0byBhZGQgYSBjb21w dXRpbmcgY2FwYWJpbGl0eSBpbiB4ZW4vYXJtLCBsaWtlIHRoaXM6Cj4gPiA+ID4gPiA+ID4gPiA+ IAo+ID4gPiA+ID4gPiA+ID4gPiBzdHJ1Y3QgY29tcHV0ZV9jYXBhdGlsaWJ5Cj4gPiA+ID4gPiA+ ID4gPiA+IHsKPiA+ID4gPiA+ID4gPiA+ID4gICAgY2hhciAqY29yZV9uYW1lOwo+ID4gPiA+ID4g PiA+ID4gPiAgICB1aW50MzJfdCByYW5rOwo+ID4gPiA+ID4gPiA+ID4gPiAgICB1aW50MzJfdCBj cHVfcGFydG51bTsKPiA+ID4gPiA+ID4gPiA+ID4gfTsKPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ ID4gPiA+ID4gPiA+IHN0cnVjdCBjb21wdXRlX2NhcGF0aWxpYnkgY2M9Cj4gPiA+ID4gPiA+ID4g PiA+IHsKPiA+ID4gPiA+ID4gPiA+ID4gICB7IkE3MiIsIDQsIDB4ZDA4fSwKPiA+ID4gPiA+ID4g PiA+ID4gICB7IkE1NyIsIDMsIDB4eHh4fSwKPiA+ID4gPiA+ID4gPiA+ID4gICB7IkE1MyIsIDIs IDB4ZDAzfSwKPiA+ID4gPiA+ID4gPiA+ID4gICB7IkEzNSIsIDEsIC4uLn0sCj4gPiA+ID4gPiA+ ID4gPiA+IH0KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IFRoZW4gd2hlbiBp ZGVudGlmeSBjcHUsIHdlIGRlY2lkZSB3aGljaCBjcHUgaXMgYmlnIGFuZCB3aGljaAo+ID4gPiA+ ID4gPiA+ID4gPiBjcHUgaXMKPiA+ID4gPiA+ID4gPiA+ID4gbGl0dGxlCj4gPiA+ID4gPiA+ID4g PiA+IGFjY29yZGluZyB0byB0aGUgY29tcHV0aW5nIHJhbmsuCj4gPiA+ID4gPiA+ID4gPiA+IAo+ ID4gPiA+ID4gPiA+ID4gPiBBbnkgY29tbWVudHM/Cj4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ ID4gPiA+IEkgdGhpbmsgd2UgZGVmaW5pdGVseSBuZWVkIHRvIGhhdmUgWGVuIGhhdmUgc29tZSBr aW5kIG9mIGlkZWEKPiA+ID4gPiA+ID4gPiA+IHRoZQo+ID4gPiA+ID4gPiA+ID4gb3JkZXIgYmV0 d2VlbiBwcm9jZXNzb3JzLCBzbyB0aGF0IHRoZSB1c2VyIGRvZXNuJ3QgbmVlZCB0bwo+ID4gPiA+ ID4gPiA+ID4gZmlndXJlIG91dAo+ID4gPiA+ID4gPiA+ID4gd2hpY2ggY2xhc3MgLyBwb29sIGlz IGJpZyBhbmQgd2hpY2ggcG9vbCBpcyBMSVRUTEUuICBXaGV0aGVyCj4gPiA+ID4gPiA+ID4gPiB0 aGlzCj4gPiA+ID4gPiA+ID4gPiBzb3J0Cj4gPiA+ID4gPiA+ID4gPiBvZiBlbnVtZXJhdGlvbiBp cyB0aGUgYmVzdCB3YXkgdG8gZG8gdGhhdCBJJ2xsIGxldCBKdWxpZW4gYW5kCj4gPiA+ID4gPiA+ ID4gPiBTdGVmYW5vCj4gPiA+ID4gPiA+ID4gPiBnaXZlIHRoZWlyIG9waW5pb24uCj4gPiA+ID4g PiA+ID4gCj4gPiA+ID4gPiA+ID4gSSBkb24ndCB0aGluayBhbiBoYXJkY29kZWQgbGlzdCBvZiBw cm9jZXNzb3IgaW4gWGVuIGlzIHRoZSByaWdodAo+ID4gPiA+ID4gPiA+IHNvbHV0aW9uLgo+ID4g PiA+ID4gPiA+IFRoZXJlIGFyZSBtYW55IGV4aXN0aW5nIHByb2Nlc3NvcnMgYW5kIGNvbWJpbmF0 aW9ucyBmb3IgYmlnLkxJVFRMRQo+ID4gPiA+ID4gPiA+IHNvIGl0Cj4gPiA+ID4gPiA+ID4gd2ls bAo+ID4gPiA+ID4gPiA+IG5lYXJseSBiZSBpbXBvc3NpYmxlIHRvIGtlZXAgdXBkYXRlZC4KPiA+ ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBJIHdvdWxkIGV4cGVjdCB0aGUgZmlybXdhcmUgdGFi bGUgKGRldmljZSB0cmVlLCBBQ1BJKSB0byBwcm92aWRlCj4gPiA+ID4gPiA+ID4gcmVsZXZhbnQK PiA+ID4gPiA+ID4gPiBkYXRhCj4gPiA+ID4gPiA+ID4gZm9yIGVhY2ggcHJvY2Vzc29yIGFuZCBk aWZmZXJlbnRpYXRlIGJpZyBmcm9tIExJVFRMRSBjb3JlLgo+ID4gPiA+ID4gPiA+IE5vdGUgdGhh dCBJIGhhdmVuJ3QgbG9va2VkIGF0IGl0IGZvciBub3cuIEEgZ29vZCBwbGFjZSB0byBzdGFydCBp cwo+ID4gPiA+ID4gPiA+IGxvb2tpbmcKPiA+ID4gPiA+ID4gPiBhdAo+ID4gPiA+ID4gPiA+IGhv dyBMaW51eCBkb2VzLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gVGhhdCdzIHJpZ2h0LCBzZWUg RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9jcHVzLnR4dC4gSXQKPiA+ID4g PiA+ID4gaXMKPiA+ID4gPiA+ID4gdHJpdmlhbCB0byBpZGVudGlmeSB0aGUgdHdvIGRpZmZlcmVu dCBDUFUgY2xhc3NlcyBhbmQgd2hpY2ggY29yZXMKPiA+ID4gPiA+ID4gYmVsb25nCj4gPiA+ID4g PiA+IHRvIHdoaWNoIGNsYXNzLnQsIGFzCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFRoZSBjbGFzcyBv ZiB0aGUgQ1BVIGNhbiBiZSBmb3VuZCBmcm9tIHRoZSBNSURSLCB0aGVyZSBpcyBubyBuZWVkIHRv Cj4gPiA+ID4gPiB1c2UgdGhlCj4gPiA+ID4gPiBkZXZpY2UgdHJlZS9hY3BpIGZvciB0aGF0LiBO b3RlIHRoYXQgSSBkb24ndCB0aGluayB0aGVyZSBpcyBhbiBlYXN5Cj4gPiA+ID4gPiB3YXkgaW4K PiA+ID4gPiA+IEFDUEkgKGkuZSBub3QgaW4gQU1MKSB0byBmaW5kIG91dCB0aGUgY2xhc3MuCj4g PiA+ID4gPiAKPiA+ID4gPiA+ID4gSXQgaXMgaGFyZGVyIHRvIGZpZ3VyZSBvdXQgd2hpY2ggb25l IGlzIHN1cHBvc2VkIHRvIGJlCj4gPiA+ID4gPiA+IGJpZyBhbmQgd2hpY2ggb25lIExJVFRMRS4g UmVnYXJkbGVzcywgd2UgY291bGQgZGVmYXVsdCB0byB1c2luZyB0aGUKPiA+ID4gPiA+ID4gZmly c3QgY2x1c3RlciAodXN1YWxseSBiaWcpLCB3aGljaCBpcyBhbHNvIHRoZSBjbHVzdGVyIG9mIHRo ZSBib290Cj4gPiA+ID4gPiA+IGNwdSwKPiA+ID4gPiA+ID4gYW5kIHV0aWxpemUgdGhlIHNlY29u ZCBjbHVzdGVyIG9ubHkgd2hlbiB0aGUgdXNlciBkZW1hbmRzIGl0Lgo+ID4gPiA+ID4gCj4gPiA+ ID4gPiBXaHkgZG8geW91IHRoaW5rIHRoZSBib290IENQVSB3aWxsIHVzdWFsbHkgYmUgYSBiaWcg b25lPyBJbiB0aGUgY2FzZQo+ID4gPiA+ID4gb2YgSnVubwo+ID4gPiA+ID4gcGxhdGZvcm0gaXQg aXMgY29uZmlndXJhYmxlLCBhbmQgdGhlIGJvb3QgQ1BVIGlzIGEgbGl0dGxlIGNvcmUgb24gcjIK PiA+ID4gPiA+IGJ5Cj4gPiA+ID4gPiBkZWZhdWx0Lgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBJbiBh bnkgY2FzZSwgd2hhdCB3ZSBjYXJlIGFib3V0IGlzIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0d28g c2V0IG9mCj4gPiA+ID4gPiBDUFVzLiBJCj4gPiA+ID4gPiBkb24ndCB0aGluayBYZW4gc2hvdWxk IGNhcmUgYWJvdXQgbWlncmF0aW5nIGEgZ3Vlc3QgdkNQVSBiZXR3ZWVuIGJpZwo+ID4gPiA+ID4g YW5kCj4gPiA+ID4gPiBMSVRUTEUgY3B1cy4gU28gSSBhbSBub3Qgc3VyZSB3aHkgd2Ugd291bGQg d2FudCB0byBrbm93IHRoYXQuCj4gPiA+ID4gCj4gPiA+ID4gTm8sIGl0IGlzIG5vdCBhYm91dCBt aWdyYXRpbmcgKGF0IGxlYXN0IHlldCkuIEl0IGlzIGFib3V0IGdpdmluZyB1c2VmdWwKPiA+ID4g PiBpbmZvcm1hdGlvbiB0byB0aGUgdXNlci4gSXQgd291bGQgYmUgbmljZSBpZiB0aGUgdXNlciBo YWQgdG8gY2hvb3NlCj4gPiA+ID4gYmV0d2VlbiAiYmlnIiBhbmQgIkxJVFRMRSIgcmF0aGVyIHRo YW4gImNsYXNzIDB4MSIgYW5kICJjbGFzcyAweDEwMCIsIG9yCj4gPiA+ID4gZXZlbiAiQTciIG9y ICJBMTUiLgo+ID4gPiAKPiA+ID4gSSBkb24ndCB0aGluayBpdCBpcyB3aXNlIHRvIGFzc3VtZSB0 aGF0IHdlIG1heSBoYXZlIG9ubHkgMiBraW5kIG9mIENQVXMKPiA+ID4gb24gdGhlIHBsYXRmb3Jt LiBXZSBtYXkgaGF2ZSBtb3JlIGluIHRoZSBmdXR1cmUsIGlmIHNvIGhvdyB3b3VsZCB5b3UKPiA+ ID4gbmFtZSB0aGVtPwo+ID4gCj4gPiBJIHdvdWxkIHN1Z2dlc3QgdGhhdCBpbnRlcm5hbGx5IFhl biByZWNvZ25pemUgYW4gYXJiaXRyYXJ5IG51bWJlciBvZgo+ID4gcHJvY2Vzc29yICJjbGFzc2Vz IiwgYW5kIG9yZGVyIHRoZW0gYWNjb3JkaW5nIHRvIG1vcmUgcG93ZXJmdWwgLT4gbGVzcwo+ID4g cG93ZXJmdWwuICBUaGVuIGlmIGF0IHNvbWUgcG9pbnQgc29tZW9uZSBtYWtlcyBhIHBsYXRmb3Jt IHdpdGggdGhyZWUKPiA+IHByb2Nlc3NvcnMsIHlvdSBjYW4gc2F5ICJjbGFzcyAwIiwgImNsYXNz IDEiIG9yICJjbGFzcyAyIi4gICJiaWciIHdvdWxkCj4gPiBiZSBhbiBhbGlhcyBmb3IgImNsYXNz IDAiIGFuZCAibGl0dGxlIiB3b3VsZCBiZSBhbiBhbGlhcyBmb3IgImNsYXNzIDEiLgo+IAo+IEFz IG1lbnRpb25lZCBlYXJsaWVyLCB0aGVyZSBpcyBubyB1cHN0cmVhbWVkIHlldCBkZXZpY2UgdHJl ZSBiaW5kaW5ncyB0byBrbm93Cj4gdGhlICJwb3dlciIgb2YgYSBDUFUgKHNlZSBbMV0KPiAKPiA+ IAo+ID4gQW5kIGluIG15IHN1Z2dlc3Rpb24sIHdlIGFsbG93IGEgcmljaGVyIHNldCBvZiBsYWJl bHMsIHNvIHRoYXQgdGhlIHVzZXIKPiA+IGNvdWxkIGFsc28gYmUgbW9yZSBzcGVjaWZpYyAtLSBl LmcuLCBhc2tpbmcgZm9yICJBMTUiIHNwZWNpZmljYWxseSwgZm9yCj4gPiBleGFtcGxlLCBhbmQg ZmFpbGluZyB0byBidWlsZCBpZiB0aGVyZSBhcmUgbm8gQTE1IGNvcmVzIHByZXNlbnQsIHdoaWxl Cj4gPiBhbGxvd2luZyB1c2VycyB0byBzaW1wbHkgd3JpdGUgImJpZyIgb3IgImxpdHRsZSIgaWYg dGhleSB3YW50IHNpbXBsaWNpdHkKPiA+IC8gdGhpbmdzIHdoaWNoIHdvcmsgYWNyb3NzIGRpZmZl cmVudCBwbGF0Zm9ybXMuCj4gCj4gV2VsbCwgYmVmb3JlIHRyeWluZyB0byBkbyBzb21ldGhpbmcg Y2xldmVyIGxpa2UgdGhhdCAoaS5lIG5hbWluZyAiYmlnIiBhbmQKPiAibGl0dGxlIiksIHdlIG5l ZWQgdG8gaGF2ZSB1cHN0cmVhbWVkIGJpbmRpbmdzIGF2YWlsYWJsZSB0byBhY2tub3dsZWRnZSB0 aGUKPiBkaWZmZXJlbmNlLiBBRkFJQ1QsIGl0IGlzIG5vdCB5ZXQgdXBzdHJlYW1lZCBmb3IgRGV2 aWNlIFRyZWUgKHNlZSBbMV0pIGFuZCBJCj4gZG9uJ3Qga25vdyBhbnkgc3RhdGljIEFDUEkgdGFi bGVzIHByb3ZpZGluZyB0aGUgc2ltaWxhciBpbmZvcm1hdGlvbi4KCkkgbGlrZSBHZW9yZ2UncyBp ZGVhIHRoYXQgImJpZyIgYW5kICJsaXR0bGUiIGNvdWxkIGJlIGp1c3QgY29udmVuaWVuY2UKYWxp YXNlcy4gT2YgY291cnNlIHRoZXkgYXJlIHByZWRpY2F0ZWQgb24gdGhlIG5lY2Vzc2FyeSBkZXZp Y2UgdHJlZQpiaW5kaW5ncyBiZWluZyB1cHN0cmVhbS4gV2UgZG9uJ3QgbmVlZCBbMV0gdG8gYmUg dXBzdHJlYW0gaW4gTGludXgsIGp1c3QKdGhlIGJpbmRpbmc6CgpodHRwOi8vbWFyYy5pbmZvLz9s PWxpbnV4LWFybS1rZXJuZWwmbT0xNDczMDg1NTY3Mjk0MjYmdz0yCgp3aGljaCBoYXMgYWxyZWFk eSBiZWVuIGFja2VkIGJ5IHRoZSByZWxldmFudCBtYWludGFpbmVycy4KCgo+IEkgaGFkIGZldyBk aXNjdXNzaW9ucyBhbmQgIG1vcmUgdGhvdWdodCBhYm91dCBiaWcuTElUVExFIHN1cHBvcnQgaW4g WGVuLiBUaGUKPiBtYWluIGdvYWwgb2YgYmlnLkxJVFRMRSBpcyBwb3dlciBlZmZpY2llbmN5IGJ5 IG1vdmluZyB0YXNrIGFyb3VuZCBhbmQgYmVlbgo+IGFibGUgdG8gaWRsZSBvbmUgY2x1c3Rlci4g QWxsIHRoZSBzb2x1dGlvbnMgc3VnZ2VzdGVkIChpbmNsdWRpbmcgbWluZSkgc28gZmFyLAo+IGNh biBiZSByZXBsaWNhdGVkIGJ5IGhhbmQgKGV4Y2VwdCB0aGUgVlBJRFIpIHNvIHRoZXkgYXJlIG1v c3RseSBhbiBhdXRvbWF0aWMKPiB3YXkuIFRoaXMgd2lsbCBhbHNvIHJlbW92ZSB0aGUgcmVhbCBi ZW5lZml0cyBvZiBiaWcuTElUVExFIGJlY2F1c2UgWGVuIHdpbGwKPiBub3QgYmUgYWJsZSB0byBt aWdyYXRlIHZDUFUgYWNyb3NzIGNsdXN0ZXIgZm9yIHBvd2VyIGVmZmljaWVuY3kuCgpUaGUgZ29h bCBvZiB0aGUgYXJjaGl0ZWN0cyBvZiBiaWcuTElUVExFIG1pZ2h0IGhhdmUgYmVlbiBwb3dlcgpl ZmZpY2llbmN5LCBidXQgb2YgY291cnNlIHdlIGFyZSBmcmVlIHRvIHVzZSBhbnkgZmVhdHVyZXMg dGhhdCB0aGUKaGFyZHdhcmUgcHJvdmlkZXMgaW4gdGhlIGJlc3Qgd2F5IGZvciBYZW4gYW5kIHRo ZSBYZW4gY29tbXVuaXR5LgoKCj4gSWYgd2UgY2FyZSBhYm91dCBwb3dlciBlZmZpY2llbmN5LCB3 ZSB3b3VsZCBoYXZlIHRvIGhhbmRsZSBzZWFtbGVzc2x5Cj4gYmlnLkxJVFRMRSBpbiBYZW4gKGku ZSBhIGd1ZXNzIHdvdWxkIG9ubHkgc2VlIGEga2luZCBvZiBDUFUpLiBUaGlzIGFyaXNlIHF1aXRl Cj4gZmV3IHByb2JsZW0sIG5vdGhpbmcgaW5zdXJtb3VudGFibGUsIHNpbWlsYXIgdG8gbWlncmF0 aW9uIGFjcm9zcyB0d28gcGxhdGZvcm1zCj4gd2l0aCBkaWZmZXJlbnQgbWljcm8tYXJjaGl0ZWN0 dXJlIChlLmcgcHJvY2Vzc29ycyk6IGVycmF0YSwgZmVhdHVyZXMKPiBzdXBwb3J0ZWQuLi4gVGhl IGd1ZXN0IHdvdWxkIGhhdmUgdG8ga25vdyB0aGUgdW5pb24gb2YgYWxsIHRoZSBlcnJhdGEgKHRo aXMgaXMKPiBkb25lIHNvIGZhciB2aWEgdGhlIE1JRFIsIHNvIHdlIHdvdWxkIGEgUFYgd2F5IHRv IGRvIGl0KSwgYW5kIG9ubHkgdGhlCj4gaW50ZXJzZWN0aW9uIG9mIGZlYXR1cmVzIHdvdWxkIGJl IGV4cG9zZWQgdG8gdGhlIGd1ZXN0LiBUaGlzIGFsc28gbWVhbnMgdGhlCj4gc2NoZWR1bGVyIHdv dWxkIGhhdmUgdG8gYmUgbW9kaWZpZWQgdG8gaGFuZGxlIHBvd2VyIGVmZmljaWVuY3kgKG5vdCBz dHJpY3RseQo+IG5lY2Vzc2FyeSBhdCB0aGUgYmVnaW5uaW5nKS4KPiAKPiBJIGFncmVlIHRoYXQg YSBzdWNoIHNvbHV0aW9uIHdvdWxkIHJlcXVpcmUgc29tZSB3b3JrIHRvIGltcGxlbWVudCwgYWx0 aG91Z2gKPiBYZW4gd2lsbCBoYXZlIGEgYmV0dGVyIGNvbnRyb2wgb2YgdGhlIGVuZXJneSBjb25z dW1wdGlvbiBvZiB0aGUgcGxhdGZvcm0uCj4gCj4gU28gdGhlIHF1ZXN0aW9uIGhlcmUsIGlzIHdo YXQgZG8gd2Ugd2FudCB0byBhY2hpZXZlIHdpdGggYmlnLkxJVFRMRT8KCkkgZG9uJ3QgdGhpbmsg dGhhdCBoYW5kbGluZyBzZWFtbGVzc2x5IGJpZy5MSVRUTEUgaW4gWGVuIGlzIHRoZSBiZXN0IHdh eQp0byBkbyBpdCBpbiB0aGUgc2NlbmFyaW9zIHdoZXJlIFhlbiBvbiBBUk0gaXMgYmVpbmcgdXNl ZCB0b2RheS4gSQp1bmRlcnN0YW5kIHRoZSBwcmluY2lwbGVzIGJlaGluZCBpdCwgYnV0IEkgZG9u J3QgdGhpbmsgdGhhdCBpdCB3aWxsIGxlYWQKdG8gZ29vZCByZXN1bHRzIGluIGEgdmlydHVhbGl6 ZWQgZW52aXJvbm1lbnQsIHdoZXJlIHRoZXJlIGlzIG1vcmUKYWN0aXZpdHkgYW5kIG1vcmUgdmNw dXMgdGhhbiBwY3B1cy4KCldoYXQgd2UgZGlzY3Vzc2VkIGluIHRoaXMgdGhyZWFkIHNvIGZhciBp cyBhY3Rpb25hYmxlLCBhbmQgZ2l2ZXMgdXMKYmlnLkxJVFRMRSBzdXBwb3J0IGluIGEgc2hvcnQg dGltZSBmcmFtZS4gSXQgaXMgYSBnb29kIGZpdCBmb3IgWGVuIG9uCkFSTSB1c2UgY2FzZXMgYW5k IHN0aWxsIGxlYWRzIHRvIGxvd2VyIHBvd2VyIGNvbnN1bXB0aW9uIHdpdGggYW4gd2lzZQphbGxv Y2F0aW9uIG9mIGJpZyBhbmQgTElUVExFIHZjcHVzIGFuZCBwY3B1cyB0byBndWVzdHMuCgpJIHdv dWxkIHN0YXJ0IGZyb20gdGhpcyBhcHByb2FjaCwgdGhlbiBpZiBzb21lYm9keSBjb21lcyBhbG9u ZyB3aXRoIGEKcGxhbiB0byBpbXBsZW1lbnQgYSBiaWcuTElUVExFIHN3aXRjaGVyIGluIFhlbiwg SSB3ZWxjb21lIGhlciB0byBkbyBpdAphbmQgSSB3b3VsZCBiZSBoYXBweSB0byBhY2NlcHQgdGhl IGNvZGUgaW4gWGVuLiBXZSdsbCBqdXN0IG1ha2UgaXQKb3B0aW9uYWwuCgoKPiBSZWdhcmRzLAo+ IAo+IFsxXSBodHRwczovL2x3bi5uZXQvQXJ0aWNsZXMvNjk5NTY5LwoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==