From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC 01/11] acpi: arm: Public API for populating and query based on requesterid Date: Tue, 16 Jan 2018 17:53:34 +0000 Message-ID: <6c277855-b6fd-a9e6-a367-412a70d74386@linaro.org> References: <20180102092809.1841-1-manish.jaggi@linaro.org> <20180102092809.1841-2-manish.jaggi@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ebVQZ-0004qL-BV for xen-devel@lists.xenproject.org; Tue, 16 Jan 2018 17:53:39 +0000 Received: by mail-wr0-x244.google.com with SMTP id t16so2480722wrc.10 for ; Tue, 16 Jan 2018 09:53:37 -0800 (PST) In-Reply-To: <20180102092809.1841-2-manish.jaggi@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: manish.jaggi@linaro.org, xen-devel@lists.xenproject.org, sameer.goel@linaro.org, andre.przywara@linaro.org Cc: manish.jaggi@cavium.com List-Id: xen-devel@lists.xenproject.org SGkgTWFuaXNoLAoKT24gMDIvMDEvMTggMDk6MjcsIG1hbmlzaC5qYWdnaUBsaW5hcm8ub3JnIHdy b3RlOgo+IEZyb206IE1hbmlzaCBKYWdnaSA8bWFuaXNoLmphZ2dpQGxpbmFyby5vcmc+Cj4gCj4g ICBQdWJsaWMgQVBJIHRvIHBvcHVsYXRlIGFuZCBxdWVyeSBtYXAgYmV0d2VlbiByZXF1ZXN0ZXIg aWQgYW5kCgpUaGUgY29tbWl0IG1lc3NhZ2Ugc2hvdWxkIG5vdCBiZSBpbmRlbnRlZC4KCj4gICBz dHJlYW1JZC9EZXZpY2VJRC4gSU9SVCBpcyBwYXJzZWQgb25lIHRpbWUgKG91dHNpZGUgdGhpcyBw YXRjaCkKPiAgIGFuZCB0d28gbGlzdHMgYXJlIGNyZWF0ZWQgb25lIGZvciBtYXBwaW5nIGJldHdl ZW4gcmV1ZXN0ZXJJZCBhbmQgc3RyZWFtaWQKCnMvcmV1ZXN0ZXJJZC9yZXF1ZXN0ZXJJRC8KClBs ZWFzZSBzdGF5IGNvbnNpc3RlbnQgaW4gdGhlIG5hbWluZyAoaW5jbHVkaW5nIHRoZSBsb3dlcmNh c2UvdXBwZXJjYXNlKS4KCkNoZWVycywKCj4gICBhbmQgYW5vdGhlciBiZXR3ZWVuIHJlcXVlc3Rl cklEIGFuZCBkZXZpY2VJRC4KPiAKPiAgIFRoZXNlIGxpc3RzIGVsaW1pbmF0ZSB0aGUgbmVlZCB0 byByZXBhcnNlIElPUlQgZm9yIHF1ZXJ5aW5nIHN0cmVhbWlkCj4gICBvciBkZXZpY2VpZCB1c2lu ZyByZXF1ZXN0ZXJpZC4KPiAKPiAgIFNpZ25lZC1vZmYtYnk6IE1hbmlzaCBKYWdnaSA8bWFuaXNo LmphZ2dpQGxpbmFyby5vcmc+Cj4gLS0tCj4gICB4ZW4vZHJpdmVycy9hY3BpL01ha2VmaWxlICAg ICB8ICAgMSArCj4gICB4ZW4vZHJpdmVycy9hY3BpL2FybS9NYWtlZmlsZSB8ICAgMSArCj4gICB4 ZW4vZHJpdmVycy9hY3BpL2FybS9yaWRtYXAuYyB8IDEyNCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKPiAgIHhlbi9pbmNsdWRlL2FjcGkvcmlkbWFwLmggICAgIHwg IDc3ICsrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICA0IGZpbGVzIGNoYW5nZWQsIDIwMyBp bnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL2FjcGkvTWFrZWZpbGUg Yi94ZW4vZHJpdmVycy9hY3BpL01ha2VmaWxlCj4gaW5kZXggNDQ0YjExZDU4My4uODBhMDc0ZTAw NyAxMDA2NDQKPiAtLS0gYS94ZW4vZHJpdmVycy9hY3BpL01ha2VmaWxlCj4gKysrIGIveGVuL2Ry aXZlcnMvYWNwaS9NYWtlZmlsZQo+IEBAIC0xLDYgKzEsNyBAQAo+ICAgc3ViZGlyLXkgKz0gdGFi bGVzCj4gICBzdWJkaXIteSArPSB1dGlsaXRpZXMKPiAgIHN1YmRpci0kKENPTkZJR19YODYpICs9 IGFwZWkKPiArc3ViZGlyLSQoQ09ORklHX0FSTSkgKz0gYXJtCj4gICAKPiAgIG9iai1iaW4teSAr PSB0YWJsZXMuaW5pdC5vCj4gICBvYmotJChDT05GSUdfTlVNQSkgKz0gbnVtYS5vCj4gZGlmZiAt LWdpdCBhL3hlbi9kcml2ZXJzL2FjcGkvYXJtL01ha2VmaWxlIGIveGVuL2RyaXZlcnMvYWNwaS9h cm0vTWFrZWZpbGUKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAuLjA0 NmZhZDVlM2QKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIveGVuL2RyaXZlcnMvYWNwaS9hcm0vTWFr ZWZpbGUKPiBAQCAtMCwwICsxIEBACj4gK29iai15ID0gcmlkbWFwLm8KPiBkaWZmIC0tZ2l0IGEv eGVuL2RyaXZlcnMvYWNwaS9hcm0vcmlkbWFwLmMgYi94ZW4vZHJpdmVycy9hY3BpL2FybS9yaWRt YXAuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMC4uMmMzYTg4NzZl YQo+IC0tLSAvZGV2L251bGwKPiArKysgYi94ZW4vZHJpdmVycy9hY3BpL2FybS9yaWRtYXAuYwo+ IEBAIC0wLDAgKzEsMTI0IEBACj4gKy8qCj4gKyAqIHhlbi9kcml2ZXJzL2FjcGkvYXJtL3JpZG1h cC5jCj4gKyAqCj4gKyAqIFB1YmxpYyBBUEkgdG8gcG9wdWxhdGUgYW5kIHF1ZXJ5IG1hcCBiZXR3 ZWVuIHJlcXVlc3RlciBpZCBhbmQKPiArICogc3RyZWFtSWQvRGV2aWNlSUQKPiArICoKPiArICog TWFuaXNoIEphZ2dpIDxtYW5pc2guamFnZ2lAbGluYXJvLm9yZz4KPiArICogQ29weXJpZ2h0IChj KSAyMDE4IExpbmFyby4KPiArICoKPiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiArICogaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK PiArICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0 aGUgTGljZW5zZSwgb3IKPiArICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K PiArICoKPiArICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiArICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiArICovCj4gKwo+ICsjaW5jbHVk ZSA8YWNwaS9yaWRtYXAuaD4KPiArI2luY2x1ZGUgPHhlbi9pb21tdS5oPgo+ICsjaW5jbHVkZSA8 eGVuL2tlcm5lbC5oPgo+ICsjaW5jbHVkZSA8eGVuL2xpc3QuaD4KPiArI2luY2x1ZGUgPHhlbi9w Y2kuaD4KPiArCj4gK3N0cnVjdCBsaXN0X2hlYWQgcmlkX3N0cmVhbWlkX21hcF9saXN0Owo+ICtz dHJ1Y3QgbGlzdF9oZWFkIHJpZF9kZXZpY2VpZF9tYXBfbGlzdDsKPiArCj4gK3ZvaWQgaW5pdF9y aWRtYXBzKHZvaWQpCj4gK3sKPiArICAgIElOSVRfTElTVF9IRUFEKCZyaWRfZGV2aWNlaWRfbWFw X2xpc3QpOwo+ICsgICAgSU5JVF9MSVNUX0hFQUQoJnJpZF9zdHJlYW1pZF9tYXBfbGlzdCk7Cj4g K30KPiArCj4gK2ludCBhZGRfcmlkX3N0cmVhbWlkX21hcChzdHJ1Y3QgYWNwaV9pb3J0X25vZGUg KnBjaXJjX25vZGUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNwaV9pb3J0 X25vZGUgKnNtbXVfbm9kZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBpbnB1dF9i YXNlLCB1MzIgb3V0cHV0X2Jhc2UsIHUzMiBpZF9jb3VudCkKPiArewo+ICsgICAgc3RydWN0IHJp ZF9zdHJlYW1pZF9tYXAgKnJpZF9tYXA7Cj4gKyAgICByaWRfbWFwID0geHphbGxvYyhzdHJ1Y3Qg cmlkX3N0cmVhbWlkX21hcCk7Cj4gKwo+ICsgICAgaWYgKCFyaWRfbWFwKQo+ICsgICAgICAgIHJl dHVybiAtRU5PTUVNOwo+ICsKPiArICAgIHJpZF9tYXAtPmlkbWFwLmlucHV0X2Jhc2UgPSBpbnB1 dF9iYXNlOwo+ICsgICAgcmlkX21hcC0+aWRtYXAub3V0cHV0X2Jhc2UgPSBvdXRwdXRfYmFzZTsK PiArICAgIHJpZF9tYXAtPmlkbWFwLmlkX2NvdW50ID0gaWRfY291bnQ7Cj4gKyAgICByaWRfbWFw LT5wY2lyY19ub2RlID0gcGNpcmNfbm9kZTsKPiArICAgIHJpZF9tYXAtPnNtbXVfbm9kZSA9IHNt bXVfbm9kZTsKPiArCj4gKyAgICBsaXN0X2FkZF90YWlsKCZyaWRfbWFwLT5lbnRyeSwgJnJpZF9z dHJlYW1pZF9tYXBfbGlzdCk7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiAraW50IGFkZF9y aWRfZGV2aWNlaWRfbWFwKHN0cnVjdCBhY3BpX2lvcnRfbm9kZSAqcGNpcmNfbm9kZSwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhY3BpX2lvcnRfbm9kZSAqaXRzX25vZGUsCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICB1MzIgaW5wdXRfYmFzZSwgdTMyIG91dHB1dF9iYXNl LCB1MzIgaWRfY291bnQpCj4gK3sKPiArICAgIHN0cnVjdCByaWRfZGV2aWNlaWRfbWFwICpyaWRf bWFwOwo+ICsgICAgcmlkX21hcCA9IHh6YWxsb2Moc3RydWN0IHJpZF9kZXZpY2VpZF9tYXApOwo+ ICsKPiArICAgIGlmICghcmlkX21hcCkKPiArICAgICAgICByZXR1cm4gLUVOT01FTTsKPiArCj4g KyAgICByaWRfbWFwLT5pZG1hcC5pbnB1dF9iYXNlID0gaW5wdXRfYmFzZTsKPiArICAgIHJpZF9t YXAtPmlkbWFwLm91dHB1dF9iYXNlID0gb3V0cHV0X2Jhc2U7Cj4gKyAgICByaWRfbWFwLT5pZG1h cC5pZF9jb3VudCA9IGlkX2NvdW50Owo+ICsgICAgcmlkX21hcC0+cGNpcmNfbm9kZSA9IHBjaXJj X25vZGU7Cj4gKyAgICByaWRfbWFwLT5pdHNfbm9kZSA9IGl0c19ub2RlOwo+ICsKPiArICAgIGxp c3RfYWRkX3RhaWwoJnJpZF9tYXAtPmVudHJ5LCAmcmlkX2RldmljZWlkX21hcF9saXN0KTsKPiAr ICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICt2b2lkIHF1ZXJ5X3N0cmVhbWlkKHN0cnVjdCBhY3Bp X2lvcnRfbm9kZSAqcGNpcmNfbm9kZSwgdTE2IHJpZCwgdTMyICpzdHJlYW1pZCwKPiArICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgYWNwaV9pb3J0X25vZGUgKipzbW11X25vZGUpCj4gK3sKPiAr ICAgIHN0cnVjdCByaWRfc3RyZWFtaWRfbWFwICpybWFwOwo+ICsKPiArICAgIGxpc3RfZm9yX2Vh Y2hfZW50cnkocm1hcCwgJnJpZF9zdHJlYW1pZF9tYXBfbGlzdCwgZW50cnkpCj4gKyAgICB7Cj4g KyAgICAgICAgaWYgKHJtYXAtPnBjaXJjX25vZGUgPT0gcGNpcmNfbm9kZSkKPiArICAgICAgICB7 Cj4gKyAgICAgICAgICAgIGlmICggKHJpZCA+PSBybWFwLT5pZG1hcC5pbnB1dF9iYXNlKSAmJgo+ ICsgICAgICAgICAgICAgICAgIChyaWQgPCBybWFwLT5pZG1hcC5pbnB1dF9iYXNlICsgcm1hcC0+ aWRtYXAuaWRfY291bnQpICkKPiArICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAgKnN0 cmVhbWlkID0gcmlkIC0gcm1hcC0+aWRtYXAuaW5wdXRfYmFzZSArCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBybWFwLT5pZG1hcC5vdXRwdXRfYmFzZTsKPiArICAgICAgICAgICAgICAg ICpzbW11X25vZGUgPSBybWFwLT5zbW11X25vZGU7Cj4gKyAgICAgICAgICAgICAgICBicmVhazsK PiArICAgICAgICAgICAgfQo+ICsgICAgICAgIH0KPiArICAgIH0KPiArCj4gK30KPiArCj4gK3Zv aWQgcXVlcnlfZGV2aWNlaWQoc3RydWN0IGFjcGlfaW9ydF9ub2RlICpwY2lyY19ub2RlLCB1MTYg cmlkLCB1MzIgKmRldmljZWlkKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgcmlkX2RldmljZWlkX21hcCAq cm1hcDsKPiArCj4gKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KHJtYXAsICZyaWRfZGV2aWNlaWRf bWFwX2xpc3QsIGVudHJ5KQo+ICsgICAgewo+ICsgICAgICAgIGlmIChybWFwLT5wY2lyY19ub2Rl ID09IHBjaXJjX25vZGUpCj4gKyAgICAgICAgewo+ICsgICAgICAgICAgICBpZiAoIChyaWQgPj0g cm1hcC0+aWRtYXAuaW5wdXRfYmFzZSkgJiYKPiArICAgICAgICAgICAgICAgICAocmlkIDwgcm1h cC0+aWRtYXAuaW5wdXRfYmFzZSArIHJtYXAtPmlkbWFwLmlkX2NvdW50KSApCj4gKyAgICAgICAg ICAgIHsKPiArICAgICAgICAgICAgICAgICpkZXZpY2VpZCA9IHJpZCAtIHJtYXAtPmlkbWFwLmlu cHV0X2Jhc2UgKwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1hcC0+aWRtYXAub3V0 cHV0X2Jhc2U7Cj4gKyAgICAgICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgfQo+ICsg ICAgICAgIH0KPiArICAgIH0KPiArfQo+ICsKPiArLyoKPiArICogTG9jYWwgdmFyaWFibGVzOgo+ ICsgKiBtb2RlOiBDCj4gKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKPiArICogYy1iYXNpYy1vZmZz ZXQ6IDQKPiArICogaW5kZW50LXRhYnMtbW9kZTogbmlsCj4gKyAqIEVuZDoKPiArICovCj4gZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FjcGkvcmlkbWFwLmggYi94ZW4vaW5jbHVkZS9hY3BpL3Jp ZG1hcC5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwLi44MDZmNDAx ZDg5Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FjcGkvcmlkbWFwLmgKPiBA QCAtMCwwICsxLDc3IEBACj4gKy8qCj4gKyAqIHhlbi9pbmNsdWRlL2FjcGkvcmlkbWFwLmgKPiAr ICoKPiArICogTWFwcGluZyBzdHJ1Y3R1cmVzIHRvIGhvbGQgbWFwIGJldHdlZW4gcmVxdWVzdGVy IGlkIGFuZCBzdHJlYW1JZC9EZXZpY2VJRAo+ICsgKiBhZnRlciBwYXJpbmcgdGhlIElPUlQgdGFi bGUuCj4gKyAqCj4gKyAqIE1hbmlzaCBKYWdnaSA8bWFuaXNoLmphZ2dpQGxpbmFyby5vcmc+Cj4g KyAqIENvcHlyaWdodCAoYykgMjAxOCBMaW5hcm8uCj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4g KyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5Cj4gKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCj4gKyAqIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ICsgKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ICsgKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Cj4gKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gKyAq Lwo+ICsKPiArI2lmbmRlZiBSSURfTUFQX0gKPiArI2RlZmluZSBSSURfTUFQX0gKPiArCj4gKyNp bmNsdWRlIDx4ZW4vYWNwaS5oPgo+ICsKPiArc3RydWN0IGlkX21hcF9zdHJ1Y3QKPiArewo+ICsg ICAgdTE2IGlucHV0X2Jhc2U7Cj4gKyAgICB1MzIgb3V0cHV0X2Jhc2U7Cj4gKyAgICB1MTYgaWRf Y291bnQ7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgcmlkX3N0cmVhbWlkX21hcAo+ICt7Cj4gKyAgICBz dHJ1Y3QgYWNwaV9pb3J0X25vZGUgKnBjaXJjX25vZGU7Cj4gKyAgICBzdHJ1Y3QgaWRfbWFwX3N0 cnVjdCBpZG1hcDsKPiArICAgIHN0cnVjdCBsaXN0X2hlYWQgZW50cnk7Cj4gKyAgICBzdHJ1Y3Qg YWNwaV9pb3J0X25vZGUgKnNtbXVfbm9kZTsKPiArfTsKPiArCj4gK3N0cnVjdCByaWRfZGV2aWNl aWRfbWFwCj4gK3sKPiArICAgIHN0cnVjdCBhY3BpX2lvcnRfbm9kZSAqcGNpcmNfbm9kZTsKPiAr ICAgIHN0cnVjdCBhY3BpX2lvcnRfbm9kZSAqaXRzX25vZGU7Cj4gKyAgICBzdHJ1Y3QgaWRfbWFw X3N0cnVjdCBpZG1hcDsKPiArICAgIHN0cnVjdCBsaXN0X2hlYWQgZW50cnk7Cj4gK307Cj4gKwo+ ICtleHRlcm4gc3RydWN0IGxpc3RfaGVhZCByaWRfc3RyZWFtaWRfbWFwX2xpc3Q7Cj4gK2V4dGVy biBzdHJ1Y3QgbGlzdF9oZWFkIHJpZF9kZXZpY2VpZF9tYXBfbGlzdDsKPiArCj4gK2ludCBhZGRf cmlkX3N0cmVhbWlkX21hcChzdHJ1Y3QgYWNwaV9pb3J0X25vZGUgKnBjaXJjX25vZGUsCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNwaV9pb3J0X25vZGUgKnNtbXVfbm9kZSwK PiArICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBpbnB1dF9iYXNlLCB1MzIgb3V0cHV0X2Jh c2UsIHUzMiBpZF9jb3VudCk7Cj4gKwo+ICtpbnQgYWRkX3JpZF9kZXZpY2VpZF9tYXAoc3RydWN0 IGFjcGlfaW9ydF9ub2RlICpwY2lyY19ub2RlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGFjcGlfaW9ydF9ub2RlICppdHNfbm9kZSwKPiArICAgICAgICAgICAgICAgICAgICAg ICAgIHUzMiBpbnB1dF9iYXNlLCB1MzIgb3V0cHV0X2Jhc2UsIHUzMiBpZF9jb3VudCk7Cj4gKwo+ ICt2b2lkIHF1ZXJ5X3N0cmVhbWlkKHN0cnVjdCBhY3BpX2lvcnRfbm9kZSAqcGNpcmNfbm9kZSwg dTE2IHJpZCwgdTMyICpzdHJlYW1pZCwKPiArICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNw aV9pb3J0X25vZGUgKipzbW11X25vZGUpOwo+ICsKPiArdm9pZCBxdWVyeV9kZXZpY2VpZChzdHJ1 Y3QgYWNwaV9pb3J0X25vZGUgKnBjaXJjX25vZGUsCj4gKyAgICAgICAgICAgICAgICAgICAgdTE2 IHJpZCwgdTMyICpkZXZpY2VpZCk7Cj4gKwo+ICt2b2lkIGluaXRfcmlkbWFwcyh2b2lkKTsKPiAr Cj4gKyNlbmRpZgo+ICsKPiArLyoKPiArICogTG9jYWwgdmFyaWFibGVzOgo+ICsgKiBtb2RlOiBD Cj4gKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKPiArICogYy1iYXNpYy1vZmZzZXQ6IDQKPiArICog aW5kZW50LXRhYnMtbW9kZTogbmlsCj4gKyAqIEVuZDoKPiArICovCj4gCgotLSAKSnVsaWVuIEdy YWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs