From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoffer Dall Subject: Re: [PATCH v8 6/7] arm/arm64: vgic: Implement VGICv3 CPU interface access Date: Sun, 20 Nov 2016 14:20:05 +0100 Message-ID: <20161120132005.GC23588@cbox> References: <1478258013-6669-1-git-send-email-vijay.kilari@gmail.com> <1478258013-6669-7-git-send-email-vijay.kilari@gmail.com> <20161116185232.GF3811@cbox> <20161117160951.GB23588@cbox> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 4BBA7401D0 for ; Sun, 20 Nov 2016 08:19:39 -0500 (EST) Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id be3eFCShZa7E for ; Sun, 20 Nov 2016 08:19:37 -0500 (EST) Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 83DF6400F3 for ; Sun, 20 Nov 2016 08:19:37 -0500 (EST) Received: by mail-wm0-f45.google.com with SMTP id t79so103862217wmt.0 for ; Sun, 20 Nov 2016 05:20:13 -0800 (PST) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu To: Vijay Kilari Cc: Marc Zyngier , Vijaya Kumar K , kvmarm@lists.cs.columbia.edu, "linux-arm-kernel@lists.infradead.org" List-Id: kvmarm@lists.cs.columbia.edu T24gU2F0LCBOb3YgMTksIDIwMTYgYXQgMTI6MTg6NTNBTSArMDUzMCwgVmlqYXkgS2lsYXJpIHdy b3RlOgo+IE9uIFRodSwgTm92IDE3LCAyMDE2IGF0IDk6MzkgUE0sIENocmlzdG9mZmVyIERhbGwK PiA8Y2hyaXN0b2ZmZXIuZGFsbEBsaW5hcm8ub3JnPiB3cm90ZToKPiA+IE9uIFRodSwgTm92IDE3 LCAyMDE2IGF0IDA5OjI1OjU5UE0gKzA1MzAsIFZpamF5IEtpbGFyaSB3cm90ZToKPiA+PiBPbiBU aHUsIE5vdiAxNywgMjAxNiBhdCAxMjoyMiBBTSwgQ2hyaXN0b2ZmZXIgRGFsbAo+ID4+IDxjaHJp c3RvZmZlci5kYWxsQGxpbmFyby5vcmc+IHdyb3RlOgo+ID4+ID4gT24gRnJpLCBOb3YgMDQsIDIw MTYgYXQgMDQ6NDM6MzJQTSArMDUzMCwgdmlqYXkua2lsYXJpQGdtYWlsLmNvbSB3cm90ZToKPiA+ PiA+PiBGcm9tOiBWaWpheWEgS3VtYXIgSyA8VmlqYXlhLkt1bWFyQGNhdml1bS5jb20+Cj4gPj4g Pj4KPiA+PiA+PiBWR0lDdjMgQ1BVIGludGVyZmFjZSByZWdpc3RlcnMgYXJlIGFjY2Vzc2VkIHVz aW5nCj4gPj4gPj4gS1ZNX0RFVl9BUk1fVkdJQ19DUFVfU1lTUkVHUyBpb2N0bC4gVGhlc2UgcmVn aXN0ZXJzIGFyZSBhY2Nlc3NlZAo+ID4+ID4+IGFzIDY0LWJpdC4gVGhlIGNwdSBNUElEUiB2YWx1 ZSBpcyBwYXNzZWQgYWxvbmcgd2l0aCByZWdpc3RlciBpZC4KPiA+PiA+PiBpcyB1c2VkIHRvIGlk ZW50aWZ5IHRoZSBjcHUgZm9yIHJlZ2lzdGVycyBhY2Nlc3MuCj4gPj4gPj4KPiA+PiA+PiBUaGUg dmVyc2lvbiBvZiBWR0lDIHYzIHNwZWNpZmljYXRpb24gaXMgZGVmaW5lIGhlcmUKPiA+PiA+PiBo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9waXBlcm1haWwvbGludXgtYXJtLWtlcm5lbC8yMDE2 LUp1bHkvNDQ1NjExLmh0bWwKPiA+PiA+Pgo+ID4+ID4+IFNpZ25lZC1vZmYtYnk6IFBhdmVsIEZl ZGluIDxwLmZlZGluQHNhbXN1bmcuY29tPgo+ID4+ID4+IFNpZ25lZC1vZmYtYnk6IFZpamF5YSBL dW1hciBLIDxWaWpheWEuS3VtYXJAY2F2aXVtLmNvbT4KPiA+PiA+PiAtLS0KPiA+PiA+PiAgYXJj aC9hcm02NC9pbmNsdWRlL3VhcGkvYXNtL2t2bS5oICAgfCAgIDMgKwo+ID4+ID4+ICBhcmNoL2Fy bTY0L2t2bS9NYWtlZmlsZSAgICAgICAgICAgICB8ICAgMSArCj4gPj4gPj4gIGluY2x1ZGUva3Zt L2FybV92Z2ljLmggICAgICAgICAgICAgIHwgICA5ICsKPiA+PiA+PiAgdmlydC9rdm0vYXJtL3Zn aWMvdmdpYy1rdm0tZGV2aWNlLmMgfCAgMjcgKysrCj4gPj4gPj4gIHZpcnQva3ZtL2FybS92Z2lj L3ZnaWMtbW1pby12My5jICAgIHwgIDE5ICsrKwo+ID4+ID4+ICB2aXJ0L2t2bS9hcm0vdmdpYy92 Z2ljLXN5cy1yZWctdjMuYyB8IDMyNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKPiA+PiA+PiAgdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy12My5jICAgICAgICAgfCAgIDggKwo+ ID4+ID4+ICB2aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLmggICAgICAgICAgICB8ICAgNCArCj4gPj4g Pj4gIDggZmlsZXMgY2hhbmdlZCwgMzk1IGluc2VydGlvbnMoKykKPiA+PiA+Pgo+ID4+ID4+IGRp ZmYgLS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUvdWFwaS9hc20va3ZtLmggYi9hcmNoL2FybTY0 L2luY2x1ZGUvdWFwaS9hc20va3ZtLmgKPiA+PiA+PiBpbmRleCA1NmRjMDhkLi45MWM3MTM3IDEw MDY0NAo+ID4+ID4+IC0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS91YXBpL2FzbS9rdm0uaAo+ID4+ ID4+ICsrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS91YXBpL2FzbS9rdm0uaAo+ID4+ID4+IEBAIC0y MDYsOSArMjA2LDEyIEBAIHN0cnVjdCBrdm1fYXJjaF9tZW1vcnlfc2xvdCB7Cj4gPj4gPj4gICAg ICAgICAgICAgICAgICAgICAgICgweGZmZmZmZmZmVUxMIDw8IEtWTV9ERVZfQVJNX1ZHSUNfVjNf TVBJRFJfU0hJRlQpCj4gPj4gPj4gICNkZWZpbmUgICBLVk1fREVWX0FSTV9WR0lDX09GRlNFVF9T SElGVCAgICAgIDAKPiA+PiA+PiAgI2RlZmluZSAgIEtWTV9ERVZfQVJNX1ZHSUNfT0ZGU0VUX01B U0sgICAgICAgKDB4ZmZmZmZmZmZVTEwgPDwgS1ZNX0RFVl9BUk1fVkdJQ19PRkZTRVRfU0hJRlQp Cj4gPj4gPj4gKyNkZWZpbmUgICBLVk1fREVWX0FSTV9WR0lDX1NZU1JFR19JTlNUUl9NQVNLICgw eGZmZmYpCj4gPj4gPj4gICNkZWZpbmUgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfTlJfSVJRUyAzCj4g Pj4gPj4gICNkZWZpbmUgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfQ1RSTCAgICA0Cj4gPj4gPj4gICNk ZWZpbmUgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfUkVESVNUX1JFR1MgNQo+ID4+ID4+ICsjZGVmaW5l IEtWTV9ERVZfQVJNX1ZHSUNfQ1BVX1NZU1JFR1MgICAgNgo+ID4+ID4+ICsKPiA+PiA+PiAgI2Rl ZmluZSAgIEtWTV9ERVZfQVJNX1ZHSUNfQ1RSTF9JTklUIDAKPiA+PiA+Pgo+ID4+ID4+ICAvKiBE ZXZpY2UgQ29udHJvbCBBUEkgb24gdmNwdSBmZCAqLwo+ID4+ID4+IGRpZmYgLS1naXQgYS9hcmNo L2FybTY0L2t2bS9NYWtlZmlsZSBiL2FyY2gvYXJtNjQva3ZtL01ha2VmaWxlCj4gPj4gPj4gaW5k ZXggZDUwYTgyYS4uMWExNGUyOSAxMDA2NDQKPiA+PiA+PiAtLS0gYS9hcmNoL2FybTY0L2t2bS9N YWtlZmlsZQo+ID4+ID4+ICsrKyBiL2FyY2gvYXJtNjQva3ZtL01ha2VmaWxlCj4gPj4gPj4gQEAg LTMyLDUgKzMyLDYgQEAga3ZtLSQoQ09ORklHX0tWTV9BUk1fSE9TVCkgKz0gJChLVk0pL2FybS92 Z2ljL3ZnaWMtbW1pby12My5vCj4gPj4gPj4gIGt2bS0kKENPTkZJR19LVk1fQVJNX0hPU1QpICs9 ICQoS1ZNKS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2Uubwo+ID4+ID4+ICBrdm0tJChDT05GSUdf S1ZNX0FSTV9IT1NUKSArPSAkKEtWTSkvYXJtL3ZnaWMvdmdpYy1pdHMubwo+ID4+ID4+ICBrdm0t JChDT05GSUdfS1ZNX0FSTV9IT1NUKSArPSAkKEtWTSkvaXJxY2hpcC5vCj4gPj4gPj4gK2t2bS0k KENPTkZJR19LVk1fQVJNX0hPU1QpICs9ICQoS1ZNKS9hcm0vdmdpYy92Z2ljLXN5cy1yZWctdjMu bwo+ID4+ID4KPiA+PiA+IFRoaSBpcyBtYWtpbmcgbWUgd29uZGVyOiAgQXJlIHdlIHByb3Blcmx5 IGhhbmRsaW5nIEdJQ3YzIHNhdmUvcmVzdG9yZQo+ID4+ID4gZm9yIEFBcmNoMzIgbm93IHRoYXQg d2UgaGF2ZSBHSUN2MyBzdXBwb3J0IGZvciBBQXJjaDMyPyAgQnkgcHJvcGVybHkgSQo+ID4+ID4g bWVhbiB0aGF0IGVpdGhlciBpdCBpcyBjbGVhcmx5IG9ubHkgc3VwcG9ydGVkIG9uIEFBcmNoNjQg c3lzdGVtcyBvciBpdCdzCj4gPj4gPiBzdXBwb3J0ZWQgb24gYm90aCBBQXJjaDY0IGFuZCBBQXJj aDMyLCBidXQgaXQgc2hvdWxkbid0IGJyZWFrIHJhbmRvbWx5Cj4gPj4gPiBvbiBBQXJjaDMyLgo+ ID4+Cj4gPj4gSXQgc3VwcG9ydHMgYm90aCBBQXJjaDY0IGFuZCBBQXJjaDY0IGluIGhhbmRsaW5n IG9mIHN5c3RlbSByZWdpc3RlcnMKPiA+PiBzYXZlL3Jlc3RvcmUuCj4gPj4gQWxsIHN5c3RlbSBy ZWdpc3RlcnMgdGhhdCB3ZSBzYXZlL3Jlc3RvcmUgYXJlIDMyLWJpdCBmb3IgYm90aCBhYXJjaDY0 Cj4gPj4gYW5kIGFhcmNoMzIuCj4gPj4gVGhvdWdoIG9wY29kZSBvcDAgc2hvdWxkIGJlIHplcm8g Zm9yIGFhcmNoMzIsIHRoZSByZW1haW5pbmcgT3AgYW5kIENSbiBjb2Rlcwo+ID4+IGFyZSBzYW1l LiBIb3dldmVyIHRoZSBjb2RlcyBzZW50IGJ5IHFlbXUgaXMgbWF0Y2hlZCBhbmQgcmVnaXN0ZXIK PiA+PiBhcmUgaGFuZGxlZCBwcm9wZXJseSBpcnJlc3BlY3RpdmUgb2YgQUFyY2gzMiBvciBBQXJj aDY0Lgo+ID4+Cj4gPj4gSSBkb24ndCBoYXZlIHBsYXRmb3JtIHdoaWNoIHN1cHBvcnQgQUFyY2gz MiBndWVzdHMgdG8gdmVyaWZ5Lgo+ID4KPiA+IEFjdHVhbGx5IHRoaXMgaXMgbm90IGFib3V0IHRo ZSBndWVzdCwgaXQncyBhYm91dCBhbiBBUk12OCBBQXJjaDMyIGhvc3QKPiA+IHRoYXQgaGFzIGEg R0lDdjMuCj4gPgo+ID4gSSBqdXN0IHRyaWVkIHRvIGRvIGEgdjcgY29tcGlsZSB3aXRoIHlvdXIg cGF0Y2hlcywgYW5kIGl0IHJlc3VsdHMgaW4gYW4KPiA+IGVwaWMgZmFpbHVyZSwgc28gdGhlcmUn cyBzb21ldGhpbmcgZm9yIHlvdSB0byBsb29rIGF0Lgo+ID4KPiAKPiBDb3VsZCB5b3UgcGxlYXNl IHNoYXJlIHlvdSBjb25maWcgZmlsZT8uIEkgdHJpZWQgd2l0aCBtdWx0aV92NyBkZWZjb25maWcg d2l0aAo+IENPTkZJRyBLVk0gYW5kIENPTkZJR19LVk1fQVJNX0hPU1QgZW5hYmxlZC4gaXQgY29t cGlsZWQgZm9yIG1lLgoKSSB0aGluayB0aGlzIGhhcyB0byBkbyB3aXRoIHdoaWNoIGJyYW5jaCB5 b3UgYXBwbHkgeW91ciBwYXRjaGVzIHRvLgpXaGVuIGFwcGxpZWQgdG8ga3ZtYXJtL25leHQsIGl0 IGZhaWxzLgoKSGVyZSdzIHRoZSBpbnRlZ3JhdGlvbiBJIGRpZDoKaHR0cHM6Ly9naXQubGluYXJv Lm9yZy9wZW9wbGUvY2hyaXN0b2ZmZXIuZGFsbC9saW51eC1rdm0tYXJtLmdpdCB0bXAtZ2ljdjMt bWlncmF0ZS12OAoKSGVyZSdzIHRoZSBjb25maWc6Cmh0dHBzOi8vdHJhbnNmZXIuc2gveGtBeHAv LmNvbmZpZwoKSGVyZSdzIHRoZSBjb21waWxlIG91dHB1dDoKCi9ob21lL2NocmlzdG9mZmVyL3Ny Yy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3Zn aWMtbW1pby12My5jOjI2OjIyOiBmYXRhbCBlcnJvcjogc3lzX3JlZ3MuaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgInN5c19yZWdzLmgiCiAgICAgICAgICAgICAgICAgICAg ICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCm1ha2VbMl06ICoqKiBbYXJjaC9hcm0va3ZtLy4u Ly4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMtbW1pby12My5vXSBFcnJvciAxCm1ha2VbMl06 ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCi9ob21lL2NocmlzdG9mZmVyL3Ny Yy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3Zn aWMta3ZtLWRldmljZS5jOiBJbiBmdW5jdGlvbiDigJh2Z2ljX3YzX3BhcnNlX2F0dHLigJk6Ci9o b21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3Zp cnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjQzODoyOTogZXJyb3I6IOKAmEtWTV9E RVZfQVJNX1ZHSUNfVjNfTVBJRFJfTUFTS+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKICB2Z2ljX21waWRyID0gKGF0dHItPmF0dHIgJiBLVk1fREVWX0FSTV9WR0lD X1YzX01QSURSX01BU0spID4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9j aHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2 bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo0Mzg6Mjk6IG5vdGU6IGVhY2ggdW5kZWNsYXJl ZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBh cHBlYXJzIGluCi9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3Zt Ly4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjQzOTo5OiBlcnJv cjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19WM19NUElEUl9TSElGVOKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgICAgS1ZNX0RFVl9BUk1fVkdJQ19WM19NUElE Ul9TSElGVDsKICAgICAgICAgXgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2Fy Y2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo0 NDE6MjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmE1QSURSX0xF VkVMX1NISUZU4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1w aWRyX3JlZyA9IFZHSUNfVE9fTVBJRFIodmdpY19tcGlkcik7CiAgXgovaG9tZS9jaHJpc3RvZmZl ci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdp Yy92Z2ljLWt2bS1kZXZpY2UuYzogSW4gZnVuY3Rpb24g4oCYdmdpY192M19hdHRyX3JlZ3NfYWNj ZXNz4oCZOgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8u Li8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo0OTc6NzogZXJyb3I6 IOKAmEtWTV9ERVZfQVJNX1ZHSUNfR1JQX1JFRElTVF9SRUdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGNhc2UgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfUkVESVNU X1JFR1M6CiAgICAgICBeCi9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJjaC9h cm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjUwNTo3 OiBlcnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19DUFVfU1lTUkVHU+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBjYXNlIEtWTV9ERVZfQVJNX1ZHSUNfQ1BVX1NZ U1JFR1M6IHsKICAgICAgIF4KL2hvbWUvY2hyaXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNo L2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NTA4 OjI1OiBlcnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19TWVNSRUdfSU5TVFJfTUFTS+KAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgcmVnaWQgPSAoYXR0ci0+YXR0 ciAmIEtWTV9ERVZfQVJNX1ZHSUNfU1lTUkVHX0lOU1RSX01BU0spOwogICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2 bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo1MTM6NzogZXJy b3I6IOKAmEtWTV9ERVZfQVJNX1ZHSUNfR1JQX0xFVkVMX0lORk/igJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgY2FzZSBLVk1fREVWX0FSTV9WR0lDX0dSUF9MRVZF TF9JTkZPOiB7CiAgICAgICBeCi9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJj aC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjUx NjoyNDogZXJyb3I6IOKAmEtWTV9ERVZfQVJNX1ZHSUNfTElORV9MRVZFTF9JTkZPX01BU0vigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIGluZm8gPSAoYXR0ci0+ YXR0ciAmIEtWTV9ERVZfQVJNX1ZHSUNfTElORV9MRVZFTF9JTkZPX01BU0spID4+CiAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvY2hyaXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNo L2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NTE3 OjQ6IGVycm9yOiDigJhLVk1fREVWX0FSTV9WR0lDX0xJTkVfTEVWRUxfSU5GT19TSElGVOKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEtWTV9ERVZfQVJNX1ZH SUNfTElORV9MRVZFTF9JTkZPX1NISUZUOwogICAgXgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3Zt YXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2 bS1kZXZpY2UuYzo1MTg6MTU6IGVycm9yOiDigJhWR0lDX0xFVkVMX0lORk9fTElORV9MRVZFTOKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgaWYgKGluZm8gPT0g VkdJQ19MRVZFTF9JTkZPX0xJTkVfTEVWRUwpIHsKICAgICAgICAgICAgICAgXgovaG9tZS9jaHJp c3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2bS9h cm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo1MjI6NTogZXJyb3I6IOKAmEtWTV9ERVZfQVJNX1ZH SUNfTElORV9MRVZFTF9JTlRJRF9NQVNL4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAgIEtWTV9ERVZfQVJNX1ZHSUNfTElORV9MRVZFTF9JTlRJRF9NQVNLOwog ICAgIF4KL2hvbWUvY2hyaXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNoL2FybS9rdm0vLi4v Li4vLi4vdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6IEluIGZ1bmN0aW9uIOKA mHZnaWNfdjNfc2V0X2F0dHLigJk6Ci9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgv YXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5j OjU1NDo3OiBlcnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19HUlBfUkVESVNUX1JFR1PigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgY2FzZSBLVk1fREVWX0FSTV9W R0lDX0dSUF9SRURJU1RfUkVHUzogewogICAgICAgXgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3Zt YXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2 bS1kZXZpY2UuYzo1NjU6NzogZXJyb3I6IOKAmEtWTV9ERVZfQVJNX1ZHSUNfQ1BVX1NZU1JFR1Pi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgY2FzZSBLVk1fREVW X0FSTV9WR0lDX0NQVV9TWVNSRUdTOiB7CiAgICAgICBeCi9ob21lL2NocmlzdG9mZmVyL3NyYy9r dm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMt a3ZtLWRldmljZS5jOjU3NDo3OiBlcnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19HUlBfTEVWRUxf SU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBjYXNlIEtW TV9ERVZfQVJNX1ZHSUNfR1JQX0xFVkVMX0lORk86IHsKICAgICAgIF4KL2hvbWUvY2hyaXN0b2Zm ZXIvc3JjL2t2bWFybS9saW51eC9hcmNoL2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJtL3Zn aWMvdmdpYy1rdm0tZGV2aWNlLmM6IEluIGZ1bmN0aW9uIOKAmHZnaWNfdjNfZ2V0X2F0dHLigJk6 Ci9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4u L3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjYwMDo3OiBlcnJvcjog4oCYS1ZN X0RFVl9BUk1fVkdJQ19HUlBfUkVESVNUX1JFR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgY2FzZSBLVk1fREVWX0FSTV9WR0lDX0dSUF9SRURJU1RfUkVHUzog ewogICAgICAgXgovaG9tZS9jaHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2 bS8uLi8uLi8uLi92aXJ0L2t2bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo2MTE6NzogZXJy b3I6IOKAmEtWTV9ERVZfQVJNX1ZHSUNfQ1BVX1NZU1JFR1PigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgY2FzZSBLVk1fREVWX0FSTV9WR0lDX0NQVV9TWVNSRUdT OiB7CiAgICAgICBeCi9ob21lL2NocmlzdG9mZmVyL3NyYy9rdm1hcm0vbGludXgvYXJjaC9hcm0v a3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3ZnaWMta3ZtLWRldmljZS5jOjYyMDo3OiBl cnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19HUlBfTEVWRUxfSU5GT+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBjYXNlIEtWTV9ERVZfQVJNX1ZHSUNfR1JQX0xF VkVMX0lORk86IHsKICAgICAgIF4KL2hvbWUvY2hyaXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9h cmNoL2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6 IEluIGZ1bmN0aW9uIOKAmHZnaWNfdjNfaGFzX2F0dHLigJk6Ci9ob21lL2NocmlzdG9mZmVyL3Ny Yy9rdm1hcm0vbGludXgvYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2ljL3Zn aWMta3ZtLWRldmljZS5jOjY0Nzo3OiBlcnJvcjog4oCYS1ZNX0RFVl9BUk1fVkdJQ19HUlBfUkVE SVNUX1JFR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgY2Fz ZSBLVk1fREVWX0FSTV9WR0lDX0dSUF9SRURJU1RfUkVHUzoKICAgICAgIF4KL2hvbWUvY2hyaXN0 b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNoL2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJt L3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NjQ4Ojc6IGVycm9yOiDigJhLVk1fREVWX0FSTV9WR0lD X0NQVV9TWVNSRUdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog IGNhc2UgS1ZNX0RFVl9BUk1fVkdJQ19DUFVfU1lTUkVHUzoKICAgICAgIF4KL2hvbWUvY2hyaXN0 b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNoL2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJt L3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NjUyOjc6IGVycm9yOiDigJhLVk1fREVWX0FSTV9WR0lD X0dSUF9MRVZFTF9JTkZP4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogIGNhc2UgS1ZNX0RFVl9BUk1fVkdJQ19HUlBfTEVWRUxfSU5GTzogewogICAgICAgXgovaG9t ZS9jaHJpc3RvZmZlci9zcmMva3ZtYXJtL2xpbnV4L2FyY2gvYXJtL2t2bS8uLi8uLi8uLi92aXJ0 L2t2bS9hcm0vdmdpYy92Z2ljLWt2bS1kZXZpY2UuYzo2NTM6MjI6IGVycm9yOiDigJhLVk1fREVW X0FSTV9WR0lDX0xJTkVfTEVWRUxfSU5GT19NQVNL4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICBpZiAoKChhdHRyLT5hdHRyICYgS1ZNX0RFVl9BUk1fVkdJQ19M SU5FX0xFVkVMX0lORk9fTUFTSykgPj4KICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvY2hy aXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNoL2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0v YXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NjU0Ojk6IGVycm9yOiDigJhLVk1fREVWX0FSTV9W R0lDX0xJTkVfTEVWRUxfSU5GT19TSElGVOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKICAgICAgICAgS1ZNX0RFVl9BUk1fVkdJQ19MSU5FX0xFVkVMX0lORk9fU0hJ RlQpID09CiAgICAgICAgIF4KL2hvbWUvY2hyaXN0b2ZmZXIvc3JjL2t2bWFybS9saW51eC9hcmNo L2FybS9rdm0vLi4vLi4vLi4vdmlydC9rdm0vYXJtL3ZnaWMvdmdpYy1rdm0tZGV2aWNlLmM6NjU1 Ojk6IGVycm9yOiDigJhWR0lDX0xFVkVMX0lORk9fTElORV9MRVZFTOKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgICAgVkdJQ19MRVZFTF9JTkZPX0xJTkVf TEVWRUwpCiAgICAgICAgIF4KY2MxOiBzb21lIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJy b3JzCm1ha2VbMl06ICoqKiBbYXJjaC9hcm0va3ZtLy4uLy4uLy4uL3ZpcnQva3ZtL2FybS92Z2lj L3ZnaWMta3ZtLWRldmljZS5vXSBFcnJvciAxCm1ha2VbMV06ICoqKiBbYXJjaC9hcm0va3ZtXSBF cnJvciAyCm1ha2VbMV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2U6 ICoqKiBbc3ViLW1ha2VdIEVycm9yIDIKClRoYW5rcywKLUNocmlzdG9mZmVyCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmt2bWFybSBtYWlsaW5nIGxpc3QK a3ZtYXJtQGxpc3RzLmNzLmNvbHVtYmlhLmVkdQpodHRwczovL2xpc3RzLmNzLmNvbHVtYmlhLmVk dS9tYWlsbWFuL2xpc3RpbmZvL2t2bWFybQo=