From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Andr=c3=a9_Przywara?= Subject: Re: [PATCH v2 09/27] ARM: GICv3: introduce separate pending_irq structs for LPIs Date: Thu, 23 Mar 2017 20:08:11 +0000 Message-ID: <04f56594-82ff-2c80-96b7-0a49d0af0baf@arm.com> References: <20170316112030.20419-1-andre.przywara@arm.com> <20170316112030.20419-10-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cr92f-0007WX-52 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2017 20:09:05 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini Cc: xen-devel@lists.xenproject.org, Julien Grall , Shanker Donthineni , Vijay Kilari List-Id: xen-devel@lists.xenproject.org T24gMjIvMDMvMTcgMjM6NDQsIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToKPiBPbiBUaHUsIDE2 IE1hciAyMDE3LCBBbmRyZSBQcnp5d2FyYSB3cm90ZToKPj4gRm9yIHRoZSBzYW1lIHJlYXNvbiB0 aGF0IGFsbG9jYXRpbmcgYSBzdHJ1Y3QgaXJxX2Rlc2MgZm9yIGVhY2gKPj4gcG9zc2libGUgTFBJ IGlzIG5vdCBhbiBvcHRpb24sIGhhdmluZyBhIHN0cnVjdCBwZW5kaW5nX2lycSBmb3IgZWFjaCBM UEkKPj4gaXMgYWxzbyBub3QgZmVhc2libGUuIEhvd2V2ZXIgd2UgYWN0dWFsbHkgb25seSBuZWVk IHRob3NlIHdoZW4gYW4KPj4gaW50ZXJydXB0IGlzIG9uIGEgdkNQVSAob3IgaXMgYWJvdXQgdG8g YmUgaW5qZWN0ZWQpLgo+PiBNYWludGFpbiBhIGxpc3Qgb2YgdGhvc2Ugc3RydWN0cyB0aGF0IHdl IGNhbiB1c2UgZm9yIHRoZSBsaWZlY3ljbGUgb2YKPj4gYSBndWVzdCBMUEkuIFdlIGFsbG9jYXRl IG5ldyBlbnRyaWVzIGlmIG5lY2Vzc2FyeSwgaG93ZXZlciByZXVzZQo+PiBwcmUtb3duZWQgZW50 cmllcyB3aGVuZXZlciBwb3NzaWJsZS4KPj4gSSBhZGRlZCBzb21lIGxvY2tpbmcgYXJvdW5kIHRo aXMgbGlzdCBoZXJlLCBob3dldmVyIG15IGd1dCBmZWVsaW5nIGlzCj4+IHRoYXQgd2UgZG9uJ3Qg bmVlZCBvbmUgYmVjYXVzZSB0aGlzIGEgcGVyLVZDUFUgc3RydWN0dXJlIGFueXdheS4KPj4gSWYg c29tZW9uZSBjb3VsZCBjb25maXJtIHRoaXMsIEknZCBiZSBncmF0ZWZ1bC4KPj4gVGVhY2ggdGhl IGV4aXN0aW5nIFZHSUMgZnVuY3Rpb25zIHRvIGZpbmQgdGhlIHJpZ2h0IHBvaW50ZXIgd2hlbiBi ZWluZwo+PiBnaXZlbiBhIHZpcnR1YWwgTFBJIG51bWJlci4KPj4KPj4gU2lnbmVkLW9mZi1ieTog QW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+Cj4gCj4gU3RpbGwgYWxsIHBh c3QgY29tbWVudHMgYXJlIHVuYWRkcmVzcyA7LSgKClNvcnJ5IGZvciB0aGF0LiBJIGp1c3Qgc2Vl IHRoYXQgdGhlIHJldmlld3MgZm9yIHRob3NlIGFuZCBsYXRlciBlbWFpbHMKd2VyZSBub3QgaW4g dGhlIHNhbWUgdGhyZWFkIGFzIHRoZSBvdGhlciBvbmVzLCBzbyB0aGV5IHdlcmUgc3dhbXBlZCBp bgpteSBpbmJveCBhbmQgZGlkbid0IHNob3cgdXAgaW4gbXkgVE9ETyB0aHJlYWQuIFRoaXMgbWln aHQgYmUgZHVlIHRvCnJhY2VzIGJldHdlZW4gZGlyZWN0IGVtYWlsIGFuZCBsaXN0IGJvdW5jZXMu IEludGVyZXN0aW5nbHkgdGhpcyBzZWVtcyB0bwphZmZlY3QgcHJldmlvdXMgZW1haWxzIGFzIHdl bGwsIHdoaWNoIGlzbid0IHJlYWxseSBhbiBleGN1c2UsIGJ1dApleHBsYWlucyBteSBwZXJjZWl2 ZWQgcnVkZW5lc3MgaW4gbm90IGFkZHJlc3NpbmcgeW91ciBjb21tZW50cyAoc2ltcGx5CmJlY2F1 c2UgSSBkaWRuJ3Qgc2VlIHRoZW0pLgpJIHdpbGwgdHJ5IHRvIHNvcnQgdGhpcyBtZXNzIG91dCBp biB0aGUgbmV4dCBmZXcgZGF5cyBhbmQgc2VuZCBhIG5ldwp2ZXJzaW9uIGVhcmx5IG5leHQgd2Vl ay4KSWYgeW91IGtub3cgZnJvbSB0aGUgdG9wIG9mIHlvdXIgaGVhZCBhbnkgc2VyaW91cyBhcmNo aXRlY3R1cmFsIGNoYW5nZQpyZXF1ZXN0cyB5b3UgcmFpc2VkLCBpdCB3b3VsZCBiZSBuaWNlIGlm IHlvdSBjb3VsZCByZXBlYXQgdGhlbSBub3csIHNvCnRoYXQgSSBjYW4gYWRkcmVzcyB0aGVtIGVh cmx5IGVub3VnaC4KSSB3aWxsIG5vdyBzb3J0IG15IG1haWxzIGJ5IGF1dGhvciBuYW1lIHRvIGZp bmQgYW55IGNvbW1lbnQgSSBtaWdodCBoYXZlCm1pc3NlZCBiZWZvcmUuCgpTb3JyeSBhZ2FpbiBm b3IgdGhlIG1lc3MhCgpDaGVlcnMsCkFuZHJlLgoKPiBJdCBtYWtlcyB2ZXJ5IGhhcmQgdG8gY29u dGludWUgZG9pbmcgcmV2aWV3cy4gSSBhbSBzb3JyeSBidXQgSSdsbCBoYXZlCj4gdG8gc3RvcCBy ZXZpZXdpbmcgdW50aWwgSSBzZWUgYSBzZXJpZXMgd2l0aCBteSBwYXN0IGNvbW1lbnRzIGFkZHJl c3NlZC4KPiBJIGVuY291cmFnZSBKdWxpZW4gdG8gZG8gdGhlIHNhbWUuCj4gCj4gCj4+IC0tLQo+ PiAgeGVuL2FyY2gvYXJtL2dpYy5jICAgICAgICAgICB8ICAzICsrKwo+PiAgeGVuL2FyY2gvYXJt L3ZnaWMtdjMuYyAgICAgICB8ICAzICsrKwo+PiAgeGVuL2FyY2gvYXJtL3ZnaWMuYyAgICAgICAg ICB8IDY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4+ICB4 ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oIHwgIDIgKysKPj4gIHhlbi9pbmNsdWRlL2FzbS1h cm0vdmdpYy5oICAgfCAxNCArKysrKysrKysrCj4+ICA1IGZpbGVzIGNoYW5nZWQsIDgzIGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v Z2ljLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLmMKPj4gaW5kZXggYTUzNDhmMi4uYmQzYzAzMiAxMDA2 NDQKPj4gLS0tIGEveGVuL2FyY2gvYXJtL2dpYy5jCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9naWMu Ywo+PiBAQCAtNTA5LDYgKzUwOSw5IEBAIHN0YXRpYyB2b2lkIGdpY191cGRhdGVfb25lX2xyKHN0 cnVjdCB2Y3B1ICp2LCBpbnQgaSkKPj4gICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdl90 YXJnZXQgPSB2Z2ljX2dldF90YXJnZXRfdmNwdSh2LCBpcnEpOwo+PiAgICAgICAgICAgICAgICAg IGlycV9zZXRfYWZmaW5pdHkocC0+ZGVzYywgY3B1bWFza19vZih2X3RhcmdldC0+cHJvY2Vzc29y KSk7Cj4+ICAgICAgICAgICAgICB9Cj4+ICsgICAgICAgICAgICAvKiBJZiB0aGlzIHdhcyBhbiBM UEksIG1hcmsgdGhpcyBzdHJ1Y3QgYXMgYXZhaWxhYmxlIGFnYWluLiAqLwo+PiArICAgICAgICAg ICAgaWYgKCBpc19scGkocC0+aXJxKSApCj4+ICsgICAgICAgICAgICAgICAgcC0+aXJxID0gMDsK Pj4gICAgICAgICAgfQo+PiAgICAgIH0KPj4gIH0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy bS92Z2ljLXYzLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy12My5jCj4+IGluZGV4IDFmYWRiMDAuLmIw NjUzYzIgMTAwNjQ0Cj4+IC0tLSBhL3hlbi9hcmNoL2FybS92Z2ljLXYzLmMKPj4gKysrIGIveGVu L2FyY2gvYXJtL3ZnaWMtdjMuYwo+PiBAQCAtMTQyNiw2ICsxNDI2LDkgQEAgc3RhdGljIGludCB2 Z2ljX3YzX3ZjcHVfaW5pdChzdHJ1Y3QgdmNwdSAqdikKPj4gICAgICBpZiAoIHYtPnZjcHVfaWQg PT0gbGFzdF9jcHUgfHwgKHYtPnZjcHVfaWQgPT0gKGQtPm1heF92Y3B1cyAtIDEpKSApCj4+ICAg ICAgICAgIHYtPmFyY2gudmdpYy5mbGFncyB8PSBWR0lDX1YzX1JESVNUX0xBU1Q7Cj4+ICAKPj4g KyAgICBzcGluX2xvY2tfaW5pdCgmdi0+YXJjaC52Z2ljLnBlbmRpbmdfbHBpX2xpc3RfbG9jayk7 Cj4+ICsgICAgSU5JVF9MSVNUX0hFQUQoJnYtPmFyY2gudmdpYy5wZW5kaW5nX2xwaV9saXN0KTsK Pj4gKwo+PiAgICAgIHJldHVybiAwOwo+PiAgfQo+PiAgCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJj aC9hcm0vdmdpYy5jIGIveGVuL2FyY2gvYXJtL3ZnaWMuYwo+PiBpbmRleCAzNjRkNWYwLi5lNWNm YTU0IDEwMDY0NAo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy5jCj4+ICsrKyBiL3hlbi9hcmNo L2FybS92Z2ljLmMKPj4gQEAgLTMwLDYgKzMwLDggQEAKPj4gIAo+PiAgI2luY2x1ZGUgPGFzbS9t bWlvLmg+Cj4+ICAjaW5jbHVkZSA8YXNtL2dpYy5oPgo+PiArI2luY2x1ZGUgPGFzbS9naWNfdjNf ZGVmcy5oPgo+PiArI2luY2x1ZGUgPGFzbS9naWNfdjNfaXRzLmg+Cj4+ICAjaW5jbHVkZSA8YXNt L3ZnaWMuaD4KPj4gIAo+PiAgc3RhdGljIGlubGluZSBzdHJ1Y3QgdmdpY19pcnFfcmFuayAqdmdp Y19nZXRfcmFuayhzdHJ1Y3QgdmNwdSAqdiwgaW50IHJhbmspCj4+IEBAIC02MSw3ICs2Myw3IEBA IHN0cnVjdCB2Z2ljX2lycV9yYW5rICp2Z2ljX3JhbmtfaXJxKHN0cnVjdCB2Y3B1ICp2LCB1bnNp Z25lZCBpbnQgaXJxKQo+PiAgICAgIHJldHVybiB2Z2ljX2dldF9yYW5rKHYsIHJhbmspOwo+PiAg fQo+PiAgCj4+IC1zdGF0aWMgdm9pZCB2Z2ljX2luaXRfcGVuZGluZ19pcnEoc3RydWN0IHBlbmRp bmdfaXJxICpwLCB1bnNpZ25lZCBpbnQgdmlycSkKPj4gK3ZvaWQgdmdpY19pbml0X3BlbmRpbmdf aXJxKHN0cnVjdCBwZW5kaW5nX2lycSAqcCwgdW5zaWduZWQgaW50IHZpcnEpCj4+ICB7Cj4+ICAg ICAgSU5JVF9MSVNUX0hFQUQoJnAtPmluZmxpZ2h0KTsKPj4gICAgICBJTklUX0xJU1RfSEVBRCgm cC0+bHJfcXVldWUpOwo+PiBAQCAtMjQ0LDEwICsyNDYsMTQgQEAgc3RydWN0IHZjcHUgKnZnaWNf Z2V0X3RhcmdldF92Y3B1KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgdmlycSkKPj4gIAo+ PiAgc3RhdGljIGludCB2Z2ljX2dldF92aXJxX3ByaW9yaXR5KHN0cnVjdCB2Y3B1ICp2LCB1bnNp Z25lZCBpbnQgdmlycSkKPj4gIHsKPj4gLSAgICBzdHJ1Y3QgdmdpY19pcnFfcmFuayAqcmFuayA9 IHZnaWNfcmFua19pcnEodiwgdmlycSk7Cj4+ICsgICAgc3RydWN0IHZnaWNfaXJxX3JhbmsgKnJh bms7Cj4+ICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKPj4gICAgICBpbnQgcHJpb3JpdHk7Cj4+ ICAKPj4gKyAgICBpZiAoIGlzX2xwaSh2aXJxKSApCj4+ICsgICAgICAgIHJldHVybiB2Z2ljX2xw aV9nZXRfcHJpb3JpdHkodi0+ZG9tYWluLCB2aXJxKTsKPj4gKwo+PiArICAgIHJhbmsgPSB2Z2lj X3JhbmtfaXJxKHYsIHZpcnEpOwo+PiAgICAgIHZnaWNfbG9ja19yYW5rKHYsIHJhbmssIGZsYWdz KTsKPj4gICAgICBwcmlvcml0eSA9IHJhbmstPnByaW9yaXR5W3ZpcnEgJiBJTlRFUlJVUFRfUkFO S19NQVNLXTsKPj4gICAgICB2Z2ljX3VubG9ja19yYW5rKHYsIHJhbmssIGZsYWdzKTsKPj4gQEAg LTQ0NiwxMyArNDUyLDYzIEBAIGJvb2wgdmdpY190b19zZ2koc3RydWN0IHZjcHUgKnYsIHJlZ2lz dGVyX3Qgc2dpciwgZW51bSBnaWNfc2dpX21vZGUgaXJxbW9kZSwKPj4gICAgICByZXR1cm4gdHJ1 ZTsKPj4gIH0KPj4gIAo+PiArLyoKPj4gKyAqIEhvbGRpbmcgc3RydWN0IHBlbmRpbmdfaXJxJ3Mg Zm9yIGVhY2ggcG9zc2libGUgdmlydHVhbCBMUEkgaW4gZWFjaCBkb21haW4KPj4gKyAqIHJlcXVp cmVzIHRvbyBtdWNoIFhlbiBtZW1vcnksIGFsc28gYSBtYWxpY2lvdXMgZ3Vlc3QgY291bGQgcG90 ZW50aWFsbHkKPj4gKyAqIHNwYW0gWGVuIHdpdGggTFBJIG1hcCByZXF1ZXN0cy4gV2UgY2Fubm90 IGNvdmVyIHRob3NlIHdpdGggKGd1ZXN0IGFsbG9jYXRlZCkKPj4gKyAqIElUUyBtZW1vcnksIHNv IHdlIHVzZSBhIGR5bmFtaWMgc2NoZW1lIG9mIGFsbG9jYXRpbmcgc3RydWN0IHBlbmRpbmdfaXJx J3MKPj4gKyAqIG9uIGRlbWFuZC4KPj4gKyAqLwo+PiArc3RydWN0IHBlbmRpbmdfaXJxICpscGlf dG9fcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGxwaSwKPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBhbGxvY2F0ZSkKPj4gK3sKPj4gKyAgICBz dHJ1Y3QgbHBpX3BlbmRpbmdfaXJxICpscGlfaXJxLCAqZW1wdHkgPSBOVUxMOwo+PiArCj4+ICsg ICAgc3Bpbl9sb2NrKCZ2LT5hcmNoLnZnaWMucGVuZGluZ19scGlfbGlzdF9sb2NrKTsKPj4gKyAg ICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGxwaV9pcnEsICZ2LT5hcmNoLnZnaWMucGVuZGluZ19scGlf bGlzdCwgZW50cnkpCj4+ICsgICAgewo+PiArICAgICAgICBpZiAoIGxwaV9pcnEtPnBpcnEuaXJx ID09IGxwaSApCj4+ICsgICAgICAgIHsKPj4gKyAgICAgICAgICAgIHNwaW5fdW5sb2NrKCZ2LT5h cmNoLnZnaWMucGVuZGluZ19scGlfbGlzdF9sb2NrKTsKPj4gKyAgICAgICAgICAgIHJldHVybiAm bHBpX2lycS0+cGlycTsKPj4gKyAgICAgICAgfQo+PiArCj4+ICsgICAgICAgIGlmICggbHBpX2ly cS0+cGlycS5pcnEgPT0gMCAmJiAhZW1wdHkgKQo+PiArICAgICAgICAgICAgZW1wdHkgPSBscGlf aXJxOwo+PiArICAgIH0KPj4gKwo+PiArICAgIGlmICggIWFsbG9jYXRlICkKPj4gKyAgICB7Cj4+ ICsgICAgICAgIHNwaW5fdW5sb2NrKCZ2LT5hcmNoLnZnaWMucGVuZGluZ19scGlfbGlzdF9sb2Nr KTsKPj4gKyAgICAgICAgcmV0dXJuIE5VTEw7Cj4+ICsgICAgfQo+PiArCj4+ICsgICAgaWYgKCAh ZW1wdHkgKQo+PiArICAgIHsKPj4gKyAgICAgICAgZW1wdHkgPSB4emFsbG9jKHN0cnVjdCBscGlf cGVuZGluZ19pcnEpOwo+PiArICAgICAgICB2Z2ljX2luaXRfcGVuZGluZ19pcnEoJmVtcHR5LT5w aXJxLCBscGkpOwo+PiArICAgICAgICBsaXN0X2FkZF90YWlsKCZlbXB0eS0+ZW50cnksICZ2LT5h cmNoLnZnaWMucGVuZGluZ19scGlfbGlzdCk7Cj4+ICsgICAgfSBlbHNlCj4+ICsgICAgewo+PiAr ICAgICAgICBlbXB0eS0+cGlycS5zdGF0dXMgPSAwOwo+PiArICAgICAgICBlbXB0eS0+cGlycS5p cnEgPSBscGk7Cj4+ICsgICAgfQo+PiArCj4+ICsgICAgc3Bpbl91bmxvY2soJnYtPmFyY2gudmdp Yy5wZW5kaW5nX2xwaV9saXN0X2xvY2spOwo+PiArCj4+ICsgICAgcmV0dXJuICZlbXB0eS0+cGly cTsKPj4gK30KPj4gKwo+PiAgc3RydWN0IHBlbmRpbmdfaXJxICppcnFfdG9fcGVuZGluZyhzdHJ1 Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGlycSkKPj4gIHsKPj4gICAgICBzdHJ1Y3QgcGVuZGlu Z19pcnEgKm47Cj4+ICsKPj4gICAgICAvKiBQZW5kaW5nIGlycXMgYWxsb2NhdGlvbiBzdHJhdGVn eTogdGhlIGZpcnN0IHZnaWMubnJfc3BpcyBpcnFzCj4+ICAgICAgICogYXJlIHVzZWQgZm9yIFNQ SXM7IHRoZSByZXN0cyBhcmUgdXNlZCBmb3IgcGVyIGNwdSBpcnFzICovCj4+ICAgICAgaWYgKCBp cnEgPCAzMiApCj4+ICAgICAgICAgIG4gPSAmdi0+YXJjaC52Z2ljLnBlbmRpbmdfaXJxc1tpcnFd Owo+PiArICAgIGVsc2UgaWYgKCBpc19scGkoaXJxKSApCj4+ICsgICAgICAgIG4gPSBscGlfdG9f cGVuZGluZyh2LCBpcnEsIHRydWUpOwo+PiAgICAgIGVsc2UKPj4gICAgICAgICAgbiA9ICZ2LT5k b21haW4tPmFyY2gudmdpYy5wZW5kaW5nX2lycXNbaXJxIC0gMzJdOwo+PiAgICAgIHJldHVybiBu Owo+PiBAQCAtNDgwLDcgKzUzNiw3IEBAIHZvaWQgdmdpY19jbGVhcl9wZW5kaW5nX2lycXMoc3Ry dWN0IHZjcHUgKnYpCj4+ICB2b2lkIHZnaWNfdmNwdV9pbmplY3RfaXJxKHN0cnVjdCB2Y3B1ICp2 LCB1bnNpZ25lZCBpbnQgdmlycSkKPj4gIHsKPj4gICAgICB1aW50OF90IHByaW9yaXR5Owo+PiAt ICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqaXRlciwgKm4gPSBpcnFfdG9fcGVuZGluZyh2LCB2aXJx KTsKPj4gKyAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKml0ZXIsICpuOwo+PiAgICAgIHVuc2lnbmVk IGxvbmcgZmxhZ3M7Cj4+ICAgICAgYm9vbCBydW5uaW5nOwo+PiAgCj4+IEBAIC00ODgsNiArNTQ0 LDggQEAgdm9pZCB2Z2ljX3ZjcHVfaW5qZWN0X2lycShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQg aW50IHZpcnEpCj4+ICAKPj4gICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmdi0+YXJjaC52Z2ljLmxv Y2ssIGZsYWdzKTsKPj4gIAo+PiArICAgIG4gPSBpcnFfdG9fcGVuZGluZyh2LCB2aXJxKTsKPj4g Kwo+PiAgICAgIC8qIHZjcHUgb2ZmbGluZSAqLwo+PiAgICAgIGlmICggdGVzdF9iaXQoX1ZQRl9k b3duLCAmdi0+cGF1c2VfZmxhZ3MpICkKPj4gICAgICB7Cj4+IGRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS9hc20tYXJtL2RvbWFpbi5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaAo+PiBp bmRleCAwMGI5YzFhLi5mNDRhODRiIDEwMDY0NAo+PiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJt L2RvbWFpbi5oCj4+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKPj4gQEAgLTI1 Nyw2ICsyNTcsOCBAQCBzdHJ1Y3QgYXJjaF92Y3B1Cj4+ICAgICAgICAgIHBhZGRyX3QgcmRpc3Rf YmFzZTsKPj4gICNkZWZpbmUgVkdJQ19WM19SRElTVF9MQVNUICAoMSA8PCAwKSAgICAgICAgLyog bGFzdCB2Q1BVIG9mIHRoZSByZGlzdCAqLwo+PiAgICAgICAgICB1aW50OF90IGZsYWdzOwo+PiAr ICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkIHBlbmRpbmdfbHBpX2xpc3Q7Cj4+ICsgICAgICAgIHNw aW5sb2NrX3QgcGVuZGluZ19scGlfbGlzdF9sb2NrOyAgIC8qIHByb3RlY3RzIHRoZSBwZW5kaW5n X2xwaV9saXN0ICovCj4+ICAgICAgfSB2Z2ljOwo+PiAgCj4+ICAgICAgLyogVGltZXIgcmVnaXN0 ZXJzICAqLwo+PiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS92Z2ljLmggYi94ZW4v aW5jbHVkZS9hc20tYXJtL3ZnaWMuaAo+PiBpbmRleCA0NjczMzNjLi44ZjEwOTljIDEwMDY0NAo+ PiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMuaAo+PiArKysgYi94ZW4vaW5jbHVkZS9h c20tYXJtL3ZnaWMuaAo+PiBAQCAtODMsNiArODMsMTIgQEAgc3RydWN0IHBlbmRpbmdfaXJxCj4+ ICAgICAgc3RydWN0IGxpc3RfaGVhZCBscl9xdWV1ZTsKPj4gIH07Cj4+ICAKPj4gK3N0cnVjdCBs cGlfcGVuZGluZ19pcnEKPj4gK3sKPj4gKyAgICBzdHJ1Y3QgbGlzdF9oZWFkIGVudHJ5Owo+PiAr ICAgIHN0cnVjdCBwZW5kaW5nX2lycSBwaXJxOwo+PiArfTsKPj4gKwo+PiAgI2RlZmluZSBOUl9J TlRFUlJVUFRfUEVSX1JBTksgICAzMgo+PiAgI2RlZmluZSBJTlRFUlJVUFRfUkFOS19NQVNLIChO Ul9JTlRFUlJVUFRfUEVSX1JBTksgLSAxKQo+PiAgCj4+IEBAIC0yOTYsMTMgKzMwMiwyMSBAQCBl eHRlcm4gc3RydWN0IHZjcHUgKnZnaWNfZ2V0X3RhcmdldF92Y3B1KHN0cnVjdCB2Y3B1ICp2LCB1 bnNpZ25lZCBpbnQgdmlycSk7Cj4+ICBleHRlcm4gdm9pZCB2Z2ljX3ZjcHVfaW5qZWN0X2lycShz dHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHZpcnEpOwo+PiAgZXh0ZXJuIHZvaWQgdmdpY192 Y3B1X2luamVjdF9zcGkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHZpcnEpOwo+PiAg ZXh0ZXJuIHZvaWQgdmdpY19jbGVhcl9wZW5kaW5nX2lycXMoc3RydWN0IHZjcHUgKnYpOwo+PiAr ZXh0ZXJuIHZvaWQgdmdpY19pbml0X3BlbmRpbmdfaXJxKHN0cnVjdCBwZW5kaW5nX2lycSAqcCwg dW5zaWduZWQgaW50IHZpcnEpOwo+PiAgZXh0ZXJuIHN0cnVjdCBwZW5kaW5nX2lycSAqaXJxX3Rv X3BlbmRpbmcoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBpcnEpOwo+PiAgZXh0ZXJuIHN0 cnVjdCBwZW5kaW5nX2lycSAqc3BpX3RvX3BlbmRpbmcoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgaW50IGlycSk7Cj4+ICtleHRlcm4gc3RydWN0IHBlbmRpbmdfaXJxICpscGlfdG9fcGVuZGlu ZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGlycSwKPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgYWxsb2NhdGUpOwo+PiAgZXh0ZXJuIHN0cnVj dCB2Z2ljX2lycV9yYW5rICp2Z2ljX3Jhbmtfb2Zmc2V0KHN0cnVjdCB2Y3B1ICp2LCBpbnQgYiwg aW50IG4sIGludCBzKTsKPj4gIGV4dGVybiBzdHJ1Y3QgdmdpY19pcnFfcmFuayAqdmdpY19yYW5r X2lycShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGlycSk7Cj4+ICBleHRlcm4gYm9vbCB2 Z2ljX2VtdWxhdGUoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuaW9uIGhzciBoc3IpOwo+ PiAgZXh0ZXJuIHZvaWQgdmdpY19kaXNhYmxlX2lycXMoc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90 IHIsIGludCBuKTsKPj4gIGV4dGVybiB2b2lkIHZnaWNfZW5hYmxlX2lycXMoc3RydWN0IHZjcHUg KnYsIHVpbnQzMl90IHIsIGludCBuKTsKPj4gKy8qIHBsYWNlaG9sZGVyIGZ1bmN0aW9uIHVudGls IHRoZSBwcm9wZXJ0eSB0YWJsZSBnZXRzIGludHJvZHVjZWQgKi8KPj4gK3N0YXRpYyBpbmxpbmUg aW50IHZnaWNfbHBpX2dldF9wcmlvcml0eShzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCB2bHBp KQo+PiArewo+PiArICAgIHJldHVybiAweGE7Cj4+ICt9Cj4+ICBleHRlcm4gdm9pZCByZWdpc3Rl cl92Z2ljX29wcyhzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3QgdmdpY19vcHMgKm9wcyk7 Cj4+ICBpbnQgdmdpY192Ml9pbml0KHN0cnVjdCBkb21haW4gKmQsIGludCAqbW1pb19jb3VudCk7 Cj4+ICBpbnQgdmdpY192M19pbml0KHN0cnVjdCBkb21haW4gKmQsIGludCAqbW1pb19jb3VudCk7 Cj4+IC0tIAo+PiAyLjkuMAo+PgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=