From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [RFC PATCH 08/24] ARM: GICv3: introduce separate pending_irq structs for LPIs Date: Thu, 27 Oct 2016 18:04:17 -0700 (PDT) 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 1bzvaq-0007Jb-Kj for xen-devel@lists.xenproject.org; Fri, 28 Oct 2016 01:04:24 +0000 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@lists.xenproject.org, Julien Grall , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org T24gV2VkLCAyOCBTZXAgMjAxNiwgQW5kcmUgUHJ6eXdhcmEgd3JvdGU6Cj4gRm9yIHRoZSBzYW1l IHJlYXNvbiB0aGF0IGFsbG9jYXRpbmcgYSBzdHJ1Y3QgaXJxX2Rlc2MgZm9yIGVhY2gKPiBwb3Nz aWJsZSBMUEkgaXMgbm90IGFuIG9wdGlvbiwgaGF2aW5nIGEgc3RydWN0IHBlbmRpbmdfaXJxIGZv ciBlYWNoIExQSQo+IGlzIGFsc28gbm90IGZlYXNpYmxlLiBIb3dldmVyIHdlIGFjdHVhbGx5IG9u bHkgbmVlZCB0aG9zZSB3aGVuIGFuCj4gaW50ZXJydXB0IGlzIG9uIGEgdkNQVSAob3IgaXMgYWJv dXQgdG8gYmUgaW5qZWN0ZWQpLgo+IE1haW50YWluIGEgbGlzdCBvZiB0aG9zZSBzdHJ1Y3RzIHRo YXQgd2UgY2FuIHVzZSBmb3IgdGhlIGxpZmVjeWNsZSBvZgo+IGEgZ3Vlc3QgTFBJLiBXZSBhbGxv Y2F0ZSBuZXcgZW50cmllcyBpZiBuZWNlc3NhcnksIGhvd2V2ZXIgcmV1c2UKPiBwcmUtb3duZWQg ZW50cmllcyB3aGVuZXZlciBwb3NzaWJsZS4KPiBUZWFjaCB0aGUgZXhpc3RpbmcgVkdJQyBmdW5j dGlvbnMgdG8gZmluZCB0aGUgcmlnaHQgcG9pbnRlciB3aGVuIGJlaW5nCj4gZ2l2ZW4gYSB2aXJ0 dWFsIExQSSBudW1iZXIuCj4gCj4gU2lnbmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdhcmEgPGFuZHJl LnByenl3YXJhQGFybS5jb20+Cj4gLS0tCj4gIHhlbi9hcmNoL2FybS9naWMuYyAgICAgICAgICAg IHwgIDMgKysrCj4gIHhlbi9hcmNoL2FybS92Z2ljLXYzLmMgICAgICAgIHwgIDIgKysKPiAgeGVu L2FyY2gvYXJtL3ZnaWMuYyAgICAgICAgICAgfCA1NiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tCj4gIHhlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmggIHwgIDEg Kwo+ICB4ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy1pdHMuaCB8IDEwICsrKysrKysrCj4gIHhlbi9p bmNsdWRlL2FzbS1hcm0vdmdpYy5oICAgIHwgIDkgKysrKysrKwo+ICA2IGZpbGVzIGNoYW5nZWQs IDc4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9h cmNoL2FybS9naWMuYyBiL3hlbi9hcmNoL2FybS9naWMuYwo+IGluZGV4IDYzYzc0NGEuLmViZTQw MzUgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gvYXJtL2dpYy5jCj4gKysrIGIveGVuL2FyY2gvYXJt L2dpYy5jCj4gQEAgLTUwNiw2ICs1MDYsOSBAQCBzdGF0aWMgdm9pZCBnaWNfdXBkYXRlX29uZV9s cihzdHJ1Y3QgdmNwdSAqdiwgaW50IGkpCj4gICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAq dl90YXJnZXQgPSB2Z2ljX2dldF90YXJnZXRfdmNwdSh2LCBpcnEpOwo+ICAgICAgICAgICAgICAg ICAgaXJxX3NldF9hZmZpbml0eShwLT5kZXNjLCBjcHVtYXNrX29mKHZfdGFyZ2V0LT5wcm9jZXNz b3IpKTsKPiAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAvKiBJZiB0aGlzIHdhcyBhbiBM UEksIG1hcmsgdGhpcyBzdHJ1Y3QgYXMgYXZhaWxhYmxlIGFnYWluLiAqLwo+ICsgICAgICAgICAg ICBpZiAoIHAtPmlycSA+PSA4MTkyICkKPiArICAgICAgICAgICAgICAgIHAtPmlycSA9IDA7CgpJ IGJlbGlldmUgdGhhdCAwIGlzIGEgdmFsaWQgaXJxIG51bWJlciwgd2UgbmVlZCB0byBjb21lIHVw IHdpdGggYQpkaWZmZXJlbnQgaW52YWxpZF9pcnEgdmFsdWUsIGFuZCB3ZSBzaG91bGQgI2RlZmlu ZSBpdC4gV2UgY291bGQgYWxzbwpjb25zaWRlciBjaGVja2luZyBpZiB0aGUgaXJxIGlzIGluZmxp Z2h0IChsaW5rZWQgdG8gdGhlIGluZmxpZ2h0IGxpc3QpCmluc3RlYWQgb2YgdXNpbmcgaXJxID09 IDAgdG8gdW5kZXJzdGFuZCBpZiBpdCBpcyByZXVzYWJsZS4KCgo+ICAgICAgICAgIH0KPiAgICAg IH0KPiAgfQo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy12My5jIGIveGVuL2FyY2gv YXJtL3ZnaWMtdjMuYwo+IGluZGV4IGVjMDM4YTMuLmU5YjY0OTAgMTAwNjQ0Cj4gLS0tIGEveGVu L2FyY2gvYXJtL3ZnaWMtdjMuYwo+ICsrKyBiL3hlbi9hcmNoL2FybS92Z2ljLXYzLmMKPiBAQCAt MTM4OCw2ICsxMzg4LDggQEAgc3RhdGljIGludCB2Z2ljX3YzX3ZjcHVfaW5pdChzdHJ1Y3QgdmNw dSAqdikKPiAgICAgIGlmICggdi0+dmNwdV9pZCA9PSBsYXN0X2NwdSB8fCAodi0+dmNwdV9pZCA9 PSAoZC0+bWF4X3ZjcHVzIC0gMSkpICkKPiAgICAgICAgICB2LT5hcmNoLnZnaWMuZmxhZ3MgfD0g VkdJQ19WM19SRElTVF9MQVNUOwo+ICAKPiArICAgIElOSVRfTElTVF9IRUFEKCZ2LT5hcmNoLnZn aWMucGVuZGluZ19scGlfbGlzdCk7Cj4gKwo+ICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAgCj4gZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy5jCj4gaW5k ZXggMDk2NTExOS4uYjk2MTU1MSAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy5jCj4g KysrIGIveGVuL2FyY2gvYXJtL3ZnaWMuYwo+IEBAIC0zMSw2ICszMSw4IEBACj4gICNpbmNsdWRl IDxhc20vbW1pby5oPgo+ICAjaW5jbHVkZSA8YXNtL2dpYy5oPgo+ICAjaW5jbHVkZSA8YXNtL3Zn aWMuaD4KPiArI2luY2x1ZGUgPGFzbS9naWNfdjNfZGVmcy5oPgo+ICsjaW5jbHVkZSA8YXNtL2dp Yy1pdHMuaD4KPiAgCj4gIHN0YXRpYyBpbmxpbmUgc3RydWN0IHZnaWNfaXJxX3JhbmsgKnZnaWNf Z2V0X3Jhbmsoc3RydWN0IHZjcHUgKnYsIGludCByYW5rKQo+ICB7Cj4gQEAgLTYxLDcgKzYzLDcg QEAgc3RydWN0IHZnaWNfaXJxX3JhbmsgKnZnaWNfcmFua19pcnEoc3RydWN0IHZjcHUgKnYsIHVu c2lnbmVkIGludCBpcnEpCj4gICAgICByZXR1cm4gdmdpY19nZXRfcmFuayh2LCByYW5rKTsKPiAg fQo+ICAKPiAtc3RhdGljIHZvaWQgdmdpY19pbml0X3BlbmRpbmdfaXJxKHN0cnVjdCBwZW5kaW5n X2lycSAqcCwgdW5zaWduZWQgaW50IHZpcnEpCj4gK3ZvaWQgdmdpY19pbml0X3BlbmRpbmdfaXJx KHN0cnVjdCBwZW5kaW5nX2lycSAqcCwgdW5zaWduZWQgaW50IHZpcnEpCj4gIHsKPiAgICAgIElO SVRfTElTVF9IRUFEKCZwLT5pbmZsaWdodCk7Cj4gICAgICBJTklUX0xJU1RfSEVBRCgmcC0+bHJf cXVldWUpOwo+IEBAIC0yNDQsMTAgKzI0NiwxNCBAQCBzdHJ1Y3QgdmNwdSAqdmdpY19nZXRfdGFy Z2V0X3ZjcHUoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB2aXJxKQo+ICAKPiAgc3RhdGlj IGludCB2Z2ljX2dldF92aXJxX3ByaW9yaXR5KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQg dmlycSkKPiAgewo+IC0gICAgc3RydWN0IHZnaWNfaXJxX3JhbmsgKnJhbmsgPSB2Z2ljX3Jhbmtf aXJxKHYsIHZpcnEpOwo+ICsgICAgc3RydWN0IHZnaWNfaXJxX3JhbmsgKnJhbms7Cj4gICAgICB1 bnNpZ25lZCBsb25nIGZsYWdzOwo+ICAgICAgaW50IHByaW9yaXR5Owo+ICAKPiArICAgIGlmICgg dmlycSA+PSA4MTkyICkKClBsZWFzZSBpbnRyb2R1Y2UgYSBjb252ZW5pZW5jZSBzdGF0aWMgaW5s aW5lIGZ1bmN0aW9uIHN1Y2ggYXM6CgogIGJvb2wgaXNfbHBpKHVuc2lnbmVkIGludCBpcnEpCgoK PiArICAgICAgICByZXR1cm4gZ2ljdjNfbHBpX2dldF9wcmlvcml0eSh2LT5kb21haW4sIHZpcnEp Owo+ICsKPiArICAgIHJhbmsgPSB2Z2ljX3JhbmtfaXJxKHYsIHZpcnEpOwo+ICAgICAgdmdpY19s b2NrX3JhbmsodiwgcmFuaywgZmxhZ3MpOwo+ICAgICAgcHJpb3JpdHkgPSByYW5rLT5wcmlvcml0 eVt2aXJxICYgSU5URVJSVVBUX1JBTktfTUFTS107Cj4gICAgICB2Z2ljX3VubG9ja19yYW5rKHYs IHJhbmssIGZsYWdzKTsKPiBAQCAtNDQ2LDEzICs0NTIsNTUgQEAgaW50IHZnaWNfdG9fc2dpKHN0 cnVjdCB2Y3B1ICp2LCByZWdpc3Rlcl90IHNnaXIsIGVudW0gZ2ljX3NnaV9tb2RlIGlycW1vZGUs IGludAo+ICAgICAgcmV0dXJuIDE7Cj4gIH0KPiAgCj4gKy8qCj4gKyAqIEhvbGRpbmcgc3RydWN0 IHBlbmRpbmdfaXJxJ3MgZm9yIGVhY2ggcG9zc2libGUgdmlydHVhbCBMUEkgaW4gZWFjaCBkb21h aW4KPiArICogcmVxdWlyZXMgdG9vIG11Y2ggWGVuIG1lbW9yeSwgYWxzbyBhIG1hbGljaW91cyBn dWVzdCBjb3VsZCBwb3RlbnRpYWxseQo+ICsgKiBzcGFtIFhlbiB3aXRoIExQSSBtYXAgcmVxdWVz dHMuIFdlIGNhbm5vdCBjb3ZlciB0aG9zZSB3aXRoIChndWVzdCBhbGxvY2F0ZWQpCj4gKyAqIElU UyBtZW1vcnksIHNvIHdlIHVzZSBhIGR5bmFtaWMgc2NoZW1lIG9mIGFsbG9jYXRpbmcgc3RydWN0 IHBlbmRpbmdfaXJxJ3MKPiArICogb24gZGVtYW5kLgo+ICsgKi8KPiArc3RydWN0IHBlbmRpbmdf aXJxICpscGlfdG9fcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGxwaSwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGFsbG9jYXRlKQo+ICt7Cj4g KyAgICBzdHJ1Y3QgbHBpX3BlbmRpbmdfaXJxICpscGlfaXJxLCAqZW1wdHkgPSBOVUxMOwo+ICsK PiArICAgIC8qIFRPRE86IGxvY2tpbmchICovCgpZZWFoLCB0aGlzIG5lZWRzIHRvIGJlIGZpeGVk IGluIHYxIDotKQoKCj4gKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGxwaV9pcnEsICZ2LT5hcmNo LnZnaWMucGVuZGluZ19scGlfbGlzdCwgZW50cnkpCj4gKyAgICB7Cj4gKyAgICAgICAgaWYgKCBs cGlfaXJxLT5waXJxLmlycSA9PSBscGkgKQo+ICsgICAgICAgICAgICByZXR1cm4gJmxwaV9pcnEt PnBpcnE7Cj4gKwo+ICsgICAgICAgIGlmICggbHBpX2lycS0+cGlycS5pcnEgPT0gMCAmJiAhZW1w dHkgKQo+ICsgICAgICAgICAgICBlbXB0eSA9IGxwaV9pcnE7Cj4gKyAgICB9CgpUaGlzIGlzIGFu b3RoZXIgb25lIG9mIHRob3NlIGNhc2VzIHdoZXJlIGEgbGlzdCBpcyB0b28gc2xvdyBmb3IgdGhl IGhvdApwYXRoLiBUaGUgaWRlYSBvZiBhbGxvY2F0aW5nIHBlbmRpbmdfaXJxIHN0cnVjdCBvbiBk ZW1hbmQgaXMgZ29vZCwgYnV0CnN0b3JpbmcgdGhlbSBpbiBhIGxpbmtlZCBsaXN0IHdvdWxkIGtp bGwgcGVyZm9ybWFuY2UuIFByb2JhYmx5IHRoZSBiZXN0CnRoaW5nIHdlIGNvdWxkIGRvIGlzIGFu IGhhc2h0YWJsZSBhbmQgd2Ugc2hvdWxkIHByZWFsbG9jYXRlIHRoZSBpbml0aWFsCmFycmF5IG9m IGVsZW1lbnRzLiBJIGRvbid0IGtub3cgd2hhdCB0aGUgc2l6ZSBvZiB0aGUgaW5pdGlhbCBhcnJh eQpzaG91bGQgYmUsIGJ1dCB3ZSBjYW4gc3RhcnQgYXJvdW5kIDUwLCBhbmQgY2hhbmdlIGl0IGlu IHRoZSBmdXR1cmUgb25jZQp3ZSBkbyB0ZXN0cyB3aXRoIHJlYWwgd29ya2xvYWRzLiBPZiBjb3Vy c2UgdGhlIG90aGVyIGtleSBwYXJhbWV0ZXIgaXMKdGhlIGhhc2ggZnVuY3Rpb24sIG5vdCBzdXJl IHdoaWNoIG9uZSBpcyB0aGUgcmlnaHQgb25lLCBidXQgaWRlYWxseSB3ZQp3b3VsZCBuZXZlciBo YXZlIHRvIGFsbG9jYXRlIG5ldyBwZW5kaW5nX2lycSBzdHJ1Y3QgZm9yIExQSXMgYmVjYXVzZSB0 aGUKcHJlYWxsb2NhdGVkIHNldCB3b3VsZCBzdWZmaWNlLgoKSSBjb3VsZCBiZSBjb252aW5jZWQg dGhhdCBhIGxpc3QgaXMgc3VmZmljaWVudCBpZiB3ZSBkbyBzb21lIHJlYWwKYmVuY2htYXJraW5n IGFuZCBpdCB0dXJucyBvdXQgdGhhdCBscGlfdG9fcGVuZGluZyBhbHdheXMgcmVzb2x2ZSBpbiBs ZXNzCnRoYW4gfjUgc3RlcHMuCgoKPiArICAgIGlmICggIWFsbG9jYXRlICkKPiArICAgICAgICBy ZXR1cm4gTlVMTDsKPiArCj4gKyAgICBpZiAoICFlbXB0eSApCj4gKyAgICB7Cj4gKyAgICAgICAg ZW1wdHkgPSB4emFsbG9jKHN0cnVjdCBscGlfcGVuZGluZ19pcnEpOwo+ICsgICAgICAgIHZnaWNf aW5pdF9wZW5kaW5nX2lycSgmZW1wdHktPnBpcnEsIGxwaSk7Cj4gKyAgICAgICAgbGlzdF9hZGRf dGFpbCgmZW1wdHktPmVudHJ5LCAmdi0+YXJjaC52Z2ljLnBlbmRpbmdfbHBpX2xpc3QpOwo+ICsg ICAgfSBlbHNlCj4gKyAgICB7Cj4gKyAgICAgICAgZW1wdHktPnBpcnEuc3RhdHVzID0gMDsKPiAr ICAgICAgICBlbXB0eS0+cGlycS5pcnEgPSBscGk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgcmV0dXJu ICZlbXB0eS0+cGlycTsKPiArfQo+ICsKPiAgc3RydWN0IHBlbmRpbmdfaXJxICppcnFfdG9fcGVu ZGluZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGlycSkKPiAgewo+ICAgICAgc3RydWN0 IHBlbmRpbmdfaXJxICpuOwo+ICsKCnNwdXJpb3VzIGNoYW5nZQoKCj4gICAgICAvKiBQZW5kaW5n IGlycXMgYWxsb2NhdGlvbiBzdHJhdGVneTogdGhlIGZpcnN0IHZnaWMubnJfc3BpcyBpcnFzCj4g ICAgICAgKiBhcmUgdXNlZCBmb3IgU1BJczsgdGhlIHJlc3RzIGFyZSB1c2VkIGZvciBwZXIgY3B1 IGlycXMgKi8KPiAgICAgIGlmICggaXJxIDwgMzIgKQo+ICAgICAgICAgIG4gPSAmdi0+YXJjaC52 Z2ljLnBlbmRpbmdfaXJxc1tpcnFdOwo+ICsgICAgZWxzZSBpZiAoIGlycSA+PSA4MTkyICkKClVz ZSB0aGUgbmV3IHN0YXRpYyBpbmxpbmUKCgo+ICsgICAgICAgIG4gPSBscGlfdG9fcGVuZGluZyh2 LCBpcnEsIHRydWUpOwo+ICAgICAgZWxzZQo+ICAgICAgICAgIG4gPSAmdi0+ZG9tYWluLT5hcmNo LnZnaWMucGVuZGluZ19pcnFzW2lycSAtIDMyXTsKPiAgICAgIHJldHVybiBuOwo+IEBAIC00ODAs NyArNTI4LDcgQEAgdm9pZCB2Z2ljX2NsZWFyX3BlbmRpbmdfaXJxcyhzdHJ1Y3QgdmNwdSAqdikK PiAgdm9pZCB2Z2ljX3ZjcHVfaW5qZWN0X2lycShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50 IHZpcnEpCj4gIHsKPiAgICAgIHVpbnQ4X3QgcHJpb3JpdHk7Cj4gLSAgICBzdHJ1Y3QgcGVuZGlu Z19pcnEgKml0ZXIsICpuID0gaXJxX3RvX3BlbmRpbmcodiwgdmlycSk7Cj4gKyAgICBzdHJ1Y3Qg cGVuZGluZ19pcnEgKml0ZXIsICpuOwo+ICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKPiAgICAg IGJvb2xfdCBydW5uaW5nOwo+ICAKPiBAQCAtNDg4LDYgKzUzNiw4IEBAIHZvaWQgdmdpY192Y3B1 X2luamVjdF9pcnEoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB2aXJxKQo+ICAKPiAgICAg IHNwaW5fbG9ja19pcnFzYXZlKCZ2LT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOwo+ICAKPiArICAg IG4gPSBpcnFfdG9fcGVuZGluZyh2LCB2aXJxKTsKCldoeSB0aGlzIGNoYW5nZT8KCgo+ICAgICAg LyogdmNwdSBvZmZsaW5lICovCj4gICAgICBpZiAoIHRlc3RfYml0KF9WUEZfZG93biwgJnYtPnBh dXNlX2ZsYWdzKSApCj4gICAgICB7Cj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0v ZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oCj4gaW5kZXggOTQ1MmZjZC4u YWU4YTlkZSAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oCj4gKysr IGIveGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaAo+IEBAIC0yNDksNiArMjQ5LDcgQEAgc3Ry dWN0IGFyY2hfdmNwdQo+ICAgICAgICAgIHBhZGRyX3QgcmRpc3RfYmFzZTsKPiAgI2RlZmluZSBW R0lDX1YzX1JESVNUX0xBU1QgICgxIDw8IDApICAgICAgICAvKiBsYXN0IHZDUFUgb2YgdGhlIHJk aXN0ICovCj4gICAgICAgICAgdWludDhfdCBmbGFnczsKPiArICAgICAgICBzdHJ1Y3QgbGlzdF9o ZWFkIHBlbmRpbmdfbHBpX2xpc3Q7Cj4gICAgICB9IHZnaWM7Cj4gIAo+ICAgICAgLyogVGltZXIg cmVnaXN0ZXJzICAqLwo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy1pdHMu aCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oCj4gaW5kZXggNGU5ODQxYS4uMWY4ODFj MCAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy1pdHMuaAo+ICsrKyBiL3hl bi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oCj4gQEAgLTEzNiw2ICsxMzYsMTIgQEAgaW50IGdp Y3YzX2xwaV9hbGxvY2F0ZV9ob3N0X2xwaShzdHJ1Y3QgaG9zdF9pdHMgKml0cywKPiAgaW50IGdp Y3YzX2xwaV9kcm9wX2hvc3RfbHBpKHN0cnVjdCBob3N0X2l0cyAqaXRzLAo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGV2aWQsIHVpbnQzMl90IGV2ZW50aWQsCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBob3N0X2xwaSk7Cj4gKwo+ICtzdGF0 aWMgaW5saW5lIGludCBnaWN2M19scGlfZ2V0X3ByaW9yaXR5KHN0cnVjdCBkb21haW4gKmQsIHVp bnQzMl90IGxwaSkKPiArewo+ICsgICAgcmV0dXJuIEdJQ19QUklfSVJROwo+ICt9CgpEb2VzIGl0 IG1lYW4gdGhhdCB3ZSBkb24ndCBhbGxvdyBjaGFuZ2VzIHRvIExQSSBwcmlvcml0aWVzPwoKCj4g ICNlbHNlCj4gIAo+ICBzdGF0aWMgaW5saW5lIHZvaWQgZ2ljdjNfaXRzX2R0X2luaXQoY29uc3Qg c3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlKQo+IEBAIC0xNzUsNiArMTgxLDEwIEBAIHN0YXRp YyBpbmxpbmUgaW50IGdpY3YzX2xwaV9kcm9wX2hvc3RfbHBpKHN0cnVjdCBob3N0X2l0cyAqaXRz LAo+ICB7Cj4gICAgICByZXR1cm4gMDsKPiAgfQo+ICtzdGF0aWMgaW5saW5lIGludCBnaWN2M19s cGlfZ2V0X3ByaW9yaXR5KHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IGxwaSkKPiArewo+ICsg ICAgcmV0dXJuIEdJQ19QUklfSVJROwo+ICt9Cj4gIAo+ICAjZW5kaWYgLyogQ09ORklHX0hBU19J VFMgKi8KPiAgCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5oIGIveGVu L2luY2x1ZGUvYXNtLWFybS92Z2ljLmgKPiBpbmRleCAzMDBmNDYxLi40ZTI5YmE2IDEwMDY0NAo+ IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5oCj4gKysrIGIveGVuL2luY2x1ZGUvYXNt LWFybS92Z2ljLmgKPiBAQCAtODMsNiArODMsMTIgQEAgc3RydWN0IHBlbmRpbmdfaXJxCj4gICAg ICBzdHJ1Y3QgbGlzdF9oZWFkIGxyX3F1ZXVlOwo+ICB9Owo+ICAKPiArc3RydWN0IGxwaV9wZW5k aW5nX2lycQo+ICt7Cj4gKyAgICBzdHJ1Y3QgbGlzdF9oZWFkIGVudHJ5Owo+ICsgICAgc3RydWN0 IHBlbmRpbmdfaXJxIHBpcnE7Cj4gK307Cj4gKwo+ICAjZGVmaW5lIE5SX0lOVEVSUlVQVF9QRVJf UkFOSyAgIDMyCj4gICNkZWZpbmUgSU5URVJSVVBUX1JBTktfTUFTSyAoTlJfSU5URVJSVVBUX1BF Ul9SQU5LIC0gMSkKPiAgCj4gQEAgLTI5Niw4ICszMDIsMTEgQEAgZXh0ZXJuIHN0cnVjdCB2Y3B1 ICp2Z2ljX2dldF90YXJnZXRfdmNwdShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHZpcnEp Owo+ICBleHRlcm4gdm9pZCB2Z2ljX3ZjcHVfaW5qZWN0X2lycShzdHJ1Y3QgdmNwdSAqdiwgdW5z aWduZWQgaW50IHZpcnEpOwo+ICBleHRlcm4gdm9pZCB2Z2ljX3ZjcHVfaW5qZWN0X3NwaShzdHJ1 Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmlycSk7Cj4gIGV4dGVybiB2b2lkIHZnaWNfY2xl YXJfcGVuZGluZ19pcnFzKHN0cnVjdCB2Y3B1ICp2KTsKPiArZXh0ZXJuIHZvaWQgdmdpY19pbml0 X3BlbmRpbmdfaXJxKHN0cnVjdCBwZW5kaW5nX2lycSAqcCwgdW5zaWduZWQgaW50IHZpcnEpOwo+ ICBleHRlcm4gc3RydWN0IHBlbmRpbmdfaXJxICppcnFfdG9fcGVuZGluZyhzdHJ1Y3QgdmNwdSAq diwgdW5zaWduZWQgaW50IGlycSk7Cj4gIGV4dGVybiBzdHJ1Y3QgcGVuZGluZ19pcnEgKnNwaV90 b19wZW5kaW5nKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBpcnEpOwo+ICtleHRlcm4g c3RydWN0IHBlbmRpbmdfaXJxICpscGlfdG9fcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWdu ZWQgaW50IGlycSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ym9vbCBhbGxvY2F0ZSk7Cj4gIGV4dGVybiBzdHJ1Y3QgdmdpY19pcnFfcmFuayAqdmdpY19yYW5r X29mZnNldChzdHJ1Y3QgdmNwdSAqdiwgaW50IGIsIGludCBuLCBpbnQgcyk7Cj4gIGV4dGVybiBz dHJ1Y3QgdmdpY19pcnFfcmFuayAqdmdpY19yYW5rX2lycShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWdu ZWQgaW50IGlycSk7Cj4gIGV4dGVybiBpbnQgdmdpY19lbXVsYXRlKHN0cnVjdCBjcHVfdXNlcl9y ZWdzICpyZWdzLCB1bmlvbiBoc3IgaHNyKTsKPiAtLSAKPiAyLjkuMAo+IAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==