From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH 09/17] ARM: VGIC: change to level-IRQ compatible IRQ injection interface Date: Mon, 12 Mar 2018 11:29:22 +0000 Message-ID: References: <20180309151133.31371-1-andre.przywara@linaro.org> <20180309151133.31371-10-andre.przywara@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1evLdz-0003ZU-Tz for xen-devel@lists.xenproject.org; Mon, 12 Mar 2018 11:29:31 +0000 In-Reply-To: <20180309151133.31371-10-andre.przywara@linaro.org> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Andre Przywara , Stefano Stabellini Cc: xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org SGksCgpPbiAwOS8wMy8xOCAxNToxMSwgQW5kcmUgUHJ6eXdhcmEgd3JvdGU6Cj4gQXQgdGhlIG1v bWVudCB2Z2ljX3ZjcHVfaW5qZWN0X2lycSgpIGlzIHRoZSBpbnRlcmZhY2UgZm9yIFhlbiBpbnRl cm5hbAo+IGNvZGUgYW5kIHZpcnR1YWwgZGV2aWNlcyB0byBpbmplY3QgSVJRcyBpbnRvIGEgZ3Vl c3QuIFRoaXMgaW50ZXJmYWNlIGhhcwo+IHR3byBzaG9ydGNvbWluZ3M6Cj4gMSkgSXQgcmVxdWly ZXMgYSBWQ1BVIHBvaW50ZXIsIHdoaWNoIHdlIG1heSBub3Qga25vdyAoYW5kIGRvbid0IG5lZWQh KQo+IGZvciBzaGFyZWQgaW50ZXJydXB0cy4gQSBzZWNvbmQgZnVuY3Rpb24gKHZnaWNfdmNwdV9p bmplY3Rfc3BpKCkpLCB3YXMKPiB0aGVyZSB0byB3b3JrIGFyb3VuZCB0aGlzIGlzc3VlLgo+IDIp IFRoaXMgaW50ZXJmYWNlIG9ubHkgcmVhbGx5IHN1cHBvcnRzIGVkZ2UgdHJpZ2dlcmVkIElSUXMs IHdoaWNoIGlzCj4gd2hhdCB0aGUgWGVuIFZHSUMgZW11bGF0ZXMgb25seSBhbnl3YXkuIEhvd2V2 ZXIgdGhpcyBuZWVkcyB0byBhbmQgd2lsbAo+IGNoYW5nZSwgc28gd2UgbmVlZCB0byBhZGQgdGhl IGRlc2lyZWQgbGV2ZWwgKGhpZ2ggb3IgbG93KSB0byB0aGUKPiBpbnRlcmZhY2UuCj4gVGhpcyBy ZXBsYWNlcyB0aGUgZXhpc3RpbmcgaW5qZWN0aW9uIGNhbGwgKHRha2luZyBhIFZDUFUgYW5kIGFu IElSUQo+IHBhcmFtZXRlcikgd2l0aCBhIG5ldyBvbmUsIHRha2luZyBkb21haW4sIFZDUFUsIElS USBhbmQgbGV2ZWwgcGFyYW1ldGVycy4KPiBUaGUgVkNQVSBjYW4gYmUgTlVMTCBpbiBjYXNlIHdl IGRvbid0IGtub3cgYW5kIGRvbid0IGNhcmUuCj4gV2UgY2hhbmdlIGFsbCBjYWxsIHNpdGVzIHRv IHVzZSB0aGlzIG5ldyBpbnRlcmZhY2UuIFRoaXMgc3RpbGwgZG9lc24ndAo+IGdpdmUgdXMgdGhl IG1pc3NpbmcgbGV2ZWwgSVJRIGhhbmRsaW5nLCBidXQgYXQgbGVhc3QgcHJlcGFyZXMgdGhlIGNh bGxlcnMKPiB0byBkbyB0aGUgcmlnaHQgdGhpbmcgbGF0ZXIgYXV0b21hdGljYWxseS4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBBbmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAbGluYXJvLm9yZz4K ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgoKQ2hlZXJz LAoKPiAtLS0KPiBDaGFuZ2Vsb2c6Cj4gLSBrZWVwIGZ1bmN0aW9uIGFzIHJldHVybmluZyB2b2lk Cj4gCj4gICB4ZW4vYXJjaC9hcm0vZG9tYWluLmMgICAgICB8ICA0ICsrLS0KPiAgIHhlbi9hcmNo L2FybS9naWMtdjMtbHBpLmMgIHwgIDIgKy0KPiAgIHhlbi9hcmNoL2FybS9pcnEuYyAgICAgICAg IHwgIDIgKy0KPiAgIHhlbi9hcmNoL2FybS90aW1lLmMgICAgICAgIHwgIDIgKy0KPiAgIHhlbi9h cmNoL2FybS92Z2ljLmMgICAgICAgIHwgMzkgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tCj4gICB4ZW4vYXJjaC9hcm0vdnBsMDExLmMgICAgICB8ICAyICstCj4gICB4ZW4v YXJjaC9hcm0vdnRpbWVyLmMgICAgICB8ICA0ICsrLS0KPiAgIHhlbi9pbmNsdWRlL2FzbS1hcm0v dmdpYy5oIHwgIDQgKystLQo+ICAgOCBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAy NiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jIGIv eGVuL2FyY2gvYXJtL2RvbWFpbi5jCj4gaW5kZXggNmI5MDJmYTMwZi4uYmMxMGY0MTJiYSAxMDA2 NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vZG9t YWluLmMKPiBAQCAtOTUxLDE0ICs5NTEsMTQgQEAgdm9pZCB2Y3B1X21hcmtfZXZlbnRzX3BlbmRp bmcoc3RydWN0IHZjcHUgKnYpCj4gICAgICAgaWYgKCBhbHJlYWR5X3BlbmRpbmcgKQo+ICAgICAg ICAgICByZXR1cm47Cj4gICAKPiAtICAgIHZnaWNfdmNwdV9pbmplY3RfaXJxKHYsIHYtPmRvbWFp bi0+YXJjaC5ldnRjaG5faXJxKTsKPiArICAgIHZnaWNfaW5qZWN0X2lycSh2LT5kb21haW4sIHYs IHYtPmRvbWFpbi0+YXJjaC5ldnRjaG5faXJxLCB0cnVlKTsKPiAgIH0KPiAgIAo+ICAgLyogVGhl IEFSTSBzcGVjIGRlY2xhcmVzIHRoYXQgZXZlbiBpZiBsb2NhbCBpcnFzIGFyZSBtYXNrZWQgaW4K PiAgICAqIHRoZSBDUFNSIHJlZ2lzdGVyLCBhbiBpcnEgc2hvdWxkIHdha2UgdXAgYSBjcHUgZnJv bSBXRkkgYW55d2F5Lgo+ICAgICogRm9yIHRoaXMgcmVhc29uIHdlIG5lZWQgdG8gY2hlY2sgZm9y IGlycXMgdGhhdCBuZWVkIGRlbGl2ZXJ5LAo+ICAgICogaWdub3JpbmcgdGhlIENQU1IgcmVnaXN0 ZXIsICphZnRlciogY2FsbGluZyBTQ0hFRE9QX2Jsb2NrIHRvCj4gLSAqIGF2b2lkIHJhY2VzIHdp dGggdmdpY192Y3B1X2luamVjdF9pcnEuCj4gKyAqIGF2b2lkIHJhY2VzIHdpdGggdmdpY19pbmpl Y3RfaXJxLgo+ICAgICovCj4gICB2b2lkIHZjcHVfYmxvY2tfdW5sZXNzX2V2ZW50X3BlbmRpbmco c3RydWN0IHZjcHUgKnYpCj4gICB7Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9naWMtdjMt bHBpLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLWxwaS5jCj4gaW5kZXggODQ1ODIxNTdiOC4uZWZk NWNkNjJmYiAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLWxwaS5jCj4gKysrIGIv eGVuL2FyY2gvYXJtL2dpYy12My1scGkuYwo+IEBAIC0xNTMsNyArMTUzLDcgQEAgdm9pZCB2Z2lj X3ZjcHVfaW5qZWN0X2xwaShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmlycSkKPiAg ICAgICBpZiAoIHZjcHVfaWQgPj0gZC0+bWF4X3ZjcHVzICkKPiAgICAgICAgICAgICByZXR1cm47 Cj4gICAKPiAtICAgIHZnaWNfdmNwdV9pbmplY3RfaXJxKGQtPnZjcHVbdmNwdV9pZF0sIHZpcnEp Owo+ICsgICAgdmdpY19pbmplY3RfaXJxKGQsIGQtPnZjcHVbdmNwdV9pZF0sIHZpcnEsIHRydWUp Owo+ICAgfQo+ICAgCj4gICAvKgo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaXJxLmMgYi94 ZW4vYXJjaC9hcm0vaXJxLmMKPiBpbmRleCAyOWFmMTBlODJjLi5hYTRlODMyY2FlIDEwMDY0NAo+ IC0tLSBhL3hlbi9hcmNoL2FybS9pcnEuYwo+ICsrKyBiL3hlbi9hcmNoL2FybS9pcnEuYwo+IEBA IC0yMjUsNyArMjI1LDcgQEAgdm9pZCBkb19JUlEoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3Ms IHVuc2lnbmVkIGludCBpcnEsIGludCBpc19maXEpCj4gICAgICAgICAgICAqIFRoZSBpcnEgY2Fu bm90IGJlIGEgUFBJLCB3ZSBvbmx5IHN1cHBvcnQgZGVsaXZlcnkgb2YgU1BJcyB0bwo+ICAgICAg ICAgICAgKiBndWVzdHMuCj4gICAJICovCj4gLSAgICAgICAgdmdpY192Y3B1X2luamVjdF9zcGko aW5mby0+ZCwgaW5mby0+dmlycSk7Cj4gKyAgICAgICAgdmdpY19pbmplY3RfaXJxKGluZm8tPmQs IE5VTEwsIGluZm8tPnZpcnEsIHRydWUpOwo+ICAgICAgICAgICBnb3RvIG91dF9ub19lbmQ7Cj4g ICAgICAgfQo+ICAgCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90aW1lLmMgYi94ZW4vYXJj aC9hcm0vdGltZS5jCj4gaW5kZXggMzZmNjQwZjBjMS4uYzExZmNmZWFkZCAxMDA2NDQKPiAtLS0g YS94ZW4vYXJjaC9hcm0vdGltZS5jCj4gKysrIGIveGVuL2FyY2gvYXJtL3RpbWUuYwo+IEBAIC0y NjAsNyArMjYwLDcgQEAgc3RhdGljIHZvaWQgdnRpbWVyX2ludGVycnVwdChpbnQgaXJxLCB2b2lk ICpkZXZfaWQsIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQo+ICAgCj4gICAgICAgY3VycmVu dC0+YXJjaC52aXJ0X3RpbWVyLmN0bCA9IFJFQURfU1lTUkVHMzIoQ05UVl9DVExfRUwwKTsKPiAg ICAgICBXUklURV9TWVNSRUczMihjdXJyZW50LT5hcmNoLnZpcnRfdGltZXIuY3RsIHwgQ05UeF9D VExfTUFTSywgQ05UVl9DVExfRUwwKTsKPiAtICAgIHZnaWNfdmNwdV9pbmplY3RfaXJxKGN1cnJl bnQsIGN1cnJlbnQtPmFyY2gudmlydF90aW1lci5pcnEpOwo+ICsgICAgdmdpY19pbmplY3RfaXJx KGN1cnJlbnQtPmRvbWFpbiwgY3VycmVudCwgY3VycmVudC0+YXJjaC52aXJ0X3RpbWVyLmlycSwg dHJ1ZSk7Cj4gICB9Cj4gICAKPiAgIC8qCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2lj LmMgYi94ZW4vYXJjaC9hcm0vdmdpYy5jCj4gaW5kZXggZmEwMGMyMWE2OS4uZWIwOWQ5Y2E1NCAx MDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy5jCj4gKysrIGIveGVuL2FyY2gvYXJtL3Zn aWMuYwo+IEBAIC0yOTEsNyArMjkxLDcgQEAgYm9vbCB2Z2ljX21pZ3JhdGVfaXJxKHN0cnVjdCB2 Y3B1ICpvbGQsIHN0cnVjdCB2Y3B1ICpuZXcsIHVuc2lnbmVkIGludCBpcnEpCj4gICAgICAgICAg IHZnaWNfcmVtb3ZlX2lycV9mcm9tX3F1ZXVlcyhvbGQsIHApOwo+ICAgICAgICAgICBpcnFfc2V0 X2FmZmluaXR5KHAtPmRlc2MsIGNwdW1hc2tfb2YobmV3LT5wcm9jZXNzb3IpKTsKPiAgICAgICAg ICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmb2xkLT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOwo+ IC0gICAgICAgIHZnaWNfdmNwdV9pbmplY3RfaXJxKG5ldywgaXJxKTsKPiArICAgICAgICB2Z2lj X2luamVjdF9pcnEobmV3LT5kb21haW4sIG5ldywgaXJxLCB0cnVlKTsKPiAgICAgICAgICAgcmV0 dXJuIHRydWU7Cj4gICAgICAgfQo+ICAgICAgIC8qIGlmIHRoZSBJUlEgaXMgaW4gYSBHSUNIX0xS IHJlZ2lzdGVyLCBzZXQgR0lDX0lSUV9HVUVTVF9NSUdSQVRJTkcKPiBAQCAtNDUwLDcgKzQ1MCw3 IEBAIGJvb2wgdmdpY190b19zZ2koc3RydWN0IHZjcHUgKnYsIHJlZ2lzdGVyX3Qgc2dpciwgZW51 bSBnaWNfc2dpX21vZGUgaXJxbW9kZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNnaXIs IHRhcmdldC0+bGlzdCk7Cj4gICAgICAgICAgICAgICAgICAgY29udGludWU7Cj4gICAgICAgICAg ICAgICB9Cj4gLSAgICAgICAgICAgIHZnaWNfdmNwdV9pbmplY3RfaXJxKGQtPnZjcHVbdmNwdWlk XSwgdmlycSk7Cj4gKyAgICAgICAgICAgIHZnaWNfaW5qZWN0X2lycShkLCBkLT52Y3B1W3ZjcHVp ZF0sIHZpcnEsIHRydWUpOwo+ICAgICAgICAgICB9Cj4gICAgICAgICAgIGJyZWFrOwo+ICAgICAg IGNhc2UgU0dJX1RBUkdFVF9PVEhFUlM6Cj4gQEAgLTQ1OSwxMiArNDU5LDEyIEBAIGJvb2wgdmdp Y190b19zZ2koc3RydWN0IHZjcHUgKnYsIHJlZ2lzdGVyX3Qgc2dpciwgZW51bSBnaWNfc2dpX21v ZGUgaXJxbW9kZSwKPiAgICAgICAgICAgewo+ICAgICAgICAgICAgICAgaWYgKCBpICE9IGN1cnJl bnQtPnZjcHVfaWQgJiYgZC0+dmNwdVtpXSAhPSBOVUxMICYmCj4gICAgICAgICAgICAgICAgICAg IGlzX3ZjcHVfb25saW5lKGQtPnZjcHVbaV0pICkKPiAtICAgICAgICAgICAgICAgIHZnaWNfdmNw dV9pbmplY3RfaXJxKGQtPnZjcHVbaV0sIHZpcnEpOwo+ICsgICAgICAgICAgICAgICAgdmdpY19p bmplY3RfaXJxKGQsIGQtPnZjcHVbaV0sIHZpcnEsIHRydWUpOwo+ICAgICAgICAgICB9Cj4gICAg ICAgICAgIGJyZWFrOwo+ICAgICAgIGNhc2UgU0dJX1RBUkdFVF9TRUxGOgo+ICAgICAgICAgICBw ZXJmY19pbmNyKHZnaWNfc2dpX3NlbGYpOwo+IC0gICAgICAgIHZnaWNfdmNwdV9pbmplY3RfaXJx KGQtPnZjcHVbY3VycmVudC0+dmNwdV9pZF0sIHZpcnEpOwo+ICsgICAgICAgIHZnaWNfaW5qZWN0 X2lycShkLCBjdXJyZW50LCB2aXJxLCB0cnVlKTsKPiAgICAgICAgICAgYnJlYWs7Cj4gICAgICAg ZGVmYXVsdDoKPiAgICAgICAgICAgZ3ByaW50ayhYRU5MT0dfV0FSTklORywKPiBAQCAtNTI0LDEz ICs1MjQsMjkgQEAgdm9pZCB2Z2ljX3JlbW92ZV9pcnFfZnJvbV9xdWV1ZXMoc3RydWN0IHZjcHUg KnYsIHN0cnVjdCBwZW5kaW5nX2lycSAqcCkKPiAgICAgICBnaWNfcmVtb3ZlX2Zyb21fbHJfcGVu ZGluZyh2LCBwKTsKPiAgIH0KPiAgIAo+IC12b2lkIHZnaWNfdmNwdV9pbmplY3RfaXJxKHN0cnVj dCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgdmlycSkKPiArdm9pZCB2Z2ljX2luamVjdF9pcnEoc3Ry dWN0IGRvbWFpbiAqZCwgc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB2aXJxLAo+ICsgICAg ICAgICAgICAgICAgICAgICBib29sIGxldmVsKQo+ICAgewo+ICAgICAgIHVpbnQ4X3QgcHJpb3Jp dHk7Cj4gICAgICAgc3RydWN0IHBlbmRpbmdfaXJxICppdGVyLCAqbjsKPiAgICAgICB1bnNpZ25l ZCBsb25nIGZsYWdzOwo+ICAgICAgIGJvb2wgcnVubmluZzsKPiAgIAo+ICsgICAgLyoKPiArICAg ICAqIEZvciBlZGdlIHRyaWdnZXJlZCBpbnRlcnJ1cHRzIHdlIGFsd2F5cyBpZ25vcmUgYSAiZmFs bGluZyBlZGdlIi4KPiArICAgICAqIEZvciBsZXZlbCB0cmlnZ2VyZWQgaW50ZXJydXB0cyB3ZSBz aG91bGRuJ3QsIGJ1dCBkbyBhbnl3YXlzLgo+ICsgICAgICovCj4gKyAgICBpZiAoICFsZXZlbCAp Cj4gKyAgICAgICAgcmV0dXJuOwo+ICsKPiArICAgIGlmICggIXYgKQo+ICsgICAgewo+ICsgICAg ICAgIC8qIFRoZSBJUlEgbmVlZHMgdG8gYmUgYW4gU1BJIGlmIG5vIHZDUFUgaXMgc3BlY2lmaWVk LiAqLwo+ICsgICAgICAgIEFTU0VSVCh2aXJxID49IDMyICYmIHZpcnEgPD0gdmdpY19udW1faXJx cyhkKSk7Cj4gKwo+ICsgICAgICAgIHYgPSB2Z2ljX2dldF90YXJnZXRfdmNwdShkLT52Y3B1WzBd LCB2aXJxKTsKPiArICAgIH07Cj4gKwo+ICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZ2LT5hcmNo LnZnaWMubG9jaywgZmxhZ3MpOwo+ICAgCj4gICAgICAgbiA9IGlycV90b19wZW5kaW5nKHYsIHZp cnEpOwo+IEBAIC01ODIsMjIgKzU5OCwxMyBAQCBvdXQ6Cj4gICAgICAgICAgIHBlcmZjX2luY3Io dmdpY19jcm9zc19jcHVfaW50cl9pbmplY3QpOwo+ICAgICAgICAgICBzbXBfc2VuZF9ldmVudF9j aGVja19tYXNrKGNwdW1hc2tfb2Yodi0+cHJvY2Vzc29yKSk7Cj4gICAgICAgfQo+IC19Cj4gLQo+ IC12b2lkIHZnaWNfdmNwdV9pbmplY3Rfc3BpKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGlu dCB2aXJxKQo+IC17Cj4gLSAgICBzdHJ1Y3QgdmNwdSAqdjsKPiAtCj4gLSAgICAvKiB0aGUgSVJR IG5lZWRzIHRvIGJlIGFuIFNQSSAqLwo+IC0gICAgQVNTRVJUKHZpcnEgPj0gMzIgJiYgdmlycSA8 PSB2Z2ljX251bV9pcnFzKGQpKTsKPiAgIAo+IC0gICAgdiA9IHZnaWNfZ2V0X3RhcmdldF92Y3B1 KGQtPnZjcHVbMF0sIHZpcnEpOwo+IC0gICAgdmdpY192Y3B1X2luamVjdF9pcnEodiwgdmlycSk7 Cj4gKyAgICByZXR1cm47Cj4gICB9Cj4gICAKPiAgIHZvaWQgYXJjaF9ldnRjaG5faW5qZWN0KHN0 cnVjdCB2Y3B1ICp2KQo+ICAgewo+IC0gICAgdmdpY192Y3B1X2luamVjdF9pcnEodiwgdi0+ZG9t YWluLT5hcmNoLmV2dGNobl9pcnEpOwo+ICsgICAgdmdpY19pbmplY3RfaXJxKHYtPmRvbWFpbiwg diwgdi0+ZG9tYWluLT5hcmNoLmV2dGNobl9pcnEsIHRydWUpOwo+ICAgfQo+ICAgCj4gICBib29s IHZnaWNfZXZ0Y2huX2lycV9wZW5kaW5nKHN0cnVjdCB2Y3B1ICp2KQo+IGRpZmYgLS1naXQgYS94 ZW4vYXJjaC9hcm0vdnBsMDExLmMgYi94ZW4vYXJjaC9hcm0vdnBsMDExLmMKPiBpbmRleCA3Nzg4 YzJmYzMyLi41ZGNmNGJlYzE4IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS92cGwwMTEuYwo+ ICsrKyBiL3hlbi9hcmNoL2FybS92cGwwMTEuYwo+IEBAIC02OCw3ICs2OCw3IEBAIHN0YXRpYyB2 b2lkIHZwbDAxMV91cGRhdGVfaW50ZXJydXB0X3N0YXR1cyhzdHJ1Y3QgZG9tYWluICpkKQo+ICAg ICAgICAqIHN0YXR1cyBiaXQgaGFzIGJlZW4gc2V0IHNpbmNlIHRoZSBsYXN0IHRpbWUuCj4gICAg ICAgICovCj4gICAgICAgaWYgKCB1YXJ0bWlzICYgfnZwbDAxMS0+c2hhZG93X3VhcnRtaXMgKQo+ IC0gICAgICAgIHZnaWNfdmNwdV9pbmplY3Rfc3BpKGQsIEdVRVNUX1ZQTDAxMV9TUEkpOwo+ICsg ICAgICAgIHZnaWNfaW5qZWN0X2lycShkLCBOVUxMLCBHVUVTVF9WUEwwMTFfU1BJLCB0cnVlKTsK PiAgIAo+ICAgICAgIHZwbDAxMS0+c2hhZG93X3VhcnRtaXMgPSB1YXJ0bWlzOwo+ICAgfQo+IGRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdnRpbWVyLmMgYi94ZW4vYXJjaC9hcm0vdnRpbWVyLmMK PiBpbmRleCBmNTJhNzIzYTVmLi44MTY0ZjZjN2YxIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2Fy bS92dGltZXIuYwo+ICsrKyBiL3hlbi9hcmNoL2FybS92dGltZXIuYwo+IEBAIC00Niw3ICs0Niw3 IEBAIHN0YXRpYyB2b2lkIHBoeXNfdGltZXJfZXhwaXJlZCh2b2lkICpkYXRhKQo+ICAgICAgIGlm ICggISh0LT5jdGwgJiBDTlR4X0NUTF9NQVNLKSApCj4gICAgICAgewo+ICAgICAgICAgICBwZXJm Y19pbmNyKHZ0aW1lcl9waHlzX2luamVjdCk7Cj4gLSAgICAgICAgdmdpY192Y3B1X2luamVjdF9p cnEodC0+diwgdC0+aXJxKTsKPiArICAgICAgICB2Z2ljX2luamVjdF9pcnEodC0+di0+ZG9tYWlu LCB0LT52LCB0LT5pcnEsIHRydWUpOwo+ICAgICAgIH0KPiAgICAgICBlbHNlCj4gICAgICAgICAg IHBlcmZjX2luY3IodnRpbWVyX3BoeXNfbWFza2VkKTsKPiBAQCAtNTYsNyArNTYsNyBAQCBzdGF0 aWMgdm9pZCB2aXJ0X3RpbWVyX2V4cGlyZWQodm9pZCAqZGF0YSkKPiAgIHsKPiAgICAgICBzdHJ1 Y3QgdnRpbWVyICp0ID0gZGF0YTsKPiAgICAgICB0LT5jdGwgfD0gQ05UeF9DVExfTUFTSzsKPiAt ICAgIHZnaWNfdmNwdV9pbmplY3RfaXJxKHQtPnYsIHQtPmlycSk7Cj4gKyAgICB2Z2ljX2luamVj dF9pcnEodC0+di0+ZG9tYWluLCB0LT52LCB0LT5pcnEsIHRydWUpOwo+ICAgICAgIHBlcmZjX2lu Y3IodnRpbWVyX3ZpcnRfaW5qZWN0KTsKPiAgIH0KPiAgIAo+IGRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS9hc20tYXJtL3ZnaWMuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5oCj4gaW5kZXgg YWZiNDc3NmFkNC4uOGFmNmQ4MTZjOSAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJt L3ZnaWMuaAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5oCj4gQEAgLTIwMiw4ICsy MDIsOCBAQCBleHRlcm4gaW50IGRvbWFpbl92Z2ljX2luaXQoc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgaW50IG5yX3NwaXMpOwo+ICAgZXh0ZXJuIHZvaWQgZG9tYWluX3ZnaWNfZnJlZShzdHJ1 Y3QgZG9tYWluICpkKTsKPiAgIGV4dGVybiBpbnQgdmNwdV92Z2ljX2luaXQoc3RydWN0IHZjcHUg KnYpOwo+ICAgZXh0ZXJuIHN0cnVjdCB2Y3B1ICp2Z2ljX2dldF90YXJnZXRfdmNwdShzdHJ1Y3Qg dmNwdSAqdiwgdW5zaWduZWQgaW50IHZpcnEpOwo+IC1leHRlcm4gdm9pZCB2Z2ljX3ZjcHVfaW5q ZWN0X2lycShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHZpcnEpOwo+IC1leHRlcm4gdm9p ZCB2Z2ljX3ZjcHVfaW5qZWN0X3NwaShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmly cSk7Cj4gK2V4dGVybiB2b2lkIHZnaWNfaW5qZWN0X2lycShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1 Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHZpcnEsCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBib29sIGxldmVsKTsKPiAgIGV4dGVybiB2b2lkIHZnaWNfcmVtb3ZlX2lycV9mcm9tX3F1 ZXVlcyhzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0IHBlbmRpbmdfaXJxICpwKTsKPiAgIGV4dGVybiB2 b2lkIGdpY19yZW1vdmVfZnJvbV9scl9wZW5kaW5nKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgcGVu ZGluZ19pcnEgKnApOwo+ICAgZXh0ZXJuIHZvaWQgdmdpY19jbGVhcl9wZW5kaW5nX2lycXMoc3Ry dWN0IHZjcHUgKnYpOwo+IAoKLS0gCkp1bGllbiBHcmFsbAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==