From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EBFFAC43141 for ; Fri, 15 Nov 2019 20:11:18 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BD01F206D9 for ; Fri, 15 Nov 2019 20:11:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BD01F206D9 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=dornerworks.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iVhvw-0006zA-KR; Fri, 15 Nov 2019 20:11:08 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iVhvv-0006yc-0h for xen-devel@lists.xenproject.org; Fri, 15 Nov 2019 20:11:07 +0000 X-Inumbo-ID: 04d86d92-07e4-11ea-b678-bc764e2007e4 Received: from webmail.dornerworks.com (unknown [12.207.209.150]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id 04d86d92-07e4-11ea-b678-bc764e2007e4; Fri, 15 Nov 2019 20:10:51 +0000 (UTC) From: Stewart Hildebrand To: Date: Fri, 15 Nov 2019 15:10:35 -0500 Message-ID: <20191115201037.44982-5-stewart.hildebrand@dornerworks.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191115200115.44890-1-stewart.hildebrand@dornerworks.com> References: <20191115200115.44890-1-stewart.hildebrand@dornerworks.com> MIME-Version: 1.0 X-Originating-IP: [172.27.14.58] X-ClientProxiedBy: Mcbain.dw.local (172.27.1.45) To Mcbain.dw.local (172.27.1.45) Subject: [Xen-devel] [XEN PATCH v3 09/11] xen: arm: gic: supporting routing a PPI to the current vcpu. X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Volodymyr Babchuk , Stefano Stabellini , Julien Grall , Ian Campbell Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RnJvbTogSWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KClRoYXQgaXMgd2hp Y2hldmVyIHZjcHUgaXMgcmVzaWRlbnQgd2hlbiB0aGUgaW50ZXJydXB0IGZpcmVzLiBBbgppbnRl cnJ1cHQgaXMgaW4gdGhpcyBzdGF0ZSB3aGVuIGJvdGggSVJRX0dVRVNUIGFuZCBJUlFfUEVSX0NQ VSBhcmUgc2V0CmluIHRoZSBkZXNjcmlwdG9yIHN0YXR1cy4gT25seSBQUElzIGNhbiBiZSBpbiB0 aGlzIG1vZGUuCgpUaGlzIHJlcXVpcmVzIHNvbWUgcGVyaXBoZXJhbCBzcGVjaWZpYyBjb2RlIHRv IG1ha2UgdXNlIG9mIHRoZQpwcmV2aW91c2x5IGludHJvZHVjZWQgZnVuY3Rpb25hbGl0eSB0byBz YXZlIGFuZCByZXN0b3JlIHRoZSBQUEkgc3RhdGUuClRoZSB2dGltZXIgZHJpdmVyIHdpbGwgZG8g c28gc2hvcnRseS4KClNpZ25lZC1vZmYtYnk6IElhbiBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNp dHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IFN0ZXdhcnQgSGlsZGVicmFuZCA8c3Rld2FydC5oaWxk ZWJyYW5kQGRvcm5lcndvcmtzLmNvbT4KCi0tLQp2MzoKICAqIENoYW5nZSBjYWxscyB0byBnaWNf c2V0X2lycV9wcm9wZXJ0aWVzKCkgdG8gZ2ljX3NldF9pcnFfdHlwZSgpIGFuZAogICAgZ2ljX3Nl dF9pcnFfcHJpb3JpdHkoKSBkdWUgdG8gZm9sbG93aW5nIGNvbW1pdHM6CiAgICAxNjU4MGNkZTVh IHhlbi9hcm06IGdpYzogRG8gbm90IGNvbmZpZ3VyZSBhZmZpbml0eSBkdXJpbmcgcm91dGluZwog ICAgMjNlODExOGI4ZSB4ZW4vYXJtOiBnaWM6IHNwbGl0IHNldF9pcnFfcHJvcGVydGllcwogICog UGFydGlhbGx5IGFkZHJlc3MgZmVlZGJhY2sgZnJvbSB2MiBbMV06CiAgKiBDbGFyaWZ5IGEgY29t bWVudC4KICAqIFN3aXRjaCBsb2dsZXZlbCBiYWNrIHRvIFhFTkxPR19HX0VSUiBhbmQgYnVtcCBh IHBhcmFtZXRlciB0byB0aGUKICAgIG5leHQgbGluZSB0byBjb21wbHkgd2l0aCBsaW5lIGxlbmd0 aCBjb2Rpbmcgc3R5bGUuCiAgKiBDYWxsIHZnaWNfZ2V0X2h3X2lycV9kZXNjIGZyb20gZ2ljX3Nh dmVfYW5kX21hc2tfaHdwcGkKICAqIENhbGwgdmdpY19jb25uZWN0X2h3X2lycSBmcm9tIGdpY19y ZXN0b3JlX2h3cHBpCgotLS0KTm90ZTogSSBoYXZlIG5vdCB5ZXQgYWRkcmVzc2VkIGZlZWRiYWNr IGZyb20gWzFdIHJlZ2FyZGluZwpkaWZmZXJlbnRpYXRpbmcgYmV0d2VlbiBDUFUwL0NQVTEgaW4g dGhlIGVycm9yIG1lc3NhZ2UuCgpJIGFsc28gaGF2ZSBub3QgeWV0IGdpdmVuIG11Y2ggdGhvdWdo dCB0byBKdWxpZW4ncyBjb21tZW50IGluIFsxXSAiV2h5CmRvIHlvdSBzZXQgdGhlIHBhcmFtZXRl ciB2aXJxIHRvIGlycT8iCgpJIGhvcGUgdG8gaW52ZXN0aWdhdGUgZnVydGhlciBpZiB0aW1lIGFs bG93cywgYnV0IGlmIGFueW9uZSBoYXMgYW55CmlucHV0IEknZCBsaWtlIHRvIGhlYXIgaXQuCgpb MV0gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8y MDE1LTExL21zZzAxMDY0Lmh0bWwKLS0tCiB4ZW4vYXJjaC9hcm0vZ2ljLmMgICAgICAgIHwgMzMg KysrKysrKysrKysrKystLQogeGVuL2FyY2gvYXJtL2lycS5jICAgICAgICB8IDgwICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogeGVuL2luY2x1ZGUvYXNtLWFybS9naWMu aCB8ICAyICsKIHhlbi9pbmNsdWRlL2FzbS1hcm0vaXJxLmggfCAgMSArCiA0IGZpbGVzIGNoYW5n ZWQsIDEwNCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v YXJjaC9hcm0vZ2ljLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLmMKaW5kZXggNzU5MjE3MjRkZC4uOTgy YWZhYWRiZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2dpYy5jCisrKyBiL3hlbi9hcmNoL2Fy bS9naWMuYwpAQCAtOTIsOCArOTIsNyBAQCB2b2lkIGdpY19zYXZlX3N0YXRlKHN0cnVjdCB2Y3B1 ICp2KQogdm9pZCBnaWNfc2F2ZV9hbmRfbWFza19od3BwaShzdHJ1Y3QgdmNwdSAqdiwgY29uc3Qg dW5zaWduZWQgdmlycSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGh3cHBp X3N0YXRlICpzKQogewotICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqcCA9IGlycV90b19wZW5kaW5n KHYsIHZpcnEpOwotICAgIHN0cnVjdCBpcnFfZGVzYyAqZGVzYyA9IHAtPmRlc2M7CisgICAgc3Ry dWN0IGlycV9kZXNjICpkZXNjID0gdmdpY19nZXRfaHdfaXJxX2Rlc2MoTlVMTCwgdiwgdmlycSk7 CiAKICAgICBzcGluX2xvY2soJmRlc2MtPmxvY2spOwogCkBAIC0xMjMsNyArMTIyLDYgQEAgdm9p ZCBnaWNfcmVzdG9yZV9od3BwaShzdHJ1Y3QgdmNwdSAqdiwKICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgdW5zaWduZWQgdmlycSwKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry dWN0IGh3cHBpX3N0YXRlICpzKQogewotICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqcCA9IGlycV90 b19wZW5kaW5nKHYsIHZpcnEpOwogICAgIHN0cnVjdCBpcnFfZGVzYyAqZGVzYyA9IGlycV90b19k ZXNjKHMtPmlycSk7CiAKICAgICBzcGluX2xvY2soJmRlc2MtPmxvY2spOwpAQCAtMTMxLDcgKzEy OSw4IEBAIHZvaWQgZ2ljX3Jlc3RvcmVfaHdwcGkoc3RydWN0IHZjcHUgKnYsCiAgICAgQVNTRVJU KHZpcnEgPj0gMTYgJiYgdmlycSA8IDMyKTsKICAgICBBU1NFUlQoIWlzX2lkbGVfdmNwdSh2KSk7 CiAKLSAgICBwLT5kZXNjID0gZGVzYzsgLyogTWlncmF0ZSB0byBuZXcgcGh5c2ljYWwgcHJvY2Vz c29yICovCisgICAgLyogTWlncmF0ZSB0byBuZXcgcGh5c2ljYWwgcHJvY2Vzc29yICovCisgICAg dmdpY19jb25uZWN0X2h3X2lycSh2LT5kb21haW4sIHYsIHZpcnEsIGRlc2MsIHRydWUpOwogCiAg ICAgaXJxX3NldF92aXJxKGRlc2MsIHZpcnEpOwogCkBAIC0xNzgsNiArMTc3LDMyIEBAIHZvaWQg Z2ljX3JvdXRlX2lycV90b194ZW4oc3RydWN0IGlycV9kZXNjICpkZXNjLCB1bnNpZ25lZCBpbnQg cHJpb3JpdHkpCiAgICAgZ2ljX3NldF9pcnFfcHJpb3JpdHkoZGVzYywgcHJpb3JpdHkpOwogfQog CisvKgorICogUHJvZ3JhbSB0aGUgR0lDIHRvIHJvdXRlIGFuIGludGVycnVwdCB0byB0aGUgY3Vy cmVudCBndWVzdC4KKyAqCisgKiBUaGF0IGlzLCB0aGUgSVJRIGlzIGRlbGl2ZXJlZCB0byB3aGlj aGV2ZXIgVkNQVSBoYXBwZW5zIHRvIGJlCisgKiByZXNpZGVudCBvbiB0aGUgUENQVSB3aGVuIHRo ZSBpbnRlcnJ1cHQgYXJyaXZlcy4KKyAqCisgKiBDdXJyZW50bHkgdGhlIGludGVycnVwdCAqbXVz dCogYmUgYSBQUEkgYW5kIHRoZSBjb2RlIHJlc3BvbnNpYmxlCisgKiBmb3IgdGhlIHJlbGF0ZWQg aGFyZHdhcmUgbXVzdCBzYXZlIGFuZCByZXN0b3JlIHRoZSBQUEkgd2l0aAorICogZ2ljX3NhdmVf YW5kX21hc2tfaHdwcGkvZ2ljX3Jlc3RvcmVfaHdwcGkuCisgKi8KK2ludCBnaWNfcm91dGVfaXJx X3RvX2N1cnJlbnRfZ3Vlc3Qoc3RydWN0IGlycV9kZXNjICpkZXNjLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcHJpb3JpdHkpCit7CisgICAgQVNTRVJU KHNwaW5faXNfbG9ja2VkKCZkZXNjLT5sb2NrKSk7CisgICAgQVNTRVJUKGRlc2MtPmlycSA+PSAx NiAmJiBkZXNjLT5pcnEgPCAzMik7CisKKyAgICBkZXNjLT5oYW5kbGVyID0gZ2ljX2h3X29wcy0+ Z2ljX2d1ZXN0X2lycV90eXBlOworICAgIHNldF9iaXQoX0lSUV9HVUVTVCwgJmRlc2MtPnN0YXR1 cyk7CisgICAgc2V0X2JpdChfSVJRX1BFUl9DUFUsICZkZXNjLT5zdGF0dXMpOworCisgICAgZ2lj X3NldF9pcnFfdHlwZShkZXNjLCBkZXNjLT5hcmNoLnR5cGUpOworICAgIGdpY19zZXRfaXJxX3By aW9yaXR5KGRlc2MsIEdJQ19QUklfSVJRKTsKKworICAgIHJldHVybiAwOworfQorCiAvKiBQcm9n cmFtIHRoZSBHSUMgdG8gcm91dGUgYW4gaW50ZXJydXB0IHRvIGEgZ3Vlc3QKICAqICAgLSBkZXNj LmxvY2sgbXVzdCBiZSBoZWxkCiAgKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pcnEuYyBi L3hlbi9hcmNoL2FybS9pcnEuYwppbmRleCAxYThlNTk5YzJlLi4xN2RlYzY0MjAzIDEwMDY0NAot LS0gYS94ZW4vYXJjaC9hcm0vaXJxLmMKKysrIGIveGVuL2FyY2gvYXJtL2lycS5jCkBAIC0yMzYs NiArMjM2LDcgQEAgdm9pZCBkb19JUlEoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuc2ln bmVkIGludCBpcnEsIGludCBpc19maXEpCiAgICAgaWYgKCB0ZXN0X2JpdChfSVJRX0dVRVNULCAm ZGVzYy0+c3RhdHVzKSApCiAgICAgewogICAgICAgICBzdHJ1Y3QgaXJxX2d1ZXN0ICppbmZvID0g aXJxX2dldF9ndWVzdF9pbmZvKGRlc2MpOworICAgICAgICBzdHJ1Y3QgdmNwdSAqdjsKIAogICAg ICAgICBwZXJmY19pbmNyKGd1ZXN0X2lycXMpOwogICAgICAgICBkZXNjLT5oYW5kbGVyLT5lbmQo ZGVzYyk7CkBAIC0yNDMsMTAgKzI0NCwxNSBAQCB2b2lkIGRvX0lSUShzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVncywgdW5zaWduZWQgaW50IGlycSwgaW50IGlzX2ZpcSkKICAgICAgICAgc2V0X2Jp dChfSVJRX0lOUFJPR1JFU1MsICZkZXNjLT5zdGF0dXMpOwogCiAgICAgICAgIC8qCi0gICAgICAg ICAqIFRoZSBpcnEgY2Fubm90IGJlIGEgUFBJLCB3ZSBvbmx5IHN1cHBvcnQgZGVsaXZlcnkgb2Yg U1BJcyB0bwotICAgICAgICAgKiBndWVzdHMuCisgICAgICAgICAqIEEgUFBJIGV4cG9zZWQgdG8g YSBndWVzdCBtdXN0IGFsd2F5cyBiZSBpbiBJUlFfR1VFU1R8SVJRX1BFUl9DUFUKKyAgICAgICAg ICogbW9kZSAoInJvdXRlIHRvIGFjdGl2ZSBWQ1BVIiksIHNvIHdlIHVzZSBjdXJyZW50LgorICAg ICAgICAgKgorICAgICAgICAgKiBGb3IgU1BJLCB3ZSB1c2UgTlVMTC4gSW4gdGhpcyBjYXNlLCB2 Z2ljX2luamVjdF9pcnEoKSB3aWxsIGxvb2sgdXAKKyAgICAgICAgICogdGhlIHJlcXVpcmVkIHRh cmdldCBmb3IgZGVsaXZlcnkgdG8gYSBzcGVjaWZpYyBndWVzdC4KICAgICAgICAgICovCi0gICAg ICAgIHZnaWNfaW5qZWN0X2lycShpbmZvLT5kLCBOVUxMLCBpbmZvLT52aXJxLCB0cnVlKTsKKyAg ICAgICAgdiA9IHRlc3RfYml0KF9JUlFfUEVSX0NQVSwgJmRlc2MtPnN0YXR1cykgPyBjdXJyZW50 IDogTlVMTDsKKyAgICAgICAgdmdpY19pbmplY3RfaXJxKGluZm8tPmQsIHYsIGluZm8tPnZpcnEs IHRydWUpOworCiAgICAgICAgIGdvdG8gb3V0X25vX2VuZDsKICAgICB9CiAKQEAgLTM2MiwxMSAr MzY4LDE1IEBAIGludCBzZXR1cF9pcnEodW5zaWduZWQgaW50IGlycSwgdW5zaWduZWQgaW50IGly cWZsYWdzLCBzdHJ1Y3QgaXJxYWN0aW9uICpuZXcpCiAKICAgICBpZiAoIHRlc3RfYml0KF9JUlFf R1VFU1QsICZkZXNjLT5zdGF0dXMpICkKICAgICB7Ci0gICAgICAgIHN0cnVjdCBkb21haW4gKmQg PSBpcnFfZ2V0X2RvbWFpbihkZXNjKTsKKyAgICAgICAgc3RydWN0IGlycV9ndWVzdCAqaW5mbyA9 IGlycV9nZXRfZ3Vlc3RfaW5mbyhkZXNjKTsKIAogICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZkZXNjLT5sb2NrLCBmbGFncyk7Ci0gICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJFUlJP UjogSVJRICV1IGlzIGFscmVhZHkgaW4gdXNlIGJ5IHRoZSBkb21haW4gJXVcbiIsCi0gICAgICAg ICAgICAgICBpcnEsIGQtPmRvbWFpbl9pZCk7CisgICAgICAgIGlmICggIXRlc3RfYml0KF9JUlFf UEVSX0NQVSwgJmRlc2MtPnN0YXR1cykgKQorICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIg IkVSUk9SOiBJUlEgJXUgaXMgYWxyZWFkeSBpbiB1c2UgYnkgZG9tYWluICV1XG4iLAorICAgICAg ICAgICAgICAgICAgIGlycSwgaW5mby0+ZC0+ZG9tYWluX2lkKTsKKyAgICAgICAgZWxzZQorICAg ICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIKKyAgICAgICAgICAgICAgICAgICAiRVJST1I6IElS USAldSBpcyBhbHJlYWR5IGluIHVzZSBieSA8Y3VycmVudC12Y3B1PlxuIiwgaXJxKTsKICAgICAg ICAgcmV0dXJuIC1FQlVTWTsKICAgICB9CiAKQEAgLTQ1MCw4ICs0NjAsMTQgQEAgc3RhdGljIGlu dCBzZXR1cF9ndWVzdF9pcnEoc3RydWN0IGlycV9kZXNjICpkZXNjLCB1bnNpZ25lZCBpbnQgdmly cSwKIAogICAgICAgICAgICAgaWYgKCBkICE9IGFkICkKICAgICAgICAgICAgIHsKLSAgICAgICAg ICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSICJJUlEgJXUgaXMgYWxyZWFkeSB1c2VkIGJ5IGRv bWFpbiAldVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgaXJxLCBhZC0+ZG9tYWluX2lkKTsK KyAgICAgICAgICAgICAgICBpZiAoICF0ZXN0X2JpdChfSVJRX1BFUl9DUFUsICZkZXNjLT5zdGF0 dXMpICkKKyAgICAgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIkVSUk9SOiBJUlEgJXUgaXMgYWxyZWFkeSB1c2VkIGJ5IGRvbWFp biAldVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlycSwgYWQtPmRvbWFpbl9pZCk7 CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9H X0dfRVJSCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRVJST1I6IElSUSAldSBpcyBhbHJl YWR5IHVzZWQgYnkgPGN1cnJlbnQtdmNwdT5cbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICBpcnEpOwogICAgICAgICAgICAgICAgIHJldHZhbCA9IC1FQlVTWTsKICAgICAgICAgICAgIH0K ICAgICAgICAgICAgIGVsc2UgaWYgKCBpcnFfZ2V0X2d1ZXN0X2luZm8oZGVzYyktPnZpcnEgIT0g dmlycSApCkBAIC01NTIsNiArNTY4LDU0IEBAIGZyZWVfaW5mbzoKICAgICByZXR1cm4gcmV0dmFs OwogfQogCisvKgorICogUm91dGUgYSBQUEkgc3VjaCB0aGF0IGl0IGlzIGFsd2F5cyBkZWxpdmVy ZWQgdG8gdGhlIGN1cnJlbnQgdmNwdSBvbgorICogdGhlIHBjcHUuIFRoZSBkcml2ZXIgZm9yIHRo ZSBwZXJpcGhlcmFsIG11c3QgdXNlCisgKiBnaWNfe3NhdmVfYW5kX21hc2sscmVzdG9yZX1faHdw cGkgYXMgcGFydCBvZiB0aGUgY29udGV4dCBzd2l0Y2guCisgKi8KK2ludCByb3V0ZV9od3BwaV90 b19jdXJyZW50X3ZjcHUodW5zaWduZWQgaW50IGlycSwgY29uc3QgY2hhciAqZGV2bmFtZSkKK3sK KyAgICBzdHJ1Y3QgaXJxX2d1ZXN0ICppbmZvOworICAgIHN0cnVjdCBpcnFfZGVzYyAqZGVzYzsK KyAgICB1bnNpZ25lZCBsb25nIGZsYWdzOworICAgIGludCByZXR2YWwgPSAwOworCisgICAgLyog Q2FuIG9ubHkgcm91dGUgUFBJcyB0byBjdXJyZW50IFZDUFUgKi8KKyAgICBpZiAoIGlycSA8IDE2 IHx8IGlycSA+PSAzMiApCisgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgZGVzYyA9IGly cV90b19kZXNjKGlycSk7CisKKyAgICBpbmZvID0geG1hbGxvYyhzdHJ1Y3QgaXJxX2d1ZXN0KTsK KyAgICBpZiAoICFpbmZvICkKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICBpbmZvLT5k ID0gTlVMTDsgLyogUm91dGVkIHRvIGN1cnJlbnQgdmNwdSwgc28gbm8gc3BlY2lmaWMgZG9tYWlu ICovCisgICAgLyogaW5mby0+dmlycSBpcyBzZXQgYnkgZ2ljX3Jlc3RvcmVfaHdwcGkuICovCisK KyAgICBzcGluX2xvY2tfaXJxc2F2ZSgmZGVzYy0+bG9jaywgZmxhZ3MpOworCisgICAgcmV0dmFs ID0gc2V0dXBfZ3Vlc3RfaXJxKGRlc2MsIGlycSwgZmxhZ3MsIGluZm8sIGRldm5hbWUpOworICAg IGlmICggcmV0dmFsICkKKyAgICB7CisgICAgICAgIHhmcmVlKGluZm8pOworICAgICAgICByZXR1 cm4gcmV0dmFsOworICAgIH0KKworICAgIHJldHZhbCA9IGdpY19yb3V0ZV9pcnFfdG9fY3VycmVu dF9ndWVzdChkZXNjLCBHSUNfUFJJX0lSUSk7CisKKyAgICBzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZkZXNjLT5sb2NrLCBmbGFncyk7CisKKyAgICBpZiAoIHJldHZhbCApCisgICAgeworICAgICAg ICByZWxlYXNlX2lycShkZXNjLT5pcnEsIGluZm8pOworICAgICAgICB4ZnJlZShpbmZvKTsKKyAg ICAgICAgcmV0dXJuIHJldHZhbDsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogaW50IHJl bGVhc2VfZ3Vlc3RfaXJxKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCB2aXJxKQogewog ICAgIHN0cnVjdCBpcnFfZGVzYyAqZGVzYzsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1h cm0vZ2ljLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy5oCmluZGV4IDExNjRlMGM3YTYuLjZh MDkxMGUxM2UgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLmgKKysrIGIveGVu L2luY2x1ZGUvYXNtLWFybS9naWMuaApAQCAtMjQ0LDYgKzI0NCw4IEBAIGV4dGVybiB2b2lkIGdp Y19yb3V0ZV9pcnFfdG9feGVuKHN0cnVjdCBpcnFfZGVzYyAqZGVzYywgdW5zaWduZWQgaW50IHBy aW9yaXR5KTsKIGV4dGVybiBpbnQgZ2ljX3JvdXRlX2lycV90b19ndWVzdChzdHJ1Y3QgZG9tYWlu ICosIHVuc2lnbmVkIGludCB2aXJxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBpcnFfZGVzYyAqZGVzYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBpbnQgcHJpb3JpdHkpOworaW50IGdpY19yb3V0ZV9pcnFfdG9fY3VycmVudF9n dWVzdChzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBwcmlvcml0eSk7CiAKIC8qIFJlbW92ZSBhbiBJUlEgcGFzc3Ro cm91Z2ggdG8gYSBndWVzdCAqLwogaW50IGdpY19yZW1vdmVfaXJxX2Zyb21fZ3Vlc3Qoc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHZpcnEsCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20tYXJtL2lycS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9pcnEuaAppbmRleCAzNjdmZTYyNjlj Li5jNTEyNjUxODBiIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2lycS5oCisrKyBi L3hlbi9pbmNsdWRlL2FzbS1hcm0vaXJxLmgKQEAgLTc3LDYgKzc3LDcgQEAgdm9pZCBpbml0X3Nl Y29uZGFyeV9JUlEodm9pZCk7CiAKIGludCByb3V0ZV9pcnFfdG9fZ3Vlc3Qoc3RydWN0IGRvbWFp biAqZCwgdW5zaWduZWQgaW50IHZpcnEsCiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBpcnEsIGNvbnN0IGNoYXIgKmRldm5hbWUpOworaW50IHJvdXRlX2h3cHBpX3RvX2N1cnJl bnRfdmNwdSh1bnNpZ25lZCBpbnQgaXJxLCBjb25zdCBjaGFyICpkZXZuYW1lKTsKIGludCByZWxl YXNlX2d1ZXN0X2lycShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaXJxKTsKIAogdm9p ZCBhcmNoX21vdmVfaXJxcyhzdHJ1Y3QgdmNwdSAqdik7Ci0tIAoyLjI0LjAKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl Y3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs