From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vijay Kilari Subject: Re: [RFC PATCH 08/24] ARM: GICv3: introduce separate pending_irq structs for LPIs Date: Mon, 24 Oct 2016 21:01:54 +0530 Message-ID: References: <20160928182457.12433-1-andre.przywara@arm.com> <20160928182457.12433-9-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1byhED-0003Qj-NN for xen-devel@lists.xenproject.org; Mon, 24 Oct 2016 15:31:57 +0000 Received: by mail-ua0-f196.google.com with SMTP id 6so1204574uat.1 for ; Mon, 24 Oct 2016 08:31:55 -0700 (PDT) In-Reply-To: <20160928182457.12433-9-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andre Przywara Cc: xen-devel , Julien Grall , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org T24gV2VkLCBTZXAgMjgsIDIwMTYgYXQgMTE6NTQgUE0sIEFuZHJlIFByenl3YXJhIDxhbmRyZS5w cnp5d2FyYUBhcm0uY29tPiB3cm90ZToKPiBGb3IgdGhlIHNhbWUgcmVhc29uIHRoYXQgYWxsb2Nh dGluZyBhIHN0cnVjdCBpcnFfZGVzYyBmb3IgZWFjaAo+IHBvc3NpYmxlIExQSSBpcyBub3QgYW4g b3B0aW9uLCBoYXZpbmcgYSBzdHJ1Y3QgcGVuZGluZ19pcnEgZm9yIGVhY2ggTFBJCj4gaXMgYWxz byBub3QgZmVhc2libGUuIEhvd2V2ZXIgd2UgYWN0dWFsbHkgb25seSBuZWVkIHRob3NlIHdoZW4g YW4KPiBpbnRlcnJ1cHQgaXMgb24gYSB2Q1BVIChvciBpcyBhYm91dCB0byBiZSBpbmplY3RlZCku Cj4gTWFpbnRhaW4gYSBsaXN0IG9mIHRob3NlIHN0cnVjdHMgdGhhdCB3ZSBjYW4gdXNlIGZvciB0 aGUgbGlmZWN5Y2xlIG9mCj4gYSBndWVzdCBMUEkuIFdlIGFsbG9jYXRlIG5ldyBlbnRyaWVzIGlm IG5lY2Vzc2FyeSwgaG93ZXZlciByZXVzZQo+IHByZS1vd25lZCBlbnRyaWVzIHdoZW5ldmVyIHBv c3NpYmxlLgo+IFRlYWNoIHRoZSBleGlzdGluZyBWR0lDIGZ1bmN0aW9ucyB0byBmaW5kIHRoZSBy aWdodCBwb2ludGVyIHdoZW4gYmVpbmcKPiBnaXZlbiBhIHZpcnR1YWwgTFBJIG51bWJlci4KPgo+ IFNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgo+ IC0tLQo+ICB4ZW4vYXJjaC9hcm0vZ2ljLmMgICAgICAgICAgICB8ICAzICsrKwo+ICB4ZW4vYXJj aC9hcm0vdmdpYy12My5jICAgICAgICB8ICAyICsrCj4gIHhlbi9hcmNoL2FybS92Z2ljLmMgICAg ICAgICAgIHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+ ICB4ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oICB8ICAxICsKPiAgeGVuL2luY2x1ZGUvYXNt LWFybS9naWMtaXRzLmggfCAxMCArKysrKysrKwo+ICB4ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMu aCAgICB8ICA5ICsrKysrKysKPiAgNiBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9naWMuYyBiL3hlbi9h cmNoL2FybS9naWMuYwo+IGluZGV4IDYzYzc0NGEuLmViZTQwMzUgMTAwNjQ0Cj4gLS0tIGEveGVu L2FyY2gvYXJtL2dpYy5jCj4gKysrIGIveGVuL2FyY2gvYXJtL2dpYy5jCj4gQEAgLTUwNiw2ICs1 MDYsOSBAQCBzdGF0aWMgdm9pZCBnaWNfdXBkYXRlX29uZV9scihzdHJ1Y3QgdmNwdSAqdiwgaW50 IGkpCj4gICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdl90YXJnZXQgPSB2Z2ljX2dldF90 YXJnZXRfdmNwdSh2LCBpcnEpOwo+ICAgICAgICAgICAgICAgICAgaXJxX3NldF9hZmZpbml0eShw LT5kZXNjLCBjcHVtYXNrX29mKHZfdGFyZ2V0LT5wcm9jZXNzb3IpKTsKPiAgICAgICAgICAgICAg fQo+ICsgICAgICAgICAgICAvKiBJZiB0aGlzIHdhcyBhbiBMUEksIG1hcmsgdGhpcyBzdHJ1Y3Qg YXMgYXZhaWxhYmxlIGFnYWluLiAqLwo+ICsgICAgICAgICAgICBpZiAoIHAtPmlycSA+PSA4MTky ICkKIENhbiBkZWZpbmUgc29tZXRoaW5nIGxpbmUgaXNfbHBpKGlycSkgYW5kIHVzZSBpdCBldmVy eXdoZXJlCj4gKyAgICAgICAgICAgICAgICBwLT5pcnEgPSAwOwo+ICAgICAgICAgIH0KPiAgICAg IH0KPiAgfQo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy12My5jIGIveGVuL2FyY2gv YXJtL3ZnaWMtdjMuYwo+IGluZGV4IGVjMDM4YTMuLmU5YjY0OTAgMTAwNjQ0Cj4gLS0tIGEveGVu L2FyY2gvYXJtL3ZnaWMtdjMuYwo+ICsrKyBiL3hlbi9hcmNoL2FybS92Z2ljLXYzLmMKPiBAQCAt MTM4OCw2ICsxMzg4LDggQEAgc3RhdGljIGludCB2Z2ljX3YzX3ZjcHVfaW5pdChzdHJ1Y3QgdmNw dSAqdikKPiAgICAgIGlmICggdi0+dmNwdV9pZCA9PSBsYXN0X2NwdSB8fCAodi0+dmNwdV9pZCA9 PSAoZC0+bWF4X3ZjcHVzIC0gMSkpICkKPiAgICAgICAgICB2LT5hcmNoLnZnaWMuZmxhZ3MgfD0g VkdJQ19WM19SRElTVF9MQVNUOwo+Cj4gKyAgICBJTklUX0xJU1RfSEVBRCgmdi0+YXJjaC52Z2lj LnBlbmRpbmdfbHBpX2xpc3QpOwo+ICsKPiAgICAgIHJldHVybiAwOwo+ICB9Cj4KPiBkaWZmIC0t Z2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMuYyBiL3hlbi9hcmNoL2FybS92Z2ljLmMKPiBpbmRleCAw OTY1MTE5Li5iOTYxNTUxIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS92Z2ljLmMKPiArKysg Yi94ZW4vYXJjaC9hcm0vdmdpYy5jCj4gQEAgLTMxLDYgKzMxLDggQEAKPiAgI2luY2x1ZGUgPGFz bS9tbWlvLmg+Cj4gICNpbmNsdWRlIDxhc20vZ2ljLmg+Cj4gICNpbmNsdWRlIDxhc20vdmdpYy5o Pgo+ICsjaW5jbHVkZSA8YXNtL2dpY192M19kZWZzLmg+Cj4gKyNpbmNsdWRlIDxhc20vZ2ljLWl0 cy5oPgo+Cj4gIHN0YXRpYyBpbmxpbmUgc3RydWN0IHZnaWNfaXJxX3JhbmsgKnZnaWNfZ2V0X3Jh bmsoc3RydWN0IHZjcHUgKnYsIGludCByYW5rKQo+ICB7Cj4gQEAgLTYxLDcgKzYzLDcgQEAgc3Ry dWN0IHZnaWNfaXJxX3JhbmsgKnZnaWNfcmFua19pcnEoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVk IGludCBpcnEpCj4gICAgICByZXR1cm4gdmdpY19nZXRfcmFuayh2LCByYW5rKTsKPiAgfQo+Cj4g LXN0YXRpYyB2b2lkIHZnaWNfaW5pdF9wZW5kaW5nX2lycShzdHJ1Y3QgcGVuZGluZ19pcnEgKnAs IHVuc2lnbmVkIGludCB2aXJxKQo+ICt2b2lkIHZnaWNfaW5pdF9wZW5kaW5nX2lycShzdHJ1Y3Qg cGVuZGluZ19pcnEgKnAsIHVuc2lnbmVkIGludCB2aXJxKQo+ICB7Cj4gICAgICBJTklUX0xJU1Rf SEVBRCgmcC0+aW5mbGlnaHQpOwo+ICAgICAgSU5JVF9MSVNUX0hFQUQoJnAtPmxyX3F1ZXVlKTsK PiBAQCAtMjQ0LDEwICsyNDYsMTQgQEAgc3RydWN0IHZjcHUgKnZnaWNfZ2V0X3RhcmdldF92Y3B1 KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgdmlycSkKPgo+ICBzdGF0aWMgaW50IHZnaWNf Z2V0X3ZpcnFfcHJpb3JpdHkoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB2aXJxKQo+ICB7 Cj4gLSAgICBzdHJ1Y3QgdmdpY19pcnFfcmFuayAqcmFuayA9IHZnaWNfcmFua19pcnEodiwgdmly cSk7Cj4gKyAgICBzdHJ1Y3QgdmdpY19pcnFfcmFuayAqcmFuazsKPiAgICAgIHVuc2lnbmVkIGxv bmcgZmxhZ3M7Cj4gICAgICBpbnQgcHJpb3JpdHk7Cj4KPiArICAgIGlmICggdmlycSA+PSA4MTky ICkKPiArICAgICAgICByZXR1cm4gZ2ljdjNfbHBpX2dldF9wcmlvcml0eSh2LT5kb21haW4sIHZp cnEpOwo+ICsKPiArICAgIHJhbmsgPSB2Z2ljX3JhbmtfaXJxKHYsIHZpcnEpOwo+ICAgICAgdmdp Y19sb2NrX3JhbmsodiwgcmFuaywgZmxhZ3MpOwo+ICAgICAgcHJpb3JpdHkgPSByYW5rLT5wcmlv cml0eVt2aXJxICYgSU5URVJSVVBUX1JBTktfTUFTS107Cj4gICAgICB2Z2ljX3VubG9ja19yYW5r KHYsIHJhbmssIGZsYWdzKTsKPiBAQCAtNDQ2LDEzICs0NTIsNTUgQEAgaW50IHZnaWNfdG9fc2dp KHN0cnVjdCB2Y3B1ICp2LCByZWdpc3Rlcl90IHNnaXIsIGVudW0gZ2ljX3NnaV9tb2RlIGlycW1v ZGUsIGludAo+ICAgICAgcmV0dXJuIDE7Cj4gIH0KPgo+ICsvKgo+ICsgKiBIb2xkaW5nIHN0cnVj dCBwZW5kaW5nX2lycSdzIGZvciBlYWNoIHBvc3NpYmxlIHZpcnR1YWwgTFBJIGluIGVhY2ggZG9t YWluCj4gKyAqIHJlcXVpcmVzIHRvbyBtdWNoIFhlbiBtZW1vcnksIGFsc28gYSBtYWxpY2lvdXMg Z3Vlc3QgY291bGQgcG90ZW50aWFsbHkKPiArICogc3BhbSBYZW4gd2l0aCBMUEkgbWFwIHJlcXVl c3RzLiBXZSBjYW5ub3QgY292ZXIgdGhvc2Ugd2l0aCAoZ3Vlc3QgYWxsb2NhdGVkKQo+ICsgKiBJ VFMgbWVtb3J5LCBzbyB3ZSB1c2UgYSBkeW5hbWljIHNjaGVtZSBvZiBhbGxvY2F0aW5nIHN0cnVj dCBwZW5kaW5nX2lycSdzCj4gKyAqIG9uIGRlbWFuZC4KPiArICovCj4gK3N0cnVjdCBwZW5kaW5n X2lycSAqbHBpX3RvX3BlbmRpbmcoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBscGksCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBhbGxvY2F0ZSkKPiArewo+ ICsgICAgc3RydWN0IGxwaV9wZW5kaW5nX2lycSAqbHBpX2lycSwgKmVtcHR5ID0gTlVMTDsKPiAr Cj4gKyAgICAvKiBUT0RPOiBsb2NraW5nISAqLwo+ICsgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShs cGlfaXJxLCAmdi0+YXJjaC52Z2ljLnBlbmRpbmdfbHBpX2xpc3QsIGVudHJ5KQo+ICsgICAgewo+ ICsgICAgICAgIGlmICggbHBpX2lycS0+cGlycS5pcnEgPT0gbHBpICkKPiArICAgICAgICAgICAg cmV0dXJuICZscGlfaXJxLT5waXJxOwo+ICsKPiArICAgICAgICBpZiAoIGxwaV9pcnEtPnBpcnEu aXJxID09IDAgJiYgIWVtcHR5ICkKPiArICAgICAgICAgICAgZW1wdHkgPSBscGlfaXJxOwo+ICsg ICAgfQogICBXaXRoIHRoaXMgYXBwcm9hY2ggb2YgYWxsb2NhdGluZyBwZW5kaW5nX2lycSBvbiBk ZW1hbmQsIGlmIHRoZQpwZW5kaW5nX2xwaV9saXN0CmlzIGF0IG4gcG9zaXRpb24gdGhlbiBpdCBp dGVyYXRlcyBmb3IgbG9uZyB0aW1lIHRvIGZpbmQgcGVuZGluZ19pcnEgZW50cnkuClRoaXMgd2ls bCBpbmNyZWFzZSBMUEkgaW5qZWN0aW9uIHRpbWUgdG8gZG9tYWluLgoKV2h5IGNhbid0IHdlIHVz ZSBidHJlZT8KCj4gKwo+ICsgICAgaWYgKCAhYWxsb2NhdGUgKQo+ICsgICAgICAgIHJldHVybiBO VUxMOwo+ICsKPiArICAgIGlmICggIWVtcHR5ICkKPiArICAgIHsKPiArICAgICAgICBlbXB0eSA9 IHh6YWxsb2Moc3RydWN0IGxwaV9wZW5kaW5nX2lycSk7Cj4gKyAgICAgICAgdmdpY19pbml0X3Bl bmRpbmdfaXJxKCZlbXB0eS0+cGlycSwgbHBpKTsKPiArICAgICAgICBsaXN0X2FkZF90YWlsKCZl bXB0eS0+ZW50cnksICZ2LT5hcmNoLnZnaWMucGVuZGluZ19scGlfbGlzdCk7Cj4gKyAgICB9IGVs c2UKPiArICAgIHsKPiArICAgICAgICBlbXB0eS0+cGlycS5zdGF0dXMgPSAwOwo+ICsgICAgICAg IGVtcHR5LT5waXJxLmlycSA9IGxwaTsKPiArICAgIH0KPiArCj4gKyAgICByZXR1cm4gJmVtcHR5 LT5waXJxOwo+ICt9Cj4gKwo+ICBzdHJ1Y3QgcGVuZGluZ19pcnEgKmlycV90b19wZW5kaW5nKHN0 cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgaXJxKQo+ICB7Cj4gICAgICBzdHJ1Y3QgcGVuZGlu Z19pcnEgKm47Cj4gKwo+ICAgICAgLyogUGVuZGluZyBpcnFzIGFsbG9jYXRpb24gc3RyYXRlZ3k6 IHRoZSBmaXJzdCB2Z2ljLm5yX3NwaXMgaXJxcwo+ICAgICAgICogYXJlIHVzZWQgZm9yIFNQSXM7 IHRoZSByZXN0cyBhcmUgdXNlZCBmb3IgcGVyIGNwdSBpcnFzICovCj4gICAgICBpZiAoIGlycSA8 IDMyICkKPiAgICAgICAgICBuID0gJnYtPmFyY2gudmdpYy5wZW5kaW5nX2lycXNbaXJxXTsKPiAr ICAgIGVsc2UgaWYgKCBpcnEgPj0gODE5MiApCj4gKyAgICAgICAgbiA9IGxwaV90b19wZW5kaW5n KHYsIGlycSwgdHJ1ZSk7Cj4gICAgICBlbHNlCj4gICAgICAgICAgbiA9ICZ2LT5kb21haW4tPmFy Y2gudmdpYy5wZW5kaW5nX2lycXNbaXJxIC0gMzJdOwo+ICAgICAgcmV0dXJuIG47Cj4gQEAgLTQ4 MCw3ICs1MjgsNyBAQCB2b2lkIHZnaWNfY2xlYXJfcGVuZGluZ19pcnFzKHN0cnVjdCB2Y3B1ICp2 KQo+ICB2b2lkIHZnaWNfdmNwdV9pbmplY3RfaXJxKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBp bnQgdmlycSkKPiAgewo+ICAgICAgdWludDhfdCBwcmlvcml0eTsKPiAtICAgIHN0cnVjdCBwZW5k aW5nX2lycSAqaXRlciwgKm4gPSBpcnFfdG9fcGVuZGluZyh2LCB2aXJxKTsKPiArICAgIHN0cnVj dCBwZW5kaW5nX2lycSAqaXRlciwgKm47Cj4gICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICAg ICAgYm9vbF90IHJ1bm5pbmc7Cj4KPiBAQCAtNDg4LDYgKzUzNiw4IEBAIHZvaWQgdmdpY192Y3B1 X2luamVjdF9pcnEoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB2aXJxKQo+Cj4gICAgICBz cGluX2xvY2tfaXJxc2F2ZSgmdi0+YXJjaC52Z2ljLmxvY2ssIGZsYWdzKTsKPgo+ICsgICAgbiA9 IGlycV90b19wZW5kaW5nKHYsIHZpcnEpOwo+ICsKPiAgICAgIC8qIHZjcHUgb2ZmbGluZSAqLwo+ ICAgICAgaWYgKCB0ZXN0X2JpdChfVlBGX2Rvd24sICZ2LT5wYXVzZV9mbGFncykgKQo+ICAgICAg ewo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oIGIveGVuL2luY2x1 ZGUvYXNtLWFybS9kb21haW4uaAo+IGluZGV4IDk0NTJmY2QuLmFlOGE5ZGUgMTAwNjQ0Cj4gLS0t IGEveGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1h cm0vZG9tYWluLmgKPiBAQCAtMjQ5LDYgKzI0OSw3IEBAIHN0cnVjdCBhcmNoX3ZjcHUKPiAgICAg ICAgICBwYWRkcl90IHJkaXN0X2Jhc2U7Cj4gICNkZWZpbmUgVkdJQ19WM19SRElTVF9MQVNUICAo MSA8PCAwKSAgICAgICAgLyogbGFzdCB2Q1BVIG9mIHRoZSByZGlzdCAqLwo+ICAgICAgICAgIHVp bnQ4X3QgZmxhZ3M7Cj4gKyAgICAgICAgc3RydWN0IGxpc3RfaGVhZCBwZW5kaW5nX2xwaV9saXN0 Owo+ICAgICAgfSB2Z2ljOwo+Cj4gICAgICAvKiBUaW1lciByZWdpc3RlcnMgICovCj4gZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oIGIveGVuL2luY2x1ZGUvYXNtLWFy bS9naWMtaXRzLmgKPiBpbmRleCA0ZTk4NDFhLi4xZjg4MWMwIDEwMDY0NAo+IC0tLSBhL3hlbi9p bmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oCj4gKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWMt aXRzLmgKPiBAQCAtMTM2LDYgKzEzNiwxMiBAQCBpbnQgZ2ljdjNfbHBpX2FsbG9jYXRlX2hvc3Rf bHBpKHN0cnVjdCBob3N0X2l0cyAqaXRzLAo+ICBpbnQgZ2ljdjNfbHBpX2Ryb3BfaG9zdF9scGko c3RydWN0IGhvc3RfaXRzICppdHMsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBkZXZpZCwgdWludDMyX3QgZXZlbnRpZCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90IGhvc3RfbHBpKTsKPiArCj4gK3N0YXRpYyBpbmxpbmUgaW50IGdpY3YzX2xw aV9nZXRfcHJpb3JpdHkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3QgbHBpKQo+ICt7Cj4gKyAg ICByZXR1cm4gR0lDX1BSSV9JUlE7CiAgIFdoeSBscGkgcHJpb3JpdHkgaXMgZml4ZWQ/LiBjYW4n dCB3ZSB1c2UgZG9tYWluIHNldCBscGkgcHJpb3JpdHk/Cgo+ICt9Cj4gKwo+ICAjZWxzZQo+Cj4g IHN0YXRpYyBpbmxpbmUgdm9pZCBnaWN2M19pdHNfZHRfaW5pdChjb25zdCBzdHJ1Y3QgZHRfZGV2 aWNlX25vZGUgKm5vZGUpCj4gQEAgLTE3NSw2ICsxODEsMTAgQEAgc3RhdGljIGlubGluZSBpbnQg Z2ljdjNfbHBpX2Ryb3BfaG9zdF9scGkoc3RydWN0IGhvc3RfaXRzICppdHMsCj4gIHsKPiAgICAg IHJldHVybiAwOwo+ICB9Cj4gK3N0YXRpYyBpbmxpbmUgaW50IGdpY3YzX2xwaV9nZXRfcHJpb3Jp dHkoc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3QgbHBpKQo+ICt7Cj4gKyAgICByZXR1cm4gR0lD X1BSSV9JUlE7Cj4gK30KPgo+ICAjZW5kaWYgLyogQ09ORklHX0hBU19JVFMgKi8KPgo+IGRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0v dmdpYy5oCj4gaW5kZXggMzAwZjQ2MS4uNGUyOWJhNiAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVk ZS9hc20tYXJtL3ZnaWMuaAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5oCj4gQEAg LTgzLDYgKzgzLDEyIEBAIHN0cnVjdCBwZW5kaW5nX2lycQo+ICAgICAgc3RydWN0IGxpc3RfaGVh ZCBscl9xdWV1ZTsKPiAgfTsKPgo+ICtzdHJ1Y3QgbHBpX3BlbmRpbmdfaXJxCj4gK3sKPiArICAg IHN0cnVjdCBsaXN0X2hlYWQgZW50cnk7Cj4gKyAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgcGlycTsK PiArfTsKPiArCj4gICNkZWZpbmUgTlJfSU5URVJSVVBUX1BFUl9SQU5LICAgMzIKPiAgI2RlZmlu ZSBJTlRFUlJVUFRfUkFOS19NQVNLIChOUl9JTlRFUlJVUFRfUEVSX1JBTksgLSAxKQo+Cj4gQEAg LTI5Niw4ICszMDIsMTEgQEAgZXh0ZXJuIHN0cnVjdCB2Y3B1ICp2Z2ljX2dldF90YXJnZXRfdmNw dShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHZpcnEpOwo+ICBleHRlcm4gdm9pZCB2Z2lj X3ZjcHVfaW5qZWN0X2lycShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHZpcnEpOwo+ICBl eHRlcm4gdm9pZCB2Z2ljX3ZjcHVfaW5qZWN0X3NwaShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l ZCBpbnQgdmlycSk7Cj4gIGV4dGVybiB2b2lkIHZnaWNfY2xlYXJfcGVuZGluZ19pcnFzKHN0cnVj dCB2Y3B1ICp2KTsKPiArZXh0ZXJuIHZvaWQgdmdpY19pbml0X3BlbmRpbmdfaXJxKHN0cnVjdCBw ZW5kaW5nX2lycSAqcCwgdW5zaWduZWQgaW50IHZpcnEpOwo+ICBleHRlcm4gc3RydWN0IHBlbmRp bmdfaXJxICppcnFfdG9fcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGlycSk7 Cj4gIGV4dGVybiBzdHJ1Y3QgcGVuZGluZ19pcnEgKnNwaV90b19wZW5kaW5nKHN0cnVjdCBkb21h aW4gKmQsIHVuc2lnbmVkIGludCBpcnEpOwo+ICtleHRlcm4gc3RydWN0IHBlbmRpbmdfaXJxICps cGlfdG9fcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGlycSwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBhbGxvY2F0ZSk7Cj4gIGV4 dGVybiBzdHJ1Y3QgdmdpY19pcnFfcmFuayAqdmdpY19yYW5rX29mZnNldChzdHJ1Y3QgdmNwdSAq diwgaW50IGIsIGludCBuLCBpbnQgcyk7Cj4gIGV4dGVybiBzdHJ1Y3QgdmdpY19pcnFfcmFuayAq dmdpY19yYW5rX2lycShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGlycSk7Cj4gIGV4dGVy biBpbnQgdmdpY19lbXVsYXRlKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCB1bmlvbiBoc3Ig aHNyKTsKPiAtLQo+IDIuOS4wCj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gWGVuLWRldmVsIG1haWxpbmcgbGlzdAo+IFhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCj4gaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==