From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: Re: [PATCH V2 04/10] arm/gic-v3: Parse per-cpu redistributor entry in GICC subtable Date: Mon, 27 Jun 2016 09:17:46 -0500 Message-ID: <5771358A.6030201@codeaurora.org> References: <1466963303-10850-1-git-send-email-shankerd@codeaurora.org> <1466963303-10850-5-git-send-email-shankerd@codeaurora.org> <57711241.7090801@arm.com> Reply-To: shankerd@codeaurora.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <57711241.7090801@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , xen-devel , Stefano Stabellini Cc: Philip Elcan , Vikram Sethi List-Id: xen-devel@lists.xenproject.org CgpPbiAwNi8yNy8yMDE2IDA2OjQ3IEFNLCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4gSGkgU2hhbmtl ciwKPgo+IE9uIDI2LzA2LzE2IDE4OjQ4LCBTaGFua2VyIERvbnRoaW5lbmkgd3JvdGU6Cj4+IFRo ZSByZWRpc3RyaWJ1dG9yIGFkZHJlc3MgY2FuIGJlIHNwZWNpZmllZCBlaXRoZXIgYXMgcGFydCBv ZiBHSUNDIG9yCj4+IEdJQ1Igc3VidGFibGUgZGVwZW5kaW5nIG9uIHRoZSBwb3dlciBkb21haW4u IFRoZSBjdXJyZW50IGRyaXZlcgo+PiBkb2Vzbid0IHN1cHBvcnQgcGFyc2luZyByZWRpc3RyaWJ1 dG9yIGVudHJ5IHRoYXQgaXMgZGVmaW5lZCBpbiBHSUNDCj4+IHN1YnRhYmxlLiBUaGUgR0lDIENQ VSBzdWJ0YWJsZSBlbnRyeSBob2xkcyB0aGUgYXNzb2NpYXRlZCBSZWRpc3RyaWJ1dG9yCj4+IGJh c2UgYWRkcmVzcyBpZiBpdCBpcyBub3Qgb24gYWx3YXlzLW9uIHBvd2VyIGRvbWFpbi4KPj4KPj4g VGhlIHBlciBDUFUgUmVkaXN0cmlidXRvciBzaXplIGlzIG5vdCBkZWZpbmVkIGluIEFDUEkgc3Bl Y2lmaWNhdGlvbi4KPj4gU2V0IGl0J3Mgc2l6ZSB0byBTWl8yNTZLIGlmIHRoZSBHSUMgaGFyZHdh cmUgaXMgY2FwYWJsZSBvZiBEaXJlY3QKPgo+IHMvaXQncy9pdHMvLCBhbHRob3VnaCBJIHdvdWxk IHVzZSAidGhlIi4KPgo+PiBWaXJ0dWFsIExQSSBJbmplY3Rpb24gZmVhdHVyZSBvdGhlcndpc2Ug U1pfMTI4Sy4KPgo+ICJTZXQgdGhlIHNpemUgdG8gU1pfMjU2SyBpZiB0aGUgR0lDIGhhcmR3YXJl IGlzIHN1cHBvcnRpbmcgRGlyZWN0IAo+IFZpcnR1YWwgTFBJIGluamVjdGlvbiwgU1pfMTI4SyBv dGhlcndpc2UiLgo+Cj4+Cj4+IFRoaXMgcGF0Y2ggYWRkcyBuZWNlc3NhcnkgY29kZSB0byBoYW5k bGUgYm90aCB0eXBlcyBvZiBSZWRpc3RyaWJ1dG9ycwo+PiBiYXNlIGFkZHJlc3Nlcy4KPj4KPj4g U2lnbmVkLW9mZi1ieTogU2hhbmtlciBEb250aGluZW5pIDxzaGFua2VyZEBjb2RlYXVyb3JhLm9y Zz4KPj4gLS0tCj4+IENoYW5nZXMgc2luY2UgdjE6Cj4+ICAgIEVkaXRlZCBjb21taXQgdGV4dCBh bmQgZml4ZWQgd2hpdGUgc3BhY2VzLgo+PiAgICBBZGRlZCBhIG5ldyBmdW5jdGlvbiBmb3IgcGFy c2luZyBwZXIgQ1BVIFJlZGlzdHJpYnV0b3IgZW50cnkuCj4+Cj4+ICAgeGVuL2FyY2gvYXJtL2dp Yy12My5jICAgICAgICAgICAgIHwgODQKPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0KPj4gICB4ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy5oICAgICAgICAgfCAgMSArCj4+ ICAgeGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfZGVmcy5oIHwgIDEgKwo+PiAgIDMgZmlsZXMg Y2hhbmdlZCwgNzcgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdp dCBhL3hlbi9hcmNoL2FybS9naWMtdjMuYyBiL3hlbi9hcmNoL2FybS9naWMtdjMuYwo+PiBpbmRl eCAwNDcxZmVhLi4zOTc3MjQ0IDEwMDY0NAo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMK Pj4gKysrIGIveGVuL2FyY2gvYXJtL2dpYy12My5jCj4+IEBAIC02NTksNiArNjU5LDEwIEBAIHN0 YXRpYyBpbnQgX19pbml0IGdpY3YzX3BvcHVsYXRlX3JkaXN0KHZvaWQpCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgc21wX3Byb2Nlc3Nvcl9pZCgpLCBpLCBwdHIpOwo+PiAgICAgICAgICAg ICAgICAgICByZXR1cm4gMDsKPj4gICAgICAgICAgICAgICB9Cj4+ICsKPj4gKyAgICAgICAgICAg IGlmICggZ2ljdjMucmRpc3RfcmVnaW9uc1tpXS5zaW5nbGVfcmRpc3QgKQo+PiArICAgICAgICAg ICAgICAgIGJyZWFrOwo+PiArCj4+ICAgICAgICAgICAgICAgaWYgKCBnaWN2My5yZGlzdF9zdHJp ZGUgKQo+PiAgICAgICAgICAgICAgICAgICBwdHIgKz0gZ2ljdjMucmRpc3Rfc3RyaWRlOwo+PiAg ICAgICAgICAgICAgIGVsc2UKPj4gQEAgLTEyODIsMTQgKzEyODYsMjEgQEAgc3RhdGljIGludCBn aWN2M19pb21lbV9kZW55X2FjY2Vzcyhjb25zdCBzdHJ1Y3QKPiBkb21haW4gKmQpCj4+ICAgfQo+ Pgo+PiAgICNpZmRlZiBDT05GSUdfQUNQSQo+PiAtc3RhdGljIHZvaWQgX19pbml0IGdpY19hY3Bp X2FkZF9yZGlzdF9yZWdpb24odTY0IGJhc2VfYWRkciwgdTMyIHNpemUpCj4+ICtzdGF0aWMgdm9p ZCBfX2luaXQKPj4gK2dpY19hY3BpX2FkZF9yZGlzdF9yZWdpb24odTY0IGJhc2VfYWRkciwgdTMy IHNpemUsIGJvb2wgc2luZ2xlX3JkaXN0KQo+PiAgIHsKPj4gICAgICAgdW5zaWduZWQgaW50IGlk eCA9IGdpY3YzLnJkaXN0X2NvdW50Kys7Cj4+Cj4+ICsgICAgZ2ljdjMucmRpc3RfcmVnaW9uc1tp ZHhdLnNpbmdsZV9yZGlzdCA9IHNpbmdsZV9yZGlzdDsKPj4gICAgICAgZ2ljdjMucmRpc3RfcmVn aW9uc1tpZHhdLmJhc2UgPSBiYXNlX2FkZHI7Cj4+ICAgICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnNb aWR4XS5zaXplID0gc2l6ZTsKPj4gICB9Cj4+Cj4+ICtzdGF0aWMgaW5saW5lIGJvb2wgZ2ljX2Rp c3Rfc3VwcG9ydHNfZHZpcyh2b2lkKQo+PiArewo+PiArICAgIHJldHVybiAhIShyZWFkbF9yZWxh eGVkKEdJQ0QgKyBHSUNEX1RZUEVSKSAmIEdJQ0RfVFlQRVJfRFZJUyk7Cj4+ICt9Cj4+ICsKPj4g ICBzdGF0aWMgaW50IGdpY3YzX21ha2VfaHdkb21fbWFkdChjb25zdCBzdHJ1Y3QgZG9tYWluICpk LCB1MzIgb2Zmc2V0KQo+PiAgIHsKPj4gICAgICAgc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVy ICpoZWFkZXI7Cj4+IEBAIC0xMzk3LDYgKzE0MDgsNDIgQEAgZ2ljX2FjcGlfcGFyc2VfbWFkdF9k aXN0cmlidXRvcihzdHJ1Y3QKPiBhY3BpX3N1YnRhYmxlX2hlYWRlciAqaGVhZGVyLAo+PiAgIH0K Pj4KPj4gICBzdGF0aWMgaW50IF9faW5pdAo+PiArZ2ljX2FjcGlfcGFyc2VfY3B1X3JlZGlzdHJp YnV0b3Ioc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBlbmQpCj4+ICt7Cj4+ ICsgICAgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2ludGVycnVwdCAqcHJvY2Vzc29yOwo+PiAr ICAgIHUzMiBzaXplOwo+PiArCj4+ICsgICAgcHJvY2Vzc29yID0gKHN0cnVjdCBhY3BpX21hZHRf Z2VuZXJpY19pbnRlcnJ1cHQgKiloZWFkZXI7Cj4+ICsgICAgaWYgKCBCQURfTUFEVF9FTlRSWShw cm9jZXNzb3IsIGVuZCkgKQo+PiArICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gKwo+PiArICAg IGlmICggIXByb2Nlc3Nvci0+Z2ljcl9iYXNlX2FkZHJlc3MgKQo+PiArICAgICAgICByZXR1cm4g LUVJTlZBTDsKPgo+IFlvdSBhbHJlYWR5IGNoZWNrIGl0IGluIGdpY19hY3BpX2dldF9tYWR0X2Nw dV9udW0sIHNvIHRoZXJlIGlzIG5vIAo+IHJlYXNvbiB0byBkbyBpdCBhZ2Fpbi4KPgpPdGhlciBm dW5jdGlvbiBqdXN0IGZpbmRzIHRoZSBudW1iZXIgb2YgdmFsaWQgY3B1IGludGVyZmFjZXMuIEkg d291bGQgIApwcmVmZXIgdG8ga2VlcCB0aGUgdmFsaWRhdGlvbiBjaGVjayBoZXJlLgoKPj4gKwo+ PiArICAgIGlmICggcHJvY2Vzc29yLT5mbGFncyAmIEFDUElfTUFEVF9FTkFCTEVEICkKPj4gKyAg ICB7Cj4+ICsgICAgICAgIHNpemUgPSBnaWNfZGlzdF9zdXBwb3J0c19kdmlzKCkgPyA0ICogU1pf NjRLIDogMiAqIFNaXzY0SzsKPj4gKyBnaWNfYWNwaV9hZGRfcmRpc3RfcmVnaW9uKHByb2Nlc3Nv ci0+Z2ljcl9iYXNlX2FkZHJlc3MsIHNpemUsCj4gdHJ1ZSk7Cj4+ICsgICAgfQo+Cj4gSSB3b3Vs ZCByZXZlcnQgdGhlIGNvbmRpdGlvbiB0byBhdm9pZCBvbmUgbGV2ZWwgb2YgaW5kZW50YXRpb24u IEkuZQo+CgpJJ2xsIGRvLgoKPiBpZiAoICEocHJvY2Vzc29yLT5mbGFncyAmIEFDUElfTUFEVF9F TkFCTEVEKSApCj4gICByZXR1cm4gMDsKPgo+IHNpemUgPSAuLi4uCj4gZ2ljX2FjcGlfYWRkLi4u Cj4KPiByZXR1cm4gMDsKPgo+IEhvd2V2ZXIsIGl0IGxvb2tzIGxpa2UgdGhhdCB0aGUgb3RoZXIg ZnVuY3Rpb24gdGhhdCBwYXJzZXMgR0lDQyB3aXRoaW4gCj4gZ2ljLXYzLmMgKHNlZSBnaWNfYWNw aV9wYXJzZV9tYWR0X2NwdSkgZG9lcyBub3QgY2hlY2sgaWYgdGhlIENQVSBpcwo+IHVzYWJsZS4K PgoKRGlzYWJsZWQgR0lDQyBlbnRyaWVzIHNob3VsZCBiZSBza2lwcGVkIGJlY2F1c2UgaXRzIFJl ZGlzdHJpYnV0b3IgcmVnaW9uIAppcyBub3QgYWx3YXlzLW9uIHBvd2VyIGRvbWFpbi4gUGxlYXNl IGxvb2sgYXQgbXkgcmV2aWV3IGNvbW1lbnQgdG8geW91ciAKS1ZNLUFDUEkgcGF0Y2ggaHR0cDov L3d3dy5nb3NzYW1lci10aHJlYWRzLmNvbS9saXN0cy9saW51eC9rZXJuZWwvMjQxMzY3MC4KCj4g SSB0aGluayB3ZSBuZWVkIHRvIGhhdmUgdGhlIHNhbWUgcGFyc2luZyBiZWhhdmlvciBvbiBldmVy eSBmdW5jdGlvbi4KPgo+PiArCj4+ICsgICAgcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRp YyBpbnQgX19pbml0Cj4+ICtnaWNfYWNwaV9nZXRfbWFkdF9jcHVfbnVtKHN0cnVjdCBhY3BpX3N1 YnRhYmxlX2hlYWRlciAqaGVhZGVyLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBlbmQpCj4+ICt7Cj4+ICsgICAgc3RydWN0IGFjcGlf bWFkdF9nZW5lcmljX2ludGVycnVwdCAqY3B1aWY7Cj4+ICsKPj4gKyAgICBjcHVpZiA9IChzdHJ1 Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0ICopaGVhZGVyOwo+PiArICAgIGlmICggQkFE X01BRFRfRU5UUlkoY3B1aWYsIGVuZCkgfHwgIWNwdWlmLT5naWNyX2Jhc2VfYWRkcmVzcyApCj4+ ICsgICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiArCj4+ICsgICAgcmV0dXJuIDA7Cj4+ICt9Cj4+ ICsKPj4gK3N0YXRpYyBpbnQgX19pbml0Cj4+ICAgZ2ljX2FjcGlfcGFyc2VfbWFkdF9yZWRpc3Ry aWJ1dG9yKHN0cnVjdCBhY3BpX3N1YnRhYmxlX2hlYWRlciAqaGVhZGVyLAo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGVuZCkKPj4gICB7 Cj4+IEBAIC0xNDA5LDcgKzE0NTYsNyBAQCBnaWNfYWNwaV9wYXJzZV9tYWR0X3JlZGlzdHJpYnV0 b3Ioc3RydWN0Cj4gYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwKPj4gICAgICAgaWYgKCAh cmRpc3QtPmJhc2VfYWRkcmVzcyB8fCAhcmRpc3QtPmxlbmd0aCApCj4+ICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsKPj4KPj4gLSAgICBnaWNfYWNwaV9hZGRfcmRpc3RfcmVnaW9uKHJkaXN0LT5i YXNlX2FkZHJlc3MsIHJkaXN0LT5sZW5ndGgpOwo+PiArICAgIGdpY19hY3BpX2FkZF9yZGlzdF9y ZWdpb24ocmRpc3QtPmJhc2VfYWRkcmVzcywgcmRpc3QtPmxlbmd0aCwKPiBmYWxzZSk7Cj4+Cj4+ ICAgICAgIHJldHVybiAwOwo+PiAgIH0KPj4gQEAgLTE0MjgsNiArMTQ3NSw3IEBAIHN0YXRpYyB2 b2lkIF9faW5pdCBnaWN2M19hY3BpX2luaXQodm9pZCkKPj4gICB7Cj4+ICAgICAgIHN0cnVjdCBh Y3BpX3RhYmxlX2hlYWRlciAqdGFibGU7Cj4+ICAgICAgIHN0cnVjdCByZGlzdF9yZWdpb24gKnJk aXN0X3JlZ3M7Cj4+ICsgICAgYm9vbCBnaWNyX3RhYmxlID0gdHJ1ZTsKPj4gICAgICAgYWNwaV9z dGF0dXMgc3RhdHVzOwo+PiAgICAgICBpbnQgY291bnQ7Cj4+Cj4+IEBAIC0xNDU3LDggKzE1MDUs MTggQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlfaW5pdCh2b2lkKQo+PiAgICAgICBj b3VudCA9IGFjcGlfcGFyc2VfZW50cmllcyhBQ1BJX1NJR19NQURULCBzaXplb2Yoc3RydWN0Cj4g YWNwaV90YWJsZV9tYWR0KSwKPj4gZ2ljX2FjcGlfZ2V0X21hZHRfcmVkaXN0cmlidXRvcl9udW0s Cj4gdGFibGUsCj4+IEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfUkVESVNUUklCVVRPUiwKPiAwKTsK Pj4gLSAgICBpZiAoIGNvdW50IDw9IDAgKQo+PiAtICAgICAgICBwYW5pYygiR0lDdjM6IE5vIHZh bGlkIEdJQ1IgZW50cmllcyBleGlzdHMiKTsKPj4gKwo+PiArICAgIC8qIENvdW50IHRoZSB0b3Rh bCBudW1iZXIgb2YgQ1BVIGludGVyZmFjZSBlbnRyaWVzICovCj4+ICsgICAgaWYgKGNvdW50IDw9 IDApIHsKPgo+IENvZGluZyBzdHlsZToKPgo+IGlmICggY291bnQgPD0gMCApCj4gewo+Cj4+ICsg ICAgICAgIGNvdW50ID0gYWNwaV9wYXJzZV9lbnRyaWVzKEFDUElfU0lHX01BRFQsCj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9t YWR0KSwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ljX2FjcGlfZ2V0 X21hZHRfY3B1X251bSwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFi bGUsCj4gQUNQSV9NQURUX1RZUEVfR0VORVJJQ19JTlRFUlJVUFQsIDApOwo+Cj4gUGxlYXNlIHVz ZSBhY3BpX3RhYmxlX3BhcnNlX21hZHQuCj4KPj4gKyAgICAgICAgaWYgKGNvdW50IDw9IDApCj4K PiBDb2Rpbmcgc3R5bGU6Cj4KPiBpZiAoIGNvdW50IDw9IDAgKQo+Cj4+ICsgICAgICAgICAgICBw YW5pYygiR0lDdjM6IE5vIHZhbGlkIEdJQ1IgZW50cmllcyBleGlzdHMiKTsKPj4gKwo+PiArICAg ICAgICBnaWNyX3RhYmxlID0gZmFsc2U7Cj4+ICsgICAgfQo+Pgo+PiAgICAgICBpZiAoIGNvdW50 ID4gTUFYX1JESVNUX0NPVU5UICkKPj4gICAgICAgICAgIHBhbmljKCJHSUN2MzogTnVtYmVyIG9m IHJlZGlzdHJpYnV0b3IgcmVnaW9ucyBpcyBtb3JlIHRoYW4iCj4+IEBAIC0xNDcwLDExICsxNTI4 LDE5IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBnaWN2M19hY3BpX2luaXQodm9pZCkKPj4KPj4gICAg ICAgZ2ljdjMucmRpc3RfcmVnaW9ucyA9IHJkaXN0X3JlZ3M7Cj4+Cj4+IC0gICAgLyogUGFyc2Ug YWx3YXlzLW9uIHBvd2VyIGRvbWFpbiBSZS1kaXN0cmlidXRvciBlbnRyaWVzICovCj4+IC0gICAg Y291bnQgPSBhY3BpX3BhcnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwKPj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfbWFkdCksCj4+IC0g Z2ljX2FjcGlfcGFyc2VfbWFkdF9yZWRpc3RyaWJ1dG9yLAo+IHRhYmxlLAo+PiAtIEFDUElfTUFE VF9UWVBFX0dFTkVSSUNfUkVESVNUUklCVVRPUiwKPiBjb3VudCk7Cj4+ICsgICAgaWYgKCBnaWNy X3RhYmxlICkKPj4gKyAgICAgICAgLyogUGFyc2UgYWx3YXlzLW9uIHBvd2VyIGRvbWFpbiBSZS1k aXN0cmlidXRvciBlbnRyaWVzICovCj4+ICsgICAgICAgIGNvdW50ID0gYWNwaV9wYXJzZV9lbnRy aWVzKEFDUElfU0lHX01BRFQsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9tYWR0KSwKPj4gKyBnaWNfYWNwaV9wYXJzZV9tYWR0 X3JlZGlzdHJpYnV0b3IsCj4gdGFibGUsCj4+ICsKPiBBQ1BJX01BRFRfVFlQRV9HRU5FUklDX1JF RElTVFJJQlVUT1IsIGNvdW50KTsKPgo+IFBsZWFzZSB1c2UgYWNwaV90YWJsZV9wYXJzZV9tYWR0 Lgo+Cj4+ICsgICAgZWxzZQo+PiArICAgICAgICAvKiBQYXJzZSBSZS1kaXN0cmlidXRvciBlbnRy aWVzIGRlc2NyaWJlZCBpbiBDUFUgaW50ZXJmYWNlCj4gdGFibGUgKi8KPj4gKyAgICAgICAgY291 bnQgPSBhY3BpX3BhcnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwKPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX21hZHQpLAo+PiAr IGdpY19hY3BpX3BhcnNlX2NwdV9yZWRpc3RyaWJ1dG9yLAo+IHRhYmxlLAo+PiArIEFDUElfTUFE VF9UWVBFX0dFTkVSSUNfSU5URVJSVVBULAo+IGNvdW50KTsKPgo+IERpdHRvLgo+Cj4+ICsKPj4g ICAgICAgaWYgKCBjb3VudCA8PSAwICkKPj4gICAgICAgICAgIHBhbmljKCJHSUN2MzogQ2FuJ3Qg Z2V0IFJlZGlzdHJpYnV0b3IgZW50cnkiKTsKPj4KPj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl L2FzbS1hcm0vZ2ljLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy5oCj4+IGluZGV4IDQ0Yjll ZjYuLmZlZGYxZmEgMTAwNjQ0Cj4+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLmgKPj4g KysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWMuaAo+PiBAQCAtMTAxLDYgKzEwMSw3IEBACj4+ ICAgI2RlZmluZSBHSUNEX1RZUEVfQ1BVU19TSElGVCA1Cj4+ICAgI2RlZmluZSBHSUNEX1RZUEVf Q1BVUyAgMHgwZTAKPj4gICAjZGVmaW5lIEdJQ0RfVFlQRV9TRUMgICAweDQwMAo+PiArI2RlZmlu ZSBHSUNEX1RZUEVSX0RWSVMgKDFVIDw8IDE4KQo+Pgo+PiAgICNkZWZpbmUgR0lDQ19DVExfRU5B QkxFIDB4MQo+PiAgICNkZWZpbmUgR0lDQ19DVExfRU9JICAgICgweDEgPDwgOSkKPj4gZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2RlZnMuaAo+IGIveGVuL2luY2x1ZGUv YXNtLWFybS9naWNfdjNfZGVmcy5oCj4+IGluZGV4IDZkOTg0OTEuLjZiZDI1YTUgMTAwNjQ0Cj4+ IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2RlZnMuaAo+PiArKysgYi94ZW4vaW5j bHVkZS9hc20tYXJtL2dpY192M19kZWZzLmgKPj4gQEAgLTE0MSw2ICsxNDEsNyBAQCBzdHJ1Y3Qg cmRpc3RfcmVnaW9uIHsKPj4gICAgICAgcGFkZHJfdCBiYXNlOwo+PiAgICAgICBwYWRkcl90IHNp emU7Cj4+ICAgICAgIHZvaWQgX19pb21lbSAqbWFwX2Jhc2U7Cj4+ICsgICAgYm9vbCBzaW5nbGVf cmRpc3Q7Cj4+ICAgfTsKPj4KPj4gICAjZW5kaWYgLyogX19BU01fQVJNX0dJQ19WM19ERUZTX0hf XyAqLwo+Pgo+Cj4gUmVnYXJkcywKPgoKLS0gClNoYW5rZXIgRG9udGhpbmVuaQpRdWFsY29tbSBU ZWNobm9sb2dpZXMsIEluYy4gb24gYmVoYWxmIG9mIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVy LCBJbmMuClF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIENv ZGUgQXVyb3JhIEZvcnVtLCBhIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0 CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK