From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v2 09/27] ARM: GICv3: introduce separate pending_irq structs for LPIs Date: Thu, 16 Mar 2017 11:20:12 +0000 Message-ID: <20170316112030.20419-10-andre.przywara@arm.com> References: <20170316112030.20419-1-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 1coTQs-0007fn-CP for xen-devel@lists.xenproject.org; Thu, 16 Mar 2017 11:19:02 +0000 In-Reply-To: <20170316112030.20419-1-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini , Julien Grall Cc: xen-devel@lists.xenproject.org, Shanker Donthineni , Vijay Kilari List-Id: xen-devel@lists.xenproject.org Rm9yIHRoZSBzYW1lIHJlYXNvbiB0aGF0IGFsbG9jYXRpbmcgYSBzdHJ1Y3QgaXJxX2Rlc2MgZm9y IGVhY2gKcG9zc2libGUgTFBJIGlzIG5vdCBhbiBvcHRpb24sIGhhdmluZyBhIHN0cnVjdCBwZW5k aW5nX2lycSBmb3IgZWFjaCBMUEkKaXMgYWxzbyBub3QgZmVhc2libGUuIEhvd2V2ZXIgd2UgYWN0 dWFsbHkgb25seSBuZWVkIHRob3NlIHdoZW4gYW4KaW50ZXJydXB0IGlzIG9uIGEgdkNQVSAob3Ig aXMgYWJvdXQgdG8gYmUgaW5qZWN0ZWQpLgpNYWludGFpbiBhIGxpc3Qgb2YgdGhvc2Ugc3RydWN0 cyB0aGF0IHdlIGNhbiB1c2UgZm9yIHRoZSBsaWZlY3ljbGUgb2YKYSBndWVzdCBMUEkuIFdlIGFs bG9jYXRlIG5ldyBlbnRyaWVzIGlmIG5lY2Vzc2FyeSwgaG93ZXZlciByZXVzZQpwcmUtb3duZWQg ZW50cmllcyB3aGVuZXZlciBwb3NzaWJsZS4KSSBhZGRlZCBzb21lIGxvY2tpbmcgYXJvdW5kIHRo aXMgbGlzdCBoZXJlLCBob3dldmVyIG15IGd1dCBmZWVsaW5nIGlzCnRoYXQgd2UgZG9uJ3QgbmVl ZCBvbmUgYmVjYXVzZSB0aGlzIGEgcGVyLVZDUFUgc3RydWN0dXJlIGFueXdheS4KSWYgc29tZW9u ZSBjb3VsZCBjb25maXJtIHRoaXMsIEknZCBiZSBncmF0ZWZ1bC4KVGVhY2ggdGhlIGV4aXN0aW5n IFZHSUMgZnVuY3Rpb25zIHRvIGZpbmQgdGhlIHJpZ2h0IHBvaW50ZXIgd2hlbiBiZWluZwpnaXZl biBhIHZpcnR1YWwgTFBJIG51bWJlci4KClNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJhIDxh bmRyZS5wcnp5d2FyYUBhcm0uY29tPgotLS0KIHhlbi9hcmNoL2FybS9naWMuYyAgICAgICAgICAg fCAgMyArKysKIHhlbi9hcmNoL2FybS92Z2ljLXYzLmMgICAgICAgfCAgMyArKysKIHhlbi9hcmNo L2FybS92Z2ljLmMgICAgICAgICAgfCA2NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLQogeGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaCB8ICAyICsrCiB4ZW4v aW5jbHVkZS9hc20tYXJtL3ZnaWMuaCAgIHwgMTQgKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCA4MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L2FybS9naWMuYyBiL3hlbi9hcmNoL2FybS9naWMuYwppbmRleCBhNTM0OGYyLi5iZDNjMDMyIDEw MDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLmMKKysrIGIveGVuL2FyY2gvYXJtL2dpYy5jCkBA IC01MDksNiArNTA5LDkgQEAgc3RhdGljIHZvaWQgZ2ljX3VwZGF0ZV9vbmVfbHIoc3RydWN0IHZj cHUgKnYsIGludCBpKQogICAgICAgICAgICAgICAgIHN0cnVjdCB2Y3B1ICp2X3RhcmdldCA9IHZn aWNfZ2V0X3RhcmdldF92Y3B1KHYsIGlycSk7CiAgICAgICAgICAgICAgICAgaXJxX3NldF9hZmZp bml0eShwLT5kZXNjLCBjcHVtYXNrX29mKHZfdGFyZ2V0LT5wcm9jZXNzb3IpKTsKICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgIC8qIElmIHRoaXMgd2FzIGFuIExQSSwgbWFyayB0aGlzIHN0cnVj dCBhcyBhdmFpbGFibGUgYWdhaW4uICovCisgICAgICAgICAgICBpZiAoIGlzX2xwaShwLT5pcnEp ICkKKyAgICAgICAgICAgICAgICBwLT5pcnEgPSAwOwogICAgICAgICB9CiAgICAgfQogfQpkaWZm IC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMtdjMuYyBiL3hlbi9hcmNoL2FybS92Z2ljLXYzLmMK aW5kZXggMWZhZGIwMC4uYjA2NTNjMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3ZnaWMtdjMu YworKysgYi94ZW4vYXJjaC9hcm0vdmdpYy12My5jCkBAIC0xNDI2LDYgKzE0MjYsOSBAQCBzdGF0 aWMgaW50IHZnaWNfdjNfdmNwdV9pbml0KHN0cnVjdCB2Y3B1ICp2KQogICAgIGlmICggdi0+dmNw dV9pZCA9PSBsYXN0X2NwdSB8fCAodi0+dmNwdV9pZCA9PSAoZC0+bWF4X3ZjcHVzIC0gMSkpICkK ICAgICAgICAgdi0+YXJjaC52Z2ljLmZsYWdzIHw9IFZHSUNfVjNfUkRJU1RfTEFTVDsKIAorICAg IHNwaW5fbG9ja19pbml0KCZ2LT5hcmNoLnZnaWMucGVuZGluZ19scGlfbGlzdF9sb2NrKTsKKyAg ICBJTklUX0xJU1RfSEVBRCgmdi0+YXJjaC52Z2ljLnBlbmRpbmdfbHBpX2xpc3QpOworCiAgICAg cmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljLmMgYi94ZW4vYXJj aC9hcm0vdmdpYy5jCmluZGV4IDM2NGQ1ZjAuLmU1Y2ZhNTQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L2FybS92Z2ljLmMKKysrIGIveGVuL2FyY2gvYXJtL3ZnaWMuYwpAQCAtMzAsNiArMzAsOCBAQAog CiAjaW5jbHVkZSA8YXNtL21taW8uaD4KICNpbmNsdWRlIDxhc20vZ2ljLmg+CisjaW5jbHVkZSA8 YXNtL2dpY192M19kZWZzLmg+CisjaW5jbHVkZSA8YXNtL2dpY192M19pdHMuaD4KICNpbmNsdWRl IDxhc20vdmdpYy5oPgogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCB2Z2ljX2lycV9yYW5rICp2Z2lj X2dldF9yYW5rKHN0cnVjdCB2Y3B1ICp2LCBpbnQgcmFuaykKQEAgLTYxLDcgKzYzLDcgQEAgc3Ry dWN0IHZnaWNfaXJxX3JhbmsgKnZnaWNfcmFua19pcnEoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVk IGludCBpcnEpCiAgICAgcmV0dXJuIHZnaWNfZ2V0X3JhbmsodiwgcmFuayk7CiB9CiAKLXN0YXRp YyB2b2lkIHZnaWNfaW5pdF9wZW5kaW5nX2lycShzdHJ1Y3QgcGVuZGluZ19pcnEgKnAsIHVuc2ln bmVkIGludCB2aXJxKQordm9pZCB2Z2ljX2luaXRfcGVuZGluZ19pcnEoc3RydWN0IHBlbmRpbmdf aXJxICpwLCB1bnNpZ25lZCBpbnQgdmlycSkKIHsKICAgICBJTklUX0xJU1RfSEVBRCgmcC0+aW5m bGlnaHQpOwogICAgIElOSVRfTElTVF9IRUFEKCZwLT5scl9xdWV1ZSk7CkBAIC0yNDQsMTAgKzI0 NiwxNCBAQCBzdHJ1Y3QgdmNwdSAqdmdpY19nZXRfdGFyZ2V0X3ZjcHUoc3RydWN0IHZjcHUgKnYs IHVuc2lnbmVkIGludCB2aXJxKQogCiBzdGF0aWMgaW50IHZnaWNfZ2V0X3ZpcnFfcHJpb3JpdHko c3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB2aXJxKQogewotICAgIHN0cnVjdCB2Z2ljX2ly cV9yYW5rICpyYW5rID0gdmdpY19yYW5rX2lycSh2LCB2aXJxKTsKKyAgICBzdHJ1Y3QgdmdpY19p cnFfcmFuayAqcmFuazsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIGludCBwcmlvcml0 eTsKIAorICAgIGlmICggaXNfbHBpKHZpcnEpICkKKyAgICAgICAgcmV0dXJuIHZnaWNfbHBpX2dl dF9wcmlvcml0eSh2LT5kb21haW4sIHZpcnEpOworCisgICAgcmFuayA9IHZnaWNfcmFua19pcnEo diwgdmlycSk7CiAgICAgdmdpY19sb2NrX3JhbmsodiwgcmFuaywgZmxhZ3MpOwogICAgIHByaW9y aXR5ID0gcmFuay0+cHJpb3JpdHlbdmlycSAmIElOVEVSUlVQVF9SQU5LX01BU0tdOwogICAgIHZn aWNfdW5sb2NrX3JhbmsodiwgcmFuaywgZmxhZ3MpOwpAQCAtNDQ2LDEzICs0NTIsNjMgQEAgYm9v bCB2Z2ljX3RvX3NnaShzdHJ1Y3QgdmNwdSAqdiwgcmVnaXN0ZXJfdCBzZ2lyLCBlbnVtIGdpY19z Z2lfbW9kZSBpcnFtb2RlLAogICAgIHJldHVybiB0cnVlOwogfQogCisvKgorICogSG9sZGluZyBz dHJ1Y3QgcGVuZGluZ19pcnEncyBmb3IgZWFjaCBwb3NzaWJsZSB2aXJ0dWFsIExQSSBpbiBlYWNo IGRvbWFpbgorICogcmVxdWlyZXMgdG9vIG11Y2ggWGVuIG1lbW9yeSwgYWxzbyBhIG1hbGljaW91 cyBndWVzdCBjb3VsZCBwb3RlbnRpYWxseQorICogc3BhbSBYZW4gd2l0aCBMUEkgbWFwIHJlcXVl c3RzLiBXZSBjYW5ub3QgY292ZXIgdGhvc2Ugd2l0aCAoZ3Vlc3QgYWxsb2NhdGVkKQorICogSVRT IG1lbW9yeSwgc28gd2UgdXNlIGEgZHluYW1pYyBzY2hlbWUgb2YgYWxsb2NhdGluZyBzdHJ1Y3Qg cGVuZGluZ19pcnEncworICogb24gZGVtYW5kLgorICovCitzdHJ1Y3QgcGVuZGluZ19pcnEgKmxw aV90b19wZW5kaW5nKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgbHBpLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGFsbG9jYXRlKQoreworICAgIHN0cnVjdCBs cGlfcGVuZGluZ19pcnEgKmxwaV9pcnEsICplbXB0eSA9IE5VTEw7CisKKyAgICBzcGluX2xvY2so JnYtPmFyY2gudmdpYy5wZW5kaW5nX2xwaV9saXN0X2xvY2spOworICAgIGxpc3RfZm9yX2VhY2hf ZW50cnkobHBpX2lycSwgJnYtPmFyY2gudmdpYy5wZW5kaW5nX2xwaV9saXN0LCBlbnRyeSkKKyAg ICB7CisgICAgICAgIGlmICggbHBpX2lycS0+cGlycS5pcnEgPT0gbHBpICkKKyAgICAgICAgewor ICAgICAgICAgICAgc3Bpbl91bmxvY2soJnYtPmFyY2gudmdpYy5wZW5kaW5nX2xwaV9saXN0X2xv Y2spOworICAgICAgICAgICAgcmV0dXJuICZscGlfaXJxLT5waXJxOworICAgICAgICB9CisKKyAg ICAgICAgaWYgKCBscGlfaXJxLT5waXJxLmlycSA9PSAwICYmICFlbXB0eSApCisgICAgICAgICAg ICBlbXB0eSA9IGxwaV9pcnE7CisgICAgfQorCisgICAgaWYgKCAhYWxsb2NhdGUgKQorICAgIHsK KyAgICAgICAgc3Bpbl91bmxvY2soJnYtPmFyY2gudmdpYy5wZW5kaW5nX2xwaV9saXN0X2xvY2sp OworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoICFlbXB0eSApCisgICAg eworICAgICAgICBlbXB0eSA9IHh6YWxsb2Moc3RydWN0IGxwaV9wZW5kaW5nX2lycSk7CisgICAg ICAgIHZnaWNfaW5pdF9wZW5kaW5nX2lycSgmZW1wdHktPnBpcnEsIGxwaSk7CisgICAgICAgIGxp c3RfYWRkX3RhaWwoJmVtcHR5LT5lbnRyeSwgJnYtPmFyY2gudmdpYy5wZW5kaW5nX2xwaV9saXN0 KTsKKyAgICB9IGVsc2UKKyAgICB7CisgICAgICAgIGVtcHR5LT5waXJxLnN0YXR1cyA9IDA7Cisg ICAgICAgIGVtcHR5LT5waXJxLmlycSA9IGxwaTsKKyAgICB9CisKKyAgICBzcGluX3VubG9jaygm di0+YXJjaC52Z2ljLnBlbmRpbmdfbHBpX2xpc3RfbG9jayk7CisKKyAgICByZXR1cm4gJmVtcHR5 LT5waXJxOworfQorCiBzdHJ1Y3QgcGVuZGluZ19pcnEgKmlycV90b19wZW5kaW5nKHN0cnVjdCB2 Y3B1ICp2LCB1bnNpZ25lZCBpbnQgaXJxKQogewogICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqbjsK KwogICAgIC8qIFBlbmRpbmcgaXJxcyBhbGxvY2F0aW9uIHN0cmF0ZWd5OiB0aGUgZmlyc3Qgdmdp Yy5ucl9zcGlzIGlycXMKICAgICAgKiBhcmUgdXNlZCBmb3IgU1BJczsgdGhlIHJlc3RzIGFyZSB1 c2VkIGZvciBwZXIgY3B1IGlycXMgKi8KICAgICBpZiAoIGlycSA8IDMyICkKICAgICAgICAgbiA9 ICZ2LT5hcmNoLnZnaWMucGVuZGluZ19pcnFzW2lycV07CisgICAgZWxzZSBpZiAoIGlzX2xwaShp cnEpICkKKyAgICAgICAgbiA9IGxwaV90b19wZW5kaW5nKHYsIGlycSwgdHJ1ZSk7CiAgICAgZWxz ZQogICAgICAgICBuID0gJnYtPmRvbWFpbi0+YXJjaC52Z2ljLnBlbmRpbmdfaXJxc1tpcnEgLSAz Ml07CiAgICAgcmV0dXJuIG47CkBAIC00ODAsNyArNTM2LDcgQEAgdm9pZCB2Z2ljX2NsZWFyX3Bl bmRpbmdfaXJxcyhzdHJ1Y3QgdmNwdSAqdikKIHZvaWQgdmdpY192Y3B1X2luamVjdF9pcnEoc3Ry dWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB2aXJxKQogewogICAgIHVpbnQ4X3QgcHJpb3JpdHk7 Ci0gICAgc3RydWN0IHBlbmRpbmdfaXJxICppdGVyLCAqbiA9IGlycV90b19wZW5kaW5nKHYsIHZp cnEpOworICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqaXRlciwgKm47CiAgICAgdW5zaWduZWQgbG9u ZyBmbGFnczsKICAgICBib29sIHJ1bm5pbmc7CiAKQEAgLTQ4OCw2ICs1NDQsOCBAQCB2b2lkIHZn aWNfdmNwdV9pbmplY3RfaXJxKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgdmlycSkKIAog ICAgIHNwaW5fbG9ja19pcnFzYXZlKCZ2LT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOwogCisgICAg biA9IGlycV90b19wZW5kaW5nKHYsIHZpcnEpOworCiAgICAgLyogdmNwdSBvZmZsaW5lICovCiAg ICAgaWYgKCB0ZXN0X2JpdChfVlBGX2Rvd24sICZ2LT5wYXVzZV9mbGFncykgKQogICAgIHsKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20t YXJtL2RvbWFpbi5oCmluZGV4IDAwYjljMWEuLmY0NGE4NGIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL2FzbS1hcm0vZG9tYWluLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaApA QCAtMjU3LDYgKzI1Nyw4IEBAIHN0cnVjdCBhcmNoX3ZjcHUKICAgICAgICAgcGFkZHJfdCByZGlz dF9iYXNlOwogI2RlZmluZSBWR0lDX1YzX1JESVNUX0xBU1QgICgxIDw8IDApICAgICAgICAvKiBs YXN0IHZDUFUgb2YgdGhlIHJkaXN0ICovCiAgICAgICAgIHVpbnQ4X3QgZmxhZ3M7CisgICAgICAg IHN0cnVjdCBsaXN0X2hlYWQgcGVuZGluZ19scGlfbGlzdDsKKyAgICAgICAgc3BpbmxvY2tfdCBw ZW5kaW5nX2xwaV9saXN0X2xvY2s7ICAgLyogcHJvdGVjdHMgdGhlIHBlbmRpbmdfbHBpX2xpc3Qg Ki8KICAgICB9IHZnaWM7CiAKICAgICAvKiBUaW1lciByZWdpc3RlcnMgICovCmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5o CmluZGV4IDQ2NzMzM2MuLjhmMTA5OWMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0v dmdpYy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5oCkBAIC04Myw2ICs4MywxMiBA QCBzdHJ1Y3QgcGVuZGluZ19pcnEKICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxyX3F1ZXVlOwogfTsK IAorc3RydWN0IGxwaV9wZW5kaW5nX2lycQoreworICAgIHN0cnVjdCBsaXN0X2hlYWQgZW50cnk7 CisgICAgc3RydWN0IHBlbmRpbmdfaXJxIHBpcnE7Cit9OworCiAjZGVmaW5lIE5SX0lOVEVSUlVQ VF9QRVJfUkFOSyAgIDMyCiAjZGVmaW5lIElOVEVSUlVQVF9SQU5LX01BU0sgKE5SX0lOVEVSUlVQ VF9QRVJfUkFOSyAtIDEpCiAKQEAgLTI5NiwxMyArMzAyLDIxIEBAIGV4dGVybiBzdHJ1Y3QgdmNw dSAqdmdpY19nZXRfdGFyZ2V0X3ZjcHUoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB2aXJx KTsKIGV4dGVybiB2b2lkIHZnaWNfdmNwdV9pbmplY3RfaXJxKHN0cnVjdCB2Y3B1ICp2LCB1bnNp Z25lZCBpbnQgdmlycSk7CiBleHRlcm4gdm9pZCB2Z2ljX3ZjcHVfaW5qZWN0X3NwaShzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmlycSk7CiBleHRlcm4gdm9pZCB2Z2ljX2NsZWFyX3Bl bmRpbmdfaXJxcyhzdHJ1Y3QgdmNwdSAqdik7CitleHRlcm4gdm9pZCB2Z2ljX2luaXRfcGVuZGlu Z19pcnEoc3RydWN0IHBlbmRpbmdfaXJxICpwLCB1bnNpZ25lZCBpbnQgdmlycSk7CiBleHRlcm4g c3RydWN0IHBlbmRpbmdfaXJxICppcnFfdG9fcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWdu ZWQgaW50IGlycSk7CiBleHRlcm4gc3RydWN0IHBlbmRpbmdfaXJxICpzcGlfdG9fcGVuZGluZyhz dHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaXJxKTsKK2V4dGVybiBzdHJ1Y3QgcGVuZGlu Z19pcnEgKmxwaV90b19wZW5kaW5nKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgaXJxLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBhbGxvY2F0ZSk7 CiBleHRlcm4gc3RydWN0IHZnaWNfaXJxX3JhbmsgKnZnaWNfcmFua19vZmZzZXQoc3RydWN0IHZj cHUgKnYsIGludCBiLCBpbnQgbiwgaW50IHMpOwogZXh0ZXJuIHN0cnVjdCB2Z2ljX2lycV9yYW5r ICp2Z2ljX3JhbmtfaXJxKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgaXJxKTsKIGV4dGVy biBib29sIHZnaWNfZW11bGF0ZShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgdW5pb24gaHNy IGhzcik7CiBleHRlcm4gdm9pZCB2Z2ljX2Rpc2FibGVfaXJxcyhzdHJ1Y3QgdmNwdSAqdiwgdWlu dDMyX3QgciwgaW50IG4pOwogZXh0ZXJuIHZvaWQgdmdpY19lbmFibGVfaXJxcyhzdHJ1Y3QgdmNw dSAqdiwgdWludDMyX3QgciwgaW50IG4pOworLyogcGxhY2Vob2xkZXIgZnVuY3Rpb24gdW50aWwg dGhlIHByb3BlcnR5IHRhYmxlIGdldHMgaW50cm9kdWNlZCAqLworc3RhdGljIGlubGluZSBpbnQg dmdpY19scGlfZ2V0X3ByaW9yaXR5KHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IHZscGkpCit7 CisgICAgcmV0dXJuIDB4YTsKK30KIGV4dGVybiB2b2lkIHJlZ2lzdGVyX3ZnaWNfb3BzKHN0cnVj dCBkb21haW4gKmQsIGNvbnN0IHN0cnVjdCB2Z2ljX29wcyAqb3BzKTsKIGludCB2Z2ljX3YyX2lu aXQoc3RydWN0IGRvbWFpbiAqZCwgaW50ICptbWlvX2NvdW50KTsKIGludCB2Z2ljX3YzX2luaXQo c3RydWN0IGRvbWFpbiAqZCwgaW50ICptbWlvX2NvdW50KTsKLS0gCjIuOS4wCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==